dovecot-2.2: lib-http auth: Implemented cloning/copying of crede...

dovecot at dovecot.org dovecot at dovecot.org
Tue Aug 18 18:02:36 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/07ceb84bf899
changeset: 18963:07ceb84bf899
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Tue Aug 18 20:39:24 2015 +0300
description:
lib-http auth: Implemented cloning/copying of credentials struct.

diffstat:

 src/lib-http/http-auth.c |  23 +++++++++++++++++++++++
 src/lib-http/http-auth.h |   7 +++++++
 2 files changed, 30 insertions(+), 0 deletions(-)

diffs (50 lines):

diff -r cdf9e584c1c7 -r 07ceb84bf899 src/lib-http/http-auth.c
--- 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
  */
diff -r cdf9e584c1c7 -r 07ceb84bf899 src/lib-http/http-auth.h
--- 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
  */


More information about the dovecot-cvs mailing list