X-Git-Url: https://www.bearssl.org/gitweb//home/git/?p=BearSSL;a=blobdiff_plain;f=tools%2Fserver.c;h=9d296d20432dccf53da6cc45dcdba273aff0ca61;hp=cac99c49565607daf24d3b5cda49cf8b8c7ab94c;hb=cfbc702d3d64c209784b664eeab8867b603f4d4c;hpb=93681c283077b838ddfc5e276238640c9ed62343 diff --git a/tools/server.c b/tools/server.c index cac99c4..9d296d2 100644 --- a/tools/server.c +++ b/tools/server.c @@ -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) { - sa4 = *(struct sockaddr_in *)sa; + memcpy(&sa4, sa, sizeof sa4); 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) { - sa6 = *(struct sockaddr_in6 *)sa; + memcpy(&sa6, sa, sizeof sa6); 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_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); }