Mercurial > dovecot > core-2.2
changeset 18963:07ceb84bf899
lib-http auth: Implemented cloning/copying of credentials struct.
author | Stephan Bosch <stephan@rename-it.nl> |
---|---|
date | Tue, 18 Aug 2015 20:39:24 +0300 |
parents | cdf9e584c1c7 |
children | c1ffec72a134 |
files | src/lib-http/http-auth.c src/lib-http/http-auth.h |
diffstat | 2 files changed, 30 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-http/http-auth.c Tue Aug 18 20:39:24 2015 +0300 +++ b/src/lib-http/http-auth.c Tue Aug 18 20:39:24 2015 +0300 @@ -413,6 +413,29 @@ return new; } +void http_auth_credentials_copy(pool_t pool, + struct http_auth_credentials *dst, + const struct http_auth_credentials *src) +{ + dst->scheme = p_strdup(pool, src->scheme); + if (src->data != NULL) + dst->data = p_strdup(pool, src->data); + else + http_auth_params_clone(pool, &dst->params, &src->params); +} + +struct http_auth_credentials * +http_auth_credentials_clone(pool_t pool, + const struct http_auth_credentials *src) +{ + struct http_auth_credentials *new; + + new = p_new(pool, struct http_auth_credentials, 1); + http_auth_credentials_copy(pool, new, src); + + return new; +} + /* * Simple schemes */
--- a/src/lib-http/http-auth.h Tue Aug 18 20:39:24 2015 +0300 +++ b/src/lib-http/http-auth.h Tue Aug 18 20:39:24 2015 +0300 @@ -59,6 +59,13 @@ http_auth_challenge_clone(pool_t pool, const struct http_auth_challenge *src); +void http_auth_credentials_copy(pool_t pool, + struct http_auth_credentials *dst, + const struct http_auth_credentials *src); +struct http_auth_credentials * +http_auth_credentials_clone(pool_t pool, + const struct http_auth_credentials *src); + /* * Simple schemes */