]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Use correct structure for TLS fragment size
authorAlan T. DeKok <aland@freeradius.org>
Thu, 23 Feb 2012 15:29:28 +0000 (16:29 +0100)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 23 Feb 2012 15:29:28 +0000 (16:29 +0100)
set ssn->offset, and use that in proxy_tls_recv

src/main/tls.c
src/main/tls_listen.c

index c6c51ee99bcb02eb5285c0a2a4527ab3ae952ac9..ecc36ce67de3700356f3a9156f808d28a3fedfc3 100644 (file)
@@ -136,6 +136,8 @@ tls_session_t *tls_new_client_session(fr_tls_server_conf_t *conf, int fd)
                return NULL;
        }
 
+       ssn->offset = conf->fragment_size;
+
        return ssn;
 }
 
index b059b1ede377995e8b052955c528f5ad9984a17f..e8537891f8b5e7ea0b83d10d8b27d4929ccb7753 100644 (file)
@@ -475,7 +475,7 @@ int proxy_tls_recv(rad_listen_t *listener)
        RAD_REQUEST_FUNP fun = NULL;
        uint8_t *data;
 
-       if (!sock->data) sock->data = rad_malloc(listener->tls->fragment_size);
+       if (!sock->data) sock->data = rad_malloc(sock->ssn->offset);
        data = sock->data;
 
        DEBUG3("Proxy SSL socket has data to read");
@@ -513,7 +513,7 @@ redo:
        DEBUG3("Proxy received header saying we have a packet of %u bytes",
               (unsigned int) length);
 
-       if (length > listener->tls->fragment_size) {
+       if (length > sock->ssn->offset) {
                radlog(L_INFO,
                       "Received packet will be too large! Set \"fragment_size=%u\"",
                       (data[2] << 8) | data[3]);