mirror of
https://github.com/openssl/openssl.git
synced 2025-02-17 14:32:04 +08:00
Remove needless bio_err argument
Many functions had a BIO* parameter, and it was always called with bio_err. Remove the param and just use bio_err. Reviewed-by: Matt Caswell <matt@openssl.org>
This commit is contained in:
parent
bea6cd3e1c
commit
ecf3a1fb18
20
apps/apps.c
20
apps/apps.c
@ -2006,34 +2006,34 @@ int pkey_ctrl_string(EVP_PKEY_CTX *ctx, char *value)
|
|||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void nodes_print(BIO *out, const char *name,
|
static void nodes_print(const char *name, STACK_OF(X509_POLICY_NODE) *nodes)
|
||||||
STACK_OF(X509_POLICY_NODE) *nodes)
|
|
||||||
{
|
{
|
||||||
X509_POLICY_NODE *node;
|
X509_POLICY_NODE *node;
|
||||||
int i;
|
int i;
|
||||||
BIO_printf(out, "%s Policies:", name);
|
|
||||||
|
BIO_printf(bio_err, "%s Policies:", name);
|
||||||
if (nodes) {
|
if (nodes) {
|
||||||
BIO_puts(out, "\n");
|
BIO_puts(bio_err, "\n");
|
||||||
for (i = 0; i < sk_X509_POLICY_NODE_num(nodes); i++) {
|
for (i = 0; i < sk_X509_POLICY_NODE_num(nodes); i++) {
|
||||||
node = sk_X509_POLICY_NODE_value(nodes, i);
|
node = sk_X509_POLICY_NODE_value(nodes, i);
|
||||||
X509_POLICY_NODE_print(out, node, 2);
|
X509_POLICY_NODE_print(bio_err, node, 2);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
BIO_puts(out, " <empty>\n");
|
BIO_puts(bio_err, " <empty>\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void policies_print(BIO *out, X509_STORE_CTX *ctx)
|
void policies_print(X509_STORE_CTX *ctx)
|
||||||
{
|
{
|
||||||
X509_POLICY_TREE *tree;
|
X509_POLICY_TREE *tree;
|
||||||
int explicit_policy;
|
int explicit_policy;
|
||||||
tree = X509_STORE_CTX_get0_policy_tree(ctx);
|
tree = X509_STORE_CTX_get0_policy_tree(ctx);
|
||||||
explicit_policy = X509_STORE_CTX_get_explicit_policy(ctx);
|
explicit_policy = X509_STORE_CTX_get_explicit_policy(ctx);
|
||||||
|
|
||||||
BIO_printf(out, "Require explicit Policy: %s\n",
|
BIO_printf(bio_err, "Require explicit Policy: %s\n",
|
||||||
explicit_policy ? "True" : "False");
|
explicit_policy ? "True" : "False");
|
||||||
|
|
||||||
nodes_print(out, "Authority", X509_policy_tree_get0_policies(tree));
|
nodes_print("Authority", X509_policy_tree_get0_policies(tree));
|
||||||
nodes_print(out, "User", X509_policy_tree_get0_user_policies(tree));
|
nodes_print("User", X509_policy_tree_get0_user_policies(tree));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(OPENSSL_NO_JPAKE) && !defined(OPENSSL_NO_PSK)
|
#if !defined(OPENSSL_NO_JPAKE) && !defined(OPENSSL_NO_PSK)
|
||||||
|
@ -489,7 +489,7 @@ int parse_yesno(const char *str, int def);
|
|||||||
X509_NAME *parse_name(char *str, long chtype, int multirdn);
|
X509_NAME *parse_name(char *str, long chtype, int multirdn);
|
||||||
int args_verify(char ***pargs, int *pargc,
|
int args_verify(char ***pargs, int *pargc,
|
||||||
int *badarg, X509_VERIFY_PARAM **pm);
|
int *badarg, X509_VERIFY_PARAM **pm);
|
||||||
void policies_print(BIO *out, X509_STORE_CTX *ctx);
|
void policies_print(X509_STORE_CTX *ctx);
|
||||||
int bio_to_mem(unsigned char **out, int maxlen, BIO *in);
|
int bio_to_mem(unsigned char **out, int maxlen, BIO *in);
|
||||||
int pkey_ctrl_string(EVP_PKEY_CTX *ctx, char *value);
|
int pkey_ctrl_string(EVP_PKEY_CTX *ctx, char *value);
|
||||||
int init_gen_str(EVP_PKEY_CTX **pctx,
|
int init_gen_str(EVP_PKEY_CTX **pctx,
|
||||||
|
@ -100,7 +100,7 @@ OPTIONS asn1parse_options[] = {
|
|||||||
{NULL}
|
{NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
static int do_generate(BIO *bio, char *genstr, char *genconf, BUF_MEM *buf);
|
static int do_generate(char *genstr, char *genconf, BUF_MEM *buf);
|
||||||
|
|
||||||
int asn1parse_main(int argc, char **argv)
|
int asn1parse_main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
@ -215,7 +215,7 @@ int asn1parse_main(int argc, char **argv)
|
|||||||
goto end; /* Pre-allocate :-) */
|
goto end; /* Pre-allocate :-) */
|
||||||
|
|
||||||
if (genstr || genconf) {
|
if (genstr || genconf) {
|
||||||
num = do_generate(bio_err, genstr, genconf, buf);
|
num = do_generate(genstr, genconf, buf);
|
||||||
if (num < 0) {
|
if (num < 0) {
|
||||||
ERR_print_errors(bio_err);
|
ERR_print_errors(bio_err);
|
||||||
goto end;
|
goto end;
|
||||||
@ -335,7 +335,7 @@ int asn1parse_main(int argc, char **argv)
|
|||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int do_generate(BIO *bio, char *genstr, char *genconf, BUF_MEM *buf)
|
static int do_generate(char *genstr, char *genconf, BUF_MEM *buf)
|
||||||
{
|
{
|
||||||
CONF *cnf = NULL;
|
CONF *cnf = NULL;
|
||||||
int len;
|
int len;
|
||||||
@ -350,7 +350,7 @@ static int do_generate(BIO *bio, char *genstr, char *genconf, BUF_MEM *buf)
|
|||||||
if (!genstr)
|
if (!genstr)
|
||||||
genstr = NCONF_get_string(cnf, "default", "asn1");
|
genstr = NCONF_get_string(cnf, "default", "asn1");
|
||||||
if (!genstr) {
|
if (!genstr) {
|
||||||
BIO_printf(bio, "Can't find 'asn1' in '%s'\n", genconf);
|
BIO_printf(bio_err, "Can't find 'asn1' in '%s'\n", genconf);
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -380,10 +380,10 @@ static int do_generate(BIO *bio, char *genstr, char *genconf, BUF_MEM *buf)
|
|||||||
conferr:
|
conferr:
|
||||||
|
|
||||||
if (errline > 0)
|
if (errline > 0)
|
||||||
BIO_printf(bio, "Error on line %ld of config file '%s'\n",
|
BIO_printf(bio_err, "Error on line %ld of config file '%s'\n",
|
||||||
errline, genconf);
|
errline, genconf);
|
||||||
else
|
else
|
||||||
BIO_printf(bio, "Error loading config file '%s'\n", genconf);
|
BIO_printf(bio_err, "Error loading config file '%s'\n", genconf);
|
||||||
|
|
||||||
err:
|
err:
|
||||||
NCONF_free(cnf);
|
NCONF_free(cnf);
|
||||||
|
30
apps/ca.c
30
apps/ca.c
@ -187,7 +187,7 @@ static int do_updatedb(CA_DB *db);
|
|||||||
static int check_time_format(const char *str);
|
static int check_time_format(const char *str);
|
||||||
char *make_revocation_str(int rev_type, char *rev_arg);
|
char *make_revocation_str(int rev_type, char *rev_arg);
|
||||||
int make_revoked(X509_REVOKED *rev, const char *str);
|
int make_revoked(X509_REVOKED *rev, const char *str);
|
||||||
int old_entry_print(BIO *bp, ASN1_OBJECT *obj, ASN1_STRING *str);
|
static int old_entry_print(ASN1_OBJECT *obj, ASN1_STRING *str);
|
||||||
|
|
||||||
static CONF *conf = NULL;
|
static CONF *conf = NULL;
|
||||||
static CONF *extconf = NULL;
|
static CONF *extconf = NULL;
|
||||||
@ -1604,7 +1604,7 @@ static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (default_op)
|
if (default_op)
|
||||||
old_entry_print(bio_err, obj, str);
|
old_entry_print(obj, str);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Ok, now we check the 'policy' stuff. */
|
/* Ok, now we check the 'policy' stuff. */
|
||||||
@ -2632,42 +2632,42 @@ int make_revoked(X509_REVOKED *rev, const char *str)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int old_entry_print(BIO *bp, ASN1_OBJECT *obj, ASN1_STRING *str)
|
static int old_entry_print(ASN1_OBJECT *obj, ASN1_STRING *str)
|
||||||
{
|
{
|
||||||
char buf[25], *pbuf, *p;
|
char buf[25], *pbuf, *p;
|
||||||
int j;
|
int j;
|
||||||
j = i2a_ASN1_OBJECT(bp, obj);
|
j = i2a_ASN1_OBJECT(bio_err, obj);
|
||||||
pbuf = buf;
|
pbuf = buf;
|
||||||
for (j = 22 - j; j > 0; j--)
|
for (j = 22 - j; j > 0; j--)
|
||||||
*(pbuf++) = ' ';
|
*(pbuf++) = ' ';
|
||||||
*(pbuf++) = ':';
|
*(pbuf++) = ':';
|
||||||
*(pbuf++) = '\0';
|
*(pbuf++) = '\0';
|
||||||
BIO_puts(bp, buf);
|
BIO_puts(bio_err, buf);
|
||||||
|
|
||||||
if (str->type == V_ASN1_PRINTABLESTRING)
|
if (str->type == V_ASN1_PRINTABLESTRING)
|
||||||
BIO_printf(bp, "PRINTABLE:'");
|
BIO_printf(bio_err, "PRINTABLE:'");
|
||||||
else if (str->type == V_ASN1_T61STRING)
|
else if (str->type == V_ASN1_T61STRING)
|
||||||
BIO_printf(bp, "T61STRING:'");
|
BIO_printf(bio_err, "T61STRING:'");
|
||||||
else if (str->type == V_ASN1_IA5STRING)
|
else if (str->type == V_ASN1_IA5STRING)
|
||||||
BIO_printf(bp, "IA5STRING:'");
|
BIO_printf(bio_err, "IA5STRING:'");
|
||||||
else if (str->type == V_ASN1_UNIVERSALSTRING)
|
else if (str->type == V_ASN1_UNIVERSALSTRING)
|
||||||
BIO_printf(bp, "UNIVERSALSTRING:'");
|
BIO_printf(bio_err, "UNIVERSALSTRING:'");
|
||||||
else
|
else
|
||||||
BIO_printf(bp, "ASN.1 %2d:'", str->type);
|
BIO_printf(bio_err, "ASN.1 %2d:'", str->type);
|
||||||
|
|
||||||
p = (char *)str->data;
|
p = (char *)str->data;
|
||||||
for (j = str->length; j > 0; j--) {
|
for (j = str->length; j > 0; j--) {
|
||||||
if ((*p >= ' ') && (*p <= '~'))
|
if ((*p >= ' ') && (*p <= '~'))
|
||||||
BIO_printf(bp, "%c", *p);
|
BIO_printf(bio_err, "%c", *p);
|
||||||
else if (*p & 0x80)
|
else if (*p & 0x80)
|
||||||
BIO_printf(bp, "\\0x%02X", *p);
|
BIO_printf(bio_err, "\\0x%02X", *p);
|
||||||
else if ((unsigned char)*p == 0xf7)
|
else if ((unsigned char)*p == 0xf7)
|
||||||
BIO_printf(bp, "^?");
|
BIO_printf(bio_err, "^?");
|
||||||
else
|
else
|
||||||
BIO_printf(bp, "^%c", *p + '@');
|
BIO_printf(bio_err, "^%c", *p + '@');
|
||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
BIO_printf(bp, "'\n");
|
BIO_printf(bio_err, "'\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
38
apps/cms.c
38
apps/cms.c
@ -68,7 +68,7 @@
|
|||||||
|
|
||||||
static int save_certs(char *signerfile, STACK_OF(X509) *signers);
|
static int save_certs(char *signerfile, STACK_OF(X509) *signers);
|
||||||
static int cms_cb(int ok, X509_STORE_CTX *ctx);
|
static int cms_cb(int ok, X509_STORE_CTX *ctx);
|
||||||
static void receipt_request_print(BIO *out, CMS_ContentInfo *cms);
|
static void receipt_request_print(CMS_ContentInfo *cms);
|
||||||
static CMS_ReceiptRequest *make_receipt_request(STACK_OF(OPENSSL_STRING)
|
static CMS_ReceiptRequest *make_receipt_request(STACK_OF(OPENSSL_STRING)
|
||||||
*rr_to, int rr_allorfirst, STACK_OF(OPENSSL_STRING)
|
*rr_to, int rr_allorfirst, STACK_OF(OPENSSL_STRING)
|
||||||
*rr_from);
|
*rr_from);
|
||||||
@ -1075,7 +1075,7 @@ int cms_main(int argc, char **argv)
|
|||||||
sk_X509_free(signers);
|
sk_X509_free(signers);
|
||||||
}
|
}
|
||||||
if (rr_print)
|
if (rr_print)
|
||||||
receipt_request_print(bio_err, cms);
|
receipt_request_print(cms);
|
||||||
|
|
||||||
} else if (operation == SMIME_VERIFY_RECEIPT) {
|
} else if (operation == SMIME_VERIFY_RECEIPT) {
|
||||||
if (CMS_verify_receipt(rcms, cms, other, store, flags) > 0)
|
if (CMS_verify_receipt(rcms, cms, other, store, flags) > 0)
|
||||||
@ -1190,31 +1190,31 @@ static int cms_cb(int ok, X509_STORE_CTX *ctx)
|
|||||||
&& ((error != X509_V_OK) || (ok != 2)))
|
&& ((error != X509_V_OK) || (ok != 2)))
|
||||||
return ok;
|
return ok;
|
||||||
|
|
||||||
/* Should be bio_err? */
|
policies_print(ctx);
|
||||||
policies_print(bio_out, ctx);
|
|
||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gnames_stack_print(BIO *out, STACK_OF(GENERAL_NAMES) *gns)
|
static void gnames_stack_print(STACK_OF(GENERAL_NAMES) *gns)
|
||||||
{
|
{
|
||||||
STACK_OF(GENERAL_NAME) *gens;
|
STACK_OF(GENERAL_NAME) *gens;
|
||||||
GENERAL_NAME *gen;
|
GENERAL_NAME *gen;
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
for (i = 0; i < sk_GENERAL_NAMES_num(gns); i++) {
|
for (i = 0; i < sk_GENERAL_NAMES_num(gns); i++) {
|
||||||
gens = sk_GENERAL_NAMES_value(gns, i);
|
gens = sk_GENERAL_NAMES_value(gns, i);
|
||||||
for (j = 0; j < sk_GENERAL_NAME_num(gens); j++) {
|
for (j = 0; j < sk_GENERAL_NAME_num(gens); j++) {
|
||||||
gen = sk_GENERAL_NAME_value(gens, j);
|
gen = sk_GENERAL_NAME_value(gens, j);
|
||||||
BIO_puts(out, " ");
|
BIO_puts(bio_err, " ");
|
||||||
GENERAL_NAME_print(out, gen);
|
GENERAL_NAME_print(bio_err, gen);
|
||||||
BIO_puts(out, "\n");
|
BIO_puts(bio_err, "\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void receipt_request_print(BIO *out, CMS_ContentInfo *cms)
|
static void receipt_request_print(CMS_ContentInfo *cms)
|
||||||
{
|
{
|
||||||
STACK_OF(CMS_SignerInfo) *sis;
|
STACK_OF(CMS_SignerInfo) *sis;
|
||||||
CMS_SignerInfo *si;
|
CMS_SignerInfo *si;
|
||||||
@ -1238,22 +1238,22 @@ static void receipt_request_print(BIO *out, CMS_ContentInfo *cms)
|
|||||||
int idlen;
|
int idlen;
|
||||||
CMS_ReceiptRequest_get0_values(rr, &scid, &allorfirst,
|
CMS_ReceiptRequest_get0_values(rr, &scid, &allorfirst,
|
||||||
&rlist, &rto);
|
&rlist, &rto);
|
||||||
BIO_puts(out, " Signed Content ID:\n");
|
BIO_puts(bio_err, " Signed Content ID:\n");
|
||||||
idlen = ASN1_STRING_length(scid);
|
idlen = ASN1_STRING_length(scid);
|
||||||
id = (char *)ASN1_STRING_data(scid);
|
id = (char *)ASN1_STRING_data(scid);
|
||||||
BIO_dump_indent(out, id, idlen, 4);
|
BIO_dump_indent(bio_err, id, idlen, 4);
|
||||||
BIO_puts(out, " Receipts From");
|
BIO_puts(bio_err, " Receipts From");
|
||||||
if (rlist) {
|
if (rlist) {
|
||||||
BIO_puts(out, " List:\n");
|
BIO_puts(bio_err, " List:\n");
|
||||||
gnames_stack_print(out, rlist);
|
gnames_stack_print(rlist);
|
||||||
} else if (allorfirst == 1)
|
} else if (allorfirst == 1)
|
||||||
BIO_puts(out, ": First Tier\n");
|
BIO_puts(bio_err, ": First Tier\n");
|
||||||
else if (allorfirst == 0)
|
else if (allorfirst == 0)
|
||||||
BIO_puts(out, ": All\n");
|
BIO_puts(bio_err, ": All\n");
|
||||||
else
|
else
|
||||||
BIO_printf(out, " Unknown (%d)\n", allorfirst);
|
BIO_printf(bio_err, " Unknown (%d)\n", allorfirst);
|
||||||
BIO_puts(out, " Receipts To:\n");
|
BIO_puts(bio_err, " Receipts To:\n");
|
||||||
gnames_stack_print(out, rto);
|
gnames_stack_print(rto);
|
||||||
}
|
}
|
||||||
if (rr)
|
if (rr)
|
||||||
CMS_ReceiptRequest_free(rr);
|
CMS_ReceiptRequest_free(rr);
|
||||||
|
@ -86,7 +86,7 @@ int dump_certs_pkeys_bag(BIO *out, PKCS12_SAFEBAG *bags, char *pass,
|
|||||||
int print_attribs(BIO *out, STACK_OF(X509_ATTRIBUTE) *attrlst,
|
int print_attribs(BIO *out, STACK_OF(X509_ATTRIBUTE) *attrlst,
|
||||||
const char *name);
|
const char *name);
|
||||||
void hex_prin(BIO *out, unsigned char *buf, int len);
|
void hex_prin(BIO *out, unsigned char *buf, int len);
|
||||||
int alg_print(BIO *x, X509_ALGOR *alg);
|
static int alg_print(X509_ALGOR *alg);
|
||||||
int cert_load(BIO *in, STACK_OF(X509) *sk);
|
int cert_load(BIO *in, STACK_OF(X509) *sk);
|
||||||
static int set_pbe(int *ppbe, const char *str);
|
static int set_pbe(int *ppbe, const char *str);
|
||||||
|
|
||||||
@ -587,7 +587,7 @@ int dump_certs_keys_p12(BIO *out, PKCS12 *p12, char *pass,
|
|||||||
} else if (bagnid == NID_pkcs7_encrypted) {
|
} else if (bagnid == NID_pkcs7_encrypted) {
|
||||||
if (options & INFO) {
|
if (options & INFO) {
|
||||||
BIO_printf(bio_err, "PKCS7 Encrypted data: ");
|
BIO_printf(bio_err, "PKCS7 Encrypted data: ");
|
||||||
alg_print(bio_err, p7->d.encrypted->enc_data->algorithm);
|
alg_print(p7->d.encrypted->enc_data->algorithm);
|
||||||
}
|
}
|
||||||
bags = PKCS12_unpack_p7encdata(p7, pass, passlen);
|
bags = PKCS12_unpack_p7encdata(p7, pass, passlen);
|
||||||
} else
|
} else
|
||||||
@ -649,7 +649,7 @@ int dump_certs_pkeys_bag(BIO *out, PKCS12_SAFEBAG *bag, char *pass,
|
|||||||
case NID_pkcs8ShroudedKeyBag:
|
case NID_pkcs8ShroudedKeyBag:
|
||||||
if (options & INFO) {
|
if (options & INFO) {
|
||||||
BIO_printf(bio_err, "Shrouded Keybag: ");
|
BIO_printf(bio_err, "Shrouded Keybag: ");
|
||||||
alg_print(bio_err, bag->value.shkeybag->algor);
|
alg_print(bag->value.shkeybag->algor);
|
||||||
}
|
}
|
||||||
if (options & NOKEYS)
|
if (options & NOKEYS)
|
||||||
return 1;
|
return 1;
|
||||||
@ -737,11 +737,11 @@ int get_cert_chain(X509 *cert, X509_STORE *store, STACK_OF(X509) **chain)
|
|||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
int alg_print(BIO *x, X509_ALGOR *alg)
|
static int alg_print(X509_ALGOR *alg)
|
||||||
{
|
{
|
||||||
PBEPARAM *pbe;
|
PBEPARAM *pbe;
|
||||||
const unsigned char *p;
|
const unsigned char *p = alg->parameter->value.sequence->data;
|
||||||
p = alg->parameter->value.sequence->data;
|
|
||||||
pbe = d2i_PBEPARAM(NULL, &p, alg->parameter->value.sequence->length);
|
pbe = d2i_PBEPARAM(NULL, &p, alg->parameter->value.sequence->length);
|
||||||
if (!pbe)
|
if (!pbe)
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -204,7 +204,7 @@ void ssl_ctx_set_excert(SSL_CTX *ctx, SSL_EXCERT *exc);
|
|||||||
void ssl_excert_free(SSL_EXCERT *exc);
|
void ssl_excert_free(SSL_EXCERT *exc);
|
||||||
int args_excert(int option, SSL_EXCERT **pexc);
|
int args_excert(int option, SSL_EXCERT **pexc);
|
||||||
int load_excert(SSL_EXCERT **pexc);
|
int load_excert(SSL_EXCERT **pexc);
|
||||||
void print_ssl_summary(BIO *bio, SSL *s);
|
void print_ssl_summary(SSL *s);
|
||||||
#ifdef HEADER_SSL_H
|
#ifdef HEADER_SSL_H
|
||||||
int config_ctx(SSL_CONF_CTX *cctx, STACK_OF(OPENSSL_STRING) *str,
|
int config_ctx(SSL_CONF_CTX *cctx, STACK_OF(OPENSSL_STRING) *str,
|
||||||
SSL_CTX *ctx, int no_ecdhe, int no_jpake);
|
SSL_CTX *ctx, int no_ecdhe, int no_jpake);
|
||||||
@ -214,5 +214,5 @@ int ssl_load_stores(SSL_CTX *ctx, const char *vfyCApath,
|
|||||||
const char *vfyCAfile, const char *chCApath,
|
const char *vfyCAfile, const char *chCApath,
|
||||||
const char *chCAfile, STACK_OF(X509_CRL) *crls,
|
const char *chCAfile, STACK_OF(X509_CRL) *crls,
|
||||||
int crl_download);
|
int crl_download);
|
||||||
void ssl_ctx_security_debug(SSL_CTX *ctx, BIO *out, int verbose);
|
void ssl_ctx_security_debug(SSL_CTX *ctx, int verbose);
|
||||||
#endif
|
#endif
|
||||||
|
71
apps/s_cb.c
71
apps/s_cb.c
@ -186,11 +186,11 @@ int verify_callback(int ok, X509_STORE_CTX *ctx)
|
|||||||
break;
|
break;
|
||||||
case X509_V_ERR_NO_EXPLICIT_POLICY:
|
case X509_V_ERR_NO_EXPLICIT_POLICY:
|
||||||
if (!verify_quiet)
|
if (!verify_quiet)
|
||||||
policies_print(bio_err, ctx);
|
policies_print(ctx);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (err == X509_V_OK && ok == 2 && !verify_quiet)
|
if (err == X509_V_OK && ok == 2 && !verify_quiet)
|
||||||
policies_print(bio_err, ctx);
|
policies_print(ctx);
|
||||||
if (ok && !verify_quiet)
|
if (ok && !verify_quiet)
|
||||||
BIO_printf(bio_err, "verify return:%d\n", ok);
|
BIO_printf(bio_err, "verify return:%d\n", ok);
|
||||||
return (ok);
|
return (ok);
|
||||||
@ -1104,19 +1104,20 @@ struct chain_flags chain_flags_list[] = {
|
|||||||
{0, NULL}
|
{0, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
static void print_chain_flags(BIO *out, SSL *s, int flags)
|
static void print_chain_flags(SSL *s, int flags)
|
||||||
{
|
{
|
||||||
struct chain_flags *ctmp = chain_flags_list;
|
struct chain_flags *ctmp = chain_flags_list;
|
||||||
|
|
||||||
while (ctmp->name) {
|
while (ctmp->name) {
|
||||||
BIO_printf(out, "\t%s: %s\n", ctmp->name,
|
BIO_printf(bio_err, "\t%s: %s\n", ctmp->name,
|
||||||
flags & ctmp->flag ? "OK" : "NOT OK");
|
flags & ctmp->flag ? "OK" : "NOT OK");
|
||||||
ctmp++;
|
ctmp++;
|
||||||
}
|
}
|
||||||
BIO_printf(out, "\tSuite B: ");
|
BIO_printf(bio_err, "\tSuite B: ");
|
||||||
if (SSL_set_cert_flags(s, 0) & SSL_CERT_FLAG_SUITEB_128_LOS)
|
if (SSL_set_cert_flags(s, 0) & SSL_CERT_FLAG_SUITEB_128_LOS)
|
||||||
BIO_puts(out, flags & CERT_PKEY_SUITEB ? "OK\n" : "NOT OK\n");
|
BIO_puts(bio_err, flags & CERT_PKEY_SUITEB ? "OK\n" : "NOT OK\n");
|
||||||
else
|
else
|
||||||
BIO_printf(out, "not tested\n");
|
BIO_printf(bio_err, "not tested\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1157,7 +1158,7 @@ static int set_cert_cb(SSL *ssl, void *arg)
|
|||||||
X509_NAME_print_ex(bio_err, X509_get_subject_name(exc->cert), 0,
|
X509_NAME_print_ex(bio_err, X509_get_subject_name(exc->cert), 0,
|
||||||
XN_FLAG_ONELINE);
|
XN_FLAG_ONELINE);
|
||||||
BIO_puts(bio_err, "\n");
|
BIO_puts(bio_err, "\n");
|
||||||
print_chain_flags(bio_err, ssl, rv);
|
print_chain_flags(ssl, rv);
|
||||||
if (rv & CERT_PKEY_VALID) {
|
if (rv & CERT_PKEY_VALID) {
|
||||||
if (!SSL_use_certificate(ssl, exc->cert)
|
if (!SSL_use_certificate(ssl, exc->cert)
|
||||||
|| !SSL_use_PrivateKey(ssl, exc->key)) {
|
|| !SSL_use_PrivateKey(ssl, exc->key)) {
|
||||||
@ -1334,7 +1335,7 @@ int args_excert(int opt, SSL_EXCERT **pexc)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void print_raw_cipherlist(BIO *bio, SSL *s)
|
static void print_raw_cipherlist(SSL *s)
|
||||||
{
|
{
|
||||||
const unsigned char *rlist;
|
const unsigned char *rlist;
|
||||||
static const unsigned char scsv_id[] = { 0, 0, 0xFF };
|
static const unsigned char scsv_id[] = { 0, 0, 0xFF };
|
||||||
@ -1343,59 +1344,58 @@ static void print_raw_cipherlist(BIO *bio, SSL *s)
|
|||||||
return;
|
return;
|
||||||
num = SSL_get0_raw_cipherlist(s, NULL);
|
num = SSL_get0_raw_cipherlist(s, NULL);
|
||||||
rlistlen = SSL_get0_raw_cipherlist(s, &rlist);
|
rlistlen = SSL_get0_raw_cipherlist(s, &rlist);
|
||||||
BIO_puts(bio, "Client cipher list: ");
|
BIO_puts(bio_err, "Client cipher list: ");
|
||||||
for (i = 0; i < rlistlen; i += num, rlist += num) {
|
for (i = 0; i < rlistlen; i += num, rlist += num) {
|
||||||
const SSL_CIPHER *c = SSL_CIPHER_find(s, rlist);
|
const SSL_CIPHER *c = SSL_CIPHER_find(s, rlist);
|
||||||
if (i)
|
if (i)
|
||||||
BIO_puts(bio, ":");
|
BIO_puts(bio_err, ":");
|
||||||
if (c)
|
if (c)
|
||||||
BIO_puts(bio, SSL_CIPHER_get_name(c));
|
BIO_puts(bio_err, SSL_CIPHER_get_name(c));
|
||||||
else if (!memcmp(rlist, scsv_id - num + 3, num))
|
else if (!memcmp(rlist, scsv_id - num + 3, num))
|
||||||
BIO_puts(bio, "SCSV");
|
BIO_puts(bio_err, "SCSV");
|
||||||
else {
|
else {
|
||||||
size_t j;
|
size_t j;
|
||||||
BIO_puts(bio, "0x");
|
BIO_puts(bio_err, "0x");
|
||||||
for (j = 0; j < num; j++)
|
for (j = 0; j < num; j++)
|
||||||
BIO_printf(bio, "%02X", rlist[j]);
|
BIO_printf(bio_err, "%02X", rlist[j]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BIO_puts(bio, "\n");
|
BIO_puts(bio_err, "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void print_ssl_summary(BIO *bio, SSL *s)
|
void print_ssl_summary(SSL *s)
|
||||||
{
|
{
|
||||||
const SSL_CIPHER *c;
|
const SSL_CIPHER *c;
|
||||||
X509 *peer;
|
X509 *peer;
|
||||||
/*
|
/* const char *pnam = SSL_is_server(s) ? "client" : "server"; */
|
||||||
* const char *pnam = SSL_is_server(s) ? "client" : "server";
|
|
||||||
*/
|
BIO_printf(bio_err, "Protocol version: %s\n", SSL_get_version(s));
|
||||||
BIO_printf(bio, "Protocol version: %s\n", SSL_get_version(s));
|
print_raw_cipherlist(s);
|
||||||
print_raw_cipherlist(bio, s);
|
|
||||||
c = SSL_get_current_cipher(s);
|
c = SSL_get_current_cipher(s);
|
||||||
BIO_printf(bio, "Ciphersuite: %s\n", SSL_CIPHER_get_name(c));
|
BIO_printf(bio_err, "Ciphersuite: %s\n", SSL_CIPHER_get_name(c));
|
||||||
do_print_sigalgs(bio, s, 0);
|
do_print_sigalgs(bio_err, s, 0);
|
||||||
peer = SSL_get_peer_certificate(s);
|
peer = SSL_get_peer_certificate(s);
|
||||||
if (peer) {
|
if (peer) {
|
||||||
int nid;
|
int nid;
|
||||||
BIO_puts(bio, "Peer certificate: ");
|
BIO_puts(bio_err, "Peer certificate: ");
|
||||||
X509_NAME_print_ex(bio, X509_get_subject_name(peer),
|
X509_NAME_print_ex(bio_err, X509_get_subject_name(peer),
|
||||||
0, XN_FLAG_ONELINE);
|
0, XN_FLAG_ONELINE);
|
||||||
BIO_puts(bio, "\n");
|
BIO_puts(bio_err, "\n");
|
||||||
if (SSL_get_peer_signature_nid(s, &nid))
|
if (SSL_get_peer_signature_nid(s, &nid))
|
||||||
BIO_printf(bio, "Hash used: %s\n", OBJ_nid2sn(nid));
|
BIO_printf(bio_err, "Hash used: %s\n", OBJ_nid2sn(nid));
|
||||||
} else
|
} else
|
||||||
BIO_puts(bio, "No peer certificate\n");
|
BIO_puts(bio_err, "No peer certificate\n");
|
||||||
if (peer)
|
if (peer)
|
||||||
X509_free(peer);
|
X509_free(peer);
|
||||||
#ifndef OPENSSL_NO_EC
|
#ifndef OPENSSL_NO_EC
|
||||||
ssl_print_point_formats(bio, s);
|
ssl_print_point_formats(bio_err, s);
|
||||||
if (SSL_is_server(s))
|
if (SSL_is_server(s))
|
||||||
ssl_print_curves(bio, s, 1);
|
ssl_print_curves(bio_err, s, 1);
|
||||||
else
|
else
|
||||||
ssl_print_tmp_key(bio, s);
|
ssl_print_tmp_key(bio_err, s);
|
||||||
#else
|
#else
|
||||||
if (!SSL_is_server(s))
|
if (!SSL_is_server(s))
|
||||||
ssl_print_tmp_key(bio, s);
|
ssl_print_tmp_key(bio_err, s);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1681,10 +1681,11 @@ static int security_callback_debug(SSL *s, SSL_CTX *ctx,
|
|||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ssl_ctx_security_debug(SSL_CTX *ctx, BIO *out, int verbose)
|
void ssl_ctx_security_debug(SSL_CTX *ctx, int verbose)
|
||||||
{
|
{
|
||||||
static security_debug_ex sdb;
|
static security_debug_ex sdb;
|
||||||
sdb.out = out;
|
|
||||||
|
sdb.out = bio_err;
|
||||||
sdb.verbose = verbose;
|
sdb.verbose = verbose;
|
||||||
sdb.old_cb = SSL_CTX_get_security_callback(ctx);
|
sdb.old_cb = SSL_CTX_get_security_callback(ctx);
|
||||||
SSL_CTX_set_security_callback(ctx, security_callback_debug);
|
SSL_CTX_set_security_callback(ctx, security_callback_debug);
|
||||||
|
@ -1181,7 +1181,7 @@ int s_client_main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (sdebug)
|
if (sdebug)
|
||||||
ssl_ctx_security_debug(ctx, bio_err, sdebug);
|
ssl_ctx_security_debug(ctx, sdebug);
|
||||||
|
|
||||||
if (vpmtouched && !SSL_CTX_set1_param(ctx, vpm)) {
|
if (vpmtouched && !SSL_CTX_set1_param(ctx, vpm)) {
|
||||||
BIO_printf(bio_err, "Error setting verify params\n");
|
BIO_printf(bio_err, "Error setting verify params\n");
|
||||||
@ -1663,7 +1663,7 @@ int s_client_main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
if (c_brief) {
|
if (c_brief) {
|
||||||
BIO_puts(bio_err, "CONNECTION ESTABLISHED\n");
|
BIO_puts(bio_err, "CONNECTION ESTABLISHED\n");
|
||||||
print_ssl_summary(bio_err, con);
|
print_ssl_summary(con);
|
||||||
}
|
}
|
||||||
|
|
||||||
print_stuff(bio_c_out, con, full_log);
|
print_stuff(bio_c_out, con, full_log);
|
||||||
|
@ -1617,7 +1617,7 @@ int s_server_main(int argc, char *argv[])
|
|||||||
|
|
||||||
ctx = SSL_CTX_new(meth);
|
ctx = SSL_CTX_new(meth);
|
||||||
if (sdebug)
|
if (sdebug)
|
||||||
ssl_ctx_security_debug(ctx, bio_err, sdebug);
|
ssl_ctx_security_debug(ctx, sdebug);
|
||||||
if (ctx == NULL) {
|
if (ctx == NULL) {
|
||||||
ERR_print_errors(bio_err);
|
ERR_print_errors(bio_err);
|
||||||
goto end;
|
goto end;
|
||||||
@ -1690,7 +1690,7 @@ int s_server_main(int argc, char *argv[])
|
|||||||
BIO_printf(bio_s_out, "Setting secondary ctx parameters\n");
|
BIO_printf(bio_s_out, "Setting secondary ctx parameters\n");
|
||||||
|
|
||||||
if (sdebug)
|
if (sdebug)
|
||||||
ssl_ctx_security_debug(ctx, bio_err, sdebug);
|
ssl_ctx_security_debug(ctx, sdebug);
|
||||||
|
|
||||||
if (session_id_prefix) {
|
if (session_id_prefix) {
|
||||||
if (strlen(session_id_prefix) >= 32)
|
if (strlen(session_id_prefix) >= 32)
|
||||||
@ -2487,7 +2487,7 @@ static int init_ssl_connection(SSL *con)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (s_brief)
|
if (s_brief)
|
||||||
print_ssl_summary(bio_err, con);
|
print_ssl_summary(con);
|
||||||
|
|
||||||
PEM_write_bio_SSL_SESSION(bio_s_out, SSL_get_session(con));
|
PEM_write_bio_SSL_SESSION(bio_s_out, SSL_get_session(con));
|
||||||
|
|
||||||
@ -3036,7 +3036,7 @@ static int rev_body(char *hostname, int s, int stype, unsigned char *context)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
BIO_printf(bio_err, "CONNECTION ESTABLISHED\n");
|
BIO_printf(bio_err, "CONNECTION ESTABLISHED\n");
|
||||||
print_ssl_summary(bio_err, con);
|
print_ssl_summary(con);
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
i = BIO_gets(io, buf, bufsize - 1);
|
i = BIO_gets(io, buf, bufsize - 1);
|
||||||
|
@ -697,7 +697,7 @@ static int smime_cb(int ok, X509_STORE_CTX *ctx)
|
|||||||
&& ((error != X509_V_OK) || (ok != 2)))
|
&& ((error != X509_V_OK) || (ok != 2)))
|
||||||
return ok;
|
return ok;
|
||||||
|
|
||||||
policies_print(bio_err, ctx);
|
policies_print(ctx);
|
||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
|
|
||||||
|
54
apps/srp.c
54
apps/srp.c
@ -102,38 +102,38 @@ static int get_index(CA_DB *db, char *id, char type)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void print_entry(CA_DB *db, BIO *bio, int indx, int verbose, char *s)
|
static void print_entry(CA_DB *db, int indx, int verbose, char *s)
|
||||||
{
|
{
|
||||||
if (indx >= 0 && verbose) {
|
if (indx >= 0 && verbose) {
|
||||||
int j;
|
int j;
|
||||||
char **pp = sk_OPENSSL_PSTRING_value(db->db->data, indx);
|
char **pp = sk_OPENSSL_PSTRING_value(db->db->data, indx);
|
||||||
BIO_printf(bio, "%s \"%s\"\n", s, pp[DB_srpid]);
|
BIO_printf(bio_err, "%s \"%s\"\n", s, pp[DB_srpid]);
|
||||||
for (j = 0; j < DB_NUMBER; j++) {
|
for (j = 0; j < DB_NUMBER; j++) {
|
||||||
BIO_printf(bio_err, " %d = \"%s\"\n", j, pp[j]);
|
BIO_printf(bio_err, " %d = \"%s\"\n", j, pp[j]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void print_index(CA_DB *db, BIO *bio, int indexindex, int verbose)
|
static void print_index(CA_DB *db, int indexindex, int verbose)
|
||||||
{
|
{
|
||||||
print_entry(db, bio, indexindex, verbose, "g N entry");
|
print_entry(db, indexindex, verbose, "g N entry");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void print_user(CA_DB *db, BIO *bio, int userindex, int verbose)
|
static void print_user(CA_DB *db, int userindex, int verbose)
|
||||||
{
|
{
|
||||||
if (verbose > 0) {
|
if (verbose > 0) {
|
||||||
char **pp = sk_OPENSSL_PSTRING_value(db->db->data, userindex);
|
char **pp = sk_OPENSSL_PSTRING_value(db->db->data, userindex);
|
||||||
|
|
||||||
if (pp[DB_srptype][0] != 'I') {
|
if (pp[DB_srptype][0] != 'I') {
|
||||||
print_entry(db, bio, userindex, verbose, "User entry");
|
print_entry(db, userindex, verbose, "User entry");
|
||||||
print_entry(db, bio, get_index(db, pp[DB_srpgN], 'I'), verbose,
|
print_entry(db, get_index(db, pp[DB_srpgN], 'I'), verbose,
|
||||||
"g N entry");
|
"g N entry");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int update_index(CA_DB *db, BIO *bio, char **row)
|
static int update_index(CA_DB *db, char **row)
|
||||||
{
|
{
|
||||||
char **irow;
|
char **irow;
|
||||||
int i;
|
int i;
|
||||||
@ -150,8 +150,8 @@ static int update_index(CA_DB *db, BIO *bio, char **row)
|
|||||||
irow[DB_NUMBER] = NULL;
|
irow[DB_NUMBER] = NULL;
|
||||||
|
|
||||||
if (!TXT_DB_insert(db->db, irow)) {
|
if (!TXT_DB_insert(db->db, irow)) {
|
||||||
BIO_printf(bio, "failed to update srpvfile\n");
|
BIO_printf(bio_err, "failed to update srpvfile\n");
|
||||||
BIO_printf(bio, "TXT_DB error number %ld\n", db->db->error);
|
BIO_printf(bio_err, "TXT_DB error number %ld\n", db->db->error);
|
||||||
OPENSSL_free(irow);
|
OPENSSL_free(irow);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -165,7 +165,7 @@ static void lookup_fail(const char *name, const char *tag)
|
|||||||
|
|
||||||
static char *srp_verify_user(const char *user, const char *srp_verifier,
|
static char *srp_verify_user(const char *user, const char *srp_verifier,
|
||||||
char *srp_usersalt, const char *g, const char *N,
|
char *srp_usersalt, const char *g, const char *N,
|
||||||
const char *passin, BIO *bio, int verbose)
|
const char *passin, int verbose)
|
||||||
{
|
{
|
||||||
char password[1024];
|
char password[1024];
|
||||||
PW_CB_DATA cb_tmp;
|
PW_CB_DATA cb_tmp;
|
||||||
@ -177,17 +177,17 @@ static char *srp_verify_user(const char *user, const char *srp_verifier,
|
|||||||
|
|
||||||
if (password_callback(password, 1024, 0, &cb_tmp) > 0) {
|
if (password_callback(password, 1024, 0, &cb_tmp) > 0) {
|
||||||
if (verbose)
|
if (verbose)
|
||||||
BIO_printf(bio,
|
BIO_printf(bio_err,
|
||||||
"Validating\n user=\"%s\"\n srp_verifier=\"%s\"\n srp_usersalt=\"%s\"\n g=\"%s\"\n N=\"%s\"\n",
|
"Validating\n user=\"%s\"\n srp_verifier=\"%s\"\n srp_usersalt=\"%s\"\n g=\"%s\"\n N=\"%s\"\n",
|
||||||
user, srp_verifier, srp_usersalt, g, N);
|
user, srp_verifier, srp_usersalt, g, N);
|
||||||
BIO_printf(bio, "Pass %s\n", password);
|
BIO_printf(bio_err, "Pass %s\n", password);
|
||||||
|
|
||||||
OPENSSL_assert(srp_usersalt != NULL);
|
OPENSSL_assert(srp_usersalt != NULL);
|
||||||
if (!
|
if (!
|
||||||
(gNid =
|
(gNid =
|
||||||
SRP_create_verifier(user, password, &srp_usersalt, &verifier, N,
|
SRP_create_verifier(user, password, &srp_usersalt, &verifier, N,
|
||||||
g))) {
|
g))) {
|
||||||
BIO_printf(bio, "Internal error validating SRP verifier\n");
|
BIO_printf(bio_err, "Internal error validating SRP verifier\n");
|
||||||
} else {
|
} else {
|
||||||
if (strcmp(verifier, srp_verifier))
|
if (strcmp(verifier, srp_verifier))
|
||||||
gNid = NULL;
|
gNid = NULL;
|
||||||
@ -199,7 +199,7 @@ static char *srp_verify_user(const char *user, const char *srp_verifier,
|
|||||||
|
|
||||||
static char *srp_create_user(char *user, char **srp_verifier,
|
static char *srp_create_user(char *user, char **srp_verifier,
|
||||||
char **srp_usersalt, char *g, char *N,
|
char **srp_usersalt, char *g, char *N,
|
||||||
char *passout, BIO *bio, int verbose)
|
char *passout, int verbose)
|
||||||
{
|
{
|
||||||
char password[1024];
|
char password[1024];
|
||||||
PW_CB_DATA cb_tmp;
|
PW_CB_DATA cb_tmp;
|
||||||
@ -210,17 +210,17 @@ static char *srp_create_user(char *user, char **srp_verifier,
|
|||||||
|
|
||||||
if (password_callback(password, 1024, 1, &cb_tmp) > 0) {
|
if (password_callback(password, 1024, 1, &cb_tmp) > 0) {
|
||||||
if (verbose)
|
if (verbose)
|
||||||
BIO_printf(bio, "Creating\n user=\"%s\"\n g=\"%s\"\n N=\"%s\"\n",
|
BIO_printf(bio_err, "Creating\n user=\"%s\"\n g=\"%s\"\n N=\"%s\"\n",
|
||||||
user, g, N);
|
user, g, N);
|
||||||
if (!
|
if (!
|
||||||
(gNid =
|
(gNid =
|
||||||
SRP_create_verifier(user, password, &salt, srp_verifier, N,
|
SRP_create_verifier(user, password, &salt, srp_verifier, N,
|
||||||
g))) {
|
g))) {
|
||||||
BIO_printf(bio, "Internal error creating SRP verifier\n");
|
BIO_printf(bio_err, "Internal error creating SRP verifier\n");
|
||||||
} else
|
} else
|
||||||
*srp_usersalt = salt;
|
*srp_usersalt = salt;
|
||||||
if (verbose > 1)
|
if (verbose > 1)
|
||||||
BIO_printf(bio, "gNid=%s salt =\"%s\"\n verifier =\"%s\"\n", gNid,
|
BIO_printf(bio_err, "gNid=%s salt =\"%s\"\n verifier =\"%s\"\n", gNid,
|
||||||
salt, *srp_verifier);
|
salt, *srp_verifier);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -453,7 +453,7 @@ int srp_main(int argc, char **argv)
|
|||||||
if (gNindex < 0 && gN != NULL && !strcmp(gN, pp[DB_srpid]))
|
if (gNindex < 0 && gN != NULL && !strcmp(gN, pp[DB_srpid]))
|
||||||
gNindex = i;
|
gNindex = i;
|
||||||
|
|
||||||
print_index(db, bio_err, i, verbose > 1);
|
print_index(db, i, verbose > 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -462,7 +462,7 @@ int srp_main(int argc, char **argv)
|
|||||||
|
|
||||||
if (gNindex >= 0) {
|
if (gNindex >= 0) {
|
||||||
gNrow = sk_OPENSSL_PSTRING_value(db->db->data, gNindex);
|
gNrow = sk_OPENSSL_PSTRING_value(db->db->data, gNindex);
|
||||||
print_entry(db, bio_err, gNindex, verbose > 1, "Default g and N");
|
print_entry(db, gNindex, verbose > 1, "Default g and N");
|
||||||
} else if (maxgN > 0 && !SRP_get_default_gN(gN)) {
|
} else if (maxgN > 0 && !SRP_get_default_gN(gN)) {
|
||||||
BIO_printf(bio_err, "No g and N value for index \"%s\"\n", gN);
|
BIO_printf(bio_err, "No g and N value for index \"%s\"\n", gN);
|
||||||
goto end;
|
goto end;
|
||||||
@ -484,7 +484,7 @@ int srp_main(int argc, char **argv)
|
|||||||
if (verbose > 1)
|
if (verbose > 1)
|
||||||
BIO_printf(bio_err, "Processing user \"%s\"\n", user);
|
BIO_printf(bio_err, "Processing user \"%s\"\n", user);
|
||||||
if ((userindex = get_index(db, user, 'U')) >= 0) {
|
if ((userindex = get_index(db, user, 'U')) >= 0) {
|
||||||
print_user(db, bio_err, userindex, (verbose > 0)
|
print_user(db, userindex, (verbose > 0)
|
||||||
|| mode == OPT_LIST);
|
|| mode == OPT_LIST);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -493,7 +493,7 @@ int srp_main(int argc, char **argv)
|
|||||||
BIO_printf(bio_err, "List all users\n");
|
BIO_printf(bio_err, "List all users\n");
|
||||||
|
|
||||||
for (i = 0; i < sk_OPENSSL_PSTRING_num(db->db->data); i++) {
|
for (i = 0; i < sk_OPENSSL_PSTRING_num(db->db->data); i++) {
|
||||||
print_user(db, bio_err, i, 1);
|
print_user(db, i, 1);
|
||||||
}
|
}
|
||||||
} else if (userindex < 0) {
|
} else if (userindex < 0) {
|
||||||
BIO_printf(bio_err,
|
BIO_printf(bio_err,
|
||||||
@ -521,7 +521,7 @@ int srp_main(int argc, char **argv)
|
|||||||
&(row[DB_srpsalt]),
|
&(row[DB_srpsalt]),
|
||||||
gNrow ? gNrow[DB_srpsalt] : gN,
|
gNrow ? gNrow[DB_srpsalt] : gN,
|
||||||
gNrow ? gNrow[DB_srpverifier] : NULL,
|
gNrow ? gNrow[DB_srpverifier] : NULL,
|
||||||
passout, bio_err, verbose))) {
|
passout, verbose))) {
|
||||||
BIO_printf(bio_err,
|
BIO_printf(bio_err,
|
||||||
"Cannot create srp verifier for user \"%s\", operation abandoned .\n",
|
"Cannot create srp verifier for user \"%s\", operation abandoned .\n",
|
||||||
user);
|
user);
|
||||||
@ -540,7 +540,7 @@ int srp_main(int argc, char **argv)
|
|||||||
=
|
=
|
||||||
BUF_strdup
|
BUF_strdup
|
||||||
(userinfo))))
|
(userinfo))))
|
||||||
|| !update_index(db, bio_err, row)) {
|
|| !update_index(db, row)) {
|
||||||
if (row[DB_srpid])
|
if (row[DB_srpid])
|
||||||
OPENSSL_free(row[DB_srpid]);
|
OPENSSL_free(row[DB_srpid]);
|
||||||
if (row[DB_srpgN])
|
if (row[DB_srpgN])
|
||||||
@ -593,7 +593,7 @@ int srp_main(int argc, char **argv)
|
|||||||
(user, row[DB_srpverifier], row[DB_srpsalt],
|
(user, row[DB_srpverifier], row[DB_srpsalt],
|
||||||
irow ? irow[DB_srpsalt] : row[DB_srpgN],
|
irow ? irow[DB_srpsalt] : row[DB_srpgN],
|
||||||
irow ? irow[DB_srpverifier] : NULL, passin,
|
irow ? irow[DB_srpverifier] : NULL, passin,
|
||||||
bio_err, verbose)) {
|
verbose)) {
|
||||||
BIO_printf(bio_err,
|
BIO_printf(bio_err,
|
||||||
"Invalid password for user \"%s\", operation abandoned.\n",
|
"Invalid password for user \"%s\", operation abandoned.\n",
|
||||||
user);
|
user);
|
||||||
@ -611,7 +611,7 @@ int srp_main(int argc, char **argv)
|
|||||||
&(row[DB_srpsalt]),
|
&(row[DB_srpsalt]),
|
||||||
gNrow ? gNrow[DB_srpsalt] : NULL,
|
gNrow ? gNrow[DB_srpsalt] : NULL,
|
||||||
gNrow ? gNrow[DB_srpverifier] : NULL,
|
gNrow ? gNrow[DB_srpverifier] : NULL,
|
||||||
passout, bio_err, verbose))) {
|
passout, verbose))) {
|
||||||
BIO_printf(bio_err,
|
BIO_printf(bio_err,
|
||||||
"Cannot create srp verifier for user \"%s\", operation abandoned.\n",
|
"Cannot create srp verifier for user \"%s\", operation abandoned.\n",
|
||||||
user);
|
user);
|
||||||
@ -664,7 +664,7 @@ int srp_main(int argc, char **argv)
|
|||||||
|
|
||||||
if (pp[DB_srptype][0] == 'v') {
|
if (pp[DB_srptype][0] == 'v') {
|
||||||
pp[DB_srptype][0] = 'V';
|
pp[DB_srptype][0] = 'V';
|
||||||
print_user(db, bio_err, i, verbose);
|
print_user(db, i, verbose);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -296,26 +296,25 @@ static int cb(int ok, X509_STORE_CTX *ctx)
|
|||||||
|
|
||||||
if (!ok) {
|
if (!ok) {
|
||||||
if (current_cert) {
|
if (current_cert) {
|
||||||
X509_NAME_print_ex_fp(stdout,
|
X509_NAME_print_ex(bio_err,
|
||||||
X509_get_subject_name(current_cert),
|
X509_get_subject_name(current_cert),
|
||||||
0, XN_FLAG_ONELINE);
|
0, XN_FLAG_ONELINE);
|
||||||
printf("\n");
|
BIO_printf(bio_err, "\n");
|
||||||
}
|
}
|
||||||
printf("%serror %d at %d depth lookup:%s\n",
|
BIO_printf(bio_err, "%serror %d at %d depth lookup:%s\n",
|
||||||
X509_STORE_CTX_get0_parent_ctx(ctx) ? "[CRL path]" : "",
|
X509_STORE_CTX_get0_parent_ctx(ctx) ? "[CRL path]" : "",
|
||||||
cert_error,
|
cert_error,
|
||||||
X509_STORE_CTX_get_error_depth(ctx),
|
X509_STORE_CTX_get_error_depth(ctx),
|
||||||
X509_verify_cert_error_string(cert_error));
|
X509_verify_cert_error_string(cert_error));
|
||||||
switch (cert_error) {
|
switch (cert_error) {
|
||||||
case X509_V_ERR_NO_EXPLICIT_POLICY:
|
case X509_V_ERR_NO_EXPLICIT_POLICY:
|
||||||
policies_print(bio_err, ctx);
|
policies_print(ctx);
|
||||||
case X509_V_ERR_CERT_HAS_EXPIRED:
|
case X509_V_ERR_CERT_HAS_EXPIRED:
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* since we are just checking the certificates, it is ok if they
|
* since we are just checking the certificates, it is ok if they
|
||||||
* are self signed. But we should still warn the user.
|
* are self signed. But we should still warn the user.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
|
case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:
|
||||||
/* Continue after extension errors too */
|
/* Continue after extension errors too */
|
||||||
case X509_V_ERR_INVALID_CA:
|
case X509_V_ERR_INVALID_CA:
|
||||||
@ -326,14 +325,13 @@ static int cb(int ok, X509_STORE_CTX *ctx)
|
|||||||
case X509_V_ERR_CRL_NOT_YET_VALID:
|
case X509_V_ERR_CRL_NOT_YET_VALID:
|
||||||
case X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION:
|
case X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION:
|
||||||
ok = 1;
|
ok = 1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ok;
|
return ok;
|
||||||
|
|
||||||
}
|
}
|
||||||
if (cert_error == X509_V_OK && ok == 2)
|
if (cert_error == X509_V_OK && ok == 2)
|
||||||
policies_print(bio_out, ctx);
|
policies_print(ctx);
|
||||||
if (!v_verbose)
|
if (!v_verbose)
|
||||||
ERR_clear_error();
|
ERR_clear_error();
|
||||||
return (ok);
|
return (ok);
|
||||||
|
Loading…
Reference in New Issue
Block a user