summaryrefslogtreecommitdiff
path: root/src/cli.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cli.c')
-rw-r--r--src/cli.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/cli.c b/src/cli.c
index d4a676c894..db98a7dc27 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -685,7 +685,19 @@ static int srp_username_callback( gnutls_session session, unsigned int times,
*password = gnutls_strdup( srp_passwd);
return 0;
- }
+ } else
+ /* At the first time return username and password, if
+ * the kx_priority[0] is an SRP method.
+ */
+ if (times == 0 && (kx_priority[0] == GNUTLS_KX_SRP ||
+ kx_priority[0] == GNUTLS_KX_SRP_RSA ||
+ kx_priority[0] == GNUTLS_KX_SRP_DSS)) {
+
+ *username = gnutls_strdup( srp_username);
+ *password = gnutls_strdup( srp_passwd);
+
+ return 0;
+ }
return -1;
}