Sophie

Sophie

distrib > Mandriva > 2009.0 > x86_64 > media > main-testing-src > by-pkgid > 42f04e1ad375432e7a9473bebeb8a67a > files > 7

openldap-2.4.11-3.1mdv2009.0.src.rpm

diff -ur openldap-2.1.25/MigrationTools-45-noi18n/migrate_all_nis_offline.sh openldap-2.1.25/MigrationTools-45/migrate_all_nis_offline.sh
--- openldap-2.1.25/MigrationTools-45-noi18n/migrate_all_nis_offline.sh	2004-01-25 16:02:25.000000000 +0200
+++ openldap-2.1.25/MigrationTools-45/migrate_all_nis_offline.sh	2004-01-25 16:03:53.000000000 +0200
@@ -66,7 +66,7 @@
 ypcat $DOMFLAG services > $ETC_SERVICES
 ypcat $DOMFLAG protocols > $ETC_PROTOCOLS
 touch $ETC_FSTAB
-ypcat $DOMFLAG rpc.byname > $ETC_RPC
+ypcat $DOMFLAG rpc.byname  |sort | uniq > $ETC_RPC
 ypcat $DOMFLAG hosts > $ETC_HOSTS
 ypcat $DOMFLAG networks > $ETC_NETWORKS
 #ypcat $DOMFLAG -k aliases > $ETC_ALIASES
diff -ur openldap-2.1.25/MigrationTools-45-noi18n/migrate_all_nis_online.sh openldap-2.1.25/MigrationTools-45/migrate_all_nis_online.sh
--- openldap-2.1.25/MigrationTools-45-noi18n/migrate_all_nis_online.sh	2004-01-25 16:02:25.000000000 +0200
+++ openldap-2.1.25/MigrationTools-45/migrate_all_nis_online.sh	2004-01-25 16:03:53.000000000 +0200
@@ -42,6 +42,7 @@
 
 TMPDIR="/tmp"
 ETC_PASSWD=`mktemp $TMPDIR/passwd.ldap.XXXXXX`
+ETC_SHADOW=`mktemp $TMPDIR/shadow.ldap.XXXXXX`
 ETC_GROUP=`mktemp $TMPDIR/group.ldap.XXXXXX`
 ETC_SERVICES=`mktemp $TMPDIR/services.ldap.XXXXXX`
 ETC_PROTOCOLS=`mktemp $TMPDIR/protocols.ldap.XXXXXX`
@@ -62,11 +63,12 @@
 fi
 
 ypcat $DOMFLAG passwd > $ETC_PASSWD
+ypcat $DOMFLAG shadow.byname > $ETC_SHADOW
 ypcat $DOMFLAG group > $ETC_GROUP
 ypcat $DOMFLAG services > $ETC_SERVICES
 ypcat $DOMFLAG protocols > $ETC_PROTOCOLS
 touch $ETC_FSTAB
-ypcat $DOMFLAG rpc.byname > $ETC_RPC
+ypcat $DOMFLAG rpc.byname |sort | uniq  > $ETC_RPC
 ypcat $DOMFLAG hosts > $ETC_HOSTS
 ypcat $DOMFLAG networks > $ETC_NETWORKS
 #ypcat $DOMFLAG -k aliases > $ETC_ALIASES
@@ -74,6 +76,7 @@
 . ${INSTDIR}migrate_all_online.sh $*
 
 rm -f $ETC_PASSWD
+rm -f $ETC_SHADOW
 rm -f $ETC_GROUP
 rm -f $ETC_SERVICES
 rm -f $ETC_PROTOCOLS
diff -ur openldap-2.1.25/MigrationTools-45-noi18n/migrate_all_online.sh openldap-2.1.25/MigrationTools-45/migrate_all_online.sh
--- openldap-2.1.25/MigrationTools-45-noi18n/migrate_all_online.sh	2004-01-25 16:02:25.000000000 +0200
+++ openldap-2.1.25/MigrationTools-45/migrate_all_online.sh	2004-01-25 16:03:53.000000000 +0200
@@ -57,6 +57,10 @@
 if [ "X$ETC_PASSWD" = "X" ]; then
 	ETC_PASSWD=/etc/passwd
 fi
