From: Jeremy Harris Date: Sat, 15 Feb 2020 20:56:14 +0000 (+0000) Subject: tidying X-Git-Tag: exim-4_94_RC0~107 X-Git-Url: https://git.exim.org/exim.git/commitdiff_plain/777cc7485cb3242eb627fbd9fa004b7a4e58ae92 tidying --- diff --git a/doc/doc-txt/experimental-spec.txt b/doc/doc-txt/experimental-spec.txt index 6e47b95c2..5b18b7bc4 100644 --- a/doc/doc-txt/experimental-spec.txt +++ b/doc/doc-txt/experimental-spec.txt @@ -819,7 +819,6 @@ service auth { inet_listener { name = exim port = 12345 - ssl = yes } ... } diff --git a/src/src/exim.c b/src/src/exim.c index 6bbf9b11e..98174d61a 100644 --- a/src/src/exim.c +++ b/src/src/exim.c @@ -2959,216 +2959,224 @@ for (i = 1; i < argc; i++) case 'O': if (*argrest == 0) - { if (++i >= argc) exim_fail("exim: string expected after -O\n"); - } break; case 'o': - - /* -oA: Set an argument for the bi command (sendmail's "alternate alias - file" option). */ - - if (*argrest == 'A') - { - alias_arg = argrest + 1; - if (alias_arg[0] == 0) - { - if (i+1 < argc) alias_arg = argv[++i]; else - exim_fail("exim: string expected after -oA\n"); - } - } - - /* -oB: Set a connection message max value for remote deliveries */ - - else if (*argrest == 'B') - { - uschar *p = argrest + 1; - if (p[0] == 0) - { - if (i+1 < argc && isdigit((argv[i+1][0]))) p = argv[++i]; else - { - connection_max_messages = 1; - p = NULL; - } - } - - if (p != NULL) - { - if (!isdigit(*p)) - exim_fail("exim: number expected after -oB\n"); - connection_max_messages = Uatoi(p); - } - } - - /* -odb: background delivery */ - - else if (Ustrcmp(argrest, "db") == 0) + switch (*argrest++) { - f.synchronous_delivery = FALSE; - arg_queue_only = FALSE; - queue_only_set = TRUE; - } - - /* -odf: foreground delivery (smail-compatible option); same effect as - -odi: interactive (synchronous) delivery (sendmail-compatible option) - */ - - else if (Ustrcmp(argrest, "df") == 0 || Ustrcmp(argrest, "di") == 0) - { - f.synchronous_delivery = TRUE; - arg_queue_only = FALSE; - queue_only_set = TRUE; - } - - /* -odq: queue only */ + /* -oA: Set an argument for the bi command (sendmail's "alternate alias + file" option). */ + case 'A': + if (!*(alias_arg = argrest)) + if (i+1 < argc) alias_arg = argv[++i]; + else exim_fail("exim: string expected after -oA\n"); + break; - else if (Ustrcmp(argrest, "dq") == 0) - { - f.synchronous_delivery = FALSE; - arg_queue_only = TRUE; - queue_only_set = TRUE; - } + /* -oB: Set a connection message max value for remote deliveries */ + case 'B': + { + uschar * p = argrest; + if (!*p) + if (i+1 < argc && isdigit((argv[i+1][0]))) + p = argv[++i]; + else + { + connection_max_messages = 1; + p = NULL; + } - /* -odqs: queue SMTP only - do local deliveries and remote routing, - but no remote delivery */ + if (p) + { + if (!isdigit(*p)) + exim_fail("exim: number expected after -oB\n"); + connection_max_messages = Uatoi(p); + } + } + break; - else if (Ustrcmp(argrest, "dqs") == 0) - { - f.queue_smtp = TRUE; - arg_queue_only = FALSE; - queue_only_set = TRUE; - } + /* -odb: background delivery */ + + case 'd': + if (Ustrcmp(argrest, "b") == 0) + { + f.synchronous_delivery = FALSE; + arg_queue_only = FALSE; + queue_only_set = TRUE; + } + + /* -odf: foreground delivery (smail-compatible option); same effect as + -odi: interactive (synchronous) delivery (sendmail-compatible option) + */ + + else if (Ustrcmp(argrest, "f") == 0 || Ustrcmp(argrest, "i") == 0) + { + f.synchronous_delivery = TRUE; + arg_queue_only = FALSE; + queue_only_set = TRUE; + } + + /* -odq: queue only */ + + else if (Ustrcmp(argrest, "q") == 0) + { + f.synchronous_delivery = FALSE; + arg_queue_only = TRUE; + queue_only_set = TRUE; + } + + /* -odqs: queue SMTP only - do local deliveries and remote routing, + but no remote delivery */ + + else if (Ustrcmp(argrest, "qs") == 0) + { + f.queue_smtp = TRUE; + arg_queue_only = FALSE; + queue_only_set = TRUE; + } + else badarg = TRUE; + break; - /* -oex: Sendmail error flags. As these are also accepted without the - leading -o prefix, for compatibility with vacation and other callers, - they are handled with -e above. */ + /* -oex: Sendmail error flags. As these are also accepted without the + leading -o prefix, for compatibility with vacation and other callers, + they are handled with -e above. */ - /* -oi: Set flag so dot doesn't end non-SMTP input (same as -i) - -oitrue: Another sendmail syntax for the same */ + /* -oi: Set flag so dot doesn't end non-SMTP input (same as -i) + -oitrue: Another sendmail syntax for the same */ - else if (Ustrcmp(argrest, "i") == 0 || - Ustrcmp(argrest, "itrue") == 0) - f.dot_ends = FALSE; + case 'i': + if (!*argrest || Ustrcmp(argrest, "true") == 0) + f.dot_ends = FALSE; + else badarg = TRUE; + break; /* -oM*: Set various characteristics for an incoming message; actually acted on for trusted callers only. */ - else if (*argrest == 'M') - { - if (i+1 >= argc) - exim_fail("exim: data expected after -o%s\n", argrest); - - /* -oMa: Set sender host address */ - - if (Ustrcmp(argrest, "Ma") == 0) sender_host_address = argv[++i]; + case 'M': + { + if (i+1 >= argc) + exim_fail("exim: data expected after -oM%s\n", argrest); - /* -oMaa: Set authenticator name */ + /* -oMa: Set sender host address */ - else if (Ustrcmp(argrest, "Maa") == 0) - sender_host_authenticated = argv[++i]; + if (Ustrcmp(argrest, "a") == 0) sender_host_address = argv[++i]; - /* -oMas: setting authenticated sender */ + /* -oMaa: Set authenticator name */ - else if (Ustrcmp(argrest, "Mas") == 0) - authenticated_sender = string_copy_taint(argv[++i], TRUE); + else if (Ustrcmp(argrest, "aa") == 0) + sender_host_authenticated = argv[++i]; - /* -oMai: setting authenticated id */ + /* -oMas: setting authenticated sender */ - else if (Ustrcmp(argrest, "Mai") == 0) - authenticated_id = string_copy_taint(argv[++i], TRUE); + else if (Ustrcmp(argrest, "as") == 0) + authenticated_sender = string_copy_taint(argv[++i], TRUE); - /* -oMi: Set incoming interface address */ + /* -oMai: setting authenticated id */ - else if (Ustrcmp(argrest, "Mi") == 0) interface_address = argv[++i]; + else if (Ustrcmp(argrest, "ai") == 0) + authenticated_id = string_copy_taint(argv[++i], TRUE); - /* -oMm: Message reference */ + /* -oMi: Set incoming interface address */ - else if (Ustrcmp(argrest, "Mm") == 0) - { - if (!mac_ismsgid(argv[i+1])) - exim_fail("-oMm must be a valid message ID\n"); - if (!f.trusted_config) - exim_fail("-oMm must be called by a trusted user/config\n"); - message_reference = argv[++i]; - } + else if (Ustrcmp(argrest, "i") == 0) interface_address = argv[++i]; - /* -oMr: Received protocol */ + /* -oMm: Message reference */ - else if (Ustrcmp(argrest, "Mr") == 0) + else if (Ustrcmp(argrest, "m") == 0) + { + if (!mac_ismsgid(argv[i+1])) + exim_fail("-oMm must be a valid message ID\n"); + if (!f.trusted_config) + exim_fail("-oMm must be called by a trusted user/config\n"); + message_reference = argv[++i]; + } - if (received_protocol) - exim_fail("received_protocol is set already\n"); - else - received_protocol = argv[++i]; + /* -oMr: Received protocol */ - /* -oMs: Set sender host name */ + else if (Ustrcmp(argrest, "r") == 0) - else if (Ustrcmp(argrest, "Ms") == 0) - sender_host_name = string_copy_taint(argv[++i], TRUE); + if (received_protocol) + exim_fail("received_protocol is set already\n"); + else + received_protocol = argv[++i]; - /* -oMt: Set sender ident */ + /* -oMs: Set sender host name */ - else if (Ustrcmp(argrest, "Mt") == 0) - { - sender_ident_set = TRUE; - sender_ident = argv[++i]; - } + else if (Ustrcmp(argrest, "s") == 0) + sender_host_name = string_copy_taint(argv[++i], TRUE); - /* Else a bad argument */ + /* -oMt: Set sender ident */ - else - { - badarg = TRUE; - break; - } - } + else if (Ustrcmp(argrest, "t") == 0) + { + sender_ident_set = TRUE; + sender_ident = argv[++i]; + } - /* -om: Me-too flag for aliases. Exim always does this. Some programs - seem to call this as -m (undocumented), so that is also accepted (see - above). */ + /* Else a bad argument */ - else if (Ustrcmp(argrest, "m") == 0) {} + else + badarg = TRUE; + } + break; - /* -oo: An ancient flag for old-style addresses which still seems to - crop up in some calls (see in SCO). */ + /* -om: Me-too flag for aliases. Exim always does this. Some programs + seem to call this as -m (undocumented), so that is also accepted (see + above). */ + /* -oo: An ancient flag for old-style addresses which still seems to + crop up in some calls (see in SCO). */ - else if (Ustrcmp(argrest, "o") == 0) {} + case 'm': + case 'o': + if (!*argrest) {} + else badarg = TRUE; + break; - /* -oP : set pid file path for daemon - -oPX: delete pid file of daemon */ + /* -oP : set pid file path for daemon + -oPX: delete pid file of daemon */ - else if (Ustrcmp(argrest, "P") == 0) - override_pid_file_path = argv[++i]; + case 'P': + if (!*argrest) override_pid_file_path = argv[++i]; + else if (Ustrcmp(argrest, "X") == 0) delete_pid_file(); + else badarg = TRUE; + break; - else if (Ustrcmp(argrest, "PX") == 0) - delete_pid_file(); - /* -or : set timeout for non-SMTP acceptance - -os : set timeout for SMTP acceptance */ + /* -or : set timeout for non-SMTP acceptance + -os : set timeout for SMTP acceptance */ - else if (*argrest == 'r' || *argrest == 's') - { - int *tp = (*argrest == 'r')? - &arg_receive_timeout : &arg_smtp_receive_timeout; - if (argrest[1] == 0) - { - if (i+1 < argc) *tp= readconf_readtime(argv[++i], 0, FALSE); - } - else *tp = readconf_readtime(argrest + 1, 0, FALSE); - if (*tp < 0) - exim_fail("exim: bad time value %s: abandoned\n", argv[i]); - } + case 'r': + case 's': + if (!*argrest) + { + int *tp = (*argrest == 'r')? + &arg_receive_timeout : &arg_smtp_receive_timeout; + if (argrest[1] == 0) + { + if (i+1 < argc) *tp= readconf_readtime(argv[++i], 0, FALSE); + } + else *tp = readconf_readtime(argrest + 1, 0, FALSE); + if (*tp < 0) + exim_fail("exim: bad time value %s: abandoned\n", argv[i]); + } + else badarg = TRUE; + break; - /* -oX : Override local_interfaces and/or default daemon ports */ + /* -oX : Override local_interfaces and/or default daemon ports */ - else if (Ustrcmp(argrest, "X") == 0) - override_local_interfaces = argv[++i]; + case 'X': + if (!*argrest) + override_local_interfaces = argv[++i]; + else badarg = TRUE; + break; - /* Unknown -o argument */ + /* Unknown -o argument */ - else badarg = TRUE; + default: + badarg = TRUE; + } break;