ma
changeset 8 5e9d46863588
parent 6 c853cc971b78
child 16 65695e59a6f9
equal deleted inserted replaced
7:c7c3cac0a89b 8:5e9d46863588
    29 
    29 
    30        * alias options *
    30        * alias options *
    31        --members=s	List of Members	[!$Cf->members!]
    31        --members=s	List of Members	[!$Cf->members!]
    32 
    32 
    33        * shared mailbox options *
    33        * shared mailbox options *
    34        # --access=s	List of users having access 
    34 
    35 					[!$Cf->access!]
    35        * group options *
       
    36        --members=s	List of Members	[!$Cf->members!]
       
    37        --description=s  Descripton      [!$Cf->description!]
    36 
    38 
    37 Passwords for LDAP and IMAP can be read from environment LDAP_PASS resp. IMAP_PASS.
    39 Passwords for LDAP and IMAP can be read from environment LDAP_PASS resp. IMAP_PASS.
    38 Options can be read from config file named in $MA_CONF [!$ENV{MA_CONF}!].
    40 Options can be read from config file named in $MA_CONF [!$ENV{MA_CONF}!].
    39 
    41 
    40 $Id$
    42 $Id$
    72     ldap_password =>{ ARGS => "=s" },
    74     ldap_password =>{ ARGS => "=s" },
    73 
    75 
    74     help =>	    { ARGS => "!" },
    76     help =>	    { ARGS => "!" },
    75     debug =>	    { ARGS => "!" },
    77     debug =>	    { ARGS => "!" },
    76 
    78 
       
    79     description =>  { ARGS => "=s" },
       
    80 
    77 
    81 
    78     # * account *
    82     # * account *
    79     imap_server =>  { ARGS => "=s", DEFAULT => "localhost" },
    83     imap_server =>  { ARGS => "=s", DEFAULT => "localhost" },
    80     imap_admin =>   { ARGS => "=s", DEFAULT => $ENV{USER} },
    84     imap_admin =>   { ARGS => "=s", DEFAULT => $ENV{USER} },
    81     imap_password =>{ ARGS => "=s" },
    85     imap_password =>{ ARGS => "=s" },
    88     other =>	    { ARGS => ":s" },
    92     other =>	    { ARGS => ":s" },
    89     group =>	    { ARGS => ":s" },
    93     group =>	    { ARGS => ":s" },
    90     fullname =>	    { ARGS => "=s", ALIAS => "realname" },
    94     fullname =>	    { ARGS => "=s", ALIAS => "realname" },
    91     address =>	    { ARGS => "=s", ALIAS => "primary" },
    95     address =>	    { ARGS => "=s", ALIAS => "primary" },
    92 
    96 
    93     # * alias *
    97     # * alias * group *
    94     members =>	    { ARGS => ":s" },
    98     members =>	    { ARGS => ":s" },
    95 
    99 
    96     # * shared *
   100     # * shared *
    97     #access =>	    { ARGS => ":s" },
   101     #access =>	    { ARGS => ":s" },
    98 
   102 
       
   103     # * group *
       
   104     gid_min =>	    { ARGS => "=i", DEFAULT => 60000 },
       
   105     gid_max =>	    { ARGS => "=i", DEFAULT => 60100 },
       
   106 
    99     # * ldap intern *
   107     # * ldap intern *
   100     ldap_ou_aliases =>	    { ARGS => "=s", DEFAULT => "ou=MailAliases" },
   108     ldap_ou_aliases =>	    { ARGS => "=s", DEFAULT => "ou=MailAliases" },
   101     ldap_ou_accounts =>	    { ARGS => "=s", DEFAULT => "ou=MailAccounts" },
   109     ldap_ou_accounts =>	    { ARGS => "=s", DEFAULT => "ou=MailAccounts" },
       
   110     ldap_ou_groups =>	    { ARGS => "=s", DEFAULT => "ou=Groups" },
   102 
   111 
   103     ldap_oc_alias =>	    { ARGS => "=s", DEFAULT => "XXXmailAlias" },
   112     ldap_oc_alias =>	    { ARGS => "=s", DEFAULT => "XXXmailAlias" },
   104     ldap_oc_recipient =>    { ARGS => "=s", DEFAULT => "XXXmailRecipient" },
   113     ldap_oc_recipient =>    { ARGS => "=s", DEFAULT => "XXXmailRecipient" },
       
   114     ldap_oc_accessgroup =>  { ARGS => "=s", DEFAULT => "XXXmailAccessGroup" },
   105 
   115 
   106     ldap_at_address =>	    { ARGS => "=s", DEFAULT => "XXXmailAddress" },
   116     ldap_at_address =>	    { ARGS => "=s", DEFAULT => "XXXmailAddress" },
   107     ldap_at_group =>	    { ARGS => "=s", DEFAULT => "XXXmailGroup" },
   117     ldap_at_group =>	    { ARGS => "=s", DEFAULT => "XXXmailGroup" },
   108     ldap_at_forwardingaddress =>
   118     ldap_at_forwardingaddress =>
   109 			    { ARGS => "=s", DEFAULT => "XXXmailForwardingAddress" },
   119 			    { ARGS => "=s", DEFAULT => "XXXmailForwardingAddress" },
   138 	$Cf->ldap_admin($Cf->ldap_admin . "," . $Cf->ldap_base);
   148 	$Cf->ldap_admin($Cf->ldap_admin . "," . $Cf->ldap_base);
   139     }
   149     }
   140 
   150 
   141     print help() and exit 0 if $Cf->help;
   151     print help() and exit 0 if $Cf->help;
   142 
   152 
   143     @_ = grep { $_ =~ /^\Q$Module\E/ } qw/account alias shared/;
   153     @_ = grep { $_ =~ /^\Q$Module\E/ } qw/account alias shared group/;
   144     die "Need module.  Try --help\n" if @_ == 0;
   154     die "Need module.  Try --help\n" if @_ == 0;
   145     die "Module ambigous. (@_)\n" if @_ > 1;
   155     die "Module ambigous. (@_)\n" if @_ > 1;
   146 
   156 
   147     if ($_[0] eq 'account') {
   157     if ($_[0] eq 'account') {
   148 	require account;
   158 	require account;
   154 	alias::run();
   164 	alias::run();
   155     } elsif ($_[0] eq 'shared') {
   165     } elsif ($_[0] eq 'shared') {
   156 	require shared;
   166 	require shared;
   157 	shared::import($Cf);
   167 	shared::import($Cf);
   158 	shared::run();
   168 	shared::run();
       
   169     } elsif ($_[0] eq 'group') {
       
   170 	require group;
       
   171 	group::import($Cf);
       
   172 	group::run();
   159     } else {
   173     } else {
   160 	die "Shit";
   174 	die "Shit";
   161     }
   175     }
   162 
   176 
   163 }
   177 }