When data is generated by "normal" T tracers, it should be fine.
But it might come from unknown sources and then content might be
"strange". So let's validate input data a bit more.
The way allocation is done (granularity of 64KiB) makes a crash more
difficult to achieve, but if a trace is exactly 64KiB, we miss 4 bytes
in the realloc and then anything may happen.
There is already common/utils/config.h. This file(name) is hardcoded as
it is included into asn1c, and cannot be renamed. To avoid a name clash
and confusing, we rename T's config.h/c to configuration.h/c.
This tracer allows the connection of several tracers to one tracee.
To use the multi tracer:
- run the tracee as usual, eg. ./lte-softmodem -O xxxx.conf --T_stdout 0
- run the multi tracer: ./multi -d ../T_messages.txt
- connect other tracers to the multi tracer:
- ./enb -d ../T_messages.txt -p 2022
- ./textlog -d ../T_messages.txt -p 2022
- etc.
By default the multi tracer connects to the tracee to the port 2021,
as for any other tracer.
Then it accepts connections from other tracers on the port 2022.
This can be changed with parameters on the command line.
The tracee and the other tracers can be stopped/started at any time.