From: Nikos Mavrogiannopoulos Date: Sat, 5 May 2001 08:02:48 +0000 (+0000) Subject: more srp related fixes X-Git-Tag: gnutls-0-1-0-srp~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=985bdd0eb386ba68ddffe91249477fb501c4d0b2;p=thirdparty%2Fgnutls.git more srp related fixes --- diff --git a/configure.in b/configure.in index 606639ee4d..02ce37d8dd 100644 --- a/configure.in +++ b/configure.in @@ -10,8 +10,8 @@ AC_DEFINE_UNQUOTED(T_VENDOR, "$target_vendor") AC_DEFINE_UNQUOTED(T_OS, "$target_os") GNUTLS_MAJOR_VERSION=0 -GNUTLS_MINOR_VERSION=0 -GNUTLS_MICRO_VERSION=8 +GNUTLS_MINOR_VERSION=1 +GNUTLS_MICRO_VERSION=0 GNUTLS_VERSION=$GNUTLS_MAJOR_VERSION.$GNUTLS_MINOR_VERSION.$GNUTLS_MICRO_VERSION diff --git a/lib/ext_srp.c b/lib/ext_srp.c index bd1b7799f4..14c43c6a4b 100644 --- a/lib/ext_srp.c +++ b/lib/ext_srp.c @@ -20,6 +20,8 @@ #include #include "gnutls_int.h" +#include "gnutls_auth_int.h" +#include "auth_srp.h" int _gnutls_srp_recv_params( GNUTLS_STATE state, const opaque* data, int data_size) { if (data_size > 0) { @@ -35,10 +37,15 @@ int _gnutls_srp_recv_params( GNUTLS_STATE state, const opaque* data, int data_si */ int _gnutls_srp_send_params( GNUTLS_STATE state, opaque** data) { /* this functions sends the server extension data */ +SRP_CLIENT_CREDENTIALS* cred = _gnutls_get_kx_cred( state->gnutls_key, GNUTLS_KX_SRP); + (*data) = NULL; - if (state->gnutls_key->username!=NULL) { /* send username */ - (*data) = strdup( state->gnutls_key->username); - return strlen(state->gnutls_key->username); + + if (cred==NULL) return 0; + + if (cred->username!=NULL) { /* send username */ + (*data) = strdup( cred->username); + return strlen( cred->username); } return 0; } diff --git a/lib/gnutls_int.h b/lib/gnutls_int.h index 09dcd3b731..7776f7e9ce 100644 --- a/lib/gnutls_int.h +++ b/lib/gnutls_int.h @@ -156,7 +156,11 @@ typedef struct { MPI a; MPI x; - char* username; /* user in srp */ + /* this is only used in server side - + * to hold the requested user - currently only in srp + */ + char* username; + AUTH_CRED* cred; /* used in srp, etc */ } GNUTLS_KEY_A; typedef GNUTLS_KEY_A* GNUTLS_KEY;