#!/usr/local/bin/perl
# Update networking options

require './dovecot-lib.pl';
&ReadParse();
&error_setup($text{'net_err'});
&lock_file($config{'dovecot_config'});
$conf = &get_config();

&save_directive($conf, "protocols", join(" ", split(/\0/, $in{'protocols'})));
&save_directive($conf, "ssl_disable", $in{'ssl_disable'} eq '' ? undef : $in{'ssl_disable'});
@listens = &find("imap_listen", $conf, 2) ?
		("imap_listen", "pop3_listen", "imaps_listen", "pop3s_listen") :
		("listen", "ssl_listen");
foreach $l (@listens) {
	if ($in{$l."_mode"} == 0) {
		$listen = "";
		}
	elsif ($in{$l."_mode"} == 1) {
		$listen = "[::]";
		}
	elsif ($in{$l."_mode"} == 2) {
		$listen = "*";
		}
	elsif ($in{$l."_mode"} == 3) {
		&check_ipaddress($in{$l}) || &error($text{'net_e'.$l});
		$listen = $in{$l};
		}
	&save_directive($conf, $l, $listen);
	}

&flush_file_lines();
&unlock_file($config{'dovecot_config'});
&webmin_log("net");
&redirect("");



syntax highlighted by Code2HTML, v. 0.9.1