From patchwork Wed Oct 25 05:51:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Moessbauer X-Patchwork-Id: 1854750 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.a=rsa-sha256 header.s=20230601 header.b=dawcZO39; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::23b; helo=mail-lj1-x23b.google.com; envelope-from=swupdate+bncbcyiz4m3xakrbi624kuqmgqeizr7jwy@googlegroups.com; receiver=patchwork.ozlabs.org) Received: from mail-lj1-x23b.google.com (mail-lj1-x23b.google.com [IPv6:2a00:1450:4864:20::23b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4SFdPN6NZHz23jV for ; Wed, 25 Oct 2023 16:52:40 +1100 (AEDT) Received: by mail-lj1-x23b.google.com with SMTP id 38308e7fff4ca-2c506abc320sf44593411fa.2 for ; Tue, 24 Oct 2023 22:52:40 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1698213157; cv=pass; d=google.com; s=arc-20160816; b=J+22dNckF5Eh4Fz2NYviiRBeCqq7KsYxJ2GcWJI5qlWcXF7gLm60kPW+S8Qf1jLj2W YSUP4og5y3X/iO1V2W6n98qsKZoPXvTKv/PUUm0SyVsAFZuntWsy6A6Lfr0ez5KPKzAn gzlcWfqAHkPluzq+7pIm+LvTFvLbrc4rmCfA6MDBZ9OKY1VV9wsBD0wF9fN3RyITenFB WumbfXW5Ocsmi2B9fobWI1a4VqvgP4KTycGhpjt+mka6IPW/cTk/PLbwS/oA/d1unxAm KtISjI2YQnwGcyEK1y02BrciYubDeBB9UKqEeyRDzMCZLX7ZEvQ2MkipGwr28Ju7pX/J cGbw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=a8oUI0U2xrksR0nXeHHMA371XaZXx+Z+jWXtYSi+WWU=; fh=Fe26/m7M5kmu9ltRFajrGooO2hzxCkNjn8NnSlWFfLA=; b=Pn43kzA0Sul0ec+aQkXVx1Bsn7El8eadmnC2ZNgjWXo5w2CiHhEYVEEjQAzIpBF1hd OQSCEftte+4Q1X23UcMtu6fXCPfZK9GZ4P7So3GUB9jKMkUrkBIYO0VaO40Y4V5b4xt1 zKmLVf+dBayAYcP8FXbQu74qYqVR4YW5oWHVXh5JyvdZMFBSmuwpQX9W/VmSLDD2oZis g6coVkNwtE7VUhgb9Wz8pKGZW/X2Lz78XPRaSTboleFqDiqpl6Ehhp4CYOt9IHJFZevu nRy3O05FrCrHlu2jiZllhU9A/WSk0wP/bnatC47Ot66hy1ZtLV0kG+83ihJC++w8yI06 KWjg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b="hl/JHnXW"; spf=pass (google.com: domain of fm-72506-20231025055233b6dcf08de6fa623048-n7qgko@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-72506-20231025055233b6dcf08de6fa623048-N7qgKo@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1698213157; x=1698817957; darn=patchwork.ozlabs.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=a8oUI0U2xrksR0nXeHHMA371XaZXx+Z+jWXtYSi+WWU=; b=dawcZO396RqmqYP46+BDMs2iRm2YT7WWlH/RJoo9Ck7JEBDq9U5qs5HI9svTcAWFXq BiPzyNvhLrY2xksXIJQYYMRHa18R2fpHQydM6hnjqYP0amt27ElQvoFDgFLhx84/Lqh8 FuHIFv1zpfMNjLxA6KS8G0cM6kedeGy8Qkk+7s6ucLR7Rb+mzSQ0ONDsNo3GnfKIbFKu d/tx86qNj273qw44LId3PQXk87FeyIHYFZMjnA1TRs46JI/pzcfmWjODDqtpsNjriPxL ywDrkxAT7ZQ61QCXFsQVHNG5/Jq6H1YKKRZm9cuR5wjNpYHr51YtD826LjlWgpGI9esR 4oJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698213157; x=1698817957; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=a8oUI0U2xrksR0nXeHHMA371XaZXx+Z+jWXtYSi+WWU=; b=CujZh2vQfUb4U/yURZhI7rjYRIUjVcV07vsj0U11aagYSEkhShyWSie/4AW6Yfu18K whb/ateh+5W5nB5j4E+BFxFoetw23QhwGXS+UmIwn1IF2/cEUR/8bIsB6i9aflHg67KQ J4Oryr9ZIbOPxG789mY3EGTiaOUo00TiZfUYWJHV93qzanqGlrobXOZEJYzz+GyjL4fD jOEMDvdtP0bofIytJY1hcoH95wxlhbBksHQ4i2WSfqwlNT66j6jWzvxGpXdbJ3wjGQst DbMvDdiuwWNksCEmGCMrDdrE03jSK1P7ouTIeeuOs8G8tUMwKQL94llkrjbvx9AV378h m+xA== X-Gm-Message-State: AOJu0Yz76loyDHDPDLzkmkX1EK+z0GYgE+gOPJdcJOP7juTB9Ux3Tqo0 rQAY2DPz/WwaexkBwNxP6Ys= X-Google-Smtp-Source: AGHT+IFY51Ps3WaiFybKafv4iCMfdtFh1yDBfSVATImtNWOGjenQmftMHFczAudr972XFO3fHOjWog== X-Received: by 2002:a2e:8044:0:b0:2c5:ffa:375d with SMTP id p4-20020a2e8044000000b002c50ffa375dmr8758317ljg.11.1698213156216; Tue, 24 Oct 2023 22:52:36 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a05:651c:107a:b0:2c0:748:89af with SMTP id y26-20020a05651c107a00b002c0074889afls2158715ljm.2.-pod-prod-02-eu; Tue, 24 Oct 2023 22:52:33 -0700 (PDT) X-Received: by 2002:a05:651c:1542:b0:2bc:d94f:ad04 with SMTP id y2-20020a05651c154200b002bcd94fad04mr10715694ljp.13.1698213153713; Tue, 24 Oct 2023 22:52:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698213153; cv=none; d=google.com; s=arc-20160816; b=G/P0UKlNlBJ4ULJsEymYRbAmf8YbzZXUbYlqOvtc8tS6lxlA/3lUb7OmThKmLUe/dA NItj3J4JD3p5dbTdKLpub8saxDmHrqeFmLFqO3K/x1YyOXoM3Syyl7XH3Xxupd8f0RZl q1J9OGOmsbeMI2aXYNJpXjZkGY3ZH4oP+bEtBHD7/2dQiaxFExCt+oxSM0fL7efs6nBb KNOUwdlsyk4tzWFIVc4Z5rCDadwcjZUgnFb3FLlNRm839UlLYFpeO6tEmY66MdGhelQW 1u+bWOLiQLiFsg/gOYsAQNXboeD4zRofXmCYjcNiV0BX1GFvcTE6IhE+jGVUHPXoo3NU oWMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=v+YW6Xpa10QcYoucCD8Shys904atIT3qUbOvDsZgAm0=; fh=Fe26/m7M5kmu9ltRFajrGooO2hzxCkNjn8NnSlWFfLA=; b=xuFtqgf0qlUWBjKc6qHsyx+QvXf+RlnmULglACiOtkXm7uJb2xhGsXPY8bOrkZROpB W5p33gfKVCdDz1rTZm/6b6e4taODYvoAGX61OISZZQAUh8tNtsHBdYQ8kirYH15X3rYC altX3OtpK1uVlTJF/gxGrAILjiall5De5WYvu4aqlNB++fb6x9pVRnxiIGo4JNMLnIE/ 2+/ZJ2raVMHSmeaY1eLCQtd2H0j5snyklKxKA4e5q/kCMA1Nq2lFMECtlrT9QVE2e1Wv Dppo+h1oSXkklTj2CxmL0j2lfvQ8F7Oh/5hqx2Wp/vOYqHsmKnNoCF6YukwUWhuB0ejn 5WgA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b="hl/JHnXW"; spf=pass (google.com: domain of fm-72506-20231025055233b6dcf08de6fa623048-n7qgko@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-72506-20231025055233b6dcf08de6fa623048-N7qgKo@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net. [185.136.64.228]) by gmr-mx.google.com with ESMTPS id w23-20020a2e8217000000b002bfbc15cfefsi435399ljg.6.2023.10.24.22.52.33 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 24 Oct 2023 22:52:33 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-72506-20231025055233b6dcf08de6fa623048-n7qgko@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) client-ip=185.136.64.228; Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 20231025055233b6dcf08de6fa623048 for ; Wed, 25 Oct 2023 07:52:33 +0200 X-Patchwork-Original-From: "'Felix Moessbauer' via swupdate" From: Felix Moessbauer To: swupdate@googlegroups.com Cc: quirin.gylstorff@siemens.com, christian.storm@siemens.com, stefano.babic@swupdate.org, Felix Moessbauer Subject: [swupdate] [PATCH v2 5/7] swupdate-client: add option to specify socket path Date: Wed, 25 Oct 2023 13:51:40 +0800 Message-Id: <20231025055142.54505-6-felix.moessbauer@siemens.com> In-Reply-To: <20231025055142.54505-1-felix.moessbauer@siemens.com> References: <20231025055142.54505-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-72506:519-21489:flowmailer X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b="hl/JHnXW"; spf=pass (google.com: domain of fm-72506-20231025055233b6dcf08de6fa623048-n7qgko@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-72506-20231025055233b6dcf08de6fa623048-N7qgKo@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list swupdate@googlegroups.com; contact swupdate+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: swupdate@googlegroups.com X-Google-Group-Id: 605343134186 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , Signed-off-by: Felix Moessbauer --- ipc/network_ipc.c | 4 ++-- tools/swupdate-client.c | 29 ++++++++++++++++++++++++----- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/ipc/network_ipc.c b/ipc/network_ipc.c index 20332b3..0876c88 100644 --- a/ipc/network_ipc.c +++ b/ipc/network_ipc.c @@ -18,9 +18,9 @@ #include "compat.h" #ifdef CONFIG_SOCKET_CTRL_PATH -static char* SOCKET_CTRL_PATH = (char*)CONFIG_SOCKET_CTRL_PATH; +char* SOCKET_CTRL_PATH = (char*)CONFIG_SOCKET_CTRL_PATH; #else -static char* SOCKET_CTRL_PATH = NULL; +char* SOCKET_CTRL_PATH = NULL; #endif #define SOCKET_CTRL_DEFAULT "sockinstctrl" diff --git a/tools/swupdate-client.c b/tools/swupdate-client.c index ee89465..e894a32 100644 --- a/tools/swupdate-client.c +++ b/tools/swupdate-client.c @@ -42,6 +42,7 @@ static void usage(void) { " -d : ask the server to only perform a dry run\n" " -e , : Select software images set and source\n" " Ex.: stable,main\n" + " -s : path to swupdate IPC socket\n" " -q : go quiet, resets verbosity\n" " -v : go verbose, essentially print upgrade status messages from server\n" " -p : ask the server to run post-update commands if upgrade succeeds\n" @@ -55,6 +56,8 @@ bool dry_run = false; bool run_postupdate = false; int end_status = EXIT_SUCCESS; char *software_set = NULL, *running_mode = NULL; +char *socketpath = NULL; +extern char* SOCKET_CTRL_PATH; static pthread_mutex_t mymutex; static pthread_cond_t cv_end = PTHREAD_COND_INITIALIZER; @@ -164,6 +167,14 @@ static int send_file(const char* filename) { return end_status; } +/* + * Cleanup internal state and exit with exit code + */ +static void __attribute__ ((__noreturn__)) cleanup_and_exit(int status){ + free(socketpath); + socketpath = NULL; + exit(status); +} /* * Simple example, it does nothing but calling the library @@ -175,7 +186,7 @@ int main(int argc, char *argv[]) { pthread_mutex_init(&mymutex, NULL); /* parse command line options */ - while ((c = getopt(argc, argv, "dhqvpe:")) != EOF) { + while ((c = getopt(argc, argv, "dhqvpe:s:")) != EOF) { switch (c) { case 'd': dry_run = true; @@ -193,7 +204,7 @@ int main(int argc, char *argv[]) { pos = strchr(optarg, ','); if (pos == NULL) { fprintf(stderr, "Wrong selection %s\n", optarg); - exit (EXIT_FAILURE); + cleanup_and_exit(EXIT_FAILURE); } *pos++ = '\0'; software_set = optarg; @@ -202,6 +213,14 @@ int main(int argc, char *argv[]) { case 'p': run_postupdate = true; break; + case 's': + socketpath = strdup(optarg); + if(!socketpath) { + fprintf(stderr, "Out of memory\n"); + cleanup_and_exit(EXIT_FAILURE); + } + SOCKET_CTRL_PATH = socketpath; + break; default: usage(); return -1; @@ -212,13 +231,13 @@ int main(int argc, char *argv[]) { if (argc == 0 || (argc == 1 && strcmp(argv[0], "-") == 0)) { fprintf(stdout, "no input given, reading from STDIN...\n"); - if (send_file(NULL)) exit(1); + if (send_file(NULL)) cleanup_and_exit(EXIT_FAILURE); } else { for (int i = 0; i < argc; i++) { - if (send_file(argv[i])) exit(1); + if (send_file(argv[i])) cleanup_and_exit(EXIT_FAILURE); } } - exit(0); + cleanup_and_exit(EXIT_SUCCESS); }