summaryrefslogtreecommitdiff
path: root/pjlib/src/pj/ssl_sock_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'pjlib/src/pj/ssl_sock_common.c')
-rw-r--r--pjlib/src/pj/ssl_sock_common.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/pjlib/src/pj/ssl_sock_common.c b/pjlib/src/pj/ssl_sock_common.c
index 864a0456..445aa9ef 100644
--- a/pjlib/src/pj/ssl_sock_common.c
+++ b/pjlib/src/pj/ssl_sock_common.c
@@ -67,10 +67,28 @@ PJ_DEF(void) pj_ssl_sock_param_copy( pj_pool_t *pool,
dst->ciphers[i] = src->ciphers[i];
}
+ if (src->curves_num > 0) {
+ unsigned i;
+ dst->curves = (pj_ssl_curve *)pj_pool_calloc(pool, src->curves_num,
+ sizeof(pj_ssl_curve));
+ for (i = 0; i < src->curves_num; ++i)
+ dst->curves[i] = src->curves[i];
+ }
+
if (src->server_name.slen) {
/* Server name must be null-terminated */
pj_strdup_with_null(pool, &dst->server_name, &src->server_name);
}
+
+ if (src->sigalgs.slen) {
+ /* Sigalgs name must be null-terminated */
+ pj_strdup_with_null(pool, &dst->sigalgs, &src->sigalgs);
+ }
+
+ if (src->entropy_path.slen) {
+ /* Path name must be null-terminated */
+ pj_strdup_with_null(pool, &dst->entropy_path, &src->entropy_path);
+ }
}