[PATCH] Allow colon in PXE bootfile URLs

Ramon Fried rfried.dev at gmail.com
Tue Sep 14 11:18:37 CEST 2021


On Tue, Sep 14, 2021 at 12:13 PM Ramon Fried <rfried.dev at gmail.com> wrote:
>
> On Sun, Aug 15, 2021 at 5:09 PM Lyle Franklin <lylejfranklin at gmail.com> wrote:
> >
> > From: Lyle Franklin <lylejfranklin at gmail.com>
> > Date: Sun, 15 Aug 2021 07:17:14 -0400
> > Subject: [PATCH] Allow colon in PXE bootfile URLs
> >
> > - U-boot's PXE flow supports prefixing your bootfile name with an
> >   IP address to fetch from a server other than the DHCP server,
> >   e.g. `hostIPaddr:bootfilename`:
> >
> > https://github.com/u-boot/u-boot/commit/a93907c43f847f076dd0e34ee3b69b5e8e6d0d29
> > - However, this breaks bootfile paths which contain a colon, e.g.
> >   `f0:ad:4e:10:1b:87/7/pxelinux.cfg/default`
> > - This patch checks whether the `hostIPaddr` prefix is a valid
> >   IP address before overriding the serverIP otherwise the whole
> >   bootfile path is preserved
> >
> > Signed-off-by: Lyle Franklin <lylejfranklin at gmail.com>
> > ---
> >  net/net.c | 8 ++++++--
> >  1 file changed, 6 insertions(+), 2 deletions(-)
> >
> > diff --git a/net/net.c b/net/net.c
> > index c2992a0908..30fc0a29d7 100644
> > --- a/net/net.c
> > +++ b/net/net.c
> > @@ -1540,14 +1540,18 @@ int is_serverip_in_cmd(void)
> >  int net_parse_bootfile(struct in_addr *ipaddr, char *filename, int max_len)
> >  {
> >   char *colon;
> > + struct in_addr ip;
> >
> >   if (net_boot_file_name[0] == '\0')
> >   return 0;
> >
> >   colon = strchr(net_boot_file_name, ':');
> >   if (colon) {
> > - if (ipaddr)
> > - *ipaddr = string_to_ip(net_boot_file_name);
> > + ip = string_to_ip(net_boot_file_name);
> > + if (ipaddr && ip.s_addr)
> > + *ipaddr = ip;
> > + }
> > + if (ip.s_addr) {
> >   strncpy(filename, colon + 1, max_len);
> >   } else {
> >   strncpy(filename, net_boot_file_name, max_len);
> > --
> > 2.31.1
> Reviewed-by: Ramon Fried <rfried.dev at gmail.com>

Patch doesn't apply, please rebase and resend.
Additionally, it looks like there is wrong indentation, please check
patch with checkpatch before resubmitting
Thanks,
Ramon


More information about the U-Boot mailing list