diff options
| -rw-r--r-- | ChangeLog | 6 | ||||
| -rw-r--r-- | dtls.c | 4 | 
2 files changed, 9 insertions, 1 deletions
| @@ -1,3 +1,9 @@ +2012-10-22 1.6.2-dev +	Bug fixes (security): +	- Fix the issue with verification of clients when using multiple +	'tls' config blocks (RADSECPROXY-43) for DTLS too. Reported by +	Raphael Geisser. +  2012-09-14 1.6.1  	Bug fixes (security):  	- When verifying clients, don't consider config blocks with CA @@ -354,6 +354,7 @@ void *dtlsservernew(void *arg) {      X509 *cert = NULL;      SSL_CTX *ctx = NULL;      uint8_t delay = 60; +    struct tls *accepted_tls = NULL;      debug(DBG_DBG, "dtlsservernew: starting");      conf = find_clconf(handle, (struct sockaddr *)¶ms->addr, NULL); @@ -367,10 +368,11 @@ void *dtlsservernew(void *arg) {  	cert = verifytlscert(ssl);          if (!cert)              goto exit; +        accepted_tls = conf->tlsconf;      }      while (conf) { -	if (verifyconfcert(cert, conf)) { +	if (accepted_tls == conf->tlsconf && verifyconfcert(cert, conf)) {  	    X509_free(cert);  	    client = addclient(conf, 1);  	    if (client) { | 
