[ARGUS] Compiling argus-2.0.6.fixes.1 under FreeBSD 5.2.1

Richard Bejtlich taosecurity at gmail.com
Wed May 19 13:06:03 EDT 2004


On Wed, 19 May 2004 09:25:09 -0700, Peter Van Epp <vanepp at sfu.ca> wrote:

>         Try applying this diff. 


Hi Peter,

I'm not sure what the problem is, but I created a file called "patch"
with your diff and then ran

drury# patch < patch 
Hmm...  Looks like a new-style context diff to me...
The text leading up to this was:
--------------------------
|*** common/argus_filter.c.orig  Wed May 19 09:19:09 2004
|--- common/argus_filter.c       Wed May 19 09:20:09 2004
--------------------------
Patching file common/argus_filter.c using Plan A...
Hunk #1 failed at 3713.
1 out of 1 hunks failed--saving rejects to common/argus_filter.c.rej
done

The .rej file looks like this:

***************
*** 3713,3719 ****
  xtern int ether_hostton(char *, struct ether_addr *);
  endif

! #if !defined(HAVE_ETHER_HOSTTON) && !defined(linux) && !defined(CYGWIN) && !de
fined(__NetBSD__)
  xtern int ether_ntohost(char *, struct ether_addr *);
  xtern int ether_hostton(char *, struct ether_addr *);
  endif
--- 3713,3719 ----
  xtern int ether_hostton(char *, struct ether_addr *);
  endif

! #if !defined(HAVE_ETHER_HOSTTON) && !defined(linux) && !defined(CYGWIN) && !de
fined(__NetBSD__) && !defined(__FreeBSD__)
  xtern int ether_ntohost(char *, struct ether_addr *);
  xtern int ether_hostton(char *, struct ether_addr *);
  endif

I then tried modifying the line of interest by hand, adding the 

&& !defined(__FreeBSD__)

as shown in the diff.

I ran make clean && make and got the same error:

gcc -O2 -I. -I../include -I/usr/local/include -DPACKAGE_NAME=\"\"
-DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
-DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1
-DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
-DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_SOCKIO_H=1
-DHAVE_STRING_H=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_FILE_H=1
-DHAVE_SYSLOG_H=1 -DCONFIG_X86_BSWAP=1 -DSTDC_HEADERS=1 
-DARGUS_SYSLOG=1 -c ./argus_filter.c
argus_filter.c: In function `argus_ether_hostton':
argus_filter.c:4684: error: conflicting types for `ether_hostton'
/usr/include/net/ethernet.h:371: error: previous declaration of `ether_hostton'
argus_filter.c:4684: warning: extern declaration of `ether_hostton'
doesn't match global one
*** Error code 1

However, I tracked down line 4684 and made this change:

#if !defined(HAVE_ETHER_HOSTTON) && !defined(__NetBSD__) &&
!defined(__FreeBSD__)

That seems to fix it.

Thanks for your help!

Richard



More information about the argus mailing list