Changeset 2612


Ignore:
Timestamp:
05/14/24 03:17:01 (2 weeks ago)
Author:
nanardon
Message:

use real attribute number in unix base, fixe test

Location:
trunk/LATMOS-Accounts
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases.pm

    r2611 r2612  
    11021102    my $KeyAttribute = $self->config( 'keyAttribute.' . $srcobj->base->label . '.' . $srcobj->type  ); 
    11031103 
    1104     my $destid = $options{ KeyAttribute } 
    1105         ? $srcobj->get_attibutes( $options{ KeyAttribute } ) 
     1104    my $destid = $KeyAttribute 
     1105        ? $srcobj->get_attibutes( $KeyAttribute ) 
    11061106        : $srcobj->id; 
     1107 
    11071108    if (my $dstobj = $self->get_object($srcobj->type, $destid)) { 
    11081109        keys %data or return 'SYNCED'; 
     
    11241125            return; 
    11251126        } 
    1126         if (my $res = $self->_create_c_object($srcobj->type, $srcobj->id, %data)) { 
     1127        if (my $res = $self->_create_c_object($srcobj->type, $destid, %data)) { 
    11271128            return 'CREATED' 
    11281129        } else { 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Unix.pm

    r2175 r2612  
    6767} 
    6868 
    69 my @password_fields = qw(account password uid gid gecos home shell); 
     69my @password_fields = qw(account password uidNumber gidNumber gecos home shell); 
    7070my @shadow_fields =   qw(account spassword last_changed before_ch after_ch exp_warn exp_disable disable res); 
    7171my @group_fields =    qw(group_name passwd gid user_list); 
     
    247247                ? '!!' . ($self->{users}{$_}{password} || '') 
    248248                : ($self->{users}{$_}{password} || 'x')), # No empty pass !! 
    249             $self->{users}{$_}{uid}, 
    250             $self->{users}{$_}{gid}, 
     249            $self->{users}{$_}{uidNumber}, 
     250            $self->{users}{$_}{gidNumber}, 
    251251            $self->{users}{$_}{gecos} || '', 
    252252            $self->{users}{$_}{home} || '/dev/null', 
    253253            ($self->{users}{$_}{locked} ? '-' : '') . ($self->{users}{$_}{shell} 
    254254                || '/bin/false'), 
    255         ]} sort { $self->{users}{$a}{uid} <=> $self->{users}{$b}{uid} } keys %{$self->{users}} 
     255        ]} sort { $self->{users}{$a}{uidNumber} <=> $self->{users}{$b}{uidNumber} } keys %{$self->{users}} 
    256256    ) or return; 
    257257 
     
    324324            $self->{users}{$_}{disable}, 
    325325            $self->{users}{$_}{res}, 
    326         ]} sort { $self->{users}{$a}{uid} <=> $self->{users}{$b}{uid} } keys %{$self->{users}} 
     326        ]} sort { $self->{users}{$a}{uidNumber} <=> $self->{users}{$b}{uidNumber} } keys %{$self->{users}} 
    327327    ) or return; 
    328328 
     
    354354    for ($otype) { 
    355355        /^user$/ and 
    356             return grep { $self->{$internal_obj}{$_}{uid} >= ($self->{min_uid} || 0) } @obj; 
     356            return grep { $self->{$internal_obj}{$_}{uidNumber} >= ($self->{min_uid} || 0) } @obj; 
    357357        /^group$/ and 
    358358            return grep { $self->{$internal_obj}{$_}{gid} >= ($self->{min_gid} || 0) } @obj; 
     
    379379    }->{$otype}; 
    380380    for ($otype) { 
    381         if (/^user$/ && (!defined($data{uid}) || !defined($data{gid}))) { 
     381        if (/^user$/ && (!defined($data{uidNumber}) || !defined($data{gidNumber}))) { 
    382382            $self->log(LA_ERR, "uid or gid missing to create $otype"); 
    383383            return; 
     
    398398        uid => $data{uid}, 
    399399        gid => $data{gid}, 
     400        uidNumber => $data{uidNumber}, 
     401        gidNumber => $data{gidNumber}, 
    400402        _id => $id, 
    401403    }; 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Unix/User.pm

    r1975 r2612  
    3131    my ($class, $base) = @_; 
    3232    { 
    33         uidNumber       => { iname => 'uid', uniq => 1, }, 
    34         gidNumber       => { iname => 'gid', 
     33        uidNumber       => { uniq => 1, }, 
     34        gidNumber       => { 
    3535            can_values => sub { 
    3636                map { $_->get_attributes('gidNumber') } 
     
    5555        sn              => { ro => 1 }, 
    5656        sAMAccountName  => { iname => 'login', ro => 1 }, 
     57        uid             => { iname => 'account', ro => 1 }, 
    5758        $base->{use_shadow} ? 
    5859        ( 
     
    7677    # we profit of ref, quite easy 
    7778    if (exists($base->{users}{$id}) && $base->{users}{$id}) { 
    78         if ($base->{users}{$id}{uid} < ($base->{min_uid} || 0)) { 
     79        if ($base->{users}{$id}{uidNumber} < ($base->{min_uid} || 0)) { 
    7980            return; 
    8081        } 
     
    8586sub get_field { 
    8687    my ($self, $field) = @_; 
     88 
    8789    for ($field) { 
    8890        /^login$/ and return $self->id; 
     
    100102            return \@res; 
    101103        }; 
    102     } 
    103     $self->{$field} 
     104        last; 
     105    } 
     106 
     107    if (my $oattr = $self->attribute($field)) { 
     108        return $self->{ $oattr->iname }; 
     109    } else { 
     110        return $self->{$field} 
     111    } 
    104112} 
    105113 
     
    118126 
    119127    foreach my $field (keys %data) { 
    120         $field =~ /^(uid|gid)$/ and do { 
     128        $field =~ /^(uidNumber|gidNumber)$/ and do { 
    121129            if(!(defined($data{$field}) && $data{$field} =~ /^\d+$/)) { 
    122130                $self->base->log(LA_ERR, 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Synchro.pm

    r2611 r2612  
    283283            $destbase->is_supported_object($otype) or next; 
    284284 
    285             my $SyncKeyAttribute = $self->from->key_field( $otype ); 
     285            my $SyncKeyAttribute; 
    286286            if ( my $attr = $destbase->config( 'keyAttribute.' . $self->from->label . '.' . $otype ) ) { 
    287287                $SyncKeyAttribute = $attr; 
     
    366366                    $otype, 
    367367                    $self->val($self->from->label, $destbase->label, 0), 
     368                    $SyncKeyAttribute, 
    368369                )); 
    369370 
  • trunk/LATMOS-Accounts/t/11_bases_unix.t

    r1306 r2612  
    4141is($user->get_field('shell'), '/bin/tcsh', 'Can get modified login shell'); 
    4242ok($unixb->create_object('user', 'admin', 
    43     uid => 2, gid => 2, 
     43    uidNumber => 2, gidNumber => 2, 
    4444    home => '/home/admin', 
    4545    shell => '/bin/sh', 
  • trunk/LATMOS-Accounts/t/25_la_synchro.t

    r2411 r2612  
    3131 
    3232isa_ok( 
    33     my $accounts = LATMOS::Accounts->new($workdir), 
     33    my $accounts = LATMOS::Accounts->new($workdir, noacl => 1), 
    3434    'LATMOS::Accounts' 
    3535); 
Note: See TracChangeset for help on using the changeset viewer.