USE_SASL_AUTH. Such feature interference is difficult to
find in testing. Liviu Daia. File: smtp/smtp_sasl_proto.c.
+20060126
+
+ Undo: change 20060117 (unprivileged operation test) broke
+ "sendmail -bs", "postconf -b", "postconf -t", and probably
+ more. Files: master/{single,multi,trigger}_server.c.
+
Open problems:
+ select->poll, kqueue, ...
+
+ Set pipelining flag at start of session and at other protocol
+ synchronization points.
+
Centralize main.cf parameter input so that defaults work
consistently.
# THIS IS A WARNING ONLY. YOU DO NOT NEED TO RESEND YOUR MESSAGE. #
####################################################################
-Your message could not be delivered for $delay_warning_time_hours hour(s).
+Your message could not be delivered for more than $delay_warning_time_hours hour(s).
It will be retried until it is $maximal_queue_lifetime_days day(s) old.
For further assistance, please send mail to <postmaster>
# THIS IS A WARNING ONLY. YOU DO NOT NEED TO RESEND YOUR MESSAGE. #
####################################################################
-Your message could not be delivered for $delay_warning_time_hours hour(s).
+Your message could not be delivered for more than $delay_warning_time_hours hour(s).
It will be retried until it is $maximal_queue_lifetime_days day(s) old.
For further assistance, please send mail to <postmaster>
# Avoid dependency on installed Postfix.
# XXX This still requires that default_privs, mail_owner etc. accounts exist.
template_test: $(PROG) main.cf template_test.ref
- MAIL_CONFIG=. ./$(PROG) -SVzndump_templates >template_test.tmp
+ MAIL_CONFIG=. ./$(PROG) -SVuzndump_templates >template_test.tmp
diff template_test.ref template_test.tmp
- MAIL_CONFIG=. ./$(PROG) -SVzndump_templates \
+ MAIL_CONFIG=. ./$(PROG) -SVuzndump_templates \
-o bounce_template_file=template_test.ref > template_test.tmp
diff template_test.ref template_test.tmp
rm -f template_test.tmp
# THIS IS A WARNING ONLY. YOU DO NOT NEED TO RESEND YOUR MESSAGE. #
####################################################################
-Your message could not be delivered for $delay_warning_time_hours hour(s).
+Your message could not be delivered for more than $delay_warning_time_hours hour(s).
It will be retried until it is $maximal_queue_lifetime_days day(s) old.
For further assistance, please send mail to <postmaster>
spike.porcupine.org 168.100.189.2
spike.porcupine.org 168.100.189.3
-spike.porcupine.org 2001:240:5c7:0:2d0:b7ff:fe88:2ca7
-spike.porcupine.org 2001:240:5c7:0:2d0:b7ff:febe:ca9f
+spike.porcupine.org 2001:240:587:0:2d0:b7ff:fe88:2ca7
+spike.porcupine.org 2001:240:587:0:2d0:b7ff:febe:ca9f
-2001:240:5c7:0:2d0:b7ff:fe88:2ca7 =?= 168.100.189.2
+2001:240:587:0:2d0:b7ff:fe88:2ca7 =?= 168.100.189.2
tested by function: no
tested by macro: no
168.100.189.2 =?= 168.100.189.2
tested by function: yes
tested by macro: yes
-2001:240:5c7:0:2d0:b7ff:fe88:2ca7 =?= 168.100.189.3
+2001:240:587:0:2d0:b7ff:fe88:2ca7 =?= 168.100.189.3
tested by function: no
tested by macro: no
168.100.189.2 =?= 168.100.189.3
tested by function: no
tested by macro: no
-2001:240:5c7:0:2d0:b7ff:fe88:2ca7 =?= 2001:240:5c7:0:2d0:b7ff:fe88:2ca7
+2001:240:587:0:2d0:b7ff:fe88:2ca7 =?= 2001:240:587:0:2d0:b7ff:fe88:2ca7
tested by function: yes
tested by macro: yes
-168.100.189.2 =?= 2001:240:5c7:0:2d0:b7ff:fe88:2ca7
+168.100.189.2 =?= 2001:240:587:0:2d0:b7ff:fe88:2ca7
tested by function: no
tested by macro: no
-2001:240:5c7:0:2d0:b7ff:fe88:2ca7 =?= 2001:240:5c7:0:2d0:b7ff:febe:ca9f
+2001:240:587:0:2d0:b7ff:fe88:2ca7 =?= 2001:240:587:0:2d0:b7ff:febe:ca9f
tested by function: no
tested by macro: no
-168.100.189.2 =?= 2001:240:5c7:0:2d0:b7ff:febe:ca9f
+168.100.189.2 =?= 2001:240:587:0:2d0:b7ff:febe:ca9f
tested by function: no
tested by macro: no
spike.porcupine.org -> 168.100.189.2
-spike.porcupine.org -> 2001:240:5c7:0:2d0:b7ff:fe88:2ca7
+spike.porcupine.org -> 2001:240:587:0:2d0:b7ff:fe88:2ca7
spike.porcupine.org 25 -> 168.100.189.2 25
-spike.porcupine.org 25 -> 2001:240:5c7:0:2d0:b7ff:fe88:2ca7 25
+spike.porcupine.org 25 -> 2001:240:587:0:2d0:b7ff:fe88:2ca7 25
-spike.porcupine.org -> 2001:240:5c7:0:2d0:b7ff:fe88:2ca7
+spike.porcupine.org -> 2001:240:587:0:2d0:b7ff:fe88:2ca7
spike.porcupine.org -> 168.100.189.2
/* given in parentheses:
/* .IP "no_unknown_recipient_checks (INPUT_TRANSP_UNKNOWN_RCPT)"
/* Do not try to reject unknown recipients.
-/* .IP "no_address_mapping (INPUT_TRANSP_ADDRESS_MAPPING)
+/* .IP "no_address_mappings (INPUT_TRANSP_ADDRESS_MAPPING)
/* Disable canonical address mapping, virtual alias map expansion,
/* address masquerading, and automatic BCC recipients.
/* .IP "no_header_body_checkss (INPUT_TRANSP_HEADER_BODY)
* Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only.
*/
-#define MAIL_RELEASE_DATE "20060125"
+#define MAIL_RELEASE_DATE "20060126"
#define MAIL_VERSION_NUMBER "2.3"
#ifdef SNAPSHOT
char *oval;
char *generation;
int msg_vstream_needed = 0;
- int privileged = 0;
/*
* Process environment options as early as we can.
if (user_name)
msg_fatal("service %s requires privileged operation",
service_name);
- privileged = 1;
break;
default:
msg_panic("%s: unknown argument type: %d", myname, key);
}
va_end(ap);
- if (privileged == 0 && user_name == 0)
- msg_fatal("service %s requires unprivileged operation", service_name);
-
if (root_dir)
root_dir = var_queue_dir;
if (user_name)
char *oval;
char *generation;
int msg_vstream_needed = 0;
- int privileged = 0;
/*
* Process environment options as early as we can.
if (user_name)
msg_fatal("service %s requires privileged operation",
service_name);
- privileged = 1;
break;
default:
msg_panic("%s: unknown argument type: %d", myname, key);
}
va_end(ap);
- if (privileged == 0 && user_name == 0)
- msg_fatal("service %s requires unprivileged operation", service_name);
-
if (root_dir)
root_dir = var_queue_dir;
if (user_name)
char *oval;
char *generation;
int msg_vstream_needed = 0;
- int privileged = 0;
/*
* Process environment options as early as we can.
if (user_name)
msg_fatal("service %s requires privileged operation",
service_name);
- privileged = 1;
break;
default:
msg_panic("%s: unknown argument type: %d", myname, key);
}
va_end(ap);
- if (privileged == 0 && user_name == 0)
- msg_fatal("service %s requires unprivileged operation", service_name);
-
if (root_dir)
root_dir = var_queue_dir;
if (user_name)
smtp_map11: -- start foo@example.com --
-smtp_map11: maps_find: hash:map11_map: hash:map11_map(0,0): foo@example.com = bar@com.example
+smtp_map11: maps_find: hash:map11_map: hash:map11_map(0,fold_fix): foo@example.com = bar@com.example
smtp_map11: mail_addr_find: foo@example.com -> bar@com.example
smtp_map11: connect to subsystem private/rewrite
smtp_map11: send attr request = rewrite
smtp_map11: smtp_map11_external: foo@example.com -> bar@com.example
smtp_map11: -- end foo@example.com --
smtp_map11: -- start bar@example.com --
-smtp_map11: maps_find: hash:map11_map: hash:map11_map(0,0): bar@example.com = bar
+smtp_map11: maps_find: hash:map11_map: hash:map11_map(0,fold_fix): bar@example.com = bar
smtp_map11: mail_addr_find: bar@example.com -> bar
smtp_map11: send attr request = rewrite
smtp_map11: send attr rule = local
smtp_map11: smtp_map11_external: bar@example.com -> bar@MYDOMAIN
smtp_map11: -- end bar@example.com --
smtp_map11: -- start baz@example.com --
-smtp_map11: maps_find: hash:map11_map: hash:map11_map(0,0): baz@example.com = @com.example
+smtp_map11: maps_find: hash:map11_map: hash:map11_map(0,fold_fix): baz@example.com = @com.example
smtp_map11: mail_addr_find: baz@example.com -> @com.example
smtp_map11: send attr request = rewrite
smtp_map11: send attr rule = local
smtp_map11: mail_addr_map: foo@example.net -> (not found)
smtp_map11: smtp_map11_external: foo@example.net not found
smtp_map11: -- end foo@example.net --
+smtp_map11: maps_free: hash:map11_map(0,fold_fix)
>>> mail sname@sdomain
OK
>>> rcpt rname@rdomain
-./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.189.2]: 554 5.7.1 Service unavailable; Helo command [example.tld] blocked using abuse.rfc-ignorant.org; Not supporting abuse@example.tld; from=<sname@sdomain> to=<rname@rdomain> proto=SMTP helo=<example.tld>
-554 5.7.1 Service unavailable; Helo command [example.tld] blocked using abuse.rfc-ignorant.org; Not supporting abuse@example.tld
+./smtpd_check: <queue id>: reject: RCPT from spike.porcupine.org[168.100.189.2]: 554 5.7.1 Service unavailable; Helo command [example.tld] blocked using abuse.rfc-ignorant.org; Not supporting abuse@domain; from=<sname@sdomain> to=<rname@rdomain> proto=SMTP helo=<example.tld>
+554 5.7.1 Service unavailable; Helo command [example.tld] blocked using abuse.rfc-ignorant.org; Not supporting abuse@domain
>>> #
>>> # Check MX access
>>> #
0.0111 2 6
0.00111 2 6
0.000111 2 6
-0.000011 2 6
+0.0000111 2 6
# One digit in. Must not produce spurious digits or trailing nulls.
0.001 2 6
0.0001 2 6
0.00001 2 6
-0.000001 2 6
+0.0000011 2 6
# Three digits in, 2/6 digits out, rounding up.
0.001 1 6
0.0001 1 6
0.00001 1 6
-0.000001 1 6
+0.0000011 1 6
# Three digits in, 1/6 digits out, rounding up.
0.0011
>> 0.000111 2 6
0.00011
->> 0.000011 2 6
+>> 0.0000111 2 6
0.000011
>>
>> # One digit in. Must not produce spurious digits or trailing nulls.
0.0001
>> 0.00001 2 6
0.00001
->> 0.000001 2 6
+>> 0.0000011 2 6
0.000001
>>
>> # Three digits in, 2/6 digits out, rounding up.
0.0001
>> 0.00001 1 6
0.00001
->> 0.000001 1 6
+>> 0.0000011 1 6
0.000001
>>
>> # Three digits in, 1/6 digits out, rounding up.