Commit Graph

133 Commits

Author SHA1 Message Date
Joakim Nohlgård
e32b46a866 core/lib/gcr.c: fix warning: function declaration isn't a prototype 2016-03-02 07:12:27 +01:00
Joakim Nohlgård
7c11034ab7 core/lib/trickle-timer.c: fix warning: function declaration isn't a prototype 2016-03-02 07:00:57 +01:00
Joakim Nohlgård
de7850ed58 core/lib/settings.h: fix warning: function declaration isn't a prototype 2016-03-02 07:00:57 +01:00
kkrentz
81765746ad AES-128: Resolved #ifdef issue 2016-01-04 00:28:26 +01:00
kkrentz
e5babded4b AES-128: Deleted the function aes_128_padded_encrypt 2016-01-04 00:28:26 +01:00
Simon Duquennoy
2112dff217 Added ringbufindex module 2015-12-04 15:21:44 +01:00
kkrentz
9500be8916 llsec: Declared aead static 2015-10-14 08:22:44 -07:00
Konrad Krentz
0a6b1cb646 llsec: Added AEAD mode to CCM* 2015-10-14 08:22:44 -07:00
Konrad Krentz
c656a4d1c5 llsec: Fixed style issues in CCM* 2015-10-14 08:22:44 -07:00
Florian von Zabiensky
feba89a3f7 fixed memory bug 2015-10-06 11:25:12 +02:00
Moritz 'Morty' Strübe
d68cbb2980 Ensure that the data in ringbuff is accessed in the right order 2015-09-21 09:38:45 +02:00
Simon Duquennoy
bfba83ed16 galois_mul2 conditional-free implementation 2015-08-03 15:13:00 +02:00
Simon Duquennoy
3315d3069d Merge pull request #1108 from phoenix-frozen/generify-ccm-star
generalised CCM module into lib
2015-07-01 10:44:41 +02:00
Justin King-Lacroix
30704e5afc CCM* module now accepts fixed-size 13-byte nonces
also adjusted variable naming conventions in CCM* module
to use 'nonce' and 'iv' in line with RFC 3610 terminology
2015-06-29 22:51:00 +02:00
Justin King-Lacroix
db15647c2b made AES-128.set_key's argument const 2015-06-15 20:20:07 +01:00
Justin King-Lacroix
3ce8f26eea generalised CCM module into lib
introduced convenience functions for LLSEC modules
2015-06-10 18:07:41 +01:00
Moritz 'Morty' Strübe
0dab6926b3 Move MAX, MIN and ABS to sys/cc.h 2015-05-18 08:53:17 +02:00
Simon Duquennoy
5294cafd14 petsciiconv.c: move variables from global to local 2015-05-12 09:25:22 +02:00
Simon Duquennoy
4a93f5148d Fixed a number of compiler warnings 2015-05-08 09:07:20 +02:00
George Oikonomou
fb22e15844 Fix warnings caused by incorrect param names / undocumented params 2015-02-15 20:11:08 +01:00
Nicolas Tsiftes
61ec5bf896 Merge pull request #514 from BastianPoe/contiki-mmem1
mmem: Prevent duplicate init of mmem
2014-11-28 19:57:17 +01:00
Enrico Joerns
85b494c16b [doc] Give files a common structure by placing license first (partial)
Followed by doxyen file and group tags.
This patch is only a first attempt to make provide a clean structure,
many more files require rework, too.
2014-11-10 23:54:49 +01:00
Enrico Joerns
e4db33f560 [doc] updated settings manager documentation 2014-11-10 23:53:32 +01:00
Nicolas Tsiftes
6fb7dd238e Merge pull request #648 from cetic/pr-csma-fixes
High throughput fixes for csma and sixlowpan
2014-10-21 12:17:03 +02:00
Laurent Deru
68b9412776 Drop packet if there are not enough free buffers to perform fragmentation 2014-08-13 10:11:02 +02:00
kkrentz
13d9510715 llsec: Allow for sharing AES-128 2014-08-05 05:07:04 -07:00
Nicolas Tsiftes
fb4fc312f1 Merge pull request #612 from nfi/assert
Undefine the assert macro to avoid compiler warning.
2014-06-11 15:43:17 +02:00
Rémy Léone
25c8b0835d Closing doxygen groups 2014-05-30 11:01:20 +02:00
Niclas Finne
db3a42fc43 Redefine assert if already defined since some platforms already have an assert definition 2014-03-28 11:38:38 +01:00
Daniel Willmann
60adaaad34 mmem: Prevent duplicate init of mmem
This could seriously corrupt data if mmem_init was called again after
someone called mmem_alloc.
2014-02-07 14:42:11 +01:00
Adam Dunkels
45265249fc Changed the name of the rimeaddr module to linkaddr 2014-01-29 20:12:24 +01:00
Adam Dunkels
24155ee0ae Moved the custom strncasecmp code into a separate module, since it cannot be compiled on all platforms 2014-01-26 23:20:46 +01:00
Adam Dunkels
b244f30480 Moved the ctk files from core/lib into core/lib/ and core/lib/libconio 2014-01-26 23:20:46 +01:00
Adam Dunkels
bddd96d5c8 Removed all module makefiles. Instead, all .c files in a module directory are compiled. 2014-01-26 23:20:46 +01:00
Adam Dunkels
8eace27f9b Moved net/rime.h to net/rime/rime.h 2014-01-26 23:20:45 +01:00
Adam Dunkels
13f8837422 Made core/lib into a module 2014-01-26 23:20:32 +01:00
Adam Dunkels
0fd503af42 Removed the experimental checkpointing code 2013-11-28 14:09:17 +01:00
Adam Dunkels
bb2dcaa057 A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
George Oikonomou
060b00c4b5 Use TRICKLE_TIMER_IS_STOPPED in trickle_timer_stop() 2013-09-30 12:37:03 +01:00
George Oikonomou
995a9c92d9 Only schedule a trickle interval doubling for running timers 2013-09-16 11:53:39 +01:00
George Oikonomou
fa7219d0b8 Add a way to determine whether a trickle timer is running 2013-09-16 11:53:39 +01:00
Zhen-Huan Hwang
e75dacb5fa 1. Added a missing '&' in lib/trickle-timer.h
2. Removed executable permissions of lib/trickle-timer.c & .h
2013-09-11 18:31:06 +03:00
Robert Quattlebaum
0308d3fcf0 settings: Correct a problem where sometimes CC_INLINE is not defined properly. 2013-07-02 08:46:03 -07:00
George Oikonomou
ffeceb9164 Add a Trickle Timer Library (RFC 6206) 2013-05-19 21:51:07 +01:00
Mariano Alvira
5df586e09d Merge pull request #184 from g-oikonomou/bug-fixes/rimestats
Rimestats Fix (#183)
2013-05-19 07:45:22 -07:00
George Oikonomou
db078cf7e8 Replace reads of rimestats with RIMESTATS_GET(x) 2013-03-20 21:14:35 +00:00
Robert Quattlebaum
ed2dd29eda core/lib/settings: Added SETTINGS_CONF_SKIP_CONVENIENCE_FUNCS.
Unfortunately, some platforms don't properly drop unreferenced functions,
so on these broken platforms we can save a significant amount
of space by skipping the definition of the convenience functions.
2013-03-20 11:57:13 -07:00
Robert Quattlebaum
28a1e40ebd core/lib/settings: Generalized Settings Manager to work on any platform
This commit moves the Settings Manager from the AVR codebase
into the Contiki core library. Any platform that implements
the Contiki EEPROM API can now use the Settings Manager's
key-value store for storing their persistent configuration info.

The Settings Manager is a EEPROM-based key-value store. Keys
are 16-bit integers and values may be up to 16,383 bytes long.
It is intended to be used to store configuration-related information,
like network settings, radio channels, etc.

 * Robust data format which requires no initialization.
 * Supports multiple values with the same key.
 * Data can be appended without erasing EEPROM.
 * Max size of settings data can be easily increased in the future,
   as long as it doesn't overlap with application data.

The format was inspired by the [OLPC manufacturing data format][].

Since the beginning of EEPROM often contains application-specific
information, the best place to store settings is at the end of EEPROM
(the "top"). Because we are starting at the end of EEPROM, it makes
sense to grow the list of key-value pairs downward, toward the start of
EEPROM.

Each key-value pair is stored in memory in the following format:

Order    | Size     | Name         | Description
--------:|---------:|--------------|-------------------------------
       0 |        2 | `key`        | 16-bit key
      -2 |        1 | `size_check` | One's-complement of next byte
      -3 |   1 or 2 | `size`       | The size of `value`, in bytes
-4 or -5 | variable | `value`      | Value associated with `key`

The end of the key-value pairs is denoted by the first invalid entry.
An invalid entry has any of the following attributes:

 * The `size_check` byte doesn't match the one's compliment of the
   `size` byte (or `size_low` byte).
 * The key has a value of 0x0000.

[OLPC manufacturing data format]: http://wiki.laptop.org/go/Manufacturing_data
2013-03-20 11:57:13 -07:00
Adam Dunkels
ef25cc6c58 Rimestats bugfix: only compile the rimestats printout if rimestats are enabled 2013-03-18 11:22:00 +01:00
Adam Dunkels
944537fccf Removed all old RCS tags in the Contiki source tree. Those RCS tags are not used any more, as we are now using git to manage the Contiki source tree 2012-10-26 15:54:49 +02:00