diff src/deliver.c @ 10:26e34ae9a3e3

changed indention and line wrapping to a more consistent style
author meillo@marmaro.de
date Mon, 27 Oct 2008 16:23:10 +0100
parents 08114f7dcc23
children 9fb7ddbaf129
line wrap: on
line diff
--- a/src/deliver.c	Mon Oct 27 16:21:27 2008 +0100
+++ b/src/deliver.c	Mon Oct 27 16:23:10 2008 +0100
@@ -25,506 +25,484 @@
 /* collect failed/defered rcpts for failure/warning messages */
 /* returns TRUE if either there are no failures or a
    failure message has been successfully sent */
-gboolean delivery_failures(message *msg, GList *rcpt_list, gchar *err_fmt, ...)
+gboolean
+delivery_failures(message * msg, GList * rcpt_list, gchar * err_fmt, ...)
 {
-  gboolean ok_fail = TRUE, ok_warn = TRUE;
-  time_t now = time(NULL);
+	gboolean ok_fail = TRUE, ok_warn = TRUE;
+	time_t now = time(NULL);
 
-  GList *failed_list = NULL, *defered_list = NULL, *rcpt_node;
-  va_list args;
-  va_start(args, err_fmt);
+	GList *failed_list = NULL, *defered_list = NULL, *rcpt_node;
+	va_list args;
+	va_start(args, err_fmt);
+
+	foreach(rcpt_list, rcpt_node) {
+		address *rcpt = (address *) (rcpt_node->data);
 
-  foreach(rcpt_list, rcpt_node){
-    address *rcpt = (address *)(rcpt_node->data);
-    
-    if(addr_is_defered(rcpt)){
-      if((now - msg->received_time) >= conf.max_defer_time){
-	addr_mark_failed(rcpt);
-      }else
-	defered_list = g_list_prepend(defered_list, rcpt);
-    }
-    if(addr_is_failed(rcpt))
-      failed_list = g_list_prepend(failed_list, rcpt);
-  }
-  if(failed_list != NULL){
-    ok_fail = fail_msg(msg, conf.errmsg_file, failed_list, err_fmt, args);
-    g_list_free(failed_list);
-  }
-  if(defered_list != NULL){
-    ok_warn = warn_msg(msg, conf.warnmsg_file, defered_list, err_fmt, args);
-    g_list_free(defered_list);
-  }
-  va_end(args);
-  return ok_fail && ok_warn;
+		if (addr_is_defered(rcpt)) {
+			if ((now - msg->received_time) >= conf.max_defer_time) {
+				addr_mark_failed(rcpt);
+			} else
+				defered_list = g_list_prepend(defered_list, rcpt);
+		}
+		if (addr_is_failed(rcpt))
+			failed_list = g_list_prepend(failed_list, rcpt);
+	}
+	if (failed_list != NULL) {
+		ok_fail = fail_msg(msg, conf.errmsg_file, failed_list, err_fmt, args);
+		g_list_free(failed_list);
+	}
+	if (defered_list != NULL) {
+		ok_warn = warn_msg(msg, conf.warnmsg_file, defered_list, err_fmt, args);
+		g_list_free(defered_list);
+	}
+	va_end(args);
+	return ok_fail && ok_warn;
 }
 
-static gint _g_list_strcasecmp(gconstpointer a, gconstpointer b)
+static gint
+_g_list_strcasecmp(gconstpointer a, gconstpointer b)
 {
-  return (gint)strcasecmp(a, b);
+	return (gint) strcasecmp(a, b);
 }
 
