Cosmetic fix (value did not conform to its announced bit length, but this did not...
[BearSSL] / tools / server.c
index cac99c4..9d296d2 100644 (file)
@@ -75,7 +75,7 @@ host_bind(const char *host, const char *port, int verbose)
 
                sa = (struct sockaddr *)p->ai_addr;
                if (sa->sa_family == AF_INET) {
 
                sa = (struct sockaddr *)p->ai_addr;
                if (sa->sa_family == AF_INET) {
-                       sa4 = *(struct sockaddr_in *)sa;
+                       memcpy(&sa4, sa, sizeof sa4);
                        sa = (struct sockaddr *)&sa4;
                        sa_len = sizeof sa4;
                        addr = &sa4.sin_addr;
                        sa = (struct sockaddr *)&sa4;
                        sa_len = sizeof sa4;
                        addr = &sa4.sin_addr;
@@ -83,7 +83,7 @@ host_bind(const char *host, const char *port, int verbose)
                                sa4.sin_addr.s_addr = INADDR_ANY;
                        }
                } else if (sa->sa_family == AF_INET6) {
                                sa4.sin_addr.s_addr = INADDR_ANY;
                        }
                } else if (sa->sa_family == AF_INET6) {
-                       sa6 = *(struct sockaddr_in6 *)sa;
+                       memcpy(&sa6, sa, sizeof sa6);
                        sa = (struct sockaddr *)&sa6;
                        sa_len = sizeof sa6;
                        addr = &sa6.sin6_addr;
                        sa = (struct sockaddr *)&sa6;
                        sa_len = sizeof sa6;
                        addr = &sa6.sin6_addr;
@@ -1058,6 +1058,9 @@ do_server(int argc, char *argv[])
                if ((req & REQ_AESCBC) != 0) {
                        br_ssl_engine_set_default_aes_cbc(&cc.eng);
                }
                if ((req & REQ_AESCBC) != 0) {
                        br_ssl_engine_set_default_aes_cbc(&cc.eng);
                }
+               if ((req & REQ_AESCCM) != 0) {
+                       br_ssl_engine_set_default_aes_ccm(&cc.eng);
+               }
                if ((req & REQ_AESGCM) != 0) {
                        br_ssl_engine_set_default_aes_gcm(&cc.eng);
                }
                if ((req & REQ_AESGCM) != 0) {
                        br_ssl_engine_set_default_aes_gcm(&cc.eng);
                }