From d1dac7891cd3234c935ce7e4d742b6f87663a5e1 Mon Sep 17 00:00:00 2001 From: Christian Mauderer Date: Tue, 26 Mar 2019 11:08:47 +0100 Subject: bin/openssl: Port to RTEMS. --- buildset/default.ini | 1 + buildset/minimal.ini | 1 + freebsd/crypto/openssl/apps/app_rand.c | 7 + freebsd/crypto/openssl/apps/apps.c | 15 + freebsd/crypto/openssl/apps/asn1pars.c | 7 + freebsd/crypto/openssl/apps/bf_prefix.c | 7 + freebsd/crypto/openssl/apps/ca.c | 7 + freebsd/crypto/openssl/apps/ciphers.c | 7 + freebsd/crypto/openssl/apps/cms.c | 7 + freebsd/crypto/openssl/apps/crl.c | 7 + freebsd/crypto/openssl/apps/crl2p7.c | 7 + freebsd/crypto/openssl/apps/dgst.c | 7 + freebsd/crypto/openssl/apps/dhparam.c | 7 + freebsd/crypto/openssl/apps/dsa.c | 7 + freebsd/crypto/openssl/apps/dsaparam.c | 7 + freebsd/crypto/openssl/apps/ec.c | 7 + freebsd/crypto/openssl/apps/ecparam.c | 7 + freebsd/crypto/openssl/apps/enc.c | 12 + freebsd/crypto/openssl/apps/engine.c | 7 + freebsd/crypto/openssl/apps/errstr.c | 7 + freebsd/crypto/openssl/apps/gendsa.c | 7 + freebsd/crypto/openssl/apps/genpkey.c | 7 + freebsd/crypto/openssl/apps/genrsa.c | 7 + freebsd/crypto/openssl/apps/nseq.c | 7 + freebsd/crypto/openssl/apps/ocsp.c | 7 + freebsd/crypto/openssl/apps/openssl.c | 40 ++ freebsd/crypto/openssl/apps/opt.c | 7 + freebsd/crypto/openssl/apps/passwd.c | 12 + freebsd/crypto/openssl/apps/pkcs12.c | 7 + freebsd/crypto/openssl/apps/pkcs7.c | 7 + freebsd/crypto/openssl/apps/pkcs8.c | 7 + freebsd/crypto/openssl/apps/pkey.c | 7 + freebsd/crypto/openssl/apps/pkeyparam.c | 7 + freebsd/crypto/openssl/apps/pkeyutl.c | 7 + freebsd/crypto/openssl/apps/prime.c | 7 + freebsd/crypto/openssl/apps/progs.h | 2 + freebsd/crypto/openssl/apps/rand.c | 7 + freebsd/crypto/openssl/apps/rehash.c | 13 + freebsd/crypto/openssl/apps/req.c | 7 + freebsd/crypto/openssl/apps/rsa.c | 7 + freebsd/crypto/openssl/apps/rsautl.c | 7 + .../openssl/apps/rtems-bsd-openssl-app_rand-data.h | 5 + .../openssl/apps/rtems-bsd-openssl-apps-data.h | 10 + .../openssl/apps/rtems-bsd-openssl-asn1pars-data.h | 4 + .../apps/rtems-bsd-openssl-bf_prefix-data.h | 5 + .../openssl/apps/rtems-bsd-openssl-ca-data.h | 8 + .../openssl/apps/rtems-bsd-openssl-ciphers-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-cms-data.h | 5 + .../openssl/apps/rtems-bsd-openssl-crl-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-crl2p7-data.h | 4 + .../crypto/openssl/apps/rtems-bsd-openssl-data.h | 62 +++ .../openssl/apps/rtems-bsd-openssl-dgst-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-dhparam-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-dsa-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-dsaparam-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-ec-data.h | 6 + .../openssl/apps/rtems-bsd-openssl-ecparam-data.h | 6 + .../openssl/apps/rtems-bsd-openssl-enc-data.h | 5 + .../openssl/apps/rtems-bsd-openssl-engine-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-errstr-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-gendsa-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-genpkey-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-genrsa-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-namespace.h | 248 +++++++++++ .../openssl/apps/rtems-bsd-openssl-nseq-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-ocsp-data.h | 8 + .../openssl/apps/rtems-bsd-openssl-openssl-data.h | 7 + .../openssl/apps/rtems-bsd-openssl-opt-data.h | 14 + .../openssl/apps/rtems-bsd-openssl-passwd-data.h | 5 + .../openssl/apps/rtems-bsd-openssl-pkcs12-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-pkcs7-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-pkcs8-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-pkey-data.h | 4 + .../apps/rtems-bsd-openssl-pkeyparam-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-pkeyutl-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-prime-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-rand-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-rehash-data.h | 13 + .../openssl/apps/rtems-bsd-openssl-req-data.h | 7 + .../openssl/apps/rtems-bsd-openssl-rsa-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-rsautl-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-s_cb-data.h | 15 + .../openssl/apps/rtems-bsd-openssl-s_client-data.h | 21 + .../openssl/apps/rtems-bsd-openssl-s_server-data.h | 35 ++ .../openssl/apps/rtems-bsd-openssl-s_socket-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-s_time-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-sess_id-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-smime-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-speed-data.h | 58 +++ .../openssl/apps/rtems-bsd-openssl-spkac-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-srp-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-ts-data.h | 5 + .../openssl/apps/rtems-bsd-openssl-verify-data.h | 6 + .../openssl/apps/rtems-bsd-openssl-version-data.h | 4 + .../openssl/apps/rtems-bsd-openssl-x509-data.h | 4 + freebsd/crypto/openssl/apps/s_cb.c | 12 + freebsd/crypto/openssl/apps/s_client.c | 28 ++ freebsd/crypto/openssl/apps/s_server.c | 13 + freebsd/crypto/openssl/apps/s_socket.c | 7 + freebsd/crypto/openssl/apps/s_time.c | 7 + freebsd/crypto/openssl/apps/sess_id.c | 7 + freebsd/crypto/openssl/apps/smime.c | 7 + freebsd/crypto/openssl/apps/speed.c | 22 + freebsd/crypto/openssl/apps/spkac.c | 7 + freebsd/crypto/openssl/apps/srp.c | 7 + freebsd/crypto/openssl/apps/storeutl.c | 475 --------------------- freebsd/crypto/openssl/apps/ts.c | 7 + freebsd/crypto/openssl/apps/verify.c | 7 + freebsd/crypto/openssl/apps/version.c | 7 + freebsd/crypto/openssl/apps/x509.c | 7 + libbsd.py | 92 ++++ rtemsbsd/include/machine/rtems-bsd-commands.h | 2 + rtemsbsd/include/rtems/netcmds-config.h | 1 + rtemsbsd/rtems/rtems-bsd-shell-openssl.c | 40 ++ testsuite/openssl02/test_main.c | 135 ++++++ 115 files changed, 1424 insertions(+), 475 deletions(-) create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-app_rand-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-apps-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-asn1pars-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-bf_prefix-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-ca-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-ciphers-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-cms-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-crl-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-crl2p7-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-dgst-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-dhparam-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-dsa-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-dsaparam-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-ec-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-ecparam-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-enc-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-engine-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-errstr-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-gendsa-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-genpkey-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-genrsa-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-namespace.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-nseq-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-ocsp-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-openssl-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-opt-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-passwd-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkcs12-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkcs7-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkcs8-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkey-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkeyparam-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkeyutl-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-prime-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-rand-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-rehash-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-req-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-rsa-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-rsautl-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_cb-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_client-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_server-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_socket-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_time-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-sess_id-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-smime-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-speed-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-spkac-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-srp-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-ts-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-verify-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-version-data.h create mode 100644 freebsd/crypto/openssl/apps/rtems-bsd-openssl-x509-data.h delete mode 100644 freebsd/crypto/openssl/apps/storeutl.c create mode 100644 rtemsbsd/rtems/rtems-bsd-shell-openssl.c create mode 100644 testsuite/openssl02/test_main.c diff --git a/buildset/default.ini b/buildset/default.ini index caafb57c..f25fe9a3 100644 --- a/buildset/default.ini +++ b/buildset/default.ini @@ -57,5 +57,6 @@ tests = on tty = on user_space = on user_space_wlanstats = off +usr_bin_openssl = on usr_sbin_tcpdump = on usr_sbin_wpa_supplicant = off diff --git a/buildset/minimal.ini b/buildset/minimal.ini index c5ad8214..03dd96bb 100644 --- a/buildset/minimal.ini +++ b/buildset/minimal.ini @@ -20,3 +20,4 @@ extends = default.ini [modules] crypto_openssl = off netinet6 = off +usr_bin_openssl = off diff --git a/freebsd/crypto/openssl/apps/app_rand.c b/freebsd/crypto/openssl/apps/app_rand.c index 072dfa40..cf2fbb4f 100644 --- a/freebsd/crypto/openssl/apps/app_rand.c +++ b/freebsd/crypto/openssl/apps/app_rand.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -93,3 +97,6 @@ int opt_rand(int opt) } return 1; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-app_rand-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/apps.c b/freebsd/crypto/openssl/apps/apps.c index 9a7dce83..834d39f8 100644 --- a/freebsd/crypto/openssl/apps/apps.c +++ b/freebsd/crypto/openssl/apps/apps.c @@ -1,4 +1,11 @@ #include +#ifdef __rtems__ +/* The only file opened here is put into a BIO-structure which is handled by + * BIO_free. */ +#define RTEMS_BSD_PROGRAM_NO_OPEN_WRAP +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -371,10 +378,15 @@ int app_passwd(const char *arg1, const char *arg2, char **pass1, char **pass2) return 1; } +#ifdef __rtems__ +static BIO *pwdbio = NULL; +#endif /* __rtems__ */ static char *app_get_pass(const char *arg, int keepbio) { char *tmp, tpass[APP_PASS_LEN]; +#ifndef __rtems__ static BIO *pwdbio = NULL; +#endif /* __rtems__ */ int i; if (strncmp(arg, "pass:", 5) == 0) @@ -2752,3 +2764,6 @@ void make_uppercase(char *string) for (i = 0; string[i] != '\0'; i++) string[i] = toupper((unsigned char)string[i]); } +#ifdef __rtems__ +#include "rtems-bsd-openssl-apps-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/asn1pars.c b/freebsd/crypto/openssl/apps/asn1pars.c index 7861fe4d..a2af9e3c 100644 --- a/freebsd/crypto/openssl/apps/asn1pars.c +++ b/freebsd/crypto/openssl/apps/asn1pars.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -357,3 +361,6 @@ static int do_generate(char *genstr, const char *genconf, BUF_MEM *buf) ASN1_TYPE_free(atyp); return -1; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-asn1pars-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/bf_prefix.c b/freebsd/crypto/openssl/apps/bf_prefix.c index eb7dd052..c3c812e7 100644 --- a/freebsd/crypto/openssl/apps/bf_prefix.c +++ b/freebsd/crypto/openssl/apps/bf_prefix.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved. @@ -177,3 +181,6 @@ static int prefix_puts(BIO *b, const char *str) { return BIO_write(b, str, strlen(str)); } +#ifdef __rtems__ +#include "rtems-bsd-openssl-bf_prefix-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/ca.c b/freebsd/crypto/openssl/apps/ca.c index c36e2fd5..e6902a1f 100644 --- a/freebsd/crypto/openssl/apps/ca.c +++ b/freebsd/crypto/openssl/apps/ca.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -2606,3 +2610,6 @@ int unpack_revinfo(ASN1_TIME **prevtm, int *preason, ASN1_OBJECT **phold, return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-ca-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/ciphers.c b/freebsd/crypto/openssl/apps/ciphers.c index caaa088b..61f0e36e 100644 --- a/freebsd/crypto/openssl/apps/ciphers.c +++ b/freebsd/crypto/openssl/apps/ciphers.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -266,3 +270,6 @@ int ciphers_main(int argc, char **argv) SSL_free(ssl); return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-ciphers-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/cms.c b/freebsd/crypto/openssl/apps/cms.c index de8818b6..29596fa7 100644 --- a/freebsd/crypto/openssl/apps/cms.c +++ b/freebsd/crypto/openssl/apps/cms.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2008-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -1289,3 +1293,6 @@ static int cms_set_pkey_param(EVP_PKEY_CTX *pctx, } #endif +#ifdef __rtems__ +#include "rtems-bsd-openssl-cms-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/crl.c b/freebsd/crypto/openssl/apps/crl.c index 54a879d9..2439379f 100644 --- a/freebsd/crypto/openssl/apps/crl.c +++ b/freebsd/crypto/openssl/apps/crl.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -342,3 +346,6 @@ int crl_main(int argc, char **argv) X509_STORE_free(store); return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-crl-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/crl2p7.c b/freebsd/crypto/openssl/apps/crl2p7.c index 8108e23a..e26ea4bc 100644 --- a/freebsd/crypto/openssl/apps/crl2p7.c +++ b/freebsd/crypto/openssl/apps/crl2p7.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -217,3 +221,6 @@ static int add_certs_from_file(STACK_OF(X509) *stack, char *certfile) sk_X509_INFO_free(sk); return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-crl2p7-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/dgst.c b/freebsd/crypto/openssl/apps/dgst.c index fb4e6643..8cb894df 100644 --- a/freebsd/crypto/openssl/apps/dgst.c +++ b/freebsd/crypto/openssl/apps/dgst.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -492,3 +496,6 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout, } return 0; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-dgst-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/dhparam.c b/freebsd/crypto/openssl/apps/dhparam.c index 505ee4bf..420d0a9f 100644 --- a/freebsd/crypto/openssl/apps/dhparam.c +++ b/freebsd/crypto/openssl/apps/dhparam.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -379,3 +383,6 @@ static int dh_cb(int p, int n, BN_GENCB *cb) return 1; } #endif +#ifdef __rtems__ +#include "rtems-bsd-openssl-dhparam-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/dsa.c b/freebsd/crypto/openssl/apps/dsa.c index bec86054..70bffcf6 100644 --- a/freebsd/crypto/openssl/apps/dsa.c +++ b/freebsd/crypto/openssl/apps/dsa.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -265,3 +269,6 @@ int dsa_main(int argc, char **argv) return ret; } #endif +#ifdef __rtems__ +#include "rtems-bsd-openssl-dsa-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/dsaparam.c b/freebsd/crypto/openssl/apps/dsaparam.c index 78a5c64c..aa575dbe 100644 --- a/freebsd/crypto/openssl/apps/dsaparam.c +++ b/freebsd/crypto/openssl/apps/dsaparam.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -258,3 +262,6 @@ static int dsa_cb(int p, int n, BN_GENCB *cb) return 1; } #endif +#ifdef __rtems__ +#include "rtems-bsd-openssl-dsaparam-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/ec.c b/freebsd/crypto/openssl/apps/ec.c index bbeccd97..4239f4e1 100644 --- a/freebsd/crypto/openssl/apps/ec.c +++ b/freebsd/crypto/openssl/apps/ec.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -283,3 +287,6 @@ int ec_main(int argc, char **argv) return ret; } #endif +#ifdef __rtems__ +#include "rtems-bsd-openssl-ec-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/ecparam.c b/freebsd/crypto/openssl/apps/ecparam.c index 423b5f33..8841c715 100644 --- a/freebsd/crypto/openssl/apps/ecparam.c +++ b/freebsd/crypto/openssl/apps/ecparam.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -450,3 +454,6 @@ int ecparam_main(int argc, char **argv) } #endif +#ifdef __rtems__ +#include "rtems-bsd-openssl-ecparam-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/enc.c b/freebsd/crypto/openssl/apps/enc.c index dd09cbac..285d6d50 100644 --- a/freebsd/crypto/openssl/apps/enc.c +++ b/freebsd/crypto/openssl/apps/enc.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -90,9 +94,14 @@ const OPTIONS enc_options[] = { {NULL} }; +#ifdef __rtems__ +static char buf[128]; +#endif /* __rtems__ */ int enc_main(int argc, char **argv) { +#ifndef __rtems__ static char buf[128]; +#endif /* __rtems__ */ static const char magic[] = "Salted__"; ENGINE *e = NULL; BIO *in = NULL, *out = NULL, *b64 = NULL, *benc = NULL, *rbio = @@ -675,3 +684,6 @@ static int set_hex(const char *in, unsigned char *out, int size) } return 1; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-enc-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/engine.c b/freebsd/crypto/openssl/apps/engine.c index bb77255b..32e386d0 100644 --- a/freebsd/crypto/openssl/apps/engine.c +++ b/freebsd/crypto/openssl/apps/engine.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -489,3 +493,6 @@ int engine_main(int argc, char **argv) return ret; } #endif +#ifdef __rtems__ +#include "rtems-bsd-openssl-engine-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/errstr.c b/freebsd/crypto/openssl/apps/errstr.c index ae430510..c7a1ce12 100644 --- a/freebsd/crypto/openssl/apps/errstr.c +++ b/freebsd/crypto/openssl/apps/errstr.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -67,3 +71,6 @@ int errstr_main(int argc, char **argv) end: return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-errstr-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/gendsa.c b/freebsd/crypto/openssl/apps/gendsa.c index ef845c75..d28eea35 100644 --- a/freebsd/crypto/openssl/apps/gendsa.c +++ b/freebsd/crypto/openssl/apps/gendsa.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -146,3 +150,6 @@ int gendsa_main(int argc, char **argv) return ret; } #endif +#ifdef __rtems__ +#include "rtems-bsd-openssl-gendsa-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/genpkey.c b/freebsd/crypto/openssl/apps/genpkey.c index d420c885..0d3b30f2 100644 --- a/freebsd/crypto/openssl/apps/genpkey.c +++ b/freebsd/crypto/openssl/apps/genpkey.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -322,3 +326,6 @@ static int genpkey_cb(EVP_PKEY_CTX *ctx) (void)BIO_flush(b); return 1; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-genpkey-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/genrsa.c b/freebsd/crypto/openssl/apps/genrsa.c index 3becea60..88a1e611 100644 --- a/freebsd/crypto/openssl/apps/genrsa.c +++ b/freebsd/crypto/openssl/apps/genrsa.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -201,3 +205,6 @@ static int genrsa_cb(int p, int n, BN_GENCB *cb) return 1; } #endif +#ifdef __rtems__ +#include "rtems-bsd-openssl-genrsa-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/nseq.c b/freebsd/crypto/openssl/apps/nseq.c index 57047f35..43825e29 100644 --- a/freebsd/crypto/openssl/apps/nseq.c +++ b/freebsd/crypto/openssl/apps/nseq.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -114,3 +118,6 @@ int nseq_main(int argc, char **argv) return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-nseq-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/ocsp.c b/freebsd/crypto/openssl/apps/ocsp.c index 6494fa27..9823d5fb 100644 --- a/freebsd/crypto/openssl/apps/ocsp.c +++ b/freebsd/crypto/openssl/apps/ocsp.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2001-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -1593,3 +1597,6 @@ OCSP_RESPONSE *process_responder(OCSP_REQUEST *req, # endif #endif +#ifdef __rtems__ +#include "rtems-bsd-openssl-ocsp-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/openssl.c b/freebsd/crypto/openssl/apps/openssl.c index 0b41ea55..68a8882d 100644 --- a/freebsd/crypto/openssl/apps/openssl.c +++ b/freebsd/crypto/openssl/apps/openssl.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -9,6 +13,10 @@ * https://www.openssl.org/source/license.html */ +#ifdef __rtems__ +#include +#include +#endif /* __rtems__ */ #include #include #include @@ -32,6 +40,9 @@ #include "apps.h" #define INCLUDE_FUNCTION_TABLE #include "progs.h" +#ifdef __rtems__ +#include "rtems-bsd-openssl-openssl-data.h" +#endif /* __rtems__ */ /* Structure to hold the number of columns to be displayed and the * field width used to display them. @@ -119,6 +130,29 @@ static char *make_config_name(void) return p; } +#ifdef __rtems__ +static int main(int argc, char *argv[]); + +RTEMS_LINKER_RWSET(bsd_prog_openssl, char); + +int +rtems_bsd_command_openssl(int argc, char *argv[]) +{ + int exit_code; + void *data_begin; + size_t data_size; + + data_begin = RTEMS_LINKER_SET_BEGIN(bsd_prog_openssl); + data_size = RTEMS_LINKER_SET_SIZE(bsd_prog_openssl); + + rtems_bsd_program_lock(); + exit_code = rtems_bsd_program_call_main_with_data_restore("openssl", + main, argc, argv, data_begin, data_size); + rtems_bsd_program_unlock(); + + return exit_code; +} +#endif /* __rtems__ */ int main(int argc, char *argv[]) { FUNCTION f, *fp; @@ -802,10 +836,16 @@ static void list_disabled(void) #endif } +#ifdef __rtems__ +static LHASH_OF(FUNCTION) *ret = NULL; +static int prog_inited = 0; +#endif /* __rtems__ */ static LHASH_OF(FUNCTION) *prog_init(void) { +#ifndef __rtems__ static LHASH_OF(FUNCTION) *ret = NULL; static int prog_inited = 0; +#endif /* __rtems__ */ FUNCTION *f; size_t i; diff --git a/freebsd/crypto/openssl/apps/opt.c b/freebsd/crypto/openssl/apps/opt.c index e56b53f9..757b6494 100644 --- a/freebsd/crypto/openssl/apps/opt.c +++ b/freebsd/crypto/openssl/apps/opt.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -898,3 +902,6 @@ void opt_help(const OPTIONS *list) BIO_printf(bio_err, "%s %s\n", start, help); } } +#ifdef __rtems__ +#include "rtems-bsd-openssl-opt-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/passwd.c b/freebsd/crypto/openssl/apps/passwd.c index 81d99190..d2bc7cfd 100644 --- a/freebsd/crypto/openssl/apps/passwd.c +++ b/freebsd/crypto/openssl/apps/passwd.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -82,6 +86,9 @@ const OPTIONS passwd_options[] = { {NULL} }; +#ifdef __rtems__ +static char *passwds_static[2] = { NULL, NULL }; +#endif /* __rtems__ */ int passwd_main(int argc, char **argv) { BIO *in = NULL; @@ -235,7 +242,9 @@ int passwd_main(int argc, char **argv) if (1) { #ifndef OPENSSL_NO_UI_CONSOLE /* build a null-terminated list */ +#ifndef __rtems__ static char *passwds_static[2] = { NULL, NULL }; +#endif /* __rtems__ */ passwds = passwds_static; if (in == NULL) { @@ -853,3 +862,6 @@ static int do_passwd(int passed_salt, char **salt_p, char **salt_malloc_p, end: return 0; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-passwd-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/pkcs12.c b/freebsd/crypto/openssl/apps/pkcs12.c index 66a4bac7..9235c970 100644 --- a/freebsd/crypto/openssl/apps/pkcs12.c +++ b/freebsd/crypto/openssl/apps/pkcs12.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -961,3 +965,6 @@ static int set_pbe(int *ppbe, const char *str) } #endif +#ifdef __rtems__ +#include "rtems-bsd-openssl-pkcs12-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/pkcs7.c b/freebsd/crypto/openssl/apps/pkcs7.c index 6e5c4739..c7bad932 100644 --- a/freebsd/crypto/openssl/apps/pkcs7.c +++ b/freebsd/crypto/openssl/apps/pkcs7.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -198,3 +202,6 @@ int pkcs7_main(int argc, char **argv) BIO_free_all(out); return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-pkcs7-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/pkcs8.c b/freebsd/crypto/openssl/apps/pkcs8.c index 97924228..07e991a4 100644 --- a/freebsd/crypto/openssl/apps/pkcs8.c +++ b/freebsd/crypto/openssl/apps/pkcs8.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -359,3 +363,6 @@ int pkcs8_main(int argc, char **argv) return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-pkcs8-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/pkey.c b/freebsd/crypto/openssl/apps/pkey.c index d220fde5..ec341419 100644 --- a/freebsd/crypto/openssl/apps/pkey.c +++ b/freebsd/crypto/openssl/apps/pkey.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -243,3 +247,6 @@ int pkey_main(int argc, char **argv) return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-pkey-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/pkeyparam.c b/freebsd/crypto/openssl/apps/pkeyparam.c index b58b445c..763ddc41 100644 --- a/freebsd/crypto/openssl/apps/pkeyparam.c +++ b/freebsd/crypto/openssl/apps/pkeyparam.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -142,3 +146,6 @@ int pkeyparam_main(int argc, char **argv) return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-pkeyparam-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/pkeyutl.c b/freebsd/crypto/openssl/apps/pkeyutl.c index ff88c782..657a5bee 100644 --- a/freebsd/crypto/openssl/apps/pkeyutl.c +++ b/freebsd/crypto/openssl/apps/pkeyutl.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -525,3 +529,6 @@ static int do_keyop(EVP_PKEY_CTX *ctx, int pkey_op, } return rv; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-pkeyutl-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/prime.c b/freebsd/crypto/openssl/apps/prime.c index c13bc3e2..c7707ecb 100644 --- a/freebsd/crypto/openssl/apps/prime.c +++ b/freebsd/crypto/openssl/apps/prime.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -133,3 +137,6 @@ opthelp: BN_free(bn); return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-prime-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/progs.h b/freebsd/crypto/openssl/apps/progs.h index 0733d273..eabac0ba 100644 --- a/freebsd/crypto/openssl/apps/progs.h +++ b/freebsd/crypto/openssl/apps/progs.h @@ -202,7 +202,9 @@ static FUNCTION functions[] = { #ifndef OPENSSL_NO_SRP {FT_general, "srp", srp_main, srp_options}, #endif +#ifndef __rtems__ {FT_general, "storeutl", storeutl_main, storeutl_options}, +#endif /* __rtems__ */ #ifndef OPENSSL_NO_TS {FT_general, "ts", ts_main, ts_options}, #endif diff --git a/freebsd/crypto/openssl/apps/rand.c b/freebsd/crypto/openssl/apps/rand.c index af38f69d..e6b7ed26 100644 --- a/freebsd/crypto/openssl/apps/rand.c +++ b/freebsd/crypto/openssl/apps/rand.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1998-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -133,3 +137,6 @@ int rand_main(int argc, char **argv) BIO_free_all(out); return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-rand-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/rehash.c b/freebsd/crypto/openssl/apps/rehash.c index b90cd08f..18fd5b14 100644 --- a/freebsd/crypto/openssl/apps/rehash.c +++ b/freebsd/crypto/openssl/apps/rehash.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -100,6 +104,10 @@ static int bit_isset(unsigned char *set, unsigned int bit) } +#ifdef __rtems__ +static BUCKET nilbucket; +static HENTRY nilhentry; +#endif /* __rtems__ */ /* * Process an entry; return number of errors. */ @@ -107,8 +115,10 @@ static int add_entry(enum Type type, unsigned int hash, const char *filename, const unsigned char *digest, int need_symlink, unsigned short old_id) { +#ifndef __rtems__ static BUCKET nilbucket; static HENTRY nilhentry; +#endif /* __rtems__ */ BUCKET *bp; HENTRY *ep, *found = NULL; unsigned int ndx = (type + hash) % OSSL_NELEM(hash_table); @@ -512,3 +522,6 @@ int rehash_main(int argc, char **argv) } #endif /* defined(OPENSSL_SYS_UNIX) || defined(__APPLE__) */ +#ifdef __rtems__ +#include "rtems-bsd-openssl-rehash-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/req.c b/freebsd/crypto/openssl/apps/req.c index 0308a607..37fdde9a 100644 --- a/freebsd/crypto/openssl/apps/req.c +++ b/freebsd/crypto/openssl/apps/req.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -1664,3 +1668,6 @@ int do_X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md, EVP_MD_CTX_free(mctx); return rv > 0 ? 1 : 0; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-req-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/rsa.c b/freebsd/crypto/openssl/apps/rsa.c index eb4774bb..bce77478 100644 --- a/freebsd/crypto/openssl/apps/rsa.c +++ b/freebsd/crypto/openssl/apps/rsa.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -316,3 +320,6 @@ int rsa_main(int argc, char **argv) return ret; } #endif +#ifdef __rtems__ +#include "rtems-bsd-openssl-rsa-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/rsautl.c b/freebsd/crypto/openssl/apps/rsautl.c index f5275636..977a414d 100644 --- a/freebsd/crypto/openssl/apps/rsautl.c +++ b/freebsd/crypto/openssl/apps/rsautl.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -282,3 +286,6 @@ int rsautl_main(int argc, char **argv) return ret; } #endif +#ifdef __rtems__ +#include "rtems-bsd-openssl-rsautl-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-app_rand-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-app_rand-data.h new file mode 100644 index 00000000..9f50a237 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-app_rand-data.h @@ -0,0 +1,5 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* app_rand.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char *save_rand_file); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-apps-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-apps-data.h new file mode 100644 index 00000000..7138e3dc --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-apps-data.h @@ -0,0 +1,10 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* apps.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static BIO *pwdbio); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static BIO_METHOD *prefix_method); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static UI_METHOD *ui_method); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static UI_METHOD const *ui_fallback_method); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char nmflag_set); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static long unsigned int nmflag); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-asn1pars-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-asn1pars-data.h new file mode 100644 index 00000000..6ecd5f93 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-asn1pars-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* asn1pars.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-bf_prefix-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-bf_prefix-data.h new file mode 100644 index 00000000..ddddcd78 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-bf_prefix-data.h @@ -0,0 +1,5 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* bf_prefix.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static BIO_METHOD *prefix_meth); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ca-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ca-data.h new file mode 100644 index 00000000..fd72b2a8 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ca-data.h @@ -0,0 +1,8 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* ca.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static CONF *extconf); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char const *crl_reasons[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int msie_hack); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int preserve); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ciphers-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ciphers-data.h new file mode 100644 index 00000000..0d67172c --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ciphers-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* ciphers.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-cms-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-cms-data.h new file mode 100644 index 00000000..94c82ae6 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-cms-data.h @@ -0,0 +1,5 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* cms.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int verify_err); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-crl-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-crl-data.h new file mode 100644 index 00000000..b08799c7 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-crl-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* crl.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-crl2p7-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-crl2p7-data.h new file mode 100644 index 00000000..764a933e --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-crl2p7-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* crl2p7.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-data.h new file mode 100644 index 00000000..83ba8758 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-data.h @@ -0,0 +1,62 @@ +/* generated by userspace-header-gen.py */ +#include +/* app_rand.c */ +/* apps.c */ +/* asn1pars.c */ +/* bf_prefix.c */ +/* ca.c */ +/* ciphers.c */ +/* cms.c */ +/* crl2p7.c */ +/* crl.c */ +/* dgst.c */ +/* dhparam.c */ +/* dsa.c */ +/* dsaparam.c */ +/* ec.c */ +/* ecparam.c */ +/* enc.c */ +/* engine.c */ +/* errstr.c */ +/* gendsa.c */ +/* genpkey.c */ +/* genrsa.c */ +/* nseq.c */ +/* ocsp.c */ +/* openssl.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, extern BIO *bio_err); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, extern BIO *bio_in); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, extern BIO *bio_out); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, extern char *default_config_file); +/* opt.c */ +/* passwd.c */ +/* pkcs12.c */ +/* pkcs7.c */ +/* pkcs8.c */ +/* pkey.c */ +/* pkeyparam.c */ +/* pkeyutl.c */ +/* prime.c */ +/* rand.c */ +/* rehash.c */ +/* req.c */ +/* rsa.c */ +/* rsautl.c */ +/* s_cb.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, extern VERIFY_CB_ARGS verify_args); +/* s_client.c */ +/* sess_id.c */ +/* smime.c */ +/* speed.c */ +/* spkac.c */ +/* srp.c */ +/* s_server.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, extern char *psk_key); +/* s_socket.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, extern BIO_ADDR *ourpeer); +/* s_time.c */ +/* storeutl.c */ +/* ts.c */ +/* verify.c */ +/* version.c */ +/* x509.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-dgst-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-dgst-data.h new file mode 100644 index 00000000..b89c4456 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-dgst-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* dgst.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-dhparam-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-dhparam-data.h new file mode 100644 index 00000000..12f45728 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-dhparam-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* dhparam.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-dsa-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-dsa-data.h new file mode 100644 index 00000000..055de288 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-dsa-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* dsa.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-dsaparam-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-dsaparam-data.h new file mode 100644 index 00000000..d2b2bbf0 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-dsaparam-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* dsaparam.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ec-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ec-data.h new file mode 100644 index 00000000..d7a84888 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ec-data.h @@ -0,0 +1,6 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* ec.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static OPT_PAIR conv_forms[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static OPT_PAIR param_enc[]); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ecparam-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ecparam-data.h new file mode 100644 index 00000000..183ad4c0 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ecparam-data.h @@ -0,0 +1,6 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* ecparam.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static OPT_PAIR encodings[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static OPT_PAIR forms[]); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-enc-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-enc-data.h new file mode 100644 index 00000000..050ad047 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-enc-data.h @@ -0,0 +1,5 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* enc.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char buf[]); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-engine-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-engine-data.h new file mode 100644 index 00000000..5c50774b --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-engine-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* engine.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-errstr-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-errstr-data.h new file mode 100644 index 00000000..b14665ad --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-errstr-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* errstr.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-gendsa-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-gendsa-data.h new file mode 100644 index 00000000..c094e292 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-gendsa-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* gendsa.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-genpkey-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-genpkey-data.h new file mode 100644 index 00000000..c6f84bd2 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-genpkey-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* genpkey.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-genrsa-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-genrsa-data.h new file mode 100644 index 00000000..d4c87d2c --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-genrsa-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* genrsa.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-namespace.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-namespace.h new file mode 100644 index 00000000..985bbae5 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-namespace.h @@ -0,0 +1,248 @@ +/* generated by userspace-header-gen.py */ +/* app_rand.c */ +#define app_RAND_load_conf _bsd_openssl_app_RAND_load_conf +#define app_RAND_write _bsd_openssl_app_RAND_write +#define opt_rand _bsd_openssl_opt_rand +/* apps.c */ +#define add_oid_section _bsd_openssl_add_oid_section +#define app_access _bsd_openssl_app_access +#define app_init _bsd_openssl_app_init +#define app_isdir _bsd_openssl_app_isdir +#define app_load_config _bsd_openssl_app_load_config +#define app_load_config_bio _bsd_openssl_app_load_config_bio +#define app_load_config_quiet _bsd_openssl_app_load_config_quiet +#define app_load_modules _bsd_openssl_app_load_modules +#define app_malloc _bsd_openssl_app_malloc +#define app_passwd _bsd_openssl_app_passwd +#define app_tminterval _bsd_openssl_app_tminterval +#define bio_open_default _bsd_openssl_bio_open_default +#define bio_open_default_quiet _bsd_openssl_bio_open_default_quiet +#define bio_open_owner _bsd_openssl_bio_open_owner +#define bio_to_mem _bsd_openssl_bio_to_mem +#define chopup_args _bsd_openssl_chopup_args +#define copy_extensions _bsd_openssl_copy_extensions +#define corrupt_signature _bsd_openssl_corrupt_signature +#define ctx_set_ctlog_list_file _bsd_openssl_ctx_set_ctlog_list_file +#define ctx_set_verify_locations _bsd_openssl_ctx_set_verify_locations +#define destroy_prefix_method _bsd_openssl_destroy_prefix_method +#define destroy_ui_method _bsd_openssl_destroy_ui_method +#define dump_cert_text _bsd_openssl_dump_cert_text +#define dup_bio_err _bsd_openssl_dup_bio_err +#define dup_bio_in _bsd_openssl_dup_bio_in +#define dup_bio_out _bsd_openssl_dup_bio_out +#define fileno_stdin _bsd_openssl_fileno_stdin +#define fileno_stdout _bsd_openssl_fileno_stdout +#define free_index _bsd_openssl_free_index +#define get_nameopt _bsd_openssl_get_nameopt +#define get_ui_method _bsd_openssl_get_ui_method +#define index_index _bsd_openssl_index_index +#define index_name_cmp _bsd_openssl_index_name_cmp +#define load_cert _bsd_openssl_load_cert +#define load_certs _bsd_openssl_load_certs +#define load_crl _bsd_openssl_load_crl +#define load_crls _bsd_openssl_load_crls +#define load_index _bsd_openssl_load_index +#define load_key _bsd_openssl_load_key +#define load_pubkey _bsd_openssl_load_pubkey +#define load_serial _bsd_openssl_load_serial +#define make_uppercase _bsd_openssl_make_uppercase +#define next_protos_parse _bsd_openssl_next_protos_parse +#define parse_name _bsd_openssl_parse_name +#define parse_yesno _bsd_openssl_parse_yesno +#define password_callback _bsd_openssl_password_callback +#define pkey_ctrl_string _bsd_openssl_pkey_ctrl_string +#define policies_print _bsd_openssl_policies_print +#define print_array _bsd_openssl_print_array +#define print_bignum_var _bsd_openssl_print_bignum_var +#define print_cert_checks _bsd_openssl_print_cert_checks +#define print_name _bsd_openssl_print_name +#define rand_serial _bsd_openssl_rand_serial +#define raw_read_stdin _bsd_openssl_raw_read_stdin +#define raw_write_stdout _bsd_openssl_raw_write_stdout +#define release_engine _bsd_openssl_release_engine +#define rotate_index _bsd_openssl_rotate_index +#define rotate_serial _bsd_openssl_rotate_serial +#define save_index _bsd_openssl_save_index +#define save_serial _bsd_openssl_save_serial +#define set_cert_ex _bsd_openssl_set_cert_ex +#define set_cert_times _bsd_openssl_set_cert_times +#define set_ext_copy _bsd_openssl_set_ext_copy +#define set_name_ex _bsd_openssl_set_name_ex +#define set_nameopt _bsd_openssl_set_nameopt +#define setup_engine _bsd_openssl_setup_engine +#define setup_ui_method _bsd_openssl_setup_ui_method +#define setup_verify _bsd_openssl_setup_verify +#define store_setup_crl_download _bsd_openssl_store_setup_crl_download +#define unbuffer _bsd_openssl_unbuffer +#define wait_for_async _bsd_openssl_wait_for_async +/* asn1pars.c */ +#define asn1parse_main _bsd_openssl_asn1parse_main +/* bf_prefix.c */ +#define apps_bf_prefix _bsd_openssl_apps_bf_prefix +/* ca.c */ +#define ca_main _bsd_openssl_ca_main +#define unpack_revinfo _bsd_openssl_unpack_revinfo +/* ciphers.c */ +#define ciphers_main _bsd_openssl_ciphers_main +/* cms.c */ +#define cms_main _bsd_openssl_cms_main +/* crl2p7.c */ +#define crl2pkcs7_main _bsd_openssl_crl2pkcs7_main +/* crl.c */ +#define crl_main _bsd_openssl_crl_main +/* dgst.c */ +#define dgst_main _bsd_openssl_dgst_main +#define do_fp _bsd_openssl_do_fp +/* dhparam.c */ +#define dhparam_main _bsd_openssl_dhparam_main +/* dsa.c */ +#define dsa_main _bsd_openssl_dsa_main +/* dsaparam.c */ +#define dsaparam_main _bsd_openssl_dsaparam_main +/* ec.c */ +#define ec_main _bsd_openssl_ec_main +/* ecparam.c */ +#define ecparam_main _bsd_openssl_ecparam_main +/* enc.c */ +#define enc_main _bsd_openssl_enc_main +/* engine.c */ +#define engine_main _bsd_openssl_engine_main +/* errstr.c */ +#define errstr_main _bsd_openssl_errstr_main +/* gendsa.c */ +#define gendsa_main _bsd_openssl_gendsa_main +/* genpkey.c */ +#define genpkey_main _bsd_openssl_genpkey_main +#define init_gen_str _bsd_openssl_init_gen_str +/* genrsa.c */ +#define genrsa_main _bsd_openssl_genrsa_main +/* nseq.c */ +#define nseq_main _bsd_openssl_nseq_main +/* ocsp.c */ +#define ocsp_main _bsd_openssl_ocsp_main +#define process_responder _bsd_openssl_process_responder +/* openssl.c */ +#define bio_err _bsd_openssl_bio_err +#define bio_in _bsd_openssl_bio_in +#define bio_out _bsd_openssl_bio_out +#define default_config_file _bsd_openssl_default_config_file +#define help_main _bsd_openssl_help_main +#define list_main _bsd_openssl_list_main +/* opt.c */ +#define opt_arg _bsd_openssl_opt_arg +#define opt_cipher _bsd_openssl_opt_cipher +#define opt_flag _bsd_openssl_opt_flag +#define opt_format _bsd_openssl_opt_format +#define opt_format_error _bsd_openssl_opt_format_error +#define opt_getprog _bsd_openssl_opt_getprog +#define opt_help _bsd_openssl_opt_help +#define opt_imax _bsd_openssl_opt_imax +#define opt_init _bsd_openssl_opt_init +#define opt_int _bsd_openssl_opt_int +#define opt_long _bsd_openssl_opt_long +#define opt_md _bsd_openssl_opt_md +#define opt_next _bsd_openssl_opt_next +#define opt_num_rest _bsd_openssl_opt_num_rest +#define opt_pair _bsd_openssl_opt_pair +#define opt_progname _bsd_openssl_opt_progname +#define opt_rest _bsd_openssl_opt_rest +#define opt_ulong _bsd_openssl_opt_ulong +#define opt_umax _bsd_openssl_opt_umax +#define opt_unknown _bsd_openssl_opt_unknown +#define opt_verify _bsd_openssl_opt_verify +/* passwd.c */ +#define passwd_main _bsd_openssl_passwd_main +/* pkcs12.c */ +#define cert_load _bsd_openssl_cert_load +#define dump_certs_keys_p12 _bsd_openssl_dump_certs_keys_p12 +#define dump_certs_pkeys_bag _bsd_openssl_dump_certs_pkeys_bag +#define dump_certs_pkeys_bags _bsd_openssl_dump_certs_pkeys_bags +#define hex_prin _bsd_openssl_hex_prin +#define pkcs12_main _bsd_openssl_pkcs12_main +#define print_attribs _bsd_openssl_print_attribs +/* pkcs7.c */ +#define pkcs7_main _bsd_openssl_pkcs7_main +/* pkcs8.c */ +#define pkcs8_main _bsd_openssl_pkcs8_main +/* pkey.c */ +#define pkey_main _bsd_openssl_pkey_main +/* pkeyparam.c */ +#define pkeyparam_main _bsd_openssl_pkeyparam_main +/* pkeyutl.c */ +#define pkeyutl_main _bsd_openssl_pkeyutl_main +/* prime.c */ +#define prime_main _bsd_openssl_prime_main +/* rand.c */ +#define rand_main _bsd_openssl_rand_main +/* rehash.c */ +#define rehash_main _bsd_openssl_rehash_main +/* req.c */ +#define do_X509_CRL_sign _bsd_openssl_do_X509_CRL_sign +#define do_X509_REQ_sign _bsd_openssl_do_X509_REQ_sign +#define do_X509_sign _bsd_openssl_do_X509_sign +#define req_main _bsd_openssl_req_main +/* rsa.c */ +#define rsa_main _bsd_openssl_rsa_main +/* rsautl.c */ +#define rsautl_main _bsd_openssl_rsautl_main +/* s_cb.c */ +#define apps_ssl_info_callback _bsd_openssl_apps_ssl_info_callback +#define args_excert _bsd_openssl_args_excert +#define bio_dump_callback _bsd_openssl_bio_dump_callback +#define config_ctx _bsd_openssl_config_ctx +#define generate_cookie_callback _bsd_openssl_generate_cookie_callback +#define generate_stateless_cookie_callback _bsd_openssl_generate_stateless_cookie_callback +#define load_excert _bsd_openssl_load_excert +#define msg_cb _bsd_openssl_msg_cb +#define print_ca_names _bsd_openssl_print_ca_names +#define print_ssl_summary _bsd_openssl_print_ssl_summary +#define print_verify_detail _bsd_openssl_print_verify_detail +#define set_cert_key_stuff _bsd_openssl_set_cert_key_stuff +#define set_cert_stuff _bsd_openssl_set_cert_stuff +#define set_keylog_file _bsd_openssl_set_keylog_file +#define ssl_ctx_add_crls _bsd_openssl_ssl_ctx_add_crls +#define ssl_ctx_security_debug _bsd_openssl_ssl_ctx_security_debug +#define ssl_ctx_set_excert _bsd_openssl_ssl_ctx_set_excert +#define ssl_excert_free _bsd_openssl_ssl_excert_free +#define ssl_load_stores _bsd_openssl_ssl_load_stores +#define ssl_print_groups _bsd_openssl_ssl_print_groups +#define ssl_print_point_formats _bsd_openssl_ssl_print_point_formats +#define ssl_print_sigalgs _bsd_openssl_ssl_print_sigalgs +#define ssl_print_tmp_key _bsd_openssl_ssl_print_tmp_key +#define tlsext_cb _bsd_openssl_tlsext_cb +#define verify_args _bsd_openssl_verify_args +#define verify_callback _bsd_openssl_verify_callback +#define verify_cookie_callback _bsd_openssl_verify_cookie_callback +#define verify_stateless_cookie_callback _bsd_openssl_verify_stateless_cookie_callback +/* s_client.c */ +#define s_client_main _bsd_openssl_s_client_main +/* sess_id.c */ +#define sess_id_main _bsd_openssl_sess_id_main +/* smime.c */ +#define smime_main _bsd_openssl_smime_main +/* speed.c */ +#define get_dsa _bsd_openssl_get_dsa +#define speed_main _bsd_openssl_speed_main +/* spkac.c */ +#define spkac_main _bsd_openssl_spkac_main +/* srp.c */ +#define srp_main _bsd_openssl_srp_main +/* s_server.c */ +#define psk_key _bsd_openssl_psk_key +#define s_server_main _bsd_openssl_s_server_main +/* s_socket.c */ +#define do_server _bsd_openssl_do_server +#define init_client _bsd_openssl_init_client +#define ourpeer _bsd_openssl_ourpeer +/* s_time.c */ +#define s_time_main _bsd_openssl_s_time_main +/* storeutl.c */ +#define storeutl_main _bsd_openssl_storeutl_main +/* ts.c */ +#define ts_main _bsd_openssl_ts_main +/* verify.c */ +#define verify_main _bsd_openssl_verify_main +/* version.c */ +#define version_main _bsd_openssl_version_main +/* x509.c */ +#define x509_main _bsd_openssl_x509_main diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-nseq-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-nseq-data.h new file mode 100644 index 00000000..3162ed45 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-nseq-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* nseq.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ocsp-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ocsp-data.h new file mode 100644 index 00000000..2c2b926e --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ocsp-data.h @@ -0,0 +1,8 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* ocsp.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char *prog); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int acfd); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int multi); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int termsig); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-openssl-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-openssl-data.h new file mode 100644 index 00000000..68e01a45 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-openssl-data.h @@ -0,0 +1,7 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* openssl.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static FUNCTION functions[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int prog_inited); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static struct lhash_st_FUNCTION *ret); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-opt-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-opt-data.h new file mode 100644 index 00000000..fcd604a2 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-opt-data.h @@ -0,0 +1,14 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* opt.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static OPTIONS const *opts); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static OPTIONS const *unknown); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static OPT_PAIR formats[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char **argv); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char *arg); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char *dunno); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char *flag); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char prog[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int argc); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int opt_index); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-passwd-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-passwd-data.h new file mode 100644 index 00000000..cb4302b6 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-passwd-data.h @@ -0,0 +1,5 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* passwd.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char *passwds_static[]); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkcs12-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkcs12-data.h new file mode 100644 index 00000000..cfc082d9 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkcs12-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* pkcs12.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkcs7-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkcs7-data.h new file mode 100644 index 00000000..5a5f2765 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkcs7-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* pkcs7.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkcs8-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkcs8-data.h new file mode 100644 index 00000000..34c2f20d --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkcs8-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* pkcs8.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkey-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkey-data.h new file mode 100644 index 00000000..828c195c --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkey-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* pkey.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkeyparam-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkeyparam-data.h new file mode 100644 index 00000000..dd63662a --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkeyparam-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* pkeyparam.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkeyutl-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkeyutl-data.h new file mode 100644 index 00000000..28895574 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-pkeyutl-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* pkeyutl.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-prime-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-prime-data.h new file mode 100644 index 00000000..665f9259 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-prime-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* prime.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-rand-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-rand-data.h new file mode 100644 index 00000000..19df25f4 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-rand-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* rand.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-rehash-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-rehash-data.h new file mode 100644 index 00000000..6dd60793 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-rehash-data.h @@ -0,0 +1,13 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* rehash.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static BUCKET *hash_table[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static BUCKET nilbucket); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static EVP_MD const *evpmd); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static HENTRY nilhentry); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char const *extensions[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char const *suffixes[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int evpmdsize); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int remove_links); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int verbose); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-req-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-req-data.h new file mode 100644 index 00000000..ad6fc0d7 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-req-data.h @@ -0,0 +1,7 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* req.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static CONF *addext_conf); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static CONF *req_conf); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int batch); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-rsa-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-rsa-data.h new file mode 100644 index 00000000..64192574 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-rsa-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* rsa.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-rsautl-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-rsautl-data.h new file mode 100644 index 00000000..54574fe1 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-rsautl-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* rsautl.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_cb-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_cb-data.h new file mode 100644 index 00000000..a3d76b54 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_cb-data.h @@ -0,0 +1,15 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* s_cb.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static BIO *bio_keylog); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static STRINT_PAIR alert_types[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static STRINT_PAIR callback_types[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static STRINT_PAIR cert_type_list[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static STRINT_PAIR chain_flags[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static STRINT_PAIR handshakes[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static STRINT_PAIR ssl_versions[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static STRINT_PAIR tlsext_types[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int cookie_initialized); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int retry_cnt); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char cookie_secret[]); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_client-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_client-data.h new file mode 100644 index 00000000..807aae08 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_client-data.h @@ -0,0 +1,21 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* s_client.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static BIO *bio_c_out); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static SSL_SESSION *psksess); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char *keymatexportlabel); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char *prog); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char *psk_identity); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char *sess_out); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int c_debug); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int c_quiet); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int c_showcerts); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int keymatexportlen); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int saved_errno); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static struct tlsa_field tlsa_fields[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static tlsextnextprotoctx next_proto); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static uint8_t mtype); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static uint8_t selector); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static uint8_t usage); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char *data); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_server-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_server-data.h new file mode 100644 index 00000000..fe55aaa6 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_server-data.h @@ -0,0 +1,35 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* s_server.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static BIO *bio_s_msg); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static BIO *bio_s_out); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static SSL_CTX *ctx); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static SSL_CTX *ctx2); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static SSL_SESSION *psksess); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char **local_argv); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char *keymatexportlabel); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char *psk_identity); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char const *session_id_prefix); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int accept_socket); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int async); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int dtlslisten); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int early_data); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int enable_timeouts); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int keymatexportlen); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int local_argc); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int s_brief); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int s_crlf); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int s_debug); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int s_ign_eof); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int s_msg); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int s_nbio); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int s_nbio_test); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int s_quiet); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int s_tlsextdebug); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int stateless); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int www); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static long int socket_mtu); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static simple_ssl_session *first); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static srpsrvparm srp_callback_parm); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static tlsextstatusctx tlscstatp); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_socket-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_socket-data.h new file mode 100644 index 00000000..a4f18aa5 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_socket-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* s_socket.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_time-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_time-data.h new file mode 100644 index 00000000..1ab19964 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-s_time-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* s_time.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-sess_id-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-sess_id-data.h new file mode 100644 index 00000000..48f1ebc3 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-sess_id-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* sess_id.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-smime-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-smime-data.h new file mode 100644 index 00000000..b6dd416b --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-smime-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* smime.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-speed-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-speed-data.h new file mode 100644 index 00000000..9d7a8042 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-speed-data.h @@ -0,0 +1,58 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* speed.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static AES_KEY aes_ks1); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static AES_KEY aes_ks2); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static AES_KEY aes_ks3); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static DES_key_schedule sch); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static DES_key_schedule sch2); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static DES_key_schedule sch3); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static EVP_MD const *evp_md); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static OPT_PAIR ecdsa_choices[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static OPT_PAIR eddsa_choices[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static RC4_KEY rc4_ks); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char const *names[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static double dsa_results[][2]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static double ecdh_results[][1]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static double ecdsa_results[][2]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static double eddsa_results[][2]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static double results[][6]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static double rsa_results[][2]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int const *lengths); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int decrypt); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int mr); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int usertime); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int volatile run); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static long int c[][6]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static long int dsa_c[][2]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static long int ecdh_c[][1]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static long int ecdsa_c[][2]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static long int eddsa_c[][2]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static long int rsa_c[][2]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static long int save_count); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char DES_iv[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa1024_g[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa1024_p[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa1024_priv[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa1024_pub[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa1024_q[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa2048_g[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa2048_p[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa2048_priv[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa2048_pub[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa2048_q[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa512_g[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa512_p[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa512_priv[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa512_pub[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char dsa512_q[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char iv[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char test1024[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char test15360[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char test2048[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char test3072[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char test4096[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char test512[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned char test7680[]); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static unsigned int testnum); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-spkac-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-spkac-data.h new file mode 100644 index 00000000..6e7afc6e --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-spkac-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* spkac.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-srp-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-srp-data.h new file mode 100644 index 00000000..27572477 --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-srp-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* srp.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ts-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ts-data.h new file mode 100644 index 00000000..23ff542a --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-ts-data.h @@ -0,0 +1,5 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* ts.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static char *opt_helplist[]); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-verify-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-verify-data.h new file mode 100644 index 00000000..9d032a1f --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-verify-data.h @@ -0,0 +1,6 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* verify.c */ +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int v_verbose); +RTEMS_LINKER_RWSET_CONTENT(bsd_prog_openssl, static int vflags); diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-version-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-version-data.h new file mode 100644 index 00000000..8289879e --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-version-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* version.c */ diff --git a/freebsd/crypto/openssl/apps/rtems-bsd-openssl-x509-data.h b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-x509-data.h new file mode 100644 index 00000000..0deee10d --- /dev/null +++ b/freebsd/crypto/openssl/apps/rtems-bsd-openssl-x509-data.h @@ -0,0 +1,4 @@ +/* generated by userspace-header-gen.py */ +#include +#include "rtems-bsd-openssl-data.h" +/* x509.c */ diff --git a/freebsd/crypto/openssl/apps/s_cb.c b/freebsd/crypto/openssl/apps/s_cb.c index ace2df34..24a99304 100644 --- a/freebsd/crypto/openssl/apps/s_cb.c +++ b/freebsd/crypto/openssl/apps/s_cb.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -834,6 +838,9 @@ static void print_chain_flags(SSL *s, int flags) BIO_printf(bio_err, "not tested\n"); } +#ifdef __rtems__ + static int retry_cnt; +#endif /* __rtems__ */ /* * Very basic selection callback: just use any certificate chain reported as * valid. More sophisticated could prioritise according to local policy. @@ -843,7 +850,9 @@ static int set_cert_cb(SSL *ssl, void *arg) int i, rv; SSL_EXCERT *exc = arg; #ifdef CERT_CB_TEST_RETRY +#ifndef __rtems__ static int retry_cnt; +#endif /* __rtems__ */ if (retry_cnt < 5) { retry_cnt++; BIO_printf(bio_err, @@ -1481,3 +1490,6 @@ void print_ca_names(BIO *bio, SSL *s) BIO_write(bio, "\n", 1); } } +#ifdef __rtems__ +#include "rtems-bsd-openssl-s_cb-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/s_client.c b/freebsd/crypto/openssl/apps/s_client.c index 2c08d94d..40512c5e 100644 --- a/freebsd/crypto/openssl/apps/s_client.c +++ b/freebsd/crypto/openssl/apps/s_client.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -503,9 +507,23 @@ struct tlsa_field { ossl_ssize_t (*parser)(const char **, void *); }; +#ifdef __rtems__ +static uint8_t usage; +static uint8_t selector; +static uint8_t mtype; +static unsigned char *data; +static struct tlsa_field tlsa_fields[] = { + { &usage, "usage", checked_uint8 }, + { &selector, "selector", checked_uint8 }, + { &mtype, "mtype", checked_uint8 }, + { &data, "data", hexdecode }, + { NULL, } +}; +#endif /* __rtems__ */ static int tlsa_import_rr(SSL *con, const char *rrdata) { /* Not necessary to re-init these values; the "parsers" do that. */ +#ifndef __rtems__ static uint8_t usage; static uint8_t selector; static uint8_t mtype; @@ -517,6 +535,7 @@ static int tlsa_import_rr(SSL *con, const char *rrdata) { &data, "data", hexdecode }, { NULL, } }; +#endif /* __rtems__ */ struct tlsa_field *f; int ret; const char *cp = rrdata; @@ -2615,6 +2634,9 @@ int s_client_main(int argc, char **argv) case PROTO_LDAP: { /* StartTLS Operation according to RFC 4511 */ +#ifdef __rtems__ + const +#endif /* __rtems__ */ static char ldap_tls_genconf[] = "asn1=SEQUENCE:LDAPMessage\n" "[LDAPMessage]\n" "messageID=INTEGER:1\n" @@ -2931,6 +2953,9 @@ int s_client_main(int argc, char **argv) } else if (ssl_pending || FD_ISSET(SSL_get_fd(con), &readfds)) { #ifdef RENEG { +#ifdef __rtems__ +#error FIXME: Make a global static variable out of this. +#endif /* __rtems__ */ static int iiii; if (++iiii == 52) { SSL_renegotiate(con); @@ -3462,3 +3487,6 @@ static int ldap_ExtendedResponse_parse(const char *buf, long rem) } #endif /* OPENSSL_NO_SOCK */ +#ifdef __rtems__ +#include "rtems-bsd-openssl-s_client-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/s_server.c b/freebsd/crypto/openssl/apps/s_server.c index acf9a7af..5461ac6a 100644 --- a/freebsd/crypto/openssl/apps/s_server.c +++ b/freebsd/crypto/openssl/apps/s_server.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -2557,6 +2561,9 @@ static int sv_body(int s, int stype, int prot, unsigned char *context) for (;;) { /* should do a select for the write */ #ifdef RENEG +#ifdef __rtems__ +#error FIXME: Make a global static variable out of this. +#endif /* __rtems__ */ static count = 0; if (++count == 100) { count = 0; @@ -3275,6 +3282,9 @@ static int www_body(int s, int stype, int prot, unsigned char *context) for (j = 0; j < i;) { #ifdef RENEG +#ifdef __rtems__ +#error FIXME: Make a global static variable out of this. +#endif /* __rtems__ */ static count = 0; if (++count == 13) { SSL_renegotiate(con); @@ -3615,3 +3625,6 @@ static void free_sessions(void) } #endif /* OPENSSL_NO_SOCK */ +#ifdef __rtems__ +#include "rtems-bsd-openssl-s_server-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/s_socket.c b/freebsd/crypto/openssl/apps/s_socket.c index 497eb290..1402f513 100644 --- a/freebsd/crypto/openssl/apps/s_socket.c +++ b/freebsd/crypto/openssl/apps/s_socket.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -395,3 +399,6 @@ int do_server(int *accept_sock, const char *host, const char *port, } #endif /* OPENSSL_NO_SOCK */ +#ifdef __rtems__ +#include "rtems-bsd-openssl-s_socket-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/s_time.c b/freebsd/crypto/openssl/apps/s_time.c index e807cb38..ac0b1998 100644 --- a/freebsd/crypto/openssl/apps/s_time.c +++ b/freebsd/crypto/openssl/apps/s_time.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -405,3 +409,6 @@ static SSL *doConnection(SSL *scon, const char *host, SSL_CTX *ctx) return serverCon; } #endif /* OPENSSL_NO_SOCK */ +#ifdef __rtems__ +#include "rtems-bsd-openssl-s_time-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/sess_id.c b/freebsd/crypto/openssl/apps/sess_id.c index 537fdab4..212e8dac 100644 --- a/freebsd/crypto/openssl/apps/sess_id.c +++ b/freebsd/crypto/openssl/apps/sess_id.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -191,3 +195,6 @@ static SSL_SESSION *load_sess_id(char *infile, int format) BIO_free(in); return x; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-sess_id-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/smime.c b/freebsd/crypto/openssl/apps/smime.c index 0b96a717..40ddedc6 100644 --- a/freebsd/crypto/openssl/apps/smime.c +++ b/freebsd/crypto/openssl/apps/smime.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -647,3 +651,6 @@ static int smime_cb(int ok, X509_STORE_CTX *ctx) return ok; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-smime-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/speed.c b/freebsd/crypto/openssl/apps/speed.c index 10cabd0e..989d8923 100644 --- a/freebsd/crypto/openssl/apps/speed.c +++ b/freebsd/crypto/openssl/apps/speed.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -33,6 +37,9 @@ #if !defined(OPENSSL_SYS_MSDOS) # include OPENSSL_UNISTD #endif +#ifdef __rtems__ +#undef SIGALRM +#endif /* __rtems__ */ #if defined(_WIN32) # include @@ -1455,12 +1462,21 @@ int speed_main(int argc, char **argv) CAMELLIA_KEY camellia_ks1, camellia_ks2, camellia_ks3; #endif #ifndef OPENSSL_NO_DES + #ifdef __rtems__ + const + #endif /* __rtems__ */ static DES_cblock key = { 0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0 }; + #ifdef __rtems__ + const + #endif /* __rtems__ */ static DES_cblock key2 = { 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0, 0x12 }; + #ifdef __rtems__ + const + #endif /* __rtems__ */ static DES_cblock key3 = { 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0, 0x12, 0x34 }; @@ -3442,6 +3458,9 @@ static int do_multi(int multi, int size_num) int n; int fd[2]; int *fds; +#ifdef __rtems__ + const +#endif /* __rtems__ */ static char sep[] = ":"; fds = app_malloc(sizeof(*fds) * multi, "fd buffer for do_multi"); @@ -3691,3 +3710,6 @@ static void multiblock_speed(const EVP_CIPHER *evp_cipher, int lengths_single, OPENSSL_free(out); EVP_CIPHER_CTX_free(ctx); } +#ifdef __rtems__ +#include "rtems-bsd-openssl-speed-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/spkac.c b/freebsd/crypto/openssl/apps/spkac.c index a235bfc0..c184ee6b 100644 --- a/freebsd/crypto/openssl/apps/spkac.c +++ b/freebsd/crypto/openssl/apps/spkac.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -202,3 +206,6 @@ int spkac_main(int argc, char **argv) OPENSSL_free(passin); return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-spkac-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/srp.c b/freebsd/crypto/openssl/apps/srp.c index 0c7dad72..06551c74 100644 --- a/freebsd/crypto/openssl/apps/srp.c +++ b/freebsd/crypto/openssl/apps/srp.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2004-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -613,3 +617,6 @@ int srp_main(int argc, char **argv) return ret; } #endif +#ifdef __rtems__ +#include "rtems-bsd-openssl-srp-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/storeutl.c b/freebsd/crypto/openssl/apps/storeutl.c deleted file mode 100644 index fdbd1511..00000000 --- a/freebsd/crypto/openssl/apps/storeutl.c +++ /dev/null @@ -1,475 +0,0 @@ -#include - -/* - * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the OpenSSL license (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#include - -#include "apps.h" -#include "progs.h" -#include -#include -#include -#include /* s2i_ASN1_INTEGER */ - -static int process(const char *uri, const UI_METHOD *uimeth, PW_CB_DATA *uidata, - int expected, int criterion, OSSL_STORE_SEARCH *search, - int text, int noout, int recursive, int indent, BIO *out, - const char *prog); - -typedef enum OPTION_choice { - OPT_ERR = -1, OPT_EOF = 0, OPT_HELP, OPT_ENGINE, OPT_OUT, OPT_PASSIN, - OPT_NOOUT, OPT_TEXT, OPT_RECURSIVE, - OPT_SEARCHFOR_CERTS, OPT_SEARCHFOR_KEYS, OPT_SEARCHFOR_CRLS, - OPT_CRITERION_SUBJECT, OPT_CRITERION_ISSUER, OPT_CRITERION_SERIAL, - OPT_CRITERION_FINGERPRINT, OPT_CRITERION_ALIAS, - OPT_MD -} OPTION_CHOICE; - -const OPTIONS storeutl_options[] = { - {OPT_HELP_STR, 1, '-', "Usage: %s [options] uri\nValid options are:\n"}, - {"help", OPT_HELP, '-', "Display this summary"}, - {"out", OPT_OUT, '>', "Output file - default stdout"}, - {"passin", OPT_PASSIN, 's', "Input file pass phrase source"}, - {"text", OPT_TEXT, '-', "Print a text form of the objects"}, - {"noout", OPT_NOOUT, '-', "No PEM output, just status"}, - {"certs", OPT_SEARCHFOR_CERTS, '-', "Search for certificates only"}, - {"keys", OPT_SEARCHFOR_KEYS, '-', "Search for keys only"}, - {"crls", OPT_SEARCHFOR_CRLS, '-', "Search for CRLs only"}, - {"subject", OPT_CRITERION_SUBJECT, 's', "Search by subject"}, - {"issuer", OPT_CRITERION_ISSUER, 's', "Search by issuer and serial, issuer name"}, - {"serial", OPT_CRITERION_SERIAL, 's', "Search by issuer and serial, serial number"}, - {"fingerprint", OPT_CRITERION_FINGERPRINT, 's', "Search by public key fingerprint, given in hex"}, - {"alias", OPT_CRITERION_ALIAS, 's', "Search by alias"}, - {"", OPT_MD, '-', "Any supported digest"}, -#ifndef OPENSSL_NO_ENGINE - {"engine", OPT_ENGINE, 's', "Use engine, possibly a hardware device"}, -#endif - {"r", OPT_RECURSIVE, '-', "Recurse through names"}, - {NULL} -}; - -int storeutl_main(int argc, char *argv[]) -{ - int ret = 1, noout = 0, text = 0, recursive = 0; - char *outfile = NULL, *passin = NULL, *passinarg = NULL; - BIO *out = NULL; - ENGINE *e = NULL; - OPTION_CHOICE o; - char *prog = opt_init(argc, argv, storeutl_options); - PW_CB_DATA pw_cb_data; - int expected = 0; - int criterion = 0; - X509_NAME *subject = NULL, *issuer = NULL; - ASN1_INTEGER *serial = NULL; - unsigned char *fingerprint = NULL; - size_t fingerprintlen = 0; - char *alias = NULL; - OSSL_STORE_SEARCH *search = NULL; - const EVP_MD *digest = NULL; - - while ((o = opt_next()) != OPT_EOF) { - switch (o) { - case OPT_EOF: - case OPT_ERR: - opthelp: - BIO_printf(bio_err, "%s: Use -help for summary.\n", prog); - goto end; - case OPT_HELP: - opt_help(storeutl_options); - ret = 0; - goto end; - case OPT_OUT: - outfile = opt_arg(); - break; - case OPT_PASSIN: - passinarg = opt_arg(); - break; - case OPT_NOOUT: - noout = 1; - break; - case OPT_TEXT: - text = 1; - break; - case OPT_RECURSIVE: - recursive = 1; - break; - case OPT_SEARCHFOR_CERTS: - case OPT_SEARCHFOR_KEYS: - case OPT_SEARCHFOR_CRLS: - if (expected != 0) { - BIO_printf(bio_err, "%s: only one search type can be given.\n", - prog); - goto end; - } - { - static const struct { - enum OPTION_choice choice; - int type; - } map[] = { - {OPT_SEARCHFOR_CERTS, OSSL_STORE_INFO_CERT}, - {OPT_SEARCHFOR_KEYS, OSSL_STORE_INFO_PKEY}, - {OPT_SEARCHFOR_CRLS, OSSL_STORE_INFO_CRL}, - }; - size_t i; - - for (i = 0; i < OSSL_NELEM(map); i++) { - if (o == map[i].choice) { - expected = map[i].type; - break; - } - } - /* - * If expected wasn't set at this point, it means the map - * isn't syncronised with the possible options leading here. - */ - OPENSSL_assert(expected != 0); - } - break; - case OPT_CRITERION_SUBJECT: - if (criterion != 0) { - BIO_printf(bio_err, "%s: criterion already given.\n", - prog); - goto end; - } - criterion = OSSL_STORE_SEARCH_BY_NAME; - if (subject != NULL) { - BIO_printf(bio_err, "%s: subject already given.\n", - prog); - goto end; - } - if ((subject = parse_name(opt_arg(), MBSTRING_UTF8, 1)) == NULL) { - BIO_printf(bio_err, "%s: can't parse subject argument.\n", - prog); - goto end; - } - break; - case OPT_CRITERION_ISSUER: - if (criterion != 0 - || (criterion == OSSL_STORE_SEARCH_BY_ISSUER_SERIAL - && issuer != NULL)) { - BIO_printf(bio_err, "%s: criterion already given.\n", - prog); - goto end; - } - criterion = OSSL_STORE_SEARCH_BY_ISSUER_SERIAL; - if (issuer != NULL) { - BIO_printf(bio_err, "%s: issuer already given.\n", - prog); - goto end; - } - if ((issuer = parse_name(opt_arg(), MBSTRING_UTF8, 1)) == NULL) { - BIO_printf(bio_err, "%s: can't parse issuer argument.\n", - prog); - goto end; - } - break; - case OPT_CRITERION_SERIAL: - if (criterion != 0 - || (criterion == OSSL_STORE_SEARCH_BY_ISSUER_SERIAL - && serial != NULL)) { - BIO_printf(bio_err, "%s: criterion already given.\n", - prog); - goto end; - } - criterion = OSSL_STORE_SEARCH_BY_ISSUER_SERIAL; - if (serial != NULL) { - BIO_printf(bio_err, "%s: serial number already given.\n", - prog); - goto end; - } - if ((serial = s2i_ASN1_INTEGER(NULL, opt_arg())) == NULL) { - BIO_printf(bio_err, "%s: can't parse serial number argument.\n", - prog); - goto end; - } - break; - case OPT_CRITERION_FINGERPRINT: - if (criterion != 0 - || (criterion == OSSL_STORE_SEARCH_BY_KEY_FINGERPRINT - && fingerprint != NULL)) { - BIO_printf(bio_err, "%s: criterion already given.\n", - prog); - goto end; - } - criterion = OSSL_STORE_SEARCH_BY_KEY_FINGERPRINT; - if (fingerprint != NULL) { - BIO_printf(bio_err, "%s: fingerprint already given.\n", - prog); - goto end; - } - { - long tmplen = 0; - - if ((fingerprint = OPENSSL_hexstr2buf(opt_arg(), &tmplen)) - == NULL) { - BIO_printf(bio_err, - "%s: can't parse fingerprint argument.\n", - prog); - goto end; - } - fingerprintlen = (size_t)tmplen; - } - break; - case OPT_CRITERION_ALIAS: - if (criterion != 0) { - BIO_printf(bio_err, "%s: criterion already given.\n", - prog); - goto end; - } - criterion = OSSL_STORE_SEARCH_BY_ALIAS; - if (alias != NULL) { - BIO_printf(bio_err, "%s: alias already given.\n", - prog); - goto end; - } - if ((alias = OPENSSL_strdup(opt_arg())) == NULL) { - BIO_printf(bio_err, "%s: can't parse alias argument.\n", - prog); - goto end; - } - break; - case OPT_ENGINE: - e = setup_engine(opt_arg(), 0); - break; - case OPT_MD: - if (!opt_md(opt_unknown(), &digest)) - goto opthelp; - } - } - argc = opt_num_rest(); - argv = opt_rest(); - - if (argc == 0) { - BIO_printf(bio_err, "%s: No URI given, nothing to do...\n", prog); - goto opthelp; - } - if (argc > 1) { - BIO_printf(bio_err, "%s: Unknown extra parameters after URI\n", prog); - goto opthelp; - } - - if (criterion != 0) { - switch (criterion) { - case OSSL_STORE_SEARCH_BY_NAME: - if ((search = OSSL_STORE_SEARCH_by_name(subject)) == NULL) { - ERR_print_errors(bio_err); - goto end; - } - break; - case OSSL_STORE_SEARCH_BY_ISSUER_SERIAL: - if (issuer == NULL || serial == NULL) { - BIO_printf(bio_err, - "%s: both -issuer and -serial must be given.\n", - prog); - goto end; - } - if ((search = OSSL_STORE_SEARCH_by_issuer_serial(issuer, serial)) - == NULL) { - ERR_print_errors(bio_err); - goto end; - } - break; - case OSSL_STORE_SEARCH_BY_KEY_FINGERPRINT: - if ((search = OSSL_STORE_SEARCH_by_key_fingerprint(digest, - fingerprint, - fingerprintlen)) - == NULL) { - ERR_print_errors(bio_err); - goto end; - } - break; - case OSSL_STORE_SEARCH_BY_ALIAS: - if ((search = OSSL_STORE_SEARCH_by_alias(alias)) == NULL) { - ERR_print_errors(bio_err); - goto end; - } - break; - } - } - - if (!app_passwd(passinarg, NULL, &passin, NULL)) { - BIO_printf(bio_err, "Error getting passwords\n"); - goto end; - } - pw_cb_data.password = passin; - pw_cb_data.prompt_info = argv[0]; - - out = bio_open_default(outfile, 'w', FORMAT_TEXT); - if (out == NULL) - goto end; - - ret = process(argv[0], get_ui_method(), &pw_cb_data, - expected, criterion, search, - text, noout, recursive, 0, out, prog); - - end: - OPENSSL_free(fingerprint); - OPENSSL_free(alias); - ASN1_INTEGER_free(serial); - X509_NAME_free(subject); - X509_NAME_free(issuer); - OSSL_STORE_SEARCH_free(search); - BIO_free_all(out); - OPENSSL_free(passin); - release_engine(e); - return ret; -} - -static int indent_printf(int indent, BIO *bio, const char *format, ...) -{ - va_list args; - int ret; - - va_start(args, format); - - ret = BIO_printf(bio, "%*s", indent, "") + BIO_vprintf(bio, format, args); - - va_end(args); - return ret; -} - -static int process(const char *uri, const UI_METHOD *uimeth, PW_CB_DATA *uidata, - int expected, int criterion, OSSL_STORE_SEARCH *search, - int text, int noout, int recursive, int indent, BIO *out, - const char *prog) -{ - OSSL_STORE_CTX *store_ctx = NULL; - int ret = 1, items = 0; - - if ((store_ctx = OSSL_STORE_open(uri, uimeth, uidata, NULL, NULL)) - == NULL) { - BIO_printf(bio_err, "Couldn't open file or uri %s\n", uri); - ERR_print_errors(bio_err); - return ret; - } - - if (expected != 0) { - if (!OSSL_STORE_expect(store_ctx, expected)) { - ERR_print_errors(bio_err); - goto end2; - } - } - - if (criterion != 0) { - if (!OSSL_STORE_supports_search(store_ctx, criterion)) { - BIO_printf(bio_err, - "%s: the store scheme doesn't support the given search criteria.\n", - prog); - goto end2; - } - - if (!OSSL_STORE_find(store_ctx, search)) { - ERR_print_errors(bio_err); - goto end2; - } - } - - /* From here on, we count errors, and we'll return the count at the end */ - ret = 0; - - for (;;) { - OSSL_STORE_INFO *info = OSSL_STORE_load(store_ctx); - int type = info == NULL ? 0 : OSSL_STORE_INFO_get_type(info); - const char *infostr = - info == NULL ? NULL : OSSL_STORE_INFO_type_string(type); - - if (info == NULL) { - if (OSSL_STORE_eof(store_ctx)) - break; - - if (OSSL_STORE_error(store_ctx)) { - if (recursive) - ERR_clear_error(); - else - ERR_print_errors(bio_err); - ret++; - continue; - } - - BIO_printf(bio_err, - "ERROR: OSSL_STORE_load() returned NULL without " - "eof or error indications\n"); - BIO_printf(bio_err, " This is an error in the loader\n"); - ERR_print_errors(bio_err); - ret++; - break; - } - - if (type == OSSL_STORE_INFO_NAME) { - const char *name = OSSL_STORE_INFO_get0_NAME(info); - const char *desc = OSSL_STORE_INFO_get0_NAME_description(info); - indent_printf(indent, bio_out, "%d: %s: %s\n", items, infostr, - name); - if (desc != NULL) - indent_printf(indent, bio_out, "%s\n", desc); - } else { - indent_printf(indent, bio_out, "%d: %s\n", items, infostr); - } - - /* - * Unfortunately, PEM_X509_INFO_write_bio() is sorely lacking in - * functionality, so we must figure out how exactly to write things - * ourselves... - */ - switch (type) { - case OSSL_STORE_INFO_NAME: - if (recursive) { - const char *suburi = OSSL_STORE_INFO_get0_NAME(info); - ret += process(suburi, uimeth, uidata, - expected, criterion, search, - text, noout, recursive, indent + 2, out, prog); - } - break; - case OSSL_STORE_INFO_PARAMS: - if (text) - EVP_PKEY_print_params(out, OSSL_STORE_INFO_get0_PARAMS(info), - 0, NULL); - if (!noout) - PEM_write_bio_Parameters(out, - OSSL_STORE_INFO_get0_PARAMS(info)); - break; - case OSSL_STORE_INFO_PKEY: - if (text) - EVP_PKEY_print_private(out, OSSL_STORE_INFO_get0_PKEY(info), - 0, NULL); - if (!noout) - PEM_write_bio_PrivateKey(out, OSSL_STORE_INFO_get0_PKEY(info), - NULL, NULL, 0, NULL, NULL); - break; - case OSSL_STORE_INFO_CERT: - if (text) - X509_print(out, OSSL_STORE_INFO_get0_CERT(info)); - if (!noout) - PEM_write_bio_X509(out, OSSL_STORE_INFO_get0_CERT(info)); - break; - case OSSL_STORE_INFO_CRL: - if (text) - X509_CRL_print(out, OSSL_STORE_INFO_get0_CRL(info)); - if (!noout) - PEM_write_bio_X509_CRL(out, OSSL_STORE_INFO_get0_CRL(info)); - break; - default: - BIO_printf(bio_err, "!!! Unknown code\n"); - ret++; - break; - } - items++; - OSSL_STORE_INFO_free(info); - } - indent_printf(indent, out, "Total found: %d\n", items); - - end2: - if (!OSSL_STORE_close(store_ctx)) { - ERR_print_errors(bio_err); - ret++; - } - - return ret; -} diff --git a/freebsd/crypto/openssl/apps/ts.c b/freebsd/crypto/openssl/apps/ts.c index 3fd64d73..71c029e7 100644 --- a/freebsd/crypto/openssl/apps/ts.c +++ b/freebsd/crypto/openssl/apps/ts.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 2006-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -986,3 +990,6 @@ static int verify_cb(int ok, X509_STORE_CTX *ctx) return ok; } #endif /* ndef OPENSSL_NO_TS */ +#ifdef __rtems__ +#include "rtems-bsd-openssl-ts-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/verify.c b/freebsd/crypto/openssl/apps/verify.c index 8e7f8635..2caa8b0e 100644 --- a/freebsd/crypto/openssl/apps/verify.c +++ b/freebsd/crypto/openssl/apps/verify.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -319,3 +323,6 @@ static int cb(int ok, X509_STORE_CTX *ctx) ERR_clear_error(); return ok; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-verify-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/version.c b/freebsd/crypto/openssl/apps/version.c index 82a98699..3bb53673 100644 --- a/freebsd/crypto/openssl/apps/version.c +++ b/freebsd/crypto/openssl/apps/version.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -194,3 +198,6 @@ opthelp: end: return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-version-data.h" +#endif /* __rtems__ */ diff --git a/freebsd/crypto/openssl/apps/x509.c b/freebsd/crypto/openssl/apps/x509.c index 94f0b794..b57d2229 100644 --- a/freebsd/crypto/openssl/apps/x509.c +++ b/freebsd/crypto/openssl/apps/x509.c @@ -1,4 +1,8 @@ #include +#ifdef __rtems__ +#include +#include "rtems-bsd-openssl-namespace.h" +#endif /* __rtems__ */ /* * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved. @@ -1196,3 +1200,6 @@ static int print_x509v3_exts(BIO *bio, X509 *x, const char *ext_names) OPENSSL_free(tmp_ext_names); return ret; } +#ifdef __rtems__ +#include "rtems-bsd-openssl-x509-data.h" +#endif /* __rtems__ */ diff --git a/libbsd.py b/libbsd.py index 3235a5ca..d5e801f9 100644 --- a/libbsd.py +++ b/libbsd.py @@ -3943,6 +3943,96 @@ class crypto_openssl(builder.Module): mm.generator['from-RTEMS-To-FreeBSD-SourceConverter'](), mm.generator['buildSystemFragmentComposer']())) +# +# /usr/bin/openssl +# +# depends on crypto_openssl, user_space +class usr_bin_openssl(builder.Module): + + def __init__(self, manager): + super(usr_bin_openssl, self).__init__(manager, type(self).__name__) + + def generate(self): + mm = self.manager + self.addUserSpaceHeaderFiles( + [ + 'crypto/openssl/apps/apps.h', + 'crypto/openssl/apps/progs.h', + 'crypto/openssl/apps/s_apps.h', + 'crypto/openssl/apps/testdsa.h', + 'crypto/openssl/apps/testrsa.h', + 'crypto/openssl/apps/timeouts.h', + ] + ) + self.addUserSpaceSourceFiles( + [ + 'crypto/openssl/apps/app_rand.c', + 'crypto/openssl/apps/apps.c', + 'crypto/openssl/apps/asn1pars.c', + 'crypto/openssl/apps/bf_prefix.c', + 'crypto/openssl/apps/ca.c', + 'crypto/openssl/apps/ciphers.c', + 'crypto/openssl/apps/cms.c', + 'crypto/openssl/apps/crl.c', + 'crypto/openssl/apps/crl2p7.c', + 'crypto/openssl/apps/dgst.c', + 'crypto/openssl/apps/dhparam.c', + 'crypto/openssl/apps/dsa.c', + 'crypto/openssl/apps/dsaparam.c', + 'crypto/openssl/apps/ec.c', + 'crypto/openssl/apps/ecparam.c', + 'crypto/openssl/apps/enc.c', + 'crypto/openssl/apps/engine.c', + 'crypto/openssl/apps/errstr.c', + 'crypto/openssl/apps/gendsa.c', + 'crypto/openssl/apps/genpkey.c', + 'crypto/openssl/apps/genrsa.c', + 'crypto/openssl/apps/nseq.c', + 'crypto/openssl/apps/ocsp.c', + 'crypto/openssl/apps/openssl.c', + 'crypto/openssl/apps/opt.c', + 'crypto/openssl/apps/passwd.c', + 'crypto/openssl/apps/pkcs12.c', + 'crypto/openssl/apps/pkcs7.c', + 'crypto/openssl/apps/pkcs8.c', + 'crypto/openssl/apps/pkey.c', + 'crypto/openssl/apps/pkeyparam.c', + 'crypto/openssl/apps/pkeyutl.c', + 'crypto/openssl/apps/prime.c', + 'crypto/openssl/apps/rand.c', + 'crypto/openssl/apps/rehash.c', + 'crypto/openssl/apps/req.c', + 'crypto/openssl/apps/rsa.c', + 'crypto/openssl/apps/rsautl.c', + 'crypto/openssl/apps/s_cb.c', + 'crypto/openssl/apps/s_client.c', + 'crypto/openssl/apps/s_server.c', + 'crypto/openssl/apps/s_socket.c', + 'crypto/openssl/apps/s_time.c', + 'crypto/openssl/apps/sess_id.c', + 'crypto/openssl/apps/smime.c', + 'crypto/openssl/apps/speed.c', + 'crypto/openssl/apps/spkac.c', + 'crypto/openssl/apps/srp.c', + # storeutl excluded due to problem with OPENSSL_atexit + # 'crypto/openssl/apps/storeutl.c', + 'crypto/openssl/apps/ts.c', + 'crypto/openssl/apps/verify.c', + 'crypto/openssl/apps/version.c', + 'crypto/openssl/apps/x509.c', + ], + mm.generator['source'](['-D__FreeBSD__=1', + '-DOPENSSL_NO_RC5=1'], + ['freebsd/crypto/openssl'] + ) + ) + self.addRTEMSSourceFiles( + [ + 'rtems/rtems-bsd-shell-openssl.c', + ], + mm.generator['source']() + ) + # # Contrib expat # @@ -4945,6 +5035,7 @@ class tests(builder.Module): self.addTest(mm.generator['test']('crypto01', ['test_main'])) self.addTest(mm.generator['test']('ipsec01', ['test_main'])) self.addTest(mm.generator['test']('openssl01', ['test_main'])) + self.addTest(mm.generator['test']('openssl02', ['test_main'])) def load(mm): @@ -5008,6 +5099,7 @@ def load(mm): mm.addModule(usr_sbin_tcpdump(mm)) mm.addModule(usr_sbin_wpa_supplicant(mm)) mm.addModule(crypto_openssl(mm)) + mm.addModule(usr_bin_openssl(mm)) mm.addModule(dhcpcd(mm)) mm.addModule(mdnsresponder(mm)) diff --git a/rtemsbsd/include/machine/rtems-bsd-commands.h b/rtemsbsd/include/machine/rtems-bsd-commands.h index 7717c1ea..1b022902 100644 --- a/rtemsbsd/include/machine/rtems-bsd-commands.h +++ b/rtemsbsd/include/machine/rtems-bsd-commands.h @@ -78,6 +78,8 @@ int rtems_bsd_command_racoon(int argc, char **argv); int rtems_bsd_command_setkey(int argc, char **argv); +int rtems_bsd_command_openssl(int argc, char **argv); + __END_DECLS #endif /* _RTEMS_BSD_MACHINE_RTEMS_BSD_COMMANDS_H_ */ diff --git a/rtemsbsd/include/rtems/netcmds-config.h b/rtemsbsd/include/rtems/netcmds-config.h index ce84c155..f8dcdcdc 100644 --- a/rtemsbsd/include/rtems/netcmds-config.h +++ b/rtemsbsd/include/rtems/netcmds-config.h @@ -54,6 +54,7 @@ extern rtems_shell_cmd_t rtems_shell_STTY_Command; extern rtems_shell_cmd_t rtems_shell_RACOON_Command; extern rtems_shell_cmd_t rtems_shell_SETKEY_Command; +extern rtems_shell_cmd_t rtems_shell_OPENSSL_Command; #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/rtemsbsd/rtems/rtems-bsd-shell-openssl.c b/rtemsbsd/rtems/rtems-bsd-shell-openssl.c new file mode 100644 index 00000000..fc765b33 --- /dev/null +++ b/rtemsbsd/rtems/rtems-bsd-shell-openssl.c @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2016 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Dornierstr. 4 + * 82178 Puchheim + * Germany + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +rtems_shell_cmd_t rtems_shell_OPENSSL_Command = { + .name = "openssl", + .usage = "openssl [args]", + .topic = "net", + .command = rtems_bsd_command_openssl +}; diff --git a/testsuite/openssl02/test_main.c b/testsuite/openssl02/test_main.c new file mode 100644 index 00000000..ccd48dc9 --- /dev/null +++ b/testsuite/openssl02/test_main.c @@ -0,0 +1,135 @@ +/* + * Copyright (c) 2013-2019 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Dornierstr. 4 + * 82178 Puchheim + * Germany + * + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include +#include +#include +#include +#include + +#include + +#include +#include + +#include +#include + +#define TEST_NAME "LIBBSD OPENSSL 2" + +#define ARGC(x) RTEMS_BSD_ARGC(x) + +#ifdef RTEMS_BSD_MODULE_USR_BIN_OPENSSL +static void +test_cmd_gencert(void) +{ + int fd; + int rv; + struct stat sb; + char *openssl_gencert[] = { + "openssl", + "req", + "-config", + "/openssl.cfg", + "-nodes", + "-newkey", + "rsa:2048", + "-keyout", + "/example.key", + "-out", + "example.csr", + "-subj", + "/C=GB/ST=London/L=London/O=Global Security/OU=IT Department/CN=example.com", + NULL + }; + + static const char config[] = + "[ req ]\n" + "distinguished_name = req_distinguished_name\n" + "[ req_distinguished_name ]\n" + "countryName = Country Name (2 letter code)\n" + "stateOrProvinceName = State or Province Name (full name)\n" + "localityName = Locality Name (eg, city)\n" + "0.organizationName = Organization Name (eg, company)\n" + "0.organizationName_default = Internet Widgits Pty Ltd\n" + "organizationalUnitName = Organizational Unit Name (eg, section)\n" + "organizationalUnitName_default =\n" + "commonName = Common Name (e.g. server FQDN or YOUR name)\n" + "commonName_max = 64\n" + "emailAddress = Email Address\n" + "emailAddress_max = 64\n"; + + /* Create config file. */ + fd = open("/openssl.cfg", O_WRONLY | O_CREAT, S_IRWXU | S_IRWXG | S_IRWXO); + assert(fd != -1); + rv = write(fd, config, sizeof(config)); + assert(rv == sizeof(config)); + rv = close(fd); + assert(rv == 0); + + rtems_bsd_command_openssl(ARGC(openssl_gencert), openssl_gencert); + + assert(stat("/example.key", &sb) == 0); + assert(stat("/example.csr", &sb) == 0); +} + +static void +test_cmd_speed(void) +{ + int fd; + int rv; + struct stat sb; + char *openssl_speed[] = { + "openssl", + "speed", + "sha1", + NULL + }; + + rtems_bsd_command_openssl(ARGC(openssl_speed), openssl_speed); +} +#endif /* RTEMS_BSD_MODULE_USR_BIN_OPENSSL */ + +static void +test_main(void) +{ +#ifdef RTEMS_BSD_MODULE_USR_BIN_OPENSSL + test_cmd_gencert(); + test_cmd_speed(); +#else /* ! RTEMS_BSD_MODULE_USR_BIN_OPENSSL */ + puts("openssl command not enabled in the current build set"); +#endif /* RTEMS_BSD_MODULE_USR_BIN_OPENSSL */ + exit(0); +} + +#include -- cgit v1.2.3