{
my $sieveStatus = $sieve{'status'} || 'enabled';
my $sievesStatus = $sieves{'status'} || 'enabled';
my $port = $sieve{'TCPPort'} || '4190';
# should we only allow localhost ?
my $sieveAccess = $sieve{'access'} || 'localhost';
my $sieveListen = $sieve{'Listen'} || '';
my $sieveAddress = "";
if ($sieveAccess eq 'localhost') {
        $sieveAddress = '127.0.0.1';
    } elsif ($sieveAccess eq 'private') {
        $sieveAddress = "127.0.0.1 $LOCALIP";
    } elsif ($sieveAccess eq 'public') {
        $sieveAddress = "127.0.0.1 $LOCALIP $EXTERNALIP";
    }
$sieveAddress .= " $sieveListen";

my $ports = $sieves{'TCPPort'} || '5190';
my $sievesAccess = $sieves{'access'} || 'localhost';
my $sievesListen = $sieves{'Listen'} || '';
my $sievesAddress = "";
if ($sievesAccess eq 'localhost') {
        $sievesAddress = '127.0.0.1';
    } elsif ($sievesAccess eq 'private') {
        $sievesAddress = "127.0.0.1 $LOCALIP";
    } elsif ($sievesAccess eq 'public') {
        $sievesAddress = "127.0.0.1 $LOCALIP $EXTERNALIP";
    }
$sievesAddress .= " $sievesListen";


if ( $sieveStatus eq 'enabled' || $sievesStatus eq 'enabled') {
    $OUT .=<<"HERE";
service managesieve-login {

HERE

    if ( $sieveStatus eq 'enabled' ) {
    $OUT .=<<"HERE";
  inet_listener sieve {
    port = $port
    address = $sieveaddress
  }
HERE
}

    if ( $sievesStatus eq 'enabled' ) {
    $OUT .=<<"HERE";
  inet_listener sieves {
    port = $ports
    ssl = yes
    address = $sievesaddress
  }
HERE
}

    $OUT .=<<"HERE";
}

HERE

}
else {
    $OUT .= "# Sieve is disabled";
}
}
