Blame SOURCES/dovecot-2.2.9-nodevrand.patch

1ab9c3
diff -up dovecot-2.2.9/src/lib-master/master-service.c.fixit dovecot-2.2.9/src/lib-master/master-service.c
1ab9c3
--- dovecot-2.2.9/src/lib-master/master-service.c.fixit	2013-11-24 14:37:39.000000000 +0100
1ab9c3
+++ dovecot-2.2.9/src/lib-master/master-service.c	2013-11-27 17:52:48.802843395 +0100
1ab9c3
@@ -559,6 +559,11 @@ const char *master_service_get_name(stru
1ab9c3
 	return service->name;
1ab9c3
 }
1ab9c3
 
1ab9c3
+const enum master_service_flags master_service_get_flags(struct master_service *service)
1ab9c3
+{
1ab9c3
+	return service->flags;
1ab9c3
+}
1ab9c3
+
1ab9c3
 void master_service_run(struct master_service *service,
1ab9c3
 			master_service_connection_callback_t *callback)
1ab9c3
 {
1ab9c3
diff -up dovecot-2.2.9/src/lib-master/master-service.h.fixit dovecot-2.2.9/src/lib-master/master-service.h
1ab9c3
--- dovecot-2.2.9/src/lib-master/master-service.h.fixit	2013-11-24 14:37:39.000000000 +0100
1ab9c3
+++ dovecot-2.2.9/src/lib-master/master-service.h	2013-11-27 17:53:05.329705614 +0100
1ab9c3
@@ -134,6 +134,8 @@ const char *master_service_get_version_s
1ab9c3
 /* Returns name of the service, as given in name parameter to _init(). */
1ab9c3
 const char *master_service_get_name(struct master_service *service);
1ab9c3
 
1ab9c3
+const enum master_service_flags master_service_get_flags(struct master_service *service);
1ab9c3
+
1ab9c3
 /* Start the service. Blocks until finished */
1ab9c3
 void master_service_run(struct master_service *service,
1ab9c3
 			master_service_connection_callback_t *callback)
1ab9c3
diff -up dovecot-2.2.9/src/ssl-params/main.c.fixit dovecot-2.2.9/src/ssl-params/main.c
1ab9c3
--- dovecot-2.2.9/src/ssl-params/main.c.fixit	2013-11-24 14:37:39.000000000 +0100
1ab9c3
+++ dovecot-2.2.9/src/ssl-params/main.c	2013-11-27 17:51:06.664694558 +0100
1ab9c3
@@ -103,7 +103,10 @@ static void sig_chld(const siginfo_t *si
1ab9c3
 	if (waitpid(-1, &status, WNOHANG) < 0)
1ab9c3
 		i_error("waitpid() failed: %m");
1ab9c3
 	else if (status != 0)
1ab9c3
+	{
1ab9c3
 		i_error("child process failed with status %d", status);
1ab9c3
+		if(master_service_get_flags(master_service) & MASTER_SERVICE_FLAG_STANDALONE) exit(1);
1ab9c3
+	}
1ab9c3
 	else {
1ab9c3
 		/* params should have been created now. try refreshing. */
1ab9c3
 		ssl_params_refresh(param);