mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-29 13:18:12 +00:00
snapshot-20000822
This commit is contained in:
parent
22a2901531
commit
df4c6b1b13
@ -4136,3 +4136,14 @@ Apologies for any names omitted.
|
||||
Cleanup: smtpd now replies with 555 when the client sends
|
||||
unrecognized RCPT TO parameters, as required by RFC 1869
|
||||
(problem report by Robert Norris @ its.monash.edu.au).
|
||||
|
||||
20000822
|
||||
|
||||
Logging: the SMTP server's SASL code logs the authentication
|
||||
method along with an authentication failure. Suggested by
|
||||
Ronald F. Guilmette @ monkeys.com.
|
||||
|
||||
Workaround: some systems have file size resource limits
|
||||
that cannot be represented with the off_t type that is used
|
||||
by standard functions such as lseek(2). Problem reported
|
||||
by Blaz Zupan @ amis.net.
|
||||
|
@ -15,7 +15,7 @@
|
||||
* Version of this program.
|
||||
*/
|
||||
#define VAR_MAIL_VERSION "mail_version"
|
||||
#define DEF_MAIL_VERSION "Snapshot-20000821"
|
||||
#define DEF_MAIL_VERSION "Snapshot-20000822"
|
||||
extern char *var_mail_version;
|
||||
|
||||
/* LICENSE
|
||||
|
@ -148,8 +148,8 @@ int smtpd_sasl_auth_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
|
||||
initial_response = (argc == 3 ? argv[2].strval : 0);
|
||||
err = smtpd_sasl_authenticate(state, auth_mechanism, initial_response);
|
||||
if (err != 0) {
|
||||
msg_warn("%s[%s]: SASL authentication failed",
|
||||
state->name, state->addr);
|
||||
msg_warn("%s[%s]: SASL %s authentication failed",
|
||||
state->name, state->addr, auth_mechanism);
|
||||
smtpd_chat_reply(state, "%s", err);
|
||||
return (-1);
|
||||
}
|
||||
|
@ -44,6 +44,7 @@
|
||||
#include <sys/resource.h>
|
||||
#include <signal.h>
|
||||
#endif
|
||||
#include <limits.h>
|
||||
|
||||
/* Utility library. */
|
||||
|
||||
@ -56,18 +57,21 @@
|
||||
|
||||
off_t get_file_limit(void)
|
||||
{
|
||||
#ifdef USE_ULIMIT
|
||||
off_t limit;
|
||||
|
||||
#ifdef USE_ULIMIT
|
||||
if ((limit = ulimit(UL_GETFSIZE, 0)) < 0)
|
||||
msg_fatal("ulimit: %m");
|
||||
if (limit > INT_MAX / ULIMIT_BLOCK_SIZE)
|
||||
limit = INT_MAX / ULIMIT_BLOCK_SIZE;
|
||||
return (limit * ULIMIT_BLOCK_SIZE);
|
||||
#else
|
||||
struct rlimit rlim;
|
||||
|
||||
if (getrlimit(RLIMIT_FSIZE, &rlim) < 0)
|
||||
msg_fatal("getrlimit: %m");
|
||||
return (rlim.rlim_cur);
|
||||
limit = rlim.rlim_cur;
|
||||
return (limit < 0 ? INT_MAX : rlim.rlim_cur);
|
||||
#endif /* USE_ULIMIT */
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user