Branch data Line data Source code
1 : : // $Id:$
2 : : //
3 : : // See the file "COPYING" in the main distribution directory for copyright.
4 : :
5 : : #include "TCP_Rewriter.h"
6 : : #include "UDP_Rewriter.h"
7 : :
8 : : // The following two are called from .bif's to obtain handle of Rewriter.
9 : 0 : Rewriter* get_trace_rewriter(Val* conn_val)
10 : : {
11 : 0 : Connection* conn = (Connection*) conn_val->AsRecordVal()->GetOrigin();
12 : 0 : return get_trace_rewriter(conn);
13 : : }
14 : :
15 : 0 : Rewriter* get_trace_rewriter(Connection* conn)
16 : : {
17 [ # # ][ # # ]: 0 : if ( ! conn ||
[ # # ][ # # ]
18 : : (conn->ConnTransport() != TRANSPORT_TCP &&
19 : : conn->ConnTransport() != TRANSPORT_UDP) )
20 : 0 : internal_error("connection for the trace rewriter does not exist");
21 : :
22 : 0 : Rewriter* rewriter = conn->TraceRewriter();
23 [ # # ]: 0 : if ( rewriter )
24 : 0 : return rewriter;
25 : :
26 [ # # ]: 0 : if ( ! transformed_pkt_dump )
27 : 0 : return 0; // okay if we don't have an output file
28 : :
29 [ # # ]: 0 : else if ( ! conn->RewritingTrace() )
30 : 0 : builtin_run_time("flag rewriting_..._trace is not set properly");
31 : : else
32 : 0 : internal_error("trace rewriter not initialized");
33 : :
34 : 0 : return 0;
35 [ + - ][ + - ]: 6 : }
|