[syslinux] I heard the patch window was open? Two small patches

Ady Ady ady-sf at hotmail.com
Thu Nov 1 23:59:51 PDT 2018


>     Fix PATH parsing to match the documentation at
>     http://www.syslinux.org/wiki/index.php?title=Config#PATH
>     that the list is space-separated
> 
> 
>     Change path_add so that it adds new entries at the end not
>     the beginning of the list.  This fixes an issue where PATH
>     with multiple directories listed would effectively reverse
>     the order of the searched directories
> 
 
The original email thread about the task of the ":" symbol in/for the 
PATH directive was started during 2013Jun, around the same time version 
5.10 was released ("PXE + dhcp opts 209, 210 and path issues in 
tftp/http"). Version 5.11-pre1 was released just for this matter.


The recommendation for users should be:
1_ avoid multiple paths for the PATH directive;
2_ if you "must" use multiple paths for the PATH directive, use 
multiple statements with one path per row, instead of using multiple 
paths within one PATH directive row/statement.
3_ There has been very little discussion - almost none at all - about 
the practical utility / purpose of having multiple paths in the PATH 
directive.

Having said that, the aforementioned email thread ("PXE + dhcp opts 
209, 210 and path issues in tftp/http") shows that using ":" as 
separator for the PATH directive can be problematic even without making 
use of the PATH directive (at all). Quoting from Matt Fleming:

 In retrospect, choosing the colon character as the entry separator for
 the PATH directive was not a smart move, as that character is also 
used
 in TFTP-style paths. This conflict manifests as PXELINUX being unable 
to
 find and load files.

So, this is (was?) a problem anyway.

An important detail to note is that Matt mentioned in the mailing list 
the intention (at some point of the discussion) to use the space 
character instead of ":" in the proposed patch, but the text was 
stripped (down/out) from the actual commit. See:

 https://www.syslinux.org/archives/2013-June/020131.html 

versus the _text_ itself in the commit:

 
https://repo.or.cz/syslinux.git/commit/19455794d144c2c38f483890e0d384bc4
3b5fd63 



But that commit is not exactly the proposed patch that was supposed to 
change the separator:

 [PATCH] PATH: Change the PATH directive syntax 

from Matt is seen at:
 https://www.syslinux.org/archives/2013-June/020138.html 

Quote: "Switch to using the space character to separate PATH entries"

One reason for the discrepancy is probably that the feedback for that 
proposed patch was that it failed:
 https://www.syslinux.org/archives/2013-June/020143.html

Quote:
 Nope :( I tested using this fixed patch, but still not work 
 

Perhaps one reason the "space character" change was not actually 
committed in any way or form can be explained by:

 https://www.syslinux.org/archives/2013-June/020146.html 

Quote:
 I'll split this patch up before committing anything 


There was also the matter of allowing space characters in paths (from 
HPA, same email thread). Since the specific problem presented in that 
email thread was (or, seemed to be) solved (without changing the ":"), 
then perhaps the matter of the specific character was (silently) 
postponed?


So, there seems to be one commit changing the PATH directive to be a 
linked list, but the use of ":" was not changed (?). Since the feedback 
was that the linked list solved the "ftp-like" paths problem, perhaps 
Matt decided that the ":" should prevail, instead of changing it, but 
he never actually said anything?



The PATH directive has too-many inconsistencies (e.g. absolute paths 
vs. relative paths), bugs, unsupported cases... And, from the point of 
view of users, Syslinux should provide better alternatives (which were 
partly-proposed publicly in the mailing list too, even by Matt himself, 
and myself too).

Unfortunately, this matter has been ignored / postponed for a very long 
time 
already.

Best Regards,
Ady.




More information about the Syslinux mailing list