Commit Graph

88 Commits

Author SHA1 Message Date
Matteo Cypriani a29a43a6fa [Listener] Add option -G (dump configuration)
This new option is just like Aggregator's -G option.
2013-06-12 17:18:46 -04:00
Matteo Cypriani 5ddca24738 Print exit message only in verbose mode
Update the exit message printing in all the modules:
- print on standard error
- print only in verbose mode
- use "exiting" instead of "end"
2013-06-12 17:18:46 -04:00
Matteo Cypriani e114a6997a [lib-client] Add "verbose" parameters
owl_send_request() and owl_send_packet() get a boolean "verbose"
parameter that allow to enable or disable message display on run-time
and allow to get rid of the OWLPS_DEBUG compile-time option.
2013-06-12 09:38:38 -04:00
Matteo Cypriani 80fd5b287b Update and centralise copyright information 2013-05-29 13:19:06 -04:00
Matteo Cypriani dad2e543d1 CMake: handle Listener's options 2013-05-22 18:36:20 -04:00
Matteo Cypriani 559c884499 [Listener] Add display_captured_request()
Create the display_captured_request() function from read_packet() code.
2013-05-16 14:15:25 -04:00
Matteo Cypriani 75b6539757 [Listener] Warn if rtap SS field is absent
Display a warning if the radiotap antenna signal is absent and the
signal strength could not be extracted. Change the SS value to 127 dBm
(the maximum and improbable value) in this case.
2013-05-16 14:15:25 -04:00
Matteo Cypriani b3f688b2cf [Listener] Improve radiotap parsing
Get rid of the useless parsing loop; make clear we only want to extract
the signal strength and work only for that.
2013-05-16 13:52:57 -04:00
Matteo Cypriani 7a5ed8ec51 [Listener] Remove unused radiotap fields
From the radiotap header, we only use the antenna signal field,
therefore we don't need to handle the fields that are after it. We do
need to take into account the fields preceding the antenna signal field
though, in order to know where it is.
2013-05-16 11:37:18 -04:00
Matteo Cypriani 4a3e1e1091 [Listener] Improve/fix radiotap fields definitions 2013-05-16 11:09:45 -04:00
Matteo Cypriani 0614b52219 [lib] Stop defining owl_bool (use stdbool.h)
We don't define our own boolean type in owlps.h any more: bool (from
stdbool.h) is used instead.
2013-05-15 15:46:13 -04:00
Matteo Cypriani 2e4fb5a931 [Listener] Remove errbuf comment (cf. prev. commit)
errbuf doesn't seem to begin with ": " in all cases; I fixed that in
the previous commit but forgot to remove the wrong comment.
2013-04-29 11:50:40 -04:00
Matteo Cypriani 2b6a3a73ed [Listener] Fix compilation with confuse (-r/-R)
The handling of -r/-R was buggy with libconfuse enabled.
2013-04-29 10:51:04 -04:00
Matteo Cypriani 4aed9c1ef0 Radiotap Antenna Signal field is signed
Using int8_t instead of uint8_t which was erroneously used to code the
Antenna Signal radiotap field.
2013-04-24 10:59:55 -04:00
Matteo Cypriani a046dcd3fb [Listener] Fix radiotap alignment bug
The fields in the radiotap header are naturally aligned, which was not
taken into account by the parser.
2013-04-23 18:54:38 -04:00
Matteo Cypriani 6f0d5c8da5 [Listener] Warn in case of unknown rtap field 2013-04-23 18:54:38 -04:00
Matteo Cypriani e7b639a020 [Listener] Minor fixes, mostly cosmetic 2013-04-23 18:54:38 -04:00
Matteo Cypriani 6ea849625c [Listener] Add -R option (read from pcap file)
The new -R option allows one to read packets from a pcap file instead of
capturing from a network interface.
2013-04-23 18:32:59 -04:00
Matteo Cypriani c95257f26a [Listener] Use pcap_next_ex instead of pcap_loop
pcap_next_ex() will allow us to detect the end of a capture file. Since
we used pcap_loop() to capture one packet at a time anyway, this won't
change anything for live captures.

The variable names were standardised in functions using pcap data types
('pkt_header' and 'pkt_data' instead of 'header' and 'packet').
2013-04-23 18:32:37 -04:00
Matteo Cypriani 8df82b9c41 Fix typo "endianness" 2012-11-06 01:22:16 +01:00
Matteo Cypriani d1c64212d8 Test malloc/realloc return values 2012-11-03 16:51:13 +01:00
Matteo Cypriani 8455dd0d74 Add copyright & license information
Add the file COPYRIGHT, the CeCILL license's text, and update the source
files' headers with the copyright and license information.
2012-11-03 14:52:33 +01:00
Matteo Cypriani e239dffa4f [Listener] Do not print a warning if AC_port == 0
If the autocalibration request port was not specified, a warning was
issued. This is now fixed by issuing a warning only if the port is too
big, but not if it is zero.
2012-05-14 14:06:05 +02:00
Matteo Cypriani c4e03520f3 [Listener] Display the packet size 2012-05-10 11:38:21 +02:00
Matteo Cypriani 07f5b16ca0 [Listener] Receive the new request format
Read the packet number and number of packets after the request type.
A bit of refactoring was done.
2012-05-10 11:29:17 +02:00
Matteo Cypriani 96d1c54e54 Send number of packets at the beginning of request
The packet number and number of packets are now sent right after the
packet type, instead of at the end of the request.
2012-05-09 21:13:52 +02:00
Matteo Cypriani 1cc1ce4302 [Listener] Handle the packet numbering 2012-02-08 10:52:39 +01:00
Matteo Cypriani 6b7e5668fa Add/update headers on the top of each source file 2012-02-06 16:44:09 +01:00
Matteo Cypriani 3ed19bb012 Version printing: "Owl" instead of "Open Wireless" 2012-02-06 13:27:05 +01:00
Matteo Cypriani 1ebc0c57ed Different port for autocal. orders and hello
Differentiate the port on which the autocalibration hello messages are
sent to the aggregator by the listeners, and the one on which the
autocalibration orders are sent by the aggregator to the listeners.

