I actually really want to include the patch, the problem of rpcapd depending on 
pcap-int.h has been a pet peeve for me too on windows for the same exact 
problem you had (different definitions of pcap_t causing crashes in 
rpcapd.exe). And it looks like the only thing that needs to be ironed out in 
the patch that you provided is bufsize, everything else looks good. Config.h is 
not available on the win32 build, so it's not an option.

I will look more into how to solve the issue, maybe using a default value for 
bufsize instead of taking it from pcap_t or using snaplen.

Have a nice day
GV




From: Tomas Konir 
Sent: Tuesday, June 22, 2010 10:09 PM
To: [email protected] 
Subject: Re: [Winpcap-users] BUG rpcapd - inproper internal structurepcap_tusage


Hi 
Another way would be only include config.h as first include in daemon.c.
I have used the more complicated way because i would like to see
 rpcapd independent of internal libpcap structures.


You are right, that it may affect TCP performance.
If you don't mind about dependency on pcap.
You can only include config.h and drop other changes. in this patch.


MOJE


2010/6/22 Gianluca Varenni <[email protected]>

  Tomas,

  I'm working on applying your patches to our codebase. I'm not completely sure 
about changing bufsize to snaplen. First of all, I think that 

  - startcapreply->bufsize= htonl(fp->bufsize);
  + //startcapreply->bufsize= htonl(fp->bufsize);
  + startcapreply->bufsize= startcapreq.snaplen;

  should actually read

  + startcapreply->bufsize= htonl(startcapreq.snaplen);

  Then if bufsize is snaplen, I think that the TCP performance would be 
affected (it looks like bufsize is used to set SO_RCVBUF of the socket itself).

  Have a nice day
  GV


  From: Tomas Konir 
  Sent: Wednesday, April 28, 2010 2:31 AM
  To: [email protected] 
  Subject: [Winpcap-users] BUG rpcapd - inproper internal structure pcap_tusage


  rpcapd use pcap-int.h and than directly pcap_t structure. 
  size of pcap_t and position of individual fields is not independent
  and depends on config.h generated by configure.
  The result is rewritten memory and bugs like: socket error, invalid socket, 
SIGSEGV and similar.


  I tried to remove usage of internal pcap_t structure and use rpcapd owns.


  Patch is attached, and i have two notes.


  1. timezone is set to zero (but no code in libpcap/winpcap use it)
  2. bufsize is set to snaplen instead of internal pcap_t->bufsize.


  MOJE


  P.S. another way would by use config.h from libpcap, but i don't prefer it.
    

  -- 
  Tomas Konir
  Prague
  Czech Republic
  ICQ:      25849167
  Jabber: [email protected]



------------------------------------------------------------------------------


  _______________________________________________
  Winpcap-users mailing list
  [email protected]
  https://www.winpcap.org/mailman/listinfo/winpcap-users



  _______________________________________________
  Winpcap-users mailing list
  [email protected]
  https://www.winpcap.org/mailman/listinfo/winpcap-users





-- 
Tomas Konir
Prague
Czech Republic
ICQ:      25849167
Jabber: [email protected]



--------------------------------------------------------------------------------


_______________________________________________
Winpcap-users mailing list
[email protected]
https://www.winpcap.org/mailman/listinfo/winpcap-users
_______________________________________________
Winpcap-users mailing list
[email protected]
https://www.winpcap.org/mailman/listinfo/winpcap-users

Reply via email to