From 725611a466f2edf12f809d22339b22223af4afe7 Mon Sep 17 00:00:00 2001 From: nbd Date: Sat, 7 Oct 2006 11:57:20 +0000 Subject: move old kamikaze out of trunk - will put buildroot-ng in there as soon as all the developers are ready git-svn-id: svn://svn.openwrt.org/openwrt/trunk@4944 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../osiris/patches/01-configure-cross.patch | 22 -- .../osiris/patches/02-osirisd-pidfile.patch | 68 ---- .../package/osiris/patches/03-openssl-0.9.8+.patch | 16 - openwrt/package/osiris/patches/mod_if.patch | 392 --------------------- openwrt/package/osiris/patches/mod_nvram.patch | 213 ----------- openwrt/package/osiris/patches/mod_uptime.patch | 243 ------------- 6 files changed, 954 deletions(-) delete mode 100644 openwrt/package/osiris/patches/01-configure-cross.patch delete mode 100644 openwrt/package/osiris/patches/02-osirisd-pidfile.patch delete mode 100644 openwrt/package/osiris/patches/03-openssl-0.9.8+.patch delete mode 100644 openwrt/package/osiris/patches/mod_if.patch delete mode 100644 openwrt/package/osiris/patches/mod_nvram.patch delete mode 100644 openwrt/package/osiris/patches/mod_uptime.patch (limited to 'openwrt/package/osiris/patches') diff --git a/openwrt/package/osiris/patches/01-configure-cross.patch b/openwrt/package/osiris/patches/01-configure-cross.patch deleted file mode 100644 index 025a3f8419..0000000000 --- a/openwrt/package/osiris/patches/01-configure-cross.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- osiris-4.1.8-orig/configure 2005-04-13 15:22:13.000000000 +0200 -+++ osiris-4.1.8-1/configure 2005-04-22 23:11:32.000000000 +0200 -@@ -3606,7 +3606,7 @@ - esac - - --DB_CONFIG_ARGS="--enable-shared=no --enable-static=yes" -+DB_CONFIG_ARGS="--target=${target_alias} --host=${host_alias} --build=${build_alias} --enable-shared=no --enable-static=yes" - - case "${OS_NAME}" in - MINGW32*) ---- osiris-4.1.8-orig/configure.ac 2005-04-13 15:22:13.000000000 +0200 -+++ osiris-4.1.8-1/configure.ac 2005-04-22 23:11:32.000000000 +0200 -@@ -270,7 +270,7 @@ - - dnl configure local copy of Berkely DB: - --DB_CONFIG_ARGS="--enable-shared=no --enable-static=yes" -+DB_CONFIG_ARGS="--target=${target_alias} --host=${host_alias} --build=${build_alias} --enable-shared=no --enable-static=yes" - - case "${OS_NAME}" in - MINGW32*) diff --git a/openwrt/package/osiris/patches/02-osirisd-pidfile.patch b/openwrt/package/osiris/patches/02-osirisd-pidfile.patch deleted file mode 100644 index 80c52dbf1a..0000000000 --- a/openwrt/package/osiris/patches/02-osirisd-pidfile.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- osiris-4.1.8-orig/src/osirisd/osirisd.c 2005-04-14 01:00:55.000000000 +0200 -+++ osiris-4.1.8-1/src/osirisd/osirisd.c 2005-04-22 23:11:32.000000000 +0200 -@@ -218,6 +218,8 @@ - - #ifdef USE_PRIVSEP - rootpriv_setup_pidfile(); -+#else -+ setup_pidfile(); - #endif - - process(); ---- osiris-4.1.8-orig/src/osirisd/rootpriv.c 2005-04-14 00:55:59.000000000 +0200 -+++ osiris-4.1.8-1/src/osirisd/rootpriv.c 2005-04-22 23:25:10.000000000 +0200 -@@ -35,6 +35,10 @@ - #include "logging.h" - #include "rootpriv.h" - -+#ifndef WIN32 -+extern char pid_file[MAX_PATH_LENGTH]; -+#endif -+ - #ifdef USE_PRIVSEP - - /* this is defined in regex, and sometimes conflicts with stuff */ -@@ -80,10 +84,6 @@ - extern pid_t child_pid; - extern int rootpriv_pipe[2]; /* socketpair used for rootpriv comm. */ - --#ifndef WIN32 --extern char pid_file[MAX_PATH_LENGTH]; --#endif -- - #define INCOMING_ROOT_REQUEST() ( FD_ISSET( rootpriv_pipe[1], &root_read_set ) ) - - -@@ -292,17 +292,6 @@ - #endif - } - --void setup_pidfile() --{ -- FILE *pidfile = fopen( pid_file, "wb" ); -- -- if( pidfile != NULL ) -- { -- fprintf( pidfile, "%ld\n", (long)getpid() ); -- fclose( pidfile ); -- } --} -- - void handle_signals() - { - pid_t pid; -@@ -789,3 +778,14 @@ - - #endif /* USE_PRIVSEP */ - -+void setup_pidfile() -+{ -+ FILE *pidfile = fopen( pid_file, "wb" ); -+ -+ if( pidfile != NULL ) -+ { -+ fprintf( pidfile, "%ld\n", (long)getpid() ); -+ fclose( pidfile ); -+ } -+} -+ diff --git a/openwrt/package/osiris/patches/03-openssl-0.9.8+.patch b/openwrt/package/osiris/patches/03-openssl-0.9.8+.patch deleted file mode 100644 index 806cf3afe2..0000000000 --- a/openwrt/package/osiris/patches/03-openssl-0.9.8+.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -ruN osiris-4.1.9-old/src/osirismd/md_control.c osiris-4.1.9-new/src/osirismd/md_control.c ---- osiris-4.1.9-old/src/osirismd/md_control.c 2005-03-24 16:36:07.000000000 +0100 -+++ osiris-4.1.9-new/src/osirismd/md_control.c 2006-03-28 01:32:32.000000000 +0200 -@@ -3262,9 +3262,9 @@ - int index; - char checksum[41]; - -- SHA_Init( &context ); -- SHA_Update( &context, key, (unsigned long)keysize ); -- SHA_Final( &( digest[0] ), &context ); -+ SHA1_Init( &context ); -+ SHA1_Update( &context, key, (unsigned long)keysize ); -+ SHA1_Final( &( digest[0] ), &context ); - - for ( index = 0; index < SHA_DIGEST_LENGTH; index++ ) - { diff --git a/openwrt/package/osiris/patches/mod_if.patch b/openwrt/package/osiris/patches/mod_if.patch deleted file mode 100644 index 6d18010de1..0000000000 --- a/openwrt/package/osiris/patches/mod_if.patch +++ /dev/null @@ -1,392 +0,0 @@ -Description: The mod_if module monitors various aspects of network - interfaces for change, including IP, Hardware Address, - broadcast, MTU, metric, and promiscuous mode. -Version: 0.2 - -diff -ruN osiris-4.1.9-old/src/osirisd/modules/mod_if/Makefile osiris-4.1.9-new/src/osirisd/modules/mod_if/Makefile ---- osiris-4.1.9-old/src/osirisd/modules/mod_if/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ osiris-4.1.9-new/src/osirisd/modules/mod_if/Makefile 2005-10-07 02:19:17.000000000 +0200 -@@ -0,0 +1,16 @@ -+ -+include ../Makefile -+ -+SRCS=mod_if.c -+OBJS=$(SRCS:.c=.o) -+ -+module: ${SRCS} ${OBJS} -+ -+INCS=-I../.. -I../../../libosiris -I../../../libfileapi -I../../../.. -+ -+# meta-rule for compiling any "C" source file. -+$(OBJS): $(SRCS) -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) ${INCLUDES} ${INCS} $(AM_CPPFLAGS) \ -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c $(SRCS) -+ cp $@ .. -+ -diff -ruN osiris-4.1.9-old/src/osirisd/modules/mod_if/README osiris-4.1.9-new/src/osirisd/modules/mod_if/README ---- osiris-4.1.9-old/src/osirisd/modules/mod_if/README 1970-01-01 01:00:00.000000000 +0100 -+++ osiris-4.1.9-new/src/osirisd/modules/mod_if/README 2005-10-07 02:19:17.000000000 +0200 -@@ -0,0 +1,42 @@ -+ -+Module: mod_if -+Author: Brian Wotring (brian@hostintegrity.com) -+ -+ -+ -+DESCRIPTION: -+ -+The mod_if module is designed originally to monitor the promisc flag -+on network interfaces, but quickly turned into being able to monitor -+various aspects of network interfaces including hardware address, -+IP address, broadcast, MTU, and metric. -+ -+This module is somewhat different in that each record is an element -+about a network interface as opposed to one record per interface. This -+will make it easier to add more elements to be monitored, easier to -+filter, and easier to understand alerts. -+ -+USE: -+ -+To use this module, all that is needed is to include it in the Modules -+block of a scan configuration, e.g.: -+ -+ -+ ... -+ Include mod_if -+ ... -+ -+ -+ -+PARAMETERS: -+ -+There are no parameters for this module. -+ -+PLATFORMS: -+ -+Currently, this module is only implemented for Linux. -+ -+NOTES: -+ -+ -+ -diff -ruN osiris-4.1.9-old/src/osirisd/modules/mod_if/mod_if.c osiris-4.1.9-new/src/osirisd/modules/mod_if/mod_if.c ---- osiris-4.1.9-old/src/osirisd/modules/mod_if/mod_if.c 1970-01-01 01:00:00.000000000 +0100 -+++ osiris-4.1.9-new/src/osirisd/modules/mod_if/mod_if.c 2005-10-07 02:19:17.000000000 +0200 -@@ -0,0 +1,317 @@ -+ -+/****************************************************************************** -+** -+** Copyright (C) 2005 Brian Wotring. -+** -+** This program is free software; you can redistribute it and/or -+** modify it, however, you cannot sell it. -+** -+** This program is distributed in the hope that it will be useful, -+** but WITHOUT ANY WARRANTY; without even the implied warranty of -+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -+** -+** You should have received a copy of the license attached to the -+** use of this software. If not, view a current copy of the license -+** file here: -+** -+** http://www.hostintegrity.com/osiris/LICENSE -+** -+******************************************************************************/ -+ -+/***************************************************************************** -+** -+** File: mod_if.c -+** Date: September 23, 2005 -+** -+** Author: Brian Wotring -+** Purpose: platform specific methods for monitoring network devices. -+** -+******************************************************************************/ -+ -+ -+/* CODE USED IN THIS MODULE WAS ORIGINALLY TAKEN FROM: -+* -+* http://mail.nl.linux.org/kernelnewbies/2003-05/msg00090.html -+*/ -+ -+static const char *MODULE_NAME = "mod_if"; -+ -+ -+#ifndef WIN32 -+#include "config.h" -+#endif -+ -+#include -+#include -+ -+#ifndef WIN32 -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#endif -+ -+#include -+#include -+#include -+ -+ -+#include "libosiris.h" -+#include "libfileapi.h" -+#include "rootpriv.h" -+#include "common.h" -+#include "version.h" -+ -+#include "scanner.h" -+#include "logging.h" -+ -+ -+#define inaddrr(x) (*(struct in_addr *) &ifr->x[sizeof sa.sin_port]) -+#define IFRSIZE ((int)(size * sizeof (struct ifreq))) -+ -+void process_if_unix( SCANNER *scanner ) -+{ -+ unsigned char*u; -+ int sockfd, size = 1; -+ struct ifreq *ifr; -+ struct ifconf ifc; -+ struct sockaddr_in sa; -+ -+ SCAN_RECORD_TEXT_1 record; -+ -+ /* Make sure we are able to create sockets */ -+ -+ if ( (sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP)) < 0 ) -+ { -+ log_error( "mod_if unable to create socket!" ); -+ return; -+ } -+ -+ ifc.ifc_len = IFRSIZE; -+ ifc.ifc_req = NULL; -+ -+ do -+ { -+ ++size; -+ -+ /* realloc buffer size until no overflow occurs */ -+ -+ if ((ifc.ifc_req = realloc(ifc.ifc_req, IFRSIZE)) == NULL ) -+ { -+ log_error( "out of memory!!!" ); -+ return; -+ } -+ -+ ifc.ifc_len = IFRSIZE; -+ -+ if (ioctl(sockfd, SIOCGIFCONF, &ifc)) -+ { -+ log_error("ioctl failure: SIOCFIFCONF"); -+ return; -+ } -+ -+ } while (IFRSIZE <= ifc.ifc_len); -+ -+ ifr = ifc.ifc_req; -+ -+ for (;(char *) ifr < (char *) ifc.ifc_req + ifc.ifc_len; ++ifr) -+ { -+ if (ifr->ifr_addr.sa_data == (ifr+1)->ifr_addr.sa_data) -+ { -+ continue; /* duplicate, skip it */ -+ } -+ -+ if (ioctl(sockfd, SIOCGIFFLAGS, ifr)) -+ { -+ continue; /* failed to get flags, skip it */ -+ } -+ -+ initialize_scan_record( (SCAN_RECORD *)&record, -+ SCAN_RECORD_TYPE_TEXT_1 ); -+ -+ osi_strlcpy( record.module_name, MODULE_NAME, -+ sizeof( record.module_name ) ); -+ -+ osi_snprintf( record.name, sizeof( record.name ), -+ "if:%s:IP", ifr->ifr_name ); -+ -+ osi_snprintf( record.data, sizeof( record.data ), -+ "%s", inet_ntoa(inaddrr(ifr_addr.sa_data))); -+ -+ send_scan_data( scanner, (SCAN_RECORD *)&record ); -+ -+ /* -+ * This won't work on HP-UX 10.20 as there's no SIOCGIFHWADDR ioctl. You'll -+ * need to use DLPI or the NETSTAT ioctl on /dev/lan0, etc (and you'll need -+ * to be root to use the NETSTAT ioctl. Also this is deprecated and doesn't -+ * work on 11.00). -+ * -+ * On Digital Unix you can use the SIOCRPHYSADDR ioctl according to an old -+ * utility I have. Also on SGI I think you need to use a raw socket, e.g. s -+ * = socket(PF_RAW, SOCK_RAW, RAWPROTO_SNOOP) -+ * -+ * Dave -+ * -+ * From: David Peter -+ **/ -+ -+ if ( ioctl(sockfd, SIOCGIFHWADDR, ifr) == 0 ) -+ { -+ /* Select which hardware types to process. -+ ** -+ ** See list in system include file included from -+ ** /usr/include/net/if_arp.h (For example, on -+ ** Linux see file /usr/include/linux/if_arp.h to -+ ** get the list.) -+ **/ -+ -+ switch (ifr->ifr_hwaddr.sa_family) -+ { -+ default: -+ continue; -+ -+ case ARPHRD_NETROM: -+ case ARPHRD_ETHER: -+ case ARPHRD_PPP: -+ case ARPHRD_EETHER: -+ case ARPHRD_IEEE802: -+ break; -+ } -+ -+ u = (unsigned char *) &ifr->ifr_addr.sa_data; -+ -+ /* send record for MAC for this interface */ -+ -+ if (u[0] + u[1] + u[2] + u[3] + u[4] + u[5]) -+ { -+ initialize_scan_record( (SCAN_RECORD *)&record, -+ SCAN_RECORD_TYPE_TEXT_1 ); -+ -+ osi_strlcpy( record.module_name, MODULE_NAME, -+ sizeof( record.module_name ) ); -+ -+ osi_snprintf( record.name, sizeof( record.name ), -+ "if:%s:MAC", ifr->ifr_name ); -+ -+ osi_snprintf( record.data, sizeof( record.data ), -+ "%2.2x.%2.2x.%2.2x.%2.2x.%2.2x.%2.2x", -+ u[0], u[1], u[2], u[3], u[4], u[5]); -+ -+ send_scan_data( scanner, (SCAN_RECORD *)&record ); -+ } -+ } -+ -+ if ( ioctl(sockfd, SIOCGIFNETMASK, ifr) == 0 && -+ strcmp("255.255.255.255", inet_ntoa(inaddrr(ifr_addr.sa_data)))) -+ { -+ initialize_scan_record( (SCAN_RECORD *)&record, -+ SCAN_RECORD_TYPE_TEXT_1 ); -+ -+ osi_strlcpy( record.module_name, MODULE_NAME, -+ sizeof( record.module_name ) ); -+ -+ osi_snprintf( record.name, sizeof( record.name ), -+ "if:%s:NETMASK", ifr->ifr_name ); -+ -+ osi_snprintf( record.data, sizeof( record.data ), -+ "%s", inet_ntoa(inaddrr(ifr_addr.sa_data))); -+ -+ send_scan_data( scanner, (SCAN_RECORD *)&record ); -+ } -+ -+ if (ifr->ifr_flags & IFF_BROADCAST) -+ { -+ if ( ioctl(sockfd, SIOCGIFBRDADDR, ifr) == 0 && -+ strcmp("0.0.0.0", inet_ntoa(inaddrr(ifr_addr.sa_data)))) -+ { -+ -+ initialize_scan_record( (SCAN_RECORD *)&record, -+ SCAN_RECORD_TYPE_TEXT_1 ); -+ -+ osi_strlcpy( record.module_name, MODULE_NAME, -+ sizeof( record.module_name ) ); -+ -+ osi_snprintf( record.name, sizeof( record.name ), -+ "if:%s:BROADCAST", ifr->ifr_name ); -+ -+ osi_snprintf( record.data, sizeof( record.data ), -+ "%s",inet_ntoa(inaddrr(ifr_addr.sa_data))); -+ -+ send_scan_data( scanner, (SCAN_RECORD *)&record ); -+ } -+ } -+ -+ /* Added by David Vasil to check for Promiscuous mode */ -+ -+ initialize_scan_record( (SCAN_RECORD *)&record, -+ SCAN_RECORD_TYPE_TEXT_1 ); -+ -+ osi_strlcpy( record.module_name, MODULE_NAME, -+ sizeof( record.module_name ) ); -+ -+ -+ osi_snprintf( record.name, sizeof( record.name ), -+ "if:%s:PROMISC", ifr->ifr_name ); -+ -+ if ( ioctl(sockfd, SIOCGIFFLAGS, ifr) == 0 && -+ ifr->ifr_flags & IFF_PROMISC) -+ { -+ osi_strlcpy( record.data, "ENABLED", sizeof( record.data ) ); -+ } -+ -+ else -+ { -+ osi_strlcpy( record.data, "DISABLED", sizeof( record.data ) ); -+ } -+ -+ send_scan_data( scanner, (SCAN_RECORD *)&record ); -+ -+ -+ if ( ioctl(sockfd, SIOCGIFMTU, ifr) == 0 ) -+ { -+ initialize_scan_record( (SCAN_RECORD *)&record, -+ SCAN_RECORD_TYPE_TEXT_1 ); -+ -+ osi_strlcpy( record.module_name, MODULE_NAME, -+ sizeof( record.module_name ) ); -+ -+ osi_snprintf( record.name, sizeof( record.name ), -+ "if:%s:MTU", ifr->ifr_name ); -+ -+ osi_snprintf( record.data, sizeof( record.data ), -+ "%u", ifr->ifr_mtu ); -+ -+ send_scan_data( scanner, (SCAN_RECORD *)&record ); -+ } -+ -+ if ( ioctl(sockfd, SIOCGIFMETRIC, ifr) == 0 ) -+ { -+ initialize_scan_record( (SCAN_RECORD *)&record, -+ SCAN_RECORD_TYPE_TEXT_1 ); -+ -+ osi_strlcpy( record.module_name, MODULE_NAME, -+ sizeof( record.module_name ) ); -+ -+ osi_snprintf( record.name, sizeof( record.name ), -+ "if:%s:METRIC", ifr->ifr_name ); -+ -+ osi_snprintf( record.data, sizeof( record.data ), -+ "%u", ifr->ifr_metric ); -+ -+ send_scan_data( scanner, (SCAN_RECORD *)&record ); -+ } -+ } -+ -+ close(sockfd); -+} -+ -+void mod_if( SCANNER *scanner ) -+{ -+#if defined(SYSTEM_LINUX) -+ process_if_unix( scanner ); -+#endif -+ -+} diff --git a/openwrt/package/osiris/patches/mod_nvram.patch b/openwrt/package/osiris/patches/mod_nvram.patch deleted file mode 100644 index 69b6cd6099..0000000000 --- a/openwrt/package/osiris/patches/mod_nvram.patch +++ /dev/null @@ -1,213 +0,0 @@ -Description: The mod_nvram module was developed specifically to monitor - configuration settings stored in nvram on Linksys devices. - In the future, this module could be used to monitor other - attributes of similar devices. -Version: 0.1 - ---- osiris-4.1.8-orig/src/osirisd/modules/mod_nvram/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ osiris-4.1.8-1/src/osirisd/modules/mod_nvram/Makefile 2005-04-22 23:11:32.000000000 +0200 -@@ -0,0 +1,16 @@ -+ -+include ../Makefile -+ -+SRCS=mod_nvram.c -+OBJS=$(SRCS:.c=.o) -+ -+module: ${SRCS} ${OBJS} -+ -+INCS=-I../.. -I../../../libosiris -I../../../libfileapi -I../../../.. -+ -+# meta-rule for compiling any "C" source file. -+$(OBJS): $(SRCS) -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) ${INCLUDES} ${INCS} $(AM_CPPFLAGS) \ -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c $(SRCS) -+ cp $@ .. -+ ---- osiris-4.1.8-orig/src/osirisd/modules/mod_nvram/README 1970-01-01 01:00:00.000000000 +0100 -+++ osiris-4.1.8-1/src/osirisd/modules/mod_nvram/README 2005-04-22 23:11:32.000000000 +0200 -@@ -0,0 +1,40 @@ -+ -+Module: mod_nvram -+Author: Brian Wotring (brian@shmoo.com) -+ -+ -+ -+DESCRIPTION: -+ -+The mod_nvram module reads the key=value pairs stored in nvram. This -+is primarily for Linksys routers, but could be modified to run on -+other systems if necessary. On the routers like the WRT54G, the -+nvram settings hold sensitive information that needs to be monitored. -+The format for the record structure is as follows: -+ -+ name:value -+ -+USE: -+ -+To use this module, all that is needed is to include it in the System -+block of a scan configuration, e.g.: -+ -+ -+ ... -+ Include mod_nvram -+ ... -+ -+ -+ -+PARAMETERS: -+ -+There are no parameters for this module. -+ -+PLATFORMS: -+ -+Currently, only for the Linksys WRT54G and WRT54GS devices. -+ -+NOTES: -+ -+ -+ ---- osiris-4.1.8-orig/src/osirisd/modules/mod_nvram/mod_nvram.c 1970-01-01 01:00:00.000000000 +0100 -+++ osiris-4.1.8-1/src/osirisd/modules/mod_nvram/mod_nvram.c 2005-04-22 23:11:32.000000000 +0200 -@@ -0,0 +1,142 @@ -+ -+/****************************************************************************** -+** -+** This program is free software; you can redistribute it and/or -+** modify it, however, you cannot sell it. -+** -+** This program is distributed in the hope that it will be useful, -+** but WITHOUT ANY WARRANTY; without even the implied warranty of -+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -+** -+** You should have received a copy of the license attached to the -+** use of this software. If not, visit www.shmoo.com/osiris for -+** details. -+** -+******************************************************************************/ -+ -+/***************************************************************************** -+** -+** File: mod_users.c -+** Date: January 1, 2004 -+** -+** Author: Brian Wotring -+** Purpose: platform specific methods for reading user file information. -+** -+******************************************************************************/ -+ -+#include "libosiris.h" -+#include "libfileapi.h" -+#include "rootpriv.h" -+#include "common.h" -+#include "version.h" -+ -+#include "scanner.h" -+#include "logging.h" -+ -+ -+#define NVRAM_PATH "/usr/sbin/nvram" -+#define NVRAM_ARG "show" -+ -+static const char *MODULE_NAME = "mod_nvram"; -+ -+ -+void mod_nvram( SCANNER *scanner ) -+{ -+ int pid; -+ int pc[2]; -+ int cp[2]; -+ char temp_line[4096]; -+ FILE *file; -+ SCAN_RECORD_TEXT_1 record; -+ -+ if( pipe(pc) < 0) -+ { -+ log_error( "mod_nvram: error creating pipe!" ); -+ return; -+ } -+ -+ if( pipe(cp) < 0) -+ { -+ log_error( "mod_nvram: error creating pipe!" ); -+ return; -+ } -+ -+ /* Create a child to run nvram command. */ -+ -+ switch( pid = fork() ) -+ { -+ case -1: -+ log_error( "nvram: fork error!" ); -+ return; -+ -+ case 0: -+ -+ /* child */ -+ -+ close(1); -+ dup( cp[1]); -+ close(0); -+ close( pc[1]); -+ close( cp[0]); -+ execl( NVRAM_PATH, NVRAM_PATH, NVRAM_ARG, NULL ); -+ exit(0); -+ -+ default: -+ -+ /* parent */ -+ -+ close(pc[1]); -+ close(cp[1]); -+ -+ file = fdopen( cp[0], "r" ); -+ -+ for(;;) -+ { -+ char *line; -+ char *key_end; -+ -+ line = fgets( temp_line, sizeof( temp_line ), file ); -+ -+ if( line == NULL) -+ { -+ break; -+ } -+ -+ line = trim_white_space( line ); -+ -+ /* skip commented and empty lines. */ -+ -+ if( ( line == NULL ) || ( line[0] == '#' ) ) -+ { -+ continue; -+ } -+ -+ /* locate the username, this is the first item in the colon list. */ -+ -+ if( ( key_end = strchr( line, '=' ) ) == NULL ) -+ { -+ continue; -+ } -+ -+ initialize_scan_record( (SCAN_RECORD *)&record, -+ SCAN_RECORD_TYPE_TEXT_1 ); -+ -+ osi_strlcpy( record.module_name, MODULE_NAME, -+ sizeof( record.module_name ) ); -+ -+ /* user the key as a key/path for this record. */ -+ -+ (*key_end) = '\0'; -+ key_end++; -+ osi_strlcpy( record.name, "nvram:", sizeof( record.name ) ); -+ osi_strlcat( record.name, line, sizeof( record.name ) ); -+ -+ /* now copy in the value into the data portion. */ -+ /* and send this record on its way. */ -+ -+ osi_strlcpy( record.data, key_end, sizeof( record.data ) ); -+ send_scan_data( scanner, (SCAN_RECORD *)&record ); -+ } -+ } -+} -+ diff --git a/openwrt/package/osiris/patches/mod_uptime.patch b/openwrt/package/osiris/patches/mod_uptime.patch deleted file mode 100644 index 2bfeec6b44..0000000000 --- a/openwrt/package/osiris/patches/mod_uptime.patch +++ /dev/null @@ -1,243 +0,0 @@ -Description: The mod_uptime module obtains the system boot time value - for comparison with scans. -Version: 0.2 - ---- osiris-4.1.8-orig/src/osirisd/modules/mod_uptime/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ osiris-4.1.8-1/src/osirisd/modules/mod_uptime/Makefile 2005-04-22 23:11:32.000000000 +0200 -@@ -0,0 +1,16 @@ -+ -+include ../Makefile -+ -+SRCS=mod_uptime.c -+OBJS=$(SRCS:.c=.o) -+ -+module: ${SRCS} ${OBJS} -+ -+INCS=-I../.. -I../../../libosiris -I../../../libfileapi -I../../../.. -+ -+# meta-rule for compiling any "C" source file. -+$(OBJS): $(SRCS) -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) ${INCLUDES} ${INCS} $(AM_CPPFLAGS) \ -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c $(SRCS) -+ cp $@ .. -+ ---- osiris-4.1.8-orig/src/osirisd/modules/mod_uptime/README 1970-01-01 01:00:00.000000000 +0100 -+++ osiris-4.1.8-1/src/osirisd/modules/mod_uptime/README 2005-04-22 23:11:32.000000000 +0200 -@@ -0,0 +1,36 @@ -+ -+Module: mod_uptime -+Author: Brian Wotring (brian@shmoo.com) -+ -+ -+ -+DESCRIPTION: -+ -+The mod_uptime module obtains the system boot time value for comparison -+with scans. -+ -+USE: -+ -+To use this module, all that is needed is to include it in the System -+block of a scan configuration, e.g.: -+ -+ -+ ... -+ Include mod_uptime -+ ... -+ -+ -+ -+PARAMETERS: -+ -+There are no parameters for this module. -+ -+PLATFORMS: -+ -+Currently, this module is implemented for FreeBSD, OpenBSD, -+Linux, Solaris, and Mac OS X. -+ -+NOTES: -+ -+ -+ ---- osiris-4.1.8-orig/src/osirisd/modules/mod_uptime/mod_uptime.c 1970-01-01 01:00:00.000000000 +0100 -+++ osiris-4.1.8-1/src/osirisd/modules/mod_uptime/mod_uptime.c 2005-04-22 23:11:32.000000000 +0200 -@@ -0,0 +1,178 @@ -+ -+/****************************************************************************** -+** -+** This program is free software; you can redistribute it and/or -+** modify it, however, you cannot sell it. -+** -+** This program is distributed in the hope that it will be useful, -+** but WITHOUT ANY WARRANTY; without even the implied warranty of -+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -+** -+** You should have received a copy of the license attached to the -+** use of this software. If not, visit www.shmoo.com/osiris for -+** details. -+** -+******************************************************************************/ -+ -+/***************************************************************************** -+** -+** File: mod_uptime.c -+** Date: March 22, 2004 -+** -+** Author: Brian Wotring -+** Purpose: platform specific methods for obtaining the system boot time. -+** -+******************************************************************************/ -+ -+#include "libosiris.h" -+#include "libfileapi.h" -+#include "rootpriv.h" -+#include "common.h" -+#include "version.h" -+ -+#include "scanner.h" -+#include "logging.h" -+#include "config.h" -+ -+#ifdef HAVE_SYS_SYSCTL_H -+#include -+#endif -+ -+#ifdef SYSTEM_SUNOS -+#include -+#endif -+ -+#ifdef SYSTEM_LINUX -+#include -+#endif -+ -+#define PROC_FILE "/proc/uptime" -+#define OSI_WTMP_FILE "/var/log/wtmp" -+ -+static const char *MODULE_NAME = "mod_uptime"; -+ -+ -+void mod_uptime( SCANNER *scanner ) -+{ -+ SCAN_RECORD_TEXT_1 record; -+ char *time = NULL; -+ char *temp; -+ -+ initialize_scan_record( (SCAN_RECORD *)&record, -+ SCAN_RECORD_TYPE_TEXT_1 ); -+ -+ osi_strlcpy( record.module_name, MODULE_NAME, -+ sizeof( record.module_name ) ); -+ -+#if defined(SYSTEM_FREEBSD) || defined(SYSTEM_OPENBSD) || defined(SYSTEM_DARWIN) -+ { -+ time_t t; -+ struct timeval result; -+ -+ int request[2] = { CTL_KERN, KERN_BOOTTIME }; -+ size_t result_len = sizeof(result); -+ -+ if( sysctl( request, 2, &result, &result_len, NULL, 0 ) < 0) -+ { -+ log_error( "unable to obtain uptime value." ); -+ return; -+ } -+ -+ t = result.tv_sec; -+ time = ctime( &t ); -+ } -+ -+#elif defined(SYSTEM_SUNOS) -+ { -+ struct utmpx * ent; -+ time_t t; -+ -+ while( ( ent = getutxent() ) ) -+ { -+ if( !strcmp( "system boot", ent->ut_line ) ) -+ { -+ t = ent->ut_tv.tv_sec; -+ time = ctime( &t ); -+ } -+ } -+ } -+ -+#elif defined(SYSTEM_LINUX) -+ { -+ FILE *fp; -+ time_t t; -+ struct utmp ut; -+ -+ char buf[40]; -+ char buf2[10]; -+ int filecount = 0; -+ -+next_file: -+ -+ osi_strlcpy( buf, OSI_WTMP_FILE, sizeof( buf ) ); -+ -+ if( filecount > 0 ) -+ { -+ osi_snprintf( buf2, sizeof(buf2), "%d", filecount ); -+ osi_strlcat( buf, buf2, sizeof(buf) ); -+ } -+ -+ fp = osi_fopen( buf, "r", 0 ); -+ -+ if( fp == NULL ) -+ { -+ log_error( "unable to obtain uptime value." ); -+ return; -+ } -+ -+ while(1) -+ { -+ int rc = fread( &ut, 1, sizeof(ut), fp ); -+ -+ /* end of file, try next. */ -+ -+ if( rc == 0 ) -+ { -+ filecount++; -+ fclose( fp ); -+ -+ goto next_file; -+ } -+ -+ /* found restart event. */ -+ -+ if( ( strcmp( ut.ut_name, "reboot" ) == 0 ) || -+ ( strcmp( ut.ut_name, "shutdown" ) == 0 ) ) -+ { -+ -+ t = ut.ut_time; -+ time = ctime( &t ); -+ -+ break; -+ } -+ } -+ -+ fclose( fp ); -+ } -+#endif -+ -+ if( time == NULL ) -+ { -+ log_error( "unable to obtain uptime value." ); -+ return; -+ } -+ -+ /* remove any trailing newline from the ctime() calls. */ -+ -+ if( ( temp = strchr( time, '\n' ) ) ) -+ { -+ (*temp) = '\0'; -+ } -+ -+ osi_strlcpy( record.name, "uptime", sizeof( record.name ) ); -+ osi_strlcpy( record.data, time, sizeof( record.data ) ); -+ -+ send_scan_data( scanner, (SCAN_RECORD *)&record ); -+} -+ -+ -- cgit v1.2.3