On Thu, 2003-02-13 at 14:01, rmkml wrote: > and same pb on src/stormwall.c > > FreeBSD don't have getopt.h include, > FreeBSD use internal fonction libc ... > and FreeBSD don't have getopt_long() ... > > Could You Help Me ? Try the attached patch - should apply with nothing but offsets. Sorry it took a while, been away from internet connected computer since thursday :P Let me know if you encounter any other portability issues, I am very keen to support FreeBSD (well, all free operating systems). -- // Gianni Tedesco (gianni at scaramanga dot co dot uk) lynx --source www.scaramanga.co.uk/gianni-at-ecsc.asc | gpg --import 8646BE7D: 6D9F 2287 870E A2C9 8F60 3A3C 91B5 7669 8646 BE7D
Index: configure.in
===================================================================
RCS file: /home/scara/cvsroot/firestorm/configure.in,v
retrieving revision 1.48
diff -u -r1.48 configure.in
--- configure.in 7 Feb 2003 20:28:35 -0000 1.48
+++ configure.in 15 Feb 2003 11:02:11 -0000
@@ -31,7 +31,7 @@
AC_HEADER_STDC
AC_CHECK_HEADERS([arpa/inet.h errno.h fcntl.h netinet/in.h])
AC_CHECK_HEADERS([stdlib.h string.h sys/socket.h sys/time.h unistd.h])
-AC_CHECK_HEADERS([sys/uio.h sys/resource.h])
+AC_CHECK_HEADERS([sys/uio.h sys/resource.h getopt.h])
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
@@ -40,7 +40,7 @@
AC_STRUCT_TM
dnl Check for library functions
-AC_CHECK_FUNCS([tzset sigaction getrusage])
+AC_CHECK_FUNCS([tzset sigaction getrusage getopt_long])
dnl Check for memory mapped IO support
havemm="no"
Index: src/firecat.c
===================================================================
RCS file: /home/scara/cvsroot/firestorm/src/firecat.c,v
retrieving revision 1.61
diff -u -r1.61 firecat.c
--- src/firecat.c 7 Feb 2003 21:37:39 -0000 1.61
+++ src/firecat.c 15 Feb 2003 11:05:08 -0000
@@ -3,11 +3,14 @@
* Copyright (c) 2002 Gianni Tedesco
* This program is released under the terms of the GNU GPL version 2
*/
+#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <unistd.h>
+#ifdef HAVE_GETOPT_H
#include <getopt.h>
+#endif
#include <fcntl.h>
#include <string.h>
#include <netinet/in.h>
@@ -34,6 +37,7 @@
#include <firecat.h>
+#ifdef HAVE_GETOPT_LONG
struct option opts[]={
{"plugin-dir", 1, 0, 'p'},
{"options", 1, 0, 'o'},
@@ -43,6 +47,7 @@
{"help", 0, 0, 'h'},
{NULL, 0, 0, 0}
};
+#endif
/* Store argv[0] */
static char *cmd;
@@ -253,8 +258,13 @@
decode_init();
/* Do command line args */
+#ifdef HAVE_GETOPT_LONG
while( (c=getopt_long(argc, argv, "p:q:if:o:h?",
- (const struct option *)&opts, &opti))!=-1 ) {
+ (const struct option *)&opts, &opti))!=-1 )
+#else
+ while( (c=getopt(argc, argv, "p:q:if:o:h?"))!=-1 )
+#endif
+ {
switch (c) {
case 'i':
m=MODE_IDX;
Index: src/stormwall.c
===================================================================
RCS file: /home/scara/cvsroot/firestorm/src/stormwall.c,v
retrieving revision 1.26
diff -u -r1.26 stormwall.c
--- src/stormwall.c 15 Jan 2003 11:28:39 -0000 1.26
+++ src/stormwall.c 15 Feb 2003 11:06:32 -0000
@@ -6,12 +6,15 @@
* This is the stormwall daemon, it wakes up when firestorm tells it,
* and it sends files off to a central server or whatever.
*/
+#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/stat.h>
+#ifdef HAVE_GETOPT_H
#include <getopt.h>
+#endif
#include <dirent.h>
#include <syslog.h>
#include <netdb.h>
@@ -169,19 +172,27 @@
uid_t uid=0;
gid_t gid=0;
char *root_dir=NULL;
+#ifdef HAVE_GETOPT_LONG
struct option opts[]={
{"uid", 1, 0, 'u'},
{"gid", 1, 0, 'g'},
{"root", 1, 0, 'r'},
{NULL, 0, 0, 0}
};
+#endif
/* Open up syslog connection */
openlog("stormwall", LOG_DAEMON, 0);
/* Parse the command line arguments */
+#ifdef HAVE_GETOPT_LONG
while( (c=getopt_long(argc,argv,"u:g:r:",
- (const struct option *)&opts, &opti))!=-1 ) {
+ (const struct option *)&opts, &opti))!=-1 )
+#else
+ while( (c=getopt(argc,argv,"u:g:r:"))!=-1 )
+
+#endif
+ {
switch (c) {
case 'u':
if ( strtouint(optarg,&uid) ) goto err;
Attachment:
signature.asc
Description: This is a digitally signed message part