OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Michael Schloh
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src openpkg-web Date: 25-Sep-2003 00:37:24
Branch: HEAD Handle: 2003092423372201
Added files:
openpkg-src/honeyd cdefs.h setenv.c setenv.h
Modified files:
openpkg-src/honeyd honeyd.conf honeyd.patch honeyd.spec rc.honeyd
openpkg-web news.txt
Log:
I give up, sometimes arpd+honeyd works and sometimes not, but finish
this package off anyways, adding features from ticket #202, a big
patch job for portable builds, and a better default configuration
Summary:
Revision Changes Path
1.1 +157 -0 openpkg-src/honeyd/cdefs.h
1.4 +3 -3 openpkg-src/honeyd/honeyd.conf
1.6 +264 -40 openpkg-src/honeyd/honeyd.patch
1.31 +43 -9 openpkg-src/honeyd/honeyd.spec
1.15 +31 -17 openpkg-src/honeyd/rc.honeyd
1.1 +60 -0 openpkg-src/honeyd/setenv.c
1.1 +29 -0 openpkg-src/honeyd/setenv.h
1.6719 +1 -0 openpkg-web/news.txt
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/honeyd/cdefs.h
============================================================================
$ cvs diff -u -r0 -r1.1 cdefs.h
--- /dev/null 2003-09-25 00:37:24.000000000 +0200
+++ cdefs.h 2003-09-25 00:37:24.000000000 +0200
@@ -0,0 +1,157 @@
+/*
+** cdefs.h: ISO C interface
+** Most of this file was developed by Sendmail, Incorporated, so:
+**
+** Copyright (c) 2000-2002 Sendmail, Inc. and its suppliers.
+**
+** Permission to use, copy, modify, and distribute this software for
+** any purpose with or without fee is hereby granted, provided that
+** the above copyright notice and this permission notice appear in all
+** copies.
+**
+** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+** SUCH DAMAGE.
+**
+*/
+
+/*
+** libsm C language portability macros
+** See libsm/cdefs.html for documentation.
+*/
+
+#ifndef HOND_CDEFS_H
+# define HOND_CDEFS_H
+
+/*
+** BSD and Linux have <sys/cdefs.h> which defines a set of C language
+** portability macros that are a defacto standard in the open source
+** community.
+*/
+
+# if HOND_CONF_SYS_CDEFS_H
+# include <sys/cdefs.h>
+# endif /* HOND_CONF_SYS_CDEFS_H */
+
+/*
+** Define the standard C language portability macros
+** for platforms that lack <sys/cdefs.h>.
+*/
+
+# if !HOND_CONF_SYS_CDEFS_H
+# if defined(__cplusplus)
+# define __BEGIN_DECLS extern "C" {
+# define __END_DECLS };
+# else /* defined(__cplusplus) */
+# define __BEGIN_DECLS
+# define __END_DECLS
+# endif /* defined(__cplusplus) */
+# if defined(__STDC__) || defined(__cplusplus)
+# ifndef __P
+# define __P(protos) protos
+# endif /* __P */
+# define __CONCAT(x,y) x ## y
+# define __STRING(x) #x
+# else /* defined(__STDC__) || defined(__cplusplus) */
+# define __P(protos) ()
+# define __CONCAT(x,y) x/**/y
+# define __STRING(x) "x"
+# define const
+# define signed
+# define volatile
+# endif /* defined(__STDC__) || defined(__cplusplus) */
+# endif /* !HOND_CONF_SYS_CDEFS_H */
+
+/*
+** Define HOND_DEAD, a macro used to declare functions that do not return
+** to their caller.
+*/
+
+# ifndef HOND_DEAD
+# if __GNUC__ >= 2
+# if __GNUC__ == 2 && __GNUC_MINOR__ < 5
+# define HOND_DEAD(proto) volatile proto
+# else /* __GNUC__ == 2 && __GNUC_MINOR__ < 5 */
+# define HOND_DEAD(proto) proto __attribute__((__noreturn__))
+# endif /* __GNUC__ == 2 && __GNUC_MINOR__ < 5 */
+# else /* __GNUC__ >= 2 */
+# define HOND_DEAD(proto) proto
+# endif /* __GNUC__ >= 2 */
+# endif /* HOND_DEAD */
+
+/*
+** Define HOND_UNUSED, a macro used to declare variables that may be unused.
+*/
+
+# ifndef HOND_UNUSED
+# if __GNUC__ >= 2
+# if __GNUC__ == 2 && __GNUC_MINOR__ < 7
+# define HOND_UNUSED(decl) decl
+# else /* __GNUC__ == 2 && __GNUC_MINOR__ < 7 */
+# define HOND_UNUSED(decl) decl __attribute__((__unused__))
+# endif /* __GNUC__ == 2 && __GNUC_MINOR__ < 7 */
+# else /* __GNUC__ >= 2 */
+# define HOND_UNUSED(decl) decl
+# endif /* __GNUC__ >= 2 */
+# endif /* HOND_UNUSED */
+
+/*
+** The HOND_NONVOLATILE macro is used to declare variables that are not
+** volatile, but which must be declared volatile when compiling with
+** gcc -O -Wall in order to suppress bogus warning messages.
+**
+** Variables that actually are volatile should be declared volatile
+** using the "volatile" keyword. If a variable actually is volatile,
+** then HOND_NONVOLATILE should not be used.
+**
+** To compile sendmail with gcc and see all non-bogus warnings,
+** you should use
+** gcc -O -Wall -DHOND_OMIT_BOGUS_WARNINGS ...
+** Do not use -DHOND_OMIT_BOGUS_WARNINGS when compiling the production
+** version of sendmail, because there is a performance hit.
+*/
+
+# ifdef HOND_OMIT_BOGUS_WARNINGS
+# define HOND_NONVOLATILE volatile
+# else /* HOND_OMIT_BOGUS_WARNINGS */
+# define HOND_NONVOLATILE
+# endif /* HOND_OMIT_BOGUS_WARNINGS */
+
+/*
+** Turn on format string argument checking.
+*/
+
+# ifndef HOND_CONF_FORMAT_TEST
+# if __GNUC__ == 2 && __GNUC_MINOR__ >= 7
+# define HOND_CONF_FORMAT_TEST 1
+# else /* __GNUC__ == 2 && __GNUC_MINOR__ >= 7 */
+# define HOND_CONF_FORMAT_TEST 0
+# endif /* __GNUC__ == 2 && __GNUC_MINOR__ >= 7 */
+# endif /* HOND_CONF_FORMAT_TEST */
+
+# ifndef PRINTFLIKE
+# if HOND_CONF_FORMAT_TEST
+# define PRINTFLIKE(x,y) __attribute__ ((__format__ (__printf__, x, y)))
+# else /* HOND_CONF_FORMAT_TEST */
+# define PRINTFLIKE(x,y)
+# endif /* HOND_CONF_FORMAT_TEST */
+# endif /* ! PRINTFLIKE */
+
+# ifndef SCANFLIKE
+# if HOND_CONF_FORMAT_TEST
+# define SCANFLIKE(x,y) __attribute__ ((__format__ (__scanf__, x, y)))
+# else /* HOND_CONF_FORMAT_TEST */
+# define SCANFLIKE(x,y)
+# endif /* HOND_CONF_FORMAT_TEST */
+# endif /* ! SCANFLIKE */
+
+#endif /* ! HOND_CDEFS_H */
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/honeyd/honeyd.conf
============================================================================
$ cvs diff -u -r1.3 -r1.4 honeyd.conf
--- openpkg-src/honeyd/honeyd.conf 21 Feb 2003 11:48:07 -0000 1.3
+++ openpkg-src/honeyd/honeyd.conf 24 Sep 2003 22:37:23 -0000 1.4
@@ -4,13 +4,13 @@
# test host definition
create testbox
-set testbox personality "FreeBSD 3.2-4.0"
+set testbox personality "AIX 4.0 - 4.2"
add testbox tcp port 80 "@l_prefix@/libexec/honeyd/honeyd.service http"
add testbox tcp port 22 "@l_prefix@/libexec/honeyd/honeyd.service ssh"
add testbox tcp port 23 proxy $ipsrc:23
set testbox default tcp action reset
# bind the test host to localhost
-bind 127.0.0.1 testbox
-set 127.0.0.1 uptime 1327650
+bind 127.0.0.2 testbox
+set 127.0.0.2 uptime 1327650
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/honeyd/honeyd.patch
============================================================================
$ cvs diff -u -r1.5 -r1.6 honeyd.patch
--- openpkg-src/honeyd/honeyd.patch 26 Jun 2003 09:39:49 -0000 1.5
+++ openpkg-src/honeyd/honeyd.patch 24 Sep 2003 22:37:23 -0000 1.6
@@ -1,8 +1,200 @@
---- configure.org Tue Feb 18 15:31:11 2003
-+++ configure Tue Feb 18 15:32:56 2003
-@@ -3435,11 +3435,11 @@
+diff -Naur honeyd-0.6a.orig/honeyd_overload.c honeyd-0.6a/honeyd_overload.c
+--- honeyd-0.6a.orig/honeyd_overload.c 2003-09-24 22:40:49.815986404 +0200
++++ honeyd-0.6a/honeyd_overload.c 2003-09-24 22:40:15.154417000 +0200
+@@ -222,7 +222,7 @@
+ struct fd *nfd;
+ int pair[2];
+
+- if (socketpair(AF_LOCAL, type, 0, pair) == -1) {
++ if (socketpair(AF_UNIX, type, 0, pair) == -1) {
+ warn("%s: socketpair", __func__);
+ return (NULL);
+ }
+@@ -607,6 +607,7 @@
+ }
+ #endif /* !__FreeBSD__ */
+
++#ifndef sun
+ ssize_t
+ recvfrom(int sock, void *buf, size_t len, int flags, struct sockaddr *from,
+ socklen_t *fromlen)
+@@ -634,6 +635,7 @@
+ out:
+ return (ret);
+ }
++#endif /* !sun */
+
+ ssize_t
+ sendto(int sock, const void *buf, size_t len, int flags,
+@@ -658,6 +660,7 @@
+ return (ret);
+ }
+
++#ifndef sun
+ int
+ getsockname(int sock, struct sockaddr *to, socklen_t *tolen)
+ {
+@@ -683,6 +686,7 @@
+
+ return (0);
+ }
++#endif /* !sun */
+
+ ssize_t
+ sendmsg(int sock, const struct msghdr *msg, int flags)
+@@ -775,6 +779,7 @@
+ return (ret);
+ }
+
++#ifndef sun
+ int
+ accept(int sock, struct sockaddr *addr, socklen_t *addrlen)
+ {
+@@ -813,3 +818,4 @@
+
+ return (fd);
+ }
++#endif /* !sun */
+diff -Naur honeyd-0.6a.orig/util.c honeyd-0.6a/util.c
+--- honeyd-0.6a.orig/util.c 2003-06-12 04:31:52.000000000 +0200
++++ honeyd-0.6a/util.c 2003-09-24 21:10:53.916758139 +0200
+@@ -125,7 +125,7 @@
+
+ /* Try to match against the variable */
+ while ((p = strchr(p, match[0])) != NULL) {
+- if (!strncmp(p, match, len) && !isalnum(p[len]))
++ if (!strncmp(p, match, len) && !isalnum((int)p[len]))
+ break;
+ p += len;
+
+diff -Naur honeyd-0.6a.orig/personality.c honeyd-0.6a/personality.c
+--- honeyd-0.6a.orig/personality.c 2003-05-30 00:51:34.000000000 +0200
++++ honeyd-0.6a/personality.c 2003-09-24 21:09:37.623869975 +0200
+@@ -51,6 +51,7 @@
+ #include <unistd.h>
+ #include <dnet.h>
+ #include <ctype.h>
++#include <limits.h>
+
+ #undef timeout_pending
+ #undef timeout_initialized
+@@ -1202,7 +1203,7 @@
+ if (CMP(p, FINGERPRINT) == 0) {
+ p += sizeof(FINGERPRINT) - 1;
+ p += strspn(p, ": \t");
+- if (!isalnum(*p)) {
++ if (!isalnum((int)*p)) {
+ fprintf(stderr, "%d: bad name \"%s\"\n",
+ lineno, p);
+ return (-1);
+@@ -1450,7 +1451,7 @@
+ strsep (&p2, "#\r\n");
+
+ /* Remove trailing whitespace */
+- for (p2 -= 2; (p2 >= p) && isspace (*p2); p2--)
++ for (p2 -= 2; (p2 >= p) && isspace ((int)*p2); p2--)
+ *p2 = '\0';
+
+ /* Ignore the "fingperint {" line */
+diff -Naur honeyd-0.6a.orig/honeyd.c honeyd-0.6a/honeyd.c
+--- honeyd-0.6a.orig/honeyd.c 2003-07-14 15:12:33.000000000 +0200
++++ honeyd-0.6a/honeyd.c 2003-09-24 20:50:08.413297423 +0200
+@@ -85,6 +85,9 @@
+ #include "arp.h"
+ #include "gre.h"
+ #include "log.h"
++#ifndef HAVE_SETENV
++#include "setenv.h"
++#endif
+
+ /* Prototypes */
+ void honeyd_tcp_timeout(int, short, void *);
+@@ -2502,7 +2505,7 @@
+ err(1, "daemon");
+ }
+ }
+- fprintf(fp, "%d\n", getpid());
++ fprintf(fp, "%d\n", (int)getpid());
+ fclose(fp);
+
+ chmod(PIDFILE, 0644);
+diff -Naur honeyd-0.6a.orig/command.c honeyd-0.6a/command.c
+--- honeyd-0.6a.orig/command.c 2003-06-26 07:34:18.000000000 +0200
++++ honeyd-0.6a/command.c 2003-09-24 20:54:20.208451644 +0200
+@@ -65,6 +65,9 @@
+ #include "tcp.h"
+ #include "udp.h"
+ #include "fdpass.h"
++#ifndef HAVE_SETENV
++#include "setenv.h"
++#endif
+
+ ssize_t atomicio(ssize_t (*)(), int, void *, size_t);
+
+@@ -458,7 +461,7 @@
+ else
+ cb = &cb_udp;
+
+- if (socketpair(AF_LOCAL, hdr->type, 0, pair) == -1) {
++ if (socketpair(AF_UNIX, hdr->type, 0, pair) == -1) {
+ warn("socketpair");
+ return (-1);
+ }
+diff -Naur honeyd-0.6a.orig/arp.c honeyd-0.6a/arp.c
+--- honeyd-0.6a.orig/arp.c 2003-07-10 10:19:38.000000000 +0200
++++ honeyd-0.6a/arp.c 2003-09-24 20:18:04.000000000 +0200
+@@ -48,6 +48,7 @@
+ #include <syslog.h>
+ #include <unistd.h>
+
++#include <sys/time.h>
+ #include <event.h>
+ #include <pcap.h>
+ #include <dnet.h>
+diff -Naur honeyd-0.6a.orig/compat/getopt.h honeyd-0.6a/compat/getopt.h
+--- honeyd-0.6a.orig/compat/getopt.h 2003-05-31 17:44:36.000000000 +0200
++++ honeyd-0.6a/compat/getopt.h 2003-09-24 20:23:37.000000000 +0200
+@@ -40,7 +40,11 @@
+ #ifndef _GETOPT_H_
+ #define _GETOPT_H_
+
++#ifdef HAVE_SYS_CDEFS_H
+ #include <sys/cdefs.h>
++#else
++#include "cdefs.h"
++#endif
+
+ /*
+ * GNU-like getopt_long() and 4.4BSD getsubopt()/optreset extensions
+diff -Naur honeyd-0.6a.orig/config.h.in honeyd-0.6a/config.h.in
+--- honeyd-0.6a.orig/config.h.in 2003-06-24 02:03:05.000000000 +0200
++++ honeyd-0.6a/config.h.in 2003-09-24 20:20:36.000000000 +0200
+@@ -180,6 +180,9 @@
+ /* Define to 1 if you have the `strtoul' function. */
+ #undef HAVE_STRTOUL
+
++/* Define to 1 if you have the `setenv' function. */
++#undef HAVE_SETENV
++
+ /* Define if your system defines struct sockaddr_storage */
+ #undef HAVE_STRUCT_SOCKADDR_STORAGE
+
+@@ -207,6 +210,9 @@
+ /* Define to 1 if you have the <sys/types.h> header file. */
+ #undef HAVE_SYS_TYPES_H
+
++/* Define to 1 if you have the <sys/cdefs.h> header file. */
++#undef HAVE_SYS_CDEFS_H
++
+ /* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+ #undef HAVE_SYS_WAIT_H
+
+diff -Naur honeyd-0.6a.orig/configure honeyd-0.6a/configure
+--- honeyd-0.6a.orig/configure 2003-07-21 22:56:08.000000000 +0200
++++ honeyd-0.6a/configure 2003-09-24 20:19:21.000000000 +0200
+@@ -8387,11 +8387,11 @@
*)
- echo "$as_me:3436: result: $withval" >&5
+ echo "$as_me:$LINENO: result: $withval" >&5
echo "${ECHO_T}$withval" >&6
- if test -f $withval/pcap.h -a -f $withval/libpcap.a; then
+ if test -f $withval/include/pcap.h -a -f $withval/lib/libpcap.a; then
@@ -13,11 +205,11 @@
+ PCAPINC="-I$withval/include -I$withval/bpf"
+ PCAPLIB="-L$withval/lib -lpcap"
else
- { { echo "$as_me:3444: error: pcap.h or libpcap.a not found in $withval"
>&5
+ { { echo "$as_me:$LINENO: error: pcap.h or libpcap.a not found in
$withval" >&5
echo "$as_me: error: pcap.h or libpcap.a not found in $withval" >&2;}
-@@ -3482,9 +3482,9 @@
- *)
- echo "$as_me:3483: result: $withval" >&5
+@@ -8437,9 +8437,9 @@
+ echo $ECHO_N "checking for libdnet... $ECHO_C" >&6
+ echo "$as_me:$LINENO: result: $withval" >&5
echo "${ECHO_T}$withval" >&6
- if test -f $withval/src/libdnet.a; then
+ if test -f $withval/lib/libdnet.a; then
@@ -27,9 +219,9 @@
elif test -x $withval/bin/dnet-config; then
DNETINC="`$withval/bin/dnet-config --cflags`"
DNETLIB="`$withval/bin/dnet-config --libs`"
-@@ -3525,11 +3525,11 @@
+@@ -8540,11 +8540,11 @@
*)
- echo "$as_me:3526: result: $withval" >&5
+ echo "$as_me:$LINENO: result: $withval" >&5
echo "${ECHO_T}$withval" >&6
- if test -f $withval/event.h -a -f $withval/libevent.a; then
+ if test -f $withval/include/event.h -a -f $withval/lib/libevent.a; then
@@ -40,10 +232,51 @@
+ EVENTINC="-I$withval/include"
+ EVENTLIB="-L$withval/lib -levent"
else
- { { echo "$as_me:3534: error: event.h or libevent.a not found in $withval"
>&5
+ { { echo "$as_me:$LINENO: error: event.h or libevent.a not found in
$withval" >&5
echo "$as_me: error: event.h or libevent.a not found in $withval" >&2;}
---- nmap.prints.org Thu Feb 20 15:39:35 2003
-+++ nmap.prints Thu Feb 20 15:40:04 2003
+@@ -8785,7 +8785,7 @@
+
+
+
+-for ac_header in errno.h fcntl.h paths.h stdlib.h string.h time.h sys/ioctl.h
sys/param.h sys/socket.h sys/time.h sys/ioccom.h syslog.h unistd.h
++for ac_header in errno.h fcntl.h paths.h stdlib.h string.h time.h sys/ioctl.h
sys/param.h sys/socket.h sys/time.h sys/ioccom.h sys/cdefs.h syslog.h unistd.h
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ if eval "test \"\${$as_ac_Header+set}\" = set"; then
+@@ -9697,7 +9697,7 @@
+
+
+
+-for ac_func in dup2 gettimeofday memmove memset strcasecmp strchr strdup
strncasecmp strtoul strspn getaddrinfo getnameinfo freeaddrinfo setgroups sendmsg
recvmsg
++for ac_func in dup2 gettimeofday memmove memset strcasecmp strchr strdup
strncasecmp strtoul strspn getaddrinfo getnameinfo freeaddrinfo setgroups sendmsg
recvmsg setenv
+ do
+ as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ echo "$as_me:$LINENO: checking for $ac_func" >&5
+diff -Naur honeyd-0.6a.orig/gre.c honeyd-0.6a/gre.c
+--- honeyd-0.6a.orig/gre.c 2003-06-26 17:51:52.000000000 +0200
++++ honeyd-0.6a/gre.c 2003-09-24 20:18:04.000000000 +0200
+@@ -53,6 +53,7 @@
+ #undef timeout_pending
+ #undef timeout_initialized
+
++#include <sys/time.h>
+ #include <event.h>
+
+ #include "honeyd.h"
+diff -Naur honeyd-0.6a.orig/interface.c honeyd-0.6a/interface.c
+--- honeyd-0.6a.orig/interface.c 2003-07-21 21:22:40.000000000 +0200
++++ honeyd-0.6a/interface.c 2003-09-24 20:18:04.000000000 +0200
+@@ -50,6 +50,7 @@
+ #include <syslog.h>
+ #include <unistd.h>
+
++#include <sys/time.h>
+ #include <event.h>
+ #include <pcap.h>
+ #include <dnet.h>
+diff -Naur honeyd-0.6a.orig/nmap.prints honeyd-0.6a/nmap.prints
+--- honeyd-0.6a.orig/nmap.prints 2002-09-13 18:22:12.000000000 +0200
++++ honeyd-0.6a/nmap.prints 2003-09-24 20:18:04.000000000 +0200
@@ -6715,18 +6715,6 @@
T7(DF=N%W=0%ACK=S++%Flags=AR%Ops=)
PU(Resp=N|Y)
@@ -63,33 +296,24 @@
# Contributed by grunby [EMAIL PROTECTED]
Fingerprint Microsoft NT 4.0 SP5-SP6
TSeq(Class=RI%gcd=<6%SI=<DA16&>21A)
---- interface.c.orig Sat Jun 14 05:45:26 2003
-+++ interface.c Thu Jun 26 11:23:20 2003
-@@ -47,6 +47,7 @@
- #include <syslog.h>
- #include <unistd.h>
+diff -Naur honeyd-0.6a.or/Makefile.in honeyd-0.6a/Makefile.in
+--- honeyd-0.6a.or/Makefile.in 2003-07-21 22:56:07.000000000 +0200
++++ honeyd-0.6a/Makefile.in 2003-09-24 21:21:51.000000000 +0200
+@@ -127,7 +127,7 @@
+ pkgincludedir = $(honeydincludedir)
+ pkginclude_HEADERS = hooks.h plugins.h plugins_config.h debug.h
-+#include <sys/time.h>
- #include <event.h>
- #include <pcap.h>
- #include <dnet.h>
---- arp.c.orig Fri May 30 14:19:46 2003
-+++ arp.c Thu Jun 26 11:23:26 2003
-@@ -45,6 +45,7 @@
- #include <syslog.h>
- #include <unistd.h>
-
-+#include <sys/time.h>
- #include <event.h>
- #include <pcap.h>
- #include <dnet.h>
---- gre.c.orig Sat Jun 14 06:33:27 2003
-+++ gre.c Thu Jun 26 11:23:38 2003
-@@ -50,6 +50,7 @@
- #undef timeout_pending
- #undef timeout_initialized
+-honeyd_SOURCES = honeyd.c command.c parse.y lex.l config.c personality.c util.c
ipfrag.c router.c tcp.c udp.c xprobe_assoc.c log.c fdpass.c atomicio.c
subsystem.c hooks.c plugins.c plugins_config.c pool.c interface.c arp.c gre.c
honeyd.h personality.h ipfrag.h router.h tcp.h udp.h parse.h xprobe_assoc.h
subsystem.h fdpass.h hooks.h plugins.h plugins_config.h template.h pool.h
interface.h arp.h gre.h log.h
++honeyd_SOURCES = honeyd.c command.c parse.y lex.l config.c personality.c util.c
ipfrag.c router.c tcp.c udp.c xprobe_assoc.c log.c fdpass.c atomicio.c
subsystem.c hooks.c plugins.c plugins_config.c pool.c interface.c arp.c gre.c
setenv.c honeyd.h personality.h ipfrag.h router.h tcp.h udp.h parse.h
xprobe_assoc.h subsystem.h fdpass.h hooks.h plugins.h plugins_config.h template.h
pool.h interface.h arp.h gre.h setenv.h log.h
-+#include <sys/time.h>
- #include <event.h>
- #include "honeyd.h"
+ honeyd_LDADD = @LIBOBJS@ @EVENTLIB@ @PCAPLIB@ @DNETLIB@ @PLUGINLIB@ -lm
+@@ -173,7 +173,7 @@
+ xprobe_assoc.$(OBJEXT) log.$(OBJEXT) fdpass.$(OBJEXT) \
+ atomicio.$(OBJEXT) subsystem.$(OBJEXT) hooks.$(OBJEXT) \
+ plugins.$(OBJEXT) plugins_config.$(OBJEXT) pool.$(OBJEXT) \
+-interface.$(OBJEXT) arp.$(OBJEXT) gre.$(OBJEXT)
++interface.$(OBJEXT) arp.$(OBJEXT) gre.$(OBJEXT) setenv.$(OBJEXT)
+ honeyd_DEPENDENCIES = @LIBOBJS@
+ LEXLIB = @LEXLIB@
+ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS)
$(CFLAGS)
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/honeyd/honeyd.spec
============================================================================
$ cvs diff -u -r1.30 -r1.31 honeyd.spec
--- openpkg-src/honeyd/honeyd.spec 31 Jul 2003 17:47:00 -0000 1.30
+++ openpkg-src/honeyd/honeyd.spec 24 Sep 2003 22:37:23 -0000 1.31
@@ -23,19 +23,17 @@
## SUCH DAMAGE.
##
-# FIXME: mlelstv: JUNK because not building on Solaris/Linux2.2
-
# package information
Name: honeyd
Summary: Creates a Virtual Host on Network
URL: http://www.citi.umich.edu/u/provos/honeyd/
Vendor: Niels Provos
Packager: The OpenPKG Project
-Distribution: OpenPKG [JUNK]
+Distribution: OpenPKG [EVAL]
Group: Security
-License: BSD License
+License: BSD
Version: 0.6a
-Release: 20030731
+Release: 20030924
# package options
%option with_fsl yes
@@ -46,6 +44,9 @@
Source2: honeyd.conf
Source3: honeyd.service
Source4: fsl.honeyd
+Source5: cdefs.h
+Source6: setenv.h
+Source7: setenv.c
Patch0: honeyd.patch
# build information
@@ -71,18 +72,28 @@
possible to ping the virtual machines, or to traceroute them. Any
type of service on the virtual machine can be simulated according to
a simple configuration file. Instead of simulating a service, it is
- also possible to proxy it to another machine.
+ also possible to proxy it to another machine. The package arpd will
+ most certainly be useful as well, although it is not a technical
+ requirement for this package.
%prep
%setup -q
- %patch -p0
+ %patch -p1
+ cp -f %{SOURCE setenv.c} .
+ cp -f %{SOURCE setenv.h} .
+ cp -f %{SOURCE cdefs.h} .
+ %{l_shtool} subst -e \
+ 's;AF_LOCAL;AF_UNIX;g' \
+ command.c \
+ honeyd_overload.c
%build
%{l_shtool} subst \
-e 's;/var/run/honeyd.pid;%{l_prefix}/var/honeyd/honeyd.pid;' \
honeyd.h
CC="%{l_cc}" \
- CFLAGS="%{l_cflags -O}"
+ CFLAGS="%{l_cflags -O}" \
+ CPPFLAGS="%{l_cppflags} -DREPLACE_GETOPT" \
./configure \
--prefix=%{l_prefix} \
--with-libdnet=%{l_prefix} \
@@ -133,10 +144,33 @@
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
%{l_files_std} \
'%not %dir %{l_prefix}/etc/fsl' \
- '%config %{l_prefix}/etc/fsl/fsl.honeyd'
+ '%config %{l_prefix}/etc/fsl/fsl.honeyd' \
+ '%config %{l_prefix}/etc/honeyd/honeyd.conf' \
+ '%config %{l_prefix}/libexec/honeyd/honeyd.service'
%files -f files
%clean
rm -rf $RPM_BUILD_ROOT
+
+%pre
+ # before upgrade, save status and stop service
+ [ $1 -eq 2 ] || exit 0
+ eval `%{l_rc} honeyd status 2>/dev/null | tee %{l_tmpfile}`
+ %{l_rc} honeyd stop 2>/dev/null
+ exit 0
+
+%post
+ if [ $1 -eq 2 ]; then
+ # after upgrade, restore status
+ eval `cat %{l_tmpfile}`; rm -f %{l_tmpfile}
+ [ ".$honeyd_active" = .yes ] && %{l_rc} honeyd start
+ fi
+ exit 0
+
+%preun
+ # before erase, stop service and remove log files
+ [ $1 -eq 0 ] || exit 0
+ %{l_rc} honeyd stop 2>/dev/null
+ exit 0
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/honeyd/rc.honeyd
============================================================================
$ cvs diff -u -r1.14 -r1.15 rc.honeyd
--- openpkg-src/honeyd/rc.honeyd 22 Jul 2003 08:10:47 -0000 1.14
+++ openpkg-src/honeyd/rc.honeyd 24 Sep 2003 22:37:23 -0000 1.15
@@ -10,35 +10,49 @@
honeyd_log_numfiles="10"
honeyd_log_minsize="1M"
honeyd_log_complevel="9"
+ honeyd_ip_network="127.0.0.0/24"
+
+%common
+ honeyd_pidfile="@l_prefix@/var/honeyd/honeyd.pid"
+ honeyd_cfgfile="@l_prefix@/etc/honeyd/honeyd.conf"
+ honeyd_prnfile="@l_prefix@/share/honeyd/nmap.prints"
+ honeyd_signal () {
+ [ -f $honeyd_pidfile ] && kill -$1 `cat $honeyd_pidfile`
+ }
+
+%status -u @l_susr@ -o
+ honeyd_usable="no"
+ honeyd_active="no"
+ rcService honeyd enable yes && \
+ honeyd_chroot && honeyd_usable="yes"
+ rcService honeyd enable yes && \
+ honeyd_signal 0 && honeyd_active="yes"
+ echo "honeyd_enable=\"$honeyd_enable\""
+ echo "honeyd_usable=\"$honeyd_usable\""
+ echo "honeyd_active=\"$honeyd_active\""
%start -u @l_susr@
rcService honeyd enable yes || exit 0
+ rcService honeyd active yes && exit 0
cd @l_prefix@/share/honeyd
- @l_prefix@/sbin/honeyd \
- -f @l_prefix@/etc/honeyd/honeyd.conf \
- >/dev/null 2>&1
+ @l_prefix@/sbin/honeyd -f $honeyd_cfgfile -p $honeyd_prnfile $honeyd_ip_network
>/dev/null 2>&1
%stop -u @l_susr@
rcService honeyd enable yes || exit 0
- if [ -f @l_prefix@/var/honeyd/honeyd.pid ]; then
- kill -TERM `cat @l_prefix@/var/honeyd/honeyd.pid`
- fi
+ rcService honeyd active no && exit 0
+ honeyd_signal TERM
%restart -u @l_susr@
rcService honeyd enable yes || exit 0
- if [ -f @l_prefix@/var/honeyd/honeyd.pid ]; then
- kill -TERM `cat @l_prefix@/var/honeyd/honeyd.pid`
- sleep 2
- fi
- @l_prefix@/sbin/honeyd \
- -f @l_prefix@/etc/honeyd/honeyd.conf \
- >/dev/null 2>&1
+ rcService honeyd active no && exit 0
+ rc honeyd stop
+ sleep 2
+ rc honeyd start
%reload -u @l_susr@
rcService honeyd enable yes || exit 0
- if [ -f @l_prefix@/var/honeyd/honeyd.pid ]; then
- kill -HUP `cat @l_prefix@/var/honeyd/honeyd.pid`
- fi
+ rcService honeyd active no && exit 0
+ honeyd_signal HUP
%daily -u @l_susr@
rcService honeyd enable yes || exit 0
@@ -48,6 +62,6 @@
-n ${honeyd_log_numfiles} -s ${honeyd_log_minsize} -d \
-z ${honeyd_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
-P "${honeyd_log_prolog}" \
- -E "${honeyd_log_epilog}" \
+ -E "${honeyd_log_epilog} && rc honeyd restart" \
@l_prefix@/var/honeyd/honeyd.log
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/honeyd/setenv.c
============================================================================
$ cvs diff -u -r0 -r1.1 setenv.c
--- /dev/null 2003-09-25 00:37:24.000000000 +0200
+++ setenv.c 2003-09-25 00:37:24.000000000 +0200
@@ -0,0 +1,60 @@
+/*
+** setenv.c: ISO C implementation
+** Copyright (c) 2003 Michael Schloh von Bennewitz <[EMAIL PROTECTED]>
+** Copyright (c) 2003 Cable & Wireless <http://www.cw.com/de/>
+**
+** Permission to use, copy, modify, and distribute this software for
+** any purpose with or without fee is hereby granted, provided that
+** the above copyright notice and this permission notice appear in all
+** copies.
+**
+** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+** SUCH DAMAGE.
+**
+*/
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#ifndef HAVE_SETENV
+#include <stdlib.h> /* For putenv(3) and malloc(3) */
+#include <string.h> /* For strcpy(3) and strcat(3) */
+
+
+/*
+** Implements setenv C library function for platforms not including it
+**
+*/
+int setenv(const char *kszName, const char *kszValue, int nOverwrite)
+{
+ char *szPair = NULL; /* String we will pass to putenv(3) */
+
+ /* Allocate space for name, value, equals, and string terminator */
+ szPair = malloc(strlen(kszName) + strlen(kszValue) + strlen("=") + 1);
+
+ if (szPair == NULL) /* Memory error */
+ return 1; /* Unsuccessful */
+
+ /* Copy the incoming variables */
+ strcpy(szPair, kszName);
+ strcat(szPair, "=");
+ strcat(szPair, kszValue);
+
+ if (getenv(szPair) != NULL)
+ putenv(szPair); /* Handoff */
+
+ return 0; /* Success */
+}
+#endif /* !HAVE_SETENV */
+
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/honeyd/setenv.h
============================================================================
$ cvs diff -u -r0 -r1.1 setenv.h
--- /dev/null 2003-09-25 00:37:24.000000000 +0200
+++ setenv.h 2003-09-25 00:37:24.000000000 +0200
@@ -0,0 +1,29 @@
+/*
+** setenv.h: ISO C interface
+** Copyright (c) 2003 Michael Schloh von Bennewitz <[EMAIL PROTECTED]>
+** Copyright (c) 2003 Cable & Wireless <http://www.cw.com/de/>
+**
+** Permission to use, copy, modify, and distribute this software for
+** any purpose with or without fee is hereby granted, provided that
+** the above copyright notice and this permission notice appear in all
+** copies.
+**
+** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+** SUCH DAMAGE.
+**
+*/
+
+#ifndef HOND_SETENV_H
+# define HOND_SETENV_H
+int setenv(const char *kszName, const char *kszValue, int nOverwrite);
+#endif /* not HOND_SETENV_H */
@@ .
patch -p0 <<'@@ .'
Index: openpkg-web/news.txt
============================================================================
$ cvs diff -u -r1.6718 -r1.6719 news.txt
--- openpkg-web/news.txt 24 Sep 2003 20:22:13 -0000 1.6718
+++ openpkg-web/news.txt 24 Sep 2003 22:37:22 -0000 1.6719
@@ -1,3 +1,4 @@
+25-Sep-2003: Upgraded package: P<honeyd-0.6a-20030924>
24-Sep-2003: Upgraded package: P<subversion-0.30.0-20030924>
24-Sep-2003: Upgraded package: P<gcc34-3.4s20030924-20030924>
24-Sep-2003: Upgraded package: P<samhain-1.7.11-20030924>
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]