From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by mx.groups.io with SMTP id smtpd.web10.23590.1598747347197832142 for ; Sat, 29 Aug 2020 17:29:07 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@broadcom.com header.s=google header.b=fSWnJbT9; 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.173, mailfrom: vladimir.olovyannikov@broadcom.com) Received: by mail-pl1-f173.google.com with SMTP id 10so1352425plg.8 for ; Sat, 29 Aug 2020 17:29:07 -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=+cODdtbjqkG0OpEas33D4ldCThGsCkiHBVT4218Wd8o=; b=fSWnJbT9VYJdCSnh9qteM2gU7nwFQWwyWdtKpZhmKmdyN0RtzXPonFk3gN+b7S0bd+ htiYcZJnkV7Ay5xjKpkfz8XEOmgcaQrX9ERFo5OadoGtchiLvXClyXPpxLnFg5GgKGQc zdzmLh/wEE8vFrhuI1QKaLhR/t2V//qje3elo= 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=+cODdtbjqkG0OpEas33D4ldCThGsCkiHBVT4218Wd8o=; b=W31wyK3HEUk6/0jo6URyOT19Hbw9bxjXk76S8U1eGFuMefdzgoA2jYx5M8Q/6rxDqz H/eF231rjrdlcvgqvaPYlzHN86M25tOhWOdYBmpakEwjngT7HdhXkMnrqzJe2nqfRCmq tbQPbQmrQbHEjKulc1dfSKn3xYek5pL/2rfWytCvrxeM06lHOPHkoqyDLlcMThe03n5x HCNBniVdF5IHSerJIeEHxQ3NUqqWb79VuKgnUsfxfFtAECEgGEl9PFpIodVHb7tQwlyA s8P079LXF8MAbxHgCdiRm40i1hL+fFseeGJShw8eh3uBRmY/VrBbODAru9g/F4qR3TuE GGmw== X-Gm-Message-State: AOAM532NGdowl9jCswU0Bxb5oOEICpiozoIYZgYHXnTGvX92nfAJLeYO 3CnemrWkQq1AZhUb4gZpWxjiMujlS9B4o9lNIznsUl8e6JKMkNZB6R3YitcqYPU2qL/2ZP3Z1ft gqhzf1uMLg4t2/9JV8FQqRjJmcezPhvXHNVcmNlk6eFeuaVCHXsVWqznBSLPGcvXv3kJzPEbcFq 138XspX/MuxuC3UQ== X-Google-Smtp-Source: ABdhPJyJjvO2yq7rMc9Fffnku2Cvzp6TFVH2N80hNP9li61xSPyeE1gGKhOfWE0mHQaOxooV31z86A== X-Received: by 2002:a17:90a:55c8:: with SMTP id o8mr2376799pjm.215.1598747346044; Sat, 29 Aug 2020 17:29:06 -0700 (PDT) Return-Path: Received: from LBRMN-LNXUB114.ric.broadcom.net ([192.19.228.250]) by smtp.gmail.com with ESMTPSA id z15sm3174576pjz.12.2020.08.29.17.28.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2020 17:29:05 -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 v9 0/1] ShellPkg/DynamicCommand: add HttpDynamicCommand Date: Sat, 29 Aug 2020 17:28:45 -0700 Message-Id: <20200830002847.12726-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 v9 changes: - check that Response pointer is not NULL before accessing Data structure member, to prevent possible NULL pointer dereference. 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 | 1830 +++++++++++++++++ .../HttpDynamicCommand/HttpApp.c | 61 + .../HttpDynamicCommand/HttpDynamicCommand.c | 137 ++ .../HttpDynamicCommand/Http.uni | 117 ++ 10 files changed, 2367 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