Loading lib/nss.c +27 −33 Original line number Diff line number Diff line Loading @@ -278,6 +278,24 @@ static int is_file(const char *filename) return 0; } static char *fmt_nickname(char *str, bool *nickname_alloc) { char *nickname = NULL; *nickname_alloc = FALSE; if(is_file(str)) { char *n = strrchr(str, '/'); if(n) { *nickname_alloc = TRUE; n++; /* skip last slash */ nickname = aprintf("PEM Token #%d:%s", 1, n); } return nickname; } return str; } static int nss_load_cert(struct ssl_connect_data *ssl, const char *filename, PRBool cacert) { Loading Loading @@ -795,7 +813,7 @@ static SECStatus SelectClientCert(void *arg, PRFileDesc *sock, return SECFailure; } infof(data, "NSS: Client client certificate: %s\n", nickname); infof(data, "NSS: client certificate: %s\n", nickname); display_cert_info(data, *pRetCert); return SECSuccess; } Loading Loading @@ -1164,25 +1182,11 @@ CURLcode Curl_nss_connect(struct connectdata *conn, int sockindex) } if(data->set.str[STRING_CERT]) { char *n; char *nickname; bool nickname_alloc = FALSE; if(is_file(data->set.str[STRING_CERT])) { n = strrchr(data->set.str[STRING_CERT], '/'); if(n) { n++; /* skip last slash */ nickname = aprintf("PEM Token #%d:%s", 1, n); char *nickname = fmt_nickname(data->set.str[STRING_CERT], &nickname_alloc); if(!nickname) return CURLE_OUT_OF_MEMORY; nickname_alloc = TRUE; } } else { nickname = data->set.str[STRING_CERT]; } if(!cert_stuff(conn, sockindex, data->set.str[STRING_CERT], data->set.str[STRING_KEY])) { /* failf() is already done in cert_stuff() */ Loading Loading @@ -1240,23 +1244,13 @@ CURLcode Curl_nss_connect(struct connectdata *conn, int sockindex) display_conn_info(conn, connssl->handle); if (data->set.str[STRING_SSL_ISSUERCERT]) { char *n; char *nickname; bool nickname_alloc = FALSE; SECStatus ret; bool nickname_alloc = FALSE; char *nickname = fmt_nickname(data->set.str[STRING_SSL_ISSUERCERT], &nickname_alloc); if(is_file(data->set.str[STRING_SSL_ISSUERCERT])) { n = strrchr(data->set.str[STRING_SSL_ISSUERCERT], '/'); if (n) { n++; /* skip last slash */ nickname = aprintf("PEM Token #%d:%s", 1, n); if(!nickname) return CURLE_OUT_OF_MEMORY; nickname_alloc = TRUE; } } else nickname = data->set.str[STRING_SSL_ISSUERCERT]; ret = check_issuer_cert(connssl->handle, nickname); Loading Loading
lib/nss.c +27 −33 Original line number Diff line number Diff line Loading @@ -278,6 +278,24 @@ static int is_file(const char *filename) return 0; } static char *fmt_nickname(char *str, bool *nickname_alloc) { char *nickname = NULL; *nickname_alloc = FALSE; if(is_file(str)) { char *n = strrchr(str, '/'); if(n) { *nickname_alloc = TRUE; n++; /* skip last slash */ nickname = aprintf("PEM Token #%d:%s", 1, n); } return nickname; } return str; } static int nss_load_cert(struct ssl_connect_data *ssl, const char *filename, PRBool cacert) { Loading Loading @@ -795,7 +813,7 @@ static SECStatus SelectClientCert(void *arg, PRFileDesc *sock, return SECFailure; } infof(data, "NSS: Client client certificate: %s\n", nickname); infof(data, "NSS: client certificate: %s\n", nickname); display_cert_info(data, *pRetCert); return SECSuccess; } Loading Loading @@ -1164,25 +1182,11 @@ CURLcode Curl_nss_connect(struct connectdata *conn, int sockindex) } if(data->set.str[STRING_CERT]) { char *n; char *nickname; bool nickname_alloc = FALSE; if(is_file(data->set.str[STRING_CERT])) { n = strrchr(data->set.str[STRING_CERT], '/'); if(n) { n++; /* skip last slash */ nickname = aprintf("PEM Token #%d:%s", 1, n); char *nickname = fmt_nickname(data->set.str[STRING_CERT], &nickname_alloc); if(!nickname) return CURLE_OUT_OF_MEMORY; nickname_alloc = TRUE; } } else { nickname = data->set.str[STRING_CERT]; } if(!cert_stuff(conn, sockindex, data->set.str[STRING_CERT], data->set.str[STRING_KEY])) { /* failf() is already done in cert_stuff() */ Loading Loading @@ -1240,23 +1244,13 @@ CURLcode Curl_nss_connect(struct connectdata *conn, int sockindex) display_conn_info(conn, connssl->handle); if (data->set.str[STRING_SSL_ISSUERCERT]) { char *n; char *nickname; bool nickname_alloc = FALSE; SECStatus ret; bool nickname_alloc = FALSE; char *nickname = fmt_nickname(data->set.str[STRING_SSL_ISSUERCERT], &nickname_alloc); if(is_file(data->set.str[STRING_SSL_ISSUERCERT])) { n = strrchr(data->set.str[STRING_SSL_ISSUERCERT], '/'); if (n) { n++; /* skip last slash */ nickname = aprintf("PEM Token #%d:%s", 1, n); if(!nickname) return CURLE_OUT_OF_MEMORY; nickname_alloc = TRUE; } } else nickname = data->set.str[STRING_SSL_ISSUERCERT]; ret = check_issuer_cert(connssl->handle, nickname); Loading