[dovecot-cvs] dovecot/src/auth mech-digest-md5.c,1.3,1.4 mech-plain.c,1.4,1.5 mech.c,1.4,1.5 mech.h,1.3,1.4

cras at procontrol.fi cras at procontrol.fi
Sun Feb 2 02:19:36 EET 2003


Update of /home/cvs/dovecot/src/auth
In directory danu:/tmp/cvs-serv29752

Modified Files:
	mech-digest-md5.c mech-plain.c mech.c mech.h 
Log Message:
more fixes



Index: mech-digest-md5.c
===================================================================
RCS file: /home/cvs/dovecot/src/auth/mech-digest-md5.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- mech-digest-md5.c	2 Feb 2003 00:08:28 -0000	1.3
+++ mech-digest-md5.c	2 Feb 2003 00:19:34 -0000	1.4
@@ -526,7 +526,9 @@
 	struct digest_auth_request *auth =
 		(struct digest_auth_request *) request;
 
-	mech_auth_finish(request, verify_credentials(auth, result));
+	auth->authenticated = TRUE;
+	mech_auth_finish(request, auth->rspauth, strlen(auth->rspauth),
+			 verify_credentials(auth, result));
 }
 
 static int
@@ -561,13 +563,13 @@
 		auth_request->id = request->id;
 		auth_request->callback = callback;
 
+		auth_request->user = p_strdup(auth_request->pool,
+					      auth->username);
+		auth_request->realm = p_strdup(auth_request->pool, auth->realm);
+
 		passdb->lookup_credentials(&auth->auth_request,
 					   PASSDB_CREDENTIALS_DIGEST_MD5,
 					   credentials_callback);
-
-		reply.data_size = strlen(auth->rspauth);
-		callback(&reply, auth->rspauth, conn);
-		auth->authenticated = TRUE;
 		return TRUE;
 	}
 

Index: mech-plain.c
===================================================================
RCS file: /home/cvs/dovecot/src/auth/mech-plain.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- mech-plain.c	2 Feb 2003 00:08:28 -0000	1.4
+++ mech-plain.c	2 Feb 2003 00:19:34 -0000	1.5
@@ -9,7 +9,7 @@
 static void verify_callback(enum passdb_result result,
 			    struct auth_request *request)
 {
-	mech_auth_finish(request, result == PASSDB_RESULT_OK);
+	mech_auth_finish(request, NULL, 0, result == PASSDB_RESULT_OK);
 }
 
 static int

Index: mech.c
===================================================================
RCS file: /home/cvs/dovecot/src/auth/mech.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- mech.c	2 Feb 2003 00:08:28 -0000	1.4
+++ mech.c	2 Feb 2003 00:19:34 -0000	1.5
@@ -163,7 +163,8 @@
 	return buffer_get_modifyable_data(buf, NULL);
 }
 
-void mech_auth_finish(struct auth_request *auth_request, int success)
+void mech_auth_finish(struct auth_request *auth_request,
+		      const void *data, size_t data_size, int success)
 {
 	struct auth_login_reply reply;
 	void *reply_data;
@@ -172,7 +173,8 @@
 	reply.id = auth_request->id;
 
 	if (success) {
-		reply_data = mech_auth_success(&reply, auth_request, NULL, 0);
+		reply_data = mech_auth_success(&reply, auth_request,
+					       data, data_size);
 		reply.result = AUTH_LOGIN_RESULT_SUCCESS;
 	} else {
 		reply_data = NULL;

Index: mech.h
===================================================================
RCS file: /home/cvs/dovecot/src/auth/mech.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- mech.h	2 Feb 2003 00:08:28 -0000	1.3
+++ mech.h	2 Feb 2003 00:19:34 -0000	1.4
@@ -54,7 +54,8 @@
 void *mech_auth_success(struct auth_login_reply *reply,
 			struct auth_request *auth_request,
 			const void *data, size_t data_size);
-void mech_auth_finish(struct auth_request *auth_request, int success);
+void mech_auth_finish(struct auth_request *auth_request,
+		      const void *data, size_t data_size, int success);
 
 void mech_cyrus_sasl_init_lib(void);
 struct auth_request *mech_cyrus_sasl_new(struct login_connection *conn,




More information about the dovecot-cvs mailing list