Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Apr 1995 15:40:20 +0300
From:      "Timo J. Rinne" <tri@pooh.tky.hut.fi>
To:        freebsd-ports@FreeBSD.org
Subject:   pidentd broken with new kernel
Message-ID:  <199504091240.PAA17501@pooh.tky.hut.fi>

next in thread | raw e-mail | index | archive | help
System dependant part of Pidentd seems to be broken.  I hacked it a
bit and got it working.  This fix propably is not right, but...

>>>>>>>>>>>>>>>>>>   C U T   H E R E   >>>>>>>>>>>>>>>>>>

*** freebsd.c.orig	Fri Oct 21 02:07:37 1994
--- freebsd.c	Sun Apr  9 15:26:00 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 intcb *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)

>>>>>>>>>>>>>>>>>>   C U T   H E R E   >>>>>>>>>>>>>>>>>>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199504091240.PAA17501>