[prev in list] [next in list] [prev in thread] [next in thread]
List: grub-devel
Subject: Re: [PATCH 2/6] net/http: Return an error on HTTP error responses
From: Daniel Kiper <dkiper () net-space ! pl>
Date: 2020-05-29 11:36:32
Message-ID: 20200529113632.v3iffefupgbecony () tomti ! i ! net-space ! pl
[Download RAW message or body]
On Thu, May 28, 2020 at 09:10:59AM +0200, Javier Martinez Canillas wrote:
> On 5/25/20 9:02 PM, Daniel Kiper wrote:
> > From: Olaf Hering <olaf@aepfle.de>
> >
> > A http transfer will hang if an error is returned. The error branch
> > returns the value GRUB_ERR_NONE which is not expected by the caller.
> >
> > Signed-off-by: Olaf Hering <olaf@aepfle.de>
> > Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
> > ---
> > grub-core/net/http.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/grub-core/net/http.c b/grub-core/net/http.c
> > index b616cf40b..0d3da7501 100644
> > --- a/grub-core/net/http.c
> > +++ b/grub-core/net/http.c
> > @@ -118,14 +118,14 @@ parse_line (grub_file_t file, http_data_t data, char *ptr, grub_size_t len)
> > case 404:
> > data->err = GRUB_ERR_FILE_NOT_FOUND;
> > data->errmsg = grub_xasprintf (_("file `%s' not found"), data->filename);
> > - return GRUB_ERR_NONE;
> > + return GRUB_ERR_FILE_NOT_FOUND;
> > default:
> > data->err = GRUB_ERR_NET_UNKNOWN_ERROR;
> > /* TRANSLATORS: GRUB HTTP code is pretty young. So even perfectly
> > valid answers like 403 will trigger this very generic message. */
> > data->errmsg = grub_xasprintf (_("unsupported HTTP error %d: %s"),
> > code, ptr);
> > - return GRUB_ERR_NONE;
> > + return GRUB_ERR_FILE_READ_ERROR;
> > }
> > data->first_line_recv = 1;
> > return GRUB_ERR_NONE;
> >
>
> There is one case that is still returning GRUB_ERR_NONE even when is taken as
> an error and that is when the HTTP version != 1.1. Maybe fixing that as well?
OK, I will take a look at it.
Daniel
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic