summaryrefslogtreecommitdiff
path: root/security/pidentd
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>1995-04-11 14:27:41 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>1995-04-11 14:27:41 +0000
commitf87eb57fb15cb441d1273cbe31d4b3cec64e8451 (patch)
tree29ccc0cdde3b914cca0fddb3f3398afe7e40f9e7 /security/pidentd
parentPut mule back, with apologies. (diff)
Fix for new inpcb style.
Submitted by: tri@pooh.tky.hut.fi
Notes
Notes: svn path=/head/; revision=1334
Diffstat (limited to 'security/pidentd')
-rw-r--r--security/pidentd/files/patch-ac80
1 files changed, 80 insertions, 0 deletions
diff --git a/security/pidentd/files/patch-ac b/security/pidentd/files/patch-ac
new file mode 100644
index 000000000000..a00d4a47009e
--- /dev/null
+++ b/security/pidentd/files/patch-ac
@@ -0,0 +1,80 @@
+*** src/kernel/freebsd.c.orig Fri Oct 21 03:07:37 1994
+--- src/kernel/freebsd.c Tue Apr 11 18:17:25 1995
+***************
+*** 1,5 ****
+ /*
+! ** kernel/other.c Low level kernel access functions for FreeBSD 2.x
+ **
+ ** This program is in the public domain and may be used freely by anyone
+ ** who wants to.
+--- 1,5 ----
+ /*
+! ** kernel/other.c Low level kernel access functions for FreeBSD 2.1
+ **
+ ** This program is in the public domain and may be used freely by anyone
+ ** who wants to.
+***************
+*** 77,82 ****
+--- 77,83 ----
+ static int nfile;
+
+ static struct inpcb tcb;
++ static struct inpcb *dummy_tcb;
+
+ int k_open()
+ {
+***************
+*** 140,146 ****
+ return NULL;
+
+
+! head = pcbp->inp_prev;
+ do
+ {
+ if ( pcbp->inp_faddr.s_addr == faddr->s_addr &&
+--- 141,147 ----
+ return NULL;
+
+
+! head = *(pcbp->inp_list.le_prev);
+ do
+ {
+ if ( pcbp->inp_faddr.s_addr == faddr->s_addr &&
+***************
+*** 148,155 ****
+ pcbp->inp_fport == fport &&
+ pcbp->inp_lport == lport )
+ return pcbp->inp_socket;
+! } while (pcbp->inp_next != head &&
+! getbuf((long) pcbp->inp_next,
+ pcbp,
+ sizeof(struct inpcb),
+ "tcblist"));
+--- 149,156 ----
+ pcbp->inp_fport == fport &&
+ pcbp->inp_lport == lport )
+ return pcbp->inp_socket;
+! } while (pcbp->inp_list.le_next != head &&
+! getbuf((long) pcbp->inp_list.le_next,
+ pcbp,
+ sizeof(struct inpcb),
+ "tcblist"));
+***************
+*** 185,192 ****
+ /* -------------------- TCP PCB LIST -------------------- */
+ if (!getbuf(nl[N_TCB].n_value, &tcb, sizeof(tcb), "tcb"))
+ return -1;
+!
+! tcb.inp_prev = (struct inpcb *) nl[N_TCB].n_value;
+ sockp = getlist(&tcb, faddr, fport, laddr, lport);
+
+ if (!sockp)
+--- 186,193 ----
+ /* -------------------- TCP PCB LIST -------------------- */
+ if (!getbuf(nl[N_TCB].n_value, &tcb, sizeof(tcb), "tcb"))
+ return -1;
+! dummy_tcb = ((struct inpcb *) nl[N_TCB].n_value);
+! tcb.inp_list.le_prev = &dummy_tcb;
+ sockp = getlist(&tcb, faddr, fport, laddr, lport);
+
+ if (!sockp)