From nobody Mon Jun 29 15:54:30 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gprSR2kxqz6jP6m for ; Mon, 29 Jun 2026 15:54:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gprSQ4sq2z3QgN for ; Mon, 29 Jun 2026 15:54:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1782748470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w1P6AUPdD9F2WcwmL5/mtrNQlQcEIclZlDUOazFS5JM=; b=yRQXQiwzULgzuYFl4jndHqPSq09F+gLj2ObvdPtGDATBk7NYYMhWZrJUp68ffzv3Yl0noN AQa1VVuXfiWJU3198hD+yXaI/3eGzhQqiWwRS+Yia8UT8IA26BM9QOq+NAn7qa8tQDkzL9 OYThIXJYrDhtKinIejOlDYjZadSb5qEbkWFkCRStcG+UBEkd8kqNtNw4DBKaqH5UHXvLBz Yg4Lo9QMmBjdmihCCaQ4huzFm1yAqwEHiKtNdVVbp2CnuZTwpoq/bTQ0lrtlchYNMuTWTa 0j/3QsW/ddCUPfuVV8gaWhWjOqmO7pwZkCHKrydkEMuVHynnHUQu+Diz4plkeg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1782748470; a=rsa-sha256; cv=none; b=M/lL7qy1Ud0OhH2b5C1Jsh/BYVLu9SuF+BZd7Ji5ndrHs0eLi15j5XEg8z7yTpV6ltMsjJ wjz8UOuos7vZ2j3kvz/VG6D8dOum++9qMQMRr9vKmPVmk68QRpgpfrgUCRUvUeZdp7mkAQ Yit2Tq+mC3UynOLIagdkZRJQ28Voj1ZF4qTcozZN5DALR+QXkmA/XOUOzvUsmPoKl+q2G6 mh8tMjt893HhXeIl+BHSGu3IB2eZKyF5WozRfFIxUeXDqsyykafKtW2v+LD6cF1qfz9fRV b0R3y/AOqvMdhhjGtopDltJ358JJjqUSW+XSu/J30Up+FW7t/6rwTP/8BOmhsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1782748470; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w1P6AUPdD9F2WcwmL5/mtrNQlQcEIclZlDUOazFS5JM=; b=p2g+fB3vJ1NI4RH1w1Y1vAQTOZ9ooaGX/oFPo4tzSszHHnkCwheHfm2o7A3W3SSvVvwOxX Pun+oGh+J6IEHjsiK4voz5tTyz+48tz1vvkdugCHG8yUhAtCqGfmzC91D/DNr+iwSTK3zv UgfZEIM2Gr01OCebpr6f+OmM0oOkbBy3tUzjK5a2+03mHykFoPNbPzEqvbWUlXjT4n1VgM /wJLLZw5QlBrtZmoI6b+fWeTa0nQQet9D0Tt27cc+K58GWDMJCEd+gCROqAd7OPW1+I0mz 6NidT2u19dSXvJf9jMMRlQigY2U+7qCBQMfM74grX5g3Hi0Z/SVh2jM/FzMSwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gprSQ3xK0z146Z for ; Mon, 29 Jun 2026 15:54:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3b7a4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 29 Jun 2026 15:54:30 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: 208c43d6f57b - main - Revert "libc/resolv: Drop Solaris 2 compatibility" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 208c43d6f57b036cfd207a54de54c4dd7b8123da Auto-Submitted: auto-generated Date: Mon, 29 Jun 2026 15:54:30 +0000 Message-Id: <6a429536.3b7a4.5bb5530a@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=208c43d6f57b036cfd207a54de54c4dd7b8123da commit 208c43d6f57b036cfd207a54de54c4dd7b8123da Author: Dag-Erling Smørgrav AuthorDate: 2026-06-29 15:54:01 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-06-29 15:54:01 +0000 Revert "libc/resolv: Drop Solaris 2 compatibility" This reverts commit b27e21f304f260d539288756c5bb85421a549d44. --- lib/libc/nameser/ns_parse.c | 5 +++++ lib/libc/resolv/res_comp.c | 11 +++++++++++ lib/libc/resolv/res_init.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+) diff --git a/lib/libc/nameser/ns_parse.c b/lib/libc/nameser/ns_parse.c index fa21127a5c7e..40f19d33c2bc 100644 --- a/lib/libc/nameser/ns_parse.c +++ b/lib/libc/nameser/ns_parse.c @@ -38,7 +38,12 @@ static void setsection(ns_msg *msg, ns_sect sect); /* Macros. */ +#if !defined(SOLARIS2) || defined(__COVERITY__) #define RETERR(err) do { errno = (err); return (-1); } while (0) +#else +#define RETERR(err) \ + do { errno = (err); if (errno == errno) return (-1); } while (0) +#endif #define PARSE_FMT_PRESO 0 /* Parse using presentation-format names */ #define PARSE_FMT_WIRE 1 /* Parse using network-format names */ diff --git a/lib/libc/resolv/res_comp.c b/lib/libc/resolv/res_comp.c index d9edcc9a4930..55b71266b4ae 100644 --- a/lib/libc/resolv/res_comp.c +++ b/lib/libc/resolv/res_comp.c @@ -240,6 +240,17 @@ res_dnok(const char *dn) { * Note that one _ comes from C and the others come from us. */ +#ifdef SOLARIS2 +#ifdef __putlong +#undef __putlong +#endif +#ifdef __putshort +#undef __putshort +#endif +#pragma weak putlong = __putlong +#pragma weak putshort = __putshort +#endif /* SOLARIS2 */ + void __putlong(u_int32_t src, u_char *dst) { ns_put32(src, dst); } void __putshort(u_int16_t src, u_char *dst) { ns_put16(src, dst); } #ifndef __ultrix__ diff --git a/lib/libc/resolv/res_init.c b/lib/libc/resolv/res_init.c index e9e982fe27bb..b21a3fa1670f 100644 --- a/lib/libc/resolv/res_init.c +++ b/lib/libc/resolv/res_init.c @@ -95,6 +95,10 @@ #include "res_private.h" +#ifdef SOLARIS2 +#include +#endif + static void res_setoptions(res_state, const char *, const char *); #ifdef RESOLVSORT @@ -215,6 +219,28 @@ __res_vinit(res_state statp, int preinit) { #endif res_setservers(statp, u, nitems(u)); +#ifdef SOLARIS2 + /* + * The old libresolv derived the defaultdomain from NIS/NIS+. + * We want to keep this behaviour + */ + { + char buf[sizeof(statp->defdname)], *cp; + int ret; + + if ((ret = sysinfo(SI_SRPC_DOMAIN, buf, sizeof(buf))) > 0 && + (unsigned int)ret <= sizeof(buf)) { + if (buf[0] == '+') + buf[0] = '.'; + cp = strchr(buf, '.'); + cp = (cp == NULL) ? buf : (cp + 1); + strncpy(statp->defdname, cp, + sizeof(statp->defdname) - 1); + statp->defdname[sizeof(statp->defdname) - 1] = '\0'; + } + } +#endif /* SOLARIS2 */ + /* Allow user to override the local domain definition */ if ((cp = secure_getenv("LOCALDOMAIN")) != NULL) { (void)strncpy(statp->defdname, cp, sizeof(statp->defdname) - 1); @@ -554,6 +580,22 @@ res_setoptions(res_state statp, const char *options, const char *source) if (statp->options & RES_DEBUG) printf(";;\ttimeout=%d\n", statp->retrans); #endif +#ifdef SOLARIS2 + } else if (!strncmp(cp, "retrans:", sizeof("retrans:") - 1)) { + /* + * For backward compatibility, 'retrans' is + * supported as an alias for 'timeout', though + * without an imposed maximum. + */ + statp->retrans = atoi(cp + sizeof("retrans:") - 1); + } else if (!strncmp(cp, "retry:", sizeof("retry:") - 1)){ + /* + * For backward compatibility, 'retry' is + * supported as an alias for 'attempts', though + * without an imposed maximum. + */ + statp->retry = atoi(cp + sizeof("retry:") - 1); +#endif /* SOLARIS2 */ } else if (!strncmp(cp, "attempts:", sizeof("attempts:") - 1)){ i = atoi(cp + sizeof("attempts:") - 1); if (i <= RES_MAXRETRY)