Commit Graph

2075 Commits

Author SHA1 Message Date
Yasuyuki Tanaka
e361c49f14 RPL non-storing: fix a bug causing an infinite loop
It falls into an infinite loop if it goes to the default label in the switch
statement of rpl_srh_get_next_hop() or rpl_process_srh_header().
2016-06-27 20:57:48 +02:00
Benoît Thébaudeau
8fd7719c07 noncoresec: Fix build errors with DEBUG set to 1
Fix these build errors, which are generated if DEBUG is set to 1:

../../core/net/llsec/noncoresec/noncoresec.c: In function 'parse':
../../core/net/llsec/noncoresec/noncoresec.c:198:54: error: expected ')' before 'PRIu32'
     PRINTF("noncoresec: received unauthentic frame %"PRIu32"\n",
                                                      ^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
 #define PRINTF(...) printf(__VA_ARGS__)
                            ^
../../core/net/llsec/noncoresec/noncoresec.c:198:12: warning: spurious trailing '%' in format [-Wformat=]
     PRINTF("noncoresec: received unauthentic frame %"PRIu32"\n",
            ^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
 #define PRINTF(...) printf(__VA_ARGS__)
                            ^
../../core/net/llsec/noncoresec/noncoresec.c:198:12: warning: spurious trailing '%' in format [-Wformat=]
     PRINTF("noncoresec: received unauthentic frame %"PRIu32"\n",
            ^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
 #define PRINTF(...) printf(__VA_ARGS__)
                            ^
../../core/net/llsec/noncoresec/noncoresec.c:231:54: error: expected ')' before 'PRIu32'
        PRINTF("noncoresec: received replayed frame %"PRIu32"\n",
                                                      ^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
 #define PRINTF(...) printf(__VA_ARGS__)
                            ^
../../core/net/llsec/noncoresec/noncoresec.c:231:15: warning: spurious trailing '%' in format [-Wformat=]
        PRINTF("noncoresec: received replayed frame %"PRIu32"\n",
               ^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
 #define PRINTF(...) printf(__VA_ARGS__)
                            ^
../../core/net/llsec/noncoresec/noncoresec.c:231:15: warning: spurious trailing '%' in format [-Wformat=]
        PRINTF("noncoresec: received replayed frame %"PRIu32"\n",
               ^
../../core/net/llsec/noncoresec/noncoresec.c:88:28: note: in definition of macro 'PRINTF'
 #define PRINTF(...) printf(__VA_ARGS__)
                            ^

PRIu32 is not defined, so replace it with a standard format directive.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2016-06-23 22:10:43 +02:00
Antonio Lignan
fba37e0131 Merge pull request #1624 from cedric-d/prevent-uip-buffer-overread
Prevent uIP buffer over-read with big UDP packets
2016-06-15 13:08:45 +02:00
George Oikonomou
5fe95fc425 Merge pull request #1709 from atiselsts/cc26xx_tsch_port
TSCH port for CC26xx
2016-06-15 10:28:58 +01:00
cedric-d
67e0575bd3 Prevent uIP buffer over-read with big UDP packets
When an UDP packet too big to fit in the uIP packet buffer is to be sent, the part fitting in the uIP buffer is copied to it (so no buffer overflow occurs) but uIP actually sends a packet of the original size therefore a buffer over-read occurs.

This modification makes uIP discard the UDP packets that do not fit in the uIP packet buffer.
2016-06-15 10:51:20 +02:00
Simon Duquennoy
872146def0 Merge pull request #1720 from joakimeriksson/rpl_ns_periodic
Fix for compilation with clang - issue reported by Olaf Bergmann
2016-06-15 10:27:58 +02:00
Antonio Lignan
fa88122140 Merge pull request #1589 from ibriano/master
Allow creating connections on unspecified local port
2016-06-14 21:30:34 +02:00
Atis Elsts
6800f9502e Update the list of supported platforms in TSCH README file 2016-06-14 19:47:59 +03:00
Simon Duquennoy
30e820ffa5 Merge pull request #1708 from atiselsts/tsch_enhancements
TSCH enhancements
2016-06-13 20:58:02 +02:00
Joakim Eriksson
7853a7434b fix for compilation with clang - issue reported by Olaf Bergmann 2016-06-13 16:18:16 +02:00
Simon Duquennoy
4fd8f67053 Merge pull request #1715 from sumanpanchal/zoul-tsch
TSCH port for Zolertia ReMote/Zoul.
2016-06-13 09:03:16 +02:00
Sumankumar Panchal
373fda46f7 TSCH port for Zolertia ReMote/Zoul. 2016-06-12 16:37:01 +05:30
Atis Elsts
f0fcff2d1a TSCH: declare radio_rx_mode only when HW timestamps are enabled to avoid warnings 2016-06-10 15:04:07 +03:00
Atis Elsts
5b728691ad TSCH: add missing include 2016-06-10 15:04:07 +03:00
Atis Elsts
fbb66f9cd5 TSCH: allow to configure channel scanning duration during the join phase 2016-06-10 15:04:07 +03:00
Atis Elsts
b57009e564 TSCH: fix signedness in adaptive timesync 2016-06-10 15:04:07 +03:00
Atis Elsts
03d511c2be tsch-slot-operation.c: use ABS() instead of abs() for consistency with the rest of Contiki 2016-06-10 15:04:06 +03:00
Atis Elsts
f6967c1f58 read RADIO_PARAM_LAST_RSSI and RADIO_PARAM_LAST_PACKET_TIMESTAMP only after the last packet has been read in TSCH: reading the packet might update these values 2016-06-10 15:04:06 +03:00
Atis Elsts
45510f57fa TSCH: add option to not to turn off radio during active TSCH timeslots 2016-06-10 15:04:06 +03:00
Atis Elsts
723c7e1117 print TSCH clock drift ppm whenever updated 2016-06-10 15:04:06 +03:00
Atis Elsts
b3afd65b1d fix a few comments in TSCH 2016-06-10 15:04:06 +03:00
Atis Elsts
0cb222e6e1 add 2-channel TSCH hopping sequence 2016-06-10 15:04:06 +03:00
Tommy Sparber
27cceda1e8
rpl-ext-header: Use 8-octet unit for HBHO length
According to RFC 2460 the length field of the Hop-by-Hop options header
should use a 8-octet unit (multiple of 8 byte).

In a normal configuration the RPL_HOP_BY_HOP_LEN define is 8, so the
current implementation works, but if RPL_HOP_BY_HOP_LEN is a multiple
of 8 the length is not calculated correctly.
2016-06-08 17:37:59 +02:00
Simon Duquennoy
535ff25da2 RPL non-storing defensive link update: make sure the topology is loop-free at all times 2016-06-08 14:14:03 +02:00
Simon Duquennoy
d5e74b9579 Code style 2016-06-08 14:05:37 +02:00
Simon Duquennoy
0f5e3413fa Simplify dao_input 2016-06-08 14:04:47 +02:00
Simon Duquennoy
6c4d5312ae uip-icmp6.c: call rpl_insert_header only when UIP_CONF_IPV6_RPL is set 2016-06-08 14:03:28 +02:00
Simon Duquennoy
4208973017 Fix DAO-ACK support for non-storing 2016-06-08 14:03:27 +02:00
Simon Duquennoy
6cdec70798 rpl_verify_header: do not select DAG in storing mode after updating neighbor rank, as this may result in a No-Path DAO being sent, which will drop the current packet. 2016-06-08 14:03:26 +02:00
Simon Duquennoy
343c274359 RPL: re-enable RPL_DIO_REFRESH_DAO_ROUTES by default as it is needed with DAO-ACK disabled. Now increments the DTSN only at the root 2016-06-08 14:03:25 +02:00
Simon Duquennoy
ded71a7400 RPL: add neighbor to cache on incoming DIO also at the root 2016-06-08 14:03:23 +02:00
Simon Duquennoy
1a7133bbf2 Simplified configuration of RPL non-storing mode 2016-06-08 14:03:21 +02:00
Simon Duquennoy
f26ea34c61 Run RPL regression tests in non-storing mode 2016-06-08 14:03:19 +02:00
Yasuyuki Tanaka
eef233ceab Clear the uIP buffer before calling dao_ack_output() 2016-06-08 14:02:52 +02:00
Yasuyuki Tanaka
bb69e35c76 Fix typos causing compilation errors in rpl_srh_get_next_hop() 2016-06-08 14:02:51 +02:00
Yasuyuki Tanaka
f53bae6225 Remove a debug message showing "SRH Next Hop" in insert_srh_header() 2016-06-08 14:02:50 +02:00
Yasuyuki Tanaka
2abf27a6f7 Remove an unnecessary NULL-check in insert_srh_header() 2016-06-08 14:02:49 +02:00
Yasuyuki Tanaka
97a362acdc Use a stricter check in rpl_srh_get_next_hop() 2016-06-08 14:02:48 +02:00
Yasuyuki Tanaka
0be30628ce Enable the root to send back a DAO-ACK 2016-06-08 14:02:47 +02:00
Simon Duquennoy
b3e31e1456 Implement RPL non-storing mode 2016-06-08 14:02:45 +02:00
Simon Duquennoy
d14b76d869 RPL: logging fixes 2016-06-08 14:02:44 +02:00
Billy Kozak
72b4d38ab3 Put some uip6 temporaries on the stack
Some "temporary" variables were declared with static storage duration
for no good reason.

Replaced them with local stack variables wherever they were used.

There are still some variables that are unecesarily given static
duration which I have left alone.
2016-06-07 09:59:46 -06:00
Simon Duquennoy
8cdff8c21b Merge pull request #1696 from momote-io/fixes
fix ipv6 http socket host handling as in RFC2732
2016-06-05 12:46:59 +02:00
Marco Casaroli
47df9c4e6e code style 2016-06-04 16:47:52 -03:00
Simon Duquennoy
223a69cef5 Merge pull request #1535 from bkozak-scanimetrics/fix_strcasecmp_warning
Fix warning about missing strcasecmp definition
2016-06-04 15:05:06 +02:00
Antonio Lignan
9dc1e57c85 Merge pull request #1683 from msolters/patch-1
Fix IPv6 HTTP URL parsing
2016-06-04 07:59:50 +02:00
Simon Duquennoy
797bead5e5 RPL: if a neighbor is unreachable, remove routes via this neighbor 2016-06-03 18:43:36 +02:00
Simon Duquennoy
b73b6082fc link_stats_input_callback: do not use EWMA when initializing RSSI 2016-06-03 18:43:35 +02:00
Simon Duquennoy
8ae00caea8 RPL: more robust configuration of mrhof in the squared ETX case 2016-06-03 18:43:35 +02:00
Simon Duquennoy
e6cd029090 rpl_remove_routes_by_nexthop: expire routes rather than remove then directly. The routes will be removed later and No-path DAOs sent accordingly in rpl_purge_routes 2016-06-03 18:43:28 +02:00