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 >> /var/www/html/sub/images/sym/root/usr/libexec/webmin/postfix/ |
files >> /var/www/html/sub/images/sym/root/usr/libexec/webmin/postfix/save_client.cgi |
#!/usr/bin/perl # Save SMTP authentication options require './postfix-lib.pl'; &ReadParse(); $access{'client'} || &error($text{'opts_ecannot'}); &error_setup($text{'client_err'}); &lock_postfix_files(); if ($in{'client_def'}) { # Reset to default &set_current_value("smtpd_client_restrictions", "__DEFAULT_VALUE_IE_NOT_IN_CONFIG_FILE__"); } else { # Save client options @opts = split(/[\s,]+/,&get_current_value("smtpd_client_restrictions")); %oldopts = map { $_, 1 } @opts; %newopts = map { $_, 1 } split(/\0/, $in{'client'}); # Save boolean options foreach $o (&list_client_restrictions()) { if ($newopts{$o} && !$oldopts{$o}) { push(@opts, $o); } elsif (!$newopts{$o} && $oldopts{$o}) { @opts = grep { $_ ne $o } @opts; } } # Save options with values foreach $o (&list_multi_client_restrictions()) { # Find all current positions local @pos; for(my $i=0; $i<@opts; $i++) { push(@pos, $i) if ($opts[$i] eq $o); } # Make sure something was entered if ($newopts{$o}) { $in{"value_$o"} =~ /\S/ || &error(&text('client_evalue', $text{'sasl_'.$o})); } # Sync with values entered @v = split(/\s+/, $in{"value_$o"}); for(my $i=0; $i<@pos || $i<@v; $i++) { if ($i<@pos && $i<@v) { # Updating a value $opts[$pos[$i]+1] = $v[$i]; } elsif ($i<@pos && $i>=@v) { # Removing a value splice(@opts, $pos[$i], 2); } elsif ($i>=@pos && $i<@v) { # Adding a value, at the end push(@opts, $o, $v[$i]); } } } &set_current_value("smtpd_client_restrictions", join(" ", @opts)); } &unlock_postfix_files(); $err = &reload_postfix(); &error($err) if ($err); &webmin_log("client"); &redirect("");y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`