summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnnie Yousar <a.yousar@informatik.hu-berlin.de>2015-05-03 09:05:47 -0400
committerRich Salz <rsalz@openssl.org>2015-06-02 17:17:43 -0400
commitfb22f7406485f1c4e08dbf065d75146c2336b345 (patch)
tree35a2a4be599c243ad5cc34c6bd9d6716b9f4590a
parent858de8718f3125fe1e5dc30b289e8e00fff47357 (diff)
RT3230: Better test for C identifier
objects.pl only looked for a space to see if the name could be used as a C identifier. Improve the test to match the real C rules. Signed-off-by: Rich Salz <rsalz@akamai.com> Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 591b7aef05b22cba09b179e5787a9bf40dfc9508)
-rw-r--r--crypto/objects/objects.README8
-rw-r--r--crypto/objects/objects.pl2
2 files changed, 5 insertions, 5 deletions
diff --git a/crypto/objects/objects.README b/crypto/objects/objects.README
index 4d745508d8..cb1d216ce8 100644
--- a/crypto/objects/objects.README
+++ b/crypto/objects/objects.README
@@ -8,9 +8,9 @@ The basic syntax for adding an object is as follows:
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
create the C macros SN_base, LN_base, NID_base and OBJ_base.
@@ -22,7 +22,7 @@ Then there are some extra commands:
!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.
!Cname foo
diff --git a/crypto/objects/objects.pl b/crypto/objects/objects.pl
index d0ed459d3d..389dc34837 100644
--- a/crypto/objects/objects.pl
+++ b/crypto/objects/objects.pl
@@ -67,7 +67,7 @@ while (<IN>)
$myoid = &process_oid($myoid);
}
- if ($Cname eq "" && !($myln =~ / /))
+ if ($Cname eq "" && ($myln =~ /^[_A-Za-z][\w.-]*$/ ))
{
$Cname = $myln;
$Cname =~ s/\./_/g;