summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/auth_srp_passwd.c3
-rw-r--r--lib/gnutls_int.h2
-rw-r--r--lib/gnutls_srp.c5
-rw-r--r--lib/gnutls_ui.h2
4 files changed, 7 insertions, 5 deletions
diff --git a/lib/auth_srp_passwd.c b/lib/auth_srp_passwd.c
index e04df84299..2365f10286 100644
--- a/lib/auth_srp_passwd.c
+++ b/lib/auth_srp_passwd.c
@@ -268,7 +268,8 @@ GNUTLS_SRP_PWD_ENTRY *_gnutls_srp_pwd_read_entry( GNUTLS_STATE state, char* user
/* use the callback to select a password file */
if (state->gnutls_internals.server_srp_callback!=NULL) {
pwd_index = state->gnutls_internals.server_srp_callback(
- state, (const char**)cred->password_file, cred->password_files);
+ state, cred->password_file, cred->password_conf_file,
+ cred->password_files);
if (pwd_index < 0) {
gnutls_assert();
diff --git a/lib/gnutls_int.h b/lib/gnutls_int.h
index 3e07694e7c..8604ab72cc 100644
--- a/lib/gnutls_int.h
+++ b/lib/gnutls_int.h
@@ -390,7 +390,7 @@ typedef struct {
typedef int certificate_client_select_func(struct GNUTLS_STATE_INT*, const gnutls_datum *, int, const gnutls_datum *, int);
typedef int certificate_server_select_func(struct GNUTLS_STATE_INT*, const gnutls_datum *, int);
-typedef int srp_server_select_func(struct GNUTLS_STATE_INT*, const char**, int);
+typedef int srp_server_select_func(struct GNUTLS_STATE_INT*, const char**, const char**, int);
typedef struct {
opaque header[HANDSHAKE_HEADER_SIZE];
diff --git a/lib/gnutls_srp.c b/lib/gnutls_srp.c
index 6b50177f70..2df5b38470 100644
--- a/lib/gnutls_srp.c
+++ b/lib/gnutls_srp.c
@@ -442,10 +442,11 @@ int i;
* @func: is the callback function
*
* The callback's function form is:
- * int (*callback)(GNUTLS_STATE, const char** pfiles, int npfiles);
+ * int (*callback)(GNUTLS_STATE, const char** pfiles, const char** pconffiles, int npfiles);
*
* 'pfiles' contains 'npfiles' char* structures which hold
- * the password file name.
+ * the password file name. 'pconffiles' contain the corresponding
+ * conf files.
*
* This function specifies what we, in case of a server, are going
* to do when we have to use a password file. If this callback
diff --git a/lib/gnutls_ui.h b/lib/gnutls_ui.h
index 47292320e1..cc0cff3ef8 100644
--- a/lib/gnutls_ui.h
+++ b/lib/gnutls_ui.h
@@ -52,7 +52,7 @@ typedef enum GNUTLS_X509_SUBJECT_ALT_NAME {
typedef int gnutls_certificate_client_select_func(GNUTLS_STATE, const gnutls_datum *, int, const gnutls_datum *, int);
typedef int gnutls_certificate_server_select_func(GNUTLS_STATE, const gnutls_datum *, int);
-typedef int gnutls_srp_server_select_func(GNUTLS_STATE, const char **, int);
+typedef int gnutls_srp_server_select_func(GNUTLS_STATE, const char **, const char**, int);
/* Functions that allow AUTH_INFO structures handling
*/