ma
changeset 8 5e9d46863588
parent 6 c853cc971b78
child 16 65695e59a6f9
--- 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";
     }