[dovecot-cvs] dovecot/src/master auth-process.c, 1.52, 1.53 master-settings.c, 1.45, 1.46 master-settings.h, 1.28, 1.29

cras at procontrol.fi cras at procontrol.fi
Mon May 17 04:32:19 EEST 2004


Update of /home/cvs/dovecot/src/master
In directory talvi:/tmp/cvs-serv3177/src/master

Modified Files:
	auth-process.c master-settings.c master-settings.h 
Log Message:
Added ssl_require_client_cert auth-specific setting. Hide
ssl_verify_client_cert from default config file as it's automatically set if
needed and there's not much point in forcing it.



Index: auth-process.c
===================================================================
RCS file: /home/cvs/dovecot/src/master/auth-process.c,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -d -r1.52 -r1.53
--- auth-process.c	10 May 2004 16:05:10 -0000	1.52
+++ auth-process.c	17 May 2004 01:32:17 -0000	1.53
@@ -335,6 +335,8 @@
 		env_put("USE_CYRUS_SASL=1");
 	if (group->set->verbose)
 		env_put("VERBOSE=1");
+	if (group->set->ssl_require_client_cert)
+		env_put("SSL_REQUIRE_CLIENT_CERT=1");
 
 	restrict_process_size(group->set->process_size, (unsigned int)-1);
 

Index: master-settings.c
===================================================================
RCS file: /home/cvs/dovecot/src/master/master-settings.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- master-settings.c	10 May 2004 16:05:10 -0000	1.45
+++ master-settings.c	17 May 2004 01:32:17 -0000	1.46
@@ -132,6 +132,7 @@
 
 	DEF(SET_BOOL, use_cyrus_sasl),
 	DEF(SET_BOOL, verbose),
+	DEF(SET_BOOL, ssl_require_client_cert),
 
 	DEF(SET_INT, count),
 	DEF(SET_INT, process_size),
@@ -263,6 +264,7 @@
 
 	MEMBER(use_cyrus_sasl) FALSE,
 	MEMBER(verbose) FALSE,
+	MEMBER(ssl_require_client_cert) FALSE,
 
 	MEMBER(count) 1,
 	MEMBER(process_size) 256,
@@ -334,6 +336,15 @@
 			auth->chroot);
 		return FALSE;
 	}
+
+	if (auth->ssl_require_client_cert) {
+		/* if we require valid cert, make sure we also ask for it */
+		if (auth->parent->pop3 != NULL)
+			auth->parent->pop3->ssl_verify_client_cert = TRUE;
+		if (auth->parent->imap != NULL)
+			auth->parent->imap->ssl_verify_client_cert = TRUE;
+	}
+
 	return TRUE;
 }
 

Index: master-settings.h
===================================================================
RCS file: /home/cvs/dovecot/src/master/master-settings.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- master-settings.h	10 May 2004 16:05:10 -0000	1.28
+++ master-settings.h	17 May 2004 01:32:17 -0000	1.29
@@ -109,6 +109,7 @@
 	const char *anonymous_username;
 
 	int use_cyrus_sasl, verbose;
+	int ssl_require_client_cert;
 
 	unsigned int count;
 	unsigned int process_size;



More information about the dovecot-cvs mailing list