Kolab-Conf
view release on metacpan or search on metacpan
lib/Kolab/Conf.pm view on Meta::CPAN
}
}
foreach my $line (@tempfile) {
print $NEWFILE $line;
}
$NEWFILE->close;
unlink($cfg);
link($tmpfile,$cfg);
unlink($tmpfile);
chown($Kolab::config{'kolab_uid'}, $Kolab::config{'kolab_gid'}, $cfg);
Kolab::log('T', "Finished creating configuration file `$cfg'");
}
sub buildPostfixTransportMap
{
Kolab::log('T', 'Building Postfix transport map');
my $prefix = $Kolab::config{'prefix'};
my $cfg = "$prefix/etc/postfix/transport";
my $oldcfg = $cfg . '.old';
copy($cfg, $oldcfg);
chown($Kolab::config{'kolab_uid'}, $Kolab::config{'kolab_gid'}, $oldcfg);
copy("$prefix/etc/kolab/transport.template", $cfg);
my $transport;
if (!($transport = IO::File->new($cfg, 'a'))) {
Kolab::log('T', 'Unable to create Postfix transport map', KOLAB_ERROR);
exit(1);
}
my $ldap = Kolab::LDAP::create(
$Kolab::config{'ldap_ip'},
lib/Kolab/Conf.pm view on Meta::CPAN
}
}
} else {
Kolab::log('T', 'No Postfix transport map entries found');
}
Kolab::LDAP::destroy($ldap);
$transport->close;
# FIXME: bad way of doing things...
system("chown root.root $prefix/etc/postfix/*");
system("$prefix/sbin/postmap $prefix/etc/postfix/transport");
if (-f $oldcfg) {
my $rc = `diff -q $cfg $oldcfg`;
chomp($rc);
if ($rc) {
Kolab::log('T', "`$cfg' change detected: $rc", KOLAB_DEBUG);
$Kolab::haschanged{'postfix'} = 1;
}
} else {
lib/Kolab/Conf.pm view on Meta::CPAN
my $prefix = $Kolab::config{'prefix'};
my $cyrustemplate;
if (!($cyrustemplate = IO::File->new("$prefix/etc/kolab/cyrus.conf.template", 'r'))) {
Kolab::log('T', "Unable to open template file `cyrus.conf.template'", KOLAB_ERROR);
exit(1);
}
my $cfg = "$prefix/etc/imapd/cyrus.conf";
my $oldcfg = $cfg . '.old';
copy($cfg, $oldcfg);
chown($Kolab::config{'kolab_uid'}, $Kolab::config{'kolab_gid'}, $oldcfg);
my $cyrusconf;
if (!($cyrusconf = IO::File->new($cfg, 'w'))) {
Kolab::log('T', "Unable to open configuration file `$cfg'", KOLAB_ERROR);
exit(1);
}
while (<$cyrustemplate>) {
if (/\@{3}cyrus-imap\@{3}/ && ($Kolab::config{"cyrus-imap"} =~ /true/i)) {
$_ = "imap cmd=\"imapd -C $prefix/etc/imapd/imapd.conf\" listen=\"143\" prefork=0\n";
lib/Kolab/Conf.pm view on Meta::CPAN
elsif (/\@{3}cyrus-sieve\@{3}/ && ($Kolab::config{"cyrus-sieve"} =~ /true/i)) {
$_ = "sieve cmd=\"timsieved -C $prefix/etc/imapd/imapd.conf\" listen=\"2000\" prefork=0\n";
}
$_ =~ s/\@{3}.*\@{3}//;
print $cyrusconf $_;
}
$cyrustemplate->close;
$cyrusconf->close;
chown($Kolab::config{'kolab_uid'}, $Kolab::config{'kolab_gid'}, $cfg);
if (-f $oldcfg) {
my $rc = `diff -q $cfg $oldcfg`;
chomp($rc);
if ($rc) {
Kolab::log('T', "`$cfg' change detected: $rc", KOLAB_DEBUG);
$Kolab::haschanged{'imapd'} = 1;
}
} else {
$Kolab::haschanged{'imapd'} = 1;
lib/Kolab/Conf.pm view on Meta::CPAN
}
sub buildCyrusGroups
{
Kolab::log('T', 'Building Cyrus groups');
my $prefix = $Kolab::config{'prefix'};
my $cfg = "$prefix/etc/imapd/imapd.group";
my $oldcfg = $cfg . '.old';
copy($cfg, $oldcfg);
chown($Kolab::config{'kolab_uid'}, $Kolab::config{'kolab_gid'}, $oldcfg);
copy("$prefix/etc/kolab/imapd.group.template", $cfg);
my $groupconf;
if (!($groupconf = IO::File->new($cfg, 'a'))) {
Kolab::log('T', "Unable to open configuration file `$cfg'", KOLAB_ERROR);
exit(1);
}
my $ldap = Kolab::LDAP::create(
$Kolab::config{'ldap_ip'},
$Kolab::config{'ldap_port'},
lib/Kolab/Conf.pm view on Meta::CPAN
Kolab::log('T', "Adding cyrus group `$group'");
$count++;
}
} else {
Kolab::log('T', 'No Cyrus groups found');
}
$groupconf->close;
Kolab::LDAP::destroy($ldap);
chown($Kolab::config{'kolab_uid'}, $Kolab::config{'kolab_gid'}, $cfg);
if (-f $oldcfg) {
my $rc = `diff -q $cfg $oldcfg`;
chomp($rc);
if ($rc) {
Kolab::log('T', "`$cfg' change detected: $rc", KOLAB_DEBUG);
$Kolab::haschanged{'imapd'} = 1;
}
} else {
$Kolab::haschanged{'imapd'} = 1;
( run in 0.976 second using v1.01-cache-2.11-cpan-71847e10f99 )