Jetzt geht das Force-Flag wirklich (z.B. zum Anlegen eines Accounts, wenn
trotzdem schon mehrfach mail=... existiert.)
--- a/account.pm Wed Jul 19 12:09:36 2006 +0000
+++ b/account.pm Wed Jul 19 19:38:54 2006 +0000
@@ -84,11 +84,13 @@
die "Need user name for creation\n" if not @ARGV;
my $user = shift @ARGV;
+ my $mailPrimaryAddress = $Cf->primary || $user; # evtl. mit !
+ my $mailAddress = [$user, split /,/, $Cf->other || ""]; # ditto
+
+ $user =~ s/!$//; # jetzt können wir ! nicht mehr brauchn
my $mbox = "user/$user";
my $cn = $Cf->fullname || $user;
my $sn = (reverse split " ", $cn)[0];
- my $mailPrimaryAddress = $Cf->primary || $user;
- my $mailAddress = [$user, split /,/, $Cf->other || ""];
my $mailGroup = [split /,/, $Cf->group || ""];
my $mailForwardingAddress = [split /,/, $Cf->forward || ""];
my $pw = _mkpw($Cf->password || "{pwgen}");
@@ -116,12 +118,13 @@
if ($e->exists("mail") || $e->exists(AT_PRIMARYADDRESS) || $e->exists("userPassword")) {
verbose "exists\n";
} else {
+ FORCE:
# Bevor wir ans Werk gehen, noch ein paar Tests (mailPrimaryAddress und mail darf
- # darf noch nicht vergeben sein)
+ # noch nicht vergeben sein)
foreach my $a ($mailPrimaryAddress, @$mailAddress) {
$a =~ s/!$// and next; # wenn ein ! am Ende steht, dann ist es so gewollt und wird
- # nicht geprüft
+ # nicht geprüft
$r = $ldap->search(filter => "(mail=$a)", base => $ubase);
die $r->error if $r->code;
die "$a ist schon vergeben\n" if $r->count;