Changeset 2612
- Timestamp:
- 05/14/24 03:17:01 (2 weeks ago)
- Location:
- trunk/LATMOS-Accounts
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases.pm
r2611 r2612 1102 1102 my $KeyAttribute = $self->config( 'keyAttribute.' . $srcobj->base->label . '.' . $srcobj->type ); 1103 1103 1104 my $destid = $ options{ KeyAttribute }1105 ? $srcobj->get_attibutes( $ options{ KeyAttribute })1104 my $destid = $KeyAttribute 1105 ? $srcobj->get_attibutes( $KeyAttribute ) 1106 1106 : $srcobj->id; 1107 1107 1108 if (my $dstobj = $self->get_object($srcobj->type, $destid)) { 1108 1109 keys %data or return 'SYNCED'; … … 1124 1125 return; 1125 1126 } 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)) { 1127 1128 return 'CREATED' 1128 1129 } else { -
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Unix.pm
r2175 r2612 67 67 } 68 68 69 my @password_fields = qw(account password uid gidgecos home shell);69 my @password_fields = qw(account password uidNumber gidNumber gecos home shell); 70 70 my @shadow_fields = qw(account spassword last_changed before_ch after_ch exp_warn exp_disable disable res); 71 71 my @group_fields = qw(group_name passwd gid user_list); … … 247 247 ? '!!' . ($self->{users}{$_}{password} || '') 248 248 : ($self->{users}{$_}{password} || 'x')), # No empty pass !! 249 $self->{users}{$_}{uid },250 $self->{users}{$_}{gid },249 $self->{users}{$_}{uidNumber}, 250 $self->{users}{$_}{gidNumber}, 251 251 $self->{users}{$_}{gecos} || '', 252 252 $self->{users}{$_}{home} || '/dev/null', 253 253 ($self->{users}{$_}{locked} ? '-' : '') . ($self->{users}{$_}{shell} 254 254 || '/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}} 256 256 ) or return; 257 257 … … 324 324 $self->{users}{$_}{disable}, 325 325 $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}} 327 327 ) or return; 328 328 … … 354 354 for ($otype) { 355 355 /^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; 357 357 /^group$/ and 358 358 return grep { $self->{$internal_obj}{$_}{gid} >= ($self->{min_gid} || 0) } @obj; … … 379 379 }->{$otype}; 380 380 for ($otype) { 381 if (/^user$/ && (!defined($data{uid }) || !defined($data{gid}))) {381 if (/^user$/ && (!defined($data{uidNumber}) || !defined($data{gidNumber}))) { 382 382 $self->log(LA_ERR, "uid or gid missing to create $otype"); 383 383 return; … … 398 398 uid => $data{uid}, 399 399 gid => $data{gid}, 400 uidNumber => $data{uidNumber}, 401 gidNumber => $data{gidNumber}, 400 402 _id => $id, 401 403 }; -
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Unix/User.pm
r1975 r2612 31 31 my ($class, $base) = @_; 32 32 { 33 uidNumber => { iname => 'uid',uniq => 1, },34 gidNumber => { iname => 'gid',33 uidNumber => { uniq => 1, }, 34 gidNumber => { 35 35 can_values => sub { 36 36 map { $_->get_attributes('gidNumber') } … … 55 55 sn => { ro => 1 }, 56 56 sAMAccountName => { iname => 'login', ro => 1 }, 57 uid => { iname => 'account', ro => 1 }, 57 58 $base->{use_shadow} ? 58 59 ( … … 76 77 # we profit of ref, quite easy 77 78 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)) { 79 80 return; 80 81 } … … 85 86 sub get_field { 86 87 my ($self, $field) = @_; 88 87 89 for ($field) { 88 90 /^login$/ and return $self->id; … … 100 102 return \@res; 101 103 }; 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 } 104 112 } 105 113 … … 118 126 119 127 foreach my $field (keys %data) { 120 $field =~ /^(uid |gid)$/ and do {128 $field =~ /^(uidNumber|gidNumber)$/ and do { 121 129 if(!(defined($data{$field}) && $data{$field} =~ /^\d+$/)) { 122 130 $self->base->log(LA_ERR, -
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Synchro.pm
r2611 r2612 283 283 $destbase->is_supported_object($otype) or next; 284 284 285 my $SyncKeyAttribute = $self->from->key_field( $otype );285 my $SyncKeyAttribute; 286 286 if ( my $attr = $destbase->config( 'keyAttribute.' . $self->from->label . '.' . $otype ) ) { 287 287 $SyncKeyAttribute = $attr; … … 366 366 $otype, 367 367 $self->val($self->from->label, $destbase->label, 0), 368 $SyncKeyAttribute, 368 369 )); 369 370 -
trunk/LATMOS-Accounts/t/11_bases_unix.t
r1306 r2612 41 41 is($user->get_field('shell'), '/bin/tcsh', 'Can get modified login shell'); 42 42 ok($unixb->create_object('user', 'admin', 43 uid => 2, gid=> 2,43 uidNumber => 2, gidNumber => 2, 44 44 home => '/home/admin', 45 45 shell => '/bin/sh', -
trunk/LATMOS-Accounts/t/25_la_synchro.t
r2411 r2612 31 31 32 32 isa_ok( 33 my $accounts = LATMOS::Accounts->new($workdir ),33 my $accounts = LATMOS::Accounts->new($workdir, noacl => 1), 34 34 'LATMOS::Accounts' 35 35 );
Note: See TracChangeset
for help on using the changeset viewer.