Commit Graph

53 Commits

Author SHA1 Message Date
Matteo Cypriani 4d78da4721 Doc and comments: some typos & small additions 2014-02-18 10:22:35 -05:00
Matteo Cypriani 69fe1290f7 TODO.t2t: forget ether_ntoa() and Co.
ether_ntoa_r(), the reentrant version of ether_ntoa(), is a GNU
extension so using it would break portability. We will just stick with
our owl_mac_bytes_to_string() and owl_mac_bytes_to_string_r().
2013-10-04 11:01:33 -04:00
Matteo Cypriani 56edcc623a [Aggregator] Limit the verbose level to a maximum
For now the maximum verbose level is 4, so it is best for the user to
avoid displaying a verbose level higher than that in the configuration.
2013-10-04 10:44:40 -04:00
Matteo Cypriani f08097ea08 Update TODO.t2t 2013-10-03 15:52:22 -04:00
Matteo Cypriani a495d51f02 [Positioner] Work on const function arguments
The function arguments were reviewed to add missing 'const' keywords,
and some classes were modified more deeply to make some pointer class
variables constant.
2013-10-02 16:12:47 -04:00
Matteo Cypriani 69e8b49300 Mark arguments as const as needed in C programs
This was already done in the libraries, but not in the programs.
2013-10-02 11:28:48 -04:00
Matteo Cypriani 0b2835c744 [doc] Add owlps-positionerd.t2t 2013-10-01 13:54:20 -04:00
Matteo Cypriani e5883d99d5 Finish supporting getaddrinfo()
- For static buffers, use a size suited for host names and not only IP
  addresses.
- Change variable names.
- Adapt usage messages and documentation.
2013-09-23 17:03:51 -04:00
Matteo Cypriani e58d158286 [Client] Change -F option's behaviour
In flood mode, the delay is now counted from the beginning of the
transmission of a request, instead of after the end of the transmission.
The old behaviour is still supported by adding a '+' before the delay
duration on the command line.
2013-09-23 16:10:54 -04:00
Matteo Cypriani e48724b332 [lib-result] Mark arguments as const consistently 2013-09-23 16:10:53 -04:00
Matteo Cypriani 647b025840 [UDP-HTTP] Verbose/quiet command-line options
Add options -v and -q to handle verbose and quiet mode.
2013-09-23 16:10:53 -04:00
Matteo Cypriani d6fb1c04fc [UDP-HTTP] Command-line options -h, -V, -l, -t
Add support for basic command-line options: -h (help), -V (version), and
-l and -t for the port numbers.
2013-09-23 16:10:53 -04:00
Matteo Cypriani b91fdc52ab Update TODO.t2t 2013-07-25 18:47:14 -04:00
Matteo Cypriani 1c34eaee1e [Positioner] Add AutocalibrationLine
New autocalibration technique to generate points in line (use case:
underground tunnels). The handling of the
positioning.generate-reference-points has changed to be able to use
several autocalibration methods simultaneously.
2013-07-19 11:05:02 -04:00
Matteo Cypriani 46e1510536 [Listener] Improve config file-related warning
Display a warning when the configuration file cannot be read only when
the -f option was used. As stated in comment, the initial plan was to
also display the warning in verbose mode, but at this point of the
program the command-line is not parsed yet, so it's pointless to test
for it.
2013-07-17 18:09:15 -04:00
Matteo Cypriani a18a38c7ee [doc] architecture: add Autocalibration section 2013-07-17 18:09:14 -04:00
Matteo Cypriani 5d7c68fe2f [doc] Add owlps-deployment.t2t 2013-07-17 18:09:14 -04:00
Matteo Cypriani 1eac9bb718 [Positioner] tests: review and update (100% pass)
Review and fix all the tests so that 100% of the tests pass.
2013-07-17 18:09:14 -04:00
Matteo Cypriani 9144ef3740 [Positioner] RealPosition: fix calib request bug
Fix the RealPosition::compute() bug that prevented the real position to
be extracted for a CalibrationRequest.
2013-07-17 18:09:13 -04:00
Matteo Cypriani 6c1c182039 [Listener] Adapt get_mac_addr() to build on BSD
The get_mac_addr() function was the only real blocker that prevented
building on BSD systems, as it used the Linux-specific SIOCGIFHWADDR
ioctl. When compiling for Linux, we still use this ioctl, but for the
BSD version we use sysctl().

This allows OwlPS Listener to build on BSD (tested on NetBSD, OpenBSD
and DragonFly). That doesn't mean it will actually work when trying to
capture packets though (that has to be tested on real hardware), but
that's still a progress.
2013-07-17 18:09:12 -04:00
Matteo Cypriani 91cd819730 [Aggregator] ap_check_interval -> ac_order_interval
The option ap_check_interval is now named ac_order_interval, which is
(hopefully) more meaningful.
2013-07-17 18:09:12 -04:00
Matteo Cypriani 5bf1bcb4d2 Handle aggregation CSV format version
The first field of the Aggregator's CSV output files is now an unsigned
integer that announces the version of the CSV format used. Current
version is 1 and the subsequent fields are not modified, so that an
aggregation file generated with a previous version can still be used by
adding "1;" at the beginning of each line.

