Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nss: fix build after e60fe20fdf94e829ba5fce33f7a9d6c281149f7d #1391

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/urldata.h
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@ struct ssl_connect_data {
PRFileDesc *handle;
char *client_nickname;
struct Curl_easy *data;
struct curl_llist *obj_list;
struct curl_llist obj_list;
PK11GenericObject *obj_clicert;
#elif defined(USE_GSKIT)
gsk_handle handle;
Expand Down
23 changes: 8 additions & 15 deletions lib/vtls/nss.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ PRFileDesc *PR_ImportTCPSocket(PRInt32 osfd);
static PRLock *nss_initlock = NULL;
static PRLock *nss_crllock = NULL;
static PRLock *nss_findslot_lock = NULL;
static struct curl_llist *nss_crl_list = NULL;
static struct curl_llist nss_crl_list;
static NSSInitContext *nss_context = NULL;
static volatile int initialized = 0;

Expand Down Expand Up @@ -413,7 +413,7 @@ static CURLcode nss_create_object(struct ssl_connect_data *ssl,
if(!obj)
return result;

if(!Curl_llist_insert_next(ssl->obj_list, ssl->obj_list->tail, obj)) {
if(!Curl_llist_insert_next(&ssl->obj_list, ssl->obj_list.tail, obj)) {
PK11_DestroyGenericObject(obj);
return CURLE_OUT_OF_MEMORY;
}
Expand Down Expand Up @@ -496,7 +496,7 @@ static CURLcode nss_cache_crl(SECItem *crl_der)
PR_Lock(nss_crllock);

/* store the CRL item so that we can free it in Curl_nss_cleanup() */
if(!Curl_llist_insert_next(nss_crl_list, nss_crl_list->tail, crl_der)) {
if(!Curl_llist_insert_next(&nss_crl_list, nss_crl_list.tail, crl_der)) {
SECITEM_FreeItem(crl_der, PR_TRUE);
PR_Unlock(nss_crllock);
return CURLE_OUT_OF_MEMORY;
Expand Down Expand Up @@ -1227,9 +1227,7 @@ static CURLcode nss_init(struct Curl_easy *data)
return CURLE_OK;

/* list of all CRL items we need to destroy in Curl_nss_cleanup() */
nss_crl_list = Curl_llist_alloc(nss_destroy_crl_item);
if(!nss_crl_list)
return CURLE_OUT_OF_MEMORY;
Curl_llist_init(&nss_crl_list, nss_destroy_crl_item);

/* First we check if $SSL_DIR points to a valid dir */
cert_dir = getenv("SSL_DIR");
Expand Down Expand Up @@ -1336,8 +1334,7 @@ void Curl_nss_cleanup(void)
}

/* destroy all CRL items */
Curl_llist_destroy(nss_crl_list, NULL);
nss_crl_list = NULL;
Curl_llist_destroy(&nss_crl_list, NULL);

PR_Unlock(nss_initlock);

Expand Down Expand Up @@ -1385,8 +1382,7 @@ static void nss_close(struct ssl_connect_data *connssl)
connssl->client_nickname = NULL;

/* destroy all NSS objects in order to avoid failure of NSS shutdown */
Curl_llist_destroy(connssl->obj_list, NULL);
connssl->obj_list = NULL;
Curl_llist_destroy(&connssl->obj_list, NULL);
connssl->obj_clicert = NULL;

if(connssl->handle) {
Expand Down Expand Up @@ -1636,8 +1632,7 @@ static CURLcode nss_fail_connect(struct ssl_connect_data *connssl,
}

/* cleanup on connection failure */
Curl_llist_destroy(connssl->obj_list, NULL);
connssl->obj_list = NULL;
Curl_llist_destroy(&connssl->obj_list, NULL);

return curlerr;
}
Expand Down Expand Up @@ -1678,9 +1673,7 @@ static CURLcode nss_setup_connect(struct connectdata *conn, int sockindex)
connssl->data = data;

/* list of all NSS objects we need to destroy in Curl_nss_close() */
connssl->obj_list = Curl_llist_alloc(nss_destroy_object);
if(!connssl->obj_list)
return CURLE_OUT_OF_MEMORY;
Curl_llist_init(&connssl->obj_list, nss_destroy_object);

/* FIXME. NSS doesn't support multiple databases open at the same time. */
PR_Lock(nss_initlock);
Expand Down