-gboolean deliver_local(msg_out *msgout)
+gboolean
+deliver_local(msg_out * msgout)
 {
-  message *msg = msgout->msg;
-  GList *rcpt_list = msgout->rcpt_list;
-  GList *rcpt_node;
-  gboolean ok = TRUE, flag = FALSE, ok_fail = FALSE;
-
-  DEBUG(5) debugf("deliver_local entered\n");
-
-  flag = (msg->data_list == NULL);
-  if(flag){
-    if(!(ok = spool_read_data(msg))){
-      logwrite(LOG_ALERT, "could not open data spool file for %s\n",
-	       msg->uid);
-    }
-  }
-  if(!ok) return FALSE;
-
-  ok = FALSE;
-  for(rcpt_node = g_list_first(rcpt_list);
-      rcpt_node;
-      rcpt_node = g_list_next(rcpt_node)){
-    GList *hdr_list;
-    address *rcpt = (address *)(rcpt_node->data);
-    address *env_addr = addr_find_ancestor(rcpt);
-    address *ret_path = msg->return_path;
-    header *retpath_hdr, *envto_hdr;
+	message *msg = msgout->msg;
+	GList *rcpt_list = msgout->rcpt_list;
+	GList *rcpt_node;
+	gboolean ok = TRUE, flag = FALSE, ok_fail = FALSE;
 
-    /* we need a private copy of the hdr list because we add headers here
-       that belong to the rcpt only.
-       g_list_copy copies only the nodes, so it is safe to
-       g_list_free it
-    */
-    hdr_list = g_list_copy(msg->hdr_list);
-    retpath_hdr = create_header(HEAD_ENVELOPE_TO,
-				"Envelope-to: %s\n", addr_string(env_addr));
-    envto_hdr = create_header(HEAD_RETURN_PATH,
-			      "Return-path: %s\n", addr_string(ret_path));
-    
-    hdr_list = g_list_prepend(hdr_list, envto_hdr);
-    hdr_list = g_list_prepend(hdr_list, retpath_hdr);
+	DEBUG(5) debugf("deliver_local entered\n");
 
-    if(rcpt->local_part[0] == '|'){
-      DEBUG(1) debugf("attempting to deliver %s with pipe\n", msg->uid);
-      if(pipe_out(msg, hdr_list, rcpt, &(rcpt->local_part[1]),
-		  (conf.pipe_fromline ? MSGSTR_FROMLINE : 0) |
-		  (conf.pipe_fromhack ? MSGSTR_FROMHACK : 0))){
-	logwrite(LOG_NOTICE, "%s => %s <%s@%s> with pipe\n",
-		 msg->uid, rcpt->local_part,
-		 env_addr->local_part, env_addr->domain
-		 );
-	addr_mark_delivered(rcpt);
-	ok = TRUE;
-      }else{
-	if((errno != (1024 + EX_TEMPFAIL)) && (errno != EAGAIN)){
-	  addr_mark_failed(rcpt);
-	}else{
-	  addr_mark_defered(rcpt); /* has no effect yet,
-				      except that mail remains in spool */
+	flag = (msg->data_list == NULL);
+	if (flag) {
+		if (!(ok = spool_read_data(msg))) {
+			logwrite(LOG_ALERT, "could not open data spool file for %s\n", msg->uid);
+		}
 	}
-      }
-    }else{
-      /* figure out which mailbox type should be used for this user */
-      gchar *user = rcpt->local_part;
-      gchar *mbox_type = conf.mbox_default;
-      
-      if(g_list_find_custom(conf.mbox_users, user, _g_list_strcasecmp) != NULL)
-	mbox_type = "mbox";
-      else if(g_list_find_custom(conf.mda_users, user, _g_list_strcasecmp) != NULL)
-	mbox_type = "mda";
-      else if(g_list_find_custom(conf.maildir_users, user, _g_list_strcasecmp) != NULL)
-	mbox_type = "maildir";
+	if (!ok)
+		return FALSE;
+
+	ok = FALSE;
+	for (rcpt_node = g_list_first(rcpt_list); rcpt_node; rcpt_node = g_list_next(rcpt_node)) {
+		GList *hdr_list;
+		address *rcpt = (address *) (rcpt_node->data);
+		address *env_addr = addr_find_ancestor(rcpt);
+		address *ret_path = msg->return_path;
+		header *retpath_hdr, *envto_hdr;
+
+		/* we need a private copy of the hdr list because we add headers here
+		   that belong to the rcpt only.
+		   g_list_copy copies only the nodes, so it is safe to
+		   g_list_free it
+		 */
+		hdr_list = g_list_copy(msg->hdr_list);
+		retpath_hdr = create_header(HEAD_ENVELOPE_TO, "Envelope-to: %s\n", addr_string(env_addr));
+		envto_hdr = create_header(HEAD_RETURN_PATH, "Return-path: %s\n", addr_string(ret_path));
+
+		hdr_list = g_list_prepend(hdr_list, envto_hdr);
+		hdr_list = g_list_prepend(hdr_list, retpath_hdr);
+
+		if (rcpt->local_part[0] == '|') {
+			DEBUG(1) debugf("attempting to deliver %s with pipe\n", msg->uid);
+			if (pipe_out(msg, hdr_list, rcpt, &(rcpt->local_part[1]),
+			    (conf.pipe_fromline ? MSGSTR_FROMLINE : 0)
+			    | (conf.pipe_fromhack ? MSGSTR_FROMHACK : 0))) {
+				logwrite(LOG_NOTICE, "%s => %s <%s@%s> with pipe\n", msg->uid, rcpt->local_part, env_addr->local_part, env_addr->domain);
+				addr_mark_delivered(rcpt);
+				ok = TRUE;
+			} else {
+				if ((errno != (1024 + EX_TEMPFAIL)) && (errno != EAGAIN)) {
+					addr_mark_failed(rcpt);
+				} else {
+					addr_mark_defered(rcpt);  /* has no effect yet, except that mail remains in spool */
+				}
+			}
+		} else {
+			/* figure out which mailbox type should be used for this user */
+			gchar *user = rcpt->local_part;
+			gchar *mbox_type = conf.mbox_default;
+
+			if (g_list_find_custom (conf.mbox_users, user, _g_list_strcasecmp) != NULL)
+				mbox_type = "mbox";
+			else if (g_list_find_custom (conf.mda_users, user, _g_list_strcasecmp) != NULL)
+				mbox_type = "mda";
+			else if (g_list_find_custom (conf.maildir_users, user, _g_list_strcasecmp) != NULL)
+				mbox_type = "maildir";
 
-      if(strcmp(mbox_type, "mbox") == 0){
-	DEBUG(1) debugf("attempting to deliver %s with mbox\n", msg->uid);
-	if(append_file(msg, hdr_list, rcpt->local_part)){
-	  if(env_addr != rcpt){
-	    logwrite(LOG_NOTICE, "%s => %s@%s <%s@%s> with mbox\n",
-		     msg->uid, rcpt->local_part, rcpt->domain,
-		     env_addr->local_part, env_addr->domain
-		     );
-	  }else{
-	    logwrite(LOG_NOTICE, "%s => <%s@%s> with mbox\n",
-		     msg->uid, rcpt->local_part, rcpt->domain);
-	  }
-	  addr_mark_delivered(rcpt);
-	  ok = TRUE;
-	}else{
-	  if(errno != EAGAIN){ /* prevents 'Resource temporarily unavailable (11)' */
-	    addr_mark_failed(rcpt);
-	  }else{
-	    addr_mark_defered(rcpt);
-	  }
-	}
+			if (strcmp(mbox_type, "mbox") == 0) {
+				DEBUG(1) debugf("attempting to deliver %s with mbox\n", msg->uid);
+				if (append_file(msg, hdr_list, rcpt->local_part)) {
+					if (env_addr != rcpt) {
+						logwrite(LOG_NOTICE, "%s => %s@%s <%s@%s> with mbox\n",
+						         msg->uid, rcpt->local_part, rcpt->domain,
+						         env_addr->local_part, env_addr->domain);
+					} else {
+						logwrite(LOG_NOTICE, "%s => <%s@%s> with mbox\n",
+						         msg->uid, rcpt->local_part, rcpt->domain);
+					}
+					addr_mark_delivered(rcpt);
+					ok = TRUE;
+				} else {
+					if (errno != EAGAIN) {  /* prevents 'Resource temporarily unavailable (11)' */
+						addr_mark_failed(rcpt);
+					} else {
+						addr_mark_defered(rcpt);
+					}
+				}
 
-      }else if(strcmp(mbox_type, "mda") == 0){
-	if(conf.mda){
-	  gchar *cmd = g_malloc(256);
-	  GList *var_table = var_table_rcpt(var_table_msg(NULL, msg), rcpt);
-	  
-	  DEBUG(1) debugf("attempting to deliver %s with mda\n", msg->uid);
-	  
-	  if(expand(var_table, conf.mda, cmd, 256)){
-	  
-	    if(pipe_out(msg, hdr_list, rcpt, cmd,
-			(conf.mda_fromline ? MSGSTR_FROMLINE : 0) |
-			(conf.mda_fromhack ? MSGSTR_FROMHACK : 0))){
-	      logwrite(LOG_NOTICE, "%s => %s@%s with mda (cmd = '%s')\n",
-		       msg->uid, rcpt->local_part, rcpt->domain, cmd
-		       );
-	      addr_mark_delivered(rcpt);
-	      ok = TRUE;
-	    }else{
-	      if((errno != (1024 + EX_TEMPFAIL)) && (errno != EAGAIN)){
-		addr_mark_failed(rcpt);
-	      }else{
-		addr_mark_defered(rcpt); /* has no effect yet,
-					    except that mail remains in spool */
-	      }
-	    }
-	  }else
-	    logwrite(LOG_ALERT, "could not expand string %s\n", conf.mda);
-	  
-	  destroy_table(var_table);
-	}else
-	  logwrite(LOG_ALERT, "mbox type is mda, but no mda command given in configuration\n");
+			} else if (strcmp(mbox_type, "mda") == 0) {
+				if (conf.mda) {
+					gchar *cmd = g_malloc(256);
+					GList *var_table = var_table_rcpt(var_table_msg(NULL, msg), rcpt);
+
+					DEBUG(1) debugf("attempting to deliver %s with mda\n", msg->uid);
+
+					if (expand(var_table, conf.mda, cmd, 256)) {
+
+						if (pipe_out(msg, hdr_list, rcpt, cmd, (conf.mda_fromline ? MSGSTR_FROMLINE : 0)
+						    | (conf.mda_fromhack ? MSGSTR_FROMHACK : 0))) {
+							logwrite(LOG_NOTICE, "%s => %s@%s with mda (cmd = '%s')\n",
+							         msg->uid, rcpt->local_part, rcpt->domain, cmd);
+							addr_mark_delivered(rcpt);
+							ok = TRUE;
+						} else {
+							if ((errno != (1024 + EX_TEMPFAIL)) && (errno != EAGAIN)) {
+								addr_mark_failed(rcpt);
+							} else {
+								addr_mark_defered(rcpt);  /* has no effect yet, except that mail remains in spool */
+							}
+						}
+					} else
+						logwrite(LOG_ALERT, "could not expand string %s\n", conf.mda);
+
+					destroy_table(var_table);
+				} else
+					logwrite(LOG_ALERT, "mbox type is mda, but no mda command given in configuration\n");
 
 #ifdef ENABLE_MAILDIR
-      }else if(strcmp(mbox_type, "maildir") == 0){
-	DEBUG(1) debugf("attempting to deliver %s with maildir\n", msg->uid);
-	if(maildir_out(msg, hdr_list, rcpt->local_part, 0)){
-	  if(env_addr != rcpt){
-	    logwrite(LOG_NOTICE, "%s => %s@%s <%s@%s> with local\n",
-		     msg->uid, rcpt->local_part, rcpt->domain,
-		     env_addr->local_part, env_addr->domain
-		     );
-	  }else{
-	    logwrite(LOG_NOTICE, "%s => <%s@%s> with maildir\n",
-		     msg->uid, rcpt->local_part, rcpt->domain);
-	  }
-	  addr_mark_delivered(rcpt);
-	  ok = TRUE;
-	}else
-	  addr_mark_failed(rcpt);
+			} else if (strcmp(mbox_type, "maildir") == 0) {
+				DEBUG(1) debugf("attempting to deliver %s with maildir\n", msg->uid);
+				if (maildir_out(msg, hdr_list, rcpt->local_part, 0)) {
+					if (env_addr != rcpt) {
+						logwrite(LOG_NOTICE, "%s => %s@%s <%s@%s> with local\n", msg->uid,
+						         rcpt->local_part, rcpt->domain, env_addr->local_part, env_addr->domain);
+					} else {
+						logwrite(LOG_NOTICE, "%s => <%s@%s> with maildir\n", msg->uid,
+						         rcpt->local_part, rcpt->domain);
+					}
+					addr_mark_delivered(rcpt);
+					ok = TRUE;
+				} else
+					addr_mark_failed(rcpt);
 #endif
-      }else
-	logwrite(LOG_ALERT, "unknown mbox type '%s'\n", mbox_type);
-    }
+			} else
+				logwrite(LOG_ALERT, "unknown mbox type '%s'\n", mbox_type);
+		}
 
-    destroy_header(retpath_hdr);
-    destroy_header(envto_hdr);
+		destroy_header(retpath_hdr);
+		destroy_header(envto_hdr);
 
-    g_list_free(hdr_list);
-  }
-  ok_fail = delivery_failures(msg, rcpt_list, "%s (%d)", ext_strerror(errno), errno);
+		g_list_free(hdr_list);
+	}
+	ok_fail = delivery_failures(msg, rcpt_list, "%s (%d)", ext_strerror(errno), errno);
 
-  if(flag) msg_free_data(msg);
-  if(ok || ok_fail) deliver_finish(msgout);
+	if (flag)
+		msg_free_data(msg);
+	if (ok || ok_fail)
+		deliver_finish(msgout);
 
-  return ok;
+	return ok;
 }
 
 /* make a list of rcpt's of a message that are local
    return a new copy of the list
 */
-void msg_rcptlist_local(GList *rcpt_list, GList **p_local_list, GList **p_nonlocal_list)
+void
+msg_rcptlist_local(GList * rcpt_list, GList ** p_local_list, GList ** p_nonlocal_list)
 {
-  GList *rcpt_node;
+	GList *rcpt_node;
 
-  foreach(rcpt_list, rcpt_node){
-    address *rcpt = (address *)(rcpt_node->data);
-    GList *dom_node;
+	foreach(rcpt_list, rcpt_node) {
+		address *rcpt = (address *) (rcpt_node->data);
+		GList *dom_node;
 
-    DEBUG(5) debugf("checking address %s\n", rcpt->address);
+		DEBUG(5) debugf("checking address %s\n", rcpt->address);
 
-    /* search for local host list: */
-    foreach(conf.local_hosts, dom_node){
-      if(strcasecmp(dom_node->data, rcpt->domain) == 0){
-	*p_local_list = g_list_append(*p_local_list, rcpt);
-	DEBUG(5) debugf("<%s@%s> is local\n", rcpt->local_part, rcpt->domain);
-	break;
-      }else{
-	*p_nonlocal_list = g_list_append(*p_nonlocal_list, rcpt);
-      }
-    }
-  }
+		/* search for local host list: */
+		foreach(conf.local_hosts, dom_node) {
+			if (strcasecmp(dom_node->data, rcpt->domain) == 0) {
+				*p_local_list = g_list_append(*p_local_list, rcpt);
+				DEBUG(5) debugf("<%s@%s> is local\n", rcpt->local_part, rcpt->domain);
+				break;
+			} else {
+				*p_nonlocal_list = g_list_append(*p_nonlocal_list, rcpt);
+			}
+		}
+	}
 }
 
-gboolean deliver_msglist_host_pipe(connect_route *route, GList *msgout_list, gchar *host, GList *res_list)
+gboolean
+deliver_msglist_host_pipe(connect_route * route, GList * msgout_list, gchar * host, GList * res_list)
 {
-  gboolean ok = TRUE;
-  GList *msgout_node;
+	gboolean ok = TRUE;
+	GList *msgout_node;
 
-  DEBUG(5) debugf("deliver_msglist_host_pipe entered\n");
+	DEBUG(5) debugf("deliver_msglist_host_pipe entered\n");
 
-  if(route->pipe == NULL){
-    logwrite(LOG_ALERT, "no pipe command given for route (protocol is pipe!)\n");
-    return FALSE;
-  }
+	if (route->pipe == NULL) {
+		logwrite(LOG_ALERT, "no pipe command given for route (protocol is pipe!)\n");
+		return FALSE;
+	}
 
-  foreach(msgout_list, msgout_node){
-    msg_out *msgout = (msg_out *)(msgout_node->data);
-    gboolean flag, ok_msg = TRUE, ok_fail = FALSE;
-    message *msg = msgout->msg;
-    GList *rcpt_node, *rcpt_list = msgout->rcpt_list;
+	foreach(msgout_list, msgout_node) {
+		msg_out *msgout = (msg_out *) (msgout_node->data);
+		gboolean flag, ok_msg = TRUE, ok_fail = FALSE;
+		message *msg = msgout->msg;
+		GList *rcpt_node, *rcpt_list = msgout->rcpt_list;
 
-    DEBUG(1) debugf("attempting to deliver %s with pipe\n", msg->uid);
+		DEBUG(1) debugf("attempting to deliver %s with pipe\n", msg->uid);
 
-    flag = (msg->data_list == NULL);
-    if(flag){
-      if(!(ok_msg = spool_read_data(msg))){
-	logwrite(LOG_ALERT, "could not open data spool file for %s\n",
-		 msg->uid);
-      }
-    }
-    if(!ok_msg) continue;
+		flag = (msg->data_list == NULL);
+		if (flag) {
+			if (!(ok_msg = spool_read_data(msg))) {
+				logwrite(LOG_ALERT, "could not open data spool file for %s\n", msg->uid);
+			}
+		}
+		if (!ok_msg)
+			continue;
 
-    ok = FALSE;
-    foreach(rcpt_list, rcpt_node){
-      address *rcpt = (address *)(rcpt_node->data);
-      gchar *cmd = g_malloc(256);
-      GList *var_table = var_table_rcpt(var_table_msg(NULL, msg), rcpt);
-      
-      DEBUG(1) debugf("attempting to deliver %s to %s@%s with pipe\n",
-		      msg->uid, rcpt->local_part, rcpt->domain);
-      
-      if(expand(var_table, route->pipe, cmd, 256)){
-	
-	if(pipe_out(msg, msg->hdr_list, rcpt, cmd,
-		    (route->pipe_fromline ? MSGSTR_FROMLINE : 0) |
-		    (route->pipe_fromhack ? MSGSTR_FROMHACK : 0))){
-	  logwrite(LOG_NOTICE, "%s => %s@%s with pipe (cmd = '%s')\n",
-		   msg->uid, rcpt->local_part, rcpt->domain, cmd
-		   );
-	  addr_mark_delivered(rcpt);
-	  ok = TRUE;
-	}else{
-	  logwrite(LOG_ALERT, "pipe_out '%s' failed\n", route->pipe);
+		ok = FALSE;
+		foreach(rcpt_list, rcpt_node) {
+			address *rcpt = (address *) (rcpt_node->data);
+			gchar *cmd = g_malloc(256);
+			GList *var_table = var_table_rcpt(var_table_msg(NULL, msg), rcpt);
+
+			DEBUG(1) debugf("attempting to deliver %s to %s@%s with pipe\n", msg->uid, rcpt->local_part, rcpt->domain);
+
+			if (expand(var_table, route->pipe, cmd, 256)) {
+
+				if (pipe_out(msg, msg->hdr_list, rcpt, cmd, (route->pipe_fromline ? MSGSTR_FROMLINE : 0)
+				    | (route->pipe_fromhack ? MSGSTR_FROMHACK : 0))) {
+					logwrite(LOG_NOTICE, "%s => %s@%s with pipe (cmd = '%s')\n",
+					         msg->uid, rcpt->local_part, rcpt->domain, cmd);
+					addr_mark_delivered(rcpt);
+					ok = TRUE;
+				} else {
+					logwrite(LOG_ALERT, "pipe_out '%s' failed\n", route->pipe);
 
-	  if(route->connect_error_fail){
-	    addr_mark_failed(rcpt);
-	  }else{
-	    addr_mark_defered(rcpt);
-	  }
+					if (route->connect_error_fail) {
+						addr_mark_failed(rcpt);
+					} else {
+						addr_mark_defered(rcpt);
+					}
+				}
+			} else
+				logwrite(LOG_ALERT, "could not expand string %s\n", route->pipe);
+
+			destroy_table(var_table);
+		}
+		ok_fail = delivery_failures(msg, rcpt_list, "%s", strerror(errno));
+
+		if (flag)
+			msg_free_data(msg);
+
+		if (ok || ok_fail)
+			deliver_finish(msgout);
 	}
-      }else
-	logwrite(LOG_ALERT, "could not expand string %s\n", route->pipe);
-      
-      destroy_table(var_table);
-    }
-    ok_fail = delivery_failures(msg, rcpt_list, "%s", strerror(errno));
 
-    if(flag) msg_free_data(msg);
-
-    if(ok || ok_fail) deliver_finish(msgout);
-  }
-
-  return ok;
+	return ok;
 }
 
 /* deliver list of messages to one host
-   and finishes them if the message was delivered to at least one
-   rcpt.
-   Returns TRUE if at least one msg was delivered to at least one
-   rcpt.
+   and finishes them if the message was delivered to at least one rcpt.
+   Returns TRUE if at least one msg was delivered to at least one rcpt.
 */
 
-gboolean deliver_msglist_host_smtp(connect_route *route, GList *msgout_list, gchar *host, GList *res_list)
+gboolean
+deliver_msglist_host_smtp(connect_route * route, GList * msgout_list, gchar * host, GList * res_list)
 {
-  gboolean ok = FALSE;
-  GList *msgout_node;
-  smtp_base *psb;
-  gint port;
-  
-  /* paranoid check: */
-  if(msgout_list == NULL){
-    logwrite(LOG_ALERT,
-	     "Ooops: empty list of messages in deliver_msglist_host()\n");
-    return FALSE;
-  }
+	gboolean ok = FALSE;
+	GList *msgout_node;
+	smtp_base *psb;
+	gint port;
+
+	/* paranoid check: */
+	if (msgout_list == NULL) {
+		logwrite(LOG_ALERT, "Ooops: empty list of messages in deliver_msglist_host()\n");
+		return FALSE;
+	}
 
-  if(host == NULL){
-    host = route->mail_host->address;
-    port = route->mail_host->port;
-  }else
-    port = conf.remote_port;
-    
+	if (host == NULL) {
+		host = route->mail_host->address;
+		port = route->mail_host->port;
+	} else
+		port = conf.remote_port;
+
 #ifdef ENABLE_POP3
-  if(route->pop3_login){
-    if(!(pop_before_smtp(route->pop3_login)))
-      return FALSE;
-  }
+	if (route->pop3_login) {
+		if (!(pop_before_smtp(route->pop3_login)))
+			return FALSE;
+	}
 #endif
 
-  if((psb = (route->wrapper ?
-	     smtp_out_open_child(route->wrapper) :
-	     smtp_out_open(host, port, res_list)))){
+	if ((psb = (route->wrapper ? smtp_out_open_child(route->wrapper) : smtp_out_open(host, port, res_list)))) {
 
-    if(route->wrapper) psb->remote_host = host;
+		if (route->wrapper)
+			psb->remote_host = host;
 
-    set_heloname(psb,
-		 route->helo_name ? route->helo_name : conf.host_name,
-		 route->do_correct_helo);
+		set_heloname(psb, route->helo_name ? route->helo_name : conf.host_name, route->do_correct_helo);
 
 #ifdef ENABLE_AUTH
-    if((route->auth_name) && (route->auth_login) && (route->auth_secret))
-      set_auth(psb, route->auth_name, route->auth_login, route->auth_secret);
+		if ((route->auth_name) && (route->auth_login)
+		    && (route->auth_secret))
+			set_auth(psb, route->auth_name, route->auth_login, route->auth_secret);
 #endif
-    if(smtp_out_init(psb)){
+		if (smtp_out_init(psb)) {
+
+			if (!route->do_pipelining)
+				psb->use_pipelining = FALSE;
+
+			foreach(msgout_list, msgout_node) {
+				msg_out *msgout = (msg_out *) (msgout_node->data);
+				gboolean flag, ok_msg = FALSE, ok_fail = FALSE;
+				message *msg = msgout->msg;
 
-      if(!route->do_pipelining) psb->use_pipelining = FALSE;
+				/* we may have to read the data at this point
+				   and remember if we did */
+				flag = (msg->data_list == NULL);
+				if (flag) {
+					if (!spool_read_data(msg)) {
+						logwrite(LOG_ALERT, "could not open data spool file %s\n", msg->uid);
+						break;
+					}
+				}
+
+				smtp_out_msg(psb, msg, msgout->return_path, msgout->rcpt_list, msgout->hdr_list);
 
-      foreach(msgout_list, msgout_node){
-	msg_out *msgout = (msg_out *)(msgout_node->data);
-	gboolean flag, ok_msg = FALSE, ok_fail = FALSE;
-	message *msg = msgout->msg;
+				ok_fail = delivery_failures(msg, msgout->rcpt_list, "while connected with %s, the server replied\n\t%s", host, psb->buffer);
+
+				if ((psb->error == smtp_eof)
+				    || (psb->error == smtp_timeout)) {
+					/* connection lost */
+					break;
+				} else if (psb->error != smtp_ok) {
+					if (g_list_next(msgout_node) != NULL)
+						if (!smtp_out_rset(psb))
+							break;
+				}
+				ok_msg = (psb->error == smtp_ok);
 
-	/* we may have to read the data at this point
-	   and remember if we did */
-	flag = (msg->data_list == NULL);
-	if(flag){
-	  if(!spool_read_data(msg)){
-	    logwrite(LOG_ALERT, "could not open data spool file %s\n",
-		     msg->uid);
-	    break;
-	  }
-	}
-    
-	smtp_out_msg(psb, msg,
-		     msgout->return_path, msgout->rcpt_list, msgout->hdr_list);
+				if (flag)
+					msg_free_data(msg);
+				if (ok_msg)
+					ok = TRUE;
+				if (ok_msg || ok_fail) {
+					deliver_finish(msgout);
+				}
+			}
+			if (psb->error == smtp_ok || (psb->error == smtp_fail)
+			    || (psb->error == smtp_trylater) || (psb->error == smtp_syntax)) {
+				smtp_out_quit(psb);
+			}
+		} else {
+			/* smtp_out_init() failed */
+			if ((psb->error == smtp_fail) || (psb->error == smtp_trylater) || (psb->error == smtp_syntax)) {
+				smtp_out_quit(psb);
+
+				foreach(msgout_list, msgout_node) {
+					msg_out *msgout = (msg_out *) (msgout_node->data);
+					smtp_out_mark_rcpts(psb, msgout->rcpt_list);
 
-	ok_fail = delivery_failures(msg, msgout->rcpt_list, 
-				    "while connected with %s, the server replied\n\t%s",
-				    host, psb->buffer);
+					if (delivery_failures(msgout->msg, msgout->rcpt_list,
+					    "while connected with %s, the server replied\n\t%s", host, psb->buffer))
+						deliver_finish(msgout);
+				}
+			}
+		}
+		destroy_smtpbase(psb);
+	} else {
+		/* smtp_out_open() failed */
+		foreach(msgout_list, msgout_node) {
+			msg_out *msgout = (msg_out *) (msgout_node->data);
+			GList *rcpt_node;
+
+			for (rcpt_node = g_list_first(msgout->rcpt_list); rcpt_node; rcpt_node = g_list_next(rcpt_node)) {
+				address *rcpt = (address *) (rcpt_node->data);
 
-	if((psb->error == smtp_eof) ||
-	   (psb->error == smtp_timeout)){
-	  /* connection lost */
-	  break;
-	}
-	else if(psb->error != smtp_ok){
-	  if(g_list_next(msgout_node) != NULL)
-	    if(!smtp_out_rset(psb))
-	      break;
-	}
-	ok_msg = (psb->error == smtp_ok);
-
-	if(flag) msg_free_data(msg);
-	if(ok_msg) ok = TRUE;
-	if(ok_msg || ok_fail){
-	  deliver_finish(msgout);
+				addr_unmark_delivered(rcpt);
+				if (route->connect_error_fail) {
+					addr_mark_failed(rcpt);
+				} else {
+					addr_mark_defered(rcpt);
+				}
+				if (route->wrapper
+				    ? delivery_failures(msgout->msg, msgout->rcpt_list,
+				                        "could not open wrapper:\n\t%s",
+				                        strerror(errno))
+				    : delivery_failures(msgout->msg, msgout->rcpt_list,
+				                        "could not open connection to %s:%d :\n\t%s",
+				                        host, port, h_errno != 0 ? hstrerror(h_errno) : strerror(errno)))
+					deliver_finish(msgout);
+			}
+		}
 	}
-      }
-      if(psb->error == smtp_ok ||
-	 (psb->error == smtp_fail) ||
-	 (psb->error == smtp_trylater) ||
-	 (psb->error == smtp_syntax)){
-
-	smtp_out_quit(psb);
-      }
-    }else{
-      /* smtp_out_init() failed */
-      if((psb->error == smtp_fail) ||
-	 (psb->error == smtp_trylater) ||
-	 (psb->error == smtp_syntax)){
-	smtp_out_quit(psb);
-
-	foreach(msgout_list, msgout_node){
-	  msg_out *msgout = (msg_out *)(msgout_node->data);
-	  smtp_out_mark_rcpts(psb, msgout->rcpt_list);
-
-	  if(delivery_failures(msgout->msg, msgout->rcpt_list, 
-			       "while connected with %s, the server replied\n\t%s",
-			       host, psb->buffer))
-	    deliver_finish(msgout);
-	}
-      }
-    }
-    destroy_smtpbase(psb);
-  }else{
-    /* smtp_out_open() failed */
-    foreach(msgout_list, msgout_node){
-      msg_out *msgout = (msg_out *)(msgout_node->data);
-      GList *rcpt_node;
-
-      for(rcpt_node = g_list_first(msgout->rcpt_list);
-	  rcpt_node;
-	  rcpt_node = g_list_next(rcpt_node)){
-	address *rcpt = (address *)(rcpt_node->data);
-
-	addr_unmark_delivered(rcpt);
-	if(route->connect_error_fail){
-	  addr_mark_failed(rcpt);
-	}else{
-	  addr_mark_defered(rcpt);
-	}
-	if(route->wrapper ?
-	   delivery_failures(msgout->msg, msgout->rcpt_list,
-			     "could not open wrapper:\n\t%s",
-			     strerror(errno)) :
-	   delivery_failures(msgout->msg, msgout->rcpt_list, 
-			     "could not open connection to %s:%d :\n\t%s",
-			     host, port, h_errno != 0 ? hstrerror(h_errno) : strerror(errno)))
-	  deliver_finish(msgout);
-      }
-    }
-  }
-  return ok;
+	return ok;
 }
 
-gboolean deliver_msglist_host(connect_route *route, GList *msgout_list, gchar *host, GList *res_list)
+gboolean
+deliver_msglist_host(connect_route * route, GList * msgout_list, gchar * host, GList * res_list)
 {
-  DEBUG(5) debugf("protocol = %s\n", route->protocol);
+	DEBUG(5) debugf("protocol = %s\n", route->protocol);
 
-  if(strcmp(route->protocol, "pipe") == 0){
-    return deliver_msglist_host_pipe(route, msgout_list, host, res_list);
-  }else{
-    return deliver_msglist_host_smtp(route, msgout_list, host, res_list);
-  }
+	if (strcmp(route->protocol, "pipe") == 0) {
+		return deliver_msglist_host_pipe(route, msgout_list, host, res_list);
+	} else {
+		return deliver_msglist_host_smtp(route, msgout_list, host, res_list);
+	}
 }
 
 /*
   delivers messages in msgout_list using route
 */
-gboolean deliver_route_msgout_list(connect_route *route, GList *msgout_list)
+gboolean
+deliver_route_msgout_list(connect_route * route, GList * msgout_list)
 {
-  gboolean ok = FALSE;
+	gboolean ok = FALSE;
 
-  DEBUG(5) debugf("deliver_route_msgout_list entered, route->name = %s\n",
-		  route->name);
+	DEBUG(5)
+		debugf("deliver_route_msgout_list entered, route->name = %s\n", route->name);
 
-  if(route->mail_host != NULL){
-    /* this is easy... */
-    if(deliver_msglist_host(route, msgout_list,
-			    NULL, route->resolve_list))
-      ok = TRUE;
-      
-  }else{
-    /* this is not easy... */
-    GList *mo_ph_list;
+	if (route->mail_host != NULL) {
+		/* this is easy... */
+		if (deliver_msglist_host(route, msgout_list, NULL, route->resolve_list))
+			ok = TRUE;
+
+	} else {
+		/* this is not easy... */
+		GList *mo_ph_list;
 
-    mo_ph_list = route_msgout_list(route, msgout_list);
-    /* okay, now we have ordered our messages by the hosts. */
-    if(mo_ph_list != NULL){
-      GList *mo_ph_node;
-      /* TODO: It would be nice to be able to fork for each host.
-	 We cannot do that yet because of complications with finishing the
-	 messages. Threads could be a solution because they use the same
-	 memory. But we are not thread safe yet...
-      */
-      foreach(mo_ph_list, mo_ph_node){
-	msgout_perhost *mo_ph = (msgout_perhost *)(mo_ph_node->data);
-	if(deliver_msglist_host(route, mo_ph->msgout_list,
-				mo_ph->host, route->resolve_list))
-	  ok = TRUE;
+		mo_ph_list = route_msgout_list(route, msgout_list);
+		/* okay, now we have ordered our messages by the hosts. */
+		if (mo_ph_list != NULL) {
+			GList *mo_ph_node;
+			/* TODO: It would be nice to be able to fork for each host.
+			   We cannot do that yet because of complications with finishing the
+			   messages. Threads could be a solution because they use the same
+			   memory. But we are not thread safe yet...
+			 */
+			foreach(mo_ph_list, mo_ph_node) {
+				msgout_perhost *mo_ph = (msgout_perhost *) (mo_ph_node->data);
+				if (deliver_msglist_host (route, mo_ph->msgout_list, mo_ph->host, route->resolve_list))
+					ok = TRUE;
 
-	destroy_msgout_perhost(mo_ph);
-      }
-      g_list_free(mo_ph_list);
-    }
-  }
-  return ok;
+				destroy_msgout_perhost(mo_ph);
+			}
+			g_list_free(mo_ph_list);
+		}
+	}
+	return ok;
 }
 
 /*
@@ -532,85 +510,86 @@
   delivers messages in msg_list using route
   by calling deliver_route_msgout_list()
 */
-gboolean deliver_route_msg_list(connect_route *route, GList *msgout_list)
+gboolean
+deliver_route_msg_list(connect_route * route, GList * msgout_list)
 {
-  GList *msgout_list_deliver = NULL;
-  GList *msgout_node;
-  gboolean ok = TRUE;
+	GList *msgout_list_deliver = NULL;
+	GList *msgout_node;
+	gboolean ok = TRUE;
 
-  DEBUG(6) debugf("deliver_route_msg_list()\n");
+	DEBUG(6) debugf("deliver_route_msg_list()\n");
 
-  foreach(msgout_list, msgout_node){
-    msg_out *msgout = (msg_out *)(msgout_node->data);
-    msg_out *msgout_cloned = clone_msg_out(msgout);
-    GList *rcpt_list_non_delivered = NULL;
-    GList *rcpt_node;
+	foreach(msgout_list, msgout_node) {
+		msg_out *msgout = (msg_out *) (msgout_node->data);
+		msg_out *msgout_cloned = clone_msg_out(msgout);
+		GList *rcpt_list_non_delivered = NULL;
+		GList *rcpt_node;
 
-    /* we have to delete already delivered rcpt's
-       because a previous route may have delivered to it */
-    foreach(msgout_cloned->rcpt_list, rcpt_node){
-      address *rcpt = (address *)(rcpt_node->data);
-      /* failed addresses already have been bounced
-	 - there should be a better way to handle those.*/
-      if(!addr_is_delivered(rcpt) && !addr_is_failed(rcpt) && !(rcpt->flags & ADDR_FLAG_LAST_ROUTE))
-	rcpt_list_non_delivered = g_list_append(rcpt_list_non_delivered, rcpt);
-    }
-    g_list_free(msgout_cloned->rcpt_list);
-    msgout_cloned->rcpt_list = rcpt_list_non_delivered;
+		/* we have to delete already delivered rcpt's
+		   because a previous route may have delivered to it */
+		foreach(msgout_cloned->rcpt_list, rcpt_node) {
+			address *rcpt = (address *) (rcpt_node->data);
+			/* failed addresses already have been bounced
+			   - there should be a better way to handle those. */
+			if (!addr_is_delivered(rcpt) && !addr_is_failed(rcpt)
+			    && !(rcpt->flags & ADDR_FLAG_LAST_ROUTE))
+				rcpt_list_non_delivered = g_list_append(rcpt_list_non_delivered, rcpt);
+		}
+		g_list_free(msgout_cloned->rcpt_list);
+		msgout_cloned->rcpt_list = rcpt_list_non_delivered;
 
-    if(msgout_cloned->rcpt_list){
-      if(route_is_allowed_mail_local(route, msgout->msg->return_path) && 
-	 route_is_allowed_return_path(route, msgout->msg->return_path)){
-	GList *rcpt_list_allowed = NULL, *rcpt_list_notallowed = NULL;
-	msg_rcptlist_route(route, msgout_cloned->rcpt_list,
-			   &rcpt_list_allowed, &rcpt_list_notallowed);
-	
-	if(rcpt_list_allowed != NULL){
-	  logwrite(LOG_NOTICE, "%s using '%s'\n", msgout->msg->uid, route->name);
+		if (msgout_cloned->rcpt_list) {
+			if (route_is_allowed_mail_local(route, msgout->msg->return_path)
+			   && route_is_allowed_return_path(route, msgout->msg-> return_path)) {
+				GList *rcpt_list_allowed = NULL, *rcpt_list_notallowed = NULL;
+				msg_rcptlist_route(route, msgout_cloned->rcpt_list, &rcpt_list_allowed, &rcpt_list_notallowed);
+
+				if (rcpt_list_allowed != NULL) {
+					logwrite(LOG_NOTICE, "%s using '%s'\n", msgout->msg->uid, route->name);
+
+					g_list_free(msgout_cloned->rcpt_list);
+					msgout_cloned->rcpt_list = rcpt_list_allowed;
 
-	  g_list_free(msgout_cloned->rcpt_list);
-	  msgout_cloned->rcpt_list = rcpt_list_allowed;
-	  
-	  if(route->last_route){
-	    GList *rcpt_node;
-	    foreach(msgout_cloned->rcpt_list, rcpt_node){
-	      address *rcpt = (address *)(rcpt_node->data);
-	      rcpt->flags |= ADDR_FLAG_LAST_ROUTE;
-	    }
-	  }
+					if (route->last_route) {
+						GList *rcpt_node;
+						foreach(msgout_cloned->rcpt_list, rcpt_node) {
+							address *rcpt = (address *) (rcpt_node->data);
+							rcpt->flags |= ADDR_FLAG_LAST_ROUTE;
+						}
+					}
 
-	  route_prepare_msgout(route, msgout_cloned);
-	  msgout_list_deliver = g_list_append(msgout_list_deliver, msgout_cloned);
-	}else
-	  destroy_msg_out(msgout_cloned);
-      }
-      else
-	destroy_msg_out(msgout_cloned);
-    }else
-      destroy_msg_out(msgout_cloned);
-  }
+					route_prepare_msgout(route, msgout_cloned);
+					msgout_list_deliver = g_list_append(msgout_list_deliver, msgout_cloned);
+				} else
+					destroy_msg_out(msgout_cloned);
+			} else
+				destroy_msg_out(msgout_cloned);
+		} else
+			destroy_msg_out(msgout_cloned);
+	}
 
-  if(msgout_list_deliver != NULL){
-    if(deliver_route_msgout_list(route, msgout_list_deliver))
-      ok = TRUE;
-    destroy_msg_out_list(msgout_list_deliver);
-  }
-  return ok;
+	if (msgout_list_deliver != NULL) {
+		if (deliver_route_msgout_list(route, msgout_list_deliver))
+			ok = TRUE;
+		destroy_msg_out_list(msgout_list_deliver);
+	}
+	return ok;
 }
 
 /* copy pointers of delivered addresses to the msg's non_rcpt_list,
    to make sure that they will not be delivered again.
 */
-void update_non_rcpt_list(msg_out *msgout)
+void
+update_non_rcpt_list(msg_out * msgout)
 {
-  GList *rcpt_node;
-  message *msg = msgout->msg;
+	GList *rcpt_node;
+	message *msg = msgout->msg;
 
-  foreach(msgout->rcpt_list, rcpt_node){
-    address *rcpt = (address *)(rcpt_node->data);
-    if(addr_is_delivered(rcpt) || addr_is_failed(rcpt))
-      msg->non_rcpt_list = g_list_append(msg->non_rcpt_list, rcpt);
-  }
+	foreach(msgout->rcpt_list, rcpt_node) {
+		address *rcpt = (address *) (rcpt_node->data);
+		if (addr_is_delivered(rcpt) || addr_is_failed(rcpt))
+			msg->non_rcpt_list = g_list_append(msg->non_rcpt_list, rcpt);
+	}
 }
 
 /* after delivery attempts, we check if there are any
@@ -621,209 +600,213 @@
 
    returns TRUE if all went well.
 */
-gboolean deliver_finish(msg_out *msgout)
+gboolean
+deliver_finish(msg_out * msgout)
 {
-  GList *rcpt_node;
-  gboolean ok = FALSE;
-  message *msg = msgout->msg;
-  gboolean finished = TRUE;
+	GList *rcpt_node;
+	gboolean ok = FALSE;
+	message *msg = msgout->msg;
+	gboolean finished = TRUE;
 
-  update_non_rcpt_list(msgout);
+	update_non_rcpt_list(msgout);
 
-  /* we NEVER made copies of the addresses, flags affecting addresses
-     were always set on the original address structs */
-  foreach(msg->rcpt_list, rcpt_node){
-    address *rcpt = (address *)(rcpt_node->data);
-    if(!addr_is_finished_children(rcpt))
-      finished = FALSE;
-    else{
-      /* if ALL children have been delivered,
-	 mark parent as delivered.
-	 if there is one or more not delivered,
-	 it must have failed, we mark the parent as failed as well.
-      */
-      if(addr_is_delivered_children(rcpt)){
-	addr_mark_delivered(rcpt);
-      }else{
-	addr_mark_failed(rcpt);
-      }
-    }
-  }
-  
-  if(!finished){
-    /* one not delivered address was found */
-    if(spool_write(msg, FALSE)){
-      ok = TRUE;
-      DEBUG(2) debugf("spool header for %s written back.\n", msg->uid);
-    }else
-      logwrite(LOG_ALERT, "could not write back spool header for %s\n",
-	       msg->uid);
-  }else{
-    ok = spool_delete_all(msg);
-    if(ok)
-      logwrite(LOG_NOTICE, "%s completed.\n", msg->uid);
-  }
-  return ok;
+	/* we NEVER made copies of the addresses, flags affecting addresses
+	   were always set on the original address structs */
+	foreach(msg->rcpt_list, rcpt_node) {
+		address *rcpt = (address *) (rcpt_node->data);
+		if (!addr_is_finished_children(rcpt))
+			finished = FALSE;
+		else {
+			/* if ALL children have been delivered,
+			   mark parent as delivered.
+			   if there is one or more not delivered,
+			   it must have failed, we mark the parent as failed as well.
+			 */
+			if (addr_is_delivered_children(rcpt)) {
+				addr_mark_delivered(rcpt);
+			} else {
+				addr_mark_failed(rcpt);
+			}
+		}
+	}
+
+	if (!finished) {
+		/* one not delivered address was found */
+		if (spool_write(msg, FALSE)) {
+			ok = TRUE;
+			DEBUG(2) debugf("spool header for %s written back.\n", msg->uid);
+		} else
+			logwrite(LOG_ALERT, "could not write back spool header for %s\n", msg->uid);
+	} else {
+		ok = spool_delete_all(msg);
+		if (ok)
+			logwrite(LOG_NOTICE, "%s completed.\n", msg->uid);
+	}
+	return ok;
 }
 
-gboolean deliver_finish_list(GList *msgout_list)
+gboolean
+deliver_finish_list(GList * msgout_list)
 {
-  gboolean ok = TRUE;
-  GList *msgout_node;
-  foreach(msgout_list, msgout_node){
-    msg_out *msgout = (msg_out *)(msgout_node->data);
-    if(!deliver_finish(msgout))
-      ok = FALSE;
-  }
-  return ok;
+	gboolean ok = TRUE;
+	GList *msgout_node;
+	foreach(msgout_list, msgout_node) {
+		msg_out *msgout = (msg_out *) (msgout_node->data);
+		if (!deliver_finish(msgout))
+			ok = FALSE;
+	}
+	return ok;
 }
- 
-gboolean deliver_msgout_list_online(GList *msgout_list)
+
+gboolean
+deliver_msgout_list_online(GList * msgout_list)
 {
-  GList *rf_list = NULL;
-  gchar *connect_name = detect_online();
-  gboolean ok = FALSE;
+	GList *rf_list = NULL;
+	gchar *connect_name = detect_online();
+	gboolean ok = FALSE;
 
-  if(connect_name != NULL){
-    logwrite(LOG_NOTICE, "detected online configuration %s\n", connect_name);
-    /* we are online! */
-    rf_list = (GList *)table_find(conf.connect_routes, connect_name);
-    if(rf_list != NULL){
-      GList *route_list = read_route_list(rf_list, FALSE);
-      if(route_list){
-	GList *route_node;
-	foreach(route_list, route_node){
-	  connect_route *route = (connect_route *)(route_node->data);
-	  ok = deliver_route_msg_list(route, msgout_list);
+	if (connect_name != NULL) {
+		logwrite(LOG_NOTICE, "detected online configuration %s\n", connect_name);
+		/* we are online! */
+		rf_list = (GList *) table_find(conf.connect_routes, connect_name);
+		if (rf_list != NULL) {
+			GList *route_list = read_route_list(rf_list, FALSE);
+			if (route_list) {
+				GList *route_node;
+				foreach(route_list, route_node) {
+					connect_route *route = (connect_route *) (route_node->data);
+					ok = deliver_route_msg_list(route, msgout_list);
+				}
+				destroy_route_list(route_list);
+			} else
+				logwrite(LOG_ALERT, "could not read route list '%s'\n", connect_name);
+		} else {
+			logwrite(LOG_ALERT, "route list with name '%s' not found.\n", connect_name);
+		}
 	}
-	destroy_route_list(route_list);
-      }
-      else
-	logwrite(LOG_ALERT,
-		 "could not read route list '%s'\n", connect_name);
-    }else{
-      logwrite(LOG_ALERT, "route list with name '%s' not found.\n", connect_name);
-    }
-  }
-  return ok;
+	return ok;
 }
 
-gboolean deliver_msg_list(GList *msg_list, guint flags){
-  GList *msgout_list = create_msg_out_list(msg_list);
-  GList *local_msgout_list = NULL, *localnet_msgout_list = NULL, *other_msgout_list = NULL;
-  GList *msgout_node;
-  GList *alias_table = NULL;
-  gboolean ok = TRUE;
+gboolean
+deliver_msg_list(GList * msg_list, guint flags)
+{
+	GList *msgout_list = create_msg_out_list(msg_list);
+	GList *local_msgout_list = NULL, *localnet_msgout_list = NULL, *other_msgout_list = NULL;
+	GList *msgout_node;
+	GList *alias_table = NULL;
+	gboolean ok = TRUE;
 
-  if(conf.alias_file){
-    if(!(alias_table = table_read(conf.alias_file, ':')))
-      return FALSE;
-  }
-      
-  /* sort messages for different deliveries */
-  foreach(msgout_list, msgout_node){
-    msg_out *msgout = (msg_out *)(msgout_node->data);
-    GList *rcpt_list;
-    GList *local_rcpt_list = NULL;
-    GList *localnet_rcpt_list = NULL;
-    GList *other_rcpt_list;
+	if (conf.alias_file) {
+		if (!(alias_table = table_read(conf.alias_file, ':')))
+			return FALSE;
+	}
 
-    if(!spool_lock(msgout->msg->uid)) continue;
+	/* sort messages for different deliveries */
+	foreach(msgout_list, msgout_node) {
+		msg_out *msgout = (msg_out *) (msgout_node->data);
+		GList *rcpt_list;
+		GList *local_rcpt_list = NULL;
+		GList *localnet_rcpt_list = NULL;
+		GList *other_rcpt_list;
+
+		if (!spool_lock(msgout->msg->uid))
+			continue;
 
-    rcpt_list = g_list_copy(msgout->msg->rcpt_list);
-    if(conf.log_user){
-      address *addr = create_address_qualified(conf.log_user, TRUE, conf.host_name);
-      if(addr)
-	rcpt_list = g_list_prepend(rcpt_list, addr);
-    }
-    if(alias_table){
-      GList *aliased_rcpt_list;
-      aliased_rcpt_list = alias_expand(alias_table, rcpt_list,
-				       msgout->msg->non_rcpt_list);
-      g_list_free(rcpt_list);
-      rcpt_list = aliased_rcpt_list;
-    }
+		rcpt_list = g_list_copy(msgout->msg->rcpt_list);
+		if (conf.log_user) {
+			address *addr = create_address_qualified(conf.log_user, TRUE, conf.host_name);
+			if (addr)
+				rcpt_list = g_list_prepend(rcpt_list, addr);
+		}
+		if (alias_table) {
+			GList *aliased_rcpt_list;
+			aliased_rcpt_list = alias_expand(alias_table, rcpt_list, msgout->msg->non_rcpt_list);
+			g_list_free(rcpt_list);
+			rcpt_list = aliased_rcpt_list;
+		}
 
-    /* local recipients */
-    other_rcpt_list = NULL;
-    rcptlist_with_addr_is_local(rcpt_list, &local_rcpt_list, &other_rcpt_list);
-    
-    if(flags & DLVR_LOCAL){
-      if(local_rcpt_list != NULL){
-	msg_out *local_msgout = clone_msg_out(msgout);
-	local_msgout->rcpt_list = local_rcpt_list;
-	local_msgout_list = g_list_append(local_msgout_list, local_msgout);
-      }
-    }
+		/* local recipients */
+		other_rcpt_list = NULL;
+		rcptlist_with_addr_is_local(rcpt_list, &local_rcpt_list, &other_rcpt_list);
 
-    g_list_free(rcpt_list);
+		if (flags & DLVR_LOCAL) {
+			if (local_rcpt_list != NULL) {
+				msg_out *local_msgout = clone_msg_out(msgout);
+				local_msgout->rcpt_list = local_rcpt_list;
+				local_msgout_list = g_list_append(local_msgout_list, local_msgout);
+			}
+		}
 
-    /* local net recipients */
-    rcpt_list = other_rcpt_list;
-    other_rcpt_list = NULL;
-    rcptlist_with_one_of_hostlist(rcpt_list, conf.local_nets,
-				  &localnet_rcpt_list, &other_rcpt_list);
+		g_list_free(rcpt_list);
+
+		/* local net recipients */
+		rcpt_list = other_rcpt_list;
+		other_rcpt_list = NULL;
+		rcptlist_with_one_of_hostlist(rcpt_list, conf.local_nets, &localnet_rcpt_list, &other_rcpt_list);
 
-    if(flags & DLVR_LAN){
-      if(localnet_rcpt_list != NULL){
-	msg_out *localnet_msgout = clone_msg_out(msgout);
-	localnet_msgout->rcpt_list = localnet_rcpt_list;
-	localnet_msgout_list = g_list_append(localnet_msgout_list, localnet_msgout);
-      }
-    }
+		if (flags & DLVR_LAN) {
+			if (localnet_rcpt_list != NULL) {
+				msg_out *localnet_msgout = clone_msg_out(msgout);
+				localnet_msgout->rcpt_list = localnet_rcpt_list;
+				localnet_msgout_list = g_list_append(localnet_msgout_list, localnet_msgout);
+			}
+		}
 
-    if(flags & DLVR_ONLINE){
-      /* the rest, this is online delivery */
-      if(other_rcpt_list != NULL){
-	msg_out *other_msgout = clone_msg_out(msgout);
-	other_msgout->rcpt_list = other_rcpt_list;
-	other_msgout_list = g_list_append(other_msgout_list, other_msgout);
-      }
-    }
-  }
+		if (flags & DLVR_ONLINE) {
+			/* the rest, this is online delivery */
+			if (other_rcpt_list != NULL) {
+				msg_out *other_msgout = clone_msg_out(msgout);
+				other_msgout->rcpt_list = other_rcpt_list;
+				other_msgout_list = g_list_append(other_msgout_list, other_msgout);
+			}
+		}
+	}
 
-  if(alias_table)
-    destroy_table(alias_table);
+	if (alias_table)
+		destroy_table(alias_table);
 
-  /* actual delivery */
-  if(local_msgout_list != NULL){
-    foreach(local_msgout_list, msgout_node){
-      msg_out *msgout = (msg_out *)(msgout_node->data);
-      if(!deliver_local(msgout)) ok = FALSE;
-    }
-    destroy_msg_out_list(local_msgout_list);
-  }
+	/* actual delivery */
+	if (local_msgout_list != NULL) {
+		foreach(local_msgout_list, msgout_node) {
+			msg_out *msgout = (msg_out *) (msgout_node->data);
+			if (!deliver_local(msgout))
+				ok = FALSE;
+		}
+		destroy_msg_out_list(local_msgout_list);
+	}
 
-  if(localnet_msgout_list != NULL){
-    GList *route_list = NULL;
-    GList *route_node;
+	if (localnet_msgout_list != NULL) {
+		GList *route_list = NULL;
+		GList *route_node;
 
-    if(conf.local_net_routes)
-      route_list = read_route_list(conf.local_net_routes, TRUE);
-    else
-      route_list = g_list_append(NULL, create_local_route());
+		if (conf.local_net_routes)
+			route_list = read_route_list(conf.local_net_routes, TRUE);
+		else
+			route_list = g_list_append(NULL, create_local_route());
 
-    foreach(route_list, route_node){
-      connect_route *route = (connect_route *)(route_node->data);
-      if(!deliver_route_msg_list(route, localnet_msgout_list)) ok = FALSE;
-    }
-    destroy_msg_out_list(localnet_msgout_list);
-    destroy_route_list(route_list);
-  }
+		foreach(route_list, route_node) {
+			connect_route *route = (connect_route *) (route_node->data);
+			if (!deliver_route_msg_list(route, localnet_msgout_list))
+				ok = FALSE;
+		}
+		destroy_msg_out_list(localnet_msgout_list);
+		destroy_route_list(route_list);
+	}
 
-  if(other_msgout_list != NULL){
-    if(!deliver_msgout_list_online(other_msgout_list)) ok = FALSE;
-    destroy_msg_out_list(other_msgout_list);
-  }
+	if (other_msgout_list != NULL) {
+		if (!deliver_msgout_list_online(other_msgout_list))
+			ok = FALSE;
+		destroy_msg_out_list(other_msgout_list);
+	}
 
-  foreach(msgout_list, msgout_node){
-    msg_out *msgout = (msg_out *)(msgout_node->data);
-    spool_unlock(msgout->msg->uid);
-  }
+	foreach(msgout_list, msgout_node) {
+		msg_out *msgout = (msg_out *) (msgout_node->data);
+		spool_unlock(msgout->msg->uid);
+	}
 
-  destroy_msg_out_list(msgout_list);
+	destroy_msg_out_list(msgout_list);
 
-  return ok;
+	return ok;
 }
 
 /* This function searches in the list of rcpt addresses
@@ -834,16 +817,14 @@
    deliver() is called when a message has just been received and should
    be delivered immediately.
 */
-gboolean deliver(message *msg)
+gboolean
+deliver(message * msg)
 {
-  gboolean ok;
-
-  GList *msg_list = g_list_append(NULL, msg);
+	gboolean ok;
+	GList *msg_list = g_list_append(NULL, msg);
 
-  ok = deliver_msg_list(msg_list, DLVR_ALL);
-  
-  g_list_free(msg_list);
+	ok = deliver_msg_list(msg_list, DLVR_ALL);
+	g_list_free(msg_list);
 
-  return ok;
+	return ok;
 }
-