OK, the patch is good with me. Reviewed-by: Fu Siyuan <siyuan...@intel.com>
> -----Original Message----- > From: Wu, Jiaxin > Sent: Wednesday, August 1, 2018 10:42 AM > To: Fu, Siyuan <siyuan...@intel.com>; edk2-devel@lists.01.org > Cc: Ye, Ting <ting...@intel.com>; Laszlo Ersek <ler...@redhat.com> > Subject: RE: [Patch] NetworkPkg/HttpDxe: Stripped square brackets in IPv6 > expressed HostName. > > Hi Siyuan, > > Even we have one lib for us to get the IPv6 address, I still prefer to use > the patch did, because the format returned from the HttpUrlGetIp6 is > EFI_IPv6_ADDRESS, we have to transform it to CHAR8, which means we also > need another lib included here to do that. Actually, the patch is quite > simply even than API did. What do you think? > > Thanks, > Jiaxin > > > -----Original Message----- > > From: Fu, Siyuan > > Sent: Wednesday, August 1, 2018 10:06 AM > > To: Wu, Jiaxin <jiaxin...@intel.com>; edk2-devel@lists.01.org > > Cc: Ye, Ting <ting...@intel.com>; Laszlo Ersek <ler...@redhat.com> > > Subject: RE: [Patch] NetworkPkg/HttpDxe: Stripped square brackets in > IPv6 > > expressed HostName. > > > > Hi, Jiaxin > > > > The HttpLib already has HttpUrlGetIp6() for this. > > > > BestRegards > > Fu Siyuan > > > > > -----Original Message----- > > > From: Wu, Jiaxin > > > Sent: Wednesday, August 1, 2018 9:55 AM > > > To: edk2-devel@lists.01.org > > > Cc: Ye, Ting <ting...@intel.com>; Fu, Siyuan <siyuan...@intel.com>; > Laszlo > > > Ersek <ler...@redhat.com>; Wu, Jiaxin <jiaxin...@intel.com> > > > Subject: [Patch] NetworkPkg/HttpDxe: Stripped square brackets in IPv6 > > > expressed HostName. > > > > > > In URI, the colon (:) is used to terminate the HostName path before > > > a port number. However, if HostName is expressed as IPv6 format, colon > > > characters in IPv6 addresses will conflict with the colon before port > > > number. To alleviate this conflict in URI, the IPv6 expressed HostName > > > are enclosed in square brackets ([]). To record the real IPv6 HostName, > > > square brackets should be stripped. > > > > > > Cc: Ye Ting <ting...@intel.com> > > > Cc: Fu Siyuan <siyuan...@intel.com> > > > Cc: Laszlo Ersek <ler...@redhat.com> > > > Contributed-under: TianoCore Contribution Agreement 1.0 > > > Signed-off-by: Wu Jiaxin <jiaxin...@intel.com> > > > --- > > > NetworkPkg/HttpDxe/HttpImpl.c | 17 ++++++++++++++--- > > > 1 file changed, 14 insertions(+), 3 deletions(-) > > > > > > diff --git a/NetworkPkg/HttpDxe/HttpImpl.c > > b/NetworkPkg/HttpDxe/HttpImpl.c > > > index 17deceb395..e05ee9344b 100644 > > > --- a/NetworkPkg/HttpDxe/HttpImpl.c > > > +++ b/NetworkPkg/HttpDxe/HttpImpl.c > > > @@ -403,14 +403,25 @@ EfiHttpRequest ( > > > Status = HttpParseUrl (Url, (UINT32) AsciiStrLen (Url), FALSE, > > > &UrlParser); > > > if (EFI_ERROR (Status)) { > > > goto Error1; > > > } > > > > > > - HostName = NULL; > > > - Status = HttpUrlGetHostName (Url, UrlParser, &HostName); > > > + Status = HttpUrlGetHostName (Url, UrlParser, &HostName); > > > if (EFI_ERROR (Status)) { > > > - goto Error1; > > > + goto Error1; > > > + } > > > + > > > + if (HttpInstance->LocalAddressIsIPv6 && AsciiStrSize (HostName) > > 2 > > > && > > > + HostName[0] == '[' && *(HostName + (AsciiStrSize (HostName) - > 2)) > > > == ']') { > > > + // > > > + // HostName format is expressed as IPv6, so, remove '[' and ']'. > > > + // > > > + HostNameSize = AsciiStrSize (HostName) - 2; > > > + > > > + CopyMem (HostName, HostName + 1, HostNameSize - 1); > > > + > > > + *(HostName + HostNameSize - 1) = '\0'; > > > } > > > > > > Status = HttpUrlGetPort (Url, UrlParser, &RemotePort); > > > if (EFI_ERROR (Status)) { > > > if (HttpInstance->UseHttps) { > > > -- > > > 2.17.1.windows.2 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel