Dear all, I found a insufficient condition in the script. It is not relevant yet but may be important if you want to include additional OIDs for a customized version of OpenSSL.
What is the Perl script for:
It defines some C variables for any OID that OpenSSL should know about.
But it is clearly not sufficent to check only whether the OID's long name
description contains a space or not. An identifier in C must contain word
characters [A-Za-z_] only. This is corrected by the attached patch. The
crypto/objects/objects.README file is changed accordingly.
Short explanation for Perl wizards:
I replaced the check
!($myln =~ / /)
# i.e. the string $myln contains a space
by
($myln =~ /^[A-Za-z][\w.-]*$/)
# i.e. $myln consists of word letters, dots and dashs only.
Since the script transforms "full stop" (0x2E) and "hyphen-minus" (0x2D)
anyway later on into the "low line" character (0x5F) they are permitted
too.
The long name of the OID must not start with a digit and should not begin
with underscore to avoid confusion with system variables.
Regards,
Ann.
1.0.1f objects.patch
Description: Binary data
