[PATCH 1/4] uclient-fetch: --header option to pass additional raw HTTP headers

Sergey Ponomarev stokito at gmail.com
Wed Jun 22 03:26:09 PDT 2022


Hi Andre and Jo-Philipp,

Please add the calloc() error handler yourself because I'm not
experienced in C and I haven't time. But for you this may be just 5
minutes.
The feature is very important from my point of view. The first version
I sent a year(s?) ago but still no progress.
If there are any problems please let me know

On Wed, 22 Jun 2022 at 08:33, Andre Heider <a.heider at gmail.com> wrote:
>
> Hi Sergey,
>
> any update on this series? I'd be interested in the --header option.
>
> Thanks,
> Andre
>
> On 10/05/2022 11:11, Jo-Philipp Wich wrote:
> > Hi Sergey,
> >
> > a minor nitpick inline below.
> >
> > On 5/9/22 11:59 PM, Sergey Ponomarev wrote:
> >> You can add a custom HTTP header(s) to request:
> >>
> >>      wget --header='Authorization: Bearer TOKEN' \
> >>          --header='If-Modified-Since: Wed, 9 May 2021 12:16:00 GMT' \
> >>          https://example.com/
> >>
> >> Some headers like Authorization or User-Agent may be already set by --password or --user-agent.
> >> We may override them but it's a protection from user itself.
> >> To keep code concise the logic omitted.
> >>
> >> Signed-off-by: Sergey Ponomarev <stokito at gmail.com>
> >> ---
> >> [...]
> >> +                    case L_HEADER:
> >> +                            if (!raw_headers) {
> >> +                                    /* Max possible count of headers is the count of args (argc) - 2
> >> +                                     Since the first arg is program and last is a URL.
> >> +                                     But user may forget the URL and raw_headers is null terminated so allocate argc */
> >> +                                    raw_headers = calloc(argc, sizeof(char *));
> >
> > Please handle a possible calloc() error here. Maybe consider introducing an
> > "xalloc()" or similar helper which wraps calloc() and invokes abort() on NULL
> > return.
> >
> >> +                            }
> >> +                            raw_headers[raw_headers_count] = optarg;
> >> +                            raw_headers_count++;
> >> +                            break;
> >>                      case L_POST_DATA:
> >>                              post_data = optarg;
> >>                              break;
> >> [...]
> >
> >
> > _______________________________________________
> > openwrt-devel mailing list
> > openwrt-devel at lists.openwrt.org
> > https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>


-- 
Sergey Ponomarev,
stokito.com



More information about the openwrt-devel mailing list