From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by mx.groups.io with SMTP id smtpd.web10.137652.1598025987795943707 for ; Fri, 21 Aug 2020 09:06:28 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@broadcom.com header.s=google header.b=NZpskrVL; 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.214.182, mailfrom: vladimir.olovyannikov@broadcom.com) Received: by mail-pl1-f182.google.com with SMTP id s14so1079762plp.4 for ; Fri, 21 Aug 2020 09:06:27 -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=O4aABcSTBUk/TTMwE3JfmmXTz5p4JuczLHQDsrtfBBY=; b=NZpskrVLMMOThKxFUY19F+gY8X+PWAEKooZhk22XWdlrZCIMcSKGyI+yOovkNTvCb3 TYAUNbujcTanIAVgfnV5bpCNerq0AgEj79QczwLTlkabby7gXWYj+4uedJ4VNNVf01f2 jrDxZA3XCpAf7jxstAqUusLLvn86MHk988ZB8= 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=O4aABcSTBUk/TTMwE3JfmmXTz5p4JuczLHQDsrtfBBY=; b=bIAV1toT793oDiYlNhkR+fs+UfIiNXc4bM34ww3F5RRTOz1tk/YbygO50UM8TCDfz+ 1+lNLe0ln0pnKAjwopnqxkipgFFISAv5ahbmEeaIUqWyT1G75GveNMhbor3vVzkpCGCr NwC1xVY0Myibtb7+rZkYUEzmgw8y0XBrJHMSi/u57bFOibiq2bUft3VGbboOL+IbM3M/ cG6tNJYETbBTlb586GGDQtbMcwxR7J5RnfrLcCfP+Oq4coiV+sSu3SmMR/GC35YwFkKs bsHPne2jKOuSsvZIrJZL4Qw0vy/xaDSiNxeGqas8LSXROS59LKA77Kp8f45JC7v+PJtI Bwdw== X-Gm-Message-State: AOAM530WPaaUj/+OpeJPD95QyPUed7lDkcXHKBU53GwwZGltGd5FcsLS 2LlYYeH1x+m96i5RGki/fMaJqvEdlmGXXKY33DyyDnM/9cvBfCaFgKn1Ug0njUNSBEAnaZVsSRs PjZeWZbhvTTmDchUXo8CMiEPQM+t+ELVMQC1h808P75ceOi1rEh5okeykOX/2wIjLVw5RV76HUX j2yjSeCK0oosW48w== X-Google-Smtp-Source: ABdhPJxF2a1pKTpE59XpddCZqGHmofsXWIcPsW/28b3pZXzk4FzO0cg6vZxdHlu9evErYax5QCmxSA== X-Received: by 2002:a17:90b:238d:: with SMTP id mr13mr2883722pjb.132.1598025986454; Fri, 21 Aug 2020 09:06:26 -0700 (PDT) Return-Path: Received: from LBRMN-LNXUB114.ric.broadcom.net ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id q7sm2941746pfu.133.2020.08.21.09.06.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 09:06:24 -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 v6 0/1] ShellPkg/DynamicCommand: add HttpDynamicCommand Date: Fri, 21 Aug 2020 09:05:54 -0700 Message-Id: <20200821160555.21436-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 v6 changes: Address Laszlo' and Maciej's comments: - adjusted code to comply with EDK2 code style; - replaced multiple ShellPrintHiiEx calls with appropriate macros for better readability - refactored TrimSpaces() to avoid multiple CopyMem() calls. 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 | 88 + ShellPkg/Include/Guid/ShellLibHiiGuid.h | 5 + .../DynamicCommand/HttpDynamicCommand/Http.c | 1693 +++++++++++++++++ .../HttpDynamicCommand/HttpApp.c | 61 + .../HttpDynamicCommand/HttpDynamicCommand.c | 137 ++ CryptoPkg/Library/OpensslLib/openssl | 2 +- .../HttpDynamicCommand/Http.uni | 116 ++ 11 files changed, 2228 insertions(+), 1 deletion(-) 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