From patchwork Wed May 10 12:06:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefano Babic X-Patchwork-Id: 1779427 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::43a; helo=mail-wr1-x43a.google.com; envelope-from=swupdate+bncbcxploxj6ikrbwur52ramgqe54vijzy@googlegroups.com; receiver=) 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=20221208 header.b=Ft4gSP1k; dkim-atps=neutral Received: from mail-wr1-x43a.google.com (mail-wr1-x43a.google.com [IPv6:2a00:1450:4864:20::43a]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QGYfn34M2z214c for ; Wed, 10 May 2023 22:06:55 +1000 (AEST) Received: by mail-wr1-x43a.google.com with SMTP id ffacd0b85a97d-3076fc5c278sf4162967f8f.3 for ; Wed, 10 May 2023 05:06:55 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683720411; cv=pass; d=google.com; s=arc-20160816; b=N5ncdQGUPDizMD2aJaX1ISnimnnZiUO3jzGHLAEuw0Ek3VEXHpRv8ZYDrNrn80m9od Oeh527WgVXoMcOKqfP9NrApdv1Nuf6T/6XRVKspmFeJlJTAx/L+gCb4RI3q6o8JiClSF GRunOkqUfXY/iQ+cJhfmpKZVjLeGbfPvyiMaHnDmPHS46+ptsqqulxTQcBdf3YuQ5a7E SAju5JQcu5/6NLldcja+0uSwiunEDjICjKPtpWOA84nv/bd9Mwt+QMyoeTEZPUfU171K rk47X9T/WStARtJj/psqWFO9DazIa+RH2HPYgEME4I9BRyNOsXN+8MpAl0TMyd18+zn2 +gdw== 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:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=aQhCrB7aKTnkrVPpOWovJ8jFj6db3MU1k2P1HH9NZ1M=; b=EMCXI/5ZQ1j5XtOy4swrCLfZJ4T+6dCjLBad1BeumnMNMf4oG26OAnuSBxclelytyD 4woSm6+rD7k2XJN8lzf0w22EsyGE9KUCLslknSGdr4TutQ7XYDQBP2vgIo5Nq8hkRiSp tJs+hQQ+lbuSQlxBbbKaIek49y7/7kb0qZofNDwTDFIV8I9EjuIfhf0b52NpcUdYURiS tElNmnBtLBkDFCisX230tvkl0zDjYfHAr3MdQxQ2kkZMaEAVsEDH0WkaxnUwvCzxeYeN fENjVPSRYYbYdIsOZe2Qrw1Vnr5KsUfgMpspTX+2TgwuV/egQHim6tLLe2N62yLBvouH Efog== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=neutral (google.com: 2001:a60:0:28:0:1:25:1 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20221208; t=1683720411; x=1686312411; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=aQhCrB7aKTnkrVPpOWovJ8jFj6db3MU1k2P1HH9NZ1M=; b=Ft4gSP1kNC+mEWy/5wLnp/+rXPs/ywfnu8yp+mGeamDR2iJEsYWySLvnJq/O3HD+oY ZA2cUquPSfwv/nxF7aeEwMwCCALbJwAczfN49LQn4VkClGekoT96+zn+vnS0jr0jF4z1 sVSwqNyrWM58NTiAjJt1hRzjT4plv0lppECymlfZ3x3khkWUqZSDxl0QpdOKWzyqR+HT sU8AMUjZlivwSXgW85yzVfDDxQF78lltBFOEVW5gC8cxVAfjZ5j1f9rF1uDo3aqvLAfz LPX1kAYMtcMB9z4xeNAxYNRLQHQ+kY/2NtPOglxVXTXeLzirRZpRtrXK2bFHZV2GZ7ht ihkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683720411; x=1686312411; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date :message-id:reply-to; bh=aQhCrB7aKTnkrVPpOWovJ8jFj6db3MU1k2P1HH9NZ1M=; b=OZRFRNMCcbrppdNjSXhNjxtzACGkqQRcQ8p3HUMwjxAaBKPqxfjWP+prwvDPqNPiRt Ts1XHpwRaY061tAkAVKkFyglCaoiJcQhqkivJWYK4Biy5gYaD2C5HhNWTw2OUneW2XWY CRqDtJHmpdajfIkWW5LoD4E5txmd2eqK8quFBJNUyaOSzVbpP54nn5SBTCy9fG3SKU3F EFMf66oojLSKhYPCqz+Jq3Dd6jdoF0D6Jb0PpaMO6/+7VEePkYJBcSCyP95jW0XgRL3c Q48Tt/x6kTGvDa+YCSCUr5BmelIxhtCnw+tw/RWezlMnY8ho7pv1XIfBd6g7r7QZcqt7 ZWdg== Sender: swupdate@googlegroups.com X-Gm-Message-State: AC+VfDy59f1gXbHKS00R7mcMVwdKW2nPJ9tcFvvzPfdfq2gswAFwlqcj 45ASshZKevR8/DhF2tFEaU4= X-Google-Smtp-Source: ACHHUZ4mfERdGn2NsMobIS5oGbxf/Zg9N3MTRrWjmxMqbOrc13D8d9U2zhPUI1xBYMXG+c+1h9ieDg== X-Received: by 2002:adf:cc89:0:b0:306:b9ff:ff24 with SMTP id p9-20020adfcc89000000b00306b9ffff24mr2281191wrj.13.1683720410681; Wed, 10 May 2023 05:06:50 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a5d:64ea:0:b0:306:28af:9a26 with SMTP id g10-20020a5d64ea000000b0030628af9a26ls1440834wri.0.-pod-prod-gmail; Wed, 10 May 2023 05:06:49 -0700 (PDT) X-Received: by 2002:a5d:6149:0:b0:306:2fd1:a929 with SMTP id y9-20020a5d6149000000b003062fd1a929mr11820880wrt.7.1683720409111; Wed, 10 May 2023 05:06:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683720409; cv=none; d=google.com; s=arc-20160816; b=Sx7ZC3xQJHnjp8ePl89mHxGJSy2e3dBr50xjjiQlPrgA1I1PKdYf1GJ6OBM/E8vBu2 oqmdHyDjGLzsAK8SIdjlOtNTxd80fu+704EL0kOTs1Epa0oxMvIz5xCFdwSP/CkJUXSH +lAFcCvWYfvsNptKyvoyTlA5mFc2qKN7KHmQg2qTVy3XQw3VGEBAZmWcLjiEl1RgQRlg 06kRQ65jf+umuBtYyfYJy+y0tb+2LoaQu9XGySi9KnjtcCcJJDV0VO3QFPIaNvTCeHty Eg6CD0X8JulPkVxEmfpV+w8oMxiRdhge/MQE5uTlLzvAXkS12Cxqlf9erUme9FhAaCgZ kjrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=+OXHU0ZGtNbKxpyMazQPwy2TTMnQUrYAAaNg0bCJLm8=; b=fC6YAHD9hA2KJUv4Isu23VVWAbsApXbYNMsoULEnzO7WX3xeYB5qLA8nVSv/5ddU6y hattYdxq72JcfBOehGBlsobxhEPXkO3JIKjEHmNfhr8jIvwnzpZkk44VjipBzDynKiHc 7EFYl3kWsp/9MSxrEFbe5X7GIsjt3Q0NTkNJGMG9N/c5wWvyp8i35+Hq392HZe58Nf7B pKnx8vqOy4Yw4e3/MH7M6anOCfyQ9/DEbz31zMCIFbynGkb5OSTknK8/LwLqPYJaCiZ7 bjXOF5Pd07i/jDAyEquP864SdRqsAABuHJxivD+JUqYYXa66piGgzPVFfTCs6+UoVcTr 90/w== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 2001:a60:0:28:0:1:25:1 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de Received: from mail-out.m-online.net (mail-out.m-online.net. [2001:a60:0:28:0:1:25:1]) by gmr-mx.google.com with ESMTPS id bt6-20020a056000080600b003062fa1b7a0si899680wrb.2.2023.05.10.05.06.49 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 May 2023 05:06:49 -0700 (PDT) Received-SPF: neutral (google.com: 2001:a60:0:28:0:1:25:1 is neither permitted nor denied by domain of sbabic@denx.de) client-ip=2001:a60:0:28:0:1:25:1; Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4QGYfc5hp5z1sG7t; Wed, 10 May 2023 14:06:48 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4QGYfc4xrrz1qqlW; Wed, 10 May 2023 14:06:48 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id Mdr8WjxoeuEG; Wed, 10 May 2023 14:06:47 +0200 (CEST) Received: from babic.homelinux.org (host-88-217-136-221.customer.m-online.net [88.217.136.221]) (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 mail.mnet-online.de (Postfix) with ESMTPS; Wed, 10 May 2023 14:06:47 +0200 (CEST) Received: from localhost (mail.babic.homelinux.org [127.0.0.1]) by babic.homelinux.org (Postfix) with ESMTP id 4846045413D0; Wed, 10 May 2023 14:06:47 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at babic.homelinux.org Received: from babic.homelinux.org ([127.0.0.1]) by localhost (mail.babic.homelinux.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id z_TnXN81l9qr; Wed, 10 May 2023 14:06:45 +0200 (CEST) Received: from paperino.fritz.box (paperino.fritz.box [192.168.178.48]) by babic.homelinux.org (Postfix) with ESMTP id 09335454082F; Wed, 10 May 2023 14:06:45 +0200 (CEST) From: Stefano Babic To: swupdate@googlegroups.com Cc: Stefano Babic Subject: [swupdate] [PATCH 1/6] Drop redundant include in artifacts_versions Date: Wed, 10 May 2023 14:06:38 +0200 Message-Id: <20230510120643.39588-2-sbabic@denx.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230510120643.39588-1-sbabic@denx.de> References: <20230510120643.39588-1-sbabic@denx.de> MIME-Version: 1.0 X-Original-Sender: sbabic@denx.de X-Original-Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 2001:a60:0:28:0:1:25:1 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de 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: , linux/types is included by util.h Signed-off-by: Stefano Babic --- core/artifacts_versions.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/core/artifacts_versions.c b/core/artifacts_versions.c index c0ef524..22a363f 100644 --- a/core/artifacts_versions.c +++ b/core/artifacts_versions.c @@ -13,9 +13,6 @@ #include #include #include -#if defined(__linux__) -#include -#endif #include #include #include From patchwork Wed May 10 12:06:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefano Babic X-Patchwork-Id: 1779428 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::63c; helo=mail-ej1-x63c.google.com; envelope-from=swupdate+bncbcxploxj6ikrbxer52ramgqe4tmj6hq@googlegroups.com; receiver=) 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=20221208 header.b=lIQU/Pax; dkim-atps=neutral Received: from mail-ej1-x63c.google.com (mail-ej1-x63c.google.com [IPv6:2a00:1450:4864:20::63c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QGYfn3890z214j for ; Wed, 10 May 2023 22:06:55 +1000 (AEST) Received: by mail-ej1-x63c.google.com with SMTP id a640c23a62f3a-966329c872bsf500293266b.1 for ; Wed, 10 May 2023 05:06:55 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683720412; cv=pass; d=google.com; s=arc-20160816; b=ExYqsRhf3MsIeDZbmCyeHwDQyz/kD+N9awtjOo+7/Rt8aYBD62bfC9hqMJlckv3FAf mYXMbF61MsjiuRb/TiehZiWgMsFYpOYsedgxzOKtWI1Btn4b1BJAOCzFQfzC8NPh6QsC QS3QYDFY3JbS9iXzDIYUZjSlr3kSpMoTzNBDvp3ysUCLLhA1nlj5lUWMJzCgxeo26Kmn G87G1lo60Hm3Ia4lUG2+Sl7q7ngzus/QHWnd1qWhh0UtrSYzrIF91/YqWbuOU1HPl1Qx ImS8Tlk+MdAqryLJBEEIW09cu8eeaL7aDmtkzqC8KYesPFGGw7TW6c2zWR5Jk8Ax28xO DUfQ== 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:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=36tqG7zkogxbVceY7ZDVfdfGYqEkjgXZCH+hB/MTnfg=; b=dtOjX195cLK/H8mgfl6O01vKspoPYNmlNKlA+R3trfohJ7FfXCZHX/EOTWcj49uisR RwA5Rf0C2YY+NM4CqaP2ZVp5eRoRxP0rLMZoEroHKExk8mD3knJ6t9FVHCAieG8TphYJ v5Qt7gdKEj6a2PBldsYYyke2UQAvUTMiaTpmx7a34ccLp7ubDOYkxsFQRDWWzDnb02mK KV/iGdmylmK1BRy/uV4BQThNddcJ39w50PVPK6UYsGWLIDgdKCWyFvgvwhfdtaN624Zg LsGmkBPEHL6/09CgrVLlWGrC8Tu7HSdjHnswvDWr9+aNb3nuh9NvTttz77YnmVyfIHSG 8YTQ== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=neutral (google.com: 212.18.0.10 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20221208; t=1683720412; x=1686312412; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=36tqG7zkogxbVceY7ZDVfdfGYqEkjgXZCH+hB/MTnfg=; b=lIQU/PaxP7yWOrABHnX5yWlf6nOsXZ9IX3TIJSCSrBM2O7dkugS0Ac/rSkNEJSKpR7 EWsTw06nG9Z7nUWOETcmJM/BVlcg0adWWeM9FdneWxVEp6BVK8GJVzhGsY7cYncoPxOz X9ucDJwXeadi9Eh4Yr4WO3IO4J8ihUn9Zsq1fXzP5EpLNIE3X5pSQB5Fln+mn3Hybs3L bT5SXqLuLpIfKgvGVFf+f7Yf4JQpiKO8HiZCihtHfrSRBHX+WbHaD65OSQ8BBaie3ir2 JdfCYTrpUtinYgFl5n8rAUmzvypRkVSR5n3I5Q/2i8Hb+aPUSFICv94lALB5tIS5th7m RDMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683720412; x=1686312412; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date :message-id:reply-to; bh=36tqG7zkogxbVceY7ZDVfdfGYqEkjgXZCH+hB/MTnfg=; b=R/sH8vZ/DXispg84uCmyEzoyo4a7An6lsNynVttEgm5ZXokVd0exBLxj1sjkzux5zf uH10VXWI0y1stbl01fVIa1GMyGDTbBVixA+nHaKPE3lc1fIEC3MaDDZBgv2BeFij6NG7 L+/gEid1Wh0Yd4rH0ED9ZEX9hT5NK/BAyrfP7QPPi2jHrRkDMF0A0zIeete5wSQLLjBk VIdXMwhHF25DtHcfzl/SLvhTsM8GbHgHZxmxLEesPXWzmEwYPnTvi+ZimDO3pfbj0C6o JlzN/BvgqvwEiq8C3M5Toe/M/7wi9eqZ4+j6QppIcf9JgnjZI9v7doaafm4vbzMg7f4U uEgA== Sender: swupdate@googlegroups.com X-Gm-Message-State: AC+VfDwS/sUn6xnMAbCnDlq9TPxydmCLUOLXlLlt8irrQcAAGSK6uCGd 2odyk6s3kpJk8PFMRBKMDew= X-Google-Smtp-Source: ACHHUZ48w+MXyFrJGL6uNOZXuUCJQuseaUcwLNiymCXndaXHsNUmPeqRKBDUYmNCAKJyClJ1P2RZuQ== X-Received: by 2002:a17:906:8448:b0:957:4fd:7626 with SMTP id e8-20020a170906844800b0095704fd7626mr5716082ejy.6.1683720412587; Wed, 10 May 2023 05:06:52 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a05:6402:3c5:b0:50b:d7a3:3b64 with SMTP id t5-20020a05640203c500b0050bd7a33b64ls303808edw.1.-pod-prod-09-eu; Wed, 10 May 2023 05:06:51 -0700 (PDT) X-Received: by 2002:a05:6402:6c9:b0:506:741e:5c14 with SMTP id n9-20020a05640206c900b00506741e5c14mr13774696edy.30.1683720410899; Wed, 10 May 2023 05:06:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683720410; cv=none; d=google.com; s=arc-20160816; b=E9cmCs74dbW5RqMkbrc5sY6OvJwfJWJMXuL33H3OaPC4otjxHxecdRreZL2iErl94o VsyOIgAzYS4kh4u/2XBQQBgSy6nn6KXBMH3K6CvmbRrXfC40iTgxmT3S8wA8JV+O5Gyk s7i8IA8RFu0A/eY1C3aYp3KYeymEJrb2ZUb0DEq+aSsDNxQ//K9/jRbqmbBvkAZzmeRt U76l8BEXNuvWAhdJitC/lJTCfcV68I75FiyQn1QDPyURTDVWGyPJmRCv1Hlt5wRH57aL kO1xCkmeTRM9d07ugPi2IyBJnV7/SAnfZb9LWgXaLfrZfl8iEGnpX2kDB7wEFmCG524H MXZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=2AIhWInVBkEczuqqzZUDzPalFsJB4J4rfYeTAWuiguw=; b=Hnw9dqAuYUVZV5TCym5qIqXJJIozDucM457GVUYWHibQVFklmgTAoyRUifbl76Bd2D ae42LXmKCr7HBnian91rbudiBTsmZ1hABy8pmv6nlrA5roS/jmhVmBPKAC3xG12/3gAT NVzgIxiNiiTZQ8583UZw3odSVIA1StsE101gR9R0eWVU4rBsoRAtrMLuqjmT6P5byY4L XJhYv3b7V8gapZhTDhBgBCeu7EsZayjodOAP7VEx9pnaQ4HN9N8gpPQjU62RmfXzHcaZ 91BkyX2i9c1P+bgaUoMa8S1HGuD4cr2lo2WbAsOxOrksIB/BUWGTV8hV94DaPO7BjjWd +rhA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 212.18.0.10 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de Received: from mail-out.m-online.net (mail-out.m-online.net. [212.18.0.10]) by gmr-mx.google.com with ESMTPS id g1-20020a056402320100b00506956b72a8si284381eda.2.2023.05.10.05.06.50 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 May 2023 05:06:50 -0700 (PDT) Received-SPF: neutral (google.com: 212.18.0.10 is neither permitted nor denied by domain of sbabic@denx.de) client-ip=212.18.0.10; Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4QGYff5Czhz1sG7t; Wed, 10 May 2023 14:06:50 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4QGYff579dz1qqlb; Wed, 10 May 2023 14:06:50 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id WMvurrICCqOU; Wed, 10 May 2023 14:06:50 +0200 (CEST) Received: from babic.homelinux.org (host-88-217-136-221.customer.m-online.net [88.217.136.221]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS; Wed, 10 May 2023 14:06:50 +0200 (CEST) Received: from localhost (mail.babic.homelinux.org [127.0.0.1]) by babic.homelinux.org (Postfix) with ESMTP id DB33145407CD; Wed, 10 May 2023 14:06:49 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at babic.homelinux.org Received: from babic.homelinux.org ([IPv6:::1]) by localhost (mail.babic.homelinux.org [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id gFOnAVeIEx_K; Wed, 10 May 2023 14:06:47 +0200 (CEST) Received: from paperino.fritz.box (paperino.fritz.box [192.168.178.48]) by babic.homelinux.org (Postfix) with ESMTP id 18EA64540CB9; Wed, 10 May 2023 14:06:45 +0200 (CEST) From: Stefano Babic To: swupdate@googlegroups.com Cc: Stefano Babic Subject: [swupdate] [PATCH 2/6] Add utility to compare string Date: Wed, 10 May 2023 14:06:39 +0200 Message-Id: <20230510120643.39588-3-sbabic@denx.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230510120643.39588-1-sbabic@denx.de> References: <20230510120643.39588-1-sbabic@denx.de> MIME-Version: 1.0 X-Original-Sender: sbabic@denx.de X-Original-Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 212.18.0.10 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de 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: , IS_STR_EQUAL lets to write more simple string comparisons. Signed-off-by: Stefano Babic --- include/util.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/util.h b/include/util.h index 2a07468..b39b069 100644 --- a/include/util.h +++ b/include/util.h @@ -136,6 +136,8 @@ void notifier_set_color(int level, char *col); } while (0) +#define IS_STR_EQUAL(s,s1) (s && s1 && !strcmp(s,s1)) + #define LG_16 4 #define FROM_HEX(f) from_ascii (f, sizeof f, LG_16) uintmax_t From patchwork Wed May 10 12:06:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Stefano Babic X-Patchwork-Id: 1779429 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::339; helo=mail-wm1-x339.google.com; envelope-from=swupdate+bncbcxploxj6ikrbxmr52ramgqemr2o46i@googlegroups.com; receiver=) 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=20221208 header.b=OcNrhJI8; dkim-atps=neutral Received: from mail-wm1-x339.google.com (mail-wm1-x339.google.com [IPv6:2a00:1450:4864:20::339]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QGYfn3BBZz214l for ; Wed, 10 May 2023 22:06:56 +1000 (AEST) Received: by mail-wm1-x339.google.com with SMTP id 5b1f17b1804b1-3f4245ffbb4sf19797105e9.3 for ; Wed, 10 May 2023 05:06:56 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683720414; cv=pass; d=google.com; s=arc-20160816; b=iVLPTpN+m4x+bO5MEfUmQ3cj2aJnfK9v8g7fvC8Xv03pZGjeXpMJU7n00C5QL9gfEj IrPbRRMcKxM5hqQ6RtH6DBNeEmTP4ieLC+X2TCloQwDOmm0iz2H1/vVOREPnY3gW/aU3 M5uG75FvrGotBq7BJLxDtN/6dmaSKlABE2KHkiU914oIZrrpUOY9H5+Jl3rgaHSMgKW8 XO2C1rOOZj4xZVTIdKsHZyyDEhgIGE89UWgSP3edEQoOP2+4HfxPn8YZ4O3RPZqXKRGa GThI40f7etDsi+A8DyDsvIm7Vw8sfUTJ6TbpUuCktWNZkn0uO2NIFUHCu2snHRlUsStQ SbDw== 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:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:sender:dkim-signature; bh=iLaoUKURcKLsxluGtFOPGnyHezURTwPrbuu7r/Fiptk=; b=LjNGgaWA743wd02szlZLFCK7FgdMp9rHSaHYiZCB2V9GnCRYqdJKOskKFddw+w+69W mzsmj6jXObSH4K5dZpdNhalZUAGJJElHAx6hMPpqhYp+rgICuGO5jwagEVN/QTgz84gj qy5VkEMlIrYUAcBAHOlkmhBfQYRDRgEm7ywsvnuAxUGKYEX/HxzVTYU6Q7lbLYzhMF+F kLavu6TjwEaA/0ycpQeYOw6Q0jlNvS7EbjQE9JWdxtl+6txiBYhBIjeTSycP5TnpmqGa V5u77dv/fghcjuCroKEi/+s9/MvyAOT8nTItiMYkAYPB/Dxa25dw0YtT30sWkyJqXsrB 6EEg== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=neutral (google.com: 212.18.0.9 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20221208; t=1683720414; x=1686312414; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:sender:from:to:cc :subject:date:message-id:reply-to; bh=iLaoUKURcKLsxluGtFOPGnyHezURTwPrbuu7r/Fiptk=; b=OcNrhJI82N8HHmHTnXEdjVTqjgpQ/BZa3j3l2vUXDcox2qSKRsV/bTla6O3OD1ErhB RF8G/TR858eJDd4s+sL5LaAmN9avn4+YLEQlPgPymX+raNs9pc7Xm0jP0WhUpNgDIGoA R6O+jwyeA+ZEMMarDcD0G9FFnJsJwE8e3YjiBZ3vyD8qE6PLPErHVHav6/K++REvJkF+ be/xPyxVFsQtjT6l0En07b/Yoxs/19Xj8UFjsgTOTKXLSTEwJ0v6r4pCkXB+X4no7H7b VRU7DBz50HzJeXUeCHEsFsRA05WvdupelnHSq3Npb+EMZGboiOAvF9te3vM/uX3jqLOt 6WnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683720414; x=1686312414; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-beenthere:x-gm-message-state :sender:from:to:cc:subject:date:message-id:reply-to; bh=iLaoUKURcKLsxluGtFOPGnyHezURTwPrbuu7r/Fiptk=; b=ZrWWAy8AXtXzsm66fOJPL1xtVZ6YeFj53nsoAe+iQFRXdF5apDbc2EdItOLKwh2Q7e eZBkFTIJ3Wc+9PEnbPZekmZJ4icCxI0F9ClJb1rh3FCljTN0vJ1i48YjOpW4ofMnPNKN pRXvRO+ECoXfLoRhWHlQibfn4j1OZdJUhggwRPitX+8RxomKzIBZbFNm2rqq2vAmh9DA qX90IOCMbBVkN3e8Z6hrxGU7KmX6wnBkj1VlSY4aJLIURBjJhNFJRE7LyOvy1RCQM+pI MkuXulC1cyfBThIZmQhOuHa4yUT9dJZQE+lXSDbzxA7MhlQv9kIDlRMmqqTMVIh7ApVJ 6uMQ== Sender: swupdate@googlegroups.com X-Gm-Message-State: AC+VfDzM4kIi9rrrPrCZnS203vP5mYLW75dmNjpFHBeZLwsq5WYHsiwQ qM44A420xENesjAcJp1s71I= X-Google-Smtp-Source: ACHHUZ6s+WKgUnS987W+ygJY5r20vGE3URwRE0in7F7P2vIP+FkUYDfxcmJMqGnE6RrK2L7XjCgG4Q== X-Received: by 2002:a7b:c3c3:0:b0:3f1:72e2:5d10 with SMTP id t3-20020a7bc3c3000000b003f172e25d10mr3034359wmj.5.1683720413707; Wed, 10 May 2023 05:06:53 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a05:600c:4445:b0:3f1:68f0:7451 with SMTP id v5-20020a05600c444500b003f168f07451ls7423007wmn.3.-pod-canary-gmail; Wed, 10 May 2023 05:06:52 -0700 (PDT) X-Received: by 2002:a1c:f313:0:b0:3f3:468c:a780 with SMTP id q19-20020a1cf313000000b003f3468ca780mr12019338wmq.4.1683720412383; Wed, 10 May 2023 05:06:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683720412; cv=none; d=google.com; s=arc-20160816; b=fOx67dtQCF4KnJf0S0hP0u3478Q9Je9cTTc79cKiLFmM9xb83erI68JmkNtmBVj3v6 jqaGUPddiueAinhdMZFUQs7KWppNs+II03FLte4y+/aaazKzIibbw9E2lW64wbkVqRMm Ur/iWvQgxheNDY7YxpIxA2+yz2FTA+tu5vejMFe+RL4wEEb38/XyAh/qb60CnjRgYwCn OWzcA4dcGc/uemJspJfwaZc4FlROc7GNJTkPTBal/tWNqTBarMew73VcqDjSdHHXMFpr Fch/+HIgN7dP7D3jdPi0a2IZ1h9LmN+SCkWFi+ZoTimzWiPhKdq8yfNXj73GwSRnSPFY YJhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=qYlIaaWqaq9pggAydV9jKY927V/jr+Z5RdjdakW/MoE=; b=VJ5znYqHFeHfACaRllAdOyLuu7lEN+y17bmY43gwXG5ImPN35M/K+mfI5Ff8Vykvns +Stnkp2bZybZtD42VXlnlXG+IRNOYe8VUHn84NTT6G3vA8s1gdEya9Kcx8kwbBEq8K+1 aNBP8trisGgGCpA4B+6mTuptGpk3cqBGCWLSl7Q++fDVQb17VuBfpeG2z61s3vln5FhQ ts42lk4lFKayhBpeMecJUTV1F6Gn4d0bb3mzyPehCnJiQR8sTOCkNPX8BEbwNtm5apmg bZaIoLXRzsvQskQlTQq2DKmnrGOBeAKSodif0hlT/9/oX1412P1Xp55hRbkRA2hUKg2X qbzw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 212.18.0.9 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de Received: from mail-out.m-online.net (mail-out.m-online.net. [212.18.0.9]) by gmr-mx.google.com with ESMTPS id az37-20020a05600c602500b003f42786c7b4si556456wmb.0.2023.05.10.05.06.52 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 May 2023 05:06:52 -0700 (PDT) Received-SPF: neutral (google.com: 212.18.0.9 is neither permitted nor denied by domain of sbabic@denx.de) client-ip=212.18.0.9; Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4QGYfh04rpz1r4q5; Wed, 10 May 2023 14:06:52 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4QGYfg6rvlz1qqlW; Wed, 10 May 2023 14:06:51 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id abofQIdOOWyp; Wed, 10 May 2023 14:06:51 +0200 (CEST) Received: from babic.homelinux.org (host-88-217-136-221.customer.m-online.net [88.217.136.221]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS; Wed, 10 May 2023 14:06:51 +0200 (CEST) Received: from localhost (mail.babic.homelinux.org [127.0.0.1]) by babic.homelinux.org (Postfix) with ESMTP id 01D4945407CD; Wed, 10 May 2023 14:06:51 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at babic.homelinux.org Received: from babic.homelinux.org ([127.0.0.1]) by localhost (mail.babic.homelinux.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ecQ-2I-Vh4nh; Wed, 10 May 2023 14:06:47 +0200 (CEST) Received: from paperino.fritz.box (paperino.fritz.box [192.168.178.48]) by babic.homelinux.org (Postfix) with ESMTP id 241F84541375; Wed, 10 May 2023 14:06:45 +0200 (CEST) From: Stefano Babic To: swupdate@googlegroups.com Cc: Stefano Babic Subject: [swupdate] [PATCH 3/6] Fix warning due to close() in chain_handler Date: Wed, 10 May 2023 14:06:40 +0200 Message-Id: <20230510120643.39588-4-sbabic@denx.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230510120643.39588-1-sbabic@denx.de> References: <20230510120643.39588-1-sbabic@denx.de> MIME-Version: 1.0 X-Original-Sender: sbabic@denx.de X-Original-Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 212.18.0.9 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de 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: , Depending on configuration, close() prototype is missing: handlers/chain_handler.c:42:17: warning: implicit declaration of function ‘close’ Signed-off-by: Stefano Babic --- handlers/chain_handler.c | 1 + 1 file changed, 1 insertion(+) diff --git a/handlers/chain_handler.c b/handlers/chain_handler.c index 75e79ee..9fd5b78 100644 --- a/handlers/chain_handler.c +++ b/handlers/chain_handler.c @@ -13,6 +13,7 @@ #include #include #include +#include #include "chained_handler.h" #include "installer.h" #include "pctl.h" From patchwork Wed May 10 12:06:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefano Babic X-Patchwork-Id: 1779431 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::33e; helo=mail-wm1-x33e.google.com; envelope-from=swupdate+bncbcxploxj6ikrbxur52ramgqeyajvjka@googlegroups.com; receiver=) 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=20221208 header.b=GF6EP7gB; dkim-atps=neutral Received: from mail-wm1-x33e.google.com (mail-wm1-x33e.google.com [IPv6:2a00:1450:4864:20::33e]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QGYfp2m3gz214m for ; Wed, 10 May 2023 22:06:58 +1000 (AEST) Received: by mail-wm1-x33e.google.com with SMTP id 5b1f17b1804b1-3f420742d40sf16110295e9.2 for ; Wed, 10 May 2023 05:06:58 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683720415; cv=pass; d=google.com; s=arc-20160816; b=g2zpFiDBAsMHcpne8G9Ah0AMYTg+lOaT1Cmp+yzuotDCvsy5dqV+uqcrFaTUPSYSsb S4BQxVrSs8PdwwANCO60Ms8WBYX4tdJr3ESbBRlRJBIjncu9eMXlOjAGWXXJjLU7uLLl lf4gpgpKDB5H8cvpaFwIh2K7tz3AAdDBFwdSesfIVzpfD9KJzlSZcjCmb992mXnTgn7j mN8Vt5YKxmZWhun8FsFZKtW5wyvHZdwueaHkPn7GMI2M3LuE17o0dKB1Dk12pezDADXe PHXIr8NdYVNHrPOWbuuc3w+yCevJzNG1wZgaaIcl7Wvhah12ZELzdxawnAndK0Hbsjds Eyog== 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:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=kJKFvVIdAqilONveDh/r0QPdCQSdCe+baY3hf08V754=; b=DVI5DKCCPPw9+bJwByk+PImkTGPj/9NFRODpL6hIayaHR/6E0Y+K1AXZUsDYMhC26t 5jkWFI8PT/XiIWyjoFirXDRLVr7vTD+aj6VxCO566hUj25jRiLABVacwiYmPSjx4H3sw zPsXxaeru05nWguWHa2LChTFGiixNNgjoRhFUpqXaJhAp97YcZIkBVCtEnb3+cT1p++S 25m5SKTV9ubmYiSL1lrep8HAljaYwapdxd9xAWjLdnJuAbwj0hxvGOYGuNRbl2hK26vs 940NT+ia47ENQOupsCS+T3DW87xik3H7zrSIk1jxfdg2Tk4GbFAkTrUP8dbjoyD0ympb V9SQ== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=neutral (google.com: 212.18.0.10 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20221208; t=1683720415; x=1686312415; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=kJKFvVIdAqilONveDh/r0QPdCQSdCe+baY3hf08V754=; b=GF6EP7gB4/TF/E8UUBVhDqjMsBgdOcxbmaV3lvG2EFdkuc2BqZvEb5WD5bKzI1dCub DQHHMUYBxZDq8svXCdPN/l/Af+WDVPNIQ6EIUNTLptirRFm9JvfimXvY8cM24NJQ88a+ 8r1IfxzwifAIi/T6lH1eQU+FuE83InxzHkCfeLDeWPowWTMDqn/yL3dFehM21x6fJhiA 3xpF45OeFGzV8/68AD7Ym+hUBY3npSX5Y8KCf0VFVQB0PndK39P0UEbiVt66aPXF8UA4 srX6W/L5nT3Bp8T0GSnwflY15e/9XqzztlOZUetJcgL+IG7hX5Ve2Cplqr7aUYSeET34 QdOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683720415; x=1686312415; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date :message-id:reply-to; bh=kJKFvVIdAqilONveDh/r0QPdCQSdCe+baY3hf08V754=; b=KQN9Z8jYhsBaAkeIzUVvNXTGsl9+7VqdNSqQRDup5SNR5Dus743DHVYV+mPHsu02uX UCIOHI73QwOmdSUXuGSHGzCxqEa//CMzAm33GjeH8AizRnhTjp8KV9W77GMemhI7EtYY tV1V4kUWz/1QI9YI+4ZWTe35sAAAMn5CrFCowjL0NbTQ3eoN/cwhoID8+ZPlItYuSffa 6yeS6B7IJa/PSiPtUtDZfPO54qxbFefhESSHunLSwYPfLQMKM2JXNNAsHD10V2aNeWqb Rtoem2mt7Q/bxXqI69mLnv5D3sKxB8CFUMjRqDalb93EMiPKgsbW+pje6nSVDa+X8NI/ xAOw== Sender: swupdate@googlegroups.com X-Gm-Message-State: AC+VfDzrEh9LntTtCsEH2hoCTl0Udi4PlevVumlydhU7LdlPaGibq3BP kbhPG2F67n9itVPEQhBbY3w= X-Google-Smtp-Source: ACHHUZ7qRn5d/uGhBpVR7MeVIjqk/IYJs9czmT69ylkYvZqkwY00sl4xS33g9Rwq96/crOV0bbdMxA== X-Received: by 2002:a1c:4b08:0:b0:3f4:2452:966d with SMTP id y8-20020a1c4b08000000b003f42452966dmr1872762wma.2.1683720415331; Wed, 10 May 2023 05:06:55 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a05:6000:68f:b0:306:35d:2f11 with SMTP id bo15-20020a056000068f00b00306035d2f11ls1445001wrb.2.-pod-prod-gmail; Wed, 10 May 2023 05:06:53 -0700 (PDT) X-Received: by 2002:a5d:6ac2:0:b0:306:28f4:963c with SMTP id u2-20020a5d6ac2000000b0030628f4963cmr11581673wrw.23.1683720413766; Wed, 10 May 2023 05:06:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683720413; cv=none; d=google.com; s=arc-20160816; b=g0L1b1TeLID+WcSNbKeojLCGBLDLpse0g0yUEjEGQzAA1zsK4TBesLboGCJ1S6iDQD KNjIrCr7xi92Wo2i8fVYknwrjzBUn331xWo+LEnFlcRu/+MqgH6maD1yBaR7gK6yDBmA E6Irv6Piy0QfN3WrlucePtRmD0OjeyLqmRuagCpJbB+/wSIN9U6+XtHNZHI7ZH37Ca8D fJDDqdQKTV37d5gx0E8OiG2qr0YST+rNlQ1FGqi7aCpBw4/31jJ8Bq6Kh/Qtgn0EwO0D 4+2Gqjf+cUKSffSOXX+QDl21bFEAAZfJvsBF4VzbVUGF2WTSj2isB5MHUlR6GbBlODru q1yQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=f2MBy50EBwmHolUqLw+BGiMDDjx4Ibuz+fAgPYaI7Xg=; b=kC9hWo6/RGBvhD8Lk3tqJ7i/ZcTH+xWUwPkUo5CcP7yA1H6XCKwdblAaxewtPF4Zx3 Dltf1wtFGYNdmxPCFvvoY0/fCe5qo5s7BAaio9QQ0zKRDaeHE7SMCKflksiIUeEYvNuw Qba90/JAniNSP3uNeBXiewCaLCGXHX5EhyBIa7LfBjAv21P1TKI6M9/AcgA4epTXHjts qsIlwxX4+y78pXTtuNX0jIYaea1pSfY4qh0VG/LF/l3oOWMuWQP6cKgxQ/A5CH9VI2Q2 dI0W7lZf8bo7foNqr47x7fgJZZU/sCb7gPPjgO+LRkev+pq3+jJ4NziQnGGLFJG4l2oB MNqw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 212.18.0.10 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de Received: from mail-out.m-online.net (mail-out.m-online.net. [212.18.0.10]) by gmr-mx.google.com with ESMTPS id j15-20020a05600c1c0f00b003f4226e1b16si383028wms.1.2023.05.10.05.06.53 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 May 2023 05:06:53 -0700 (PDT) Received-SPF: neutral (google.com: 212.18.0.10 is neither permitted nor denied by domain of sbabic@denx.de) client-ip=212.18.0.10; Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4QGYfj3jGDz1sG7t; Wed, 10 May 2023 14:06:53 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4QGYfj3SV6z1qqlW; Wed, 10 May 2023 14:06:53 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id BG3txPJPeQ6K; Wed, 10 May 2023 14:06:52 +0200 (CEST) Received: from babic.homelinux.org (host-88-217-136-221.customer.m-online.net [88.217.136.221]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS; Wed, 10 May 2023 14:06:52 +0200 (CEST) Received: from localhost (mail.babic.homelinux.org [127.0.0.1]) by babic.homelinux.org (Postfix) with ESMTP id 657C745407CD; Wed, 10 May 2023 14:06:52 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at babic.homelinux.org Received: from babic.homelinux.org ([IPv6:::1]) by localhost (mail.babic.homelinux.org [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id eNQGJcAyXhm3; Wed, 10 May 2023 14:06:50 +0200 (CEST) Received: from paperino.fritz.box (paperino.fritz.box [192.168.178.48]) by babic.homelinux.org (Postfix) with ESMTP id 32E90454137E; Wed, 10 May 2023 14:06:45 +0200 (CEST) From: Stefano Babic To: swupdate@googlegroups.com Cc: Stefano Babic Subject: [swupdate] [PATCH 4/6] Allow to run a SWUpdate function in child process Date: Wed, 10 May 2023 14:06:41 +0200 Message-Id: <20230510120643.39588-5-sbabic@denx.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230510120643.39588-1-sbabic@denx.de> References: <20230510120643.39588-1-sbabic@denx.de> MIME-Version: 1.0 X-Original-Sender: sbabic@denx.de X-Original-Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 212.18.0.10 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de 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: , Add a generic way for running an internal function in a child process. This is helpful in case some external functions will be integrated and it is easier to run them in a separate process than in core. The function has the easy footprint: fn(int argc, char **argv) The stdout and stderr are still replaced and output is sent to SWUpdate's logs else TRACE and ERROR. Signed-off-by: Stefano Babic --- core/pctl.c | 72 ++++++++++++++++++++++++++++++++++++++------------ include/pctl.h | 1 + 2 files changed, 56 insertions(+), 17 deletions(-) diff --git a/core/pctl.c b/core/pctl.c index 2eeef0a..22a3187 100644 --- a/core/pctl.c +++ b/core/pctl.c @@ -30,6 +30,12 @@ #define WAIT_ANY (-1) #endif +typedef struct { + int (*exec)(int argc, char **argv); + int argc; + char **argv; +} bgtask; + /* the array contains the pid of the subprocesses */ #define MAX_PROCESSES 10 static struct swupdate_task procs[MAX_PROCESSES]; @@ -240,12 +246,13 @@ void start_subprocess(sourcetype type, const char *name, } /* - * run_system_cmd executes a shell script in background and intercepts - * stdout and stderr of the script, writing then to TRACE and ERROR - * This let the output of the scripts to be collected by SWUpdate + * run_cmd executes a shell script or an internal function in background + * in a separate process and intercepts stdout and stderr, writing then to + * TRACE and ERROR. + * This let the output of the scripts / functions to be collected by SWUpdate * tracing capabilities. */ -int run_system_cmd(const char *cmd) +static int __run_cmd(const char *cmd, bgtask *fn) { int ret = 0; int const npipes = 4; @@ -255,14 +262,27 @@ int run_system_cmd(const char *cmd) int const PIPE_READ = 0; int const PIPE_WRITE = 1; int wstatus, i; + bool execute_function = !(cmd && strnlen(cmd, SWUPDATE_GENERAL_STRING_SIZE)) && fn; - if (!strnlen(cmd, SWUPDATE_GENERAL_STRING_SIZE)) - return 0; + /* + * There are two cases: + * - an external command should be executed (cmd is not NULL) + * - an internal SWUpdate function must be executed in bg process + * Both cannot be executed, the external command has priority + */ - if (strnlen(cmd, SWUPDATE_GENERAL_STRING_SIZE) > SWUPDATE_GENERAL_STRING_SIZE) { - ERROR("Command string too long, skipping.."); - /* do nothing */ - return -EINVAL; + /* + * Check parameter in case of external command or internal function + * that should run in a separate process + */ + if (!execute_function) { + if (!strnlen(cmd, SWUPDATE_GENERAL_STRING_SIZE)) + return 0; + if (strnlen(cmd, SWUPDATE_GENERAL_STRING_SIZE) > SWUPDATE_GENERAL_STRING_SIZE) { + ERROR("Command string too long, skipping.."); + /* do nothing */ + return -EINVAL; + } } /* @@ -306,10 +326,15 @@ int run_system_cmd(const char *cmd) close(pipes[i][PIPE_WRITE]); } - ret = execl("/bin/sh", "sh", "-c", cmd, (char *)NULL); - if (ret) { - ERROR("Process %s cannot be started: %s", cmd, strerror(errno)); - exit(1); + if (!execute_function) { + ret = execl("/bin/sh", "sh", "-c", cmd, (char *)NULL); + if (ret) { + ERROR("Process %s cannot be started: %s", cmd, strerror(errno)); + exit(1); + } + } else { + ret = fn->exec(fn->argc, fn->argv); + exit(ret); } } else { int fds[npipes]; @@ -397,12 +422,12 @@ int run_system_cmd(const char *cmd) if (WIFEXITED(wstatus)) { ret = WEXITSTATUS(wstatus); - TRACE("%s command returned %d", cmd, ret); + TRACE("%s command returned %d", cmd ? cmd : "", ret); } else if (WIFSIGNALED(wstatus)) { - TRACE("(%s) killed by signal %d\n", cmd, WTERMSIG(wstatus)); + TRACE("(%s) killed by signal %d\n", cmd ? : "", WTERMSIG(wstatus)); ret = -1; } else { - TRACE("(%s) not exited nor killed!\n", cmd); + TRACE("(%s) not exited nor killed!\n", cmd ? cmd : ""); ret = -1; } } @@ -410,6 +435,19 @@ int run_system_cmd(const char *cmd) return ret; } +int run_system_cmd(const char *cmd) { + return __run_cmd(cmd, NULL); +} + +int run_function_background(void *fn, int argc, char **argv) { + bgtask bg; + + bg.exec = fn; + bg.argc = argc; + bg.argv = argv; + + return __run_cmd(NULL, &bg); +} /* * The handler supervises the subprocesses * (Downloader, Webserver, Suricatta) diff --git a/include/pctl.h b/include/pctl.h index 82b6e63..8136ced 100644 --- a/include/pctl.h +++ b/include/pctl.h @@ -49,5 +49,6 @@ void sigchld_handler (int __attribute__ ((__unused__)) signum); int pctl_getfd_from_type(sourcetype s); const char *pctl_getname_from_type(sourcetype s); int run_system_cmd(const char *cmd); +int run_function_background(void *fn, int argc, char **argv); #endif From patchwork Wed May 10 12:06:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefano Babic X-Patchwork-Id: 1779432 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::138; helo=mail-lf1-x138.google.com; envelope-from=swupdate+bncbcxploxj6ikrbyer52ramgqedgx4ray@googlegroups.com; receiver=) 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=20221208 header.b=gmEXNmuC; dkim-atps=neutral Received: from mail-lf1-x138.google.com (mail-lf1-x138.google.com [IPv6:2a00:1450:4864:20::138]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QGYfr12f9z214S for ; Wed, 10 May 2023 22:06:59 +1000 (AEST) Received: by mail-lf1-x138.google.com with SMTP id 2adb3069b0e04-4efef729387sf4186168e87.2 for ; Wed, 10 May 2023 05:06:59 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683720417; cv=pass; d=google.com; s=arc-20160816; b=Oz9v2lN7+eD3BHDdPmzzU1w/JpeavDeLmwOehiJDAQ5P1x54wUgHzIxCH5nJvcHUx3 IRD4MOCHBsY44fL+2LMGR1XYorRCeXwXzBuaaJtNgHNjhdSX8JBPm1YaMBU6PhHnTHJV LNW5aushot6b8dahyszVsHaNZWMz3U32N1qfdviaRmnpQsjxEDMxd57E8pXA+H6Ko+XQ 9UPTC0Bqqp/ZlxfdyS0U2S3sXm5Fy7Dx+y2tajUclkUgULtf8QxKU1HqRfiN8dcsoOwq WeKkFTQIr3dgE572R5rn3ymQh5p3DF3JSwAAwyhK7Lglc7tkgE2223NdN6RqKHkw6R8+ jJgQ== 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:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=jnlZ3GplPY5jkvIlbKmNN5fcyAl7f0160xMHa9FH1cM=; b=LEm/ixreVVZxXTPWRbam7J8UA6ggWeJ7MmuR4euI8wLHgcoRgN/CyRPCqndqKmQpNy A9wROwPKn+2dbT0jyHC/Z5ZB2qwnDvx2Ax0fz4/zHD3BNRNuMB6c4tXqE+BpplQmyt4T s8Dlvemd7xCqLiovy+ziPmBKFsRm+pv5i8NnY6fwGq6yrgEKphXvie0lLiM7QYDjJjZg phc3sJetWgAIdC315TpgHBuDk9Kh+FWuckYt6rp+o1OeT2gCjUETx3oCmD4G2ygy7lcM hfHmHJy24rautz5IWWn5uLetPjt8jREj33oRBrAdO+hkPXINyYa2zGpJ5c9Wzx3rURSg BFmg== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=neutral (google.com: 212.18.0.10 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20221208; t=1683720417; x=1686312417; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=jnlZ3GplPY5jkvIlbKmNN5fcyAl7f0160xMHa9FH1cM=; b=gmEXNmuCzfZYdc75fFW44wK1enoLrfvedZJBtV+BJhDmmDX2V6tfIsfl1oC++OXGyH 463pzGJEkJHneaoms9ozWgysCkXZhNLU9ewZcETAEV+wZf5IA3He6TTfSH/lAPvymfz3 kcDLyVbpeHwMZ7A1u2IvBik196QyawxLLyunifDvzA2VQpJfMVPbH6VLUeBUfeWQ2qa4 a2oILIjk/uXJCqHIwbHeH9h30vE4VSWc+HGbZUjbIOKfYKAnpAbMlcv1ck62A1m/ym27 5AQ8zulqWHuaBeV8cL38Gyqx1BrEe3O2j0sOJHfxTV/ocok4GeL5QBpSye7q6G7I6BMA 4c/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683720417; x=1686312417; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date :message-id:reply-to; bh=jnlZ3GplPY5jkvIlbKmNN5fcyAl7f0160xMHa9FH1cM=; b=j5FvmdzQAo/PoqCugg4lhq3WYNVWcUfmUgPyVXCzQnA9EW6t1v5Oq9Z05DGxfMhyJT yf4ASMWX38MQp4A57dnqYW53X42fZBK2NI6+a/jLhgkTSJ2v+RtFxR5AJbCA8NdYTjHz ahU0zjO/QXg09r5zfuDBeQgVINfVyBt3dtCcs86QpeWptb067MU/OQMcZceKOt4d7dzh S6lYiLEvVFZr8FWzkAZl+RDmkDoLeV4YvmIg6klF4mqdWHSot3OQLFN3aOE2yH0SN51N DQKuW1EIn8OiLMzqYot34Rygr7aVNCo4+HMZqeDqgmqZg8B4AAkB28bTHOYoB+z0inZL OEJQ== Sender: swupdate@googlegroups.com X-Gm-Message-State: AC+VfDxBj4NSB/uu7TvvmnteAiSTIgsW+bhKFRvABe1/L7YSySpP8XeA ghW+Yk5lE+WBmMA4pzbOZvQ= X-Google-Smtp-Source: ACHHUZ4cLUXKMb264ogNMoXxT+zjlbqUDVHkVhkEg22BvWLD1j0/YO5JBgAMRm+Nlk3owBU6uZgoBg== X-Received: by 2002:ac2:48af:0:b0:4f2:509d:b809 with SMTP id u15-20020ac248af000000b004f2509db809mr1508015lfg.4.1683720416829; Wed, 10 May 2023 05:06:56 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a19:7715:0:b0:4f2:5056:2be with SMTP id s21-20020a197715000000b004f2505602bels58357lfc.0.-pod-prod-04-eu; Wed, 10 May 2023 05:06:54 -0700 (PDT) X-Received: by 2002:ac2:5930:0:b0:4e9:74a8:134c with SMTP id v16-20020ac25930000000b004e974a8134cmr1637830lfi.43.1683720414850; Wed, 10 May 2023 05:06:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683720414; cv=none; d=google.com; s=arc-20160816; b=L2RpLD8DUBMKLqcJ9VFRx8f9kIq0kapCaZM+039rn3EbMVeo17H739Xb+0zbSXTOU4 QFdJBkRpnrAdqOPSgclQVT74Pj5+xNeegOue3gMB129mRLSm6yPDrgMz16YLQRAWmNfa z8Z0l/5s43LMS57WqUU7vFcrRFYO6twkSx3D6IIyrAIJZvSwhqn9yoNzTz55VZZ785xH IET9Ghzx8txMsQqnNFGW1Cwa1B9fSG2Aq3ChzzabMpMVGR3zZ9Mkw5wQqZGWScJK/9dp MrrqAAIE7izRCFFkq2vZznsaHJv/PwIr+/A/xU5Y6A5pGAridzY2oywpTQkoWnD1RwCH VAiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=g61WInJ6cpQnRdugDu5d+l7s2PllyN9p40LE5CYReeo=; b=bNSJa/seM+anyp3QSrdNWVBct7koKwFH82H6RsMZPP2p/7tuie93aGS0ZrIaBXywAi 3CHDWotOfx+3kNq54/sr3tndRglzjjet5Z4tnnIw4mMeBxXs6fTNmNQBSYCVxZvD4yOA wcqKWXOQa2ZAS5AsJIgrShy6T6zD2b9P3ivvSVrhjw7E3orDFq7kp0KMpdNU/cETl9CB /9P1G40BuUbQL0gQ9UtekdjiHnKLeFecPDRwQsIjUOvfARxSQqnRt5Il3vQE3nwFv/HB 0ruNvvRpsj+xnS6BGZ0/mmdnNLlwXjQr+9Bw6uunocJ3pW1JeEha4Ok6u/RhF+uIqbCV bKZA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 212.18.0.10 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de Received: from mail-out.m-online.net (mail-out.m-online.net. [212.18.0.10]) by gmr-mx.google.com with ESMTPS id r9-20020ac25f89000000b004dc4bb412f7si326292lfe.12.2023.05.10.05.06.54 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 May 2023 05:06:54 -0700 (PDT) Received-SPF: neutral (google.com: 212.18.0.10 is neither permitted nor denied by domain of sbabic@denx.de) client-ip=212.18.0.10; Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4QGYfk3MWCz1sG7t; Wed, 10 May 2023 14:06:54 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4QGYfk35HYz1qqlW; Wed, 10 May 2023 14:06:54 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id vl-ksr00Gk81; Wed, 10 May 2023 14:06:53 +0200 (CEST) Received: from babic.homelinux.org (host-88-217-136-221.customer.m-online.net [88.217.136.221]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS; Wed, 10 May 2023 14:06:53 +0200 (CEST) Received: from localhost (mail.babic.homelinux.org [127.0.0.1]) by babic.homelinux.org (Postfix) with ESMTP id 9389045407CD; Wed, 10 May 2023 14:06:53 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at babic.homelinux.org Received: from babic.homelinux.org ([127.0.0.1]) by localhost (mail.babic.homelinux.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mdeTwKhuw7Gv; Wed, 10 May 2023 14:06:51 +0200 (CEST) Received: from paperino.fritz.box (paperino.fritz.box [192.168.178.48]) by babic.homelinux.org (Postfix) with ESMTP id 4257D45413A5; Wed, 10 May 2023 14:06:45 +0200 (CEST) From: Stefano Babic To: swupdate@googlegroups.com Cc: Stefano Babic Subject: [swupdate] [PATCH 5/6] util: add min_t and max_t macros Date: Wed, 10 May 2023 14:06:42 +0200 Message-Id: <20230510120643.39588-6-sbabic@denx.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230510120643.39588-1-sbabic@denx.de> References: <20230510120643.39588-1-sbabic@denx.de> MIME-Version: 1.0 X-Original-Sender: sbabic@denx.de X-Original-Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 212.18.0.10 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de 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: Stefano Babic --- include/util.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/util.h b/include/util.h index b39b069..0d65c15 100644 --- a/include/util.h +++ b/include/util.h @@ -160,6 +160,11 @@ int IsValidHash(const unsigned char *hash); typeof(b) _b = b;\ _a < _b ? _a : _b; }) +#define min_t(type,x,y) \ + ({ type __x = (x); type __y = (y); __x < __y ? __x: __y; }) +#define max_t(type,x,y) \ + ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; }) + char *sdup(const char *str); bool strtobool(const char *s); From patchwork Wed May 10 12:06:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefano Babic X-Patchwork-Id: 1779433 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2a00:1450:4864:20::13c; helo=mail-lf1-x13c.google.com; envelope-from=swupdate+bncbcxploxj6ikrby4r52ramgqerbhsb2i@googlegroups.com; receiver=) 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=20221208 header.b=oTHLEYu8; dkim-atps=neutral Received: from mail-lf1-x13c.google.com (mail-lf1-x13c.google.com [IPv6:2a00:1450:4864:20::13c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QGYfv65v1z214S for ; Wed, 10 May 2023 22:07:03 +1000 (AEST) Received: by mail-lf1-x13c.google.com with SMTP id 2adb3069b0e04-4f256ddef3asf1248495e87.2 for ; Wed, 10 May 2023 05:07:03 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1683720420; cv=pass; d=google.com; s=arc-20160816; b=qTngK7wkzj1p2hxzuzvqEu7MS7Qqq01pmbKGNPr6cheiCyQciFeD52VgzknjiwV1Ok 4348UlApzUZ1wer+L+2ixciBrk/FBUvjTsq2ciBH32u1VZE8wbKa1o5M5DZpAWEhdov8 JTwU5Ge6EZFHRVj6ajSso4BZG4u+hT85LcJ8XaxIJT85hF16IBWMDNTtmj+dth3JtekX 7/WRi1aMY0Mb176o9NrVO/6ziU55jyH9X0jQKzHcS0z2+5vu3DANka7QORWyEhXO7whT 0lwnAjRVjDR/KwfkX5qhLfeBkKPHrGPFqp1q8vnZMvysdA6kz0G5ANHcLan1Sfs03BI1 rPdA== 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:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:sender:dkim-signature; bh=pmGQnlOfgfXP7gPP2YMP+Dj6dUo9iejnaF8iv6VyuHg=; b=YRgB9M4RHkgSmVQNV6H9uUyIzZw0bmP2LLwihNh9jtfMy1YYI7kL7QJGw56rFXqrOe CPrldPo8bsR/HqIAI0C0HBpPZl0cBMjAjghz5tCeisfGvszVdiNYU8eC7RejkbJ0Mx0p +NE7Ok7TiI3vWBxbEB6Jr7uXYt9QdCz3ws5Ubm0taATl3gfQZcb6HbxqKvJd8yOHK+Ur jJkFlYeUoA5dkkTqIoDZtV6RtrgLBN9hCpiZqYrObN1TfeQdtqGNP1675+IKH53LU/71 mkv/CHNSGwXdY/kXHIbONamD7rAxozwjwpwwFLyNKHWrsLAntcUrAIlE1AuXLh2Yg2se Aerg== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=neutral (google.com: 2001:a60:0:28:0:1:25:1 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20221208; t=1683720420; x=1686312420; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=pmGQnlOfgfXP7gPP2YMP+Dj6dUo9iejnaF8iv6VyuHg=; b=oTHLEYu8YdliPKmJret7JiZll8vZhmlS4GR8PgrOjh5s7rbRlXjRPFXKUV8bZy3IrJ HsyR29MhiXP2Ev7T+c/7+1rIw0onSdHugxDym/ZWQ6LJX9UP5CEz3V+lSUNFx8q7e2yM 4REDFfUzbs4pWFtDX75FGsn49LrLD33xlKX4itPxWPrpjhYcgr9HOYeHc5klHT7tMU6F Kz7teJdyq7suNBpAdcpPeUXUfVLgA/ZDqMoBdsf8N41qszZOah7nwo+h+3Ag9aaEQbbI 42jlXvyw8hrAlJC3XYxUKtgHW31BUhWQ94jPvZSvKgKoEdxy3PjDrX4McEt22y5yDK+P UHKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683720420; x=1686312420; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :x-beenthere:x-gm-message-state:sender:from:to:cc:subject:date :message-id:reply-to; bh=pmGQnlOfgfXP7gPP2YMP+Dj6dUo9iejnaF8iv6VyuHg=; b=itFtXy0HHC7ZGyQqM3kPAbwtJBV7kx1iTHEHbjeU5m3PdLq2rkeyz8hjj2Vr3WoOl1 DEInN+dhs7niPBqWc+aNzxs+6Q8Twp86vtNTjd6qAgLem9vb0nbZBKFEAKw0yPDUzPQy eIS5G7Mji+qn1ByA2CaWMerRWl4EQKxMRSr6RfLz83pgv1Lz1ExzdI9zkuB1sfcfPWUi LErwsvm4jn3YXJxqOEphvb54uyrLqXPkbL9KpNlu5m6iDixE2eM9TNtwI6HKQR5gTNWF P7zul1XV7jXxb1KHwK9iSpswdbPzeUAIE+SWSssiG9AvzkVoGwfSQSG1pKQV0s83GueN 357w== Sender: swupdate@googlegroups.com X-Gm-Message-State: AC+VfDyezjixV8byucDSUbZxJXzFlYBNLQGmvmHI5pTjbStR4dPKOFRC ofB8DcQfGSUSKVeIWIwp+1g= X-Google-Smtp-Source: ACHHUZ4LvHb7hRQ0DTbzGXdqPqhitBB6cOs4CQzESWoP8DzN958E+0QY/6+LSF7I0cB5f9LfFRkCvA== X-Received: by 2002:ac2:4553:0:b0:4e0:822f:9500 with SMTP id j19-20020ac24553000000b004e0822f9500mr1458789lfm.12.1683720420374; Wed, 10 May 2023 05:07:00 -0700 (PDT) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a19:ca12:0:b0:4d5:a6ff:14dc with SMTP id a18-20020a19ca12000000b004d5a6ff14dcls686252lfg.1.-pod-prod-07-eu; Wed, 10 May 2023 05:06:58 -0700 (PDT) X-Received: by 2002:ac2:593a:0:b0:4b5:9b8f:cc82 with SMTP id v26-20020ac2593a000000b004b59b8fcc82mr1623584lfi.0.1683720418354; Wed, 10 May 2023 05:06:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683720418; cv=none; d=google.com; s=arc-20160816; b=s2/ElKINbawi13Hr6JT6w1aSmsKUL2QMcd0gQrcuffihRzBXgYYiOpyEeIau0HFypR ljYUjrRZzQs00W39cvvFc/z9IFujVkwjpYbNNrhIcmCJK79I9qCpgbGcy+HsVcxNHeeQ IsB13w9r53+cLtyqa5Yhd3hgA9fP4K08SxPxy7YRUeV2/BojD9xqN4zhbR6BMWBsDdfd spqNxVuLUPUmQsvJdtaRgzDJH2rDmSRL5h1JdpSINROUEWeDk5kyN0+qEyXsGjkIIEAV dO/E7AoRWHkSdMNq6rKLlCQ8OM9yTC/boI3XwV9X7HSzmxLoWcosBVATKgcvYogIRyYx tqOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=74B/MfFf8ucyhYl4RE0S8XmdnCE9fc01Snm7Yq66Ags=; b=Y/bkYZU8kXPnlyw6PrGIWV2JrN9bXKecaEszPYcAainhIox7wZxGCMhOHUlDwHiFkQ CQomhes3vqQkXYLi8WMgLYw4hKaS7blBCa9dPFNqmZ42XZb9jgBx/HWiZklzekGygZAT U1jyw6WKlToSQzACu6TrFADM1DbABXV6BFjLcxRQLeH8HWmwS9Zsmou7ggKff7/SmisW SEKv0Wq4Eh3dgAQOgjZiWGrldf2Tlv8QlSKKtRSDPgXkCahmcWWP8qEC8fgj6xKzROTL 6b1OJUyAO/y7FnWEPY4M1L+xFHgn2VqwIcKaW1Bi4nBkeWyGef/OIFmpP/HqPSNxnBif nJJA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 2001:a60:0:28:0:1:25:1 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de Received: from mail-out.m-online.net (mail-out.m-online.net. [2001:a60:0:28:0:1:25:1]) by gmr-mx.google.com with ESMTPS id be12-20020a056512250c00b004f25250dd69si359825lfb.11.2023.05.10.05.06.58 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 10 May 2023 05:06:58 -0700 (PDT) Received-SPF: neutral (google.com: 2001:a60:0:28:0:1:25:1 is neither permitted nor denied by domain of sbabic@denx.de) client-ip=2001:a60:0:28:0:1:25:1; Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4QGYfn66Q4z1sG7t; Wed, 10 May 2023 14:06:57 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4QGYfn60kNz1qqlW; Wed, 10 May 2023 14:06:57 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id QkFs_stILjhR; Wed, 10 May 2023 14:06:55 +0200 (CEST) Received: from babic.homelinux.org (host-88-217-136-221.customer.m-online.net [88.217.136.221]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPS; Wed, 10 May 2023 14:06:55 +0200 (CEST) Received: from localhost (mail.babic.homelinux.org [127.0.0.1]) by babic.homelinux.org (Postfix) with ESMTP id A6E6B45407CD; Wed, 10 May 2023 14:06:55 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at babic.homelinux.org Received: from babic.homelinux.org ([IPv6:::1]) by localhost (mail.babic.homelinux.org [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id cGnqvIeCgyvl; Wed, 10 May 2023 14:06:52 +0200 (CEST) Received: from paperino.fritz.box (paperino.fritz.box [192.168.178.48]) by babic.homelinux.org (Postfix) with ESMTP id 6475B45413B0; Wed, 10 May 2023 14:06:45 +0200 (CEST) From: Stefano Babic To: swupdate@googlegroups.com Cc: Stefano Babic Subject: [swupdate] [PATCH 6/6] Reorganize includes to have smaller files Date: Wed, 10 May 2023 14:06:43 +0200 Message-Id: <20230510120643.39588-7-sbabic@denx.de> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230510120643.39588-1-sbabic@denx.de> References: <20230510120643.39588-1-sbabic@denx.de> MIME-Version: 1.0 X-Original-Sender: sbabic@denx.de X-Original-Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 2001:a60:0:28:0:1:25:1 is neither permitted nor denied by domain of sbabic@denx.de) smtp.mailfrom=sbabic@denx.de; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=denx.de 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: , Some header file like util.h is definetly grown, and this can generate dependencies between file. Try to cleanup this and move some definitions to specific file. While all modules require util.h, just a few of them require specific definitions. Signed-off-by: Stefano Babic --- core/Makefile | 1 + core/artifacts_versions.c | 1 + core/cpio_utils.c | 1 + core/hw-compatibility.c | 114 +++++++++++++++++++++++++++++ core/network_thread.c | 1 + core/stream_interface.c | 1 + core/swupdate.c | 2 + core/util.c | 101 +------------------------ corelib/lua_interface.c | 2 + corelib/verify_signature_mbedtls.c | 1 + handlers/archive_handler.c | 2 +- handlers/boot_handler.c | 3 +- handlers/copy_handler.c | 2 +- handlers/delta_downloader.c | 1 + handlers/delta_handler.c | 2 +- handlers/diskformat_handler.c | 1 + handlers/diskpart_handler.c | 2 +- handlers/dummy_handler.c | 2 +- handlers/flash_hamming1_handler.c | 2 +- handlers/flash_handler.c | 2 +- handlers/raw_handler.c | 2 +- handlers/rdiff_handler.c | 2 +- handlers/readback_handler.c | 2 +- handlers/remote_handler.c | 6 +- handlers/shell_scripthandler.c | 2 +- handlers/ssbl_handler.c | 2 +- handlers/swuforward_handler.c | 2 +- handlers/ubivol_handler.c | 2 +- handlers/ucfw_handler.c | 2 +- handlers/uniqueuuid_handler.c | 2 +- include/chained_handler.h | 2 +- include/globals.h | 5 ++ include/handler.h | 1 + include/hw-compatibility.h | 17 +++++ include/swupdate.h | 74 +------------------ include/swupdate_image.h | 77 +++++++++++++++++++ include/util.h | 21 ++++-- include/versions.h | 15 ++++ parser/parse_external.c | 1 + parser/parser.c | 1 + 40 files changed, 283 insertions(+), 199 deletions(-) create mode 100644 core/hw-compatibility.c create mode 100644 include/hw-compatibility.h create mode 100644 include/swupdate_image.h create mode 100644 include/versions.h diff --git a/core/Makefile b/core/Makefile index 90f1177..621e658 100644 --- a/core/Makefile +++ b/core/Makefile @@ -13,6 +13,7 @@ obj-y += swupdate.o \ notifier.o \ handler.o \ bootloader.o \ + hw-compatibility.o \ install_from_file.o \ util.o \ parser.o \ diff --git a/core/artifacts_versions.c b/core/artifacts_versions.c index 22a363f..9170327 100644 --- a/core/artifacts_versions.c +++ b/core/artifacts_versions.c @@ -23,6 +23,7 @@ #include "parselib.h" #include "swupdate_settings.h" #include "semver.h" +#include "versions.h" /* * Read versions of components from a file, if provided diff --git a/core/cpio_utils.c b/core/cpio_utils.c index 489a12c..bcf4818 100644 --- a/core/cpio_utils.c +++ b/core/cpio_utils.c @@ -20,6 +20,7 @@ #include "generated/autoconf.h" #include "cpiohdr.h" +#include "swupdate.h" #include "util.h" #include "sslapi.h" #include "progress.h" diff --git a/core/hw-compatibility.c b/core/hw-compatibility.c new file mode 100644 index 0000000..7c6cd25 --- /dev/null +++ b/core/hw-compatibility.c @@ -0,0 +1,114 @@ +/* + * (C) Copyright 2023 + * Stefano Babic, DENX Software Engineering, sbabic@denx.de. + * + * SPDX-License-Identifier: GPL-2.0-only + */ + +#include +#include +#include +#include +#include "util.h" +#include "swupdate.h" +#include "hw-compatibility.h" + +/* + * The HW revision of the board *MUST* be inserted + * in the sw-description file + */ +#ifdef CONFIG_HW_COMPATIBILITY +int check_hw_compatibility(struct swupdate_cfg *cfg) +{ + struct hw_type *hw; + int ret; + + ret = get_hw_revision(&cfg->hw); + if (ret < 0) + return -1; + + TRACE("Hardware %s Revision: %s", cfg->hw.boardname, cfg->hw.revision); + LIST_FOREACH(hw, &cfg->hardware, next) { + if (hw && + (!hwid_match(hw->revision, cfg->hw.revision))) { + TRACE("Hardware compatibility verified"); + return 0; + } + } + + return -1; +} +#else +int check_hw_compatibility(struct swupdate_cfg + __attribute__ ((__unused__)) *cfg) +{ + return 0; +} +#endif + +/* + * This function is strict bounded with the hardware + * It reads some GPIOs to get the hardware revision + */ +int get_hw_revision(struct hw_type *hw) +{ + FILE *fp; + int ret; + char *b1, *b2; +#ifdef CONFIG_HW_COMPATIBILITY_FILE +#define HW_FILE CONFIG_HW_COMPATIBILITY_FILE +#else +#define HW_FILE "/etc/hwrevision" +#endif + + if (!hw) + return -EINVAL; + + /* + * do not overwrite if it is already set + * (maybe from command line) + */ + if (strlen(hw->boardname)) + return 0; + + memset(hw->boardname, 0, sizeof(hw->boardname)); + memset(hw->revision, 0, sizeof(hw->revision)); + + /* + * Not all boards have pins for revision number + * check if there is a file containing theHW revision number + */ + fp = fopen(HW_FILE, "r"); + if (!fp) + return -1; + + ret = fscanf(fp, "%ms %ms", &b1, &b2); + fclose(fp); + + if (ret != 2) { + TRACE("Cannot find Board Revision"); + if(ret == 1) + free(b1); + return -1; + } + + if ((strlen(b1) > (SWUPDATE_GENERAL_STRING_SIZE) - 1) || + (strlen(b2) > (SWUPDATE_GENERAL_STRING_SIZE - 1))) { + ERROR("Board name or revision too long"); + ret = -1; + goto out; + } + + strlcpy(hw->boardname, b1, sizeof(hw->boardname)); + strlcpy(hw->revision, b2, sizeof(hw->revision)); + + ret = 0; + +out: + free(b1); + free(b2); + + return ret; +} + + diff --git a/core/network_thread.c b/core/network_thread.c index 6e0a0ba..f4ee335 100644 --- a/core/network_thread.c +++ b/core/network_thread.c @@ -30,6 +30,7 @@ #include "installer.h" #include "installer_priv.h" #include "swupdate.h" +#include "hw-compatibility.h" #include "pctl.h" #include "generated/autoconf.h" #include "state.h" diff --git a/core/stream_interface.c b/core/stream_interface.c index 73990cc..798c285 100644 --- a/core/stream_interface.c +++ b/core/stream_interface.c @@ -45,6 +45,7 @@ #include "pctl.h" #include "state.h" #include "bootloader.h" +#include "hw-compatibility.h" #define BUFF_SIZE 4096 #define PERCENT_LB_INDEX 4 diff --git a/core/swupdate.c b/core/swupdate.c index dff2baf..58e7541 100644 --- a/core/swupdate.c +++ b/core/swupdate.c @@ -48,6 +48,8 @@ #include "pctl.h" #include "state.h" #include "bootloader.h" +#include "versions.h" +#include "hw-compatibility.h" #ifdef CONFIG_SYSTEMD #include diff --git a/core/util.c b/core/util.c index 20dec15..14bac1b 100644 --- a/core/util.c +++ b/core/util.c @@ -26,12 +26,13 @@ #include #include #include +#include "swupdate_dict.h" +#include "swupdate_image.h" #if defined(__linux__) #include #endif -#include "swupdate.h" #include "util.h" #include "generated/autoconf.h" @@ -322,71 +323,6 @@ int mkpath(char *dir, mode_t mode) return 0; } -/* - * This function is strict bounded with the hardware - * It reads some GPIOs to get the hardware revision - */ -int get_hw_revision(struct hw_type *hw) -{ - FILE *fp; - int ret; - char *b1, *b2; -#ifdef CONFIG_HW_COMPATIBILITY_FILE -#define HW_FILE CONFIG_HW_COMPATIBILITY_FILE -#else -#define HW_FILE "/etc/hwrevision" -#endif - - if (!hw) - return -EINVAL; - - /* - * do not overwrite if it is already set - * (maybe from command line) - */ - if (strlen(hw->boardname)) - return 0; - - memset(hw->boardname, 0, sizeof(hw->boardname)); - memset(hw->revision, 0, sizeof(hw->revision)); - - /* - * Not all boards have pins for revision number - * check if there is a file containing theHW revision number - */ - fp = fopen(HW_FILE, "r"); - if (!fp) - return -1; - - ret = fscanf(fp, "%ms %ms", &b1, &b2); - fclose(fp); - - if (ret != 2) { - TRACE("Cannot find Board Revision"); - if(ret == 1) - free(b1); - return -1; - } - - if ((strlen(b1) > (SWUPDATE_GENERAL_STRING_SIZE) - 1) || - (strlen(b2) > (SWUPDATE_GENERAL_STRING_SIZE - 1))) { - ERROR("Board name or revision too long"); - ret = -1; - goto out; - } - - strlcpy(hw->boardname, b1, sizeof(hw->boardname)); - strlcpy(hw->revision, b2, sizeof(hw->revision)); - - ret = 0; - -out: - free(b1); - free(b2); - - return ret; -} - /** * hwid_match - try to match a literal or RE hwid * @rev: literal or RE specification @@ -428,39 +364,6 @@ out: return ret; } -/* - * The HW revision of the board *MUST* be inserted - * in the sw-description file - */ -#ifdef CONFIG_HW_COMPATIBILITY -int check_hw_compatibility(struct swupdate_cfg *cfg) -{ - struct hw_type *hw; - int ret; - - ret = get_hw_revision(&cfg->hw); - if (ret < 0) - return -1; - - TRACE("Hardware %s Revision: %s", cfg->hw.boardname, cfg->hw.revision); - LIST_FOREACH(hw, &cfg->hardware, next) { - if (hw && - (!hwid_match(hw->revision, cfg->hw.revision))) { - TRACE("Hardware compatibility verified"); - return 0; - } - } - - return -1; -} -#else -int check_hw_compatibility(struct swupdate_cfg - __attribute__ ((__unused__)) *cfg) -{ - return 0; -} -#endif - uintmax_t from_ascii (char const *where, size_t digs, unsigned logbase) { diff --git a/corelib/lua_interface.c b/corelib/lua_interface.c index 3268a7b..dd925b7 100644 --- a/corelib/lua_interface.c +++ b/corelib/lua_interface.c @@ -23,6 +23,8 @@ #include "handler.h" #include "bootloader.h" #include "progress.h" +#include "swupdate_image.h" +#include "hw-compatibility.h" #define LUA_TYPE_PEMBSCR 1 #define LUA_TYPE_HANDLER 2 diff --git a/corelib/verify_signature_mbedtls.c b/corelib/verify_signature_mbedtls.c index 1894f56..e3928f1 100644 --- a/corelib/verify_signature_mbedtls.c +++ b/corelib/verify_signature_mbedtls.c @@ -8,6 +8,7 @@ #include "sslapi.h" #include "util.h" +#include "swupdate.h" static char *algo_upper(const char *algo) { diff --git a/handlers/archive_handler.c b/handlers/archive_handler.c index 0ca22ca..cc8aa0b 100644 --- a/handlers/archive_handler.c +++ b/handlers/archive_handler.c @@ -20,7 +20,7 @@ #include #include -#include "swupdate.h" +#include "swupdate_image.h" #include "handler.h" #include "util.h" diff --git a/handlers/boot_handler.c b/handlers/boot_handler.c index 1324015..c8ae0a0 100644 --- a/handlers/boot_handler.c +++ b/handlers/boot_handler.c @@ -14,8 +14,7 @@ #include #include "generated/autoconf.h" -#include "swupdate.h" -#include "swupdate_dict.h" +#include "swupdate_image.h" #include "handler.h" #include "util.h" #include "bootloader.h" diff --git a/handlers/copy_handler.c b/handlers/copy_handler.c index 29226e0..3a8c1e0 100644 --- a/handlers/copy_handler.c +++ b/handlers/copy_handler.c @@ -26,7 +26,7 @@ #endif #include -#include "swupdate.h" +#include "swupdate_image.h" #include "progress.h" #include "handler.h" #include "util.h" diff --git a/handlers/delta_downloader.c b/handlers/delta_downloader.c index 8bd07ac..e080092 100644 --- a/handlers/delta_downloader.c +++ b/handlers/delta_downloader.c @@ -31,6 +31,7 @@ #include #include #include +#include "swupdate_dict.h" #include "delta_handler.h" #include "delta_process.h" diff --git a/handlers/delta_handler.c b/handlers/delta_handler.c index 4ce49ff..d1ff783 100644 --- a/handlers/delta_handler.c +++ b/handlers/delta_handler.c @@ -28,7 +28,6 @@ #include #include #include -#include #include #include #include @@ -43,6 +42,7 @@ #include "installer.h" #include "zchunk_range.h" #include "chained_handler.h" +#include "swupdate_image.h" #define DEFAULT_MAX_RANGES 150 /* Apache has default = 200 */ diff --git a/handlers/diskformat_handler.c b/handlers/diskformat_handler.c index d4c4520..742954a 100644 --- a/handlers/diskformat_handler.c +++ b/handlers/diskformat_handler.c @@ -12,6 +12,7 @@ #include #include #include "progress.h" +#include "swupdate_image.h" void diskformat_handler(void); diff --git a/handlers/diskpart_handler.c b/handlers/diskpart_handler.c index 9f7e85b..e1056ef 100644 --- a/handlers/diskpart_handler.c +++ b/handlers/diskpart_handler.c @@ -22,7 +22,7 @@ #include #include #include -#include "swupdate.h" +#include "swupdate_image.h" #include "handler.h" #include "util.h" #include "progress.h" diff --git a/handlers/dummy_handler.c b/handlers/dummy_handler.c index c17b55d..c4cb03b 100644 --- a/handlers/dummy_handler.c +++ b/handlers/dummy_handler.c @@ -12,7 +12,7 @@ #include #include -#include "swupdate.h" +#include "swupdate_image.h" #include "handler.h" #include "util.h" diff --git a/handlers/flash_hamming1_handler.c b/handlers/flash_hamming1_handler.c index 7cdb40a..34493ee 100644 --- a/handlers/flash_hamming1_handler.c +++ b/handlers/flash_hamming1_handler.c @@ -25,7 +25,7 @@ #include #include -#include "swupdate.h" +#include "swupdate_image.h" #include "handler.h" #include "util.h" #include "flash.h" diff --git a/handlers/flash_handler.c b/handlers/flash_handler.c index 597827d..3cca02b 100644 --- a/handlers/flash_handler.c +++ b/handlers/flash_handler.c @@ -25,8 +25,8 @@ #include #include -#include "swupdate.h" #include "handler.h" +#include "swupdate_image.h" #include "util.h" #include "flash.h" #include "progress.h" diff --git a/handlers/raw_handler.c b/handlers/raw_handler.c index cdd81d3..45f038a 100644 --- a/handlers/raw_handler.c +++ b/handlers/raw_handler.c @@ -24,7 +24,7 @@ #include #include -#include "swupdate.h" +#include "swupdate_image.h" #include "handler.h" #include "util.h" diff --git a/handlers/rdiff_handler.c b/handlers/rdiff_handler.c index ae14f0d..268ec6b 100644 --- a/handlers/rdiff_handler.c +++ b/handlers/rdiff_handler.c @@ -19,7 +19,7 @@ #if defined(__FreeBSD__) #include #endif -#include "swupdate.h" +#include "swupdate_image.h" #include "handler.h" #include "util.h" diff --git a/handlers/readback_handler.c b/handlers/readback_handler.c index b4f2c91..4b910bd 100644 --- a/handlers/readback_handler.c +++ b/handlers/readback_handler.c @@ -18,8 +18,8 @@ #include #endif -#include "swupdate.h" #include "handler.h" +#include "swupdate_image.h" #include "sslapi.h" #include "util.h" diff --git a/handlers/remote_handler.c b/handlers/remote_handler.c index 7ed7b50..c4b83af 100644 --- a/handlers/remote_handler.c +++ b/handlers/remote_handler.c @@ -15,9 +15,9 @@ #include #include -#include -#include -#include +#include "handler.h" +#include "util.h" +#include "swupdate_image.h" #define MSG_FRAMES 2 #define FRAME_CMD 0 diff --git a/handlers/shell_scripthandler.c b/handlers/shell_scripthandler.c index a4b85e7..273b5a0 100644 --- a/handlers/shell_scripthandler.c +++ b/handlers/shell_scripthandler.c @@ -16,8 +16,8 @@ #include #include -#include "swupdate.h" #include "handler.h" +#include "swupdate_image.h" #include "util.h" #include "pctl.h" diff --git a/handlers/ssbl_handler.c b/handlers/ssbl_handler.c index 64280f7..93bd6f3 100644 --- a/handlers/ssbl_handler.c +++ b/handlers/ssbl_handler.c @@ -16,7 +16,7 @@ #include #include -#include "swupdate.h" +#include "swupdate_image.h" #include "handler.h" #include "util.h" #include "flash.h" diff --git a/handlers/swuforward_handler.c b/handlers/swuforward_handler.c index 055fe21..468fbfb 100644 --- a/handlers/swuforward_handler.c +++ b/handlers/swuforward_handler.c @@ -29,12 +29,12 @@ #include #include #include -#include #include #include #include #include #include "parselib.h" +#include "swupdate_image.h" #include "swuforward_handler.h" void swuforward_handler(void); diff --git a/handlers/ubivol_handler.c b/handlers/ubivol_handler.c index df68590..f9acf2d 100644 --- a/handlers/ubivol_handler.c +++ b/handlers/ubivol_handler.c @@ -15,7 +15,7 @@ #include #include -#include "swupdate.h" +#include "swupdate_image.h" #include "handler.h" #include "flash.h" #include "util.h" diff --git a/handlers/ucfw_handler.c b/handlers/ucfw_handler.c index b750209..8d10a54 100644 --- a/handlers/ucfw_handler.c +++ b/handlers/ucfw_handler.c @@ -69,7 +69,7 @@ #include #include -#include "swupdate.h" +#include "swupdate_image.h" #include "handler.h" #include "util.h" diff --git a/handlers/uniqueuuid_handler.c b/handlers/uniqueuuid_handler.c index 3ffb8f1..bb324de 100644 --- a/handlers/uniqueuuid_handler.c +++ b/handlers/uniqueuuid_handler.c @@ -21,7 +21,7 @@ #include #include #include -#include "swupdate.h" +#include "swupdate_image.h" #include "handler.h" #include "util.h" diff --git a/include/chained_handler.h b/include/chained_handler.h index 0c74025..65ddac7 100644 --- a/include/chained_handler.h +++ b/include/chained_handler.h @@ -5,7 +5,7 @@ * SPDX-License-Identifier: GPL-2.0-only */ -#include "swupdate.h" +#include "swupdate_image.h" struct chain_handler_data { struct img_type img; }; diff --git a/include/globals.h b/include/globals.h index a6274a1..a30ec7c 100644 --- a/include/globals.h +++ b/include/globals.h @@ -22,6 +22,11 @@ #define MAX_BOOT_SCRIPT_LINE_LENGTH 1024 #define MAX_SEEK_STRING_SIZE 32 +/* + * swupdate uses SHA256 hashes + */ +#define SHA256_HASH_LENGTH 32 + /* These are fixed path to temporary files */ #define SCRIPTS_DIR_SUFFIX "scripts/" #define DATADST_DIR_SUFFIX "datadst/" diff --git a/include/handler.h b/include/handler.h index 2ca8817..40ff9c0 100644 --- a/include/handler.h +++ b/include/handler.h @@ -10,6 +10,7 @@ #ifndef _HANDLER_H #define _HANDLER_H +struct img_type; typedef enum { NONE, PREINSTALL, diff --git a/include/hw-compatibility.h b/include/hw-compatibility.h new file mode 100644 index 0000000..21e7381 --- /dev/null +++ b/include/hw-compatibility.h @@ -0,0 +1,17 @@ +/* + * (C) Copyright 2023 + * Stefano Babic, sbabic@denx.de. + * + * SPDX-License-Identifier: GPL-2.0-only + */ + +#ifndef _SWUPDATE_HW_COMPATIBILITY_H +#define _SWUPDATE_HW_COMPATIBILITY_H + +#include "swupdate.h" + +int check_hw_compatibility(struct swupdate_cfg *cfg); +int get_hw_revision(struct hw_type *hw); + +#endif + diff --git a/include/swupdate.h b/include/swupdate.h index 4cce892..e473e41 100644 --- a/include/swupdate.h +++ b/include/swupdate.h @@ -14,21 +14,7 @@ #include "globals.h" #include "mongoose_interface.h" #include "swupdate_dict.h" - -#define BOOTVAR_TRANSACTION "recovery_status" - -/* - * swupdate uses SHA256 hashes - */ -#define SHA256_HASH_LENGTH 32 - -typedef enum { - FLASH, - UBI, - FILEDEV, - PARTITION, - SCRIPT -} imagetype_t; +#include "swupdate_image.h" /* * this is used to indicate if a file @@ -41,64 +27,6 @@ typedef enum { INSTALL_FROM_STREAM } swupdate_file_t; -typedef enum { - SKIP_NONE=0, - SKIP_SAME, - SKIP_HIGHER, - SKIP_SCRIPT -} skip_t; - -enum { - COMPRESSED_FALSE, - COMPRESSED_TRUE, - COMPRESSED_ZLIB, - COMPRESSED_ZSTD, -}; - -struct sw_version { - char name[SWUPDATE_GENERAL_STRING_SIZE]; - char version[SWUPDATE_GENERAL_STRING_SIZE]; - int install_if_different; - int install_if_higher; - LIST_ENTRY(sw_version) next; -}; - -LIST_HEAD(swver, sw_version); - -struct img_type { - struct sw_version id; /* This is used to compare versions */ - char type[SWUPDATE_GENERAL_STRING_SIZE]; /* Handler name */ - char fname[MAX_IMAGE_FNAME]; /* Filename in CPIO archive */ - char volname[MAX_VOLNAME]; /* Useful for UBI */ - char device[MAX_VOLNAME]; /* device associated with image if any */ - char path[MAX_IMAGE_FNAME]; /* Path where image must be installed */ - char mtdname[MAX_IMAGE_FNAME]; /* MTD device where image must be installed */ - char type_data[SWUPDATE_GENERAL_STRING_SIZE]; /* Data for handler */ - char extract_file[MAX_IMAGE_FNAME]; - char filesystem[MAX_IMAGE_FNAME]; - unsigned long long seek; - skip_t skip; - int provided; - int compressed; - int preserve_attributes; /* whether to preserve attributes in archives */ - bool is_encrypted; - char ivt_ascii[33]; - int install_directly; - int is_script; - int is_partitioner; - struct dict properties; - struct dict *bootloader; /* pointer to swupdate_cfg's bootloader dict for handlers to modify */ - long long partsize; - int fdin; /* Used for streaming file */ - off_t offset; /* offset in cpio file */ - long long size; - unsigned int checksum; - unsigned char sha256[SHA256_HASH_LENGTH]; /* SHA-256 is 32 byte */ - LIST_ENTRY(img_type) next; -}; - -LIST_HEAD(imglist, img_type); - struct hw_type { char boardname[SWUPDATE_GENERAL_STRING_SIZE]; char revision[SWUPDATE_GENERAL_STRING_SIZE]; diff --git a/include/swupdate_image.h b/include/swupdate_image.h new file mode 100644 index 0000000..7f6c015 --- /dev/null +++ b/include/swupdate_image.h @@ -0,0 +1,77 @@ +/* + * (C) Copyright 2023 + * Stefano Babic, sbabic@denx.de. + * + * SPDX-License-Identifier: GPL-2.0-only + */ + +#ifndef _SWUPDATE_IMAGE_H +#define _SWUPDATE_IMAGE_H + +#include +#include +#include "bsdqueue.h" +#include "globals.h" +#include "swupdate_dict.h" + +typedef enum { + FLASH, + UBI, + FILEDEV, + PARTITION, + SCRIPT +} imagetype_t; + +typedef enum { + SKIP_NONE=0, + SKIP_SAME, + SKIP_HIGHER, + SKIP_SCRIPT +} skip_t; + +struct sw_version { + char name[SWUPDATE_GENERAL_STRING_SIZE]; + char version[SWUPDATE_GENERAL_STRING_SIZE]; + int install_if_different; + int install_if_higher; + LIST_ENTRY(sw_version) next; +}; + +LIST_HEAD(swver, sw_version); + +struct img_type { + struct sw_version id; /* This is used to compare versions */ + char type[SWUPDATE_GENERAL_STRING_SIZE]; /* Handler name */ + char fname[MAX_IMAGE_FNAME]; /* Filename in CPIO archive */ + char volname[MAX_VOLNAME]; /* Useful for UBI */ + char device[MAX_VOLNAME]; /* device associated with image if any */ + char path[MAX_IMAGE_FNAME]; /* Path where image must be installed */ + char mtdname[MAX_IMAGE_FNAME]; /* MTD device where image must be installed */ + char type_data[SWUPDATE_GENERAL_STRING_SIZE]; /* Data for handler */ + char extract_file[MAX_IMAGE_FNAME]; + char filesystem[MAX_IMAGE_FNAME]; + unsigned long long seek; + skip_t skip; + int provided; + int compressed; + int preserve_attributes; /* whether to preserve attributes in archives */ + bool is_encrypted; + char ivt_ascii[33]; + int install_directly; + int is_script; + int is_partitioner; + struct dict properties; + struct dict *bootloader; /* pointer to swupdate_cfg's bootloader dict for handlers to modify */ + long long partsize; + int fdin; /* Used for streaming file */ + off_t offset; /* offset in cpio file */ + long long size; + unsigned int checksum; + unsigned char sha256[SHA256_HASH_LENGTH]; /* SHA-256 is 32 byte */ + LIST_ENTRY(img_type) next; +}; + +LIST_HEAD(imglist, img_type); + +#endif + diff --git a/include/util.h b/include/util.h index 0d65c15..5baab13 100644 --- a/include/util.h +++ b/include/util.h @@ -12,12 +12,13 @@ #include #include #include +#include #if defined(__linux__) #include #endif -#include "swupdate.h" +#include "globals.h" #include "swupdate_status.h" -#include "swupdate_settings.h" +#include "swupdate_dict.h" #include "compat.h" #define NOTIFY_BUF_SIZE 2048 @@ -32,6 +33,12 @@ #define HWID_REGEXP_PREFIX "#RE:" #define SWUPDATE_ALIGN(A,S) (((A) + (S) - 1) & ~((S) - 1)) +#define BOOTVAR_TRANSACTION "recovery_status" + +struct img_type; +struct imglist; +struct hw_type; + extern int loglevel; extern int exit_code; @@ -48,6 +55,13 @@ typedef enum { SERVER_ID_REQUESTED, } server_op_res_t; +enum { + COMPRESSED_FALSE, + COMPRESSED_TRUE, + COMPRESSED_ZLIB, + COMPRESSED_ZSTD, +}; + /* * loglevel is used into TRACE / ERROR * for values > LASTLOGLEVEL, it is an encoded field @@ -206,11 +220,8 @@ char *substring(const char *src, int first, int len); char *string_tolower(char *s); size_t snescape(char *dst, size_t n, const char *src); void freeargs (char **argv); -int get_hw_revision(struct hw_type *hw); -void get_sw_versions(swupdate_cfg_handle *handle, struct swupdate_cfg *sw); int compare_versions(const char* left_version, const char* right_version); int hwid_match(const char* rev, const char* hwrev); -int check_hw_compatibility(struct swupdate_cfg *cfg); int count_elem_list(struct imglist *list); unsigned int count_string_array(const char **nodes); void free_string_array(char **nodes); diff --git a/include/versions.h b/include/versions.h new file mode 100644 index 0000000..b85f718 --- /dev/null +++ b/include/versions.h @@ -0,0 +1,15 @@ +/* + * (C) Copyright 2023 + * Stefano Babic, sbabic@denx.de. + * + * SPDX-License-Identifier: GPL-2.0-only + */ + +#ifndef _SWUPDATE_VERSION_H +#define _SWUPDATE_VERSION_H + +#include "swupdate_settings.h" +void get_sw_versions(swupdate_cfg_handle *handle, struct swupdate_cfg *sw); + +#endif + diff --git a/parser/parse_external.c b/parser/parse_external.c index c6ab4fe..bba0cab 100644 --- a/parser/parse_external.c +++ b/parser/parse_external.c @@ -15,6 +15,7 @@ #include "generated/autoconf.h" #include "swupdate.h" #include "parsers.h" +#include "hw-compatibility.h" #ifdef CONFIG_LUAEXTERNAL #include "lua.h" diff --git a/parser/parser.c b/parser/parser.c index cb7a373..f2d4948 100644 --- a/parser/parser.c +++ b/parser/parser.c @@ -20,6 +20,7 @@ #include "bsdqueue.h" #include "util.h" #include "swupdate.h" +#include "hw-compatibility.h" #include "parselib.h" #include "parsers.h" #include "swupdate_dict.h"