+if [ "X$ETC_SHADOW" = "X" ]; then
+	ETC_SHADOW=/etc/shadow
+fi
+
 if [ "X$ETC_GROUP" = "X" ]; then
 	ETC_GROUP=/etc/group
 fi
@@ -178,6 +182,7 @@
 echo "Migrating networks..."
 $PERL -I${INSTDIR} ${INSTDIR}migrate_networks.pl	$ETC_NETWORKS >> $DB
 echo "Migrating users..."
+export ETC_SHADOW
 $PERL -I${INSTDIR} ${INSTDIR}migrate_passwd.pl		$ETC_PASSWD >> $DB
 echo "Migrating protocols..."
 $PERL -I${INSTDIR} ${INSTDIR}migrate_protocols.pl	$ETC_PROTOCOLS >> $DB
diff -ur openldap-2.1.25/MigrationTools-45-noi18n/migrate_automount.pl openldap-2.1.25/MigrationTools-45/migrate_automount.pl
--- openldap-2.1.25/MigrationTools-45-noi18n/migrate_automount.pl	2003-04-15 05:09:33.000000000 +0200
+++ openldap-2.1.25/MigrationTools-45/migrate_automount.pl	2004-01-25 16:03:53.000000000 +0200
@@ -33,9 +33,9 @@
 # services migration tool
 #
 
-require 'migrate_common.ph';
- 
-$PROGRAM = "migrate_automount.pl"; 
+require '/usr/share/openldap/migration/migrate_common.ph';
+
+$PROGRAM = "/usr/share/openldap/migration/migrate_automount.pl";
 $NAMINGCONTEXT = &getsuffix($PROGRAM);
 
 &parse_args();
@@ -84,13 +84,12 @@
 	
 	return if (!$mapname);
 
