From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) by mx.groups.io with SMTP id smtpd.web10.3894.1599677361587199491 for ; Wed, 09 Sep 2020 11:49:21 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@broadcom.com header.s=google header.b=JJTM64cx; 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.216.42, mailfrom: vladimir.olovyannikov@broadcom.com) Received: by mail-pj1-f42.google.com with SMTP id q4so1777463pjh.5 for ; Wed, 09 Sep 2020 11:49:21 -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=dbaEmGHPFrEKK/Vl69Vvif6jIT6PSGVWuO/U1Z3aNB4=; b=JJTM64cxQX7fNLXjG32yTt94kYdci098+EdQv+5s9odz2Y2LEtlhkkt38PTr4XvfpG 5rNB+kyjPBhfmc9qeaQw0iZMahvXA0igD08Q8cOJZNVnzknKJ3Svk8f516c/fsIF1tVa EfeDLk4r2Z6PQ5d8e9NXMb4ONxxnd4gIiEehg= 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=dbaEmGHPFrEKK/Vl69Vvif6jIT6PSGVWuO/U1Z3aNB4=; b=VMlmij5KbP0Fp25Rgo/s9gq56a1AJMVENCHLfU2bJLZ4tO61LguGlq8oUBcnSK6qk+ TpJFkiIlw370XhVThgOD7XM4jh0TSuqjqKKSeAxWPhD4Aq/DZOZ6cgATFpX4dAYiM1A5 svLlBC3GnlglIt9Ik4oUEyNv1ngPZQU7LZZhdEaWr9CyRf7SLDSfUo7gxEtfNmtqEMRd ybjorMaEdxI4cMjepBMw14WQBhaYqgjkAJh8KsAGFKegaxJJKDQSamwBDURjENj7QyZ0 KuPHuHDAl6JZzWxels/4ID370hxBWeKHn2QwltiQ+rhZnb968Km0UpLG3qME/6tV/lu7 WzEQ== X-Gm-Message-State: AOAM530+XORLKzYqDf/pBNgVvCp4k3+AG/movnONI0agq7xyc0CqRigU R3F/yqaN2RyuwjFNUKZpwceXQrgX8tjr8bDwBEc2vTw/OcPvAzLQrTXofTdGSW0tJjjfKwJLkXW JkPIdvyWsVZNizVL2TLFsCDYP40m8kOEQCG4/7PMum488VDtBEad414rbkBuCwKdi9rjU3KZW8N M4yRnOs5S53uqxig== X-Google-Smtp-Source: ABdhPJxwj9b2/hcqCG+MtFPBwp9IjFYcwBsUBm9GdAMR15jRqp9wZjdK25SXigfi/Z1EfAdauWNYxA== X-Received: by 2002:a17:90a:9915:: with SMTP id b21mr1944729pjp.109.1599677360409; Wed, 09 Sep 2020 11:49:20 -0700 (PDT) Return-Path: Received: from LBRMN-LNXUB114.ric.broadcom.net ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id l24sm3129803pff.20.2020.09.09.11.49.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Sep 2020 11:49:19 -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 v11 0/1] ShellPkg/DynamicCommand: add HttpDynamicCommand Date: Wed, 9 Sep 2020 11:49:03 -0700 Message-Id: <20200909184904.11129-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 v11 changes: Address comments from Laszlo: - use TimeBaseLib.h header to get rid of duplicated constants; - explicitly return UINT32 in EfiTimeToEpoch(). 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 | 91 + ShellPkg/Include/Guid/ShellLibHiiGuid.h | 5 + .../DynamicCommand/HttpDynamicCommand/Http.c | 1823 +++++++++++++++++ .../HttpDynamicCommand/HttpApp.c | 61 + .../HttpDynamicCommand/HttpDynamicCommand.c | 137 ++ .../HttpDynamicCommand/Http.uni | 117 ++ 10 files changed, 2361 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