Commit 688cbeed authored by Linus Torvalds's avatar Linus Torvalds

Import pre2.0.14

parent 21a0a5d3
...@@ -18,7 +18,7 @@ and was originally written and maintained by Alessandro Sigala ...@@ -18,7 +18,7 @@ and was originally written and maintained by Alessandro Sigala
Taylor. Check out http://www.cviog.uga.edu/LinuxBleed.html if you Taylor. Check out http://www.cviog.uga.edu/LinuxBleed.html if you
prefer a HTML-ized shopping list. prefer a HTML-ized shopping list.
Last updated: June 5, 1996. Last updated: June 6, 1996.
Current Author: Chris Ricker (gt1355b@prism.gatech.edu). Current Author: Chris Ricker (gt1355b@prism.gatech.edu).
Current Releases Current Releases
...@@ -28,7 +28,7 @@ Current Releases ...@@ -28,7 +28,7 @@ Current Releases
- PPP daemon Stable: 2.2.0f - PPP daemon Stable: 2.2.0f
- Dynamic linker (ld.so) 1.7.14 - Dynamic linker (ld.so) 1.7.14
- GNU CC 2.7.2 - GNU CC 2.7.2
- Binutils 2.6.0.12 - Binutils 2.6.0.14
- Linux C Library Stable: 5.2.18, Beta: 5.3.12 - Linux C Library Stable: 5.2.18, Beta: 5.3.12
- Linux C++ Library 2.7.1.4 - Linux C++ Library 2.7.1.4
- Termcap 2.0.8 - Termcap 2.0.8
...@@ -205,11 +205,11 @@ File Locking (Sendmail) ...@@ -205,11 +205,11 @@ File Locking (Sendmail)
As of pre2.0.6 (aka 1.99.6), mixed-style file locking is no longer As of pre2.0.6 (aka 1.99.6), mixed-style file locking is no longer
allowed. For example, a file cannot be simultaneously locked with allowed. For example, a file cannot be simultaneously locked with
`flock' (BSD-style) and `lockf' (SYSV-style). Among the programs this `flock' and `fcntl'. See Documentation/locks.txt for all the gory
has impacted are older sendmails. If you get a message that sendmail details. Among the programs this has impacted are older sendmails. If
cannot lock aliases.dir (or other files), you'll need to upgrade to at you get a message that sendmail cannot lock aliases.dir (or other
least 8.7.x. The latest sendmail is at files), you'll need to upgrade to at least 8.7.x. The latest sendmail
ftp://ftp.cs.berkeley.edu/ucb/src/sendmail/sendmail.8.7.5.tar.gz. is at ftp://ftp.cs.berkeley.edu/ucb/src/sendmail/sendmail.8.7.5.tar.gz.
Uugetty Uugetty
======= =======
...@@ -262,36 +262,45 @@ direction (either incoming or outgoing). ...@@ -262,36 +262,45 @@ direction (either incoming or outgoing).
There also exists a possibility to match on device names and/or There also exists a possibility to match on device names and/or
device addresses, so that only packets coming in/going out via that device addresses, so that only packets coming in/going out via that
device (network interface) match with a rule. device (network interface) match with a rule. You'll need to get
ipfwadm from ftp://ftp.xos.nl/pub/linux/ipfwadm/ipfwadm-2.1.tar.gz to
You'll need to get ipfwadm from ftp://ftp.xos.nl/pub/linux/ipfwadm. use this.
Use ipfwadm-2.1.tar.gz if your kernel is 1.3.66 or later.
IP Firewalls IP Firewalls
============ ============
The IP firewall code has been changed drastically during 1.3.x. The IP firewall code has been changed drastically during 1.3.x.
There are now 3 categories of firewall rules: one for incoming packets, There are now 3 categories of firewall rules: one for incoming packets,
one for outgoing packets, and one for packets being forwarded. one for outgoing packets, and one for packets being forwarded. There
also exists a possibility to match on device names and/or device
There also exists a possibility to match on device names and/or addresses, so that only packets coming in/going out via that device
device addresses, so that only packets coming in/going out via that (network interface) match with a rule. This is especially useful to
device (network interface) match with a rule. This is especially prevent spoofing. You'll need to get
useful to prevent spoofing. ftp://ftp.xos.nl/pub/linux/ipfwadm/ipfwadm-2.1.tar.gz to use this.
You'll need to get ipfwadm from ftp://ftp.xos.nl/pub/linux/ipfwadm.
Use ipfwadm-2.1.tar.gz if your kernel is 1.3.66 or later.
IP Masquerading IP Masquerading
=============== ===============
IP masquerading is now part of the standard kernel. Note that you IP masquerading is now part of the standard kernel. However, you
always need to load separate modules (ip_masq_ftp.o and/or ip_masq_irc.o) always need to load separate modules (ip_masq_ftp.o and/or
if you are going to use FTP or IRC in combination with masquerading. ip_masq_irc.o) if you are going to use FTP or IRC in combination with
Use "make modules" to generated them. masquerading. You'll need to get
ftp://ftp.xos.nl/pub/linux/ipfwadm/ipfwadm-2.1.tar.gz to use this.
ISDN support
============
The new kernels support ISDN. You'll need ISDN utils available from
ftp://ftp.franken.de/pub/isdn4linux/isdn4k-utils-1.3.97.tar.gz to try
this.
Term is broken
==============
You'll need to get ipfwadm from ftp://ftp.xos.nl/pub/linux/ipfwadm. Term (a comm line multiplexer similar in purpose to slirp) does not
Use ipfwadm-2.1.tar.gz if your kernel is 1.3.66 or later. work with kernels later than 1.3.60. Since the author of term is
apparently currently on vacation, there is no fix forthcoming. I
suggest that those of you who rely on term learn to use slirp.
Networking Networking
========== ==========
...@@ -428,22 +437,6 @@ ftp://sunsite.unc.edu/pub/Linux/system/Misc/fdutils-4.3.src.tar.gz. ...@@ -428,22 +437,6 @@ ftp://sunsite.unc.edu/pub/Linux/system/Misc/fdutils-4.3.src.tar.gz.
In the future, fdformat might disappear entirely, so get used to In the future, fdformat might disappear entirely, so get used to
using superformat instead. using superformat instead.
Please send info about any other packages that 1.3.x "broke" or about
any new features of 1.3.x that require extra or new packages for use to
Chris Ricker (gt1355b@prism.gatech.edu). I generate this from a
modified texinfo setup, so you don't need to bother generating a diff
against the current version before you send the additional information
to me.
nfsd daemon doesn't work anymore
================================
The Red Hat distributions 2.x, 3.x and Caldera 1.0 have a bug where
they do "route add -net 127.0.0.1" at startup. That is wrong. The
correct command is "route add -net 127.0.0.0".
Workaround: Change in "/etc/sysconfig/network-scripts/ifup-lo" the
"route add -net ${IPADDR}" into "route add -net 127.0.0.0".
How to know the version of the installed programs How to know the version of the installed programs
************************************************* *************************************************
...@@ -466,9 +459,9 @@ Where to get the files ...@@ -466,9 +459,9 @@ Where to get the files
Binutils Binutils
======== ========
ftp://sunsite.unc.edu/pub/Linux/GCC/binutils-2.6.0.12.bin.tar.gz ftp://sunsite.unc.edu/pub/Linux/GCC/binutils-2.6.0.14.bin.tar.gz
Installation notes: Installation notes:
ftp://sunsite.unc.edu/pub/Linux/GCC/release.binutils-2.6.0.12 ftp://sunsite.unc.edu/pub/Linux/GCC/release.binutils-2.6.0.14
GNU CC GNU CC
====== ======
......
VERSION = 1 VERSION = 1
PATCHLEVEL = 99 PATCHLEVEL = 99
SUBLEVEL = 13 SUBLEVEL = 14
ARCH = i386 ARCH = i386
......
...@@ -185,7 +185,7 @@ COMPILING the kernel: ...@@ -185,7 +185,7 @@ COMPILING the kernel:
IF SOMETHING GOES WRONG: IF SOMETHING GOES WRONG:
- if you have problems that seem to be due to kernel bugs, please check - if you have problems that seem to be due to kernel bugs, please check
the file MAINTAINERS to see if there is a particualr person associated the file MAINTAINERS to see if there is a particular person associated
with the part of the kernel that you are having trouble with. If there with the part of the kernel that you are having trouble with. If there
isn't anyone listed there, then the second best thing is to mail isn't anyone listed there, then the second best thing is to mail
them to me (Linus.Torvalds@Helsinki.FI), and possibly to any other them to me (Linus.Torvalds@Helsinki.FI), and possibly to any other
......
...@@ -38,9 +38,9 @@ ...@@ -38,9 +38,9 @@
* Jon Tombs, Bjorn Ekwall (module support) * Jon Tombs, Bjorn Ekwall (module support)
* Daniel v. Mosnenck (he sent me the Technical and Programming Reference) * Daniel v. Mosnenck (he sent me the Technical and Programming Reference)
* Gerd Knorr (he lent me his PhotoCD) * Gerd Knorr (he lent me his PhotoCD)
* Nils Faerber and Roger E. Wolff (extensivly tested the LU portion) * Nils Faerber and Roger E. Wolff (extensively tested the LU portion)
* Andreas Kies (testing the mysterious hang up's) * Andreas Kies (testing the mysterious hang up's)
* Heiko Eissfeld (VERIFY_READ/WRITE) * Heiko Eissfeldt (VERIFY_READ/WRITE)
* Marcin Dalecki (improved performance, shortened code) * Marcin Dalecki (improved performance, shortened code)
* ... somebody forgotten? * ... somebody forgotten?
* *
...@@ -89,7 +89,7 @@ static const char *mcdx_c_version ...@@ -89,7 +89,7 @@ static const char *mcdx_c_version
#define xtrace(lvl, fmt, args...) \ #define xtrace(lvl, fmt, args...) \
{ if (lvl > 0) \ { if (lvl > 0) \
{ printk(KERN_DEBUG MCDX ":: " fmt, ## args); } } { printk(KERN_DEBUG MCDX ":: " fmt, ## args); } }
#define xdebug(fmt, args...) printk(KERN_DEBUG MCDX ":: " fmg, ## args) #define xdebug(fmt, args...) printk(KERN_DEBUG MCDX ":: " fmt, ## args)
#else #else
#define xtrace(lvl, fmt, args...) { ; } #define xtrace(lvl, fmt, args...) { ; }
#define xdebug(fmt, args...) { ; } #define xdebug(fmt, args...) { ; }
...@@ -100,7 +100,7 @@ static const char *mcdx_c_version ...@@ -100,7 +100,7 @@ static const char *mcdx_c_version
/* Following are the number of sectors we _request_ from the drive /* Following are the number of sectors we _request_ from the drive
every time an access outside the already requested range is done. every time an access outside the already requested range is done.
The _direct_ size is the number of sectors we're allowed to skip The _direct_ size is the number of sectors we're allowed to skip
directly (perfoming a read instead of requesting the new sector directly (performing a read instead of requesting the new sector
needed */ needed */
const int REQUEST_SIZE = 800; /* should be less then 255 * 4 */ const int REQUEST_SIZE = 800; /* should be less then 255 * 4 */
const int DIRECT_SIZE = 400; /* should be less then REQUEST_SIZE */ const int DIRECT_SIZE = 400; /* should be less then REQUEST_SIZE */
...@@ -149,7 +149,7 @@ struct s_version { ...@@ -149,7 +149,7 @@ struct s_version {
/* Per drive/controller stuff **************************************/ /* Per drive/controller stuff **************************************/
struct s_drive_stuff { struct s_drive_stuff {
/* waitquenes */ /* waitqueues */
struct wait_queue *busyq; struct wait_queue *busyq;
struct wait_queue *lockq; struct wait_queue *lockq;
struct wait_queue *sleepq; struct wait_queue *sleepq;
...@@ -164,7 +164,7 @@ struct s_drive_stuff { ...@@ -164,7 +164,7 @@ struct s_drive_stuff {
/* cd infos */ /* cd infos */
struct s_diskinfo di; struct s_diskinfo di;
struct s_multi multi; struct s_multi multi;
struct s_subqcode* toc; /* first enty of the toc array */ struct s_subqcode* toc; /* first entry of the toc array */
struct s_subqcode start; struct s_subqcode start;
struct s_subqcode stop; struct s_subqcode stop;
int xa; /* 1 if xa disk */ int xa; /* 1 if xa disk */
...@@ -683,7 +683,7 @@ mcdx_open(struct inode *ip, struct file *fp) ...@@ -683,7 +683,7 @@ mcdx_open(struct inode *ip, struct file *fp)
* autoclose wouldn't probably be what we want. * autoclose wouldn't probably be what we want.
* - If we didn't try to close the door yet, close it and go on. * - If we didn't try to close the door yet, close it and go on.
* - If we autoclosed the door and couldn't succeed in find a valid * - If we autoclosed the door and couldn't succeed in find a valid
* CD we shouln't try autoclose any longer (until a valid CD is * CD we shouldn't try autoclose any longer (until a valid CD is
* in.) */ * in.) */
if (inb((unsigned int) stuffp->rreg_status) & MCDX_RBIT_DOOR) { if (inb((unsigned int) stuffp->rreg_status) & MCDX_RBIT_DOOR) {
...@@ -923,7 +923,7 @@ static void mcdx_delay(struct s_drive_stuff *stuff, long jifs) ...@@ -923,7 +923,7 @@ static void mcdx_delay(struct s_drive_stuff *stuff, long jifs)
* run for other processes) * run for other processes)
* >0 means at least sleep for that amount. * >0 means at least sleep for that amount.
* May be we could use a simple count loop w/ jumps to itself, but * May be we could use a simple count loop w/ jumps to itself, but
* I wanna make this independend of cpu speed. [1 jiffie is 1/HZ] sec */ * I wanna make this independent of cpu speed. [1 jiffy is 1/HZ] sec */
{ {
unsigned long tout = jiffies + jifs; unsigned long tout = jiffies + jifs;
if (jifs < 0) return; if (jifs < 0) return;
...@@ -981,7 +981,7 @@ mcdx_intr(int irq, void *dev_id, struct pt_regs* regs) ...@@ -981,7 +981,7 @@ mcdx_intr(int irq, void *dev_id, struct pt_regs* regs)
xinfo( "intr() irq %d status 0x%02x\n", xinfo( "intr() irq %d status 0x%02x\n",
irq, inb((unsigned int) stuffp->rreg_data)); irq, inb((unsigned int) stuffp->rreg_data));
} else { } else {
xinfo( "intr() irq %d ambigous hw status\n", irq); xinfo( "intr() irq %d ambiguous hw status\n", irq);
} }
} else { } else {
xtrace(IRQ, "irq() irq %d ok, status %02x\n", irq, b); xtrace(IRQ, "irq() irq %d ok, status %02x\n", irq, b);
...@@ -1327,7 +1327,7 @@ static int ...@@ -1327,7 +1327,7 @@ static int
mcdx_transfer(struct s_drive_stuff *stuffp, mcdx_transfer(struct s_drive_stuff *stuffp,
char *p, int sector, int nr_sectors) char *p, int sector, int nr_sectors)
/* This seems to do the actually transfer. But it does more. It /* This seems to do the actually transfer. But it does more. It
keeps track of errors ocurred and will (if possible) fall back keeps track of errors occurred and will (if possible) fall back
to single speed on error. to single speed on error.
Return: -1 on timeout or other error Return: -1 on timeout or other error
else status byte (as in stuff->st) */ else status byte (as in stuff->st) */
...@@ -1341,7 +1341,7 @@ mcdx_transfer(struct s_drive_stuff *stuffp, ...@@ -1341,7 +1341,7 @@ mcdx_transfer(struct s_drive_stuff *stuffp,
else return ans; else return ans;
if (stuffp->readerrs && stuffp->readcmd == READ1X) { if (stuffp->readerrs && stuffp->readcmd == READ1X) {
xwarn("XXX Alrady reading 1x -- no chance\n"); xwarn("XXX Already reading 1x -- no chance\n");
return -1; return -1;
} }
...@@ -1385,7 +1385,7 @@ static int mcdx_xfer(struct s_drive_stuff *stuffp, ...@@ -1385,7 +1385,7 @@ static int mcdx_xfer(struct s_drive_stuff *stuffp,
* to be already requested, so we don't need to bother the * to be already requested, so we don't need to bother the
* drive with new requests ... * drive with new requests ...
* Wait for the drive become idle, but first * Wait for the drive become idle, but first
* check for possible occured errors --- the drive * check for possible occurred errors --- the drive
* seems to report them asynchronously */ * seems to report them asynchronously */
......
...@@ -29,7 +29,7 @@ Sun May 26 09:33:52 1996 Theodore Ts'o <tytso@rsts-11.mit.edu> ...@@ -29,7 +29,7 @@ Sun May 26 09:33:52 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
nasty TCP hijacking attacks. nasty TCP hijacking attacks.
(init_std_data): Initialize using gettimeofday() instead of (init_std_data): Initialize using gettimeofday() instead of
struct timveal xtime. struct timeval xtime.
(fast_add_entropy_word, add_entropy_word): Rename the (fast_add_entropy_word, add_entropy_word): Rename the
inline function add_entropy_word() to inline function add_entropy_word() to
......
...@@ -74,10 +74,8 @@ static void pty_close(struct tty_struct * tty, struct file * filp) ...@@ -74,10 +74,8 @@ static void pty_close(struct tty_struct * tty, struct file * filp)
} }
wake_up_interruptible(&tty->read_wait); wake_up_interruptible(&tty->read_wait);
wake_up_interruptible(&tty->write_wait); wake_up_interruptible(&tty->write_wait);
tty->packet = 0;
if (!tty->link) if (!tty->link)
return; return;
tty->link->packet = 0;
wake_up_interruptible(&tty->link->read_wait); wake_up_interruptible(&tty->link->read_wait);
wake_up_interruptible(&tty->link->write_wait); wake_up_interruptible(&tty->link->write_wait);
set_bit(TTY_OTHER_CLOSED, &tty->link->flags); set_bit(TTY_OTHER_CLOSED, &tty->link->flags);
......
...@@ -351,7 +351,7 @@ static void add_entropy_word(struct random_bucket *r, ...@@ -351,7 +351,7 @@ static void add_entropy_word(struct random_bucket *r,
/* /*
* Unfortunately, while the GCC optimizer for the i386 understands how * Unfortunately, while the GCC optimizer for the i386 understands how
* to opimize a static rotate left of x bits, it doesn't know how to * to optimize a static rotate left of x bits, it doesn't know how to
* deal with a variable rotate of x bits. So we use a bit of asm magic. * deal with a variable rotate of x bits. So we use a bit of asm magic.
*/ */
#if (!defined (__i386__)) #if (!defined (__i386__))
......
...@@ -90,13 +90,6 @@ static int serial_refcount; ...@@ -90,13 +90,6 @@ static int serial_refcount;
#define _INLINE_ inline #define _INLINE_ inline
#ifdef MODULE
static int io[PORT_MAX] = { 0, };
static int irq[PORT_MAX] = { 0, };
static int type[PORT_MAX] = { 0, };
static int flags[PORT_MAX] = { 0, };
#endif
#if defined(MODULE) && defined(SERIAL_DEBUG_MCOUNT) #if defined(MODULE) && defined(SERIAL_DEBUG_MCOUNT)
#define DBG_CNT(s) printk("(%s): [%x] refc=%d, serc=%d, ttyc=%d -> %s\n", \ #define DBG_CNT(s) printk("(%s): [%x] refc=%d, serc=%d, ttyc=%d -> %s\n", \
kdevname(tty->device), (info->flags), serial_refcount,info->count,tty->count,s) kdevname(tty->device), (info->flags), serial_refcount,info->count,tty->count,s)
...@@ -2825,16 +2818,6 @@ int rs_init(void) ...@@ -2825,16 +2818,6 @@ int rs_init(void)
info->icount.rng = info->icount.dcd = 0; info->icount.rng = info->icount.dcd = 0;
info->next_port = 0; info->next_port = 0;
info->prev_port = 0; info->prev_port = 0;
#ifdef MODULE
if(irq[i])
info->irq=irq[i];
if (io[i])
info->port=io[i];
if (type[i])
info->type = type[i];
if (flags[i])
info->flags = flags[i];
#endif
if (info->irq == 2) if (info->irq == 2)
info->irq = 9; info->irq = 9;
if (info->type == PORT_UNKNOWN) { if (info->type == PORT_UNKNOWN) {
......
...@@ -431,9 +431,6 @@ void do_tty_hangup(struct tty_struct * tty, struct file_operations *fops) ...@@ -431,9 +431,6 @@ void do_tty_hangup(struct tty_struct * tty, struct file_operations *fops)
tty->session = 0; tty->session = 0;
tty->pgrp = -1; tty->pgrp = -1;
tty->ctrl_status = 0; tty->ctrl_status = 0;
tty->packet = 0;
if (tty->link)
tty->link->packet = 0;
if (tty->driver.flags & TTY_DRIVER_RESET_TERMIOS) if (tty->driver.flags & TTY_DRIVER_RESET_TERMIOS)
*tty->termios = tty->driver.init_termios; *tty->termios = tty->driver.init_termios;
if (tty->driver.hangup) if (tty->driver.hangup)
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
#include "constants.h" #include "constants.h"
#define MAX_RETRIES 3 #define MAX_RETRIES 3
#define SR_TIMEOUT (15 * HZ) #define SR_TIMEOUT (30 * HZ)
static int sr_init(void); static int sr_init(void);
static void sr_finish(void); static void sr_finish(void);
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
* Jon Tombs, Bjorn Ekwall (module support) * Jon Tombs, Bjorn Ekwall (module support)
* Daniel v. Mosnenck (he sent me the Technical and Programming Reference) * Daniel v. Mosnenck (he sent me the Technical and Programming Reference)
* Gerd Knorr (he lent me his PhotoCD) * Gerd Knorr (he lent me his PhotoCD)
* Nils Faerber and Roger E. Wolff (extensivly tested the LU portion) * Nils Faerber and Roger E. Wolff (extensively tested the LU portion)
* Andreas Kies (testing the mysterious hang up's) * Andreas Kies (testing the mysterious hang up's)
* ... somebody forgotten? * ... somebody forgotten?
* Marcin Dalecki * Marcin Dalecki
......
...@@ -919,7 +919,7 @@ static int tcp_ack(struct sock *sk, struct tcphdr *th, u32 ack, int len) ...@@ -919,7 +919,7 @@ static int tcp_ack(struct sock *sk, struct tcphdr *th, u32 ack, int len)
* the ACK handshake on an initial SYN packet as well. * the ACK handshake on an initial SYN packet as well.
* Rather than introducing a new test here for this * Rather than introducing a new test here for this
* special case, we just reset the initial values for * special case, we just reset the initial values for
* rtt immediatly after we move to the established state. * rtt immediately after we move to the established state.
*/ */
if (!(flag&2)) /* Not retransmitting */ if (!(flag&2)) /* Not retransmitting */
tcp_rtt_estimator(sk,skb); tcp_rtt_estimator(sk,skb);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment