changeset 4414:9017db478693 HEAD

Added mech_generic_auth_internal() and mech_generic_auth_free() functions and used them wherever possible to reduce code duplication. Patch by Andrey Panin.
author Timo Sirainen <tss@iki.fi>
date Sat, 17 Jun 2006 22:15:20 +0300
parents 96d9947fde60
children b91816cd1d16
files src/auth/mech-anonymous.c src/auth/mech-apop.c src/auth/mech-cram-md5.c src/auth/mech-digest-md5.c src/auth/mech-login.c src/auth/mech-ntlm.c src/auth/mech-plain.c src/auth/mech-rpa.c src/auth/mech.c src/auth/mech.h
diffstat 10 files changed, 31 insertions(+), 97 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/mech-anonymous.c	Sat Jun 17 21:03:45 2006 +0300
+++ b/src/auth/mech-anonymous.c	Sat Jun 17 22:15:20 2006 +0300
@@ -23,24 +23,6 @@
 	auth_request_success(request, NULL, 0);
 }
 
-static void
-mech_anonymous_auth_initial(struct auth_request *request,
-			    const unsigned char *data, size_t data_size)
-{
-	if (data_size == 0) {
-		request->callback(request, AUTH_CLIENT_RESULT_CONTINUE,
-				  NULL, 0);
-	} else {
-		mech_anonymous_auth_continue(request, data, data_size);
-	}
-}
-
-static void
-mech_anonymous_auth_free(struct auth_request *request)
-{
-	pool_unref(request->pool);
-}
-
 static struct auth_request *mech_anonymous_auth_new(void)
 {
         struct auth_request *request;
@@ -61,7 +43,7 @@
 	MEMBER(passdb_need_credentials) FALSE,
 
 	mech_anonymous_auth_new,
-	mech_anonymous_auth_initial,
+	mech_generic_auth_initial,
 	mech_anonymous_auth_continue,
-        mech_anonymous_auth_free
+	mech_generic_auth_free
 };
--- a/src/auth/mech-apop.c	Sat Jun 17 21:03:45 2006 +0300
+++ b/src/auth/mech-apop.c	Sat Jun 17 22:15:20 2006 +0300
@@ -136,11 +136,6 @@
 					apop_credentials_callback);
 }
 
-static void mech_apop_auth_free(struct auth_request *request)
-{
-	pool_unref(request->pool);
-}
-
 static struct auth_request *mech_apop_auth_new(void)
 {
 	struct apop_auth_request *request;
@@ -165,5 +160,5 @@
 	mech_apop_auth_new,
 	mech_apop_auth_initial,
 	NULL,
-        mech_apop_auth_free
+        mech_generic_auth_free
 };
--- a/src/auth/mech-cram-md5.c	Sat Jun 17 21:03:45 2006 +0300
+++ b/src/auth/mech-cram-md5.c	Sat Jun 17 22:15:20 2006 +0300
@@ -168,11 +168,6 @@
 			       request->challenge, strlen(request->challenge));
 }
 
-static void mech_cram_md5_auth_free(struct auth_request *request)
-{
-	pool_unref(request->pool);
-}
-
 static struct auth_request *mech_cram_md5_auth_new(void)
 {
 	struct cram_auth_request *request;
@@ -197,5 +192,5 @@
 	mech_cram_md5_auth_new,
 	mech_cram_md5_auth_initial,
 	mech_cram_md5_auth_continue,
-        mech_cram_md5_auth_free
+        mech_generic_auth_free
 };
--- a/src/auth/mech-digest-md5.c	Sat Jun 17 21:03:45 2006 +0300
+++ b/src/auth/mech-digest-md5.c	Sat Jun 17 22:15:20 2006 +0300
@@ -596,11 +596,6 @@
 			       str_data(challenge), str_len(challenge));
 }
 
-static void mech_digest_md5_auth_free(struct auth_request *request)
-{
-	pool_unref(request->pool);
-}
-
 static struct auth_request *mech_digest_md5_auth_new(void)
 {
 	struct digest_auth_request *request;
@@ -627,5 +622,5 @@
 	mech_digest_md5_auth_new,
 	mech_digest_md5_auth_initial,
 	mech_digest_md5_auth_continue,
-        mech_digest_md5_auth_free
+	mech_generic_auth_free
 };
--- a/src/auth/mech-login.c	Sat Jun 17 21:03:45 2006 +0300
+++ b/src/auth/mech-login.c	Sat Jun 17 22:15:20 2006 +0300
@@ -66,11 +66,6 @@
 	}
 }
 
-static void mech_login_auth_free(struct auth_request *request)
-{
-	pool_unref(request->pool);
-}
-
 static struct auth_request *mech_login_auth_new(void)
 {
 	struct auth_request *request;
@@ -93,5 +88,5 @@
 	mech_login_auth_new,
 	mech_login_auth_initial,
 	mech_login_auth_continue,
-        mech_login_auth_free
+	mech_generic_auth_free
 };
