[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolo
From: |
Andrei Borzenkov |
Subject: |
Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon |
Date: |
Wed, 25 Jan 2017 07:15:15 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 |
25.01.2017 07:06, Matthew Garrett пишет:
> On Tue, Jan 24, 2017 at 7:48 PM, Andrei Borzenkov <address@hidden> wrote:
>> 24.01.2017 23:50, Matthew Garrett пишет:
>>> On Mon, Jan 23, 2017 at 8:02 PM, Andrei Borzenkov <address@hidden> wrote:
>>>> 24.01.2017 03:36, Matthew Garrett пишет:
>>>>> Some DHCP servers (such as dnsmasq) tokenise parameters with commas,
>>>>> making
>>>>> it impossible to pass boot files with commas in them. Allow using a
>>>>
>>>> grub_net_open() operates on devices, not files. Please give more details
>>>> about your problem.
>>>
>>> The DHCP server will return a string in the boot_file field. If you
>>> want to indicate that this file should be obtained over http, the
>>> easiest way to handle this is to provide a boot file in the form
>>> (http,host)filename. Unfortunately dnsmasq uses commas to tokenise its
>>> configuration parameters and there appears to be no way to override
>>> that, which makes it impossible to provide a boot file in this form.
>>> Allowing the use of an alternative character avoids this problem.
>>>
>>
>> This won't work because (http,host) will never be interpreted as device
>> in current code so you need to support this first before this patch can
>> even be considered. Also I am not convinced that arbitrary changing
>> syntax is good idea.
>
> I don't understand - grub_net_open_real() already handles this case:
Because bootfile from DHCP packet is not used to set device part of
$prefix. Setting bootfile to (http,host)filename will end up with full
prefix "(tftp,$next_ip)(http,host)base-name-of-filename". If you mean
something different, please explain.
>
> else
> {
> const char *comma;
> comma = grub_strchr (name, ',');
> if (comma)
> {
> protnamelen = comma - name;
> server = comma + 1;
> protname = name;
> }
> else
> {
> protnamelen = grub_strlen (name);
> server = grub_net_default_server;
> protname = name;
> }
>
>
>> You already can set $prefix when generating image. Why is it not enough?
>
> Because we ship prebuilt images but don't know what IP addresses users
> will be using for their deployment servers.
>
I can think about implementing URI parsing (somewhat in line with UEFI
HTTPboot spec) and/or supporting partial $prefix that sets only
protocol, something like "grub-mknetdir --prefix=(http,)", where server
part is filled from DHCP ACK.
- [PATCH 2/4] Send a user class identifier in bootp requests and tag it as DHCP discover, (continued)
- [PATCH 2/4] Send a user class identifier in bootp requests and tag it as DHCP discover, Matthew Garrett, 2017/01/23
- [PATCH 3/4] Don't allocate a new address buffer if we receive multiple DNS responses, Matthew Garrett, 2017/01/23
- [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Matthew Garrett, 2017/01/23
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Andrei Borzenkov, 2017/01/23
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Matthew Garrett, 2017/01/24
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Andrei Borzenkov, 2017/01/24
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Matthew Garrett, 2017/01/24
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon,
Andrei Borzenkov <=
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Matthew Garrett, 2017/01/24
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Andrei Borzenkov, 2017/01/25
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Matthew Garrett, 2017/01/25
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Andrei Borzenkov, 2017/01/25
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Matthew Garrett, 2017/01/25
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Michael Chang, 2017/01/25
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Matthew Garrett, 2017/01/25
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Michael Chang, 2017/01/25
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Matthew Garrett, 2017/01/25
- Re: [PATCH 4/4] Allow protocol to be separated from host with a semicolon, Andrei Borzenkov, 2017/01/25