-	if ($key eq "*"){	
-		# since * isnt a valid attrib, replace it with "/" 
-		# which isnt a valid filename :->
-		print $HANDLE "dn: cn=/,nisMapName=$mapname,$NAMINGCONTEXT\n";
-	} else {
-		print $HANDLE "dn: cn=$key,nisMapName=$mapname,$NAMINGCONTEXT\n";
+	if ($key eq "*"){
+		# since * isn't a valid attrib, replace it with "/" 
+		# which isn't a valid filename :->
+		$key = "/";
 	}
+	print $HANDLE "dn: cn=$key, ou=$mapname,$NAMINGCONTEXT\n";
 	print $HANDLE "objectClass: nisObject\n";
 	print $HANDLE "cn: $key\n";
 	print $HANDLE "nisMapEntry: $value\n";
@@ -101,3 +100,4 @@
 close(INFILE);
 if (OUTFILE != STDOUT) { close(OUTFILE); }
 
+
diff -ur openldap-2.1.25/MigrationTools-45-noi18n/migrate_passwd.pl openldap-2.1.25/MigrationTools-45/migrate_passwd.pl
--- openldap-2.1.25/MigrationTools-45-noi18n/migrate_passwd.pl	2003-04-15 05:09:34.000000000 +0200
+++ openldap-2.1.25/MigrationTools-45/migrate_passwd.pl	2004-01-25 16:04:07.000000000 +0200
@@ -37,6 +37,7 @@
 # Thanks to Peter Jacob Slot <peter@vision.auk.dk>.
 #
 
+use MIME::Base64; 
 require 'migrate_common.ph';
 
 $PROGRAM = "migrate_passwd.pl";
@@ -53,28 +54,6 @@
 	next if /^#/;
 	next if /^\+/;
 
-	s/Ä/Ae/g;
-	s/Ë/Ee/g;
-	s/Ï/Ie/g;
-	s/Ö/Oe/g;
-	s/Ü/Ue/g;
-
-	s/ä/ae/g;
-	s/ë/ee/g;
-	s/ï/ie/g;
-	s/ö/oe/g;
-	s/ü/ue/g;
-	s/ÿ/ye/g;
-	s/ß/ss/g;
-	s/é/e/g;
-
-	s/Æ/Ae/g;
-	s/æ/ae/g;
-	s/Ø/Oe/g;
-	s/ø/oe/g;
-	s/Å/Ae/g;
-	s/å/ae/g;
-
 	local($user, $pwd, $uid, $gid, $gecos, $homedir, $shell) = split(/:/);
 	
 	if ($use_stdout) {
@@ -103,7 +82,15 @@
 	
 	print $HANDLE "dn: uid=$user,$NAMINGCONTEXT\n";
 	print $HANDLE "uid: $user\n";
-	print $HANDLE "cn: $cn\n";
+
+	if ($cn =~ /([\x80-\xff])/) {
+	    $cn =`echo $cn | iconv -t utf8`;
+	    chomp $cn;
+	    print $HANDLE "cn:: " . encode_base64($cn, "") . "\n";
+	}
+	else {
+	    print $HANDLE "cn: $cn\n";
+	}
 
 	if ($EXTENDED_SCHEMA) {
 		if ($wphone) {
@@ -116,9 +103,26 @@
 			print $HANDLE "homePhone: $hphone\n";
 		}
 		if ($givenname) {
+                   if ($givenname =~ /([\x80-\xff])/) {
+                       $givenname =`echo $givenname | iconv -t utf8`;
+                       chomp $givenname;
+                       print $HANDLE "givenname:: " . encode_base64($givenname,	 "") . "\n";
+                   }
+                   else {
 			print $HANDLE "givenName: $givenname\n";
+                   }
+               }
+
+               if ($sn) {
+		   if ($sn =~ /([\x80-\xff])/) {
+		       $sn =`echo $sn | iconv -t utf8`;
+		       chomp $sn;
+		       print $HANDLE "sn:: " . encode_base64($sn, "") . "\n";
+		   }
+	           else {
+		       print $HANDLE "sn: $sn\n";
+		   }
 		}
-		print $HANDLE "sn: $sn\n";
 		if ($DEFAULT_MAIL_DOMAIN) {
 			print $HANDLE "mail: $user\@$DEFAULT_MAIL_DOMAIN\n";
 		}
@@ -132,7 +136,6 @@
 		print $HANDLE "objectClass: inetOrgPerson\n";
 	}
 
-	print $HANDLE "objectClass: account\n";
 	print $HANDLE "objectClass: posixAccount\n";
 	print $HANDLE "objectClass: top\n";
 
@@ -173,8 +176,37 @@
 	}
 
 	if ($gecos) {
-		print $HANDLE "gecos: $gecos\n";
-	}
+	    $_ = $gecos;
+ 	    s/Ä/Ae/g;
+  	    s/Ë/Ee/g;
+  	    s/Ï/Ie/g;
+  	    s/Ö/Oe/g;
+  	    s/Ü/Ue/g;
+    
+  	    s/ä/ae/g;
+  	    s/ë/ee/g;
+  	    s/ï/ie/g;
+  	    s/ö/oe/g;
+  	    s/ü/ue/g;
+  	    s/ÿ/ye/g;
+	    
+  	    s/Æ/Ae/g;
+  	    s/æ/ae/g;
+  	    s/Ø/Oe/g;
+  	    s/ø/oe/g;
+ 	    s/Å/Ae/g;
+  	    s/å/ae/g;
+	    # French accent
+	    s/é/e/g;
+	    s/è/e/g;
+	    s/ê/e/g;
+	    s/ô/o/g;
+	    s/à/a/g;
+	    
+  	    s/([\x80-\xff])/'%' . sprintf("%02X", ord($1))/ge;
+	    print $HANDLE "gecos: $_\n";
+	    
+	}	
 
 	print $HANDLE "\n";
 }
@@ -184,12 +216,12 @@
 
 sub read_shadow_file
 {
-	open(SHADOW, "/etc/shadow") || return;
+	open(SHADOW, $ENV{ETC_SHADOW}) || return;
 	while(<SHADOW>) {
-		chop;
-		($shadowUser) = split(/:/, $_);
+	chop;
+	($shadowUser) = split(/:/, $_);
 		$shadowUsers{$shadowUser} = $_;
-	}
+		}
 	close(SHADOW);
 }