From nobody Sun Dec 14 03:24:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1751634421; cv=none; d=zohomail.com; s=zohoarc; b=MLxPx9IEoChIqoWvsLHO8xakULHHGVpUJBYSiS9tlMlcjVPGn+ROqDlHMK22nDXkIDiBiYJmxB6SpiK6AYGAETuhUQLyMsjq43hzhH+8aVAtov43Dpz+LajY5ZW0ZtLTCaQf6VqpaG3ObXZTqLVCYLXQD6UZpmZSJFHjPg0sqDs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751634421; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=k6sMeXBaXDk9gVRscyOpMOFtXbjn3YBMfEjMXCT8pys=; b=nAjgJHFu2bp3T1jakfCp3APC609yuYgeUJ4e7wecxTFOguoPLRmt9sBSJF2P+I0AUobWNQtZ/O4+x7hwhdfbeySbO3subY8imIJfaDwq+BJZRZpw/vm/yI251SxY4gRwYiMX7JjeyhyH/Vxl5dCtSwRP5RCSUvjH0QMMECRllMU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1751634420665773.8250627627023; Fri, 4 Jul 2025 06:07:00 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id B57DE11C4; Fri, 4 Jul 2025 09:06:59 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 66B5214F0; Fri, 4 Jul 2025 09:06:16 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 4BE55E1E; Fri, 4 Jul 2025 09:06:10 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id C9513DE5 for ; Fri, 4 Jul 2025 09:06:09 -0400 (EDT) Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-692-FHAuxtGIOUmVvlz1iv8jig-1; Fri, 04 Jul 2025 09:06:07 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 2A7A01944AA9 for ; Fri, 4 Jul 2025 13:06:07 +0000 (UTC) Received: from localhost.localdomain (unknown [10.43.3.236]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 6E4EF18002B5 for ; Fri, 4 Jul 2025 13:06:06 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: ** X-Spam-Status: No, score=2.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_SBL_CSS,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=no autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751634369; 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: in-reply-to:in-reply-to:references:references; bh=Y6oVLfiYFD/CqYOawhCDaDCYtuG3rlL56KQMjDiF1OE=; b=NnyqAnEQQlUm9R30GpMc0/C6/cezddMPCt2loFxz03Vax1fIc00oOebyKXPAhVM4pBNMap bn0qByHy2ge/IuLuwxDkxyboTtCdU89O2SwgQTqeWNkey08/q8SfJzAuKcVGkVCIjHDvKy 8gXPgBtg6g4+pTNL3f4FKEHhHCR7DRM= X-MC-Unique: FHAuxtGIOUmVvlz1iv8jig-1 X-Mimecast-MFC-AGG-ID: FHAuxtGIOUmVvlz1iv8jig_1751634367 To: devel@lists.libvirt.org Subject: [PATCH 1/6] nss: Promote debug message to proper error when time() fails Date: Fri, 4 Jul 2025 15:05:30 +0200 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: byRkIFWAIaK8xFAhTY4DlM63sNrWA2b-zfImE2KfjDM_1751634367 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: XXZYU3JOLK365BXOTP3LBRTVCT24RV4R X-Message-ID-Hash: XXZYU3JOLK365BXOTP3LBRTVCT24RV4R X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Michal Privoznik via Devel Reply-To: Michal Privoznik X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1751634421733116600 Content-Type: text/plain; charset="utf-8"; x-default="true" From: Michal Privoznik The difference between DEBUG() and ERROR() macros is that the latter also prints (stringified) errno. Inside of findLease() there's one line where time() is called which is documented as: On error, ((time_t) -1) is returned, and errno is set to indicate the error. Therefore, don't just print DEBUG() but ERROR() so that the cause for the error is printed too. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- tools/nss/libvirt_nss.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/nss/libvirt_nss.c b/tools/nss/libvirt_nss.c index 6ee328a8df..52b769d760 100644 --- a/tools/nss/libvirt_nss.c +++ b/tools/nss/libvirt_nss.c @@ -174,7 +174,7 @@ findLease(const char *name, #endif =20 if ((now =3D time(NULL)) =3D=3D (time_t)-1) { - DEBUG("Failed to get time"); + ERROR("Failed to get time"); goto cleanup; } =20 --=20 2.49.0 From nobody Sun Dec 14 03:24:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1751634456; cv=none; d=zohomail.com; s=zohoarc; b=HQI46mQHLGiR6g6TEMZ94rQjzj/+XlDAC00r2i0Gvz3iwsdHPUaOo8J72L6SyOECZmhSVmgvO0RmJRJ20MsETQzrCwiRU8vJ7H91rF17rhGoahJ6YbPP7oVvNfXwN1SQuan0U6uD3nYDK8CVv4ty4YogkFDqa3f9WG5cYzzbNJ4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751634456; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=jx27nPkMNxhAOxuC2UwrCM0lfkF0YU4HB58rUkg2Wy4=; b=fEspykW9Ft56fgP/HkTrQacaxuDUuoYJIkT8Gx59KCWdbb9HtExjSv+7F4pBZoS1Ikn7wFN9B11GTxFUN3oi2pbrdXUCyDkcDAUIvkt7l75CrOvCkt/XE2KAxVlH+4Gu1eFbxwOHepr8GBj4s3Oq/jLXE++hXlCf52PWEiR/7XM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1751634456186110.46346503883694; Fri, 4 Jul 2025 06:07:36 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 3FBC3999; Fri, 4 Jul 2025 09:07:35 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id B52BF1427; Fri, 4 Jul 2025 09:06:20 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id BB0A7DDF; Fri, 4 Jul 2025 09:06:11 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 0E8D4DE5 for ; Fri, 4 Jul 2025 09:06:11 -0400 (EDT) Received: from mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-100-ElubMqKDMRGZcnBqE_Ia4g-1; Fri, 04 Jul 2025 09:06:09 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 43B0E1978C9A for ; Fri, 4 Jul 2025 13:06:08 +0000 (UTC) Received: from localhost.localdomain (unknown [10.43.3.236]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 91026180045B for ; Fri, 4 Jul 2025 13:06:07 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: ** X-Spam-Status: No, score=2.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_SBL_CSS,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=no autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751634370; 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: in-reply-to:in-reply-to:references:references; bh=Q6zAUpQZCLNbn3ZakRHJt2i+FZNAT+CJNIxRgvrfkQ8=; b=MggOnuLLieGIi5F3GXVZdk8OSnmUfKOBbVziLgWCX+DAOSugIrBMTPDc+peK0FC3mDctid RxqqZOSVU+qKyiiWJv7aa7q1d1VA5bZ5nLorxJDvz5krV94itjPEFI5PclXva0bIxluKYe tXq3Qi5GVMe1vcGVJ+1aDv9IOnfs02c= X-MC-Unique: ElubMqKDMRGZcnBqE_Ia4g-1 X-Mimecast-MFC-AGG-ID: ElubMqKDMRGZcnBqE_Ia4g_1751634368 To: devel@lists.libvirt.org Subject: [PATCH 2/6] nss: Move logging into a separate file and turn it temporarily on Date: Fri, 4 Jul 2025 15:05:31 +0200 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: h4-gia_sz00S6mjkuG58fsmiHsRUyvnZj-jeijaGJFQ_1751634368 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: Z4VUTVBUVVNBQTUE4ZLFL7AZWLHLNPIM X-Message-ID-Hash: Z4VUTVBUVVNBQTUE4ZLFL7AZWLHLNPIM X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Michal Privoznik via Devel Reply-To: Michal Privoznik X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1751634459764116600 Content-Type: text/plain; charset="utf-8"; x-default="true" From: Michal Privoznik Currently, when somebody wants to debug the NSS plugin, they have to change a line in libvirt_nss.h (to enable debug printings) and recompile the module. This may work for us, developers, but we can not expect this from users. For now, this turns debug printings unconditionally on. Making it conditional on an envvar is handled in the next commit. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- build-aux/syntax-check.mk | 2 +- tools/nss/libvirt_nss.h | 30 +-------------- tools/nss/libvirt_nss_log.c | 76 +++++++++++++++++++++++++++++++++++++ tools/nss/libvirt_nss_log.h | 38 +++++++++++++++++++ tools/nss/meson.build | 1 + 5 files changed, 117 insertions(+), 30 deletions(-) create mode 100644 tools/nss/libvirt_nss_log.c create mode 100644 tools/nss/libvirt_nss_log.h diff --git a/build-aux/syntax-check.mk b/build-aux/syntax-check.mk index 1303a0ce7e..541b2c5016 100644 --- a/build-aux/syntax-check.mk +++ b/build-aux/syntax-check.mk @@ -1421,7 +1421,7 @@ exclude_file_name_regexp--sc_prohibit_canonicalize_fi= le_name =3D \ ^(build-aux/syntax-check\.mk|tests/virfilemock\.c)$$ =20 exclude_file_name_regexp--sc_prohibit_raw_allocation =3D \ - ^(docs/advanced-tests\.rst|src/util/viralloc\.[ch]|examples/.*|tests/(se= curityselinuxhelper|(vircgroup|nss)mock|commandhelper)\.c|tools/wireshark/s= rc/packet-libvirt\.c|tools/nss/libvirt_nss(_leases|_macs)?\.[ch])$$ + ^(docs/advanced-tests\.rst|src/util/viralloc\.[ch]|examples/.*|tests/(se= curityselinuxhelper|(vircgroup|nss)mock|commandhelper)\.c|tools/wireshark/s= rc/packet-libvirt\.c|tools/nss/libvirt_nss(_leases|_log|_macs)?\.[ch])$$ =20 exclude_file_name_regexp--sc_prohibit_readlink =3D \ ^src/(util/virutil|lxc/lxc_container)\.c$$ diff --git a/tools/nss/libvirt_nss.h b/tools/nss/libvirt_nss.h index 84db044409..e09fce9715 100644 --- a/tools/nss/libvirt_nss.h +++ b/tools/nss/libvirt_nss.h @@ -31,35 +31,7 @@ #include #include =20 - -#if 0 -# include -# include -# include -# define NULLSTR(s) ((s) ? (s) : "") -# define ERROR(...) \ -do { \ - int saved_errno =3D errno; \ - const size_t ebuf_size =3D 512; \ - g_autofree char *ebuf =3D calloc(ebuf_size, sizeof(*ebuf)); \ - if (ebuf) \ - strerror_r(saved_errno, ebuf, ebuf_size); \ - fprintf(stderr, "ERROR %s:%d : ", __FUNCTION__, __LINE__); \ - fprintf(stderr, __VA_ARGS__); \ - fprintf(stderr, " : %s\n", NULLSTR(ebuf)); \ - fprintf(stderr, "\n"); \ -} while (0) - -# define DEBUG(...) \ -do { \ - fprintf(stderr, "DEBUG %s:%d : ", __FUNCTION__, __LINE__); \ - fprintf(stderr, __VA_ARGS__); \ - fprintf(stderr, "\n"); \ -} while (0) -#else -# define ERROR(...) do { } while (0) -# define DEBUG(...) do { } while (0) -#endif +#include "libvirt_nss_log.h" =20 #if !defined(LIBVIRT_NSS_GUEST) # define NSS_NAME(s) _nss_libvirt_##s##_r diff --git a/tools/nss/libvirt_nss_log.c b/tools/nss/libvirt_nss_log.c new file mode 100644 index 0000000000..0863897c07 --- /dev/null +++ b/tools/nss/libvirt_nss_log.c @@ -0,0 +1,76 @@ +/* + * libvirt_nss_log: Logging for Name Service Switch plugin + * + * Copyright (C) 2025 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see + * . + */ + +#include + +#include +#include +#include +#include + +#include "libvirt_nss_log.h" +#include "libvirt_nss.h" + +#define NULLSTR(s) ((s) ? (s) : "") + +static const char * __attribute__((returns_nonnull)) +nssLogPriorityToString(nssLogPriority prio) +{ + switch (prio) { + case NSS_DEBUG: + return "DEBUG"; + case NSS_ERROR: + return "ERROR"; + } + + return ""; +} + +void +nssLog(nssLogPriority prio, + const char *func, + int linenr, + const char *fmt, ...) +{ + int saved_errno =3D errno; + const size_t ebuf_size =3D 512; + g_autofree char *ebuf =3D NULL; + va_list ap; + + fprintf(stderr, "%s %s:%d : ", nssLogPriorityToString(prio), func, lin= enr); + + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + va_end(ap); + + switch (prio) { + case NSS_DEBUG: + break; + + case NSS_ERROR: + ebuf =3D calloc(ebuf_size, sizeof(*ebuf)); + if (ebuf) + strerror_r(saved_errno, ebuf, ebuf_size); + fprintf(stderr, " : %s", NULLSTR(ebuf)); + break; + } + + fprintf(stderr, "\n"); +} diff --git a/tools/nss/libvirt_nss_log.h b/tools/nss/libvirt_nss_log.h new file mode 100644 index 0000000000..bac64d4bc7 --- /dev/null +++ b/tools/nss/libvirt_nss_log.h @@ -0,0 +1,38 @@ +/* + * libvirt_nss_log: Logging for Name Service Switch plugin + * + * Copyright (C) 2025 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see + * . + */ + +#pragma once + +typedef enum { + NSS_DEBUG, + NSS_ERROR, +} nssLogPriority; + +#define DEBUG(...) \ + nssLog(NSS_DEBUG, __FUNCTION__, __LINE__, __VA_ARGS__) + +#define ERROR(...) \ + nssLog(NSS_ERROR, __FUNCTION__, __LINE__, __VA_ARGS__) + +void +nssLog(nssLogPriority prio, + const char *func, + int linenr, + const char *fmt, ...) __attribute__ ((format(printf, 4, 5))); diff --git a/tools/nss/meson.build b/tools/nss/meson.build index 38bba2d616..5893952adc 100644 --- a/tools/nss/meson.build +++ b/tools/nss/meson.build @@ -13,6 +13,7 @@ endif nss_sources =3D [ 'libvirt_nss.c', 'libvirt_nss_leases.c', + 'libvirt_nss_log.c', ] =20 nss_guest_sources =3D [ --=20 2.49.0 From nobody Sun Dec 14 03:24:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1751634477; cv=none; d=zohomail.com; s=zohoarc; b=BBmniB7syVXCrhnocve10V7tc8LFz8GVnrc0r8R3MPiFnrzIpXG+vxjkQsf4xsYUXQIDuY+FUUwf6QGMKpEaFmV6v2SN3scgf8Bf3fECunI1fmdyiyg5lZU54zfeHKAzfkERiV7EOKb0qDEtgs+hXsnGK2klgYOzCTw90TKxej8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751634477; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=GgjqH4sTojne1HDa7l4bypUpFdIN5eGE3Gl8DirnbkY=; b=D3PAdMANmEE/9WCf4EkGg0BDLlGp31jjatSlT/2V3uIRwxL+N1pbdeGPldlc1xfvPHNyQCvggGiUKwJ7RbRONJKMoPj6DswVprSQKYiJeedBz1pH0WpkPL7/2dFXFfkUFQ2c4VfD6mWy68wGLEPT1zPNy1t/6I4i4qSaPir8MTQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1751634477084399.63527196735515; Fri, 4 Jul 2025 06:07:57 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 26E2D1566; Fri, 4 Jul 2025 09:07:56 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id B68A7125B; Fri, 4 Jul 2025 09:06:23 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 3600BA4D; Fri, 4 Jul 2025 09:06:12 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 6D674E7A for ; Fri, 4 Jul 2025 09:06:11 -0400 (EDT) Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-132-NklU7RaxNd6fl4tSFBKlWQ-1; Fri, 04 Jul 2025 09:06:10 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 5C0AD1800343 for ; Fri, 4 Jul 2025 13:06:09 +0000 (UTC) Received: from localhost.localdomain (unknown [10.43.3.236]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id AA375180045B for ; Fri, 4 Jul 2025 13:06:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751634371; 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: in-reply-to:in-reply-to:references:references; bh=Ar9rQvyWNwVN3d5em6bEnjc00d01PLqgdMViYQ9yKBE=; b=K149gAB2+o801Jv7LOywhgU9wmx5xQ/E04T8fJui5U7TUTGn1kk0LlITssfoqLxlEKuT9z KExraPQUI9mbXLusb1hGkKRZ/rgPlPy9qeCYnfmIPrw/Er/SLy4VKwfBOxq/2VwfObu4FV uS0dKLTSgUxk5Xaz8Fs3Db/T4tAUCGQ= X-MC-Unique: NklU7RaxNd6fl4tSFBKlWQ-1 X-Mimecast-MFC-AGG-ID: NklU7RaxNd6fl4tSFBKlWQ_1751634369 To: devel@lists.libvirt.org Subject: [PATCH 3/6] nss: Make logging conditional on an envvar Date: Fri, 4 Jul 2025 15:05:32 +0200 Message-ID: <21725811cdb882cc880e1838f3b81ad5f8d842aa.1751634227.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 6Bpj_uNoCxf4Dws7tWbCm112gPpk-OANol_HMq1evO0_1751634369 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: CPVLHXORRY6RX6SGHRYFUG7KPWUSZVC5 X-Message-ID-Hash: CPVLHXORRY6RX6SGHRYFUG7KPWUSZVC5 X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Michal Privoznik via Devel Reply-To: Michal Privoznik X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1751634477936116600 Content-Type: text/plain; charset="utf-8" From: Michal Privoznik As promised in previous commit, make NSS modules silent by default and enable debug printings if LIBVIRT_NSS_DEBUG envvar is set. Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- docs/nss.rst | 13 +++++++++++++ tools/nss/libvirt_nss_log.c | 4 ++++ tools/nss/libvirt_nss_log.h | 2 ++ 3 files changed, 19 insertions(+) diff --git a/docs/nss.rst b/docs/nss.rst index be137d987b..3df85cee0a 100644 --- a/docs/nss.rst +++ b/docs/nss.rst @@ -111,6 +111,19 @@ their IP addresses in any other way (usermode networki= ng, assigned network devices and so on) will not be able to have their hostnames resolved throu= gh it. =20 +Debugging +--------- + +:since:`Since 11.5.0` both NSS modules check for ``LIBVIRT_NSS_DEBUG`` +environment variable=C2=B8 which if set to any value turns on printing of = debug and +error messages onto standard error output. This can be useful when debuggi= ng +either of the module. + +:: + + $ LIBVIRT_NSS_DEBUG=3D1 getent hosts mydomain + + Alternatives ------------ =20 diff --git a/tools/nss/libvirt_nss_log.c b/tools/nss/libvirt_nss_log.c index 0863897c07..9a28a91800 100644 --- a/tools/nss/libvirt_nss_log.c +++ b/tools/nss/libvirt_nss_log.c @@ -24,6 +24,7 @@ #include #include #include +#include =20 #include "libvirt_nss_log.h" #include "libvirt_nss.h" @@ -54,6 +55,9 @@ nssLog(nssLogPriority prio, g_autofree char *ebuf =3D NULL; va_list ap; =20 + if (!getenv(NSS_LOG_ENV_VAR)) + return; + fprintf(stderr, "%s %s:%d : ", nssLogPriorityToString(prio), func, lin= enr); =20 va_start(ap, fmt); diff --git a/tools/nss/libvirt_nss_log.h b/tools/nss/libvirt_nss_log.h index bac64d4bc7..25926fb6de 100644 --- a/tools/nss/libvirt_nss_log.h +++ b/tools/nss/libvirt_nss_log.h @@ -31,6 +31,8 @@ typedef enum { #define ERROR(...) \ nssLog(NSS_ERROR, __FUNCTION__, __LINE__, __VA_ARGS__) =20 +#define NSS_LOG_ENV_VAR "LIBVIRT_NSS_DEBUG" + void nssLog(nssLogPriority prio, const char *func, --=20 2.49.0 From nobody Sun Dec 14 03:24:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1751634499; cv=none; d=zohomail.com; s=zohoarc; b=ne8s4HhhJbBsQ7QS7RE998zep9Mr87TUHYJDC2YYffs+DPKGNeJ0vLQglfiClfZFOIgRGrwlJTM+RX7qPs+agugzgHYRv3BTgUO0ijdh1Uut+2rg1/HvcH0rcxu+UKNBGH17kKc+4yDkzvIwwLygl8xQnHJ2L5x8MF+IVYcrvX8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751634499; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=fHpim8YckqW7VXnJnP6iIz7AuZXo5F+5wfe09soxEJs=; b=BDnEoOvCS8Pj/U5z85L+oy8VMdojTUYOTytwwPfZOXVGTatusTXtYl+ubKDcMsXBw5SOhmin63bURVCis82cGWA364tWqVUhAshi3noONvQv5eHnh8Q0HWu+hwg14/E1EW7rPVYMOQCSIoAwX6+hWe0IvXOBlCvUIT6APllIoPw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1751634499438154.8439575868514; Fri, 4 Jul 2025 06:08:19 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 6B9C91357; Fri, 4 Jul 2025 09:08:18 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id A090111BE; Fri, 4 Jul 2025 09:06:26 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id BD03C14D3; Fri, 4 Jul 2025 09:06:13 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id B5700DE5 for ; Fri, 4 Jul 2025 09:06:12 -0400 (EDT) Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-79-5W5TdGzLMtq9pSvWduCLaA-1; Fri, 04 Jul 2025 09:06:11 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 74E6118001D6 for ; Fri, 4 Jul 2025 13:06:10 +0000 (UTC) Received: from localhost.localdomain (unknown [10.43.3.236]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id C38AE18002B5 for ; Fri, 4 Jul 2025 13:06:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751634372; 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: in-reply-to:in-reply-to:references:references; bh=jFVKr5aQ/qRH2h+9yJhL6J3YAsCKwHRLA2HRg5L12TU=; b=d/Q2X0KiVjRpKaivBm1z6ZJSrnfhhZheEWWNUlyV+PfCXlqTh8MbZDYz2DNuXZsB1Zsjo9 99zAZckCGED02wsKzmcjYTF7JaZokoGfk6IORKOPBhO0EtuwERyu644gk0DcohXHY/wctC Mgmhun0F9ArL4nWitxZk/D1jVkZc6YE= X-MC-Unique: 5W5TdGzLMtq9pSvWduCLaA-1 X-Mimecast-MFC-AGG-ID: 5W5TdGzLMtq9pSvWduCLaA_1751634370 To: devel@lists.libvirt.org Subject: [PATCH 4/6] nss: Include filename in debug printings Date: Fri, 4 Jul 2025 15:05:33 +0200 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: oAcZ-9Kvmku54hVkVyHio3rd-6CYK5iZTH7VV2fraRc_1751634370 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 74QVXUEIPNPKLFLFCB47NWRNIRR6BM77 X-Message-ID-Hash: 74QVXUEIPNPKLFLFCB47NWRNIRR6BM77 X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Michal Privoznik via Devel Reply-To: Michal Privoznik X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1751634502158116600 Content-Type: text/plain; charset="utf-8"; x-default="true" From: Michal Privoznik Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- tools/nss/libvirt_nss_log.c | 7 ++++++- tools/nss/libvirt_nss_log.h | 7 ++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/tools/nss/libvirt_nss_log.c b/tools/nss/libvirt_nss_log.c index 9a28a91800..04fc049376 100644 --- a/tools/nss/libvirt_nss_log.c +++ b/tools/nss/libvirt_nss_log.c @@ -46,6 +46,7 @@ nssLogPriorityToString(nssLogPriority prio) =20 void nssLog(nssLogPriority prio, + const char *filename, const char *func, int linenr, const char *fmt, ...) @@ -58,7 +59,11 @@ nssLog(nssLogPriority prio, if (!getenv(NSS_LOG_ENV_VAR)) return; =20 - fprintf(stderr, "%s %s:%d : ", nssLogPriorityToString(prio), func, lin= enr); + if ((filename =3D strrchr(filename, '/'))) + filename++; + + fprintf(stderr, "%s %s:%s():%d : ", + nssLogPriorityToString(prio), NULLSTR(filename), func, linenr); =20 va_start(ap, fmt); vfprintf(stderr, fmt, ap); diff --git a/tools/nss/libvirt_nss_log.h b/tools/nss/libvirt_nss_log.h index 25926fb6de..60696c7b08 100644 --- a/tools/nss/libvirt_nss_log.h +++ b/tools/nss/libvirt_nss_log.h @@ -26,15 +26,16 @@ typedef enum { } nssLogPriority; =20 #define DEBUG(...) \ - nssLog(NSS_DEBUG, __FUNCTION__, __LINE__, __VA_ARGS__) + nssLog(NSS_DEBUG, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__) =20 #define ERROR(...) \ - nssLog(NSS_ERROR, __FUNCTION__, __LINE__, __VA_ARGS__) + nssLog(NSS_ERROR, __FILE__, __FUNCTION__, __LINE__, __VA_ARGS__) =20 #define NSS_LOG_ENV_VAR "LIBVIRT_NSS_DEBUG" =20 void nssLog(nssLogPriority prio, + const char *filename, const char *func, int linenr, - const char *fmt, ...) __attribute__ ((format(printf, 4, 5))); + const char *fmt, ...) __attribute__ ((format(printf, 5, 6))); --=20 2.49.0 From nobody Sun Dec 14 03:24:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1751634521; cv=none; d=zohomail.com; s=zohoarc; b=Pk/GXXuPU7tC2fRuQKcnzneEPZMuVuF2sC+zTrY9qXd3crCjry/8hB17TxPd7Vis+Q+a4J+voKB9BUFq34KA9rm7QkcMgPdjOnYqqhIIZO7eHkAgrxZ3ip2TV8BxnZajfzDq8MYShuxp2kUHzs0eBfweOTC3RIQ1PA97U2wk2kw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751634521; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=bBACk3bRukq1Mvdb6ybXeZ3+G3pXhcd36cTzu53zwFM=; b=PXIrigRGPq//gIHJqsyMyQXLqjKke2PejNLypSAU3ZJleXCjbtE52vKXQXar36honiuWJRbraJRPRnktRA2pO6lE7zjfpfyohU4oRIomMDayAPvFqq1fVex8ZOmAHLr5Qu6CL/ZtI2GW25Rh8ZS9HOBtVKnjoew1yuFjDEApyQg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1751634521978970.1787144143553; Fri, 4 Jul 2025 06:08:41 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 02BB614D3; Fri, 4 Jul 2025 09:08:41 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 195C3E72; Fri, 4 Jul 2025 09:06:36 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id EBEABE1E; Fri, 4 Jul 2025 09:06:29 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 5035DE78 for ; Fri, 4 Jul 2025 09:06:14 -0400 (EDT) Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-353-cuNjqNB2NaSIz8fL6nQi4Q-1; Fri, 04 Jul 2025 09:06:12 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 98EFA1954206 for ; Fri, 4 Jul 2025 13:06:11 +0000 (UTC) Received: from localhost.localdomain (unknown [10.43.3.236]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id DC97C180045B for ; Fri, 4 Jul 2025 13:06:10 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: ** X-Spam-Status: No, score=2.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_SBL_CSS,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=no autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751634374; 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: in-reply-to:in-reply-to:references:references; bh=0Y67ajO6mPIRe4baOevOgJjXkUWl/0/ENs7uzDtAd10=; b=NWa02zUjV3YbdDdqdRaNAGCYu++/oDXWtl1ZcsukekQYzhU65GuecKcADL/3Ocux33r5w8 KlK+E9P7xL9ft6SQgL+/Z6TBkTLwLT5ibLPoGBMYNkpuB20KS9TiIJjcqoG2xbco6GDiz3 3aD/pVQPU+VNdRwDbq1T+KBvi8Q4h7k= X-MC-Unique: cuNjqNB2NaSIz8fL6nQi4Q-1 X-Mimecast-MFC-AGG-ID: cuNjqNB2NaSIz8fL6nQi4Q_1751634372 To: devel@lists.libvirt.org Subject: [PATCH 5/6] nss: Print module name Date: Fri, 4 Jul 2025 15:05:34 +0200 Message-ID: <59e515c61c71f87ae4bf8083e60dcafc4ac6fa18.1751634227.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: iiHjfijkqm-gC0kyQhBozwFTG2OnZwGkH6jSdHtUizw_1751634372 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: WTVYU62W5A4NHWRCTTSVHQ7ZMZ4MMKHW X-Message-ID-Hash: WTVYU62W5A4NHWRCTTSVHQ7ZMZ4MMKHW X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Michal Privoznik via Devel Reply-To: Michal Privoznik X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1751634522417116600 Content-Type: text/plain; charset="utf-8"; x-default="true" From: Michal Privoznik Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- tools/nss/libvirt_nss.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/nss/libvirt_nss.c b/tools/nss/libvirt_nss.c index 52b769d760..fe9a6bdb37 100644 --- a/tools/nss/libvirt_nss.c +++ b/tools/nss/libvirt_nss.c @@ -121,6 +121,12 @@ findLease(const char *name, *naddress =3D 0; *found =3D false; =20 +#if defined(LIBVIRT_NSS_GUEST) + DEBUG("NSS module: libvirt_guest"); +#else + DEBUG("NSS module: libvirt"); +#endif + if (af !=3D AF_UNSPEC && af !=3D AF_INET && af !=3D AF_INET6) { errno =3D EAFNOSUPPORT; goto cleanup; --=20 2.49.0 From nobody Sun Dec 14 03:24:07 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1751634539; cv=none; d=zohomail.com; s=zohoarc; b=dOgjCUZbuQ2BzZgWChnK8U83+PfNIN8qZDTr39NEbpnqlWog1XjvQjnJ6cGxVufaQyP+Iq75R4PME+ISRQp3YNALIEZZhh8fq5Cbe20CcR+vyDIjlTnRCA9PJ/nJK7PTJQZG9aO0EGfa1P4cUePNrq6LOmre+VQ4EWtszuNaVyo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751634539; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=umMVy/buuCeuXEfj2fqf5Aam0lvYgv+5mQhPU2R2ZeM=; b=bLMiCv5qhqSvYtOOmHZFVGwwK9doJZZaZRcDetPFQ8IZ67cSDjtgUY8NH5X0fYrrS3gglKIKMwt2lGKuXrnPP3sgT0TxR6RwKVU00hvrNGYunedplpgU2AkSxbKF9yM6E5gY7/YQdBXbEYZcTMVtvD0l8kDoePW6itcSwEIqc8g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1751634539752507.57038923302673; Fri, 4 Jul 2025 06:08:59 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id CC5C5E88; Fri, 4 Jul 2025 09:08:58 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id AC7FC1214; Fri, 4 Jul 2025 09:06:38 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 7F16212AB; Fri, 4 Jul 2025 09:06:30 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 8FEB011C0 for ; Fri, 4 Jul 2025 09:06:15 -0400 (EDT) Received: from mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-12-KXCBdt4iOiyWr9Gp_8Xzrw-1; Fri, 04 Jul 2025 09:06:14 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 36131190FBC2 for ; Fri, 4 Jul 2025 13:06:13 +0000 (UTC) Received: from localhost.localdomain (unknown [10.43.3.236]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 0B488180045B for ; Fri, 4 Jul 2025 13:06:11 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: ** X-Spam-Status: No, score=2.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5, RCVD_IN_MSPIKE_WL,RCVD_IN_SBL_CSS,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=no autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1751634375; 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: in-reply-to:in-reply-to:references:references; bh=EtgfDZvePUblWmiLXI2j+Mc/EJB6CvpfzA/q1z2Fwy0=; b=NxjYx1WvPl4ncmZez2Axu3gilZX0p32Rd+Ihos45Oit1kPLnardK97jMHimyoFQb8S5OjG F91QPaNfL9MGtWdPvxLFJ9dSLaSfpio/SEWxKpiF/46aWz0EUuJAxt31oxV7VW1rjuYIaX CfWUPRFRxdADiPcyOq/tbMdOCf7WvAk= X-MC-Unique: KXCBdt4iOiyWr9Gp_8Xzrw-1 X-Mimecast-MFC-AGG-ID: KXCBdt4iOiyWr9Gp_8Xzrw_1751634373 To: devel@lists.libvirt.org Subject: [PATCH 6/6] nss: Debug print JSON files as they are parsed Date: Fri, 4 Jul 2025 15:05:35 +0200 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: GT3mJC6lJWdQnJox7gL0wAFWxo3qOrN69qgqnK4B7UI_1751634373 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: QDIOTDKCAE7MOAFUWHZ7N2262VKSE444 X-Message-ID-Hash: QDIOTDKCAE7MOAFUWHZ7N2262VKSE444 X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Michal Privoznik via Devel Reply-To: Michal Privoznik X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1751634540633116600 Content-Type: text/plain; charset="utf-8"; x-default="true" From: Michal Privoznik It may help in case the NSS plugin ever faces a corrupted JSON Signed-off-by: Michal Privoznik Reviewed-by: J=C3=A1n Tomko --- tools/nss/libvirt_nss_leases.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tools/nss/libvirt_nss_leases.c b/tools/nss/libvirt_nss_leases.c index 6624df2928..c1b4cd7392 100644 --- a/tools/nss/libvirt_nss_leases.c +++ b/tools/nss/libvirt_nss_leases.c @@ -265,10 +265,9 @@ findLeases(const char *file, json_tokener *tok =3D NULL; enum json_tokener_error jerr =3D json_tokener_error_parse_eof; int jsonflags =3D JSON_TOKENER_STRICT | JSON_TOKENER_VALIDATE_UTF8; - char line[1024]; size_t nreadTotal =3D 0; - int rv; =20 + DEBUG("Processing %s", file); if ((fd =3D open(file, O_RDONLY)) < 0) { ERROR("Cannot open %s", file); goto cleanup; @@ -282,7 +281,11 @@ findLeases(const char *file, json_tokener_set_flags(tok, jsonflags); =20 do { - rv =3D read(fd, line, sizeof(line)); + char line[1024] =3D { 0 }; + ssize_t rv; + + rv =3D read(fd, line, sizeof(line) - 1); + DEBUG("read: rv=3D%zd line=3D'%s'", rv, line); if (rv < 0) goto cleanup; if (rv =3D=3D 0) @@ -293,6 +296,9 @@ findLeases(const char *file, jerr =3D json_tokener_get_error(tok); } while (jerr =3D=3D json_tokener_continue); =20 + DEBUG("Done reading, nreadTotal=3D%zu, jerr=3D%d '%s'", + nreadTotal, (int)jerr, json_tokener_error_desc(jerr)); + if (nreadTotal =3D=3D 0) { ret =3D 0; goto cleanup; --=20 2.49.0