diff -r c7c3cac0a89b -r 5e9d46863588 ma --- a/ma Wed Dec 07 05:16:20 2005 +0000 +++ b/ma Fri Dec 09 06:05:38 2005 +0000 @@ -31,8 +31,10 @@ --members=s List of Members [!$Cf->members!] * shared mailbox options * - # --access=s List of users having access - [!$Cf->access!] + + * group options * + --members=s List of Members [!$Cf->members!] + --description=s Descripton [!$Cf->description!] Passwords for LDAP and IMAP can be read from environment LDAP_PASS resp. IMAP_PASS. Options can be read from config file named in $MA_CONF [!$ENV{MA_CONF}!]. @@ -74,6 +76,8 @@ help => { ARGS => "!" }, debug => { ARGS => "!" }, + description => { ARGS => "=s" }, + # * account * imap_server => { ARGS => "=s", DEFAULT => "localhost" }, @@ -90,18 +94,24 @@ fullname => { ARGS => "=s", ALIAS => "realname" }, address => { ARGS => "=s", ALIAS => "primary" }, - # * alias * + # * alias * group * members => { ARGS => ":s" }, # * shared * #access => { ARGS => ":s" }, + # * group * + gid_min => { ARGS => "=i", DEFAULT => 60000 }, + gid_max => { ARGS => "=i", DEFAULT => 60100 }, + # * ldap intern * ldap_ou_aliases => { ARGS => "=s", DEFAULT => "ou=MailAliases" }, ldap_ou_accounts => { ARGS => "=s", DEFAULT => "ou=MailAccounts" }, + ldap_ou_groups => { ARGS => "=s", DEFAULT => "ou=Groups" }, ldap_oc_alias => { ARGS => "=s", DEFAULT => "XXXmailAlias" }, ldap_oc_recipient => { ARGS => "=s", DEFAULT => "XXXmailRecipient" }, + ldap_oc_accessgroup => { ARGS => "=s", DEFAULT => "XXXmailAccessGroup" }, ldap_at_address => { ARGS => "=s", DEFAULT => "XXXmailAddress" }, ldap_at_group => { ARGS => "=s", DEFAULT => "XXXmailGroup" }, @@ -140,7 +150,7 @@ print help() and exit 0 if $Cf->help; - @_ = grep { $_ =~ /^\Q$Module\E/ } qw/account alias shared/; + @_ = grep { $_ =~ /^\Q$Module\E/ } qw/account alias shared group/; die "Need module. Try --help\n" if @_ == 0; die "Module ambigous. (@_)\n" if @_ > 1; @@ -156,6 +166,10 @@ require shared; shared::import($Cf); shared::run(); + } elsif ($_[0] eq 'group') { + require group; + group::import($Cf); + group::run(); } else { die "Shit"; }