- Update to 3.61 .
This commit is contained in:
parent
89a9290fbf
commit
8ed00724bb
@ -1 +1 @@
|
|||||||
syslinux-3.36.tar.bz2
|
syslinux-3.61.tar.bz2
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
d1bfdaa53d31f572f540be55d1480027 syslinux-3.36.tar.bz2
|
d1afd866d081de66438296ec1419ecf1 syslinux-3.61.tar.bz2
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
From: H. Peter Anvin <hpa@zytor.com>
|
|
||||||
Date: Mon, 19 Feb 2007 23:54:58 +0000 (-0800)
|
|
||||||
Subject: Comboot function READ DISK corrupts its arguments; fix.
|
|
||||||
X-Git-Tag: syslinux-3.40-pre10^0~13^2
|
|
||||||
X-Git-Url: http://www.jur-linux.org/git/?p=syslinux.git;a=commitdiff_plain;h=c7c51cdcd0a094c2588f8a816542bc57bb4efb34
|
|
||||||
|
|
||||||
Comboot function READ DISK corrupts its arguments; fix.
|
|
||||||
---
|
|
||||||
|
|
||||||
diff --git a/comboot.doc b/comboot.doc
|
|
||||||
index 8aaa0e7..0d70b48 100644
|
|
||||||
--- a/comboot.doc
|
|
||||||
+++ b/comboot.doc
|
|
||||||
@@ -723,7 +723,7 @@ AX=0018h [3.30] Query custom font
|
|
||||||
been loaded, AL contains zero.
|
|
||||||
|
|
||||||
|
|
||||||
-AX=0019h [3.35] Read disk [SYSLINUX, ISOLINUX, EXTLINUX]
|
|
||||||
+AX=0019h [3.xx] Read disk [SYSLINUX, ISOLINUX, EXTLINUX]
|
|
||||||
Input: AX 0019h
|
|
||||||
EDX Sector number
|
|
||||||
ESI Reserved - MUST BE ZERO
|
|
||||||
diff --git a/comboot.inc b/comboot.inc
|
|
||||||
index 0f544c2..5df900f 100644
|
|
||||||
--- a/comboot.inc
|
|
||||||
+++ b/comboot.inc
|
|
||||||
@@ -780,9 +780,9 @@ comapi_readdisk:
|
|
||||||
or esi,P_EDI ; are reserved for future expansion
|
|
||||||
jnz .err
|
|
||||||
mov eax,P_EDX
|
|
||||||
- mov bp,P_CX
|
|
||||||
mov es,P_ES
|
|
||||||
mov bx,P_BX
|
|
||||||
+ mov bp,P_CX ; WE CANNOT use P_* after touching bp!
|
|
||||||
call getlinsec
|
|
||||||
clc
|
|
||||||
ret
|
|
@ -1,25 +0,0 @@
|
|||||||
From: H. Peter Anvin <hpa@zytor.com>
|
|
||||||
Date: Fri, 21 Sep 2007 23:22:58 +0000 (-0700)
|
|
||||||
Subject: comboot: fix memory overwrite bug
|
|
||||||
X-Git-Tag: syslinux-3.52-pre9~2
|
|
||||||
X-Git-Url: http://git.kernel.org/?p=boot%2Fsyslinux%2Fsyslinux.git;a=commitdiff_plain;h=426d986dbc77abf2247b08c44c18bf9a478c2e8e
|
|
||||||
|
|
||||||
comboot: fix memory overwrite bug
|
|
||||||
|
|
||||||
Fix memory overwrite bug, specifically, the use of BP after it might
|
|
||||||
have gotten clobbered. Since at the point of use, BP is supposed to
|
|
||||||
be == SP, we can just add "mov bp,sp".
|
|
||||||
---
|
|
||||||
|
|
||||||
diff --git a/comboot.inc b/comboot.inc
|
|
||||||
index 3c9df5f..ffc9425 100644
|
|
||||||
--- a/comboot.inc
|
|
||||||
+++ b/comboot.inc
|
|
||||||
@@ -187,6 +187,7 @@ comboot_int21: cli
|
|
||||||
clc
|
|
||||||
call ax ; Call the invoked function
|
|
||||||
comboot_resume:
|
|
||||||
+ mov bp,sp ; In case the function clobbers BP
|
|
||||||
setc P_FLAGSL ; Propagate CF->error
|
|
||||||
popad
|
|
||||||
pop gs
|
|
@ -1,163 +0,0 @@
|
|||||||
diff -up syslinux-3.36/com32/lib/sys/ansicon_write.c.hidden syslinux-3.36/com32/lib/sys/ansicon_write.c
|
|
||||||
--- syslinux-3.36/com32/lib/sys/ansicon_write.c.hidden 2007-02-10 15:47:07.000000000 -0500
|
|
||||||
+++ syslinux-3.36/com32/lib/sys/ansicon_write.c 2007-08-14 13:20:46.000000000 -0400
|
|
||||||
@@ -88,15 +88,15 @@ int __ansicon_open(struct file_info *fp)
|
|
||||||
if ( (signed char)oreg.ebx.b[1] < 0 ) {
|
|
||||||
ti.disabled = 1;
|
|
||||||
} else {
|
|
||||||
+ /* Force text mode */
|
|
||||||
+ ireg.eax.w[0] = 0x0005;
|
|
||||||
+ __intcall(0x22, &ireg, NULL);
|
|
||||||
+
|
|
||||||
/* Initial state */
|
|
||||||
ti.rows = BIOS_ROWS ? BIOS_ROWS+1 : 25;
|
|
||||||
ti.cols = BIOS_COLS;
|
|
||||||
__ansi_init(&ti);
|
|
||||||
|
|
||||||
- /* Force text mode */
|
|
||||||
- ireg.eax.w[0] = 0x0005;
|
|
||||||
- __intcall(0x22, &ireg, NULL);
|
|
||||||
-
|
|
||||||
/* Get cursor shape and position */
|
|
||||||
ireg.eax.b[1] = 0x03;
|
|
||||||
ireg.ebx.b[1] = BIOS_PAGE;
|
|
||||||
diff -up syslinux-3.36/com32/modules/menu.h.hidden syslinux-3.36/com32/modules/menu.h
|
|
||||||
--- syslinux-3.36/com32/modules/menu.h.hidden 2007-02-10 15:47:08.000000000 -0500
|
|
||||||
+++ syslinux-3.36/com32/modules/menu.h 2007-08-14 13:20:46.000000000 -0400
|
|
||||||
@@ -56,6 +56,7 @@ extern int defentry;
|
|
||||||
extern int allowedit;
|
|
||||||
extern int timeout;
|
|
||||||
extern int shiftkey;
|
|
||||||
+extern int hiddenmenu;
|
|
||||||
extern long long totaltimeout;
|
|
||||||
|
|
||||||
extern char *menu_title;
|
|
||||||
diff -up syslinux-3.36/com32/modules/menumain.c.hidden syslinux-3.36/com32/modules/menumain.c
|
|
||||||
--- syslinux-3.36/com32/modules/menumain.c.hidden 2007-02-10 15:47:08.000000000 -0500
|
|
||||||
+++ syslinux-3.36/com32/modules/menumain.c 2007-08-14 13:41:18.000000000 -0400
|
|
||||||
@@ -90,6 +90,7 @@ struct menu_parameter mparm[] = {
|
|
||||||
{ "endrow", -1 },
|
|
||||||
{ "passwordrow", 11 },
|
|
||||||
{ "timeoutrow", 20 },
|
|
||||||
+ { "hiddenrow", -2 },
|
|
||||||
{ NULL, 0 }
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -102,6 +103,7 @@ struct menu_parameter mparm[] = {
|
|
||||||
#define END_ROW mparm[6].value
|
|
||||||
#define PASSWD_ROW mparm[7].value
|
|
||||||
#define TIMEOUT_ROW mparm[8].value
|
|
||||||
+#define HIDDEN_ROW mparm[9].value
|
|
||||||
|
|
||||||
static void
|
|
||||||
install_default_color_table(void)
|
|
||||||
@@ -561,6 +563,61 @@ shift_is_held(void)
|
|
||||||
return !!(shift_bits & 0x5d); /* Caps/Scroll/Alt/Shift */
|
|
||||||
}
|
|
||||||
|
|
||||||
+static void
|
|
||||||
+print_timeout_message(int tol, int row, const char *msg)
|
|
||||||
+{
|
|
||||||
+#define HSHIFT 0
|
|
||||||
+ char buf[256];
|
|
||||||
+ int nc = 0, nnc;
|
|
||||||
+ const char *tp = msg;
|
|
||||||
+ char tc;
|
|
||||||
+ char *tq = buf;
|
|
||||||
+
|
|
||||||
+ while ((size_t)(tq-buf) < (sizeof buf-16) && (tc = *tp)) {
|
|
||||||
+ if (tc == '#') {
|
|
||||||
+ nnc = sprintf(tq, "%d", tol);
|
|
||||||
+ tq += nnc;
|
|
||||||
+ nc += nnc-8; /* 8 formatting characters */
|
|
||||||
+ } else {
|
|
||||||
+ *tq++ = tc;
|
|
||||||
+ nc++;
|
|
||||||
+ }
|
|
||||||
+ tp++;
|
|
||||||
+ }
|
|
||||||
+ *tq = '\0';
|
|
||||||
+
|
|
||||||
+ printf("\033[%d;%dH\2 %s ", row, HSHIFT+1+((WIDTH-nc-2)>>1), buf);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static const char *
|
|
||||||
+do_hidden_menu(void)
|
|
||||||
+{
|
|
||||||
+ int key;
|
|
||||||
+ int timeout_left, this_timeout;
|
|
||||||
+
|
|
||||||
+ clear_screen();
|
|
||||||
+
|
|
||||||
+ if ( !setjmp(timeout_jump) ) {
|
|
||||||
+ timeout_left = timeout;
|
|
||||||
+
|
|
||||||
+ while (!timeout || timeout_left) {
|
|
||||||
+ int tol = timeout_left/CLK_TCK;
|
|
||||||
+
|
|
||||||
+ print_timeout_message(tol, HIDDEN_ROW, " Automatic boot in # seconds ");
|
|
||||||
+
|
|
||||||
+ this_timeout = min(timeout_left, CLK_TCK);
|
|
||||||
+ key = mygetkey(this_timeout);
|
|
||||||
+
|
|
||||||
+ if (key != KEY_NONE)
|
|
||||||
+ return NULL; /* Key pressed */
|
|
||||||
+
|
|
||||||
+ timeout_left -= this_timeout;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return menu_entries[defentry].cmdline; /* Default entry */
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static const char *
|
|
||||||
run_menu(void)
|
|
||||||
{
|
|
||||||
@@ -580,6 +637,18 @@ run_menu(void)
|
|
||||||
return menu_entries[defentry].cmdline;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* Handle hiddenmenu */
|
|
||||||
+ if ( hiddenmenu ) {
|
|
||||||
+ cmdline = do_hidden_menu();
|
|
||||||
+ if (cmdline)
|
|
||||||
+ return cmdline;
|
|
||||||
+
|
|
||||||
+ /* Otherwise display the menu now; the timeout has already been
|
|
||||||
+ cancelled, since the user pressed a key. */
|
|
||||||
+ hiddenmenu = 0;
|
|
||||||
+ key_timeout = 0;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
/* Handle both local and global timeout */
|
|
||||||
if ( setjmp(timeout_jump) ) {
|
|
||||||
entry = defentry;
|
|
||||||
@@ -632,7 +701,7 @@ run_menu(void)
|
|
||||||
int tol = timeout_left/CLK_TCK;
|
|
||||||
int nc = snprintf(NULL, 0, " Automatic boot in %d seconds ", tol);
|
|
||||||
printf("\033[%d;%dH\1#14 Automatic boot in \1#15%d\1#14 seconds ",
|
|
||||||
- TIMEOUT_ROW, 1+((WIDTH-nc)>>1), tol);
|
|
||||||
+ TIMEOUT_ROW, 1+((WIDTH-nc)>>1), tol);
|
|
||||||
to_clear = 1;
|
|
||||||
} else {
|
|
||||||
to_clear = 0;
|
|
||||||
diff -up syslinux-3.36/com32/modules/readconfig.c.hidden syslinux-3.36/com32/modules/readconfig.c
|
|
||||||
--- syslinux-3.36/com32/modules/readconfig.c.hidden 2007-02-10 15:47:08.000000000 -0500
|
|
||||||
+++ syslinux-3.36/com32/modules/readconfig.c 2007-08-14 13:21:22.000000000 -0400
|
|
||||||
@@ -30,6 +30,7 @@ int defentry = 0;
|
|
||||||
int allowedit = 1; /* Allow edits of the command line */
|
|
||||||
int timeout = 0;
|
|
||||||
int shiftkey = 0; /* Only display menu if shift key pressed */
|
|
||||||
+int hiddenmenu = 0;
|
|
||||||
long long totaltimeout = 0;
|
|
||||||
|
|
||||||
char *menu_title = "";
|
|
||||||
@@ -417,6 +418,8 @@ static void parse_config_file(FILE *f)
|
|
||||||
if (menu_background)
|
|
||||||
free(menu_background);
|
|
||||||
menu_background = dup_word(&p);
|
|
||||||
+ } else if ( (ep = looking_at(p, "hidden")) ) {
|
|
||||||
+ hiddenmenu = 1;
|
|
||||||
} else if ((ep = looking_at(p, "color")) ||
|
|
||||||
(ep = looking_at(p, "colour"))) {
|
|
||||||
int i;
|
|
@ -1,17 +1,14 @@
|
|||||||
Summary: Simple kernel loader which boots from a FAT filesystem
|
Summary: Simple kernel loader which boots from a FAT filesystem
|
||||||
Name: syslinux
|
Name: syslinux
|
||||||
Version: 3.36
|
Version: 3.61
|
||||||
%define tarball_version 3.36
|
%define tarball_version 3.61
|
||||||
Release: 9%{?dist}
|
Release: 1%{?dist}
|
||||||
License: GPLv2+
|
License: GPL
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
URL: http://syslinux.zytor.com/
|
URL: http://syslinux.zytor.com/
|
||||||
Source0: ftp://ftp.kernel.org/pub/linux/utils/boot/syslinux/%{name}-%{tarball_version}.tar.bz2
|
Source0: ftp://ftp.kernel.org/pub/linux/utils/boot/syslinux/%{name}-%{tarball_version}.tar.bz2
|
||||||
Patch0: syslinux-2.08-x86_64.patch
|
Patch0: syslinux-2.08-x86_64.patch
|
||||||
Patch3: syslinux-3.36.patch
|
Patch1: syslinux-3.36-16bpp.patch
|
||||||
Patch4: syslinux-3.36-16bpp.patch
|
|
||||||
Patch5: syslinux-hiddenmenu.patch
|
|
||||||
Patch6: syslinux-fix-menu-memory-clobber.patch
|
|
||||||
ExclusiveArch: i386 x86_64
|
ExclusiveArch: i386 x86_64
|
||||||
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
BuildRequires: nasm >= 0.98.38-1, perl, netpbm-progs
|
BuildRequires: nasm >= 0.98.38-1, perl, netpbm-progs
|
||||||
@ -39,10 +36,7 @@ MEMDISK, which loads legacy operating systems from these media.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n syslinux-%{tarball_version}
|
%setup -q -n syslinux-%{tarball_version}
|
||||||
%patch0 -p1 -b .x86_64
|
%patch0 -p1 -b .x86_64
|
||||||
%patch3 -p1
|
%patch1 -p1
|
||||||
%patch4 -p1
|
|
||||||
%patch5 -p1
|
|
||||||
%patch6 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
CFLAGS="-Werror -Wno-unused -finline-limit=2000"
|
CFLAGS="-Werror -Wno-unused -finline-limit=2000"
|
||||||
@ -61,8 +55,8 @@ mkdir -p %{buildroot}%{_prefix}/lib/syslinux
|
|||||||
mkdir -p %{buildroot}%{_includedir}
|
mkdir -p %{buildroot}%{_includedir}
|
||||||
make install-all \
|
make install-all \
|
||||||
INSTALLROOT=%{buildroot} BINDIR=%{_bindir} SBINDIR=%{_sbindir} \
|
INSTALLROOT=%{buildroot} BINDIR=%{_bindir} SBINDIR=%{_sbindir} \
|
||||||
LIBDIR=%{_prefix}/lib INCDIR=%{_includedir}
|
LIBDIR=%{_prefix}/lib INCDIR=%{_includedir} MANDIR=%{_mandir}
|
||||||
cp mkdiskimage sys2ansi.pl keytab-lilo.pl %{buildroot}%{_prefix}/lib/syslinux
|
cp mkdiskimage keytab-lilo.pl %{buildroot}%{_prefix}/lib/syslinux
|
||||||
install -m 755 unix/syslinux-nomtools %{buildroot}%{_prefix}/lib/syslinux
|
install -m 755 unix/syslinux-nomtools %{buildroot}%{_prefix}/lib/syslinux
|
||||||
install -m 755 unix/syslinux %{buildroot}%{_prefix}/lib/syslinux
|
install -m 755 unix/syslinux %{buildroot}%{_prefix}/lib/syslinux
|
||||||
|
|
||||||
@ -83,9 +77,10 @@ rm -rf %{buildroot}
|
|||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc NEWS README* TODO COPYING
|
%doc NEWS README* TODO COPYING
|
||||||
%doc *.doc memdisk/*.doc
|
%doc doc/* com32/modules/*.doc
|
||||||
%doc sample
|
%doc sample
|
||||||
%{_bindir}/syslinux
|
%{_mandir}/man*/*
|
||||||
|
%{_bindir}/*
|
||||||
%{_sbindir}/extlinux
|
%{_sbindir}/extlinux
|
||||||
%{_bindir}/ppmtolss16
|
%{_bindir}/ppmtolss16
|
||||||
%{_bindir}/lss16toppm
|
%{_bindir}/lss16toppm
|
||||||
@ -105,6 +100,9 @@ rm -rf %{buildroot}
|
|||||||
%{_datadir}/syslinux/
|
%{_datadir}/syslinux/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Feb 21 2008 Peter Jones <pjones@redhat.com> - 3.61-1
|
||||||
|
- Update to 3.61 .
|
||||||
|
|
||||||
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 3.36-9
|
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 3.36-9
|
||||||
- Autorebuild for GCC 4.3
|
- Autorebuild for GCC 4.3
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user