# For using a Long Name as basis for the base name in C it is not sufficient that
# Long Name doesn't contain spaces. The necessary condition for an identifier in C is
# "consisting of word characters only". Since the script transforms hyphen-minus and 
# full stop later on into the low line character (0x5F) they are also permitted here.
# 2014-01-10 Annie Yousar

--- openssl-1.0.1f/crypto/objects/objects.pl	2014-01-09 16:44:46.203125000 +0100
+++ openssl-1.0.1f.patch/crypto/objects/objects.pl	2014-01-10 09:08:24.187500000 +0100
@@ -68,5 +68,5 @@
 		}
 
-	if ($Cname eq "" && !($myln =~ / /))
+	if ($Cname eq "" && ($myln =~ /^[A-Za-z][\w.-]*$/ ))
 		{
 		$Cname = $myln;
--- openssl-1.0.1f/crypto/objects/objects.README	2014-01-06 14:47:42.000000000 +0100
+++ openssl-1.0.1f.patch/crypto/objects/objects.README	2014-01-09 17:05:35.953125000 +0100
@@ -9,7 +9,7 @@
 	1 2 3 4		: shortName	: Long Name
 
-		If the long name doesn't contain spaces, or no short name
-		exists, the long name is used as basis for the base name
-		in C.  Otherwise, the short name is used.
+		If Long Name contains only word characters and hyphen-minus
+		(0x2D) or full stop (0x2E) then Long Name is used as basis
+		for the base name in C. Otherwise, the shortName is used.
 
 		The base name (let's call it 'base') will then be used to
@@ -23,5 +23,5 @@
 	!Alias foo 1 2 3 4
 
-		This juts makes a name foo for an OID.  The C macro
+		This just makes a name foo for an OID.  The C macro
 		OBJ_foo will be created as a result.
 
