RT2964: Fix it via doc
authorRich Salz <rsalz@openssl.org>
Sat, 25 Jun 2016 18:51:53 +0000 (14:51 -0400)
committerRich Salz <rsalz@openssl.org>
Sat, 25 Jun 2016 20:40:07 +0000 (16:40 -0400)
OBJ_nid2obj() and friends should be treated as const.

Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
doc/crypto/OBJ_nid2obj.pod

index 9fa9e664250cbbcd832d9414cf779adeccc97a15..01f5c6eec568ad56e3d53485f75877e899b309ab 100644 (file)
@@ -45,6 +45,12 @@ Deprecated:
 
 The ASN1 object utility functions process ASN1_OBJECT structures which are
 a representation of the ASN1 OBJECT IDENTIFIER (OID) type.
 
 The ASN1 object utility functions process ASN1_OBJECT structures which are
 a representation of the ASN1 OBJECT IDENTIFIER (OID) type.
+For convenience, OID's are usually represented in source code as numeric
+identifiers, or B<NID>'s.  OpenSSL has an internal table of OID's that
+are generated when the library is built, and their corresponding NID's
+are available as define'd constants.  For the functions below, application
+code should treat all returned values -- OID's, NID's, or names -- as
+constants.
 
 OBJ_nid2obj(), OBJ_nid2ln() and OBJ_nid2sn() convert the NID B<n> to
 an ASN1_OBJECT structure, its long name and its short name respectively,
 
 OBJ_nid2obj(), OBJ_nid2ln() and OBJ_nid2sn() convert the NID B<n> to
 an ASN1_OBJECT structure, its long name and its short name respectively,
@@ -139,6 +145,7 @@ Create a new NID and initialize an object from it:
 
  int new_nid;
  ASN1_OBJECT *obj;
 
  int new_nid;
  ASN1_OBJECT *obj;
+
  new_nid = OBJ_create("1.2.3.4", "NewOID", "New Object Identifier");
 
  obj = OBJ_nid2obj(new_nid);
  new_nid = OBJ_create("1.2.3.4", "NewOID", "New Object Identifier");
 
  obj = OBJ_nid2obj(new_nid);
@@ -156,6 +163,9 @@ Instead B<buf> must point to a valid buffer and B<buf_len> should
 be set to a positive value. A buffer length of 80 should be more
 than enough to handle any OID encountered in practice.
 
 be set to a positive value. A buffer length of 80 should be more
 than enough to handle any OID encountered in practice.
 
+Many of the functions here should probably be changed to return B<const>
+pointers. But the lack of consistency makes that too awkward to do.
+
 =head1 RETURN VALUES
 
 OBJ_nid2obj() returns an B<ASN1_OBJECT> structure or B<NULL> is an
 =head1 RETURN VALUES
 
 OBJ_nid2obj() returns an B<ASN1_OBJECT> structure or B<NULL> is an