projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
delete OURFINNOTACKED
[unix-history]
/
usr
/
src
/
sys
/
netinet
/
udp_usrreq.c
diff --git
a/usr/src/sys/netinet/udp_usrreq.c
b/usr/src/sys/netinet/udp_usrreq.c
index
5aa6684
..
3df037f
100644
(file)
--- a/
usr/src/sys/netinet/udp_usrreq.c
+++ b/
usr/src/sys/netinet/udp_usrreq.c
@@
-1,4
+1,4
@@
-/* udp_usrreq.c 4.1
5 81/12/09
*/
+/* udp_usrreq.c 4.1
7 81/12/12
*/
#include "../h/param.h"
#include "../h/dir.h"
#include "../h/param.h"
#include "../h/dir.h"
@@
-39,7
+39,7
@@
udp_input(m0)
COUNT(UDP_INPUT);
/*
COUNT(UDP_INPUT);
/*
- * Get
ip and udp
header together in first mbuf.
+ * Get
IP and UDP
header together in first mbuf.
*/
m = m0;
if (m->m_len < sizeof (struct udpiphdr) &&
*/
m = m0;
if (m->m_len < sizeof (struct udpiphdr) &&
@@
-48,17
+48,15
@@
COUNT(UDP_INPUT);
goto bad;
}
ui = mtod(m, struct udpiphdr *);
goto bad;
}
ui = mtod(m, struct udpiphdr *);
- if (
ui->ui_len > sizeof (struct ip
))
+ if (
((struct ip *)ui)->ip_hl > (sizeof (struct ip) >> 2
))
ip_stripoptions((struct ip *)ui, (struct mbuf *)0);
/*
ip_stripoptions((struct ip *)ui, (struct mbuf *)0);
/*
- * Make mbuf data length reflect
udp
length.
- * If not enough data to reflect
udp
length, drop.
+ * Make mbuf data length reflect
UDP
length.
+ * If not enough data to reflect
UDP
length, drop.
*/
ulen = ntohs((u_short)ui->ui_ulen);
len = sizeof (struct udphdr) + ulen;
*/
ulen = ntohs((u_short)ui->ui_ulen);
len = sizeof (struct udphdr) + ulen;
-printf("len %d, ulen %d, ((struct ip *)ui)->ip_len %d\n",
- len, ulen, ((struct ip *)ui)->ip_len);
if (((struct ip *)ui)->ip_len != len) {
if (len > ((struct ip *)ui)->ip_len) {
udpstat.udps_badlen++;
if (((struct ip *)ui)->ip_len != len) {
if (len > ((struct ip *)ui)->ip_len) {
udpstat.udps_badlen++;
@@
-69,7
+67,7
@@
printf("len %d, ulen %d, ((struct ip *)ui)->ip_len %d\n",
}
/*
}
/*
- * Checksum extended
udp
header and data.
+ * Checksum extended
UDP
header and data.
*/
if (udpcksum) {
ui->ui_next = ui->ui_prev = 0;
*/
if (udpcksum) {
ui->ui_next = ui->ui_prev = 0;
@@
-99,9
+97,6
@@
printf("len %d, ulen %d, ((struct ip *)ui)->ip_len %d\n",
udp_in.sin_addr = ui->ui_src;
m->m_len -= sizeof (struct udpiphdr);
m->m_off += sizeof (struct udpiphdr);
udp_in.sin_addr = ui->ui_src;
m->m_len -= sizeof (struct udpiphdr);
m->m_off += sizeof (struct udpiphdr);
-printf("sbappendaddr called with m %x m->m_len %d m->m_off %d\n",
-m, m->m_len, m->m_off);
-printf("*mtod(m, char *) %x\n", *mtod(m, char *));
if (sbappendaddr(&inp->inp_socket->so_rcv, (struct sockaddr *)&udp_in, m) == 0)
goto bad;
sorwakeup(inp->inp_socket);
if (sbappendaddr(&inp->inp_socket->so_rcv, (struct sockaddr *)&udp_in, m) == 0)
goto bad;
sorwakeup(inp->inp_socket);
@@
-115,11
+110,9
@@
udp_ctlinput(m)
{
COUNT(UDP_CTLINPUT);
{
COUNT(UDP_CTLINPUT);
- printf("udp_ctlinput\n");
m_freem(m);
}
m_freem(m);
}
-/*ARGSUSED*/
udp_output(inp, m0)
struct inpcb *inp;
struct mbuf *m0;
udp_output(inp, m0)
struct inpcb *inp;
struct mbuf *m0;
@@
-131,7
+124,7
@@
udp_output(inp, m0)
COUNT(UDP_OUTPUT);
/*
* Calculate data length and get a mbuf
COUNT(UDP_OUTPUT);
/*
* Calculate data length and get a mbuf
- * for
udp and ip
headers.
+ * for
UDP and IP
headers.
*/
for (m = m0; m; m = m->m_next)
len += m->m_len;
*/
for (m = m0; m; m = m->m_next)
len += m->m_len;
@@
-140,7
+133,7
@@
COUNT(UDP_OUTPUT);
goto bad;
/*
goto bad;
/*
- * Fill in mbuf with extended
udp
header
+ * Fill in mbuf with extended
UDP
header
* and addresses and length put into network format.
*/
m->m_off = MMAXOFF - sizeof (struct udpiphdr);
* and addresses and length put into network format.
*/
m->m_off = MMAXOFF - sizeof (struct udpiphdr);
@@
-170,7
+163,6
@@
bad:
m_freem(m);
}
m_freem(m);
}
-/*ARGSUSED*/
udp_usrreq(so, req, m, addr)
struct socket *so;
int req;
udp_usrreq(so, req, m, addr)
struct socket *so;
int req;
@@
-183,7
+175,6
@@
udp_usrreq(so, req, m, addr)
COUNT(UDP_USRREQ);
if (inp == 0 && req != PRU_ATTACH)
return (EINVAL);
COUNT(UDP_USRREQ);
if (inp == 0 && req != PRU_ATTACH)
return (EINVAL);
-printf("udp_usrreq %d\n", req);
switch (req) {
case PRU_ATTACH:
switch (req) {
case PRU_ATTACH:
@@
-225,20
+216,15
@@
printf("udp_usrreq %d\n", req);
case PRU_SEND:
if (addr) {
case PRU_SEND:
if (addr) {
- if (inp->inp_faddr.s_addr) {
- printf("EISCONN\n");
+ if (inp->inp_faddr.s_addr)
return (EISCONN);
return (EISCONN);
- }
error = in_pcbconnect(inp, (struct sockaddr_in *)addr);
error = in_pcbconnect(inp, (struct sockaddr_in *)addr);
- if (error) {
- printf("pcbconnect error %d\n", error);
+ if (error)
return (error);
return (error);
- }
} else {
if (inp->inp_faddr.s_addr == 0)
return (ENOTCONN);
}
} else {
if (inp->inp_faddr.s_addr == 0)
return (ENOTCONN);
}
-printf("to udp_output\n");
udp_output(inp, m);
if (addr)
in_pcbdisconnect(inp);
udp_output(inp, m);
if (addr)
in_pcbdisconnect(inp);