I think my oven is broken, but maybe I have the recipe wrong. I've been trying to utilize the lwIP stack and dmi information to avoid iPXE use. I can do a SYSAPPEND 0x00080 and it shows up in /proc/cmdline after booting the kernel, but tcpdump is not revealing the cookies as described during HTTP calls in the documentation. Trying the magic "SENDCOOKIES" parameter outside of an inline SYSAPPEND call just gives me an "Error: An undefined symbol was referenced" I'm using 6.02 and lpxelinux.0; Loading lpxelinux.0 over tftp, kernel/initrd over http (see below) My default file looks like this: Label <some label> KERNEL http://path.to.kernel/vmlinuz0 APPEND <some flags> initrd=http://path.to.initrd/initrd0.img SYSAPPEND 0x1FFF0 This gives me all the magic DMI information on boot in /proc/cmdline, but I'm not getting any Cookie data, just this in the headers: User-Agent: Syslinux/6.02 Connection: close I'm supposed to get cookies, per this line in syslinux.txt - but cant figure out where to put it in the config file to have it be accepted. SENDCOOKIES bitmask [PXELINUX only] When downloading files over http, the SYSAPPEND strings are prepended with _Syslinux_ and sent to the server as cookies. The cookies are URL-encoded; whitespace is *not* replaced with underscores. This command limits the cookies send; 0 means no cookies. The default is -1, meaning send all cookies. This option is "sticky" and is not automatically reset when loading a new configuration file with the CONFIG command. Help?
On 11/20/2013 01:11 PM, Santillanes, Russel wrote:> I think my oven is broken, but maybe I have the recipe wrong. > > I've been trying to utilize the lwIP stack and dmi information to avoid iPXE use. I can do a SYSAPPEND 0x00080 and it shows up in /proc/cmdline after booting the kernel, but tcpdump is not revealing the cookies as described during HTTP calls in the documentation. > > Trying the magic "SENDCOOKIES" parameter outside of an inline SYSAPPEND call just gives me an "Error: An undefined symbol was referenced" > > I'm using 6.02 and lpxelinux.0; Loading lpxelinux.0 over tftp, kernel/initrd over http (see below) >Hmm... I wonder if we are missing an __export in http.c: __export void http_bake_cookies(void) If you have the ability to rebuild Syslinux, could you try adding the above and see if it helps? -hpa
Hmm... well adding the __export stopped the "undefined symbol" error from showing up when I add "SENDCOOKIES" in the config, however I'm still not seeing any cookies being sent to my webserver. Any ideas on how to further debug? (if you want to send me the debug compile options privately that's okay too) -----Original Message----- From: H. Peter Anvin [mailto:hpa at zytor.com] Sent: Wednesday, November 20, 2013 5:55 PM To: For discussion of Syslinux and tftp-hpa Subject: Re: [syslinux] Baking Cookies On 11/20/2013 01:11 PM, Santillanes, Russel wrote:> I think my oven is broken, but maybe I have the recipe wrong. > > I've been trying to utilize the lwIP stack and dmi information to avoid iPXE use. I can do a SYSAPPEND 0x00080 and it shows up in /proc/cmdline after booting the kernel, but tcpdump is not revealing the cookies as described during HTTP calls in the documentation. > > Trying the magic "SENDCOOKIES" parameter outside of an inline SYSAPPEND call just gives me an "Error: An undefined symbol was referenced" > > I'm using 6.02 and lpxelinux.0; Loading lpxelinux.0 over tftp, kernel/initrd over http (see below) >Hmm... I wonder if we are missing an __export in http.c: __export void http_bake_cookies(void) If you have the ability to rebuild Syslinux, could you try adding the above and see if it helps? -hpa