Files
oldlinux-files/net/tcpip/tcp5.diff
2024-02-19 00:25:04 -05:00

117 lines
4.5 KiB
Diff

From owner-linux-activists@joker.cs.hut.fi Wed Aug 5 03:51:40 1992
Received: from funet.fi by lazy.qt.IPA.FhG.de with SMTP
(5.61+/IDA-1.2.8/gandalf.2) id AA03065; Wed, 5 Aug 92 03:51:37 +0200
Received: from santra.hut.fi by funet.fi with SMTP (PP) id <02221-0@funet.fi>;
Wed, 5 Aug 1992 04:50:24 +0300
Received: from joker.cs.hut.fi by santra.hut.fi (5.65c/8.0/TeKoLa) id AA17553;
Wed, 5 Aug 1992 04:50:12 +0300
Received: by joker.cs.hut.fi (5.65b/6.8/S-TeKoLa) id AA13438;
Wed, 5 Aug 92 04:49:56 +0259
Received: from sunlight.Stanford.EDU by joker.cs.hut.fi (5.65b/6.8/S-TeKoLa)
id AA13417; Wed, 5 Aug 92 04:49:12 +0300
Received: from elaine12.Stanford.EDU by sunlight.Stanford.EDU (4.1/AIR-1.0)
id AA18390; Tue, 4 Aug 92 18:49:17 PDT
From: bir7@leland.stanford.edu
Message-Id: <9208050149.AA18390@sunlight.Stanford.EDU>
Subject: Re: tcp/ip diffs
Sender: owner-linux-activists@niksula.hut.fi
To: linux-activists@niksula.hut.fi
X-Note1: Remember to put 'X-Mn-Key: normal' to your mail body or header
Date: Tue, 4 Aug 92 18:49:17 PDT
Cc: linux-activists@joker.cs.hut.fi (Linux Activists), arl@cs.hut.fi
In-Reply-To: <9208050130.AA02024@klaava.Helsinki.FI>; from "Linus Torvalds" at Aug 5, 92 4:30 am
X-Mailer: ELM [version 2.3 PL11]
X-Mn-Key: NET
>
> bir7@leland.stanford.edu: "tcp/ip diffs" (Aug 4, 16:44):
> > Here are diffs against .97 (+ profile patches) that are required for
> > all the tcp/ip code. It includes 4 files, one for vhangup, one for
> > the tty's, one for fcntl, and one for the net directory. I would
> > appretiate it if you would include all these diffs in the next
> > release.
>
> Your next message indicated there were problems with the patch, so I
> won't put it in yet. Other than that, I think I'm ready for the tcp/ip
> code.
Some diffs to fix the problem are at the end of the message.
For the net/tcp directory, you should probably get it from nic.funet.fi
Linux/testing/beta/NET, as it's very big.
>
> One thing I've been wondering about: does the tcp/ip code use 386bsd
> code heavily? I've had a few people asking about it, as they don't like
> the USL suit against BSDI. I'd rather be NET/2 free (which the current
> kernel should be), although I personally think the USL suit will fail
> (but it may take some time)
>
All the clients and servers are from BIND. The only kernel
code that is remotely related to anything is the wd8003 driver. I used
the 386bsd driver as an example when I wrote the code. But basically
everything is different. The basic tcp/ip code was written completely
by me. The only thing I've gotten from anyone else is some icmp code
which is probably not from net2, as it has to interface with everything
I did which is not remotely like anything in net2 (Actually I don't know
this since I haven't look at the net2 code, but the way the tcp/ip code
evolved it couldn't be like anything else.)
Everyone Please note at the end of this message are some diffs which must
be applied for unix domain sockets to work (after applying my sock.diff
which screws them up.)
[Ari, Please add them to the ftp site either in the tar file or next to it.]
Ross Biro bir7@leland.stanford.edu
Member League for Programming Freedom (LPF)
mail league@prep.ai.mit.edu for information
ps. I'm using X right now, so the diffs work.
---- important diffs -----
*** ../linux/net/unix.c Tue Aug 4 12:26:38 1992
--- linux/net/unix.c Tue Aug 4 17:30:29 1992
***************
*** 431,441 ****
{
struct socket *clientsock;
PRINTK("unix_proto_accept: socket 0x%x accepted via socket 0x%x\n",
sock, newsock);
- unix_data_ref(UN_DATA(newsock->conn));
/*
* if there aren't any sockets awaiting connection, then wait for
* one, unless nonblocking
*/
--- 431,440 ----
***************
*** 446,456 ****
if (current->signal & ~current->blocked) {
PRINTK("sys_accept: sleep was interrupted\n");
return -ERESTARTSYS;
}
}
- UN_DATA(newsock)->peerupd = UN_DATA(newsock->conn);
/*
* great. finish the connection relative to server and client,
* wake up the client and return the new fd to the server
*/
--- 445,454 ----
***************
*** 459,468 ****
--- 457,470 ----
newsock->conn = clientsock;
clientsock->conn = newsock;
clientsock->state = SS_CONNECTED;
newsock->state = SS_CONNECTED;
wake_up(clientsock->wait);
+
+ unix_data_ref (UN_DATA(newsock->conn));
+ UN_DATA(newsock)->peerupd = UN_DATA(newsock->conn);
+
return 0;
}
/*
* gets the current name or the name of the connected socket.