merge conflicts
This commit is contained in:
parent
d156f4052d
commit
8b87d2a0a0
|
@ -6329,7 +6329,7 @@ whitespace. </p>
|
|||
</DD>
|
||||
|
||||
<DT><b><a name="maillog_file_rotate_suffix">maillog_file_rotate_suffix</a>
|
||||
(default: %Y%M%d-%H%M%S)</b></DT><DD>
|
||||
(default: %Y%m%d-%H%M%S)</b></DT><DD>
|
||||
|
||||
<p> The format of the suffix to append to $<a href="postconf.5.html#maillog_file">maillog_file</a> while rotating
|
||||
the file with "postfix logrotate". See strftime(3) for syntax. The
|
||||
|
|
|
@ -228,6 +228,19 @@ case $# in
|
|||
*) echo usage: $0 [system release] 1>&2; exit 1;;
|
||||
esac
|
||||
|
||||
case "$SYSTEM" in
|
||||
Linux)
|
||||
case "`PATH=/bin:/usr/bin ldd /bin/sh`" in
|
||||
*-musl-*)
|
||||
case "$CCARGS" in
|
||||
*-DNO_DNSSEC*) ;;
|
||||
*) echo Warning: libc-musl breaks DANE/TLSA security. 1>&2
|
||||
echo This build will not support DANE/TLSA. 1>&2
|
||||
CCARGS="$CCARGS -DNO_DNSSEC";;
|
||||
esac;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
case "$SYSTEM.$RELEASE" in
|
||||
SCO_SV.3.2) SYSTYPE=SCO5
|
||||
# Use the native compiler by default
|
||||
|
@ -1136,7 +1149,7 @@ esac
|
|||
: ${CC=gcc} ${OPT='-O'} ${DEBUG='-g'} ${AWK=awk} \
|
||||
${WARN='-Wall -Wno-comment -Wformat -Wimplicit -Wmissing-prototypes \
|
||||
-Wparentheses -Wstrict-prototypes -Wswitch -Wuninitialized \
|
||||
-Wunused -Wno-missing-braces'}
|
||||
-Wunused -Wno-missing-braces -fcommon'}
|
||||
|
||||
# Extract map type names from -DHAS_XXX compiler options. We avoid
|
||||
# problems with tr(1) range syntax by using enumerations instead,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.\" $NetBSD: postfix.1,v 1.3 2020/03/18 19:05:14 christos Exp $
|
||||
.\" $NetBSD: postfix.1,v 1.4 2020/05/25 23:47:13 christos Exp $
|
||||
.\"
|
||||
.TH POSTFIX 1
|
||||
.ad
|
||||
|
@ -254,7 +254,7 @@ The program to run after rotating $maillog_file with "postfix
|
|||
logrotate".
|
||||
.IP "\fBmaillog_file_prefixes (/var, /dev/stdout)\fR"
|
||||
A list of allowed prefixes for a maillog_file value.
|
||||
.IP "\fBmaillog_file_rotate_suffix (%Y%M%d\-%H%M%S)\fR"
|
||||
.IP "\fBmaillog_file_rotate_suffix (%Y%m%d\-%H%M%S)\fR"
|
||||
The format of the suffix to append to $maillog_file while rotating
|
||||
the file with "postfix logrotate".
|
||||
.IP "\fBpostlog_service_name (postlog)\fR"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.\" $NetBSD: postconf.5,v 1.16 2020/03/18 19:05:14 christos Exp $
|
||||
.\" $NetBSD: postconf.5,v 1.17 2020/05/25 23:47:13 christos Exp $
|
||||
.\"
|
||||
.TH POSTCONF 5
|
||||
.SH NAME
|
||||
|
@ -3824,7 +3824,7 @@ mistake. Specify one or more prefix strings, separated by comma or
|
|||
whitespace.
|
||||
.PP
|
||||
This feature is available in Postfix 3.4 and later.
|
||||
.SH maillog_file_rotate_suffix (default: %Y%M%d\-%H%M%S)
|
||||
.SH maillog_file_rotate_suffix (default: %Y%m%d\-%H%M%S)
|
||||
The format of the suffix to append to $maillog_file while rotating
|
||||
the file with "postfix logrotate". See \fBstrftime\fR(3) for syntax. The
|
||||
default suffix, YYYYMMDD\-HHMMSS, allows logs to be rotated frequently.
|
||||
|
|
|
@ -17651,7 +17651,7 @@ first argument. </p>
|
|||
|
||||
<p> This feature is available in Postfix 3.4 and later. </p>
|
||||
|
||||
%PARAM maillog_file_rotate_suffix %Y%M%d-%H%M%S
|
||||
%PARAM maillog_file_rotate_suffix %Y%m%d-%H%M%S
|
||||
|
||||
<p> The format of the suffix to append to $maillog_file while rotating
|
||||
the file with "postfix logrotate". See strftime(3) for syntax. The
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: dns.h,v 1.3 2020/03/18 19:05:15 christos Exp $ */
|
||||
/* $NetBSD: dns.h,v 1.4 2020/05/25 23:47:13 christos Exp $ */
|
||||
|
||||
#ifndef _DNS_H_INCLUDED_
|
||||
#define _DNS_H_INCLUDED_
|
||||
|
@ -61,6 +61,7 @@
|
|||
*/
|
||||
#ifdef NO_DNSSEC
|
||||
#undef RES_USE_DNSSEC
|
||||
#undef RES_TRUSTAD
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
@ -71,6 +72,9 @@
|
|||
#endif
|
||||
#ifndef RES_USE_EDNS0
|
||||
#define RES_USE_EDNS0 0
|
||||
#endif
|
||||
#ifndef RES_TRUSTAD
|
||||
#define RES_TRUSTAD 0
|
||||
#endif
|
||||
|
||||
/*-
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: dns_lookup.c,v 1.5 2020/03/18 19:05:15 christos Exp $ */
|
||||
/* $NetBSD: dns_lookup.c,v 1.6 2020/05/25 23:47:13 christos Exp $ */
|
||||
|
||||
/*++
|
||||
/* NAME
|
||||
|
@ -118,6 +118,9 @@
|
|||
/* Request DNSSEC validation. This flag is silently ignored
|
||||
/* when the system stub resolver API, resolver(3), does not
|
||||
/* implement DNSSEC.
|
||||
/* Automatically turns on the RES_TRUSTAD flag on systems that
|
||||
/* support this flag (this behavior will be more configurable
|
||||
/* in a later release).
|
||||
/* .RE
|
||||
/* .IP lflags
|
||||
/* Flags that control the operation of the dns_lookup*()
|
||||
|
@ -487,10 +490,10 @@ static int dns_query(const char *name, int type, unsigned flags,
|
|||
/*
|
||||
* Set extra options that aren't exposed to the application.
|
||||
*/
|
||||
#define XTRA_FLAGS (RES_USE_EDNS0)
|
||||
#define XTRA_FLAGS (RES_USE_EDNS0 | RES_TRUSTAD)
|
||||
|
||||
if (flags & RES_USE_DNSSEC)
|
||||
flags |= RES_USE_EDNS0;
|
||||
flags |= (RES_USE_EDNS0 | RES_TRUSTAD);
|
||||
|
||||
/*
|
||||
* Can't append domains: we need the right SOA TTL.
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: mail_params.c,v 1.3 2020/03/18 19:05:16 christos Exp $ */
|
||||
/* $NetBSD: mail_params.c,v 1.4 2020/05/25 23:47:14 christos Exp $ */
|
||||
|
||||
/*++
|
||||
/* NAME
|
||||
|
@ -873,6 +873,8 @@ void mail_params_init()
|
|||
var_smtputf8_enable = 0;
|
||||
#else
|
||||
midna_domain_transitional = var_idna2003_compat;
|
||||
if (var_smtputf8_enable)
|
||||
midna_domain_pre_chroot();
|
||||
#endif
|
||||
util_utf8_enable = var_smtputf8_enable;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: mail_params.h,v 1.16 2020/03/18 19:05:16 christos Exp $ */
|
||||
/* $NetBSD: mail_params.h,v 1.17 2020/05/25 23:47:14 christos Exp $ */
|
||||
|
||||
#ifndef _MAIL_PARAMS_H_INCLUDED_
|
||||
#define _MAIL_PARAMS_H_INCLUDED_
|
||||
|
@ -4183,7 +4183,7 @@ extern char *var_maillog_file_pfxs;
|
|||
extern char *var_maillog_file_comp;
|
||||
|
||||
#define VAR_MAILLOG_FILE_STAMP "maillog_file_rotate_suffix"
|
||||
#define DEF_MAILLOG_FILE_STAMP "%Y%M%d-%H%M%S"
|
||||
#define DEF_MAILLOG_FILE_STAMP "%Y%m%d-%H%M%S"
|
||||
extern char *var_maillog_file_stamp;
|
||||
|
||||
#define VAR_POSTLOG_SERVICE "postlog_service_name"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: mail_version.h,v 1.3 2020/03/18 19:05:16 christos Exp $ */
|
||||
/* $NetBSD: mail_version.h,v 1.4 2020/05/25 23:47:14 christos Exp $ */
|
||||
|
||||
#ifndef _MAIL_VERSION_H_INCLUDED_
|
||||
#define _MAIL_VERSION_H_INCLUDED_
|
||||
|
@ -22,8 +22,8 @@
|
|||
* Patches change both the patchlevel and the release date. Snapshots have no
|
||||
* patchlevel; they change the release date only.
|
||||
*/
|
||||
#define MAIL_RELEASE_DATE "20200316"
|
||||
#define MAIL_VERSION_NUMBER "3.5.0"
|
||||
#define MAIL_RELEASE_DATE "20200516"
|
||||
#define MAIL_VERSION_NUMBER "3.5.2"
|
||||
|
||||
#ifdef SNAPSHOT
|
||||
#define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: milter.c,v 1.3 2020/03/18 19:05:17 christos Exp $ */
|
||||
/* $NetBSD: milter.c,v 1.4 2020/05/25 23:47:14 christos Exp $ */
|
||||
|
||||
/*++
|
||||
/* NAME
|
||||
|
@ -622,14 +622,14 @@ void milter_disc_event(MILTERS *milters)
|
|||
* names by skipping the redundant "milter_" prefix.
|
||||
*/
|
||||
static ATTR_OVER_TIME time_table[] = {
|
||||
7 + VAR_MILT_CONN_TIME, DEF_MILT_CONN_TIME, 0, 1, 0,
|
||||
7 + VAR_MILT_CMD_TIME, DEF_MILT_CMD_TIME, 0, 1, 0,
|
||||
7 + VAR_MILT_MSG_TIME, DEF_MILT_MSG_TIME, 0, 1, 0,
|
||||
7 + (const char *) VAR_MILT_CONN_TIME, DEF_MILT_CONN_TIME, 0, 1, 0,
|
||||
7 + (const char *) VAR_MILT_CMD_TIME, DEF_MILT_CMD_TIME, 0, 1, 0,
|
||||
7 + (const char *) VAR_MILT_MSG_TIME, DEF_MILT_MSG_TIME, 0, 1, 0,
|
||||
0,
|
||||
};
|
||||
static ATTR_OVER_STR str_table[] = {
|
||||
7 + VAR_MILT_PROTOCOL, 0, 1, 0,
|
||||
7 + VAR_MILT_DEF_ACTION, 0, 1, 0,
|
||||
7 + (const char *) VAR_MILT_PROTOCOL, 0, 1, 0,
|
||||
7 + (const char *) VAR_MILT_DEF_ACTION, 0, 1, 0,
|
||||
0,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: postfix.c,v 1.3 2020/03/18 19:05:18 christos Exp $ */
|
||||
/* $NetBSD: postfix.c,v 1.4 2020/05/25 23:47:14 christos Exp $ */
|
||||
|
||||
/*++
|
||||
/* NAME
|
||||
|
@ -244,7 +244,7 @@
|
|||
/* logrotate".
|
||||
/* .IP "\fBmaillog_file_prefixes (/var, /dev/stdout)\fR"
|
||||
/* A list of allowed prefixes for a maillog_file value.
|
||||
/* .IP "\fBmaillog_file_rotate_suffix (%Y%M%d-%H%M%S)\fR"
|
||||
/* .IP "\fBmaillog_file_rotate_suffix (%Y%m%d-%H%M%S)\fR"
|
||||
/* The format of the suffix to append to $maillog_file while rotating
|
||||
/* the file with "postfix logrotate".
|
||||
/* .IP "\fBpostlog_service_name (postlog)\fR"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: smtpd_check.c,v 1.3 2020/03/18 19:05:20 christos Exp $ */
|
||||
/* $NetBSD: smtpd_check.c,v 1.4 2020/05/25 23:47:14 christos Exp $ */
|
||||
|
||||
/*++
|
||||
/* NAME
|
||||
|
@ -488,20 +488,20 @@ typedef struct {
|
|||
* parameter names by skipping the redundant "smtpd_policy_service_" prefix.
|
||||
*/
|
||||
static ATTR_OVER_TIME time_table[] = {
|
||||
21 + VAR_SMTPD_POLICY_TMOUT, DEF_SMTPD_POLICY_TMOUT, 0, 1, 0,
|
||||
21 + VAR_SMTPD_POLICY_IDLE, DEF_SMTPD_POLICY_IDLE, 0, 1, 0,
|
||||
21 + VAR_SMTPD_POLICY_TTL, DEF_SMTPD_POLICY_TTL, 0, 1, 0,
|
||||
21 + VAR_SMTPD_POLICY_TRY_DELAY, DEF_SMTPD_POLICY_TRY_DELAY, 0, 1, 0,
|
||||
21 + (const char *) VAR_SMTPD_POLICY_TMOUT, DEF_SMTPD_POLICY_TMOUT, 0, 1, 0,
|
||||
21 + (const char *) VAR_SMTPD_POLICY_IDLE, DEF_SMTPD_POLICY_IDLE, 0, 1, 0,
|
||||
21 + (const char *) VAR_SMTPD_POLICY_TTL, DEF_SMTPD_POLICY_TTL, 0, 1, 0,
|
||||
21 + (const char *) VAR_SMTPD_POLICY_TRY_DELAY, DEF_SMTPD_POLICY_TRY_DELAY, 0, 1, 0,
|
||||
0,
|
||||
};
|
||||
static ATTR_OVER_INT int_table[] = {
|
||||
21 + VAR_SMTPD_POLICY_REQ_LIMIT, 0, 0, 0,
|
||||
21 + VAR_SMTPD_POLICY_TRY_LIMIT, 0, 1, 0,
|
||||
21 + (const char *) VAR_SMTPD_POLICY_REQ_LIMIT, 0, 0, 0,
|
||||
21 + (const char *) VAR_SMTPD_POLICY_TRY_LIMIT, 0, 1, 0,
|
||||
0,
|
||||
};
|
||||
static ATTR_OVER_STR str_table[] = {
|
||||
21 + VAR_SMTPD_POLICY_DEF_ACTION, 0, 1, 0,
|
||||
21 + VAR_SMTPD_POLICY_CONTEXT, 0, 1, 0,
|
||||
21 + (const char *) VAR_SMTPD_POLICY_DEF_ACTION, 0, 1, 0,
|
||||
21 + (const char *) VAR_SMTPD_POLICY_CONTEXT, 0, 1, 0,
|
||||
0,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: tls_session.c,v 1.2 2020/03/18 19:05:21 christos Exp $ */
|
||||
/* $NetBSD: tls_session.c,v 1.3 2020/05/25 23:47:14 christos Exp $ */
|
||||
|
||||
/*++
|
||||
/* NAME
|
||||
|
@ -120,7 +120,7 @@ void tls_session_stop(TLS_APPL_STATE *unused_ctx, VSTREAM *stream, int timeou
|
|||
* so we will not perform SSL_shutdown() and the session will be removed
|
||||
* as being bad.
|
||||
*/
|
||||
if (!failure) {
|
||||
if (!failure && !SSL_in_init(TLScontext->con)) {
|
||||
retval = tls_bio_shutdown(vstream_fileno(stream), timeout, TLScontext);
|
||||
if (!var_tls_fast_shutdown && retval == 0)
|
||||
tls_bio_shutdown(vstream_fileno(stream), timeout, TLScontext);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: tlsproxy.c,v 1.3 2020/03/18 19:05:21 christos Exp $ */
|
||||
/* $NetBSD: tlsproxy.c,v 1.4 2020/05/25 23:47:14 christos Exp $ */
|
||||
|
||||
/*++
|
||||
/* NAME
|
||||
|
@ -783,6 +783,7 @@ static void tlsp_strategy(TLSP_STATE *state)
|
|||
*/
|
||||
if (state->flags & TLSP_FLAG_DO_HANDSHAKE) {
|
||||
state->timeout = state->handshake_timeout;
|
||||
ERR_clear_error();
|
||||
if (state->is_server_role)
|
||||
ssl_stat = SSL_accept(tls_context->con);
|
||||
else
|
||||
|
@ -811,6 +812,7 @@ static void tlsp_strategy(TLSP_STATE *state)
|
|||
if (NBBIO_ERROR_FLAGS(plaintext_buf)) {
|
||||
if (NBBIO_ACTIVE_FLAGS(plaintext_buf))
|
||||
nbbio_disable_readwrite(state->plaintext_buf);
|
||||
ERR_clear_error();
|
||||
if (!SSL_in_init(tls_context->con)
|
||||
&& (ssl_stat = SSL_shutdown(tls_context->con)) < 0) {
|
||||
handshake_err = SSL_get_error(tls_context->con, ssl_stat);
|
||||
|
@ -840,6 +842,7 @@ static void tlsp_strategy(TLSP_STATE *state)
|
|||
*/
|
||||
ssl_write_err = SSL_ERROR_NONE;
|
||||
while (NBBIO_READ_PEND(plaintext_buf) > 0) {
|
||||
ERR_clear_error();
|
||||
ssl_stat = SSL_write(tls_context->con, NBBIO_READ_BUF(plaintext_buf),
|
||||
NBBIO_READ_PEND(plaintext_buf));
|
||||
ssl_write_err = SSL_get_error(tls_context->con, ssl_stat);
|
||||
|
@ -872,6 +875,7 @@ static void tlsp_strategy(TLSP_STATE *state)
|
|||
*/
|
||||
ssl_read_err = SSL_ERROR_NONE;
|
||||
while (NBBIO_WRITE_PEND(state->plaintext_buf) < NBBIO_BUFSIZE(plaintext_buf)) {
|
||||
ERR_clear_error();
|
||||
ssl_stat = SSL_read(tls_context->con,
|
||||
NBBIO_WRITE_BUF(plaintext_buf)
|
||||
+ NBBIO_WRITE_PEND(state->plaintext_buf),
|
||||
|
@ -1495,16 +1499,15 @@ static void tlsp_service(VSTREAM *plaintext_stream,
|
|||
TLSP_INIT_TIMEOUT, (void *) state);
|
||||
}
|
||||
|
||||
/* pre_jail_init - pre-jail initialization */
|
||||
/* pre_jail_init_server - pre-jail initialization */
|
||||
|
||||
static void pre_jail_init(char *unused_name, char **unused_argv)
|
||||
static void pre_jail_init_server(void)
|
||||
{
|
||||
TLS_SERVER_INIT_PROPS props;
|
||||
const char *cert_file;
|
||||
int have_server_cert;
|
||||
int no_server_cert_ok;
|
||||
int require_server_cert;
|
||||
int clnt_use_tls;
|
||||
|
||||
/*
|
||||
* The code in this routine is pasted literally from smtpd(8). I am not
|
||||
|
@ -1537,7 +1540,7 @@ static void pre_jail_init(char *unused_name, char **unused_argv)
|
|||
}
|
||||
var_tlsp_use_tls = var_tlsp_use_tls || var_tlsp_enforce_tls;
|
||||
if (!var_tlsp_use_tls) {
|
||||
msg_warn("TLS service is requested, but disabled with %s or %s",
|
||||
msg_warn("TLS server role is disabled with %s or %s",
|
||||
VAR_TLSP_TLS_LEVEL, VAR_TLSP_USE_TLS);
|
||||
return;
|
||||
}
|
||||
|
@ -1628,6 +1631,13 @@ static void pre_jail_init(char *unused_name, char **unused_argv)
|
|||
SSL_CTX_set_mode(tlsp_server_ctx->ssl_ctx,
|
||||
SSL_MODE_ENABLE_PARTIAL_WRITE
|
||||
| SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER);
|
||||
}
|
||||
|
||||
/* pre_jail_init_client - pre-jail initialization */
|
||||
|
||||
static void pre_jail_init_client(void)
|
||||
{
|
||||
int clnt_use_tls;
|
||||
|
||||
/*
|
||||
* The cache with TLS_APPL_STATE instances for different TLS_CLIENT_INIT
|
||||
|
@ -1739,6 +1749,18 @@ static void pre_jail_init(char *unused_name, char **unused_argv)
|
|||
msg_warn("TLS client initialization failed");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* pre_jail_init - pre-jail initialization */
|
||||
|
||||
static void pre_jail_init(char *unused_name, char **unused_argv)
|
||||
{
|
||||
|
||||
/*
|
||||
* Initialize roles separately.
|
||||
*/
|
||||
pre_jail_init_server();
|
||||
pre_jail_init_client();
|
||||
|
||||
/*
|
||||
* tlsp_client_init() needs to know if it is called pre-jail or
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: midna_domain.c,v 1.3 2020/03/18 19:05:21 christos Exp $ */
|
||||
/* $NetBSD: midna_domain.c,v 1.4 2020/05/25 23:47:14 christos Exp $ */
|
||||
|
||||
/*++
|
||||
/* NAME
|
||||
|
@ -22,6 +22,8 @@
|
|||
/*
|
||||
/* const char *midna_domain_suffix_to_utf8(
|
||||
/* const char *name)
|
||||
/* AUXILIARY FUNCTIONS
|
||||
/* void midna_domain_pre_chroot(void)
|
||||
/* DESCRIPTION
|
||||
/* The functions in this module transform domain names from/to
|
||||
/* ASCII and UTF-8 form. The result is cached to avoid repeated
|
||||
|
@ -54,6 +56,8 @@
|
|||
/*
|
||||
/* midna_domain_transitional enables transitional conversion
|
||||
/* between UTF8 and ASCII labels.
|
||||
/*
|
||||
/* midna_domain_pre_chroot() does some pre-chroot initialization.
|
||||
/* SEE ALSO
|
||||
/* http://unicode.org/reports/tr46/ Unicode IDNA Compatibility processing
|
||||
/* msg(3) diagnostics interface
|
||||
|
@ -146,6 +150,22 @@ static const char *midna_domain_strerror(UErrorCode error, int info_errors)
|
|||
}
|
||||
}
|
||||
|
||||
/* midna_domain_pre_chroot - pre-chroot initialization */
|
||||
|
||||
void midna_domain_pre_chroot(void)
|
||||
{
|
||||
UErrorCode error = U_ZERO_ERROR;
|
||||
UIDNAInfo info = UIDNA_INFO_INITIALIZER;
|
||||
UIDNA *idna;
|
||||
|
||||
idna = uidna_openUTS46(midna_domain_transitional ? UIDNA_DEFAULT
|
||||
: UIDNA_NONTRANSITIONAL_TO_ASCII, &error);
|
||||
if (U_FAILURE(error))
|
||||
msg_warn("ICU library initialization failed: %s",
|
||||
midna_domain_strerror(error, info.errors));
|
||||
uidna_close(idna);
|
||||
}
|
||||
|
||||
/* midna_domain_to_ascii_create - convert domain to ASCII */
|
||||
|
||||
static void *midna_domain_to_ascii_create(const char *name, void *unused_context)
|
||||
|
@ -329,6 +349,7 @@ const char *midna_domain_suffix_to_utf8(const char *name)
|
|||
/*
|
||||
* Test program - reads names from stdin, reports invalid names to stderr.
|
||||
*/
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <locale.h>
|
||||
|
||||
|
@ -352,6 +373,11 @@ int main(int argc, char **argv)
|
|||
/* msg_verbose = 1; */
|
||||
util_utf8_enable = 1;
|
||||
|
||||
if (geteuid() == 0) {
|
||||
midna_domain_pre_chroot();
|
||||
if (chroot(".") != 0)
|
||||
msg_fatal("chroot(\".\"): %m");
|
||||
}
|
||||
while (vstring_fgets_nonl(buffer, VSTREAM_IN)) {
|
||||
bp = STR(buffer);
|
||||
msg_info("> %s", bp);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: midna_domain.h,v 1.3 2020/03/18 19:05:21 christos Exp $ */
|
||||
/* $NetBSD: midna_domain.h,v 1.4 2020/05/25 23:47:14 christos Exp $ */
|
||||
|
||||
#ifndef _MIDNA_H_INCLUDED_
|
||||
#define _MIDNA_H_INCLUDED_
|
||||
|
@ -20,6 +20,7 @@ extern const char *midna_domain_to_ascii(const char *);
|
|||
extern const char *midna_domain_to_utf8(const char *);
|
||||
extern const char *midna_domain_suffix_to_ascii(const char *);
|
||||
extern const char *midna_domain_suffix_to_utf8(const char *);
|
||||
extern void midna_domain_pre_chroot(void);
|
||||
|
||||
extern int midna_domain_cache_size;
|
||||
extern int midna_domain_transitional;
|
||||
|
|
Loading…
Reference in New Issue