comparison src/smtp_in.c @ 305:794071925a22

refactored complex conditions
author meillo@marmaro.de
date Sun, 24 Apr 2011 15:10:11 +0200
parents 3708b655a371
children 53cf6be5843a
comparison
equal deleted inserted replaced
304:d5ce2ba71e7b 305:794071925a22
284 if (addr->local_part[0] == '|') { 284 if (addr->local_part[0] == '|') {
285 smtp_printf(out, "501 %s: no pipe allowed for SMTP connections\r\n", buf); 285 smtp_printf(out, "501 %s: no pipe allowed for SMTP connections\r\n", buf);
286 break; 286 break;
287 } 287 }
288 if (!addr->domain) { 288 if (!addr->domain) {
289 /* TODO: ``postmaster'' may be unqualified */
289 smtp_printf(out, "501 recipient address must be qualified.\r\n", buf); 290 smtp_printf(out, "501 recipient address must be qualified.\r\n", buf);
290 break; 291 break;
291 } 292 }
292 gboolean do_relay = conf.do_relay; 293 if (!(conf.do_relay || addr_is_local(msg->return_path) || addr_is_local(addr))) {
293 if (!do_relay) {
294 do_relay = addr_is_local(msg->return_path);
295 if (!do_relay) {
296 do_relay = addr_is_local(addr);
297 }
298 }
299 if (!do_relay) {
300 smtp_printf(out, "550 relaying to %s denied.\r\n", addr_string(addr)); 294 smtp_printf(out, "550 relaying to %s denied.\r\n", addr_string(addr));
301 break; 295 break;
302 } 296 }
303 psc->rcpt_seen = TRUE; 297 psc->rcpt_seen = TRUE;
304 msg->rcpt_list = g_list_append(msg->rcpt_list, addr); 298 msg->rcpt_list = g_list_append(msg->rcpt_list, addr);