From patchwork Fri Nov 26 16:17:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= X-Patchwork-Id: 1560213 X-Patchwork-Delegate: zajec5@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=XyPEde2S; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=Re6ZFPpa; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.openwrt.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4J10RG75CSz9t54 for ; Sat, 27 Nov 2021 03:23:22 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=vC8pdfi3nOaRGQsvQCtQsTjjEERwXlbjdrVopcoz6dE=; b=XyPEde2SzNzEbx YAA6QLg5CHaCGcGbdlKUKlHTUusxVxQi63h2I2MS7Lj/L3U/Rw2n0/Hhn4l1DRc+HgN2cPKC+2scX vvec22sz8wUF5crPMCXC1NhQnnnXskx+Vh1/Lzx3qVhXDSszpKtB7UL0HyUGNSXqJNd8h6vewf00W HTSXV4hRpYMBPWeqRB5uvACPrr+lftB9u/EEZ1KylJ81dUY94VKA2nA8jUjLZ1spnRyeQxF/FFQRR mUx7i+4vn5vmeChEnhKqfmtY7p45X5cTJuOHvdE5Jx95Hg1boH3HIJsRkcWSaKtMlFr+kCAR4n02c hw0kNccHJXsMQomiCHyQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mqdum-00B6a2-Ik; Fri, 26 Nov 2021 16:17:32 +0000 Received: from mail-lf1-x129.google.com ([2a00:1450:4864:20::129]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mqdub-00B6Xj-Hf for openwrt-devel@lists.openwrt.org; Fri, 26 Nov 2021 16:17:22 +0000 Received: by mail-lf1-x129.google.com with SMTP id n12so25534185lfe.1 for ; Fri, 26 Nov 2021 08:17:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=m+h7Pz/7jg4dMdMlBsYW+Td79I9X8BRSW2ZST0OQxlA=; b=Re6ZFPpa+oc2gfGj+i9Cni5oQsRkhUp3TcOnrkFsh1qbnnvY9cRe3EgyhQAxy9uUx8 iQ6OmTRmRMwMvbUbHq/ne2IMeILWDmQBk+J4GRKDcc13qkxhj3FJaXJfEoWljmUvFb2Q 6jK/Y+6T3Y3qYgcYwQ0B3IJFiZJ1SQ+0+uL6H0g7P6SFX2MVxn8xuz4r4gwfChhsEbd5 Yodb6nbBNVscPDtmiZR9eKsfSVD+MXCFs21/eBV6HoVWXkKbqzkT+yE0KFVh85rpA5O/ 8m1JHPkHJmgkTSVtl7xdINwffbdEkUCFKy/BKr39xsOE19Odyp25ZIWQ2WBaXzla9+uw ebBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=m+h7Pz/7jg4dMdMlBsYW+Td79I9X8BRSW2ZST0OQxlA=; b=uwVF9Z1r/elbBlVTYxCYYhPHKSFqabwN0Y06KLAN4WofxnBdiu7rHEv+tovbda/+w/ 3FqHYXlp3X+s6TvcRhyQ90tPdLxVPW7VTF40YdKQXfVK1f1B6yNI8k0Y375EPwLrAuum 02BeBb161VFSKVTLozdRZkXqeeJgtu0ULtSDTvfqrlI+SxvCO8LYFGkDt0DPf+mizgbg 0D5ZLjGqsyFfWEVbzQDbn46+DzjwskpgXRz652kF9rul7tlDDHytRO1ILp4QzzzBWpp+ KmuVzBX9NG+p7ZWFrEqBQpcPxl4Tx4TVhltb1fc2eD36AO4wISYWaKKO/oJ9bhmMy9td HAtg== X-Gm-Message-State: AOAM530z49s3gbs5RJkdtyIohXjEAHIIvONK+b2hrxmSIGkiCoNIRX1S ZMa+omTCHBahI/Ds9zKL3u0lObkf3vM= X-Google-Smtp-Source: ABdhPJym28JK+ANppfNQXBoA88jr7JTFIrgLfzdgL+m1dg/yba0CjrhSmC7ToUfcbD0VdlK2lu2gWw== X-Received: by 2002:a19:4f02:: with SMTP id d2mr31176691lfb.547.1637943435298; Fri, 26 Nov 2021 08:17:15 -0800 (PST) Received: from localhost.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id j19sm612482lfe.120.2021.11.26.08.17.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Nov 2021 08:17:15 -0800 (PST) From: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= To: openwrt-devel@lists.openwrt.org Cc: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= Subject: [PATCH firmware-utils 2/2] oseama: support extracting entity to stdout Date: Fri, 26 Nov 2021 17:17:08 +0100 Message-Id: <20211126161708.9306-2-zajec5@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211126161708.9306-1-zajec5@gmail.com> References: <20211126161708.9306-1-zajec5@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211126_081721_609035_5A312A85 X-CRM114-Status: GOOD ( 12.52 ) X-Spam-Score: 0.1 (/) X-Spam-Report: =?unknown-8bit?q?Spam_detection_software=2C_running_on_the_sy?= =?unknown-8bit?q?stem_=22bombadil=2Einfradead=2Eorg=22=2C?= =?unknown-8bit?q?_has_NOT_identified_this_incoming_email_as_spam=2E__The_ori?= =?unknown-8bit?q?ginal?= =?unknown-8bit?q?_message_has_been_attached_to_this_so_you_can_view_it_or_la?= =?unknown-8bit?q?bel?= =?unknown-8bit?q?_similar_future_email=2E__If_you_have_any_questions=2C_see?= =?unknown-8bit?q?_the_administrator_of_that_system_for_details=2E?= =?unknown-8bit?q?_?= =?unknown-8bit?q?_Content_preview=3A__From=3A_Rafa=C5=82_Mi=C5=82ecki_This_a?= =?unknown-8bit?q?llows_using_oseama_in_a_pipe=2E?= =?unknown-8bit?q?_It=27s_very_useful_for_writing_data_to_flash_using_e=2Eg?= =?unknown-8bit?q?=2E_oseama_extract_firmware=2Ebin?= =?unknown-8bit?q?_-e_0_=7C_mtd_write_-_firmware_Signed-off-by=3A_Rafa=C5=82_?= =?unknown-8bit?q?Mi=C5=82ecki_---_src/oseama=2Ec?= =?unknown-8bit?q?_=7C_21_+++++++++++_1_file_changed=2C_11_insertions=28+=29?= =?unknown-8bit?q?=2C_10_deletions=28-=29_?= =?unknown-8bit?q?_?= =?unknown-8bit?q?_Content_analysis_details=3A___=280=2E1_points=2C_5=2E0_req?= =?unknown-8bit?q?uired=29?= =?unknown-8bit?q?_?= =?unknown-8bit?q?_pts_rule_name______________description?= =?unknown-8bit?q?_----_----------------------_------------------------------?= =?unknown-8bit?q?--------------------?= =?unknown-8bit?q?_-0=2E0_RCVD=5FIN=5FDNSWL=5FNONE_____RBL=3A_Sender_listed_a?= =?unknown-8bit?q?t_https=3A//www=2Ednswl=2Eorg/=2C?= =?unknown-8bit?q?_no_trust?= =?unknown-8bit?b?IFsyYTAwOjE0NTA6NDg2NDoyMDowOjA6MDoxMjkgbGlzdGVkIGluXQ==?= =?unknown-8bit?b?IFtsaXN0LmRuc3dsLm9yZ10=?= =?unknown-8bit?q?_-0=2E0_SPF=5FPASS_______________SPF=3A_sender_matches_SPF_?= =?unknown-8bit?q?record?= =?unknown-8bit?q?_0=2E0_SPF=5FHELO=5FNONE__________SPF=3A_HELO_does_not_publ?= =?unknown-8bit?q?ish_an_SPF_Record?= =?unknown-8bit?q?_0=2E0_FREEMAIL=5FFROM__________Sender_email_is_commonly_ab?= =?unknown-8bit?q?used_enduser_mail?= =?unknown-8bit?q?_provider?= =?unknown-8bit?q?_=5Bzajec5=5Bat=5Dgmail=2Ecom=5D?= =?unknown-8bit?q?_0=2E2_FREEMAIL=5FENVFROM=5FEND=5FDIGIT_Envelope-from_freem?= =?unknown-8bit?q?ail_username_ends?= =?unknown-8bit?q?_in_digit?= =?unknown-8bit?q?_=5Bzajec5=5Bat=5Dgmail=2Ecom=5D?= =?unknown-8bit?q?_-0=2E1_DKIM=5FVALID=5FAU__________Message_has_a_valid_DKIM?= =?unknown-8bit?q?_or_DK_signature_from?= =?unknown-8bit?q?_author=27s_domain?= =?unknown-8bit?q?_-0=2E1_DKIM=5FVALID_____________Message_has_at_least_one_v?= =?unknown-8bit?q?alid_DKIM_or_DK_signature?= =?unknown-8bit?q?_0=2E1_DKIM=5FSIGNED____________Message_has_a_DKIM_or_DK_si?= =?unknown-8bit?q?gnature=2C_not_necessarily?= =?unknown-8bit?q?_valid?= =?unknown-8bit?q?_-0=2E1_DKIM=5FVALID=5FEF__________Message_has_a_valid_DKIM?= =?unknown-8bit?q?_or_DK_signature_from?= =?unknown-8bit?q?_envelope-from_domain?= X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org From: Rafał Miłecki This allows using oseama in a pipe. It's very useful for writing data to flash using e.g. oseama extract firmware.bin -e 0 | mtd write - firmware Signed-off-by: Rafał Miłecki --- src/oseama.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/oseama.c b/src/oseama.c index d3eb9b9..f68d7d0 100644 --- a/src/oseama.c +++ b/src/oseama.c @@ -525,10 +525,6 @@ static int oseama_extract(int argc, char **argv) { fprintf(stderr, "No entity specified\n"); err = -EINVAL; goto out; - } else if (!out_path) { - fprintf(stderr, "No output file specified\n"); - err = -EINVAL; - goto out; } seama = oseama_open(seama_path, "r"); @@ -538,11 +534,15 @@ static int oseama_extract(int argc, char **argv) { goto out; } - out = fopen(out_path, "w"); - if (!out) { - fprintf(stderr, "Couldn't open %s\n", out_path); - err = -EACCES; - goto err_close_seama; + if (out_path) { + out = fopen(out_path, "w"); + if (!out) { + fprintf(stderr, "Couldn't open %s\n", out_path); + err = -EACCES; + goto err_close_seama; + } + } else { + out = stdout; } bytes = fread(&hdr, 1, sizeof(hdr), seama); @@ -558,7 +558,8 @@ static int oseama_extract(int argc, char **argv) { oseama_extract_entity(seama, out); err_close_out: - fclose(out); + if (out != stdout) + fclose(out); err_close_seama: oseama_close(seama); out: