From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by mx.groups.io with SMTP id smtpd.web11.23.1598636701853053584 for ; Fri, 28 Aug 2020 10:45:02 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@broadcom.com header.s=google header.b=iPsmcVxj; 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.215.178, mailfrom: vladimir.olovyannikov@broadcom.com) Received: by mail-pg1-f178.google.com with SMTP id m34so763886pgl.11 for ; Fri, 28 Aug 2020 10:45:01 -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=ZikvspyMB5mn12cUDxU8l84fMKY5WnRSuZXhdrmv3SU=; b=iPsmcVxj9QtI55b3k78zsfSlPE02fLliCeS4gLAFQO+jElm7CQj0WwKzQDuf3Gw9D1 jtTc0jnUBmk1iH94vHjcgnUPVRFsNzhxY7Kg3efbqXDQsQYf/NyJElfA9cIPXS8jcMXb aUjgBR2qN4yDkIY9eJoa4FiNWAIZPqPbZpy9o= 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=ZikvspyMB5mn12cUDxU8l84fMKY5WnRSuZXhdrmv3SU=; b=LpsrivvAibRdVj5CaLiqJg6gMYSdz+0q6OsxgtJsCimm+8wRUI+S2tfgKxKZpSZEZ0 HNg/9eN85hqfq1hbErut1+dkT3pOl17AZjLdA9mHevpD1RW58MuRSvsHCdlmbgn9qukm foEz/RCiunzG26gvmRuuxymlEmsEDH26vNlL2K8k3dFKAMJCvfFrkSMe0vbYUhO8Oce/ RbRDFsWw0tJqsdtOjSOUCKrOEj6RD8IftRwwxLa+UjwFA761mc9UgNg2gD9DYkm6FARw G9NR/evq8wnYRuD7If4Byd2dTjwUC9UDX6w4PUuJ3am2uTKAZZIbMjYtQfbCQD62iRpb sDUg== X-Gm-Message-State: AOAM530ZocoqrihXTggDlAM1LR9j4HQ/+6TX/Qsrvhf6fLYjZMRWkgfV AJjfv+3jeIDgrV3//65uBdfBsqTCnCyXlCiVjqNEOcHzWR+ElWWUUMAsNl7bW8j89xyGHSxM6bn MQ1CUiFmaJzJsTEB4F7JUqN9WC5Gl570uw8jysY0U61gHOy6NhBbGuazoGsQIaF0ZKafglpfPM0 FpYNTxqMHudsRnyg== X-Google-Smtp-Source: ABdhPJwwBykL+UPHWnlY7QZL+jKrXn1m4tr/O5+Vj3c4u84vGbe0jxz36ZsI6sIhQBpFRLIH9nDVog== X-Received: by 2002:a62:7845:: with SMTP id t66mr116546pfc.238.1598636700729; Fri, 28 Aug 2020 10:45:00 -0700 (PDT) Return-Path: Received: from LBRMN-LNXUB114.ric.broadcom.net ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id s68sm29960pfb.91.2020.08.28.10.44.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2020 10:44:59 -0700 (PDT) From: "Vladimir Olovyannikov" To: devel@edk2.groups.io Cc: Laszlo Ersek , Vladimir Olovyannikov , Zhichao Gao , Maciej Rabeda , Jiaxin Wu , Siyuan Fu , Ray Ni , Liming Gao , Nd , Samer El-Haj-Mahmoud Subject: [PATCH v8 0/1] ShellPkg/DynamicCommand: add HttpDynamicCommand Date: Fri, 28 Aug 2020 10:44:49 -0700 Message-Id: <20200828174450.24342-1-vladimir.olovyannikov@broadcom.com> X-Mailer: git-send-email 2.26.2.266.ge870325ee8 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 v8 changes: - fix a redirection bug (SocketConfigure() returning EFI_ACCESS_DENIED on redirected request); - add headers which servers may require, in a request; - add a feature to show download time in seconds. 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 | 1823 +++++++++++++++++ .../HttpDynamicCommand/HttpApp.c | 61 + .../HttpDynamicCommand/HttpDynamicCommand.c | 137 ++ .../HttpDynamicCommand/Http.uni | 117 ++ 10 files changed, 2360 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.26.2.266.ge870325ee8