home *** CD-ROM | disk | FTP | other *** search
- diff -u --recursive --new-file v1.2.11/linux/Makefile linux/Makefile
- --- v1.2.11/linux/Makefile Thu Jul 6 09:17:25 1995
- +++ linux/Makefile Fri Jul 7 11:17:28 1995
- @@ -1,6 +1,6 @@
- VERSION = 1
- PATCHLEVEL = 2
- -SUBLEVEL = 11
- +SUBLEVEL = 12
-
- ARCH = i386
-
- diff -u --recursive --new-file v1.2.11/linux/drivers/net/ppp.c linux/drivers/net/ppp.c
- --- v1.2.11/linux/drivers/net/ppp.c Mon May 29 11:16:07 1995
- +++ linux/drivers/net/ppp.c Sun Jul 16 22:21:35 1995
- @@ -505,6 +505,9 @@
- ppp_release (ppp);
-
- PRINTKN (2,(KERN_INFO "ppp: channel %s closing.\n", ppp->dev->name));
- +#ifdef MODULE
- + MOD_DEC_USE_COUNT;
- +#endif
- }
- }
-
- @@ -613,9 +616,6 @@
- PRINTKN (2,(KERN_INFO "ppp: channel %s going down for IP packets!\n",
- dev->name));
- CHECK_PPP(-ENXIO);
- -#ifdef MODULE
- - MOD_DEC_USE_COUNT;
- -#endif
- return 0;
- }
-
- diff -u --recursive --new-file v1.2.11/linux/drivers/scsi/buslogic.c linux/drivers/scsi/buslogic.c
- --- v1.2.11/linux/drivers/scsi/buslogic.c Thu Jun 1 13:16:24 1995
- +++ linux/drivers/scsi/buslogic.c Tue Jul 4 07:52:26 1995
- @@ -1515,8 +1515,8 @@
- ip[1] = 32;
- }
- #else
- - ip[0] = 256;
- - ip[1] = 64;
- + ip[0] = 255;
- + ip[1] = 63;
- #endif
- } else {
- ip[0] = 128;
- diff -u --recursive --new-file v1.2.11/linux/drivers/scsi/scsi.c linux/drivers/scsi/scsi.c
- --- v1.2.11/linux/drivers/scsi/scsi.c Mon May 29 11:16:08 1995
- +++ linux/drivers/scsi/scsi.c Mon Jul 17 15:20:24 1995
- @@ -457,7 +457,8 @@
-
- if (!strncmp(scsi_result+8,"NEC",3)) {
- if (!strncmp(scsi_result+16,"CD-ROM DRIVE:84 ",16) ||
- - !strncmp(scsi_result+16,"CD-ROM DRIVE:25",15))
- + !strncmp(scsi_result+16,"CD-ROM DRIVE:25",15) ||
- + !strncmp(scsi_result+16,"CD-ROM DRIVE:83",15))
- SDpnt->manufacturer = SCSI_MAN_NEC_OLDCDR;
- else
- SDpnt->manufacturer = SCSI_MAN_NEC;
- diff -u --recursive --new-file v1.2.11/linux/fs/exec.c linux/fs/exec.c
- --- v1.2.11/linux/fs/exec.c Mon Jan 30 13:08:04 1995
- +++ linux/fs/exec.c Thu Jul 6 09:16:51 1995
- @@ -509,7 +509,8 @@
- int ch;
- char * name;
-
- - current->dumpable = 1;
- + if (current->euid == current->uid && current->egid == current->gid)
- + current->dumpable = 1;
- name = bprm->filename;
- for (i=0; (ch = *(name++)) != '\0';) {
- if (ch == '/')
- diff -u --recursive --new-file v1.2.11/linux/fs/proc/inode.c linux/fs/proc/inode.c
- --- v1.2.11/linux/fs/proc/inode.c Thu Jul 6 09:17:26 1995
- +++ linux/fs/proc/inode.c Thu Jul 6 09:16:52 1995
- @@ -194,7 +194,8 @@
- return;
- }
- ino &= 0x0000ffff;
- - if (p->dumpable && p->uid == p->euid && p->gid == p->egid) {
- + if (ino == PROC_PID_INO ||
- + (p->dumpable && p->uid == p->euid && p->gid == p->egid)) {
- inode->i_uid = p->uid;
- inode->i_gid = p->gid;
- }
- diff -u --recursive --new-file v1.2.11/linux/kernel/ksyms.c linux/kernel/ksyms.c
- --- v1.2.11/linux/kernel/ksyms.c Mon May 29 11:16:09 1995
- +++ linux/kernel/ksyms.c Sun Jul 16 22:21:35 1995
- @@ -286,6 +286,7 @@
- X(slhc_remember),
- X(slhc_compress),
- X(slhc_uncompress),
- + X(slhc_toss),
- #endif
- #endif
- /* Device callback registration */
- diff -u --recursive --new-file v1.2.11/linux/kernel/sys.c linux/kernel/sys.c
- --- v1.2.11/linux/kernel/sys.c Thu Mar 9 20:37:36 1995
- +++ linux/kernel/sys.c Thu Jul 6 09:16:52 1995
- @@ -195,6 +195,7 @@
- asmlinkage int sys_setregid(gid_t rgid, gid_t egid)
- {
- int old_rgid = current->gid;
- + int old_egid = current->egid;
-
- if (rgid != (gid_t) -1) {
- if ((old_rgid == rgid) ||
- @@ -219,6 +220,8 @@
- (egid != (gid_t) -1 && egid != old_rgid))
- current->sgid = current->egid;
- current->fsgid = current->egid;
- + if (current->egid != old_egid)
- + current->dumpable = 0;
- return 0;
- }
-
- @@ -227,12 +230,16 @@
- */
- asmlinkage int sys_setgid(gid_t gid)
- {
- + int old_egid = current->egid;
- +
- if (suser())
- current->gid = current->egid = current->sgid = current->fsgid = gid;
- else if ((gid == current->gid) || (gid == current->sgid))
- current->egid = current->fsgid = gid;
- else
- return -EPERM;
- + if (current->egid != old_egid)
- + current->dumpable = 0;
- return 0;
- }
-
- @@ -284,6 +291,7 @@
- asmlinkage int sys_setreuid(uid_t ruid, uid_t euid)
- {
- int old_ruid = current->uid;
- + int old_euid = current->euid;
-
- if (ruid != (uid_t) -1) {
- if ((old_ruid == ruid) ||
- @@ -308,6 +316,8 @@
- (euid != (uid_t) -1 && euid != old_ruid))
- current->suid = current->euid;
- current->fsuid = current->euid;
- + if (current->euid != old_euid)
- + current->dumpable = 0;
- return 0;
- }
-
- @@ -324,12 +334,16 @@
- */
- asmlinkage int sys_setuid(uid_t uid)
- {
- + int old_euid = current->euid;
- +
- if (suser())
- current->uid = current->euid = current->suid = current->fsuid = uid;
- else if ((uid == current->uid) || (uid == current->suid))
- current->fsuid = current->euid = uid;
- else
- return -EPERM;
- + if (current->euid != old_euid)
- + current->dumpable = 0;
- return(0);
- }
-
- @@ -346,6 +360,8 @@
- if (uid == current->uid || uid == current->euid ||
- uid == current->suid || uid == current->fsuid || suser())
- current->fsuid = uid;
- + if (current->fsuid != old_fsuid)
- + current->dumpable = 0;
- return old_fsuid;
- }
-
- @@ -359,6 +375,8 @@
- if (gid == current->gid || gid == current->egid ||
- gid == current->sgid || gid == current->fsgid || suser())
- current->fsgid = gid;
- + if (current->fsgid != old_fsgid)
- + current->dumpable = 0;
- return old_fsgid;
- }
-
- diff -u --recursive --new-file v1.2.11/linux/net/inet/af_inet.c linux/net/inet/af_inet.c
- --- v1.2.11/linux/net/inet/af_inet.c Thu Jul 6 09:17:27 1995
- +++ linux/net/inet/af_inet.c Thu Jul 13 17:33:13 1995
- @@ -1259,7 +1259,7 @@
- static int inet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
- {
- struct sock *sk=(struct sock *)sock->data;
- - int err;
- + int err, pid;
-
- switch(cmd)
- {
- @@ -1268,7 +1268,11 @@
- err=verify_area(VERIFY_READ,(int *)arg,sizeof(long));
- if(err)
- return err;
- - sk->proc = get_fs_long((int *) arg);
- + pid = get_fs_long((int *) arg);
- + /* see inet_fcntl */
- + if (current->pid != pid && current->pgrp != -pid && !suser())
- + return -EPERM;
- + sk->proc = pid;
- return(0);
- case FIOGETOWN:
- case SIOCGPGRP:
- diff -u --recursive --new-file v1.2.11/linux/net/inet/tcp.c linux/net/inet/tcp.c
- --- v1.2.11/linux/net/inet/tcp.c Thu Jun 1 13:16:25 1995
- +++ linux/net/inet/tcp.c Thu Jul 13 17:29:39 1995
- @@ -135,6 +135,8 @@
- * Alan Cox : tcp_data() doesn't ack illegal PSH
- * only frames. At least one pc tcp stack
- * generates them.
- + * Mark Yarvis : In tcp_read_wakeup(), don't send an
- + * ack if stat is TCP_CLOSED.
- *
- *
- * To Fix:
- @@ -1801,6 +1803,13 @@
-
- if (!sk->ack_backlog)
- return;
- +
- + /*
- + * If we're closed, don't send an ack, or we'll get a RST
- + * from the closed destination.
- + */
- + if ((sk->state == TCP_CLOSE) || (sk->state == TCP_TIME_WAIT))
- + return;
-
- /*
- * FIXME: we need to put code here to prevent this routine from
-