diff options
author | torstenb <torstenb@FreeBSD.org> | 1995-05-06 00:53:16 +0000 |
---|---|---|
committer | torstenb <torstenb@FreeBSD.org> | 1995-05-06 00:53:16 +0000 |
commit | e8691a55adba80cdf19444881f9428d2e49d0663 (patch) | |
tree | 4947be9f4f148ba95c44d6a3dd976b66c2eceba2 /security | |
parent | a89477f84d8394725ac61747c445fe261977718b (diff) | |
download | FreeBSD-ports-e8691a55adba80cdf19444881f9428d2e49d0663.zip FreeBSD-ports-e8691a55adba80cdf19444881f9428d2e49d0663.tar.gz |
add a #ifdef to detect new inpcb style
Diffstat (limited to 'security')
-rw-r--r-- | security/pidentd/files/patch-ac | 145 |
1 files changed, 79 insertions, 66 deletions
diff --git a/security/pidentd/files/patch-ac b/security/pidentd/files/patch-ac index 4626f04..77a420d 100644 --- a/security/pidentd/files/patch-ac +++ b/security/pidentd/files/patch-ac @@ -1,111 +1,124 @@ -*** freebsd.c.orig Fri Oct 21 03:07:37 1994 ---- src/kernel/freebsd.c Tue Apr 11 19:30:45 1995 +*** src/kernel/freebsd.c.orig Fri Oct 21 01:07:37 1994 +--- src/kernel/freebsd.c Sun Apr 16 21:21:02 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. -*************** -*** 76,82 **** - - static int nfile; +*** 53,58 **** +--- 53,61 ---- + #include "identd.h" + #include "error.h" -! static struct inpcb tcb; ++ #ifdef INPLOOKUP_SETLOCAL ++ #define _HAVE_OLD_INPCB ++ #endif - int k_open() - { ---- 76,82 ---- + extern void *calloc(); + extern void *malloc(); +*************** +*** 76,82 **** +--- 79,89 ---- static int nfile; -! static struct inpcbhead tcb; ++ #ifdef _HAVE_OLD_INPCB + static struct inpcb tcb; ++ #else ++ static struct inpcbhead tcb; ++ #endif int k_open() { *************** -*** 127,158 **** +*** 127,148 **** ** Returns NULL if no match. */ static struct socket * -! getlist(pcbp, faddr, fport, laddr, lport) -! struct inpcb *pcbp; + getlist(pcbp, faddr, fport, laddr, lport) + struct inpcb *pcbp; struct in_addr *faddr; int fport; struct in_addr *laddr; int lport; { -! struct inpcb *head; + struct inpcb *head; -! if (!pcbp) + if (!pcbp) return NULL; -- -- head = pcbp->inp_prev; +! + head = pcbp->inp_prev; do { -! if ( pcbp->inp_faddr.s_addr == faddr->s_addr && -! pcbp->inp_laddr.s_addr == laddr->s_addr && -! 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")); - - return NULL; - } ---- 127,159 ---- + if ( pcbp->inp_faddr.s_addr == faddr->s_addr && + pcbp->inp_laddr.s_addr == laddr->s_addr && + pcbp->inp_fport == fport && +--- 134,173 ---- ** Returns NULL if no match. */ static struct socket * -! getlist(pcbphead, faddr, fport, laddr, lport) -! struct inpcbhead *pcbphead; ++ #ifdef _HAVE_OLD_INPCB + getlist(pcbp, faddr, fport, laddr, lport) + struct inpcb *pcbp; ++ #else ++ getlist(pcbhead, faddr, fport, laddr, lport) ++ struct inpcbhead *pcbhead; ++ #endif struct in_addr *faddr; int fport; struct in_addr *laddr; int lport; { -! struct inpcb *head, pcbp; ++ #ifdef _HAVE_OLD_INPCB + struct inpcb *head; ++ #else ++ struct inpcb *head, pcbp; ++ #endif -! head = pcbphead->lh_first; -! if (!head) ++ #ifdef _HAVE_OLD_INPCB + if (!pcbp) return NULL; ++ #else ++ head = pcbhead->lh_first; ++ if (!head) ++ return NULL; ++ #endif ++ +! #ifdef _HAVE_OLD_INPCB + head = pcbp->inp_prev; ++ #endif do { -! if (!getbuf((long) head, -! &pcbp, -! sizeof(struct inpcb), -! "tcblist")) -! break; -! if ( pcbp.inp_faddr.s_addr == faddr->s_addr && -! pcbp.inp_laddr.s_addr == laddr->s_addr && -! pcbp.inp_fport == fport && -! pcbp.inp_lport == lport ) -! return pcbp.inp_socket; -! head = pcbp.inp_list.le_next; -! } while (head != NULL); ++ #ifdef _HAVE_OLD_INPCB + if ( pcbp->inp_faddr.s_addr == faddr->s_addr && + pcbp->inp_laddr.s_addr == laddr->s_addr && + pcbp->inp_fport == fport && +*************** +*** 153,158 **** +--- 178,193 ---- + pcbp, + sizeof(struct inpcb), + "tcblist")); ++ #else ++ if (!getbuf((long) head, &pcbp, sizeof(struct inpcb), "tcblist")) ++ break; ++ if (pcbp.inp_faddr.s_addr == faddr->s_addr && ++ pcbp.inp_fport == fport && ++ pcbp.inp_lport == lport ) ++ return(pcbp.inp_socket); ++ head = pcbp.inp_list.le_next; ++ } while (head != NULL); ++ #endif return NULL; } *************** -*** 185,192 **** - /* -------------------- TCP PCB LIST -------------------- */ +*** 186,192 **** +--- 221,229 ---- if (!getbuf(nl[N_TCB].n_value, &tcb, sizeof(tcb), "tcb")) return -1; -- -- tcb.inp_prev = (struct inpcb *) nl[N_TCB].n_value; + ++ #ifdef _HAVE_OLD_INPCB + tcb.inp_prev = (struct inpcb *) nl[N_TCB].n_value; ++ #endif sockp = getlist(&tcb, faddr, fport, laddr, lport); if (!sockp) ---- 186,191 ---- |