Commit Graph

124 Commits

Author SHA1 Message Date
Matteo Cypriani 1a30b90683 CMake: test for the presence of libiw 2013-05-23 12:24:10 -04:00
Matteo Cypriani c667203c45 CMake: test for the presence of libpcap 2013-05-22 18:36:21 -04:00
Matteo Cypriani 0c6af63657 CMake: test for the presence of Confuse 2013-05-22 18:36:21 -04:00
Matteo Cypriani 8e46aae55c CMake: test for the presence of POSIX threads
We chose a centralised approach, since threads are needed in several
modules: the find_package() is done only once in the rood directory.
Not sure it's the best approach though, but this test is several lines
long so doing that avoids duplication of this code.
2013-05-22 18:36:21 -04:00
Matteo Cypriani 1cb5742ef9 CMake: rework compilation/link flags
- Default compiler and linker flags were added silently. They are now
  set in the cache if no previous values are present.
- Debug flags and regular flags have been merged.
- Position-independent code (doesn't appear in the cache because CMake
  lacks variables like CMAKE_EXE_COMPILE_FLAGS):
  - Shared libraries are compiled with -fPIC.
  - Executables and static libraries are compiled with -fPIE.
  - Executables are linked with -pie -fPIE.
2013-05-22 18:36:21 -04:00
Matteo Cypriani c41f6d9547 CMake: add installation targets 2013-05-22 18:36:21 -04:00
Matteo Cypriani 4264210dcc CMake: add static targets
The pseudo-targets "semistatic" and "static" were added to build
everything in semistatic or static mode.
2013-05-22 18:36:20 -04:00
Matteo Cypriani 688580c7d2 CMake: don't compile semistatic by default
Exclude semistatic targets from the 'all' target.
2013-05-22 18:36:20 -04:00
Matteo Cypriani dad2e543d1 CMake: handle Listener's options 2013-05-22 18:36:20 -04:00
Matteo Cypriani 4467fcd52c Initial CMake setup 2013-05-21 14:23:36 -04:00
Matteo Cypriani 005e5da12e Delete Makefiles 2013-05-20 17:08:33 -04:00
Matteo Cypriani b1fc4a0aa2 [Listener] Always declare print_configuration()
In owlps-listener.h, print_configuration() was declared only in debug
mode, which was wrong.
2013-05-18 23:38:31 -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 64c2ac9a58 Makefiles: move OS detection in common.mk
This fixes compilation on BSD.
2013-04-30 16:50:14 -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 316db76861 Makefiles: add common-rules.mk, drop openwrt files
This is the sequel of the work on the Makefiles' unification.
2012-05-24 14:19:04 +02: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 92485f3f67 Add common.mk
Adapt all the Makefiles to use it.
Rename all the Makefile_atheros_openwrt-10.03 to
Makefile_atheros_openwrt.
2012-05-09 15:55:17 +02:00
Matteo Cypriani 1cc1ce4302 [Listener] Handle the packet numbering 2012-02-08 10:52:39 +01:00
Matteo Cypriani ca249457be Makefiles: BSD-specific -I/-L 2012-02-07 17:50:19 +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 7c7aac31e9 Update time-related default values
Aggregation time, check intervals, etc.
By default the aggregator cannot fully aggregate calibration requests
any more, only the positioning and autocalibration requests.
In order to aggregate calibration requests, the aggregation timeout
needs to be increased, or the number of packets of the request and
the delay between each of them lowered.
2012-02-06 13:27:05 +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 2c1697b78a Enable compilation on GNU/kFreeBSD 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 ad8f42117b [Listener] Compile without confuse (Atheros)
For the Atheros platforms, do not link to libconfuse by default.
2012-01-24 17:26:06 +01:00