This will allow to run a listener and an aggregator on the same machine
with autocalibration enabled.

Both in the listener and the aggregator, the option -a (autocalibration
port) has been replaced by the options -O (autocalibration order port)
and -H (autocalibration hello port). In the listener, the option -H was
previously used to set the hello delay; this is now the role of the -T
option.
2012-02-06 13:27:05 +01:00
Matteo Cypriani ee3ab7b383 [Listener] Same port for all requests
The autocalibration requests are now sent on the same port as the
positioning request, by default. There was no real reason to send them
on a different port.
2012-02-06 13:27:05 +01:00
Matteo Cypriani a0005e9dad Don't use inet_ntoa() any more 2012-02-06 13:27:05 +01:00
Matteo Cypriani a20156a45e [Listener] print_configuration(): fix verbose
The verbose level was displayed as a boolean when the program was
compiled without libconfuse.
2012-02-06 13:27:05 +01:00
Matteo Cypriani 16eaecc53f Avoid displaying non-ASCII characters
Avoid displaying UTF-8 characters on the terminal (French quotes &
ellipsis).
2012-02-06 13:26:50 +01:00
Matteo Cypriani dd01705608 Wrap help messages at 80 columns
In Client, Listener and Aggregator, wrap the help message text at 80
columns to make them easier to read on a standard console.
2012-01-24 18:29:50 +01:00
Matteo Cypriani a1bc3db310 Fix daemon modes (Aggregator, Listener, Client)
daemon() must be called prior to set up signal handlers and threads.
2012-01-24 17:27:46 +01:00
Matteo Cypriani 7fc89a381c [Listener] Check radiotap header length
From time to time, the length of the radiotap header (rtap_bytes in
read_packet()) is 65535. This is a quick & dirty fix to avoid segfaults,
but we should search for the reason why this value sometimes appears.
2012-01-24 16:11:36 +01:00
Matteo Cypriani 2ed7ccd4bc [Listener] Daemon mode (-D)
Basic implementation of the daemon mode.
2012-01-11 16:50:39 +01:00
Matteo Cypriani cf73bf6309 [lib] Avoid struct arguments & return values
Modify the *time*() functions to avoid passing structures in arguments
(using const pointers instead) or returning structures (using result
arguments instead).
2012-01-11 16:50:36 +01:00
Matteo Cypriani 4dc45acff7 Get rid of the SS - 0x100 problems
In the listener & aggregator, the signal strength is stored as an
unsigned byte. To display the actual (negative) value, one must
substract 256 (0x100) to the unsigned value.
This commit changes several things:
 - Use the decimal (256) instead of the hexadecimal value (0x100).
 - Don't substract 256 when copying the value to another unsigned byte
   (aggregator).
 - Be careful with the type length. In the positioning server, a SS
   could be copied to a signed byte, while (theoretically) the negative
   value can exceed the capacity of the signed byte. measurement.hh now
   defines a type ss_t to store a signal strength value with the good
   size (it is currently an int_fast16_t).
2012-01-09 11:11:31 +01:00
Matteo Cypriani 58ba4c79ff [lib] Rename start_time -> capture_time
"start_time" was meaningless in the global data structures of owlps.h,
and could lead to errors in the aggregator, since it defines a field
start_time in one of its internal structures.
2012-01-09 11:11:30 +01:00
Matteo Cypriani aa8d11e12b [lib] Rename antenna_signal_dbm -> ss_dbm
Use "ss" instead of "antenna_signal" in the data types declared in
owlps.h. Shorter, and as meaningful.
2012-01-09 11:11:30 +01:00
Matteo Cypriani 5ffeafb857 [Listener] Option ENABLE_KEEP_MONITOR
Add the compile-time option ENABLE_KEEP_MONITOR to enable/disable the
option -K. That allows to make optional the dependency on iwlib.
This option is disabled by default in the Makefiles.
2012-01-09 11:11:30 +01:00
Matteo Cypriani 8c070d482e Standardise CLI options
Make uniform the command-line options of the various programs.
Positioning: delete some useless short options.
2012-01-09 11:11:30 +01:00
Matteo Cypriani ffd1c1d625 [Listener] Verbose level #4 instead of option -c
Add a fourth verbose level to display the captured packets and suppress
the dedicated options -c / -Q.
2012-01-09 11:11:30 +01:00
Matteo Cypriani b3b1f8eda2 [Listener] Display the mobile's IP address
When displaying the request to send, display the IP address of the
mobile.
Aggregator: clean the code for displaying requests.
2011-11-22 19:59:01 +01:00
Matteo Cypriani 1debe92624 [Listener] Fix extract_calibration_data() 2011-10-24 13:56:51 +02:00
Matteo Cypriani 603293c5f9 [Listener] Fix request display
Use owl_mac_bytes_to_string_r() instead of owl_mac_bytes_to_string()
when there are more than one address to display in a single printf().
2011-10-13 15:40:05 +02:00
Matteo Cypriani 3fec57b1ae Move all error #defines in owlps.h 2011-08-26 11:09:41 +02:00
Matteo Cypriani 40bc6d0b59 [Listener] Fix reception timestamp
struct pcap_pkthdr.ts is host-endian, not net-endian, so we have to
convert it to net-endianess when reading it from the packet.
2011-08-24 14:05:16 +02:00