fa49311
diff -urp pads-1.2.orig/src/configuration.c pads-1.2/src/configuration.c
fa49311
--- pads-1.2.orig/src/configuration.c	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/configuration.c	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -26,6 +26,9 @@
fa49311
  *
fa49311
  **************************************************************************/
fa49311
 #include "configuration.h"
fa49311
+#include "util.h"
fa49311
+#include "bstring/util.h"
fa49311
+#include "monnet.h"
fa49311
 
fa49311
 /* Variable Declarations */
fa49311
 
fa49311
@@ -44,7 +47,7 @@ void init_configuration (bstring filenam
fa49311
 
fa49311
     verbose_message("config - Processing '%s'.", bdata(filename));
fa49311
 
fa49311
-    if ((fp = fopen(bdata(filename), "r")) == NULL) {
fa49311
+    if ((fp = fopen((char *)bdata(filename), "r")) == NULL) {
fa49311
         err_message("Unable to open configuration file - %s", bdata(filename));
fa49311
     }
fa49311
 
fa49311
@@ -59,7 +62,7 @@ void init_configuration (bstring filenam
fa49311
     /* Clean Up */
fa49311
     bdestroy(filedata);
fa49311
     bstrListDestroy(lines);
fa49311
-    close(fp);
fa49311
+    fclose(fp);
fa49311
 }
fa49311
 
fa49311
 /* ----------------------------------------------------------
fa49311
@@ -147,7 +150,7 @@ void parse_line (bstring line)
fa49311
 
fa49311
     } else if ((biseqcstr(param, "network")) == 1) {
fa49311
         /* NETWORK */
fa49311
-        parse_networks(bdata(value));
fa49311
+        parse_networks((char *)bdata(value));
fa49311
 
fa49311
     }
fa49311
 
fa49311
diff -urp pads-1.2.orig/src/global.h pads-1.2/src/global.h
fa49311
--- pads-1.2.orig/src/global.h	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/global.h	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -25,6 +25,9 @@
fa49311
  * $Id: pads-1.2-cleanup.patch,v 1.1 2008/08/13 17:35:11 sgrubb Exp $
fa49311
  *
fa49311
  **************************************************************************/
fa49311
+#ifndef GLOBAL_HEADER
fa49311
+#define GLOBAL_HEADER
fa49311
+
fa49311
 #ifdef HAVE_CONFIG_H
fa49311
 #include "config.h"
fa49311
 #endif
fa49311
@@ -68,6 +71,7 @@
fa49311
 #include <netinet/if_ether.h>
fa49311
 #include <pcap.h>
fa49311
 #include <pcre.h>
fa49311
+#include <time.h>
fa49311
 
fa49311
 #include "bstring/bstrlib.h"
fa49311
 
fa49311
@@ -160,3 +164,6 @@ extern GC gc;
fa49311
 
fa49311
 /* vim:expandtab:cindent:smartindent:ts=4:tw=0:sw=4:
fa49311
  */
fa49311
+
fa49311
+#endif
fa49311
+
fa49311
diff -urp pads-1.2.orig/src/identification.c pads-1.2/src/identification.c
fa49311
--- pads-1.2.orig/src/identification.c	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/identification.c	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -26,6 +26,9 @@
fa49311
  *
fa49311
  **************************************************************************/
fa49311
 #include "identification.h"
fa49311
+#include "util.h"
fa49311
+#include "storage.h"
fa49311
+#include "output/output.h"
fa49311
 
fa49311
 Signature *signature_list;
fa49311
 
fa49311
@@ -57,7 +60,7 @@ int init_identification()
fa49311
     }
fa49311
 
fa49311
     /* Open Signature File */
fa49311
-    if ((fp = fopen(bdata(filename), "r")) == NULL) {
fa49311
+    if ((fp = fopen((char *)bdata(filename), "r")) == NULL) {
fa49311
         err_message("Unable to open signature file - %s", bdata(filename));
fa49311
     }
fa49311
 
fa49311
@@ -73,7 +76,7 @@ int init_identification()
fa49311
     bdestroy(filename);
fa49311
     bdestroy(filedata);
fa49311
     bstrListDestroy(lines);
fa49311
-    close(fp);
fa49311
+    fclose(fp);
fa49311
 
fa49311
     return 0;
fa49311
 }
fa49311
@@ -91,7 +94,7 @@ int init_identification()
fa49311
 int parse_raw_signature (bstring line, int lineno)
