summaryrefslogtreecommitdiff
path: root/lib/auth
diff options
context:
space:
mode:
Diffstat (limited to 'lib/auth')
-rw-r--r--lib/auth/dhe_psk.c4
-rw-r--r--lib/auth/psk.c2
-rw-r--r--lib/auth/psk_passwd.c7
-rw-r--r--lib/auth/psk_passwd.h4
-rw-r--r--lib/auth/rsa_psk.c2
5 files changed, 8 insertions, 11 deletions
diff --git a/lib/auth/dhe_psk.c b/lib/auth/dhe_psk.c
index cb0c203a91..0d4d86ad03 100644
--- a/lib/auth/dhe_psk.c
+++ b/lib/auth/dhe_psk.c
@@ -323,7 +323,7 @@ proc_dhe_psk_client_kx(gnutls_session_t session, uint8_t * data,
data += username.size + 2;
ret =
- _gnutls_psk_pwd_find_entry(session, info->username, &psk_key);
+ _gnutls_psk_pwd_find_entry(session, cred, info->username, &psk_key);
if (ret < 0)
return gnutls_assert_val(ret);
@@ -392,7 +392,7 @@ proc_ecdhe_psk_client_kx(gnutls_session_t session, uint8_t * data,
/* should never fail. It will always return a key even if it is
* a random one */
ret =
- _gnutls_psk_pwd_find_entry(session, info->username, &psk_key);
+ _gnutls_psk_pwd_find_entry(session, cred, info->username, &psk_key);
if (ret < 0)
return gnutls_assert_val(ret);
diff --git a/lib/auth/psk.c b/lib/auth/psk.c
index 6968bb8057..113fd53468 100644
--- a/lib/auth/psk.c
+++ b/lib/auth/psk.c
@@ -235,7 +235,7 @@ _gnutls_proc_psk_client_kx(gnutls_session_t session, uint8_t * data,
info->username[username.size] = 0;
ret =
- _gnutls_psk_pwd_find_entry(session, info->username, &psk_key);
+ _gnutls_psk_pwd_find_entry(session, cred, info->username, &psk_key);
if (ret < 0)
return gnutls_assert_val(ret);
diff --git a/lib/auth/psk_passwd.c b/lib/auth/psk_passwd.c
index dfaac2bea2..893c1fb0cd 100644
--- a/lib/auth/psk_passwd.c
+++ b/lib/auth/psk_passwd.c
@@ -105,18 +105,15 @@ static int _randomize_psk(gnutls_datum_t * psk)
* If the user doesn't exist a random password is returned instead.
*/
int
-_gnutls_psk_pwd_find_entry(gnutls_session_t session, char *username,
- gnutls_datum_t * psk)
+_gnutls_psk_pwd_find_entry(gnutls_session_t session, gnutls_psk_server_credentials_t cred,
+ char *username, gnutls_datum_t * psk)
{
- gnutls_psk_server_credentials_t cred;
FILE *fd;
char *line = NULL;
size_t line_size = 0;
unsigned i, len;
int ret;
- cred = (gnutls_psk_server_credentials_t)
- _gnutls_get_cred(session, GNUTLS_CRD_PSK);
if (cred == NULL) {
gnutls_assert();
return GNUTLS_E_INSUFFICIENT_CREDENTIALS;
diff --git a/lib/auth/psk_passwd.h b/lib/auth/psk_passwd.h
index 8fe7ae4b02..0bfdf53f4a 100644
--- a/lib/auth/psk_passwd.h
+++ b/lib/auth/psk_passwd.h
@@ -21,8 +21,8 @@
*/
/* this is locally allocated. It should be freed using the provided function */
-int _gnutls_psk_pwd_find_entry(gnutls_session_t, char *username,
- gnutls_datum_t * key);
+int _gnutls_psk_pwd_find_entry(gnutls_session_t, gnutls_psk_server_credentials_t cred,
+ char *username, gnutls_datum_t * key);
int _gnutls_find_psk_key(gnutls_session_t session,
gnutls_psk_client_credentials_t cred,
diff --git a/lib/auth/rsa_psk.c b/lib/auth/rsa_psk.c
index 5a29f91837..337f36ef83 100644
--- a/lib/auth/rsa_psk.c
+++ b/lib/auth/rsa_psk.c
@@ -398,7 +398,7 @@ _gnutls_proc_rsa_psk_client_kx(gnutls_session_t session, uint8_t * data,
/* find the key of this username
*/
ret =
- _gnutls_psk_pwd_find_entry(session, info->username, &pwd_psk);
+ _gnutls_psk_pwd_find_entry(session, cred, info->username, &pwd_psk);
if (ret < 0) {
gnutls_assert();
goto cleanup;