The Positioner has been adapted to handle this new format.
2013-07-17 18:08:27 -04:00
Matteo Cypriani 61aa4af3a3 [Aggregator] Refactor got_request()
Create add_captured_request() out of got_request(). Now,
add_captured_request() will need to be refactored.
2013-06-12 18:55:48 -04:00
Matteo Cypriani 0e913a2938 [Aggregator] More monitor_requests() refactoring
Create scan_request_list() out of monitor_requests().
2013-06-12 18:55:48 -04:00
Matteo Cypriani d9344673b0 [Aggregator] Flush the requests' list at exit
Instead of just freeing the requests' list, output every request and
free the list at the same time.
2013-06-12 18:51:38 -04:00
Matteo Cypriani 3a9ce442d1 [Aggregator] Add -F option (don't flush output)
Add the -F option to turn off flushing of the output file after each
analyse of the requests' list.
2013-06-12 18:44:03 -04:00
Matteo Cypriani 6761650648 [Aggregator] Make -o optional
The -o parameter is now optional, and the default output file is the
standard output.
2013-06-12 17:18:46 -04:00
Matteo Cypriani b0bb4094d8 CMake: get rid of the OWLPS_DEBUG option
The constant is not used in any program any more, so we can stop
declaring it.
2013-06-12 09:38:38 -04:00
Matteo Cypriani b859734d23 [Client] Add verbose and quiet options (-v / -q) 2013-06-12 09:38:38 -04:00
Matteo Cypriani d32813376b CMake: pass installation prefix to programs
The file libowlps/owlps-config.h.in was added to allow CMake to pass the
installation prefix variable to the programs. That allows the programs
to look for their configuration file at the right position (i.e. in the
etc/owlps directory under the installation prefix).
2013-06-12 09:38:38 -04:00
Matteo Cypriani 4bd104d633 CMake: test for the presence of txt2tags 2013-06-12 09:38:37 -04:00
Matteo Cypriani 3aa5ae7513 Use Doxygen on lib*
Doxygen comments are now used in libowlps, libowlps-client and
libowlps-resultreader. doc/Doxyfile was added as well as CMake rules to
generate man pages for the libraries' header files.
2013-06-12 09:38:37 -04:00
Matteo Cypriani eb2715e249 CMake: make sure doxygen is available 2013-06-04 11:07:54 -04:00
Matteo Cypriani 410038f38c [lib] Remove unused owl_timestamp_is_null() 2013-06-04 11:07:54 -04:00
Matteo Cypriani 87f390f288 CMake: handle doc/ 2013-06-04 11:07:54 -04:00
Matteo Cypriani df765e08b3 CMake: generate Positioner's doc out of tree
The Positioner's documentation is now generated in the build tree
instead of in the source tree.
2013-06-03 17:46:10 -04:00
Matteo Cypriani 85978e3a68 Update TODO.t2t 2013-05-29 13:19:06 -04:00
Matteo Cypriani 9aa9099e6a DEBUG compile-time option -> OWLPS_DEBUG
The former DEBUG compilation-time option was renamed OWLPS_DEBUG to be
consistent with the other options.
2013-05-23 12:24:11 -04:00
Matteo Cypriani 1a30b90683 CMake: test for the presence of libiw 2013-05-23 12:24:10 -04:00
Matteo Cypriani c41f6d9547 CMake: add installation targets 2013-05-22 18:36:21 -04:00
Matteo Cypriani 9908ecf905 CMake: handle libraries' sonames
libowlps-client and libowlps-resultreader were never built as shared
libraries, therefore we set their version number to 1.0.

For stable releases, the rule is to increase the minor version number
when changes are made to the library without changing the API, and to
bump the major version number (soname) in case of API change.

In the development branch and for development point releases, the soname
should not be increased, even in case of API break. The minor version
number should be bumped instead.

Following this rule, libowlps' version number is bumped to 3.1, as some
changes were made since version 3.0.
2013-05-22 18:36:20 -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 0de28cb3eb CMake: compile Positioner 2013-05-22 18:36:20 -04:00
Matteo Cypriani aa88bcf0fd CMake: configurations & compilation flags 2013-05-22 18:36:20 -04:00
Matteo Cypriani 77fcc23026 CMake: handle OwlPS' version 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 93adfdc55c CMake: handle Client's options 2013-05-21 14:23:36 -04:00
Matteo Cypriani 4467fcd52c Initial CMake setup 2013-05-21 14:23:36 -04:00
Matteo Cypriani 4650c229ff [Positioner] Allow to generate a RP list
Change the positioning.generate-reference-points option to offer
multiple choices (false, mesh, list, both) and add the
positioning.generated-points-list to allow the user to specify a list of
reference points to generate.
2013-05-17 16:54:57 -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