Changeset 1071 for trunk


Ignore:
Timestamp:
07/24/12 22:56:06 (12 years ago)
Author:
nanardon
Message:
  • rename options() to config() to clarify its role
Location:
trunk/LATMOS-Accounts
Files:
22 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts/MANIFEST

    r1048 r1071  
    123123sqldata/attributes.csv 
    124124sqldata/base.sql 
     125man/man8/latmos-accounts-base-sql.pod 
    125126t/05_utils.t 
    126127t/06_cli.t 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts.pm

    r1058 r1071  
    137137    my ($self, $section) = @_; 
    138138    my $type = $self->val($section, 'type') or return; 
    139     my %params = ( 
    140         map { $_ => ($self->val($section, $_)) } $self->Parameters($section), 
    141         defattr => { map { $_ => ($self->val('_defattr_', $_)) } $self->Parameters('_defattr_') }, 
    142     ); 
     139 
     140    my %params = 
     141        map { $_ => ($self->val($section, $_)) } 
     142        $self->Parameters($section); 
     143  
     144    my %defattr = 
     145        map { $_ => ($self->val('_defattr_', $_)) } 
     146        $self->Parameters('_defattr_'); 
     147 
    143148    my $base = LATMOS::Accounts::Bases->new( 
    144149        $type, 
    145         %params, 
    146         label => $section, 
    147         acls => $self->{_acls}, 
    148         allowed_values => $self->{_allowed_values}, 
    149         configdir => $self->_configdir, 
    150         _la => $self, 
     150        { 
     151            params => \%params, 
     152            label => $section, 
     153            acls => $self->{_acls}, 
     154            allowed_values => $self->{_allowed_values}, 
     155            configdir => $self->_configdir, 
     156            la => $self, 
     157            defattr => { %defattr }, 
     158        }, 
    151159    ) or do { 
    152160        la_log(LA_WARN, "Cannot instanciate base $section ($type)"); 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases.pm

    r1070 r1071  
    3737 
    3838sub new { 
    39     my ($class, $type, %options) = @_; 
     39    my ($class, $type, $options) = @_; 
    4040 
    4141    my $pclass = ucfirst(lc($type)); 
    4242    eval "require LATMOS::Accounts::Bases::$pclass;"; 
    4343    if ($@) { return } # error message ? 
    44     my $base = "LATMOS::Accounts::Bases::$pclass"->new(%options) 
     44    my $base = "LATMOS::Accounts::Bases::$pclass"->new(%{$options->{params}}) 
    4545        or return; 
    4646    $base->{_type} = lc($pclass); 
    47     $base->{_label} = $options{label}; 
    48     $base->{_options} = { %options }; 
     47    $base->{_label} = $options->{label}; 
     48    $base->{_options} = $options->{params}; 
    4949    $base->{wexported} = 0; 
    50     $base->{defattr} = $options{defattr}; 
    51     $base->{_acls} = $options{acls}; 
    52     $base->{_allowed_values} = $options{allowed_values}; 
    53     $base->{_la} = $options{_la}; 
    54     la_log(LA_DEBUG, 'Instanciate base %s (%s)', ($options{label} || 'N/A'), $pclass); 
     50    $base->{defattr} = $options->{defattr}; 
     51    $base->{_acls} = $options->{acls}; 
     52    $base->{_allowed_values} = $options->{allowed_values}; 
     53    $base->{_la} = $options->{la}; 
     54    la_log(LA_DEBUG, 'Instanciate base %s (%s)', ($base->label || 'N/A'), $pclass); 
    5555    $base 
    5656} 
     
    121121sub la { $_[0]->{_la} }; 
    122122 
    123 =head2 options ($opt) 
     123=head2 config ($opt) 
    124124 
    125125Return options from config 
     
    127127=cut 
    128128 
    129 sub options { 
     129sub config { 
    130130    my ($self, $opt) = @_; 
    131131    return $self->{_options}{$opt}; 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Ad.pm

    r1038 r1071  
    3838=cut 
    3939 
    40 =head2 new(%options) 
     40=head2 new(%config) 
    4141 
    4242Create a new LATMOS::Ad object for windows AD $domain. 
    4343 
    44 options: 
     44config: 
    4545 
    4646=over 4 
     
    6969 
    7070sub new { 
    71     my ($class, %options) = @_; 
     71    my ($class, %config) = @_; 
    7272     
    73     $options{domain} or do { 
     73    $config{domain} or do { 
    7474        la_log(LA_ERR, 
    7575            "Cannot instanciate base %s w/o domain name", 
    76             $options{label} || '(unknown label)' 
     76            $config{label} || '(unknown label)' 
    7777        ); 
    7878        return; 
     
    8080 
    8181    my $self = { 
    82         _server => $options{server}, 
    83         _ad_domain => $options{domain}, 
    84         _top_dn => join(',', map { "dc=$_" } split('\.', $options{domain})), 
    85         _login => $options{login}, 
    86         _password => $options{password}, 
    87         _ssl => $options{ssl}, 
     82        _top_dn => join(',', map { "dc=$_" } split('\.', $config{domain})), 
    8883    }; 
    8984 
     
    10095 
    10196    my $ldap; 
    102     my @ldapservers = ($self->{_server} 
    103         ? ($self->_ldap_url($self->{_server})) 
     97    my @ldapservers = ($self->config('server') 
     98        ? ($self->_ldap_url($self->config('server'))) 
    10499        : ($self->_query_zone_ads)) or do { 
    105100        la_log(LA_ERR, 
     
    121116    }; 
    122117 
    123     my $login = $self->{_login}; 
     118    my $login = $self->config('login'); 
    124119    $login =~ m/@/ or $login .= '@' . $self->ad_domain; 
    125120 
    126     my $msg = $ldap->bind($login, password => $self->{_password}); 
     121    my $msg = $ldap->bind($login, password => $self->config('password')); 
    127122    $msg->code and do { 
    128123        $self->log(LA_ERR, "Cannot bind ldap: %s", $msg->error); 
     
    158153 
    159154sub ad_domain { 
    160     return $_[0]->{_ad_domain} 
     155    return $_[0]->config('ad_domain') 
    161156} 
    162157 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Dummy.pm

    r1023 r1071  
    1818 
    1919sub new { 
    20     my ($class, %options) = @_; 
     20    my ($class, %config) = @_; 
    2121    bless {}, $class; 
    2222} 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Heimdal.pm

    r1037 r1071  
    3232=cut 
    3333 
    34 =head2 new(%options) 
     34=head2 new(%config) 
    3535 
    3636Create a new LATMOS::Ldap object for windows AD $domain. 
    3737 
    38 options: 
     38config: 
    3939 
    4040=over 4 
     
    7373 
    7474sub new { 
    75     my ($class, %options) = @_; 
     75    my ($class, %config) = @_; 
    7676     
    7777    bless({}, $class); 
     
    8484    $self->{_heimdal} and return 1; 
    8585 
    86     if (!$self->options('realm')) { 
    87         if ($self->options('domain')) { 
    88             $self->{_options}{realm} = $self->_domain2realm or do { 
     86    if (!$self->config('realm')) { 
     87        if ($self->config('domain')) { 
     88            $self->{_config}{realm} = $self->_domain2realm or do { 
    8989                $self->log(LA_ERR, 
    9090                    'Cannot find kerberos TXT record for domain `%s\'', 
    91                     $self->options('domain'), 
     91                    $self->config('domain'), 
    9292                ); 
    9393                return; 
    9494            }; 
    95             $self->log(LA_DEBUG, 'kerberos REALM is %s', $self->options('realm')); 
     95            $self->log(LA_DEBUG, 'kerberos REALM is %s', $self->config('realm')); 
    9696        } else { 
    9797            # No way to find realm 
     
    9999        } 
    100100    } 
    101     my @servers = $self->options('server') 
    102         ? ($self->options('server')) 
    103         : $self->options('domain') 
     101    my @servers = $self->config('server') 
     102        ? ($self->config('server')) 
     103        : $self->config('domain') 
    104104            ? $self->_domain2server 
    105105            : (); 
     
    118118            # Port   => '8899', 
    119119            # Required: 
    120             Principal => $self->options('login'), 
    121             Realm  => $self->options('realm'), 
     120            Principal => $self->config('login'), 
     121            Realm  => $self->config('realm'), 
    122122            # --- Either --- 
    123             Password => $self->options('password'), 
     123            Password => $self->config('password'), 
    124124            # --- Or --- 
    125             # Keytab => $self->options('keytab'), 
     125            # Keytab => $self->config('keytab'), 
    126126        ); 
    127127 
     
    150150 
    151151    my $resolver = Net::DNS::Resolver->new; 
    152     my $query = $resolver->query("_kerberos-adm._tcp." . $self->options('domain'), 
     152    my $query = $resolver->query("_kerberos-adm._tcp." . $self->config('domain'), 
    153153        "SRV") or return; 
    154154    foreach my $rr ( 
     
    166166    my $resolver = Net::DNS::Resolver->new; 
    167167    my $query = $resolver->query( 
    168         "_kerberos." . $self->options('domain'), 
     168        "_kerberos." . $self->config('domain'), 
    169169        "TXT") or return; 
    170170    foreach my $rr ($query->answer) { 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Heimdal/User.pm

    r1037 r1071  
    5858 
    5959    $uid eq 'default' and return 1; 
    60     grep { $uid eq $_ } split(/ *, */, $base->options('ignoredusers')) 
     60    grep { $uid eq $_ } split(/ *, */, $base->config('ignoredusers')) 
    6161        and return 1; 
    6262 
     
    6767    my ($class, $base) = @_; 
    6868 
    69     my $realm = $base->options('realm'); 
     69    my $realm = $base->config('realm'); 
    7070    my @uids; 
    7171    foreach ($base->heimdal->getPrincipals('*@' . $realm)) { 
     
    9090    my $ba = $base || $self->base; 
    9191    $uid ||= $self->id; 
    92     return $uid . '@' . $ba->options('realm'); 
     92    return $uid . '@' . $ba->config('realm'); 
    9393} 
    9494 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Ldap.pm

    r1037 r1071  
    3838=cut 
    3939 
    40 =head2 new(%options) 
     40=head2 new(%config) 
    4141 
    4242Create a new LATMOS::Ldap object for windows AD $domain. 
    4343 
    44 options: 
     44config: 
    4545 
    4646=over 4 
     
    6969 
    7070sub new { 
    71     my ($class, %options) = @_; 
     71    my ($class, %config) = @_; 
    7272     
    7373    my $self = { 
    74         _server => $options{server}, 
    75         _top_dn => $options{topdn}, 
    76         _login => $options{login}, 
    77         _password => $options{password}, 
    78         _ssl => $options{ssl}, 
     74        _top_dn => $config{topdn}, 
    7975    }; 
    8076 
     
    9187    my ($self, $otype) = @_; 
    9288    return join(',', 
    93         ($self->options($otype . '_container') || 'cn=Users'), 
     89        ($self->config($otype . '_container') || 'cn=Users'), 
    9490        $self->top_dn, 
    9591    ); 
     
    10298    $self->{_ldap} and return 1; 
    10399 
    104     my $ldapurl = $self->_ldap_url($self->{_server}); 
     100    my $ldapurl = $self->_ldap_url($self->config('server')); 
    105101    my $ldap = Net::LDAP->new($ldapurl); 
    106102         
     
    114110 
    115111 
    116     my $msg = $ldap->bind($self->{_login}, password => $self->{_password}); 
     112    my $msg = $ldap->bind($self->config('login'), password => $self->config('password')); 
    117113    $msg->code and do { 
    118114        $self->log(LA_ERR, "Cannot bind ldap: %s", $msg->error); 
     
    129125    sprintf( 
    130126        '%s://%s%s/', 
    131         $self->{_ssl} ? 'ldaps' : 'ldap', 
     127        $self->config('ssl') ? 'ldaps' : 'ldap', 
    132128        $host, 
    133129        $port ? ":$port" : '', 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Ldap/Onlyaddress.pm

    r1037 r1071  
    7979sub is_supported { 
    8080    my ($class, $base) = @_; 
    81     return $base->options('onlyaddress_container') ? 1 : 0; 
     81    return $base->config('onlyaddress_container') ? 1 : 0; 
    8282} 
    8383 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Mail.pm

    r1023 r1071  
    2424 
    2525sub new { 
    26     my ($class, %options) = @_; 
     26    my ($class, %config) = @_; 
    2727 
    2828    my $base = { 
     
    3333 
    3434    foreach (qw(aliases revaliases)) { 
    35         if ($options{$_}) { 
    36             $base->{file}{$_} = $options{$_}; 
    37         } elsif ($options{directory}) { 
    38             $base->{file}{$_} = $options{directory} . '/' . $_; 
     35        if ($config{$_}) { 
     36            $base->{file}{$_} = $config{$_}; 
     37        } elsif ($config{directory}) { 
     38            $base->{file}{$_} = $config{directory} . '/' . $_; 
    3939        } else { 
    4040            $base->{file}{$_} = "/etc/$_"; 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Objects.pm

    r1023 r1071  
    550550} 
    551551 
    552 =head2 text_dump ($handle, $options, $base) 
     552=head2 text_dump ($handle, $config, $base) 
    553553 
    554554Dump object into C<$handle> 
     
    557557 
    558558sub text_dump { 
    559     my ($self, $handle, $options, $base) = @_; 
    560     print $handle $self->dump($options, $base); 
     559    my ($self, $handle, $config, $base) = @_; 
     560    print $handle $self->dump($config, $base); 
    561561    return 1; 
    562562} 
     
    569569 
    570570sub dump { 
    571     my ($self, $options, $base) = @_; 
     571    my ($self, $config, $base) = @_; 
    572572 
    573573    my $otype = $self->type; 
     
    581581 
    582582    foreach my $attr (sort { $a cmp $b } $base->list_canonical_fields($otype, 
    583         $options->{only_rw} ? 'rw' : 'r')) { 
     583        $config->{only_rw} ? 'rw' : 'r')) { 
    584584        my $oattr = $base->attribute($otype, $attr); 
    585585        if (ref $self) { 
    586586            my $val = $self->get_c_field($attr); 
    587             if ($val || $options->{empty_attr}) { 
     587            if ($val || $config->{empty_attr}) { 
    588588                if (my @allowed = $base->obj_attr_allowed_values($otype, $attr)) { 
    589589                    $dump .= sprintf("# %s must be%s: %s\n", 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql.pm

    r1023 r1071  
    3636=cut 
    3737 
    38 =head2 new(%options) 
     38=head2 new(%config) 
    3939 
    4040Create a new LATMOS::Ad object for windows AD $domain. 
     
    4747 
    4848sub new { 
    49     my ($class, %options) = @_; 
     49    my ($class, %config) = @_; 
    5050     
    5151    my $base = { 
    52         db_conn => $options{db_conn}, 
     52        db_conn => $config{db_conn}, 
    5353    }; 
    5454 
     
    324324} 
    325325 
    326 =head2 rename_nethost ($nethostname, $to, %options) 
     326=head2 rename_nethost ($nethostname, $to, %config) 
    327327 
    328328Facility function to rename computer to new name 
     
    331331 
    332332sub rename_nethost { 
    333     my ($self, $nethostname, $to, %options) = @_; 
     333    my ($self, $nethostname, $to, %config) = @_; 
    334334    { 
    335335        my $obj = $self->get_object('nethost', $nethostname); 
     
    339339    } 
    340340    $self->rename_object('nethost', $nethostname, $to) or return; 
    341     if ($options{'addcname'}) { 
     341    if ($config{'addcname'}) { 
    342342        my $obj = $self->get_object('nethost', $to); 
    343343        my @cname = grep { $_ } $obj->get_attributes('cname'); 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/DataRequest.pm

    r1023 r1071  
    222222} 
    223223 
    224 =head2 register ($options, %info) 
     224=head2 register ($config, %info) 
    225225 
    226226Register the form. C<%info> must contains submitted informations. 
    227227 
    228 C<$options> is a hashref where 
     228C<$config> is a hashref where 
    229229 
    230230=over 4 
     
    247247 
    248248sub register { 
    249     my ($self, $options, %param) = @_; 
    250  
    251     my $user = $options->{user}; 
    252     my $apply = $options->{apply}; 
    253     my $auto = $options->{auto}; 
     249    my ($self, $config, %param) = @_; 
     250 
     251    my $user = $config->{user}; 
     252    my $apply = $config->{apply}; 
     253    my $auto = $config->{auto}; 
    254254 
    255255    my $rev; 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/Revaliases.pm

    r1023 r1071  
    2828=cut 
    2929 
    30 =head2 new(%options) 
     30=head2 new(%config) 
    3131 
    3232Create a new LATMOS::Ad object for windows AD $domain. 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/User.pm

    r1014 r1071  
    2323=cut 
    2424 
    25 =head2 new(%options) 
     25=head2 new(%config) 
    2626 
    2727Create a new LATMOS::Ad object for windows AD $domain. 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Unix.pm

    r861 r1071  
    2929=cut 
    3030 
    31 =head2 new(%options) 
     31=head2 new(%config) 
    3232 
    3333Create a new LATMOS::Ad object for windows AD $domain. 
     
    4040 
    4141sub new { 
    42     my ($class, %options) = @_; 
     42    my ($class, %config) = @_; 
    4343     
    4444    my $base = { 
    4545        # are we using shadow, default to yes 
    46         use_shadow => (defined($options{use_shadow}) ? $options{use_shadow} : 1), 
    47         min_gid => $options{min_gid}, 
    48         min_uid => $options{min_uid}, 
    49         nis_overflow => ($options{nis_overflow} || ''), 
     46        use_shadow => (defined($config{use_shadow}) ? $config{use_shadow} : 1), 
     47        min_gid => $config{min_gid}, 
     48        min_uid => $config{min_uid}, 
     49        nis_overflow => ($config{nis_overflow} || ''), 
    5050        users => {}, 
    5151        groups => {}, 
     
    5353 
    5454    foreach (qw(passwd shadow group gshadow)) { 
    55         if ($options{$_}) { 
    56             $base->{$_} = $options{$_}; 
    57         } elsif ($options{directory}) { 
    58             $base->{$_} = $options{directory} . '/' . $_; 
     55        if ($config{$_}) { 
     56            $base->{$_} = $config{$_}; 
     57        } elsif ($config{directory}) { 
     58            $base->{$_} = $config{directory} . '/' . $_; 
    5959        } else { 
    6060            $base->{$_} = "/etc/$_"; 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Unix/Group.pm

    r1014 r1071  
    4646} 
    4747 
    48 =head2 new(%options) 
     48=head2 new(%config) 
    4949 
    5050Create a new LATMOS::Ad object for windows AD $domain. 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Unix/User.pm

    r1023 r1071  
    6767} 
    6868 
    69 =head2 new(%options) 
     69=head2 new(%config) 
    7070 
    7171=cut 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Synchro.pm

    r1023 r1071  
    405405 
    406406    foreach my $base ($self->to) { 
    407         if ($base->options('presynchro')) { 
     407        if ($base->config('presynchro')) { 
    408408            la_log LA_DEBUG, "Executing base pre synchro `%s' for %s", 
    409                 $base->options('presynchro'), $base->label; 
     409                $base->config('presynchro'), $base->label; 
    410410            exec_command( 
    411                 $base->options('presynchro'), 
     411                $base->config('presynchro'), 
    412412                { 
    413413                    BASE => $base->label, 
     
    439439 
    440440    foreach my $base ($self->to) { 
    441         if ($base->options('postsynchro')) { 
     441        if ($base->config('postsynchro')) { 
    442442            la_log LA_DEBUG, "Executing base post synchro `%s' for %s", 
    443                 $base->options('postsynchro'), $base->label; 
     443                $base->config('postsynchro'), $base->label; 
    444444            exec_command( 
    445                 $base->options('postsynchro'), 
     445                $base->config('postsynchro'), 
    446446                { 
    447447                    BASE => $base->label, 
  • trunk/LATMOS-Accounts/t/11_bases_unix.t

    r861 r1071  
    1818ok(my $unixb = LATMOS::Accounts::Bases->new( 
    1919    'unix', 
    20     passwd  => "$dir/passwd", 
    21     shadow  => "$dir/shadow", 
    22     group   => "$dir/group", 
    23     gshadow => "$dir/gshadow", 
     20    { params => { 
     21        passwd  => "$dir/passwd", 
     22        shadow  => "$dir/shadow", 
     23        group   => "$dir/group", 
     24        gshadow => "$dir/gshadow", 
     25    } } 
    2426    ), "Can get unix base"); 
    2527isa_ok($unixb, 'LATMOS::Accounts::Bases'); 
     
    5254ok(my $unixbmod = LATMOS::Accounts::Bases->new( 
    5355    'unix', 
     56    { params => {  
    5457    passwd  => "$dir/passwd", 
    5558    shadow  => "$dir/shadow", 
    5659    group   => "$dir/group", 
    5760    gshadow => "$dir/gshadow", 
     61    } } 
    5862    ), "Can get unix base"); 
    5963ok($unixbmod->load, "Can load saved db"); 
  • trunk/LATMOS-Accounts/t/15_bases_mail.t

    r861 r1071  
    1818ok(my $mailb = LATMOS::Accounts::Bases->new( 
    1919    'mail', 
    20     aliases  => "$dir/aliases", 
    21     revaliases  => "$dir/revaliases", 
     20    { 
     21    params => { 
     22        aliases  => "$dir/aliases", 
     23        revaliases  => "$dir/revaliases", 
     24    }} 
    2225    ), "Can get mail base"); 
    2326 
     
    4144ok(my $mailbmod = LATMOS::Accounts::Bases->new( 
    4245    'mail', 
     46    { params => { 
    4347    aliases  => "$dir/aliases", 
    4448    revaliases  => "$dir/revaliases", 
     49    }} 
    4550    ), "Can get mail base"); 
    4651 
  • trunk/LATMOS-Accounts/t/25_la_synchro.t

    r861 r1071  
    4949ok(my $unixb = LATMOS::Accounts::Bases->new( 
    5050        'unix', 
    51         passwd  => "$workdir/passwd", 
    52         shadow  => "$workdir/shadow", 
    53         group   => "$workdir/group", 
    54         gshadow => "$workdir/gshadow", 
     51        { 
     52        params => { 
     53            passwd  => "$workdir/passwd", 
     54            shadow  => "$workdir/shadow", 
     55            group   => "$workdir/group", 
     56            gshadow => "$workdir/gshadow", 
     57        } 
     58        } 
    5559    ), "Can get unix base"); 
    5660isa_ok($unixb, 'LATMOS::Accounts::Bases::Unix'); 
Note: See TracChangeset for help on using the changeset viewer.