H. Peter Anvin [Wed, 13 Feb 2008 18:56:39 +0000 (10:56 -0800)]
isolinux: spec buffer size is 13h (19), not 13
The El Torito spec says "13", but it's implicitly hexadecimal. We got
it right in one place and wrong in another. Fix.
H. Peter Anvin [Wed, 13 Feb 2008 02:38:39 +0000 (18:38 -0800)]
The shuffle descriptors need to be unused for input *and* output
The memory used to hold shuffle descriptors must be unused during the
entire execution of the shuffle sequence, and therefore needs to be
free at input *and* output time.
Once we have picked a region for the shuffle descriptors, we can free
this working copy and start over with a clean memory map, the only
thing we do there is mark as reserved the memory used by the
descriptors.
H. Peter Anvin [Wed, 13 Feb 2008 00:53:20 +0000 (16:53 -0800)]
Change the minimum number of shuffle descriptors to 64.
Only use 64 as a static guarantee of the number of shuffle
descriptors; corresponding to 768 bytes of memory.
H. Peter Anvin [Wed, 13 Feb 2008 00:47:39 +0000 (16:47 -0800)]
Query the shuffle descriptor set size and use it
Query the maximum number of shuffle descriptors, and use that number
as the descriptor block size.
H. Peter Anvin [Wed, 13 Feb 2008 00:39:17 +0000 (16:39 -0800)]
Move the prototypes for syslinux_shuffle_boot_*()
Move the prototypes for syslinux_shuffle_boot_[pr]m() from
<syslinux/movebits.h> to <syslinux/boot[pr]m.h>, which anyway has the
required structure definitions. #include <syslinux/movebits.h> in
those files instead of relying on forward structure definitions.
H. Peter Anvin [Wed, 13 Feb 2008 00:05:04 +0000 (16:05 -0800)]
A bit more exactitude in the documentation
H. Peter Anvin [Tue, 12 Feb 2008 23:56:45 +0000 (15:56 -0800)]
Switch the display file and graphics routines to using the getc stack
The file display and graphics routines used their own file management
since the old getc code did not nest. The new one does (necessary to
support INCLUDE), so use the same routines and get rid of the ad hoc
buffer management.
H. Peter Anvin [Tue, 12 Feb 2008 23:48:25 +0000 (15:48 -0800)]
getc: don't clobber AH; return CF=1, AL=0 on end of file
Don't clobber AH when calling getc; when returning with CF=1 (EOF),
always return with AL=0.
H. Peter Anvin [Tue, 12 Feb 2008 22:11:06 +0000 (14:11 -0800)]
NEWS: document longer command line limit.
H. Peter Anvin [Tue, 12 Feb 2008 22:10:13 +0000 (14:10 -0800)]
simple menu: extend command line size to 2047 characters
Extend the command line size to 2047 characters. The editor probably
doesn't deal all that well with it; as it pretty much needs a
scrolling window of some sort (2047 characters is bigger than an 80x25
screen.)
Worry about that bit later.
H. Peter Anvin [Tue, 12 Feb 2008 21:09:07 +0000 (13:09 -0800)]
Change command line limit to 2047 characters
Change the command line limit to 2047 characters, which is also the
current kernel limit. As a result, shuffle around the memory layout
to make the larger buffers fit.
TODO: consider moving vgafontbuf to getcseg, and try to make do with
fewer command line-sized buffers.
H. Peter Anvin [Tue, 12 Feb 2008 08:32:24 +0000 (00:32 -0800)]
Remove last users of getcbuf; reclaim the address space
Remove the last few uses of getcbuf (to extend trackbuf for shuffle
descriptors, and for temp storage during pxelinux config file search.)
As a result, change the way RBFG_brainfuck is handled in pxelinux (at
some point it's probably not worth maintaining anymore, as RBFG is no
longer widely used); add a .bss2 section for the region between the
RBFG zone and the stack.
H. Peter Anvin [Tue, 12 Feb 2008 02:35:41 +0000 (18:35 -0800)]
shuffle: avoid computing block lists that will never converge
It is safe to assume that the number of moves will never decrease as
the reserved memory space increases; thus, no need to do individual
increments; skip ahead.
H. Peter Anvin [Tue, 12 Feb 2008 02:00:15 +0000 (18:00 -0800)]
Document changes
H. Peter Anvin [Tue, 12 Feb 2008 01:55:29 +0000 (17:55 -0800)]
Handle arbitrary numbers of shuffle descriptors
Allocate high memory out of the way to hold the shuffle descriptors,
and generate continuation descriptors as needed.
H. Peter Anvin [Tue, 12 Feb 2008 01:54:18 +0000 (17:54 -0800)]
comboot: guarantee at least 256 shuffle descriptors
Make a static guarantee of a minimum of 256 shuffle descriptors.
H. Peter Anvin [Tue, 12 Feb 2008 01:34:21 +0000 (17:34 -0800)]
Working on version 3.62
H. Peter Anvin [Mon, 11 Feb 2008 06:53:07 +0000 (22:53 -0800)]
simple menu: support sha256 and sha512 passwords
Add support for sha256 and sha512 passwords in the simple menu system.
H. Peter Anvin [Mon, 11 Feb 2008 06:52:36 +0000 (22:52 -0800)]
com32/*: move _GNU_SOURCE definitions into Makefiles
We need _GNU_SOURCE when compiling for Linux in enough places. Just
move it to the LNXCFLAGS definition in the Makefiles.
H. Peter Anvin [Mon, 11 Feb 2008 06:50:32 +0000 (22:50 -0800)]
libutil: add header file <xcrypt.h> for extended crypt routines
Add a common header file, xcrypt.h, for the various extended crypt
routines (md5, sha256, sha512).
H. Peter Anvin [Mon, 11 Feb 2008 06:48:25 +0000 (22:48 -0800)]
mempcpy(): correct naming of the mempcpy() function
All the internal symbols in mempcpy.S were "memcpy", which is
obviously wrong.
H. Peter Anvin [Mon, 11 Feb 2008 06:35:00 +0000 (22:35 -0800)]
simple menu: update copyright notices; clean whitespace
H. Peter Anvin [Mon, 11 Feb 2008 06:32:46 +0000 (22:32 -0800)]
simple menu: break password comparisons out into a separate file
Move passwd_compare() into a separate source file, for cleanliness.
H. Peter Anvin [Mon, 11 Feb 2008 06:31:32 +0000 (22:31 -0800)]
menu.c: add missing return statement
draw_background() returns int; make it return 0.
H. Peter Anvin [Mon, 11 Feb 2008 06:26:06 +0000 (22:26 -0800)]
Simple menu system: move to dedicated subdirectory
Move the simple menu system into its own subdirectory, to make it more
obvious which source files are part of it.
H. Peter Anvin [Fri, 8 Feb 2008 22:59:59 +0000 (14:59 -0800)]
memdump: avoid comma in filenames
Avoid using commas in filenames, since not all systems can handle
them.
H. Peter Anvin [Fri, 8 Feb 2008 22:57:49 +0000 (14:57 -0800)]
memdump: add .bin suffix to generated filenames
Add a .bin suffix to generated filenames
H. Peter Anvin [Fri, 8 Feb 2008 18:48:42 +0000 (10:48 -0800)]
Zero-terminate "aborted." string.
The string "aborted." was missing a null terminator.
H. Peter Anvin [Fri, 1 Feb 2008 23:46:33 +0000 (15:46 -0800)]
Document e820 parser change.
H. Peter Anvin [Fri, 1 Feb 2008 23:45:51 +0000 (15:45 -0800)]
E820 parser: handle BIOSes with multiple contiguous regions
Well, it has finally happened: a bug report regarding a BIOS with
emits multiple contiguous memory regions. Handle that case, and
(hopefully) simplify the logic while we're at it.
H. Peter Anvin [Tue, 29 Jan 2008 05:50:24 +0000 (21:50 -0800)]
Document fixing MD5 passwords.
H. Peter Anvin [Tue, 29 Jan 2008 05:49:42 +0000 (21:49 -0800)]
menu: clean up and fix MD5 password code
MD5 password code would append the encrypted password to a previous
password, with the result that it would never match after picking a
wrong password. Fix.
H. Peter Anvin [Thu, 24 Jan 2008 22:22:29 +0000 (14:22 -0800)]
extlinux: early check for ext2/ext3-ness of filesystem
Verify that we have an ext2 or ext3 filesystem early on.
H. Peter Anvin [Wed, 23 Jan 2008 07:16:32 +0000 (23:16 -0800)]
meminfo.c32: a program to dump out the system memory map
Handy little utility for dumping out the system memory map. Changes
no other code.
H. Peter Anvin [Tue, 22 Jan 2008 22:52:47 +0000 (14:52 -0800)]
mbr: save another 5 bytes by terminating error on newline
Save another 5 bytes by making the newline character do double duty as
newline and string terminator.
H. Peter Anvin [Tue, 22 Jan 2008 22:35:51 +0000 (14:35 -0800)]
mbr.S: save one more byte
%ax is set to zero at the top; we then set it to 0x4100, so we only
need to change %ah, not all of %ax.
H. Peter Anvin [Thu, 17 Jan 2008 06:37:32 +0000 (01:37 -0500)]
Advanced menu: update #include path
H. Peter Anvin [Thu, 17 Jan 2008 06:14:57 +0000 (01:14 -0500)]
ISOLINUX: fix booting when mastered with non-mkisofs tools
When we are *not* mastered with mkisofs, we depend on running the
checksumiso.pl script, in order to create a default boot info table.
Due to the Makefile changes in 3.50 (commit
9e3d217ee3869e4f4ddb1466621c079e14754660) that hasn't happened since
3.50-pre23.
Make it work now.
H. Peter Anvin [Wed, 16 Jan 2008 18:07:35 +0000 (10:07 -0800)]
Next version is 3.61
H. Peter Anvin [Wed, 16 Jan 2008 18:00:32 +0000 (13:00 -0500)]
EXTLINUX: correct bug when accessing an empty file; update NEWS.
Correct a bug that caused EXTLINUX to crash when accessing an empty
file.
H. Peter Anvin [Wed, 16 Jan 2008 17:50:49 +0000 (12:50 -0500)]
Standardize format for copyright lines and update
Update copyright lines and standardize the format.
H. Peter Anvin [Tue, 15 Jan 2008 20:14:03 +0000 (15:14 -0500)]
elf.c32: a PHDR segment is loadable; handle filesz > memsz
PHDR segments are equal to LOAD segments as far as the loader is
concerned. Also handle the case of filesz > memsz (by ignoring the
additional data.)
Jeffrey Hutzelman [Tue, 15 Jan 2008 03:34:08 +0000 (22:34 -0500)]
SHA1 passwords: initialize the context before salting
Need to initialize the SHA-1 context before we add the salt.
H. Peter Anvin [Fri, 11 Jan 2008 22:18:41 +0000 (14:18 -0800)]
adv: clean up NASM 2.01 warning
H. Peter Anvin [Fri, 11 Jan 2008 22:18:24 +0000 (14:18 -0800)]
Makefile: remove old cruft
H. Peter Anvin [Fri, 11 Jan 2008 06:42:00 +0000 (22:42 -0800)]
Merge commit 'syslinux-3.55' into adv
H. Peter Anvin [Fri, 11 Jan 2008 06:39:33 +0000 (22:39 -0800)]
specfile: install the man pages into %{_mandir}
H. Peter Anvin [Fri, 11 Jan 2008 06:37:06 +0000 (22:37 -0800)]
Fix the handling of man pages in the specfile.
H. Peter Anvin [Thu, 10 Jan 2008 19:16:16 +0000 (11:16 -0800)]
Merge commit 'origin/master' into adv
Conflicts:
extlinux/extlinux.c
H. Peter Anvin [Thu, 10 Jan 2008 19:13:57 +0000 (11:13 -0800)]
Update copyright year
H. Peter Anvin [Thu, 10 Jan 2008 03:07:30 +0000 (19:07 -0800)]
Merge commit 'origin/master' into adv
H. Peter Anvin [Thu, 10 Jan 2008 03:06:25 +0000 (19:06 -0800)]
Move rfc5071.txt into the doc directory
Documentation file needs to go in the doc directory...
H. Peter Anvin [Mon, 7 Jan 2008 23:13:59 +0000 (15:13 -0800)]
Unconditionally reset the ADV if we don't have one loaded from a medium
For non-extlinux derivatives, unconditionally initialize the in-memory
ADV to blank.
H. Peter Anvin [Mon, 7 Jan 2008 23:09:25 +0000 (15:09 -0800)]
Use the proper register when initializing a new ADV
H. Peter Anvin [Mon, 7 Jan 2008 22:16:17 +0000 (14:16 -0800)]
ADVSec0/1 are dwords, not bytes...
H. Peter Anvin [Sat, 5 Jan 2008 00:34:40 +0000 (16:34 -0800)]
Merge commit 'syslinux-3.55-pre4' into adv
H. Peter Anvin [Sat, 5 Jan 2008 00:24:11 +0000 (16:24 -0800)]
Handle vga={ask|normal|ext} in linux.c32
linux.c32 didn't handle vga={ask|normal|ext}, fix that.
H. Peter Anvin [Fri, 4 Jan 2008 04:32:11 +0000 (20:32 -0800)]
Fix incorrect handling of overlapping memory areas in bcopy32
bcopy32 had the test for forwards vs. backwards copy backwards, which
of course resulted in disaster when memory areas actually overlapped
themselves.
H. Peter Anvin [Thu, 3 Jan 2008 23:03:35 +0000 (15:03 -0800)]
Add simple module to load and run a protected-mode raw binary
Geert Stappers [Tue, 11 Dec 2007 08:31:37 +0000 (09:31 +0100)]
Document options to the syslinux command
Document options to the syslinux command (for doc/syslinux.doc).
H. Peter Anvin [Wed, 19 Dec 2007 00:14:41 +0000 (16:14 -0800)]
specfile: Manual pages are usually not tagged %doc
H. Peter Anvin [Tue, 18 Dec 2007 23:58:13 +0000 (15:58 -0800)]
Merge commit 'origin/master' into adv
H. Peter Anvin [Tue, 18 Dec 2007 23:55:10 +0000 (15:55 -0800)]
Move doc files to doc/, and add man pages from Debian
Move all the text documentation to the doc/ directory, add man pages
from the Debian syslinux package, and rename sys2ansi.pl to
syslinux2ansi.pl.
H. Peter Anvin [Tue, 18 Dec 2007 22:28:13 +0000 (14:28 -0800)]
Higher confidence in the harmlessness of the ADV code
Make more sure that the ADV code is harmless when the current
derivative doesn't support it.
H. Peter Anvin [Tue, 18 Dec 2007 22:24:08 +0000 (14:24 -0800)]
Document the EXTLINUX ADV commands.
H. Peter Anvin [Fri, 14 Dec 2007 23:33:15 +0000 (15:33 -0800)]
Update ADV documentation in comboot.doc
H. Peter Anvin [Fri, 14 Dec 2007 23:14:10 +0000 (15:14 -0800)]
Add missing libinstaller files
Files missing from previous checkin, sigh.
H. Peter Anvin [Fri, 14 Dec 2007 23:12:41 +0000 (15:12 -0800)]
Document ADV and its stuff
H. Peter Anvin [Fri, 14 Dec 2007 23:10:22 +0000 (15:10 -0800)]
Call this version 3.60. The gPXE support work is waiting for them.
The gPXE folk are stalled on their side of the gPXE support bargain.
Thus call this version 3.60 instead.
H. Peter Anvin [Fri, 14 Dec 2007 23:09:11 +0000 (15:09 -0800)]
Create libinstaller; actually implement boot-once for extlinux
--once now supported for extlinux; some infrastructure for syslinux
there as well, need implementation in all the various installers,
however.
H. Peter Anvin [Thu, 13 Dec 2007 22:47:48 +0000 (14:47 -0800)]
syslinux_setadv(): handle size == 0, error on size > 255
size == 0 means delete item; we don't want a header then.
size > 255 is always an error.
H. Peter Anvin [Thu, 13 Dec 2007 22:46:04 +0000 (14:46 -0800)]
Library routines for manipulating ADV data
H. Peter Anvin [Thu, 13 Dec 2007 22:07:59 +0000 (14:07 -0800)]
Documentation: ADV was definitely not in 3.53...
H. Peter Anvin [Thu, 13 Dec 2007 21:55:21 +0000 (13:55 -0800)]
Snapshot: initialize the default ADV for disk-based derivatives
For the disk-based derivatives, handle the default ADV that is part of
the image.
H. Peter Anvin [Mon, 15 Oct 2007 23:20:32 +0000 (16:20 -0700)]
Use the ADV to support boot-once
Define ADV tag 1 as boot-once; overrides DEFAULT once only
H. Peter Anvin [Thu, 11 Oct 2007 23:03:30 +0000 (16:03 -0700)]
Initial support for auxilliary data vector
Initial support for the auxillary data vector, a storage mechanism
intended to support boot-once and similar features.
H. Peter Anvin [Thu, 13 Dec 2007 18:11:05 +0000 (10:11 -0800)]
Deprecate PXELINUX option 208 in accordance with RFC 5071
As per RFC 5071, deprecate the use of PXELINUX option 208 (magic
number); options 209-211 are now specifically assigned to PXELINUX.
H. Peter Anvin [Thu, 13 Dec 2007 18:01:43 +0000 (10:01 -0800)]
3.54 is gone, now working on 3.55
H. Peter Anvin [Wed, 12 Dec 2007 23:18:20 +0000 (15:18 -0800)]
BBS on Award, not Phoenix, is broken... don't know about Phoenix.
The systems on which BBS has been found broken is Award, not Phoenix.
H. Peter Anvin [Wed, 12 Dec 2007 21:32:28 +0000 (13:32 -0800)]
Stealth whitespace cleanup
H. Peter Anvin [Tue, 11 Dec 2007 18:32:57 +0000 (10:32 -0800)]
Document cfarcall thunking support
H. Peter Anvin [Tue, 11 Dec 2007 01:54:37 +0000 (17:54 -0800)]
cdecl helper is 3.54 material
H. Peter Anvin [Mon, 10 Dec 2007 22:49:21 +0000 (14:49 -0800)]
Separate attribute control for disabled menu items
"menu color disabled" for disabled menu items.
H. Peter Anvin [Mon, 10 Dec 2007 22:35:13 +0000 (14:35 -0800)]
Documentation update: NEWS, new MENU commands
Document menu separator/menu indent/menu disable, as well as the Qemu fix.
H. Peter Anvin [Mon, 10 Dec 2007 22:28:53 +0000 (14:28 -0800)]
Fix handling of VESA modes with noncontiguous memory buffers
Handle VESA modes with noncontiguous memory buffers. In particular,
this applies to Qemu/KVM in Cirrus emulation mode.
H. Peter Anvin [Wed, 21 Nov 2007 20:29:32 +0000 (12:29 -0800)]
Add "menu separator", "menu indent", "menu disabled"
A few more options for the menu: "menu separator", "menu indent",
"menu disabled".
H. Peter Anvin [Wed, 21 Nov 2007 20:26:44 +0000 (12:26 -0800)]
spec: Require NASM 0.98.39
NASM 0.98.38 probably doesn't work anymore.
Bernard Li [Tue, 20 Nov 2007 01:26:48 +0000 (17:26 -0800)]
Patch for syslinux.spec
H. Peter Anvin [Wed, 21 Nov 2007 05:17:40 +0000 (21:17 -0800)]
When setting up the cfarcall stack frame, copy the right amount
Forgot to convert to dwords by >> 2...
H. Peter Anvin [Wed, 21 Nov 2007 05:11:35 +0000 (21:11 -0800)]
Add missing thunk function for cfarcall
H. Peter Anvin [Wed, 21 Nov 2007 02:52:47 +0000 (18:52 -0800)]
Next version is presumably 3.54
H. Peter Anvin [Wed, 21 Nov 2007 02:51:54 +0000 (18:51 -0800)]
Add support for thunking cdecl/stdcall-style real-mode code
Add support for thunking cdecl/stdcall-style 16-bit functions which
pass parameters on the stack. This is necessary in order to be able
to call PnPBIOS functions without using the (rather scary) PM
interface.
H. Peter Anvin [Tue, 20 Nov 2007 17:54:21 +0000 (09:54 -0800)]
struct term_state: remove duplicate .xy and unused .attr
In struct term_state and its initialized instance default_state:
Remove duplicated initialization of .xy
Remove unused field .attr
H. Peter Anvin [Sun, 18 Nov 2007 06:54:57 +0000 (22:54 -0800)]
mbr: remove *.bin on "spotless", not "clean"
Remove mbr/*.bin on "spotless", not "clean"; otherwise we break "make
installer".
H. Peter Anvin [Sun, 18 Nov 2007 06:50:12 +0000 (22:50 -0800)]
Document changes for 3.53
H. Peter Anvin [Sun, 18 Nov 2007 00:02:49 +0000 (16:02 -0800)]
Fix invalid segment assumption in pxelinux
Fix an invalid segment assumption in pxelinux, which caused the
"naked ::" not to work correctly.
H. Peter Anvin [Thu, 15 Nov 2007 04:51:23 +0000 (20:51 -0800)]
Preserve ES:DI instead of probing for $PnP
The $PnP probe has been found to lock up at least one machine for
reasons unknown. Drop it; instead, burn the extra few bytes in the
bootsector to save away ES:DI for later restore.
H. Peter Anvin [Wed, 14 Nov 2007 23:01:28 +0000 (15:01 -0800)]
mbr.S: fix loading from logical partitions
Fix loading from logical partitions (a push/pop pair was not done in
reverse order.)
H. Peter Anvin [Wed, 14 Nov 2007 17:43:28 +0000 (09:43 -0800)]
ISOLINUX: Change DriveNo -> DriveNumber
Change DriveNo to DriveNumber in ISOLINUX, to match the other
derivatives.
H. Peter Anvin [Wed, 14 Nov 2007 05:51:27 +0000 (21:51 -0800)]
Fix boot sectors; cleanup_hardware must preserve registers
cleanup_hardware has registers live across it when called from the
boot sector code; it must preserve all registers.