# HG changeset patch # User Timo Sirainen # Date 1150571720 -10800 # Node ID 9017db47869364f2c68eaa452b9701f40cbb15f9 # Parent 96d9947fde60bd7072ac05a69e13d22be77e5691 Added mech_generic_auth_internal() and mech_generic_auth_free() functions and used them wherever possible to reduce code duplication. Patch by Andrey Panin. diff -r 96d9947fde60 -r 9017db478693 src/auth/mech-anonymous.c --- 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 }; diff -r 96d9947fde60 -r 9017db478693 src/auth/mech-apop.c --- 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 }; diff -r 96d9947fde60 -r 9017db478693 src/auth/mech-cram-md5.c --- 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 }; diff -r 96d9947fde60 -r 9017db478693 src/auth/mech-digest-md5.c --- 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 }; diff -r 96d9947fde60 -r 9017db478693 src/auth/mech-login.c --- 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 }; diff -r 96d9947fde60 -r 9017db478693 src/auth/mech-ntlm.c --- 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 }; diff -r 96d9947fde60 -r 9017db478693 src/auth/mech-plain.c --- 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 }; diff -r 96d9947fde60 -r 9017db478693 src/auth/mech-rpa.c --- 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 }; diff -r 96d9947fde60 -r 9017db478693 src/auth/mech.c --- 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; diff -r 96d9947fde60 -r 9017db478693 src/auth/mech.h --- 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);