From patchwork Thu Nov 16 03:09:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Grant Erickson X-Patchwork-Id: 13457572 Received: from mohas.pair.com (mohas.pair.com [209.68.5.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3A0D25686 for ; Thu, 16 Nov 2023 03:09:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=nuovations.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nuovations.com Authentication-Results: smtp.subspace.kernel.org; dkim=none Received: from mohas.pair.com (localhost [127.0.0.1]) by mohas.pair.com (Postfix) with ESMTP id F064E73104 for ; Wed, 15 Nov 2023 22:09:14 -0500 (EST) Received: from localhost.localdomain (unknown [IPv6:2601:647:5a00:15c1:230d:b2c9:c388:f96b]) (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 mohas.pair.com (Postfix) with ESMTPSA id A9EA973174 for ; Wed, 15 Nov 2023 22:09:14 -0500 (EST) From: Grant Erickson To: connman@lists.linux.dev Subject: [PATCH 1/3] service: Leverage 'connman_service_is_default'. Date: Wed, 15 Nov 2023 19:09:10 -0800 Message-ID: <20231116030912.636756-2-gerickson@nuovations.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231116030912.636756-1-gerickson@nuovations.com> References: <20231116030912.636756-1-gerickson@nuovations.com> Precedence: bulk X-Mailing-List: connman@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Scanned-By: mailmunge 3.11 on 209.68.5.112 This leverages the recently-added 'connman_service_is_default' in 'address_updated' rather than duplicating the same logic from the former in the latter. --- src/service.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/service.c b/src/service.c index 81a1bebdc14b..90ed111fc035 100644 --- a/src/service.c +++ b/src/service.c @@ -164,6 +164,7 @@ static void complete_online_check(struct connman_service *service, enum connman_ipconfig_type type, bool success); static bool service_downgrade_online_state(struct connman_service *service); +static bool connman_service_is_default(const struct connman_service *service); struct find_data { const char *path; @@ -2018,7 +2019,7 @@ static void address_updated(struct connman_service *service, enum connman_ipconfig_type type) { if (is_connected(service->state) && - service == connman_service_get_default()) { + connman_service_is_default(service)) { nameserver_remove_all(service, type); nameserver_add_all(service, type); start_online_check(service, type); From patchwork Thu Nov 16 03:09:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Grant Erickson X-Patchwork-Id: 13457574 Received: from mohas.pair.com (mohas.pair.com [209.68.5.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8604763A4 for ; Thu, 16 Nov 2023 03:09:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=nuovations.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nuovations.com Authentication-Results: smtp.subspace.kernel.org; dkim=none Received: from mohas.pair.com (localhost [127.0.0.1]) by mohas.pair.com (Postfix) with ESMTP id 7109873154 for ; Wed, 15 Nov 2023 22:09:15 -0500 (EST) Received: from localhost.localdomain (unknown [IPv6:2601:647:5a00:15c1:230d:b2c9:c388:f96b]) (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 mohas.pair.com (Postfix) with ESMTPSA id 2203F731F6 for ; Wed, 15 Nov 2023 22:09:15 -0500 (EST) From: Grant Erickson To: connman@lists.linux.dev Subject: [PATCH 2/3] service: Add DBG statement to 'address_updated'. Date: Wed, 15 Nov 2023 19:09:11 -0800 Message-ID: <20231116030912.636756-3-gerickson@nuovations.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231116030912.636756-1-gerickson@nuovations.com> References: <20231116030912.636756-1-gerickson@nuovations.com> Precedence: bulk X-Mailing-List: connman@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Scanned-By: mailmunge 3.11 on 209.68.5.112 This adds a DBG statement to 'address_upated' to aid in debugging. --- src/service.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/service.c b/src/service.c index 90ed111fc035..f0e8364ee77b 100644 --- a/src/service.c +++ b/src/service.c @@ -2018,6 +2018,11 @@ void __connman_service_wispr_start(struct connman_service *service, static void address_updated(struct connman_service *service, enum connman_ipconfig_type type) { + DBG("service %p (%s) type %d (%s)", + service, + connman_service_get_identifier(service), + type, __connman_ipconfig_type2string(type)); + if (is_connected(service->state) && connman_service_is_default(service)) { nameserver_remove_all(service, type); From patchwork Thu Nov 16 03:09:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Grant Erickson X-Patchwork-Id: 13457573 Received: from mohas.pair.com (mohas.pair.com [209.68.5.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E133663A6 for ; Thu, 16 Nov 2023 03:09:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=nuovations.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nuovations.com Authentication-Results: smtp.subspace.kernel.org; dkim=none Received: from mohas.pair.com (localhost [127.0.0.1]) by mohas.pair.com (Postfix) with ESMTP id DE29B731A8 for ; Wed, 15 Nov 2023 22:09:15 -0500 (EST) Received: from localhost.localdomain (unknown [IPv6:2601:647:5a00:15c1:230d:b2c9:c388:f96b]) (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 mohas.pair.com (Postfix) with ESMTPSA id 970D5731FD for ; Wed, 15 Nov 2023 22:09:15 -0500 (EST) From: Grant Erickson To: connman@lists.linux.dev Subject: [PATCH 3/3] service: Add documentation to 'address_updated'. Date: Wed, 15 Nov 2023 19:09:12 -0800 Message-ID: <20231116030912.636756-4-gerickson@nuovations.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231116030912.636756-1-gerickson@nuovations.com> References: <20231116030912.636756-1-gerickson@nuovations.com> Precedence: bulk X-Mailing-List: connman@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Scanned-By: mailmunge 3.11 on 209.68.5.112 This adds documentation to the 'address_updated' function. --- src/service.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/service.c b/src/service.c index f0e8364ee77b..2f5c3c8934f5 100644 --- a/src/service.c +++ b/src/service.c @@ -2015,6 +2015,33 @@ void __connman_service_wispr_start(struct connman_service *service, __connman_wispr_start(service, type, complete_online_check); } +/** + * @brief + * Handle an update to the address(es) for the specified network + * service and IP configuration type. + * + * This attempts to handle an address change or update for the + * specified network service and IP configuration type if and only if + * it is connected (that is, #is_connected returns true) and it is + * the default service (that is, has the default route). + * + * If the service meets those criteria, then nameservers are + * refreshed, an "online" HTTP-based Internet reachability check is + * initiated, and a time-of-day synchronization is requested. + * + * @param[in,out] service A pointer to the mutable network service + * for which there was an address change or + * update. + * @param[in] type The IP configuration type for @a service + * for which there was an address change or + * update. + * + * @sa nameserver_remove_all + * @sa nameserver_add_all + * @sa start_online_check + * @sa __connman_timeserver_sync + * + */ static void address_updated(struct connman_service *service, enum connman_ipconfig_type type) {