aboutsummaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1995-04-11 22:27:41 +0800
committerache <ache@FreeBSD.org>1995-04-11 22:27:41 +0800
commit428dc17f4f0aa92c4afc00be7a523e682d256e9e (patch)
tree40cd0b87198d313abaf392c022ecf819bfe957a0 /security
parent90e97bcf71bcda5f71d1e58daa7910fbe28a1cd9 (diff)
downloadfreebsd-ports-gnome-428dc17f4f0aa92c4afc00be7a523e682d256e9e.tar.gz
freebsd-ports-gnome-428dc17f4f0aa92c4afc00be7a523e682d256e9e.tar.zst
freebsd-ports-gnome-428dc17f4f0aa92c4afc00be7a523e682d256e9e.zip
Fix for new inpcb style.
Submitted by: tri@pooh.tky.hut.fi
Diffstat (limited to 'security')
-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)