freebsd-dev/crypto/objects
Pierre Pronchery b84c4564ef openssl: Vendor import of OpenSSL-3.0.9
Summary:

Release notes can be found at
https://www.openssl.org/news/openssl-3.0-notes.html .

Obtained from:  https://www.openssl.org/source/openssl-3.0.9.tar.gz

Test Plan:
```
$ git status
On branch vendor/openssl-3.0
Your branch is up to date with 'origin/vendor/openssl-3.0'.

nothing to commit, working tree clean
$ (cd ..; fetch http://www.openssl.org/source/openssl-${OSSLVER}.tar.gz http://www.openssl.org/source/openssl-${OSSLVER}.tar.gz.asc)
openssl-3.0.9.tar.gz                                    14 MB   74 MBps    01s
openssl-3.0.9.tar.gz.asc                               833  B   10 MBps    00s
$ set | egrep '(XLIST|OSSLVER)='
OSSLVER=3.0.9
XLIST=FREEBSD-Xlist
$ gpg --list-keys
/home/khorben/.gnupg/pubring.kbx
--------------------------------
pub   rsa4096 2021-07-16 [SC] [expires: 2031-07-14]
      A21FAB74B0088AA361152586B8EF1A6BA9DA2D5C
uid           [ unknown] Tomáš Mráz <tm@t8m.info>
uid           [ unknown] Tomáš Mráz <tomas@arleto.cz>
uid           [ unknown] Tomáš Mráz <tomas@openssl.org>
sub   rsa4096 2021-07-16 [S] [expires: 2027-07-15]
sub   rsa4096 2021-07-16 [E] [expires: 2031-07-14]

$ gpg --verify ../openssl-${OSSLVER}.tar.gz.asc ../openssl-${OSSLVER}.tar.gz
gpg: Signature made Tue May 30 14:32:24 2023 CEST
gpg:                using RSA key DC7032662AF885E2F47F243F527466A21CA79E6D
gpg: Good signature from "Tomáš Mráz <tm@t8m.info>" [unknown]
gpg:                 aka "Tomáš Mráz <tomas@arleto.cz>" [unknown]
gpg:                 aka "Tomáš Mráz <tomas@openssl.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: A21F AB74 B008 8AA3 6115  2586 B8EF 1A6B A9DA 2D5C
     Subkey fingerprint: DC70 3266 2AF8 85E2 F47F  243F 5274 66A2 1CA7 9E6D

$ tar -x -X $XLIST -f ../openssl-${OSSLVER}.tar.gz -C ..
$ rsync --exclude FREEBSD.* --delete -avzz ../openssl-${OSSLVER}/* .
[...]
$ diff -arq ../openssl-${OSSLVER}  .
Only in .: .git
Only in .: FREEBSD-Xlist
Only in .: FREEBSD-upgrade
$ git status FREEBSD*
On branch vendor/openssl-3.0
Your branch is up to date with 'origin/vendor/openssl-3.0'.

nothing to commit, working tree clean
```
2023-06-23 09:13:27 -04:00
..
build.info Import OpenSSL 1.1.1. 2018-09-13 19:18:07 +00:00
o_names.c openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00
obj_compat.h openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00
obj_dat.c openssl: Vendor import of OpenSSL-3.0.9 2023-06-23 09:13:27 -04:00
obj_dat.h openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00
obj_dat.pl openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00
obj_err.c openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00
obj_lib.c openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00
obj_local.h openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00
obj_mac.num openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00
obj_xref.c openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00
obj_xref.h openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00
obj_xref.txt openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00
objects.pl openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00
objects.txt openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00
objxref.pl openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00
README.md openssl: Vendor import of OpenSSL-3.0.8 2023-03-06 12:41:29 -08:00

objects.txt syntax

To cover all the naming hacks that were previously in objects.h needed some kind of hacks in objects.txt.

The basic syntax for adding an object is as follows:

    1 2 3 4         : shortName     : Long Name

            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.

            Note that if the base name contains spaces, dashes or periods,
            those will be converted to underscore.

Then there are some extra commands:

    !Alias foo 1 2 3 4

            This just makes a name foo for an OID.  The C macro
            OBJ_foo will be created as a result.

    !Cname foo

            This makes sure that the name foo will be used as base name
            in C.

    !module foo
    1 2 3 4         : shortName     : Long Name
    !global

            The !module command was meant to define a kind of modularity.
            What it does is to make sure the module name is prepended
            to the base name.  !global turns this off.  This construction
            is not recursive.

Lines starting with # are treated as comments, as well as any line starting with ! and not matching the commands above.