equal
deleted
inserted
replaced
88 my $cn = $Cf->fullname || $user; |
88 my $cn = $Cf->fullname || $user; |
89 my $sn = (reverse split " ", $cn)[0]; |
89 my $sn = (reverse split " ", $cn)[0]; |
90 my $mailPrimaryAddress = $Cf->primary || $user; |
90 my $mailPrimaryAddress = $Cf->primary || $user; |
91 my $mailAddress = [$user, split /,/, $Cf->other || ""]; |
91 my $mailAddress = [$user, split /,/, $Cf->other || ""]; |
92 my $mailGroup = [split /,/, $Cf->group || ""]; |
92 my $mailGroup = [split /,/, $Cf->group || ""]; |
|
93 my $mailForwardingAddress = [split /,/, $Cf->forward || ""]; |
93 my $pw = _mkpw($Cf->password || "{pwgen}"); |
94 my $pw = _mkpw($Cf->password || "{pwgen}"); |
94 |
95 |
95 |
96 |
96 my $dn = "uid=$user,$ubase"; |
97 my $dn = "uid=$user,$ubase"; |
97 my $r; |
98 my $r; |
131 |
132 |
132 $e->add((AT_ADDRESS) => $mailAddress); |
133 $e->add((AT_ADDRESS) => $mailAddress); |
133 $e->add((AT_PRIMARYADDRESS) => $mailPrimaryAddress); |
134 $e->add((AT_PRIMARYADDRESS) => $mailPrimaryAddress); |
134 $e->add(userPassword => $pw); |
135 $e->add(userPassword => $pw); |
135 $e->add((AT_GROUP) => $mailGroup) if @$mailGroup; |
136 $e->add((AT_GROUP) => $mailGroup) if @$mailGroup; |
|
137 $e->add((AT_FORWARDINGADDRESS) => $mailForwardingAddress) if @$mailForwardingAddress; |
|
138 |
136 # $e->add(iusRestrictedMail => $Cf->internal) if $Cf->internal ne ":"; |
139 # $e->add(iusRestrictedMail => $Cf->internal) if $Cf->internal ne ":"; |
137 |
140 |
138 $e->exists("sn") or $e->add(sn => $sn); |
141 $e->exists("sn") or $e->add(sn => $sn); |
139 $e->exists("cn") or $e->add(cn => $cn); |
142 $e->exists("cn") or $e->add(cn => $cn); |
140 |
143 |
238 } |
241 } |
239 } |
242 } |
240 $modified++; |
243 $modified++; |
241 } |
244 } |
242 |
245 |
|
246 if (defined $Cf->forward) { |
|
247 my @f = split /,/, $Cf->forward; |
|
248 grep { /^[+-]/ } @f or $e->delete(AT_FORWARDINGADDRESS) |
|
249 if $e->get_value(AT_FORWARDINGADDRESS); |
|
250 |
|
251 foreach my $f (@f) { |
|
252 if ($f =~ s/^-//) { |
|
253 $e->delete((AT_FORWARDINGADDRESS) => [$f]); |
|
254 } else { |
|
255 $f =~ s/^\+//; |
|
256 $e->add((AT_FORWARDINGADDRESS) => [$f]); |
|
257 } |
|
258 } |
|
259 $modified++; |
|
260 } |
|
261 |
243 if (my $a = $Cf->primary) { |
262 if (my $a = $Cf->primary) { |
244 $r = $ldap->search(base => $ubase, |
263 $r = $ldap->search(base => $ubase, |
245 # filter => "(|(mailPrimaryAddress=$a)(mail=$a))"); |
264 # filter => "(|(mailPrimaryAddress=$a)(mail=$a))"); |
246 filter => "(mail=$a)"); |
265 filter => "(mail=$a)"); |
247 die $r->error if $r->code; |
266 die $r->error if $r->code; |
353 my $uid = $e->get_value("uid"); |
372 my $uid = $e->get_value("uid"); |
354 my $cn = join(", ", $e->get_value("cn")); |
373 my $cn = join(", ", $e->get_value("cn")); |
355 my $mr = $e->get_value(AT_PRIMARYADDRESS) || ""; # ?? |
374 my $mr = $e->get_value(AT_PRIMARYADDRESS) || ""; # ?? |
356 my $ml = join(", ", $e->get_value(AT_ADDRESS)) || ""; # ?? |
375 my $ml = join(", ", $e->get_value(AT_ADDRESS)) || ""; # ?? |
357 my $mg = join(", ", $e->get_value(AT_GROUP)) || ""; # ?? |
376 my $mg = join(", ", $e->get_value(AT_GROUP)) || ""; # ?? |
|
377 my $forw = join (", ", $e->get_value(AT_FORWARDINGADDRESS)) || ""; |
358 my $mbox = "user/$uid"; |
378 my $mbox = "user/$uid"; |
359 |
379 |
360 print "$uid: $cn <$mr>"; |
380 print "$uid: $cn <$mr>"; |
361 |
381 |
362 #if (($e->get_value("iusRestrictedMail")||"") eq "TRUE") { |
382 #if (($e->get_value("iusRestrictedMail")||"") eq "TRUE") { |
382 |
402 |
383 print "\tPassword: ", $> == 0 ? $e->get_value("userPassword") : "*", "\n"; |
403 print "\tPassword: ", $> == 0 ? $e->get_value("userPassword") : "*", "\n"; |
384 |
404 |
385 print wrap("\t", "\t\t", "Other Adresses: $ml\n") if $ml; |
405 print wrap("\t", "\t\t", "Other Adresses: $ml\n") if $ml; |
386 print wrap("\t", "\t\t", "Mail Groups: $mg\n") if $mg; |
406 print wrap("\t", "\t\t", "Mail Groups: $mg\n") if $mg; |
|
407 print wrap("\t", "\t\t", "Forwardings: $forw\n") if $forw; |
387 |
408 |
388 } |
409 } |
389 } |
410 } |
390 |
411 |
391 sub verbose(@) { |
412 sub verbose(@) { |