projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
chacha/asm/chacha-ppc.pl: fix typo.
[openssl.git]
/
ssl
/
tls_srp.c
diff --git
a/ssl/tls_srp.c
b/ssl/tls_srp.c
index 7d4fd1db3214ff67e92b7ce13a83789423935565..cf5ccdca33f4a42b40f7a09872af1c6df1db1953 100644
(file)
--- a/
ssl/tls_srp.c
+++ b/
ssl/tls_srp.c
@@
-1,4
+1,3
@@
-/* ssl/tls_srp.c */
/*
* Written by Christophe Renou (christophe.renou@edelweb.fr) with the
* precious help of Peter Sylvester (peter.sylvester@edelweb.fr) for the
/*
* Written by Christophe Renou (christophe.renou@edelweb.fr) with the
* precious help of Peter Sylvester (peter.sylvester@edelweb.fr) for the
@@
-60,11
+59,11
@@
#include <openssl/crypto.h>
#include <openssl/rand.h>
#include <openssl/crypto.h>
#include <openssl/rand.h>
-#include <openssl/srp.h>
#include <openssl/err.h>
#include "ssl_locl.h"
#ifndef OPENSSL_NO_SRP
#include <openssl/err.h>
#include "ssl_locl.h"
#ifndef OPENSSL_NO_SRP
+#include <openssl/srp.h>
int SSL_CTX_SRP_CTX_free(struct ssl_ctx_st *ctx)
{
int SSL_CTX_SRP_CTX_free(struct ssl_ctx_st *ctx)
{
@@
-179,7
+178,7
@@
int SSL_SRP_CTX_init(struct ssl_st *s)
goto err;
}
if ((ctx->srp_ctx.login != NULL) &&
goto err;
}
if ((ctx->srp_ctx.login != NULL) &&
- ((s->srp_ctx.login =
BUF
_strdup(ctx->srp_ctx.login)) == NULL)) {
+ ((s->srp_ctx.login =
OPENSSL
_strdup(ctx->srp_ctx.login)) == NULL)) {
SSLerr(SSL_F_SSL_SRP_CTX_INIT, ERR_R_INTERNAL_ERROR);
goto err;
}
SSLerr(SSL_F_SSL_SRP_CTX_INIT, ERR_R_INTERNAL_ERROR);
goto err;
}
@@
-332,7
+331,7
@@
int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g,
return 1;
}
return 1;
}
-int
SRP_generate_server_master_secret(SSL *s, unsigned char *master_key
)
+int
srp_generate_server_master_secret(SSL *s
)
{
BIGNUM *K = NULL, *u = NULL;
int ret = -1, tmp_len = 0;
{
BIGNUM *K = NULL, *u = NULL;
int ret = -1, tmp_len = 0;
@@
-350,17
+349,15
@@
int SRP_generate_server_master_secret(SSL *s, unsigned char *master_key)
if ((tmp = OPENSSL_malloc(tmp_len)) == NULL)
goto err;
BN_bn2bin(K, tmp);
if ((tmp = OPENSSL_malloc(tmp_len)) == NULL)
goto err;
BN_bn2bin(K, tmp);
- ret = s->method->ssl3_enc->generate_master_secret(s, master_key, tmp,
- tmp_len);
+ ret = ssl_generate_master_secret(s, tmp, tmp_len, 1);
err:
err:
- OPENSSL_clear_free(tmp, tmp_len);
BN_clear_free(K);
BN_clear_free(u);
return ret;
}
/* client side */
BN_clear_free(K);
BN_clear_free(u);
return ret;
}
/* client side */
-int
SRP_generate_client_master_secret(SSL *s, unsigned char *master_key
)
+int
srp_generate_client_master_secret(SSL *s
)
{
BIGNUM *x = NULL, *u = NULL, *K = NULL;
int ret = -1, tmp_len = 0;
{
BIGNUM *x = NULL, *u = NULL, *K = NULL;
int ret = -1, tmp_len = 0;
@@
-391,14
+388,12
@@
int SRP_generate_client_master_secret(SSL *s, unsigned char *master_key)
if ((tmp = OPENSSL_malloc(tmp_len)) == NULL)
goto err;
BN_bn2bin(K, tmp);
if ((tmp = OPENSSL_malloc(tmp_len)) == NULL)
goto err;
BN_bn2bin(K, tmp);
- ret =
- s->method->ssl3_enc->generate_master_secret(s, master_key, tmp,
- tmp_len);
+ ret = ssl_generate_master_secret(s, tmp, tmp_len, 1);
err:
err:
- OPENSSL_clear_free(tmp, tmp_len);
BN_clear_free(K);
BN_clear_free(x);
BN_clear_free(K);
BN_clear_free(x);
- OPENSSL_clear_free(passwd, strlen(passwd));
+ if (passwd != NULL)
+ OPENSSL_clear_free(passwd, strlen(passwd));
BN_clear_free(u);
return ret;
}
BN_clear_free(u);
return ret;
}