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.

Attachment: 1.0.1f objects.patch
Description: Binary data

Reply via email to