summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschwarze <>2023-09-06 12:26:59 +0000
committerschwarze <>2023-09-06 12:26:59 +0000
commit04898380cd1589bda4de087c73a62e2db1be259f (patch)
treee6049729fd6634de337b8fb6b398b5626a01975a
parent11cd3a3d479bcec2aabc2bad508d44971dd55220 (diff)
downloadopenbsd-04898380cd1589bda4de087c73a62e2db1be259f.tar.gz
openbsd-04898380cd1589bda4de087c73a62e2db1be259f.tar.bz2
openbsd-04898380cd1589bda4de087c73a62e2db1be259f.zip
Correct the RETURN VALUES of OBJ_add_object(3).
The text was misleading before and after the improvement in obj_dat.c rev. 1.61. The way i'm fixing the documentation here takes that improvement into account. Also add a CAVEATS section about adding incomplete objects.
-rw-r--r--src/lib/libcrypto/man/OBJ_create.339
1 files changed, 33 insertions, 6 deletions
diff --git a/src/lib/libcrypto/man/OBJ_create.3 b/src/lib/libcrypto/man/OBJ_create.3
index 690c1c77f0..7a6135e052 100644
--- a/src/lib/libcrypto/man/OBJ_create.3
+++ b/src/lib/libcrypto/man/OBJ_create.3
@@ -1,13 +1,13 @@
1.\" $OpenBSD: OBJ_create.3,v 1.7 2023/07/21 05:02:53 tb Exp $ 1.\" $OpenBSD: OBJ_create.3,v 1.8 2023/09/06 12:26:59 schwarze Exp $
2.\" full merge up to: 2.\" full merge up to:
3.\" OpenSSL OBJ_nid2obj.pod 9b86974e Aug 17 15:21:33 2015 -0400 3.\" OpenSSL OBJ_nid2obj.pod 9b86974e Aug 17 15:21:33 2015 -0400
4.\" selective merge up to: 4.\" selective merge up to:
5.\" OpenSSL OBJ_nid2obj.pod 35fd9953 May 28 14:49:38 2019 +0200 5.\" OpenSSL OBJ_nid2obj.pod 0c5bc96f Mar 15 13:57:22 2022 +0000
6.\" 6.\"
7.\" This file is a derived work. 7.\" This file is a derived work.
8.\" The changes are covered by the following Copyright and license: 8.\" The changes are covered by the following Copyright and license:
9.\" 9.\"
10.\" Copyright (c) 2017, 2021 Ingo Schwarze <schwarze@openbsd.org> 10.\" Copyright (c) 2017, 2021, 2023 Ingo Schwarze <schwarze@openbsd.org>
11.\" 11.\"
12.\" Permission to use, copy, modify, and distribute this software for any 12.\" Permission to use, copy, modify, and distribute this software for any
13.\" purpose with or without fee is hereby granted, provided that the above 13.\" purpose with or without fee is hereby granted, provided that the above
@@ -69,7 +69,7 @@
69.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 69.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
70.\" OF THE POSSIBILITY OF SUCH DAMAGE. 70.\" OF THE POSSIBILITY OF SUCH DAMAGE.
71.\" 71.\"
72.Dd $Mdocdate: July 21 2023 $ 72.Dd $Mdocdate: September 6 2023 $
73.Dt OBJ_CREATE 3 73.Dt OBJ_CREATE 3
74.Os 74.Os
75.Sh NAME 75.Sh NAME
@@ -217,11 +217,15 @@ The opposite order will usually not work.
217returns the new NID. 217returns the new NID.
218.Pp 218.Pp
219.Fn OBJ_add_object 219.Fn OBJ_add_object
220returns the NID associated with the 220returns the NID of the added
221.Fa object 221.Fa object
222or 222or
223.Dv NID_undef 223.Dv NID_undef
224if memory allocation fails. 224if no object was added because the
225.Fa object
226argument was
227.Dv NULL ,
228did not contain an NID, or memory allocation failed.
225.Pp 229.Pp
226.Fn OBJ_create 230.Fn OBJ_create
227returns the new NID or 231returns the new NID or
@@ -271,6 +275,29 @@ and
271.Fn check_defer 275.Fn check_defer
272first appeared in OpenSSL 1.0.0 and have been available since 276first appeared in OpenSSL 1.0.0 and have been available since
273.Ox 4.9 . 277.Ox 4.9 .
278.Sh CAVEATS
279.Fn OBJ_add_object
280indicates success even after adding an incomplete object that was created with
281.Xr ASN1_OBJECT_create 3
282but lacks a short name, a long name, or an OID.
283.Pp
284Even
285.Fn OBJ_create
286tolerates
287.Dv NULL
288pointers being passed for the
289.Fa sn
290and/or
291.Fa ln
292arguments, in which case
293.Xr OBJ_nid2sn 3
294and
295.Xr OBJ_sn2nid 3
296or
297.Xr OBJ_nid2ln 3
298and
299.Xr OBJ_ln2nid 3
300will not work on the added object, respectively.
274.Sh BUGS 301.Sh BUGS
275.Fn OBJ_new_nid 302.Fn OBJ_new_nid
276does not reserve any return value to indicate an error. 303does not reserve any return value to indicate an error.