--- a/src/auth/mech-ntlm.c	Sat Jun 17 21:03:45 2006 +0300
+++ b/src/auth/mech-ntlm.c	Sat Jun 17 22:15:20 2006 +0300
@@ -242,24 +242,6 @@
 	}
 }
 
-static void
-mech_ntlm_auth_initial(struct auth_request *request,
-		       const unsigned char *data, size_t data_size)
-{
-	if (data_size == 0) {
-		request->callback(request, AUTH_CLIENT_RESULT_CONTINUE,
-				  NULL, 0);
-	} else {
-		mech_ntlm_auth_continue(request, data, data_size);
-	}
-}
-
-static void
-mech_ntlm_auth_free(struct auth_request *request)
-{
-	pool_unref(request->pool);
-}
-
 static struct auth_request *mech_ntlm_auth_new(void)
 {
 	struct ntlm_auth_request *request;
@@ -282,7 +264,7 @@
 	MEMBER(passdb_need_credentials) TRUE,
 
 	mech_ntlm_auth_new,
-	mech_ntlm_auth_initial,
+	mech_generic_auth_initial,
 	mech_ntlm_auth_continue,
-	mech_ntlm_auth_free
+	mech_generic_auth_free
 };
--- a/src/auth/mech-plain.c	Sat Jun 17 21:03:45 2006 +0300
+++ b/src/auth/mech-plain.c	Sat Jun 17 22:15:20 2006 +0300
@@ -73,24 +73,6 @@
         safe_memset(pass, 0, strlen(pass));
 }
 
-static void
-mech_plain_auth_initial(struct auth_request *request,
-			const unsigned char *data, size_t data_size)
-{
-	if (data_size == 0) {
-		request->callback(request, AUTH_CLIENT_RESULT_CONTINUE,
-				  NULL, 0);
-	} else {
-		mech_plain_auth_continue(request, data, data_size);
-	}
-}
-
-static void
-mech_plain_auth_free(struct auth_request *request)
-{
-	pool_unref(request->pool);
-}
-
 static struct auth_request *mech_plain_auth_new(void)
 {
         struct auth_request *request;
@@ -111,7 +93,7 @@
 	MEMBER(passdb_need_credentials) FALSE,
 
 	mech_plain_auth_new,
-	mech_plain_auth_initial,
+	mech_generic_auth_initial,
 	mech_plain_auth_continue,
-        mech_plain_auth_free
+	mech_generic_auth_free
 };
--- a/src/auth/mech-rpa.c	Sat Jun 17 21:03:45 2006 +0300
+++ b/src/auth/mech-rpa.c	Sat Jun 17 22:15:20 2006 +0300
@@ -568,18 +568,6 @@
 }
 
 static void
-mech_rpa_auth_initial(struct auth_request *request,
-		      const unsigned char *data, size_t data_size)
-{
-	if (data_size == 0) {
-		request->callback(request, AUTH_CLIENT_RESULT_CONTINUE,
-				  NULL, 0);
-	} else {
-		mech_rpa_auth_continue(request, data, data_size);
-	}
-}
-
-static void
 mech_rpa_auth_free(struct auth_request *auth_request)
 {
 	struct rpa_auth_request *request =
@@ -615,7 +603,7 @@
 	MEMBER(passdb_need_credentials) TRUE,
 
 	mech_rpa_auth_new,
-	mech_rpa_auth_initial,
+	mech_generic_auth_initial,
 	mech_rpa_auth_continue,
 	mech_rpa_auth_free
 };
--- a/src/auth/mech.c	Sat Jun 17 21:03:45 2006 +0300
+++ b/src/auth/mech.c	Sat Jun 17 22:15:20 2006 +0300
@@ -46,6 +46,22 @@
 	return NULL;
 }
 
+void mech_generic_auth_initial(struct auth_request *request,
+			       const unsigned char *data, size_t data_size)
+{
+	if (data_size == 0) {
+		request->callback(request, AUTH_CLIENT_RESULT_CONTINUE,
+				  NULL, 0);
+	} else {
+		request->mech->auth_continue(request, data, data_size);
+	}
+}
+
+void mech_generic_auth_free(struct auth_request *request)
+{
+	pool_unref(request->pool);
+}
+
 extern struct mech_module mech_plain;
 extern struct mech_module mech_login;
 extern struct mech_module mech_apop;
--- a/src/auth/mech.h	Sat Jun 17 21:03:45 2006 +0300
+++ b/src/auth/mech.h	Sat Jun 17 22:15:20 2006 +0300
@@ -45,6 +45,10 @@
 void mech_unregister_module(struct mech_module *module);
 struct mech_module *mech_module_find(const char *name);
 
+void mech_generic_auth_initial(struct auth_request *request,
+			       const unsigned char *data, size_t data_size);
+void mech_generic_auth_free(struct auth_request *request);
+
 void mech_init(void);
 void mech_deinit(void);