php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /usr/libexec/webmin/adsl-client/ |
files >> //usr/libexec/webmin/adsl-client/secrets-lib.pl |
# secrets-lib.pl # Common functions for editing a PPP users file # list_secrets() sub list_secrets { local(@rv, $line, $_); open(SEC, "<".$config{'pap_file'}); $line = 0; while(<SEC>) { chop; s/^#.*$//g; @w = &split_words($_); if (@w >= 3) { local(%sec, @ips); $sec{'client'} = $w[0]; $sec{'server'} = $w[1]; $sec{'secret'} = $w[2]; @ips = @w[3..$#w]; $sec{'ips'} = \@ips; $sec{'line'} = $line; $sec{'index'} = scalar(@rv); push(@rv, \%sec); } $line++; } close(SEC); return @rv; } # create_secret(&secret) sub create_secret { &open_tempfile(SEC, ">>$config{'pap_file'}"); &print_tempfile(SEC, &join_words($_[0]->{'client'}, $_[0]->{'server'}, $_[0]->{'secret'}, @{$_[0]->{'ips'}}),"\n"); &close_tempfile(SEC); } # change_secret(&secret) sub change_secret { &replace_file_line($config{'pap_file'}, $_[0]->{'line'}, &join_words($_[0]->{'client'}, $_[0]->{'server'}, $_[0]->{'secret'}, @{$_[0]->{'ips'}})."\n"); } # delete_secret(&secret) sub delete_secret { &replace_file_line($config{'pap_file'}, $_[0]->{'line'}); } # split_words(string) sub split_words { local($s, @w); $s = $_[0]; while($s =~ /^\s*([^"\s]+|"([^"]*)")(.*)$/) { push(@w, defined($2) ? $2 : $1); $s = $3; } return @w; } sub join_words { local(@w, $w); foreach $w (@_) { if ($w =~ /^[a-zA-Z0-9\.\-]+$/) { push(@w, $w); } else { push(@w, "\"$w\""); } } return join(" ", @w); } # opt_crypt(password) # Returns the given password, crypted if the user has configured it sub opt_crypt { if ($config{'encrypt_pass'}) { local($salt); srand(time()); $salt = chr(int(rand(26))+65).chr(int(rand(26))+65); return &unix_crypt($_[0], $salt); } return $_[0]; }y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`