version 1.15, 2019/11/18 12:43:27 |
version 1.16, 2019/11/19 10:28:18 |
|
|
if (!args[1]) |
if (!args[1]) |
goto argerr; |
goto argerr; |
args++; |
args++; |
if (!rr_from) |
if (rr_from == NULL && |
rr_from = sk_OPENSSL_STRING_new_null(); |
(rr_from = sk_OPENSSL_STRING_new_null()) == NULL) |
|
goto end; |
if (!sk_OPENSSL_STRING_push(rr_from, *args)) |
if (!sk_OPENSSL_STRING_push(rr_from, *args)) |
goto end; |
goto end; |
} else if (!strcmp(*args, "-receipt_request_to")) { |
} else if (!strcmp(*args, "-receipt_request_to")) { |
if (!args[1]) |
if (!args[1]) |
goto argerr; |
goto argerr; |
args++; |
args++; |
if (!rr_to) |
if (rr_to == NULL && |
rr_to = sk_OPENSSL_STRING_new_null(); |
(rr_to = sk_OPENSSL_STRING_new_null()) == NULL) |
|
goto end; |
if (!sk_OPENSSL_STRING_push(rr_to, *args)) |
if (!sk_OPENSSL_STRING_push(rr_to, *args)) |
goto end; |
goto end; |
} else if (!strcmp(*args, "-print")) { |
} else if (!strcmp(*args, "-print")) { |
|
|
/* If previous -signer argument add signer to list */ |
/* If previous -signer argument add signer to list */ |
|
|
if (signerfile) { |
if (signerfile) { |
if (!sksigners) |
if (sksigners == NULL && |
sksigners = |
(sksigners = sk_OPENSSL_STRING_new_null()) == NULL) |
sk_OPENSSL_STRING_new_null(); |
goto end; |
if (!sk_OPENSSL_STRING_push(sksigners, signerfile)) |
if (!sk_OPENSSL_STRING_push(sksigners, signerfile)) |
goto end; |
goto end; |
if (!keyfile) |
if (!keyfile) |
keyfile = signerfile; |
keyfile = signerfile; |
if (!skkeys) |
if (skkeys == NULL && |
skkeys = sk_OPENSSL_STRING_new_null(); |
(skkeys = sk_OPENSSL_STRING_new_null()) == NULL) |
|
goto end; |
if (!sk_OPENSSL_STRING_push(skkeys, keyfile)) |
if (!sk_OPENSSL_STRING_push(skkeys, keyfile)) |
goto end; |
goto end; |
keyfile = NULL; |
keyfile = NULL; |
|
|
"Illegal -inkey without -signer\n"); |
"Illegal -inkey without -signer\n"); |
goto argerr; |
goto argerr; |
} |
} |
if (!sksigners) |
if (sksigners == NULL && |
sksigners = |
(sksigners = sk_OPENSSL_STRING_new_null()) == NULL) |
sk_OPENSSL_STRING_new_null(); |
goto end; |
if (!sk_OPENSSL_STRING_push(sksigners, signerfile)) |
if (!sk_OPENSSL_STRING_push(sksigners, signerfile)) |
goto end; |
goto end; |
signerfile = NULL; |
signerfile = NULL; |
if (!skkeys) |
if (skkeys == NULL && |
skkeys = sk_OPENSSL_STRING_new_null(); |
(skkeys = sk_OPENSSL_STRING_new_null()) == NULL) |
|
goto end; |
if (!sk_OPENSSL_STRING_push(skkeys, keyfile)) |
if (!sk_OPENSSL_STRING_push(skkeys, keyfile)) |
goto end; |
goto end; |
} |
} |
|
|
} |
} |
/* Check to see if any final signer needs to be appended */ |
/* Check to see if any final signer needs to be appended */ |
if (signerfile) { |
if (signerfile) { |
if (!sksigners) |
if (sksigners == NULL && |
sksigners = sk_OPENSSL_STRING_new_null(); |
(sksigners = sk_OPENSSL_STRING_new_null()) == NULL) |
|
goto end; |
if (!sk_OPENSSL_STRING_push(sksigners, signerfile)) |
if (!sk_OPENSSL_STRING_push(sksigners, signerfile)) |
goto end; |
goto end; |
if (!skkeys) |
if (skkeys == NULL && |
skkeys = sk_OPENSSL_STRING_new_null(); |
(skkeys = sk_OPENSSL_STRING_new_null()) == NULL) |
|
goto end; |
if (!keyfile) |
if (!keyfile) |
keyfile = signerfile; |
keyfile = signerfile; |
if (!sk_OPENSSL_STRING_push(skkeys, keyfile)) |
if (!sk_OPENSSL_STRING_push(skkeys, keyfile)) |
|
|
BIO_printf(bio_err, "No secret key id\n"); |
BIO_printf(bio_err, "No secret key id\n"); |
goto end; |
goto end; |
} |
} |
if (*args && !encerts) |
if (*args && encerts == NULL) |
encerts = sk_X509_new_null(); |
if ((encerts = sk_X509_new_null()) == NULL) |
|
goto end; |
while (*args) { |
while (*args) { |
if (!(cert = load_cert(bio_err, *args, FORMAT_PEM, |
if (!(cert = load_cert(bio_err, *args, FORMAT_PEM, |
NULL, "recipient certificate file"))) |
NULL, "recipient certificate file"))) |
|
|
STACK_OF(GENERAL_NAMES) *ret; |
STACK_OF(GENERAL_NAMES) *ret; |
GENERAL_NAMES *gens = NULL; |
GENERAL_NAMES *gens = NULL; |
GENERAL_NAME *gen = NULL; |
GENERAL_NAME *gen = NULL; |
ret = sk_GENERAL_NAMES_new_null(); |
if ((ret = sk_GENERAL_NAMES_new_null()) == NULL) |
if (!ret) |
|
goto err; |
goto err; |
for (i = 0; i < sk_OPENSSL_STRING_num(ns); i++) { |
for (i = 0; i < sk_OPENSSL_STRING_num(ns); i++) { |
char *str = sk_OPENSSL_STRING_value(ns, i); |
char *str = sk_OPENSSL_STRING_value(ns, i); |