fa49311
 {
fa49311
     struct bstrList *raw_sig;
fa49311
-    struct bstrList *title;
fa49311
+    struct bstrList *title = NULL;
fa49311
     Signature *sig;
fa49311
     bstring pcre_string;
fa49311
     const char *err;            /* PCRE */
fa49311
@@ -101,7 +104,7 @@ int parse_raw_signature (bstring line, i
fa49311
 
fa49311
     /* Check to see if this line has something to read. */
fa49311
     if (line->data[0] == '\0' || line->data[0] == '#')
fa49311
-        return;
fa49311
+        return -1;
fa49311
 
fa49311
     /* Split Line */
fa49311
     if ((raw_sig = bsplit(line, ',')) == NULL)
fa49311
@@ -125,8 +128,10 @@ int parse_raw_signature (bstring line, i
fa49311
 
fa49311
     /* Split Title */
fa49311
     if (raw_sig->entry[1] != NULL && ret != -1)
fa49311
-        if ((title = bsplit(raw_sig->entry[1], '/')) == NULL)
fa49311
-            ret = -1;
fa49311
+        title = bsplit(raw_sig->entry[1], '/');
fa49311
+    if (title == NULL)
fa49311
+            return -1;
fa49311
+
fa49311
     if (title->qty < 3)
fa49311
         ret = -1;
fa49311
 
fa49311
@@ -145,7 +150,7 @@ int parse_raw_signature (bstring line, i
fa49311
 
fa49311
         /* PCRE */
fa49311
         if (pcre_string != NULL) {
fa49311
-            if ((sig->regex = pcre_compile (bdata(pcre_string), 0, &err, &erroffset, NULL)) == NULL) {
fa49311
+            if ((sig->regex = pcre_compile ((char *)bdata(pcre_string), 0, &err, &erroffset, NULL)) == NULL) {
fa49311
                 err_message("Unable to compile signature:  %s at line %d (%s)",
fa49311
                 err, lineno, bdata(line));
fa49311
             ret = -1;
fa49311
@@ -265,7 +270,6 @@ int pcre_identify (struct in_addr ip_add
fa49311
     Signature *list = signature_list;
fa49311
     int rc;
fa49311
     int ovector[15];
fa49311
-    int i;
fa49311
     bstring app;
fa49311
 
fa49311
     while (list != NULL) {
fa49311
@@ -312,18 +316,18 @@ bstring get_app_name (Signature *sig,
fa49311
 
fa49311
     /* Create Application string using the values in signature[i].title.  */
fa49311
     if (sig->title.app != NULL) {
fa49311
-        strlcpy(app, bdata(sig->title.app), MAX_APP);
fa49311
+        strlcpy(app, (char *)bdata(sig->title.app), MAX_APP);
fa49311
     }
fa49311
     if (sig->title.ver != NULL) {
fa49311
         if (sig->title.ver->slen > 0) {
fa49311
             strcat(app, " ");
fa49311
-            strlcat(app, bdata(sig->title.ver), MAX_VER);
fa49311
+            strlcat(app, (char *)bdata(sig->title.ver), MAX_VER);
fa49311
         }
fa49311
     }
fa49311
     if (sig->title.misc != NULL) {
fa49311
         if (sig->title.misc->slen > 0) {
fa49311
             strcat(app, " (");
fa49311
-            strlcat(app, bdata(sig->title.misc), MAX_MISC);
fa49311
+            strlcat(app, (char *)bdata(sig->title.misc), MAX_MISC);
fa49311
             strcat(app, ")");
fa49311
         }
fa49311
     }
fa49311
@@ -416,7 +420,8 @@ void print_signature()
fa49311
         printf("2a: %s\n", bdata(list->title.app));
fa49311
         printf("2b: %s\n", bdata(list->title.ver));
fa49311
         printf("2c: %s\n", bdata(list->title.misc));
fa49311
-        printf("3:  %s\n", list->regex);
fa49311
+        // FIXME: This is a compiled expression
fa49311
+        // printf("3:  %s\n", list->regex);
fa49311
         printf("\n");
fa49311
 
fa49311
         i++;
fa49311
diff -urp pads-1.2.orig/src/mac-resolution.c pads-1.2/src/mac-resolution.c
fa49311
--- pads-1.2.orig/src/mac-resolution.c	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/mac-resolution.c	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -32,6 +32,7 @@
fa49311
 #ifndef DISABLE_VENDOR
fa49311
 
fa49311
 #include "mac-resolution.h"
fa49311
+#include "util.h"
fa49311
 
fa49311
 Vendor *vendor_list = NULL;
fa49311
 
fa49311
@@ -60,7 +61,7 @@ int init_mac_resolution (void) {
fa49311
     }
fa49311
 
fa49311
     /* Open Signature File */
fa49311
-    if ((fp = fopen(bdata(filename), "r")) == NULL) {
fa49311
+    if ((fp = fopen((char *)bdata(filename), "r")) == NULL) {
fa49311
         err_message("Unable to open MAC resolution file - %s", bdata(filename));
fa49311
     }
fa49311
 
fa49311
@@ -79,7 +80,7 @@ int init_mac_resolution (void) {
fa49311
         bdestroy(filedata);
fa49311
     if (lines != NULL)
fa49311
         bstrListDestroy(lines);
fa49311
-    close(fp);
fa49311
+    fclose(fp);
fa49311
 
fa49311
     return 0;
fa49311
 }
fa49311
@@ -99,10 +100,8 @@ int parse_raw_mac (bstring line)
fa49311
     char vendor[80];
fa49311
     int m1, m2, m3;
fa49311
 
fa49311
-    int pos;
fa49311
-
fa49311
     /* Parse out the contents of the line. */
fa49311
-    if (sscanf(bdata(line), "%02X:%02X:%02X %80[^,\n],\n", &m1, &m2, &m3, vendor) != 4)
fa49311
+    if (sscanf((char *)bdata(line), "%02X:%02X:%02X %80[^,\n],\n", &m1, &m2, &m3, vendor) != 4)
fa49311
         return -1;
fa49311
 
fa49311
     mac[0] = (char) (m1);
fa49311
@@ -215,7 +214,7 @@ void show_vendor (void){
fa49311
     list = vendor_list;
fa49311
 
fa49311
     while(list != NULL) {
fa49311
-        printf("Mac: %s\nVendor: %s\n\n", list->mac, bdata(list->vendor));
fa49311
+        printf("Mac: %u\nVendor: %s\n\n", list->mac, bdata(list->vendor));
fa49311
         list = list->next;
fa49311
     }
fa49311
 }
fa49311
diff -urp pads-1.2.orig/src/monnet.c pads-1.2/src/monnet.c
fa49311
--- pads-1.2.orig/src/monnet.c	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/monnet.c	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -27,7 +27,10 @@
fa49311
  * $Id: pads-1.2-cleanup.patch,v 1.1 2008/08/13 17:35:11 sgrubb Exp $
fa49311
  *
fa49311
  **************************************************************************/
fa49311
+#include <stdlib.h>
fa49311
+#include <arpa/inet.h>
fa49311
 #include "monnet.h"
fa49311
+#include "util.h"
fa49311
 
fa49311
 struct mon_net *mn;
fa49311
 
fa49311
@@ -45,7 +48,6 @@ void parse_networks (char *cmdline)
fa49311
 {
fa49311
     int i = 0;
fa49311
     char network[16], netmask[3], tmp[16];
fa49311
-    struct in_addr in_net;
fa49311
 
fa49311
     /* Make sure something was defined. */
fa49311
     if (cmdline == NULL)
fa49311
@@ -81,7 +83,7 @@ void parse_networks (char *cmdline)
fa49311
 	    i++;
fa49311
 	}
fa49311
 
fa49311
-	*cmdline++;
fa49311
+	cmdline++;
fa49311
     }
fa49311
 }
fa49311
 
fa49311
diff -urp pads-1.2.orig/src/output/output.c pads-1.2/src/output/output.c
fa49311
--- pads-1.2.orig/src/output/output.c	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/output/output.c	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -26,6 +26,10 @@
fa49311
  *
fa49311
  **************************************************************************/
fa49311
 #include "output.h"
fa49311
+#include "output-screen.h"
fa49311
+#include "output-csv.h"
fa49311
+#include "output-fifo.h"
fa49311
+#include "storage.h"
fa49311
 
fa49311
 /* Global Variables */
fa49311
 OutputPluginList *output_plugin_list;
fa49311
@@ -149,7 +153,7 @@ int print_asset (struct in_addr ip_addr,
fa49311
 
fa49311
     /* Make sure that a record was found. */
fa49311
     if (rec == NULL)
fa49311
-	return;
fa49311
+	return -1;
fa49311
 
fa49311
     /* Cycle through output plugins and print to those that are active. */
fa49311
     head = output_plugin_list;
fa49311
@@ -182,7 +186,7 @@ int print_arp_asset (struct in_addr ip_a
fa49311
 
fa49311
     /* Find Asset */
fa49311
     ArpAsset *list;
fa49311
-    ArpAsset *rec;
fa49311
+    ArpAsset *rec = NULL;
fa49311
 
fa49311
     list = (ArpAsset *)get_arp_pointer();
fa49311
     while (list != NULL) {
fa49311
@@ -199,7 +203,7 @@ int print_arp_asset (struct in_addr ip_a
fa49311
 
fa49311
     /* Make sure that a record was found. */
fa49311
     if (rec == NULL)
fa49311
-	return;
fa49311
+	return -1;
fa49311
 
fa49311
     /* Cycle through output plugins and print to those that are active. */
fa49311
     head = output_plugin_list;
fa49311
@@ -298,8 +302,8 @@ void end_output (void)
fa49311
 #ifdef DEBUG
fa49311
 int debug_output_list (void)
fa49311
 {
fa49311
-    OutputPluginList *head, *head2;
fa49311
-    OutputPlugin *tmp, *tmp2;
fa49311
+    OutputPluginList *head;
fa49311
+    OutputPlugin *tmp;
fa49311
     int i = 1;
fa49311
 
fa49311
     printf("output_plugin_list:\n");
fa49311
diff -urp pads-1.2.orig/src/output/output-csv.c pads-1.2/src/output/output-csv.c
fa49311
--- pads-1.2.orig/src/output/output-csv.c	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/output/output-csv.c	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -24,7 +24,10 @@
fa49311
  * $Id: pads-1.2-cleanup.patch,v 1.1 2008/08/13 17:35:11 sgrubb Exp $
fa49311
  *
fa49311
  **************************************************************************/
fa49311
+#include <arpa/inet.h>
fa49311
 #include "output-csv.h"
fa49311
+#include "util.h"
fa49311
+#include "storage.h"
fa49311
 
fa49311
 OutputCSVConf output_csv_conf;
fa49311
 
fa49311
@@ -40,7 +43,6 @@ int
fa49311
 setup_output_csv (void)
fa49311
 {
fa49311
     OutputPlugin *plugin;
fa49311
-    bstring name;
fa49311
 
fa49311
     /* Allocate and setup plugin data record. */
fa49311
     plugin = (OutputPlugin*)malloc(sizeof(OutputPlugin));
fa49311
@@ -68,7 +70,7 @@ setup_output_csv (void)
fa49311
  *		: will read in the file and add each asset
fa49311
  *		: to the asset data structure.
fa49311
  * INPUT	: 0 - CSV filename
fa49311
- * RETURN	: None!
fa49311
+ * RETURN	: 0 success, -1 fail
fa49311
  * --------------------------------------------------------- */
fa49311
 int
fa49311
 init_output_csv (bstring filename)
fa49311
@@ -84,14 +86,15 @@ init_output_csv (bstring filename)
fa49311
 	output_csv_conf.filename = bstrcpy(bfromcstr("assets.csv"));
fa49311
 
fa49311
     /* Check to see if *filename exists. */
fa49311
-    if ((fp = fopen(bdata(output_csv_conf.filename), "r")) == NULL) {
fa49311
+    if ((fp = fopen((char *)bdata(output_csv_conf.filename), "r")) == NULL) {
fa49311
 
fa49311
 	/* File does not exist, create new.. */
fa49311
-	if ((output_csv_conf.file = fopen(bdata(output_csv_conf.filename), "w")) != NULL) {
fa49311
+	if ((output_csv_conf.file = fopen((char *)bdata(output_csv_conf.filename), "w")) != NULL) {
fa49311
 	    fprintf(output_csv_conf.file, "asset,port,proto,service,application,discovered\n");
fa49311
 
fa49311
 	} else {
fa49311
 	    err_message("Cannot open file %s!", bdata(output_csv_conf.filename));
fa49311
+	    return -1;
fa49311
 	}
fa49311
 
fa49311
     } else {
fa49311
@@ -101,12 +104,13 @@ init_output_csv (bstring filename)
fa49311
 	read_report_file();
fa49311
 
fa49311
 	/* Open file and assign it to the global FILE pointer.  */
fa49311
-	if ((output_csv_conf.file = fopen(bdata(output_csv_conf.filename), "a")) == NULL) {
fa49311
+	if ((output_csv_conf.file = fopen((char *)bdata(output_csv_conf.filename), "a")) == NULL) {
fa49311
 	    err_message("Cannot open file %s!", bdata(output_csv_conf.filename));
fa49311
+	    return -1;
fa49311
 	}
fa49311
     }
fa49311
 
fa49311
-    return;
fa49311
+    return 0;
fa49311
 }
fa49311
 
fa49311
 /* ----------------------------------------------------------
fa49311
@@ -129,7 +133,7 @@ read_report_file (void)
fa49311
     printf("[-] Processing Existing %s\n", bdata(output_csv_conf.filename));
fa49311
 
fa49311
     /* Open Signature File */
fa49311
-    if ((fp = fopen(bdata(output_csv_conf.filename), "r")) == NULL) {
fa49311
+    if ((fp = fopen((char *)bdata(output_csv_conf.filename), "r")) == NULL) {
fa49311
 	err_message("Unable to open CSV file - %s", bdata(output_csv_conf.filename));
fa49311
     }
fa49311
 
fa49311
@@ -144,7 +148,7 @@ read_report_file (void)
fa49311
     /* Clean Up */
fa49311
     bdestroy(filedata);
fa49311
     bstrListDestroy(lines);
fa49311
-    close(fp);
fa49311
+    fclose(fp);
fa49311
 }
fa49311
 
fa49311
 /* ----------------------------------------------------------
fa49311
@@ -172,7 +176,7 @@ parse_raw_report (bstring line)
fa49311
 
fa49311
     /* Check to see if this line has something to read. */
fa49311
     if (line->data[0] == '\0' || line->data[0] == '#')
fa49311
-	return;
fa49311
+	return -1;
fa49311
 
fa49311
     /* Break line apart. */
fa49311
     if ((list = bsplit(line, ',')) == NULL)
fa49311
@@ -186,13 +190,13 @@ parse_raw_report (bstring line)
fa49311
     }
fa49311
 
fa49311
     /* Place data from 'list' into temporary data storage. */
fa49311
-    if ((inet_aton(bdata(list->entry[0]), &ip_addr)) == -1)
fa49311
+    if ((inet_aton((char *)bdata(list->entry[0]), &ip_addr)) == -1)
fa49311
 	ret = -1;
fa49311
 
fa49311
-    if ((port = htons(atoi(bdata(list->entry[1])))) == -1)
fa49311
+    if ((port = htons(atoi((char *)bdata(list->entry[1])))) == -1)
fa49311
 	ret = -1;
fa49311
 
fa49311
-    if ((proto = atoi(bdata(list->entry[2]))) == -1)
fa49311
+    if ((proto = atoi((char *)bdata(list->entry[2]))) == -1)
fa49311
 	ret = -1;
fa49311
 
fa49311
     if ((service = bstrcpy(list->entry[3])) == NULL)
fa49311
@@ -201,7 +205,7 @@ parse_raw_report (bstring line)
fa49311
     if ((application = bstrcpy(list->entry[4])) == NULL)
fa49311
         ret = -1;
fa49311
 
fa49311
-    if ((discovered = atol(bdata(list->entry[5]))) == -1)
fa49311
+    if ((discovered = atol((char *)bdata(list->entry[5]))) == -1)
fa49311
 	ret = -1;
fa49311
 
fa49311
     /* Make sure that this line contains 'good' data. */
fa49311
@@ -211,7 +215,7 @@ parse_raw_report (bstring line)
fa49311
     /* Add Asset to Data Structure */
fa49311
     if (proto == 0 && ret != -1) {
fa49311
 	/* ARP */
fa49311
-	mac2hex(bdata(application), mac_addr, MAC_LEN);
fa49311
+	mac2hex((char *)bdata(application), mac_addr, MAC_LEN);
fa49311
 	add_arp_asset(ip_addr, mac_addr, discovered);
fa49311
     } else {
fa49311
 	/* Everything Else */
fa49311
@@ -249,8 +253,9 @@ print_asset_csv (Asset *rec)
fa49311
 	if (gc.hide_unknowns == 0 || ((biseqcstr(rec->service, "unknown") != 0) &&
fa49311
 		    (biseqcstr(rec->application, "unknown") != 0))) {
fa49311
 	    fprintf(output_csv_conf.file, "%s,%d,%d,%s,%s,%d\n",
fa49311
-		    inet_ntoa(rec->ip_addr), ntohs(rec->port), rec->proto, bdata(rec->service),
fa49311
-		    bdata(rec->application), rec->discovered);
fa49311
+		    inet_ntoa(rec->ip_addr), ntohs(rec->port), rec->proto,
fa49311
+		     bdata(rec->service), bdata(rec->application),
fa49311
+		     (int)rec->discovered);
fa49311
 	    fflush(output_csv_conf.file);
fa49311
 	}
fa49311
     } else {
fa49311
@@ -277,11 +282,13 @@ print_arp_asset_csv (ArpAsset *rec)
fa49311
     /* Print to File */
fa49311
     if (output_csv_conf.file != NULL) {
fa49311
 	if (rec->mac_resolved != NULL) {
fa49311
-	    fprintf(output_csv_conf.file, "%s,0,0,ARP (%s),%s,%d\n", inet_ntoa(rec->ip_addr),
fa49311
-		    bdata(rec->mac_resolved), hex2mac(rec->mac_addr), rec->discovered);
fa49311
+	    fprintf(output_csv_conf.file, "%s,0,0,ARP (%s),%s,%d\n",
fa49311
+		inet_ntoa(rec->ip_addr), bdata(rec->mac_resolved),
fa49311
+		hex2mac(rec->mac_addr), (int)rec->discovered);
fa49311
 	} else {
fa49311
-	    fprintf(output_csv_conf.file, "%s,0,0,ARP,%s,%d\n", inet_ntoa(rec->ip_addr),
fa49311
-		    hex2mac(rec->mac_addr), rec->discovered);
fa49311
+	    fprintf(output_csv_conf.file, "%s,0,0,ARP,%s,%d\n",
fa49311
+			inet_ntoa(rec->ip_addr), hex2mac(rec->mac_addr),
fa49311
+			(int)rec->discovered);
fa49311
 	}
fa49311
 
fa49311
 	fflush(output_csv_conf.file);
fa49311
@@ -311,5 +318,7 @@ end_output_csv ()
fa49311
 
fa49311
     if (output_csv_conf.filename != NULL)
fa49311
 	bdestroy(output_csv_conf.filename);
fa49311
+
fa49311
+    return 0;
fa49311
 }
fa49311
 
fa49311
diff -urp pads-1.2.orig/src/output/output-csv.h pads-1.2/src/output/output-csv.h
fa49311
--- pads-1.2.orig/src/output/output-csv.h	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/output/output-csv.h	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -25,6 +25,8 @@
fa49311
  * $Id: pads-1.2-cleanup.patch,v 1.1 2008/08/13 17:35:11 sgrubb Exp $
fa49311
  *
fa49311
  **************************************************************************/
fa49311
+#ifndef OUTPUT_CSV_HEADER
fa49311
+#define OUTPUT_CSV_HEADER
fa49311
 
fa49311
 /* DEFINES ----------------------------------------- */
fa49311
 #ifdef LINUX
fa49311
@@ -64,3 +66,5 @@ int print_asset_csv (Asset *rec);
fa49311
 int print_arp_asset_csv (ArpAsset *rec);
fa49311
 int end_output_csv (void);
fa49311
 
fa49311
+#endif
fa49311
+
fa49311
diff -urp pads-1.2.orig/src/output/output-fifo.c pads-1.2/src/output/output-fifo.c
fa49311
--- pads-1.2.orig/src/output/output-fifo.c	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/output/output-fifo.c	2008-06-30 13:28:45.000000000 -0400
fa49311
@@ -25,7 +25,9 @@
fa49311
  * $Id: pads-1.2-cleanup.patch,v 1.1 2008/08/13 17:35:11 sgrubb Exp $
fa49311
  *
fa49311
  **************************************************************************/
fa49311
+#include <arpa/inet.h>
fa49311
 #include "output-fifo.h"
fa49311
+#include "util.h"
fa49311
 
fa49311
 /*
fa49311
  * MODULE NOTES
fa49311
@@ -66,7 +68,6 @@ int
fa49311
 setup_output_fifo (void)
fa49311
 {
fa49311
     OutputPlugin *plugin;
fa49311
-    bstring name;
fa49311
 
fa49311
     /* Allocate and setup plugin data record. */
fa49311
     plugin = (OutputPlugin*)malloc(sizeof(OutputPlugin));
fa49311
@@ -92,15 +93,11 @@ setup_output_fifo (void)
fa49311
  * DESCRIPTION	: This function will initialize the FIFO
fa49311
  *		: file.
fa49311
  * INPUT	: 0 - FIFO filename
fa49311
- * RETURN	: None!
fa49311
+ * RETURN	: 0 success, -1 failure
fa49311
  * --------------------------------------------------------- */
fa49311
 int
fa49311
 init_output_fifo (bstring fifo_file)
fa49311
 {
fa49311
-    FILE *fp;
fa49311
-    register u_int len = 0;
fa49311
-    char *filename;
fa49311
-
fa49311
     verbose_message("Initializing FIFO output plugin.");
fa49311
 
fa49311
     /* Make sure report_file isn't NULL. */
fa49311
@@ -109,13 +106,13 @@ init_output_fifo (bstring fifo_file)
fa49311
 
fa49311
     output_fifo_conf.filename = bstrcpy(fifo_file);
fa49311
 
fa49311
-    mkfifo (bdata(fifo_file), S_IFIFO | 0755);
fa49311
+    mkfifo ((char *)bdata(fifo_file), 0755);
fa49311
 
fa49311
     verbose_message("Open FIFO File\n");
fa49311
-    if ((output_fifo_conf.file = fopen(bdata(fifo_file), "w+")) == NULL)
fa49311
+    if ((output_fifo_conf.file = fopen((char*)bdata(fifo_file), "w+")) == NULL)
fa49311
 	err_message("Unable to open FIFO file (%s)!\n", bdata(fifo_file));
fa49311
 
fa49311
-    return;
fa49311
+    return 0;
fa49311
 }
fa49311
 
fa49311
 /* ----------------------------------------------------------
fa49311
@@ -138,8 +135,9 @@ print_asset_fifo (Asset *rec)
fa49311
 	if (gc.hide_unknowns == 0 || ((biseq(rec->service, bfromcstr("unknown")) != 0) &&
fa49311
 		    (biseq(rec->application, bfromcstr("unknown")) != 0))) {
fa49311
 	    fprintf(output_fifo_conf.file, "01,%s,%d,%d,%s,%s,%d\n",
fa49311
-		    inet_ntoa(rec->ip_addr), ntohs(rec->port), rec->proto, bdata(rec->service),
fa49311
-		    bdata(rec->application), rec->discovered);
fa49311
+			inet_ntoa(rec->ip_addr), ntohs(rec->port), rec->proto,
fa49311
+			bdata(rec->service), bdata(rec->application),
fa49311
+			(int)rec->discovered);
fa49311
 	    fflush(output_fifo_conf.file);
fa49311
 	}
fa49311
     } else {
fa49311
@@ -165,11 +163,13 @@ print_arp_asset_fifo (ArpAsset *rec)
fa49311
     /* Print to File */
fa49311
     if (output_fifo_conf.file != NULL) {
fa49311
 	if (rec->mac_resolved != NULL) {
fa49311
-	    fprintf(output_fifo_conf.file, "02,%s,%s,%s,%d\n", inet_ntoa(rec->ip_addr),
fa49311
-		    rec->mac_resolved, hex2mac(&rec->mac_addr), rec->discovered);
fa49311
+	    fprintf(output_fifo_conf.file, "02,%s,%s,%s,%d\n",
fa49311
+		inet_ntoa(rec->ip_addr), bdata(rec->mac_resolved),
fa49311
+		 hex2mac(rec->mac_addr), (int)rec->discovered);
fa49311
 	} else {
fa49311
-	    fprintf(output_fifo_conf.file, "02,%s,unknown,%s,%d\n", inet_ntoa(rec->ip_addr),
fa49311
-		    hex2mac(&rec->mac_addr), rec->discovered);
fa49311
+	    fprintf(output_fifo_conf.file, "02,%s,unknown,%s,%d\n",
fa49311
+			inet_ntoa(rec->ip_addr), hex2mac(rec->mac_addr),
fa49311
+			(int)rec->discovered);
fa49311
 	}
fa49311
 
fa49311
 	fflush(output_fifo_conf.file);
fa49311
@@ -196,7 +196,8 @@ print_stat_fifo (Asset *rec)
fa49311
 {
fa49311
     if (output_fifo_conf.file != NULL) {
fa49311
 	fprintf(output_fifo_conf.file, "03,%s,%d,%d,%d\n",
fa49311
-		inet_ntoa(rec->ip_addr), ntohs(rec->port), rec->proto, time(NULL));
fa49311
+		inet_ntoa(rec->ip_addr), ntohs(rec->port), rec->proto,
fa49311
+		(int)time(NULL));
fa49311
 	fflush(output_fifo_conf.file);
fa49311
 
fa49311
     } else {
fa49311
diff -urp pads-1.2.orig/src/output/output-fifo.h pads-1.2/src/output/output-fifo.h
fa49311
--- pads-1.2.orig/src/output/output-fifo.h	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/output/output-fifo.h	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -25,6 +25,8 @@
fa49311
  * $Id: pads-1.2-cleanup.patch,v 1.1 2008/08/13 17:35:11 sgrubb Exp $
fa49311
  *
fa49311
  **************************************************************************/
fa49311
+#ifndef OUTPUT_FIFO_HEADER
fa49311
+#define OUTPUT_FIFO_HEADER
fa49311
 
fa49311
 /* DEFINES ----------------------------------------- */
fa49311
 #ifdef LINUX
fa49311
@@ -56,9 +58,11 @@ typedef struct _OutputFIFOConf
fa49311
 
fa49311
 
fa49311
 /* PROTOTYPES -------------------------------------- */
fa49311
+int setup_output_fifo (void);
fa49311
 int init_output_fifo (bstring fifo_file);
fa49311
 int print_asset_fifo (Asset *rec);
fa49311
 int print_arp_asset_fifo (ArpAsset *rec);
fa49311
 int print_stat_fifo (Asset *rec);
fa49311
 int end_output_fifo (void);
fa49311
 
fa49311
+#endif
fa49311
diff -urp pads-1.2.orig/src/output/output.h pads-1.2/src/output/output.h
fa49311
--- pads-1.2.orig/src/output/output.h	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/output/output.h	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -25,6 +25,8 @@
fa49311
  * $Id: pads-1.2-cleanup.patch,v 1.1 2008/08/13 17:35:11 sgrubb Exp $
fa49311
  *
fa49311
  **************************************************************************/
fa49311
+#ifndef OUTPUT_HEADER
fa49311
+#define OUTPUT_HEADER
fa49311
 
fa49311
 /* DEFINES ----------------------------------------- */
fa49311
 #ifdef LINUX
fa49311
@@ -77,3 +79,4 @@ int print_arp_asset (struct in_addr ip_a
fa49311
 int print_stat(struct in_addr ip_addr, u_int16_t port, unsigned short proto);
fa49311
 void end_output (void);
fa49311
 
fa49311
+#endif
fa49311
diff -urp pads-1.2.orig/src/output/output-screen.c pads-1.2/src/output/output-screen.c
fa49311
--- pads-1.2.orig/src/output/output-screen.c	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/output/output-screen.c	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -24,7 +24,9 @@
fa49311
  * $Id: pads-1.2-cleanup.patch,v 1.1 2008/08/13 17:35:11 sgrubb Exp $
fa49311
  *
fa49311
  **************************************************************************/
fa49311
+#include <arpa/inet.h>
fa49311
 #include "output-screen.h"
fa49311
+#include "util.h"
fa49311
 
fa49311
 /* ----------------------------------------------------------
fa49311
  * FUNCTION	: setup_output_screen
fa49311
@@ -38,7 +40,6 @@ int
fa49311
 setup_output_screen (void)
fa49311
 {
fa49311
     OutputPlugin *plugin;
fa49311
-    bstring name;
fa49311
 
fa49311
     /* Allocate and setup plugin data record. */
fa49311
     plugin = (OutputPlugin*)malloc(sizeof(OutputPlugin));
fa49311
diff -urp pads-1.2.orig/src/output/output-screen.h pads-1.2/src/output/output-screen.h
fa49311
--- pads-1.2.orig/src/output/output-screen.h	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/output/output-screen.h	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -25,6 +25,8 @@
fa49311
  * $Id: pads-1.2-cleanup.patch,v 1.1 2008/08/13 17:35:11 sgrubb Exp $
fa49311
  *
fa49311
  **************************************************************************/
fa49311
+#ifndef OUTPUT_SCREEN_HEADER
fa49311
+#define OUTPUT_SCREEN_HEADER
fa49311
 
fa49311
 /* DEFINES ----------------------------------------- */
fa49311
 #ifdef LINUX
fa49311
@@ -43,16 +45,12 @@
fa49311
 #include "output.h"
fa49311
 
fa49311
 
fa49311
-/* TYPEDEFS ---------------------------------------- */
fa49311
-typedef struct _OutputCSVConf
fa49311
-{
fa49311
-    FILE *file;
fa49311
-} OutputCSVConf;
fa49311
-
fa49311
-
fa49311
 /* PROTOTYPES -------------------------------------- */
fa49311
 int setup_output_screen (void);
fa49311
 int init_output_screen (bstring args);
fa49311
 int print_asset_screen (Asset *rec);
fa49311
 int print_arp_asset_screen (ArpAsset *rec);
fa49311
 int end_output_screen (void);
fa49311
+
fa49311
+#endif
fa49311
+
fa49311
diff -urp pads-1.2.orig/src/packet.c pads-1.2/src/packet.c
fa49311
--- pads-1.2.orig/src/packet.c	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/packet.c	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -26,6 +26,10 @@
fa49311
  *
fa49311
  **************************************************************************/
fa49311
 #include "packet.h"
fa49311
+#include "output/output.h"
fa49311
+#include "storage.h"
fa49311
+#include "monnet.h"
fa49311
+#include "identification.h"
fa49311
 
fa49311
 /* ----------------------------------------------------------
fa49311
  * FUNCTION	: process_eth
fa49311
@@ -157,9 +161,9 @@ void process_arp (const struct pcap_pkth
fa49311
 	case ARPOP_REPLY:
fa49311
 	    memcpy(&ip_addr.s_addr, arph->arp_spa, sizeof(u_int8_t) * 4);
fa49311
 
fa49311
-	    if (check_arp_asset(ip_addr, arph->arp_sha) == 1) {
fa49311
-		add_arp_asset(ip_addr, arph->arp_sha, 0);
fa49311
-		print_arp_asset (ip_addr, arph->arp_sha);
fa49311
+	    if (check_arp_asset(ip_addr, (char *)arph->arp_sha) == 1) {
fa49311
+		add_arp_asset(ip_addr, (char *)arph->arp_sha, 0);
fa49311
+		print_arp_asset (ip_addr, (char *)arph->arp_sha);
fa49311
 	    }
fa49311
 
fa49311
 	    break;
fa49311
@@ -222,7 +226,7 @@ void process_tcp (const struct pcap_pkth
fa49311
 		 * Check to see if this ACK packet needs to be
fa49311
 		 * identified.
fa49311
 		 */
fa49311
-		payload = (u_char *)(packet + sizeof(struct tcphdr) + len);
fa49311
+		payload = (char *)(packet + sizeof(struct tcphdr) + len);
fa49311
 
fa49311
 		/* Attempt to identify this asset.  */
fa49311
 		if(tcp_identify(ip_src, tcph->th_sport, payload,
fa49311
diff -urp pads-1.2.orig/src/pads.c pads-1.2/src/pads.c
fa49311
--- pads-1.2.orig/src/pads.c	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/pads.c	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -26,6 +26,13 @@
fa49311
  *
fa49311
  **************************************************************************/
fa49311
 #include "pads.h"
fa49311
+#include "util.h"
fa49311
+#include "storage.h"
fa49311
+#include "output/output.h"
fa49311
+#include "identification.h"
fa49311
+#include "mac-resolution.h"
fa49311
+#include "monnet.h"
fa49311
+#include "configuration.h"
fa49311
 
fa49311
 /* Variable Declarations */
fa49311
 GC gc;                                  /* Global Configuration */
fa49311
@@ -34,6 +41,9 @@ proc_t processor;
fa49311
 char **prog_argv;
fa49311
 int prog_argc;
fa49311
 
fa49311
+/* Function Declarations */
fa49311
+static int process_cmdline (int argc, char *argv[]);
fa49311
+
fa49311
 /* ----------------------------------------------------------
fa49311
  * FUNCTION     : process_pkt
fa49311
  * DESCRIPTION  : This function takes data from libpcap and
fa49311
@@ -210,7 +220,7 @@ main_pads (void)
fa49311
     if (gc.pcap_file) {
fa49311
         /* Read from PCAP file specified by '-r' switch. */
fa49311
         log_message("Reading from file %s\n", bdata(gc.pcap_file));
fa49311
-        if (!(gc.handle = pcap_open_offline(bdata(gc.pcap_file), errbuf))) {
fa49311
+        if (!(gc.handle = pcap_open_offline((char *)bdata(gc.pcap_file), errbuf))) {
fa49311
             err_message("Unable to open %s.  (%s)", bdata(gc.pcap_file), errbuf);
fa49311
         }
fa49311
 
fa49311
@@ -268,7 +278,7 @@ main_pads (void)
fa49311
     /* Open banner dump file if specified (-d). */
fa49311
     if (gc.dump_file) {
fa49311
         verbose_message("Opening Banner Dump File");
fa49311
-        if (!(gc.dumper = pcap_dump_open(gc.handle, bdata(gc.dump_file))))
fa49311
+        if (!(gc.dumper = pcap_dump_open(gc.handle, (char *)bdata(gc.dump_file))))
fa49311
             err_message("Cannot open dump file - %s\n", pcap_geterr(gc.handle));
fa49311
     }
fa49311
 
fa49311
@@ -323,7 +333,7 @@ end_pads(void)
fa49311
 
fa49311
     /* Remove PID File */
fa49311
     if (gc.daemon_mode == 1)
fa49311
-        if ((unlink(bdata(gc.pid_file))) != 0)
fa49311
+        if ((unlink((char *)bdata(gc.pid_file))) != 0)
fa49311
             log_message("WARNING:  Unable to remove PID file - %s\n", bdata(gc.pid_file));
fa49311
 
fa49311
     /* End Modules */
fa49311
@@ -370,7 +380,7 @@ end_pads(void)
fa49311
  * RETURN       : 0 - Success
fa49311
  *              : -1 - Error
fa49311
  * ---------------------------------------------------------- */
fa49311
-int
fa49311
+static int
fa49311
 process_cmdline (int argc, char *argv[])
fa49311
 {
fa49311
     int ch;
fa49311
@@ -477,11 +487,6 @@ sig_hup_handler(int signal)
fa49311
 int
fa49311
 main(int argc, char *argv[])
fa49311
 {
fa49311
-    /* Variables */
fa49311
-    int i;
fa49311
-    struct pcap_pkthdr header;      /* The header that pcap gives us */
fa49311
-    const u_char *packet;           /* The actual packet */
fa49311
-
fa49311
     /* Copy Command Line Args */
fa49311
     prog_argc = argc;
fa49311
     prog_argv = argv;
fa49311
diff -urp pads-1.2.orig/src/storage.c pads-1.2/src/storage.c
fa49311
--- pads-1.2.orig/src/storage.c	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/storage.c	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -24,7 +24,10 @@
fa49311
  * $Id: pads-1.2-cleanup.patch,v 1.1 2008/08/13 17:35:11 sgrubb Exp $
fa49311
  *
fa49311
  **************************************************************************/
fa49311
+#include <arpa/inet.h>
fa49311
+#include <netinet/ether.h>
fa49311
 #include "storage.h"
fa49311
+#include "mac-resolution.h"
fa49311
 
fa49311
 Asset *asset_list;
fa49311
 ArpAsset *arp_asset_list;
fa49311
@@ -400,7 +403,7 @@ inline Asset *
fa49311
 find_asset (struct in_addr ip_addr, u_int16_t port, unsigned short proto)
fa49311
 {
fa49311
     Asset *list;
fa49311
-    Asset *rec;
fa49311
+    Asset *rec = NULL;
fa49311
 
fa49311
     list = asset_list;
fa49311
 
fa49311
@@ -469,7 +472,7 @@ void print_database ()
fa49311
     while (rec != NULL) {
fa49311
 	printf("%d:  %s,%d,%d,%d,%s,%s,%d\n",
fa49311
 		id, inet_ntoa(rec->ip_addr), ntohs(rec->port),
fa49311
-		rec->proto, rec->discovered,
fa49311
+		rec->proto, (int)rec->discovered,
fa49311
 		bdata(rec->service), bdata(rec->application),
fa49311
 		rec->i_attempts);
fa49311
 	rec = rec->next;
fa49311
@@ -482,7 +485,7 @@ void print_database ()
fa49311
     arp = arp_asset_list;
fa49311
     while (arp != NULL) {
fa49311
 	printf("%d:  %s,%s,%d\n", id, inet_ntoa(arp->ip_addr),
fa49311
-		ether_ntoa(&arp->mac_addr), arp->discovered);
fa49311
+		ether_ntoa((struct ether_addr *)arp->mac_addr), (int)arp->discovered);
fa49311
 	arp = arp->next;
fa49311
 	id++;
fa49311
     }
fa49311
diff -urp pads-1.2.orig/src/util.c pads-1.2/src/util.c
fa49311
--- pads-1.2.orig/src/util.c	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/util.c	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -25,8 +25,10 @@
fa49311
  * $Id: pads-1.2-cleanup.patch,v 1.1 2008/08/13 17:35:11 sgrubb Exp $
fa49311
  *
fa49311
  **************************************************************************/
fa49311
+#include <unistd.h>
fa49311
+#include <ctype.h>
fa49311
 #include "util.h"
fa49311
-
fa49311
+#include "pads.h"
fa49311
 
fa49311
 /* ----------------------------------------------------------
fa49311
  * FUNCTION     : strip_comment
fa49311
@@ -60,11 +62,12 @@ strip_comment (char *string)
fa49311
 int
fa49311
 chomp (char *string, int size)
fa49311
 {
fa49311
-    for (size; size >= 0; size--) {
fa49311
+    while (size >= 0) {
fa49311
         if (string[size] == '\n') {
fa49311
             string[size] = '\0';
fa49311
             return 1;
fa49311
         }
fa49311
+        size--;
fa49311
     }
fa49311
 
fa49311
     return 0;
fa49311
@@ -121,7 +124,7 @@ init_pid_file (bstring pid_file, bstring
fa49311
         gc.pid_file = bfromcstr("/var/run/pads.pid");
fa49311
 
fa49311
     /* Create PID File */
fa49311
-    if ((fp = fopen(bdata(gc.pid_file), "w")) != NULL) {
fa49311
+    if ((fp = fopen((char *)bdata(gc.pid_file), "w")) != NULL) {
fa49311
         pid = (int) getpid();
fa49311
         fprintf(fp, "%d\n", pid);
fa49311
         fclose(fp);
fa49311
@@ -133,11 +136,11 @@ init_pid_file (bstring pid_file, bstring
fa49311
     if (user == NULL || group == NULL)
fa49311
         return;
fa49311
 
fa49311
-    if ((this_group = getgrnam(bdata(group))) == NULL)
fa49311
+    if ((this_group = getgrnam((char *)bdata(group))) == NULL)
fa49311
         err_message("'%s' group does not appear to exist.", bdata(group));
fa49311
-    if ((this_user = getpwnam(bdata(user))) == NULL)
fa49311
+    if ((this_user = getpwnam((char *)bdata(user))) == NULL)
fa49311
         err_message("'%s' user does not appear to exist.", bdata(user));
fa49311
-    if ((chown(pid_file, this_user->pw_uid, this_group->gr_gid)) != 0)
fa49311
+    if ((chown((char *)bdata(pid_file), this_user->pw_uid, this_group->gr_gid)) != 0)
fa49311
         err_message("Unable to change PID file's ownership.");
fa49311
 
fa49311
 }
fa49311
@@ -343,7 +346,7 @@ strlcpy(char *dst, const char *src, size
fa49311
 size_t
fa49311
 strlcat(char *dst, const char *src, size_t len) {
fa49311
   char       *dstptr = dst;
fa49311
-  size_t     dstlen, tocopy;
fa49311
+  size_t     dstlen, tocopy = len;
fa49311
   const char *srcptr = src;
fa49311
 
fa49311
   while (tocopy-- && *dstptr) dstptr++;
fa49311
@@ -384,10 +387,10 @@ drop_privs (bstring newuser, bstring new
fa49311
     if (newuser == NULL || newgroup == NULL)
fa49311
         return;
fa49311
 
fa49311
-    if ((this_group = getgrnam(bdata(newgroup))) == NULL)
fa49311
+    if ((this_group = getgrnam((char *)bdata(newgroup))) == NULL)
fa49311
         err_message("'%s' group does not appear to exist.", bdata(newgroup));
fa49311
 
fa49311
-    if ((this_user = getpwnam(bdata(newuser))) == NULL)
fa49311
+    if ((this_user = getpwnam((char *)bdata(newuser))) == NULL)
fa49311
         err_message("'%s' user does not appear to exist.", bdata(newuser));
fa49311
 
fa49311
     /* Set Group */
fa49311
@@ -458,7 +461,7 @@ mac2hex(const char *mac, char *dst, int 
fa49311
  * RETURN       : 0 - MAC Address String
fa49311
  * ---------------------------------------------------------- */
fa49311
 char *
fa49311
-hex2mac(unsigned const char *mac)
fa49311
+hex2mac(const char *mac)
fa49311
 {
fa49311
     static char buf[18];
fa49311
 
fa49311
diff -urp pads-1.2.orig/src/util.h pads-1.2/src/util.h
fa49311
--- pads-1.2.orig/src/util.h	2008-06-29 20:16:30.000000000 -0400
fa49311
+++ pads-1.2/src/util.h	2008-06-30 13:28:28.000000000 -0400
fa49311
@@ -53,6 +53,6 @@ size_t strlcat(char *dst, const char *sr
fa49311
 #endif
fa49311
 void drop_privs (bstring newuser, bstring newgroup);
fa49311
 void mac2hex(const char *mac, char *dst, int len);
fa49311
-char *hex2mac(unsigned const char *mac);
fa49311
+char *hex2mac(const char *mac);
fa49311
 
fa49311
 /* GLOBALS ----------------------------------------- */