On Thu, Aug 20, 2015 at 05:04:38AM +0000, Fu, Siyuan wrote: > The patch is good, do you have access authority of edk2? Or I can help to > commit this patch. > > Reviewed-by: Fu Siyuan <siyuan...@intel.com> > I don't have the access right. That would be great if you can help me.
Thanks, Gary Lin > > > > -----Original Message----- > From: Gary Ching-Pang Lin [mailto:g...@suse.com] > Sent: Thursday, August 20, 2015 11:49 AM > To: edk2-devel@lists.01.org > Cc: Laszlo Ersek; Justen, Jordan L; Fu, Siyuan > Subject: [PATCH v3 1/2] NetworkPkg: Remove the hostname from the http request > URL > > Per RFC7230, the URL must be a absolute-path when making a request directly > to the server. Since proxy is not supported now, all requests to the HTTP > driver are actually direct requests. This commit removes the scheme and the > hostname from the URL in the http request if the URL is an absolute-URI so > that the HTTP server can interpret the request properly. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Gary Ching-Pang Lin <g...@suse.com> > Reviewed-by: Ye Ting <ting...@intel.com> > --- > NetworkPkg/HttpDxe/HttpImpl.c | 19 ++++++++++++++++++- > 1 file changed, 18 insertions(+), 1 deletion(-) > > diff --git a/NetworkPkg/HttpDxe/HttpImpl.c b/NetworkPkg/HttpDxe/HttpImpl.c > index 545fe42..6684f77 100644 > --- a/NetworkPkg/HttpDxe/HttpImpl.c > +++ b/NetworkPkg/HttpDxe/HttpImpl.c > @@ -227,6 +227,7 @@ EfiHttpRequest ( > CHAR16 *HostNameStr; > HTTP_TOKEN_WRAP *Wrap; > HTTP_TCP_TOKEN_WRAP *TcpWrap; > + CHAR8 *FileUrl; > > if ((This == NULL) || (Token == NULL)) { > return EFI_INVALID_PARAMETER; > @@ -450,7 +451,23 @@ EfiHttpRequest ( > // > // Create request message. > // > - RequestStr = HttpGenRequestString (HttpInstance, HttpMsg, Url); > + FileUrl = Url; > + if (*FileUrl != '/') { > + // > + // Convert the absolute-URI to the absolute-path > + // > + while (*FileUrl != ':') > + FileUrl++; > + if ((*(FileUrl+1) == '/') && (*(FileUrl+2) == '/')) { > + FileUrl += 3; > + while (*FileUrl != '/') > + FileUrl++; > + } else { > + Status = EFI_INVALID_PARAMETER; > + goto Error3; > + } > + } > + RequestStr = HttpGenRequestString (HttpInstance, HttpMsg, FileUrl); > if (RequestStr == NULL) { > Status = EFI_OUT_OF_RESOURCES; > goto Error3; > -- > 2.1.4 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel