Make short names of objects RFC2256-compliant.
diff --git a/CHANGES b/CHANGES
index 3da1e63..4845329 100644
--- a/CHANGES
+++ b/CHANGES
@@ -49,6 +49,11 @@
          *) applies to 0.9.6a ... 0.9.6d and 0.9.7
          +) applies to 0.9.7 only
 
+  +) Make object definitions compliant to LDAP (RFC2256): SN is the short
+     form for "surname", serialNumber has no short form (Michael Bell
+     <michael.bell@rz.hu-berlin.de>).
+     [Lutu Jaenicke]
+
   *) Fix DH_generate_parameters() so that it works for 'non-standard'
      generators, i.e. generators other than 2 and 5.  (Previously, the
      code did not properly initialise the 'add' and 'rem' values to
diff --git a/crypto/objects/obj_dat.h b/crypto/objects/obj_dat.h
index 1fe8380..c749abe 100644
--- a/crypto/objects/obj_dat.h
+++ b/crypto/objects/obj_dat.h
@@ -749,14 +749,14 @@
 {"RC4-40","rc4-40",NID_rc4_40,0,NULL},
 {"RC2-40-CBC","rc2-40-cbc",NID_rc2_40_cbc,0,NULL},
 {"G","givenName",NID_givenName,3,&(lvalues[535]),0},
-{"S","surname",NID_surname,3,&(lvalues[538]),0},
+{"SN","surname",NID_surname,3,&(lvalues[538]),0},
 {"I","initials",NID_initials,3,&(lvalues[541]),0},
 {"uniqueIdentifier","uniqueIdentifier",NID_uniqueIdentifier,3,
 	&(lvalues[544]),0},
 {"crlDistributionPoints","X509v3 CRL Distribution Points",
 	NID_crl_distribution_points,3,&(lvalues[547]),0},
 {"RSA-NP-MD5","md5WithRSA",NID_md5WithRSA,5,&(lvalues[550]),0},
-{"SN","serialNumber",NID_serialNumber,3,&(lvalues[555]),0},
+{"serialNumber","serialNumber",NID_serialNumber,3,&(lvalues[555]),0},
 {"T","title",NID_title,3,&(lvalues[558]),0},
 {"D","description",NID_description,3,&(lvalues[561]),0},
 {"CAST5-CBC","cast5-cbc",NID_cast5_cbc,9,&(lvalues[564]),0},
@@ -1567,12 +1567,11 @@
 &(nid_objs[42]),/* "RSA-SHA" */
 &(nid_objs[65]),/* "RSA-SHA1" */
 &(nid_objs[115]),/* "RSA-SHA1-2" */
-&(nid_objs[100]),/* "S" */
 &(nid_objs[41]),/* "SHA" */
 &(nid_objs[64]),/* "SHA1" */
 &(nid_objs[188]),/* "SMIME" */
 &(nid_objs[167]),/* "SMIME-CAPS" */
-&(nid_objs[105]),/* "SN" */
+&(nid_objs[100]),/* "SN" */
 &(nid_objs[16]),/* "ST" */
 &(nid_objs[143]),/* "SXNetID" */
 &(nid_objs[106]),/* "T" */
@@ -1989,6 +1988,7 @@
 &(nid_objs[561]),/* "sect571r1" */
 &(nid_objs[386]),/* "security" */
 &(nid_objs[394]),/* "selected-attribute-types" */
+&(nid_objs[105]),/* "serialNumber" */
 &(nid_objs[129]),/* "serverAuth" */
 &(nid_objs[371]),/* "serviceLocator" */
 &(nid_objs[52]),/* "signingTime" */
diff --git a/crypto/objects/obj_mac.h b/crypto/objects/obj_mac.h
index 8c76173..46b2b9b 100644
--- a/crypto/objects/obj_mac.h
+++ b/crypto/objects/obj_mac.h
@@ -1850,12 +1850,11 @@
 #define NID_commonName		13
 #define OBJ_commonName		OBJ_X509,3L
 
-#define SN_surname		"S"
+#define SN_surname		"SN"
 #define LN_surname		"surname"
 #define NID_surname		100
 #define OBJ_surname		OBJ_X509,4L
 
-#define SN_serialNumber		"SN"
 #define LN_serialNumber		"serialNumber"
 #define NID_serialNumber		105
 #define OBJ_serialNumber		OBJ_X509,5L
diff --git a/crypto/objects/objects.txt b/crypto/objects/objects.txt
index a261477..1fdc934 100644
--- a/crypto/objects/objects.txt
+++ b/crypto/objects/objects.txt
@@ -601,8 +601,8 @@
 
 X500 4			: X509
 X509 3			: CN			: commonName
-X509 4			: S			: surname
-X509 5			: SN			: serialNumber
+X509 4			: SN			: surname
+X509 5			: 			: serialNumber
 X509 6			: C			: countryName
 X509 7			: L			: localityName
 X509 8			: ST			: stateOrProvinceName