[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.
This commit is contained in:
Matteo Cypriani 2011-12-30 17:17:10 +01:00
parent aa8d11e12b
commit 58ba4c79ff
4 changed files with 18 additions and 20 deletions

2
TODO
View File

@ -4,8 +4,6 @@
° Valgrind / libconfuse bugs (Listener & Aggregator): ° Valgrind / libconfuse bugs (Listener & Aggregator):
. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=639074 . http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=639074
. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=639115 . http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=639115
- Rename some fields in the structures
° start_time -> rx_time, first_rx_time
- Eliminate remaining exit() calls to avoid memory leaks on exit. - Eliminate remaining exit() calls to avoid memory leaks on exit.
- Use atexit() / on_exit() instead of goto to clean at exit? - Use atexit() / on_exit() instead of goto to clean at exit?
- Add option dump-configuration (displays the config & exits). - Add option dump-configuration (displays the config & exits).

View File

@ -63,8 +63,8 @@ typedef struct _owl_captured_request
uint8_t ap_mac_addr_bytes[ETHER_ADDR_LEN] ; // MAC of the listener uint8_t ap_mac_addr_bytes[ETHER_ADDR_LEN] ; // MAC of the listener
uint8_t mobile_mac_addr_bytes[ETHER_ADDR_LEN] ; // MAC of the mobile uint8_t mobile_mac_addr_bytes[ETHER_ADDR_LEN] ; // MAC of the mobile
uint8_t mobile_ip_addr_bytes[4] ; // IP of the mobile uint8_t mobile_ip_addr_bytes[4] ; // IP of the mobile
owl_timestamp request_time ; // Request ID (timestamp on the mobile) owl_timestamp request_time ; // Timestamp on the mobile
owl_timestamp start_time ; // Timestamp of arrival on the listener owl_timestamp capture_time ; // Timestamp of arrival on the listener
uint8_t ss_dbm ; // Signal strength measured by the listener (dBm) uint8_t ss_dbm ; // Signal strength measured by the listener (dBm)
/* Calibration data */ /* Calibration data */
float x_position ; float x_position ;
@ -80,8 +80,8 @@ typedef struct _owl_request
{ {
uint8_t type ; // Type of the request uint8_t type ; // Type of the request
uint8_t mobile_mac_addr_bytes[ETHER_ADDR_LEN] ; // MAC of the mobile uint8_t mobile_mac_addr_bytes[ETHER_ADDR_LEN] ; // MAC of the mobile
owl_timestamp request_time ; // Request ID (timestamp on the mobile) owl_timestamp request_time ; // Timestamp on the mobile
uint16_t nb_info ; // Number of (listener MAC;signal strength) couples uint16_t nb_info ; // Number of owl_request_info
/* Calibration data */ /* Calibration data */
float x_position ; float x_position ;
float y_position ; float y_position ;

View File

@ -469,7 +469,7 @@ int read_loop(int sockfd)
// Endianess conversions: // Endianess conversions:
request.request_time = owl_ntoh_timestamp(request.request_time) ; request.request_time = owl_ntoh_timestamp(request.request_time) ;
request.start_time = owl_ntoh_timestamp(request.start_time) ; request.capture_time = owl_ntoh_timestamp(request.capture_time) ;
request.x_position = owl_ntohf(request.x_position) ; request.x_position = owl_ntohf(request.x_position) ;
request.y_position = owl_ntohf(request.y_position) ; request.y_position = owl_ntohf(request.y_position) ;
request.z_position = owl_ntohf(request.z_position) ; request.z_position = owl_ntohf(request.z_position) ;
@ -478,14 +478,14 @@ int read_loop(int sockfd)
{ {
char char
request_time_str[OWL_TIMESTAMP_STRLEN], request_time_str[OWL_TIMESTAMP_STRLEN],
start_time_str[OWL_TIMESTAMP_STRLEN], capture_time_str[OWL_TIMESTAMP_STRLEN],
ap_mac_addr_str[OWL_ETHER_ADDR_STRLEN], ap_mac_addr_str[OWL_ETHER_ADDR_STRLEN],
mobile_mac_addr_str[OWL_ETHER_ADDR_STRLEN], mobile_mac_addr_str[OWL_ETHER_ADDR_STRLEN],
mobile_ip_str[INET_ADDRSTRLEN] ; mobile_ip_str[INET_ADDRSTRLEN] ;
owl_timestamp_to_string(request_time_str, owl_timestamp_to_string(request_time_str,
request.request_time) ; request.request_time) ;
owl_timestamp_to_string(start_time_str, request.start_time) ; owl_timestamp_to_string(capture_time_str, request.capture_time) ;
owl_mac_bytes_to_string_r(request.ap_mac_addr_bytes, owl_mac_bytes_to_string_r(request.ap_mac_addr_bytes,
ap_mac_addr_str) ; ap_mac_addr_str) ;
owl_mac_bytes_to_string_r(request.mobile_mac_addr_bytes, owl_mac_bytes_to_string_r(request.mobile_mac_addr_bytes,
@ -513,7 +513,7 @@ int read_loop(int sockfd)
mobile_mac_addr_str, mobile_mac_addr_str,
mobile_ip_str, mobile_ip_str,
request_time_str, request_time_str,
start_time_str, capture_time_str,
request.ss_dbm - 0x100, request.ss_dbm - 0x100,
request.x_position, request.x_position,
request.y_position, request.y_position,
@ -769,7 +769,7 @@ void got_request(owl_captured_request request)
// Implicit packet: // Implicit packet:
else else
// Reception time on the AP: // Reception time on the AP:
tmp_request->request_time = request.start_time ; tmp_request->request_time = request.capture_time ;
// Save locale time on the aggregator (not the reception time // Save locale time on the aggregator (not the reception time
// on the AP): // on the AP):
tmp_request->start_time = start_time ; tmp_request->start_time = start_time ;
@ -806,7 +806,7 @@ void got_request(owl_captured_request request)
// TODO : define an option for the maximal difference time. // TODO : define an option for the maximal difference time.
if (owl_mac_equals(request.mobile_mac_addr_bytes, if (owl_mac_equals(request.mobile_mac_addr_bytes,
tmp_request->mobile_mac_addr_bytes) tmp_request->mobile_mac_addr_bytes)
&& owl_time_elapsed_ms(request.start_time, && owl_time_elapsed_ms(request.capture_time,
tmp_request->request_time) <= 10) tmp_request->request_time) <= 10)
break ; // If the request exists, we stop on it break ; // If the request exists, we stop on it
tmp_request = tmp_request->next ; tmp_request = tmp_request->next ;
@ -829,9 +829,9 @@ void got_request(owl_captured_request request)
// Implicit packet: // Implicit packet:
else else
// Reception time on the AP: // Reception time on the AP:
tmp_request->request_time = request.start_time ; tmp_request->request_time = request.capture_time ;
// Save locale time on the aggregator (not the reception time // Save the local time on the aggregator (not the reception
// on the AP): // time on the AP):
tmp_request->start_time = start_time ; tmp_request->start_time = start_time ;
tmp_request->x_position = request.x_position ; tmp_request->x_position = request.x_position ;
tmp_request->y_position = request.y_position ; tmp_request->y_position = request.y_position ;

View File

@ -926,7 +926,7 @@ void read_packet(u_char *args, const struct pcap_pkthdr *header,
// Copy AP MAC : // Copy AP MAC :
memcpy(request.ap_mac_addr_bytes, my_mac_bytes, ETHER_ADDR_LEN) ; memcpy(request.ap_mac_addr_bytes, my_mac_bytes, ETHER_ADDR_LEN) ;
// Capture time is in the pcap header (host-endian): // Capture time is in the pcap header (host-endian):
request.start_time = request.capture_time =
owl_hton_timestamp(owl_timeval_to_timestamp(header->ts)) ; owl_hton_timestamp(owl_timeval_to_timestamp(header->ts)) ;
/* Active mode */ /* Active mode */
@ -1020,15 +1020,15 @@ void read_packet(u_char *args, const struct pcap_pkthdr *header,
{ {
char char
request_time_str[OWL_TIMESTAMP_STRLEN], request_time_str[OWL_TIMESTAMP_STRLEN],
start_time_str[OWL_TIMESTAMP_STRLEN], capture_time_str[OWL_TIMESTAMP_STRLEN],
ap_mac_addr_str[OWL_ETHER_ADDR_STRLEN], ap_mac_addr_str[OWL_ETHER_ADDR_STRLEN],
mobile_mac_addr_str[OWL_ETHER_ADDR_STRLEN], mobile_mac_addr_str[OWL_ETHER_ADDR_STRLEN],
mobile_ip_str[INET_ADDRSTRLEN] ; mobile_ip_str[INET_ADDRSTRLEN] ;
owl_timestamp_to_string(request_time_str, owl_timestamp_to_string(request_time_str,
owl_ntoh_timestamp(request.request_time)) ; owl_ntoh_timestamp(request.request_time)) ;
owl_timestamp_to_string(start_time_str, owl_timestamp_to_string(capture_time_str,
owl_ntoh_timestamp(request.start_time)) ; owl_ntoh_timestamp(request.capture_time)) ;
owl_mac_bytes_to_string_r(request.ap_mac_addr_bytes, owl_mac_bytes_to_string_r(request.ap_mac_addr_bytes,
ap_mac_addr_str) ; ap_mac_addr_str) ;
owl_mac_bytes_to_string_r(request.mobile_mac_addr_bytes, owl_mac_bytes_to_string_r(request.mobile_mac_addr_bytes,
@ -1054,7 +1054,7 @@ void read_packet(u_char *args, const struct pcap_pkthdr *header,
mobile_mac_addr_str, mobile_mac_addr_str,
mobile_ip_str, mobile_ip_str,
request_time_str, request_time_str,
start_time_str, capture_time_str,
rtap_fields[RTAP_ANTENNASIGNALDBM] ? rtap_fields[RTAP_ANTENNASIGNALDBM] ?
request.ss_dbm - 0x100 : 0, request.ss_dbm - 0x100 : 0,
owl_ntohf(request.x_position), owl_ntohf(request.x_position),