aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mate
diff options
context:
space:
mode:
authorJeff Morriss <jeff.morriss@ulticom.com>2008-05-22 15:46:27 +0000
committerJeff Morriss <jeff.morriss@ulticom.com>2008-05-22 15:46:27 +0000
commita5cee04fad8ca23a2f3a3ac5b5233ca6b01fe71e (patch)
tree65a7d5c702bf3392494b33ddd7ed43c94e491670 /plugins/mate
parentda2f447a9bda3a05dd8e61b1c1f5dea4b5912f6b (diff)
Move the file utility functions from wiretap to libwsutil so that
libwireshark (and the plugins using those functions) do not depend on wiretap on Windows. While doing that, rename the eth_* functions to ws_*. svn path=/trunk/; revision=25354
Diffstat (limited to 'plugins/mate')
-rw-r--r--plugins/mate/Makefile.nmake10
-rw-r--r--plugins/mate/mate_grammar.lemon122
-rw-r--r--plugins/mate/mate_parser.l72
-rw-r--r--plugins/mate/mate_util.c60
4 files changed, 132 insertions, 132 deletions
diff --git a/plugins/mate/Makefile.nmake b/plugins/mate/Makefile.nmake
index d350bef09e..ef8aee90d4 100644
--- a/plugins/mate/Makefile.nmake
+++ b/plugins/mate/Makefile.nmake
@@ -13,7 +13,7 @@ include Makefile.common
LEMON=..\..\tools\lemon
-CFLAGS=/WX /DHAVE_CONFIG_H /I../.. /I../../wiretap $(GLIB_CFLAGS) /I$(LEMON)\
+CFLAGS=/WX /DHAVE_CONFIG_H /I../.. $(GLIB_CFLAGS) /I$(LEMON)\
/I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS)
.c.obj::
@@ -22,7 +22,7 @@ CFLAGS=/WX /DHAVE_CONFIG_H /I../.. /I../../wiretap $(GLIB_CFLAGS) /I$(LEMON)\
LDFLAGS = $(PLUGIN_LDFLAGS)
!IFDEF ENABLE_LIBWIRESHARK
-LINK_PLUGIN_WITH=..\..\epan\libwireshark.lib ..\..\wiretap\wiretap-$(WTAP_VERSION).lib
+LINK_PLUGIN_WITH=..\..\epan\libwireshark.lib ..\..\wsutil\libwsutil.lib
CFLAGS=/DHAVE_WIN32_LIBWIRESHARK_LIB /D_NEED_VAR_IMPORT_ $(CFLAGS)
DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
@@ -97,7 +97,7 @@ plugin.c: $(DISSECTOR_SRC) moduleinfo.h ../../tools/make-dissector-reg
clean:
rm -f $(OBJECTS) $(RESOURCE) plugin.c *.pdb \
$(PLUGIN_NAME).dll $(PLUGIN_NAME).dll.manifest $(PLUGIN_NAME).lib \
- $(PLUGIN_NAME).exp $(PLUGIN_NAME).rc
+ $(PLUGIN_NAME).exp $(PLUGIN_NAME).rc
# We remove the generated files with "distclean" because one of them,
# "mate_parser.c", needs different #includes for UN*X and Windows
@@ -120,12 +120,12 @@ mate_parser.obj : mate_parser.c
mate_grammar.h : mate_grammar.c
mate_grammar.c : mate_grammar.lemon $(LEMON)\lemon.exe
- $(LEMON)\lemon.exe t=$(LEMON)\lempar.c mate_grammar.lemon
+ $(LEMON)\lemon.exe t=$(LEMON)\lempar.c mate_grammar.lemon
$(LEMON)\lemon.exe:
cd ../../tools/lemon
$(MAKE) /$(MAKEFLAGS) -f makefile.nmake
cd ../../plugins/mate
-checkapi:
+checkapi:
$(PERL) ../../tools/checkAPIs.pl $(DISSECTOR_SRC)
diff --git a/plugins/mate/mate_grammar.lemon b/plugins/mate/mate_grammar.lemon
index 97c5ba5f6c..466cbff0f7 100644
--- a/plugins/mate/mate_grammar.lemon
+++ b/plugins/mate/mate_grammar.lemon
@@ -1,7 +1,7 @@
%include {
/* mate_grammar.lemon
-* MATE's configuration language grammar
+* MATE's configuration language grammar
*
* Copyright 2005, Luis E. Garcia Ontanon <luis.ontanon@gmail.com>
*
@@ -15,12 +15,12 @@
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
-*
+*
* 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. See the
* GNU General Public License for more details.
-*
+*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
@@ -28,7 +28,7 @@
#include "mate.h"
#include "mate_grammar.h"
-#include <wiretap/file_util.h>
+#include <wsutil/file_util.h>
#define DUMMY void*
@@ -68,7 +68,7 @@ typedef struct _gog_statements {
typedef struct _transf_match_t {
avpl_match_mode match_mode;
AVPL* avpl;
-} transf_match_t;
+} transf_match_t;
typedef struct _transf_action_t {
avpl_replace_mode replace_mode;
@@ -81,13 +81,13 @@ static void configuration_error(mate_config* mc, const gchar* fmt, ...) {
gint i;
mate_config_frame* current_frame;
va_list list;
-
+
va_start( list, fmt );
g_vsnprintf(error_buffer,sizeof(error_buffer),fmt,list);
va_end( list );
i = (gint) mc->config_stack->len;
-
+
while (i--) {
if (i>0) {
@@ -95,30 +95,30 @@ static void configuration_error(mate_config* mc, const gchar* fmt, ...) {
} else {
incl = " ";
}
-
+
current_frame = g_ptr_array_index(mc->config_stack,(guint)i);
-
+
g_string_append_printf(mc->config_error,"%s%s at line %u",incl, current_frame->filename, current_frame->linenum);
}
-
+
g_string_append_printf(mc->config_error,": %s\n",error_buffer);
-
+
THROW(MateConfigError);
}
static AVPL_Transf* new_transform_elem(AVPL* match, AVPL* replace, avpl_match_mode match_mode, avpl_replace_mode replace_mode) {
AVPL_Transf* t = g_malloc(sizeof(AVPL_Transf));
-
+
t->name = NULL;
t->match = match;
t->replace = replace;
t->match_mode = match_mode;
t->replace_mode = replace_mode;
-
+
t->map = NULL;
t->next = NULL;
-
+
return t;
}
@@ -128,12 +128,12 @@ static gchar* recolonize(mate_config* mc, gchar* s) {
gchar* r;
guint i,v;
gchar c;
-
+
vec = g_strsplit(s,":",0);
-
+
for (i = 0; vec[i]; i++) {
g_strdown(vec[i]);
-
+
v = 0;
switch ( strlen(vec[i]) ) {
case 2:
@@ -156,16 +156,16 @@ static gchar* recolonize(mate_config* mc, gchar* s) {
default:
configuration_error(mc,"bad token %s",s);
}
-
- g_string_append_printf(str,":%.2X",v);
+
+ g_string_append_printf(str,":%.2X",v);
}
-
+
g_strfreev(vec);
-
+
g_string_erase(str,0,1);
-
+
r = str->str;
-
+
g_string_free(str,FALSE);
return r;
@@ -207,9 +207,9 @@ static gchar* recolonize(mate_config* mc, gchar* s) {
%type criteria_statement { pdu_criteria_t* }
%type accept_mode { accept_mode_t }
-%type pdu_drop_unassigned_statement { gboolean }
-%type discard_pdu_data_statement { gboolean }
-%type last_extracted_statement { gboolean }
+%type pdu_drop_unassigned_statement { gboolean }
+%type discard_pdu_data_statement { gboolean }
+%type last_extracted_statement { gboolean }
%type extraction_statement {extraction_t*}
%type extraction_statements {extraction_t*}
@@ -264,8 +264,8 @@ decl ::= DONE_KW SEMICOLON.
debug_decl ::= DEBUG_KW OPEN_BRACE dbgfile_default dbglevel_default pdu_dbglevel_default gop_dbglevel_default gog_dbglevel_default CLOSE_BRACE SEMICOLON.
-dbgfile_default ::= FILENAME_KW QUOTED(Filename) SEMICOLON. { mc->dbg_facility = eth_fopen(Filename,"w"); if (mc->dbg_facility == NULL) report_open_failure(Filename,errno,TRUE); }
-dbgfile_default ::= FILENAME_KW NAME(Filename) SEMICOLON. { mc->dbg_facility = eth_fopen(Filename,"w"); if (mc->dbg_facility == NULL) report_open_failure(Filename,errno,TRUE); }
+dbgfile_default ::= FILENAME_KW QUOTED(Filename) SEMICOLON. { mc->dbg_facility = ws_fopen(Filename,"w"); if (mc->dbg_facility == NULL) report_open_failure(Filename,errno,TRUE); }
+dbgfile_default ::= FILENAME_KW NAME(Filename) SEMICOLON. { mc->dbg_facility = ws_fopen(Filename,"w"); if (mc->dbg_facility == NULL) report_open_failure(Filename,errno,TRUE); }
dbgfile_default ::= .
dbglevel_default ::= LEVEL_KW INTEGER(LevelString) SEMICOLON. { mc->dbg_lvl = (int) strtol(LevelString,NULL,10); }
@@ -341,9 +341,9 @@ transform_decl(A) ::= TRANSFORM_KW NAME(B) transform_body(C) SEMICOLON. {
for ( c = C; c; c = c->next )
c->name = g_strdup(B);
-
+
g_hash_table_insert(mc->transfs,C->name,C);
-
+
A = NULL;
}
@@ -351,7 +351,7 @@ transform_body(A) ::= OPEN_BRACE transform_statements(B) CLOSE_BRACE. { A = B; }
transform_statements(A) ::= transform_statements(C) transform_statement(B). {
AVPL_Transf* c;
-
+
for ( c = C; c->next; c = c->next ) ;
c->next = B;
A = C;
@@ -411,12 +411,12 @@ pdu_decl ::=
last_extracted_statement(LastExtracted)
CLOSE_BRACE SEMICOLON.
{
-
+
mate_cfg_pdu* cfg = new_pducfg(Name);
extraction_t *extraction, *next_extraction;
GPtrArray* transport_stack = g_ptr_array_new();
int i;
-
+
if (! cfg ) configuration_error(mc,"could not create Pdu %s.",Name);
cfg->hfid_proto = Field->id;
@@ -424,34 +424,34 @@ pdu_decl ::=
cfg->last_extracted = LastExtracted;
cfg->discard = DistcardPduData;
cfg->drop_unassigned = DropUnassigned;
-
+
g_string_append_printf(mc->protos_filter,"||%s",Field->abbrev);
/* flip the transport_stack */
for (i = Stack->len - 1; Stack->len; i--) {
g_ptr_array_add(transport_stack,g_ptr_array_remove_index(Stack,i));
}
-
+
g_ptr_array_free(Stack,FALSE);
-
+
cfg->transport_ranges = transport_stack;
cfg->payload_ranges = Payload;
-
+
if (Criteria) {
cfg->criterium = Criteria->criterium_avpl;
cfg->criterium_match_mode = Criteria->criterium_match_mode;
cfg->criterium_accept_mode = Criteria->criterium_accept_mode;
}
-
+
cfg->transforms = Transform;
-
+
for (extraction = Extraction; extraction; extraction = next_extraction) {
next_extraction = extraction->next;
-
+
if ( ! add_hfid(extraction->hfi, extraction->as, cfg->hfids_attr) ) {
configuration_error(mc,"MATE: failed to create extraction rule '%s'",extraction->as);
}
-
+
g_free(extraction);
}
}
@@ -482,20 +482,20 @@ extraction_statement(A) ::= EXTRACT_KW NAME(NAME) FROM_KW field(FIELD) SEMICOLON
}
-pdu_drop_unassigned_statement(A) ::= DROP_UNASSIGNED_KW true_false(B) SEMICOLON. { A = B; }
+pdu_drop_unassigned_statement(A) ::= DROP_UNASSIGNED_KW true_false(B) SEMICOLON. { A = B; }
pdu_drop_unassigned_statement(A) ::= . { A = mc->defaults.pdu.drop_unassigned; }
-discard_pdu_data_statement(A) ::= DISCARD_PDU_DATA_KW true_false(B) SEMICOLON. { A = B; }
-discard_pdu_data_statement(A) ::= . { A = mc->defaults.pdu.discard; }
+discard_pdu_data_statement(A) ::= DISCARD_PDU_DATA_KW true_false(B) SEMICOLON. { A = B; }
+discard_pdu_data_statement(A) ::= . { A = mc->defaults.pdu.discard; }
-last_extracted_statement(A) ::= LAST_PDU_KW true_false(B) SEMICOLON. { A = B; }
-last_extracted_statement(A) ::= . { A = mc->defaults.pdu.last_extracted; }
+last_extracted_statement(A) ::= LAST_PDU_KW true_false(B) SEMICOLON. { A = B; }
+last_extracted_statement(A) ::= . { A = mc->defaults.pdu.last_extracted; }
proto_stack(A) ::= proto_stack(B) SLASH field(C). {
int* hfidp = g_malloc(sizeof(int));
g_string_append_printf(mc->fields_filter,"||%s",C->abbrev);
-
+
*hfidp = C->id;
g_ptr_array_add(B,hfidp);
A = B;
@@ -504,7 +504,7 @@ proto_stack(A) ::= proto_stack(B) SLASH field(C). {
proto_stack(A) ::= field(B). {
int* hfidp = g_malloc(sizeof(int));
*hfidp = B->id;
-
+
g_string_append_printf(mc->fields_filter,"||%s",B->abbrev);
A = g_ptr_array_new();
@@ -518,7 +518,7 @@ field(A) ::= NAME(B). {
/******************************************* GOP
*/
-gop_decl(A) ::= GOP_KW NAME(Name) ON_KW pdu_name(PduName) MATCH_KW avpl(Key) OPEN_BRACE
+gop_decl(A) ::= GOP_KW NAME(Name) ON_KW pdu_name(PduName) MATCH_KW avpl(Key) OPEN_BRACE
gop_start_statement(Start)
gop_stop_statement(Stop)
extra_statement(Extra)
@@ -531,14 +531,14 @@ gop_decl(A) ::= GOP_KW NAME(Name) ON_KW pdu_name(PduName) MATCH_KW avpl(Key) OPE
show_times_statement(ShowTimes)
CLOSE_BRACE SEMICOLON. {
mate_cfg_gop* cfg;
-
+
if (g_hash_table_lookup(mc->gopcfgs,Name)) configuration_error(mc,"A Gop Named '%s' exists already.",Name);
if (g_hash_table_lookup(mc->gops_by_pduname,PduName) ) configuration_error(mc,"Gop for Pdu '%s' exists already",PduName);
cfg = new_gopcfg(Name);
g_hash_table_insert(mc->gops_by_pduname,PduName,cfg);
g_hash_table_insert(mc->gopcfgs,cfg->name,cfg);
-
+
cfg->on_pdu = PduName;
cfg->key = Key;
cfg->drop_unassigned = DropUnassigned;
@@ -550,12 +550,12 @@ gop_decl(A) ::= GOP_KW NAME(Name) ON_KW pdu_name(PduName) MATCH_KW avpl(Key) OPE
cfg->start = Start;
cfg->stop = Stop;
cfg->transforms = Transform;
-
+
merge_avpl(cfg->extra,Extra,TRUE);
delete_avpl(Extra,TRUE);
}
-gop_drop_unassigned_statement(A) ::= DROP_UNASSIGNED_KW true_false(B) SEMICOLON. { A = B; }
+gop_drop_unassigned_statement(A) ::= DROP_UNASSIGNED_KW true_false(B) SEMICOLON. { A = B; }
gop_drop_unassigned_statement(A) ::= . { A = mc->defaults.gop.drop_unassigned; }
gop_start_statement(A) ::= START_KW avpl(B) SEMICOLON. { A = B; }
@@ -608,7 +608,7 @@ time_value(A) ::= INTEGER(B). {
/************* GOG
*/
-gog_decl ::= GOG_KW NAME(Name) OPEN_BRACE
+gog_decl ::= GOG_KW NAME(Name) OPEN_BRACE
gog_key_statements(Keys)
extra_statement(Extra)
transform_list_statement(Transforms)
@@ -616,18 +616,18 @@ gog_decl ::= GOG_KW NAME(Name) OPEN_BRACE
gog_goptree_statement(Tree)
CLOSE_BRACE SEMICOLON. {
mate_cfg_gog* cfg = NULL;
-
+
if ( g_hash_table_lookup(mc->gogcfgs,Name) ) {
configuration_error(mc,"Gog '%s' exists already ",Name);
}
-
+
cfg = new_gogcfg(Name);
cfg->expiration = Expiration;
cfg->gop_tree_mode = Tree;
cfg->transforms = Transforms;
cfg->keys = Keys;
-
+
merge_avpl(cfg->extra,Extra,TRUE);
delete_avpl(Extra,TRUE);
}
@@ -676,7 +676,7 @@ extra_statement(A) ::= . { A = new_avpl(""); }
transform_list_statement(A) ::= TRANSFORM_KW transform_list(B) SEMICOLON. { A = B; }
transform_list_statement(A) ::= . { A = g_ptr_array_new(); }
-transform_list(A) ::= transform_list(B) COMMA transform(C). {
+transform_list(A) ::= transform_list(B) COMMA transform(C). {
A = B;
g_ptr_array_add(B,C);
}
@@ -688,12 +688,12 @@ transform_list(A) ::= transform(B). {
transform(A) ::= NAME(B). {
AVPL_Transf* t;
-
+
if (( t = g_hash_table_lookup(mc->transfs,B) )) {
A = t;
} else {
configuration_error(mc,"There's no such Transformation: %s",B);
- }
+ }
}
avpl(A) ::= OPEN_PARENS avps(B) CLOSE_PARENS. { A = B; }
@@ -706,7 +706,7 @@ avp(A) ::= NAME(B) AVP_OPERATOR(C) value(D). { A = new_avp(B,D,*C); }
avp(A) ::= NAME(B). { A = new_avp(B,"",'?'); }
avp(A) ::= NAME(B) OPEN_BRACE avp_oneoff(C) CLOSE_BRACE. { A = new_avp(B,C,'|'); }
-avp_oneoff(A) ::= avp_oneoff(B) PIPE value(C). { A = g_strdup_printf("%s|%s",B,C); }
+avp_oneoff(A) ::= avp_oneoff(B) PIPE value(C). { A = g_strdup_printf("%s|%s",B,C); }
avp_oneoff(A) ::= value(B). { A = g_strdup(B); }
value(A) ::= QUOTED(B). { A = g_strdup(B); }
diff --git a/plugins/mate/mate_parser.l b/plugins/mate/mate_parser.l
index 0a284a4a45..02e6624996 100644
--- a/plugins/mate/mate_parser.l
+++ b/plugins/mate/mate_parser.l
@@ -1,7 +1,7 @@
/*
* We don't use unput, so don't generate code for it.
*/
-%option nounput
+%option nounput
/*
* We don't read from the terminal.
@@ -31,20 +31,20 @@
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
- *
+ *
* 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. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-
-#include <wiretap/file_util.h>
-#include "mate.h"
+#include <wsutil/file_util.h>
+
+#include "mate.h"
#include "mate_grammar.h"
#include "mate_parser_lex.h"
@@ -62,16 +62,16 @@
#endif
void MateParserFree( void*, void(*)(void*) );
void MateParseTrace(FILE*,char*);
-
+
#define MAX_INCLUDE_DEPTH 10
static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
static int include_stack_ptr = 0;
-
+
static void* pParser;
static mate_config_frame* current_frame;
-
+
static mate_config* mc;
-
+
#define MATE_PARSE(token_type) MateParser(pParser, (token_type), g_strdup(yytext), mc );
/*
@@ -159,11 +159,11 @@ comment "//"[^\n]*\n
blk_cmnt_start "/*"
cmnt_char .
blk_cmnt_stop "*/"
-
+
%START OUTSIDE QUOTED INCLUDING COMMENT
%%
-{newline} current_frame->linenum++;
+{newline} current_frame->linenum++;
{whitespace} ;
<OUTSIDE>{include} BEGIN INCLUDING;
@@ -171,46 +171,46 @@ blk_cmnt_stop "*/"
<INCLUDING>{filename} {
if ( include_stack_ptr >= MAX_INCLUDE_DEPTH )
g_error("dtd_preparse: include files nested to deeply");
-
+
include_stack[include_stack_ptr++] = YY_CURRENT_BUFFER;
- yyin = eth_fopen( yytext, "r" );
+ yyin = ws_fopen( yytext, "r" );
if (!yyin) {
yy_delete_buffer( YY_CURRENT_BUFFER );
-
+
/* coverity[negative_sink] */
yy_switch_to_buffer(include_stack[--include_stack_ptr] );
-
+
if (errno)
g_string_append_printf(mc->config_error, "Mate parser: Could not open file: '%s': %s", yytext, strerror(errno) );
-
+
} else {
-
+
current_frame = g_malloc(sizeof(mate_config_frame));
current_frame->filename = g_strdup(yytext);
current_frame->linenum = 1;
-
+
g_ptr_array_add(mc->config_stack,current_frame);
yy_switch_to_buffer(yy_create_buffer( yyin, YY_BUF_SIZE ) );
}
-
+
BEGIN OUTSIDE;
}
-<<EOF>> {
+<<EOF>> {
/* coverity[check_after_sink] */
if ( --include_stack_ptr < 0 ) {
yyterminate();
} else {
yy_delete_buffer( YY_CURRENT_BUFFER );
yy_switch_to_buffer( include_stack[include_stack_ptr] );
-
+
g_free(current_frame->filename);
g_free(current_frame);
current_frame = g_ptr_array_remove_index(mc->config_stack,mc->config_stack->len-1);
}
-}
+}
<OUTSIDE>{comment} ;
@@ -289,25 +289,25 @@ extern gboolean mate_load_config(const gchar* filename, mate_config* matecfg) {
volatile gboolean state = TRUE;
mc = matecfg;
- yyin = eth_fopen(filename,"r");
-
+ yyin = ws_fopen(filename,"r");
+
if (!yyin) {
g_string_append_printf(mc->config_error,"Mate parser: Could not open file: '%s', error: %s", filename, strerror(errno) );
return FALSE;
}
-
+
mc->config_stack = g_ptr_array_new();
-
+
current_frame = g_malloc(sizeof(mate_config_frame));
current_frame->filename = g_strdup(filename);
current_frame->linenum = 1;
-
+
g_ptr_array_add(mc->config_stack,current_frame);
pParser = MateParserAlloc(g_malloc);
-
+
/* MateParserTrace(stdout,""); */
-
+
TRY {
BEGIN OUTSIDE;
@@ -316,27 +316,27 @@ extern gboolean mate_load_config(const gchar* filename, mate_config* matecfg) {
MateParser(pParser, 0, NULL,mc);
yyrestart(NULL);
-
+
MateParserFree(pParser, g_free );
-
+
g_free(current_frame->filename);
g_free(current_frame);
-
+
g_ptr_array_free(mc->config_stack,FALSE);
} CATCH(MateConfigError) {
state = FALSE;
} CATCH_ALL {
- state = FALSE;
+ state = FALSE;
g_string_append_printf(mc->config_error,"An unexpected error occurred");
}
ENDTRY;
-
+
return state;
}
/*
* We want to stop processing when we get to the end of the input.
- * (%option noyywrap is not used because if used then
+ * (%option noyywrap is not used because if used then
* some flex versions (eg: 2.5.35) generate code which causes
* warnings by the Windows VC compiler).
*/
diff --git a/plugins/mate/mate_util.c b/plugins/mate/mate_util.c
index ac9ccf2569..769d60f49c 100644
--- a/plugins/mate/mate_util.c
+++ b/plugins/mate/mate_util.c
@@ -27,7 +27,7 @@
#include "mate.h"
#include "mate_util.h"
-#include <wiretap/file_util.h>
+#include <wsutil/file_util.h>
/***************************************************************************
* dbg_print
@@ -81,7 +81,7 @@ void dbg_print(const gint* which, gint how, FILE* where, const gchar* fmt, ... )
struct _scs_collection {
GHashTable* hash; /* key: a string value: guint number of subscribers */
GMemChunk* ctrs;
- GMemChunk* mate_small;
+ GMemChunk* mate_small;
GMemChunk* mate_medium;
GMemChunk* mate_large;
GMemChunk* mate_huge;
@@ -93,7 +93,7 @@ extern void destroy_scs_collection(SCS_collection* c) {
if ( c->mate_medium ) g_mem_chunk_destroy(c->mate_medium);
if ( c->mate_large ) g_mem_chunk_destroy(c->mate_large);
if ( c->mate_huge ) g_mem_chunk_destroy(c->mate_huge);
-
+
if (c->hash) g_hash_table_destroy(c->hash);
}
@@ -101,19 +101,19 @@ extern SCS_collection* scs_init(void) {
SCS_collection* c = g_malloc(sizeof(SCS_collection));
c->hash = g_hash_table_new(g_str_hash,g_str_equal);
-
+
c->ctrs = g_mem_chunk_new("ints_scs_chunk", sizeof(guint),
sizeof(guint) * SCS_SMALL_CHUNK_SIZE, G_ALLOC_AND_FREE);
-
+
c->mate_small = g_mem_chunk_new("small_scs_chunk", SCS_SMALL_SIZE,
SCS_SMALL_SIZE * SCS_SMALL_CHUNK_SIZE, G_ALLOC_AND_FREE);
-
+
c->mate_medium = g_mem_chunk_new("medium_scs_chunk", SCS_MEDIUM_SIZE,
SCS_MEDIUM_SIZE * SCS_MEDIUM_CHUNK_SIZE, G_ALLOC_AND_FREE);
-
+
c->mate_large = g_mem_chunk_new("large_scs_chunk", SCS_LARGE_SIZE,
SCS_LARGE_SIZE * SCS_LARGE_CHUNK_SIZE, G_ALLOC_AND_FREE);
-
+
c->mate_huge = g_mem_chunk_new("huge_scs_chunk", SCS_HUGE_SIZE,
SCS_HUGE_SIZE * SCS_HUGE_CHUNK_SIZE, G_ALLOC_AND_FREE);
return c;
@@ -137,7 +137,7 @@ gchar* scs_subscribe(SCS_collection* c, const gchar* s) {
guint* ip = NULL;
size_t len = 0;
GMemChunk* chunk = NULL;
-
+
g_hash_table_lookup_extended(c->hash,(gconstpointer)s,(gpointer)&orig,(gpointer)&ip);
if (ip) {
@@ -145,9 +145,9 @@ gchar* scs_subscribe(SCS_collection* c, const gchar* s) {
} else {
ip = g_mem_chunk_alloc(c->ctrs);
*ip = 0;
-
+
len = strlen(s) + 1;
-
+
if (len <= SCS_SMALL_SIZE) {
chunk = c->mate_small;
len = SCS_SMALL_SIZE;
@@ -165,10 +165,10 @@ gchar* scs_subscribe(SCS_collection* c, const gchar* s) {
len = SCS_HUGE_SIZE;
g_warning("mate SCS: string truncated to huge size");
}
-
+
orig = g_mem_chunk_alloc(chunk);
strncpy(orig,s,len);
-
+
g_hash_table_insert(c->hash,orig,ip);
}
@@ -188,15 +188,15 @@ void scs_unsubscribe(SCS_collection* c, gchar* s) {
guint* ip = NULL;
size_t len = 0xffff;
GMemChunk* chunk = NULL;
-
+
g_hash_table_lookup_extended(c->hash,(gconstpointer)s,(gpointer)&orig,(gpointer)&ip);
if (ip) {
if (*ip == 0) {
g_hash_table_remove(c->hash,orig);
-
+
len = strlen(orig);
-
+
if (len < SCS_SMALL_SIZE) {
chunk = c->mate_small;
} else if (len < SCS_MEDIUM_SIZE) {
@@ -205,8 +205,8 @@ void scs_unsubscribe(SCS_collection* c, gchar* s) {
chunk = c->mate_large;
} else {
chunk = c->mate_huge;
- }
-
+ }
+
g_mem_chunk_free(chunk,orig);
g_mem_chunk_free(c->ctrs,ip);
}
@@ -230,7 +230,7 @@ void scs_unsubscribe(SCS_collection* c, gchar* s) {
gchar* scs_subscribe_printf(SCS_collection* c, gchar* fmt, ...) {
va_list list;
static gchar buf[SCS_HUGE_SIZE];
-
+
va_start( list, fmt );
g_vsnprintf(buf, SCS_HUGE_SIZE-1 ,fmt, list);
va_end( list );
@@ -335,7 +335,7 @@ extern void avp_init(void) {
extern AVP* new_avp_from_finfo(const gchar* name, field_info* finfo) {
AVP* new = g_mem_chunk_alloc(avp_chunk);
gchar* value;
-
+
new->n = scs_subscribe(avp_strings, name);
if (finfo->value.ftype->val_to_string_repr) {
@@ -1098,17 +1098,17 @@ extern AVPL* new_avpl_every_match(const gchar* name, AVPL* src, AVPL* op, gboole
AVP* m;
AVP* copy;
gboolean matches;
-
+
#ifdef _AVP_DEBUGGING
dbg_print(dbg_avpl_op,3,dbg_fp,"new_avpl_every_match: %X src=%X op=%X name='%s'",newavpl,src,op,name);
#endif
if (src->len == 0) return NULL;
-
+
newavpl = new_avpl(scs_subscribe(avp_strings, name));
-
+
if (op->len == 0)
return newavpl;
-
+
matches = TRUE;
cs = src->null.next;
@@ -1195,7 +1195,7 @@ extern AVPL* new_avpl_exact_match(const gchar* name,AVPL* src, AVPL* op, gboolea
if (op->len == 0)
return newavpl;
-
+
if (src->len == 0) {
delete_avpl(newavpl,FALSE);
return NULL;
@@ -1254,7 +1254,7 @@ extern AVPL* new_avpl_exact_match(const gchar* name,AVPL* src, AVPL* op, gboolea
extern AVPL* new_avpl_from_match(avpl_match_mode mode, const gchar* name,AVPL* src, AVPL* op, gboolean copy_avps) {
AVPL* avpl = NULL;
-
+
switch (mode) {
case AVPL_STRICT:
avpl = new_avpl_exact_match(name,src,op,copy_avps);
@@ -1270,7 +1270,7 @@ extern AVPL* new_avpl_from_match(avpl_match_mode mode, const gchar* name,AVPL* s
merge_avpl(avpl, op, copy_avps);
break;
}
-
+
return avpl;
}
@@ -1325,7 +1325,7 @@ extern void avpl_transform(AVPL* src, AVPL_Transf* op) {
#endif
for ( ; op ; op = op->next) {
-
+
avpl = new_avpl_from_match(op->match_mode, src->name,src, op->match, TRUE);
if (avpl) {
@@ -1556,7 +1556,7 @@ static LoAL* load_loal_error(FILE* fp, LoAL* loal, AVPL* curr, int linenum, cons
gchar* desc;
LoAL* ret = NULL;
gchar* err;
-
+
va_start( list, fmt );
desc = g_strdup_vprintf(fmt, list);
va_end( list );
@@ -1630,7 +1630,7 @@ extern LoAL* loal_from_file(gchar* filename) {
state = START;
- if (( fp = eth_fopen(filename,"r") )) {
+ if (( fp = ws_fopen(filename,"r") )) {
while(( c = (gchar) fgetc(fp) )){
if ( feof(fp) ) {