From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.182]) by mx.groups.io with SMTP id smtpd.web12.3295.1600193080976958139 for ; Tue, 15 Sep 2020 11:04:41 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@broadcom.com header.s=google header.b=Sxw/ne9i; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: broadcom.com, ip: 209.85.210.182, mailfrom: vladimir.olovyannikov@broadcom.com) Received: by mail-pf1-f182.google.com with SMTP id v196so2428403pfc.1 for ; Tue, 15 Sep 2020 11:04:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=7SeasvXnXsY9CWbatfoOC1Pf4OUpwpugjaEOBtEbxxs=; b=Sxw/ne9ieolPea9adMbp5V0U6GFR5qtj+C8zr1UdtC0xBH7cMlwmi/pEHO9hen2mvP Et6A4OBckOdC9/N1GCA5YBcuPo2gILB1iP/Aw2lTBt4lrw4z6XyCl9p/p04OHUiciwfU ZdEUKyNvPILAlD3UPoScpwud2zEvqXjp+Wp2o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=7SeasvXnXsY9CWbatfoOC1Pf4OUpwpugjaEOBtEbxxs=; b=fbJlTCtriVtFqet4x4xD9QDu0WI+kjyzPYkgFPKjlSUsM7C7C2wXpdtTNRybVLlIVA CVRWpqKbCY8bFrl9bTA9nuzbBdFcLpDt7YIKKteqeXJPN56Bg23GoR0wudhqPYSMySY0 UGDM+h8ZvRuXD57OqD1pFZBGdGvyypVnLxt8aNjD6XM9i++FoRGljcQ6XOIUONJPWc9/ 0rS0td0gKrCBt/5JjsqZKiymRGABDkPBcxErYCwYuJKAiLy9nrxsTyotzQ4obwsrL2js +vbfCNHyggjVqD8MxmBS3qo8csPGQ3YbhqpfIgJ4+2hvcyxT1Tx1pX7MQsHQfMxI4wvG ftpA== X-Gm-Message-State: AOAM532Uyto807V1T/bpzhJGlyx5JqR8BXb6PoSnvFdH28fiv1X9UNX7 qyzUVSvAVT9YlypvWyCYDpELV+VAT0btllJ+NMSy7xHNs7/e4alW7eN9ColgEUrjqMbqAk+JyXX wkE36/K/EaK8nwdMoqyPiE0jgswUq8r9wPwdcnOWBIE6UFKi9uJKG0O0v1G0rndKGcpQOC8ABAh YM1B35Tlse6+YdsA== X-Google-Smtp-Source: ABdhPJwMtoehAAJcLyP8KeGz/qKDh37GLPxdGhPtxhqCBAvDc518J/R1fehbvLNhqYnx1bQmb/KxYQ== X-Received: by 2002:a63:1341:: with SMTP id 1mr15739766pgt.144.1600193079727; Tue, 15 Sep 2020 11:04:39 -0700 (PDT) Return-Path: Received: from LBRMN-LNXUB114.ric.broadcom.net ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id s16sm11861666pgl.78.2020.09.15.11.04.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Sep 2020 11:04:38 -0700 (PDT) From: "Vladimir Olovyannikov" To: devel@edk2.groups.io Cc: Vladimir Olovyannikov , Zhichao Gao , Maciej Rabeda , Jiaxin Wu , Siyuan Fu , Ray Ni , Liming Gao , Nd , Laszlo Ersek , Samer El-Haj-Mahmoud Subject: [PATCH v12 0/1] ShellPkg/DynamicCommand: add HttpDynamicCommand Date: Tue, 15 Sep 2020 11:04:15 -0700 Message-Id: <20200915180416.8341-1-vladimir.olovyannikov@broadcom.com> X-Mailer: git-send-email 2.28.0.394.ge197136389 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Signed-off-by: Vladimir Olovyannikov Cc: Zhichao Gao Cc: Maciej Rabeda Cc: Jiaxin Wu Cc: Siyuan Fu Cc: Ray Ni Cc: Liming Gao Cc: Nd Cc: Laszlo Ersek Cc: Samer El-Haj-Mahmoud This patchset introduces an http client utilizing EDK2 HTTP protocol, to allow fast image downloading from http/https servers. HTTP download speed is usually faster than tftp. The client is based on the same approach as tftp dynamic command, and uses the same UEFI Shell command line parameters. This makes it easy integrating http into existing UEFI Shell scripts. Note that to enable HTTP download, feature Pcd gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections must be set to TRUE. BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2860 PATCH v12 changes: Address comments from Laszlo, Zhichao: - do not use TimeBaseLib library until it is passes MS VS x64 build (BZ https://bugzilla.tianocore.org/show_bug.cgi?id=2962); - change the return type of EfiTimeToEpoch() to UINTN; - drop the final UINT32 case from EfiTimeToEpoch(); - change the type of ElapsedSeconds to UINTN; - print the number of elapsed seconds with %Lu specifier. Vladimir Olovyannikov (1): ShellPkg/DynamicCommand: add HttpDynamicCommand ShellPkg/ShellPkg.dec | 1 + ShellPkg/ShellPkg.dsc | 5 + .../HttpDynamicCommand/HttpApp.inf | 58 + .../HttpDynamicCommand/HttpDynamicCommand.inf | 63 + .../DynamicCommand/HttpDynamicCommand/Http.h | 90 + ShellPkg/Include/Guid/ShellLibHiiGuid.h | 5 + .../DynamicCommand/HttpDynamicCommand/Http.c | 1843 +++++++++++++++++ .../HttpDynamicCommand/HttpApp.c | 61 + .../HttpDynamicCommand/HttpDynamicCommand.c | 137 ++ .../HttpDynamicCommand/Http.uni | 117 ++ 10 files changed, 2380 insertions(+) create mode 100644 ShellPkg/DynamicCommand/HttpDynamicCommand/HttpApp.inf create mode 100644 ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf create mode 100644 ShellPkg/DynamicCommand/HttpDynamicCommand/Http.h create mode 100644 ShellPkg/DynamicCommand/HttpDynamicCommand/Http.c create mode 100644 ShellPkg/DynamicCommand/HttpDynamicCommand/HttpApp.c create mode 100644 ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.c create mode 100644 ShellPkg/DynamicCommand/HttpDynamicCommand/Http.uni -- 2.28.0.394.ge197136389