gardners
692817ffba
added functions for reading values from byte streams.
2012-11-30 21:02:43 +10:30
gardners
7a4e3d20f8
Actually send Rhizome over MDP request packets.
...
Actually call appropriate callback when receiving Rhizome over
MDP packets.
2012-11-30 14:17:05 +10:30
gardners
eb7524e068
factored out internal MDP services into a separate file, and made
...
core case statement in that brief and clear.
2012-11-30 11:48:00 +10:30
Jeremy Lakeman
36cee7e9bc
Move payload queueing functions to separate .c file
2012-11-21 11:02:00 +10:30
Jeremy Lakeman
10bde11918
Remove resolution of peer details from node info command
2012-11-14 12:17:41 +10:30
Jeremy Lakeman
93ee6b3fc8
Don't kill the interface for unreachable unicast peers
2012-11-12 14:46:09 +10:30
Andrew Bettison
cbc91d11e0
Improve performance timing diagnostics
...
Add __whence args to fd_func_enter() and fd_func_exit() so that their log
messages get reported from the location of the IN() or OUT() macro, not a line
in performance_timing.c.
Removed diagnostic information from the FATAL() message in fd_func_exit(), and
a comment explaining why (causes SEGV).
2012-11-12 14:38:50 +10:30
Jeremy Lakeman
54e2d66934
Allow for with slightly longer paths
2012-11-09 13:40:55 +10:30
Andrew Bettison
4450116472
Refactor string functions, add str_fromprint()
...
Move lots of non-Serval-specific string functions from "serval.h"/dataformats.c
to "str.h"/str.c.
Add str_fromprint() function that reverses the effect of toprint(): interprets
escape sequences in the source string "\n\t\r\0\xHH\\" and replaces them with a
single char in the destination string.
2012-11-07 16:42:45 +10:30
Andrew Bettison
39fc4ce6de
Issue #30 , remove periodic Rhizome fetch alarm
...
Replace the main-loop scheduled periodic alarm with an "activate" alarm that is
scheduled whenever a fetch candidate is added to any queue, unless the alarm is
already scheduled.
Replace the "rhizome.fetch_interval_ms" config item with
"rhizome.fetch_delay_ms" [default 50], which is the number of milliseconds
between adding a fetch candidate and firing the "activate" alarm. This allows
time for a few more Rhizome advertisment packets to arrive after the first one,
before deciding which fetches to start first.
Add new `is_scheduled()` alarm primitive.
2012-10-24 15:13:50 +10:30
Andrew Bettison
a9d3a1387c
Issue #30 , rewrite Rhizome fetch queues and slots
...
Causes SEGV in rhizomestress test.
2012-10-23 18:10:20 +10:30
Jeremy Lakeman
f93216f369
Remove dead code
2012-10-19 15:02:22 +10:30
Jeremy Lakeman
f1b0374b97
Extract crypto signing primitives from mdp processing
2012-10-19 14:54:41 +10:30
Jeremy Lakeman
95843e1f20
Pass overlay frame into mdp processing
2012-10-19 10:40:03 +10:30
Andrew Bettison
8ab7cc79b5
Improve debug logging from watch(), schedule() etc.
...
Use new '__whence' mechanism.
2012-10-16 17:00:03 +10:30
Andrew Bettison
259b9a9d24
Logging/debug improvements: __WHENCE__, __whence
...
Introduce __WHENCE__ macro and a block comment in log.h explaining it.
In "primitive" kinds of functions, rename 'whence' arguments to '__whence' and
use WHYF(), WARNF(), DEBUGF() macros instead of calling logMessage() directly.
2012-10-16 17:00:03 +10:30
Paul Gardner-Stephen
37495e4794
fix interface detection on solaris.
2012-10-15 15:58:42 +10:30
Andrew Bettison
3f1f495d68
Issue #17 , overhaul manifest author crypto logic
...
Add test case for new feature of the "rhizome add" command: if the author SID
is not specified (empty arg) then it searches the keyring for the author.
Removed "authorSid" argument from several functions that also take a struct
rhizome_manifest * arg, since the author, if known, is now supplied in the
struct.
Improve return value handling and refactored some rhizome crypto code.
2012-10-11 17:58:24 +10:30
Jeremy Lakeman
b22e3f1964
Add hop count to mdp ping
...
- Allow mdp client to specify ttl
- Copy ttl into and out of overlay frame
2012-10-10 16:22:31 +10:30
Jeremy Lakeman
4b2b8f1783
Store keyring identity pointer for local identities in subscriber tree
2012-10-10 15:29:36 +10:30
Jeremy Lakeman
5d553538e7
Remove dead code
2012-10-09 16:20:44 +10:30
Jeremy Lakeman
1f379ea209
Add and preserve QOS bit flags in packet header
2012-10-09 16:17:07 +10:30
Jeremy Lakeman
e28deeb6d5
Move requested payload queue into frame structure
2012-10-09 15:44:37 +10:30
Andrew Bettison
3433b0fbb5
Move is_sid_broadcast() and is_sid_any() macros into serval.h
...
From overlay_mdp.c. is_sid_broadcast() was defined as is_broadcast().
Also clean up the signature and implementation of is_all_matching().
2012-10-09 13:49:23 +10:30
Jeremy Lakeman
275aa49903
Change route announcement format, add please explain support
2012-10-09 12:57:11 +10:30
Andrew Bettison
89343c69cd
Merge branch 'rhizomedirect' into 'master'
2012-10-05 17:45:30 +09:30
Jeremy Lakeman
48c9a7067e
keyring_get_nm_bytes doesn't need to know about port numbers
2012-10-05 09:14:24 +09:30
Jeremy Lakeman
32cd46c165
Simplify id peers command, hide mdp implementation details from node info
2012-10-03 16:21:06 +09:30
Jeremy Lakeman
b72c01518b
Move SAS key storage into subscriber structure
2012-10-03 13:59:46 +09:30
Jeremy Lakeman
fa7719fbe8
Write simple vomp console client
2012-09-28 15:23:50 +09:30
Jeremy Lakeman
2a7bd28e51
Extend packet queue to allow sending multiple copies of the same payload for reliability
2012-09-28 11:28:01 +09:30
Andrew Bettison
14721fab19
Merge branch 'solaris' into rhizomedirect
...
All test cases pass on Solaris (see issue #16 ) except the 'jni' tests because
there is no Java compiler available on Solaris, and the new 'rhizomeprotocol'
tests from the rhizomedirect branch, which have always failed.
2012-09-27 17:38:16 +09:30
Jeremy Lakeman
ac3864ff20
Reuse command line parsing framework with monitor interface
2012-09-25 13:31:34 +09:30
Jeremy Lakeman
b7c088f2fd
Reduce latency of dummy interface, improve some debug messages
2012-09-20 10:28:02 +09:30
Jeremy Lakeman
0538e95be8
Reduce the potential for packet storms
2012-09-20 10:28:01 +09:30
Jeremy Lakeman
7c73ca7a78
Finish test and implementation of directory service
2012-09-18 12:30:15 +09:30
Jeremy Lakeman
e854409e0b
Start dna helper immediately (it's convenient for starting another service)
2012-09-18 12:24:33 +09:30
Jeremy Lakeman
ac8d9b93e6
Add stub directory service
2012-09-14 11:50:45 +09:30
Jeremy Lakeman
6483d9e0ae
Split client mdp functions so they can be built separately
2012-09-14 11:47:48 +09:30
Jeremy Lakeman
3b55643b08
Send my full sid periodically for any outgoing payload header
2012-09-07 10:01:34 +09:30
gardners
d3f5c6e598
Merged rhizome direct httpd back into main rhizome httpd server.
...
bundles can be imported via HTTP POST multi-part form. #9
2012-09-06 13:21:13 +09:30
Paul Gardner-Stephen
bba6839656
Initial stab at porting to Solaris.
...
It compiles without warning (with CC=gcc) but doesn't link
because NaCL doesn't build yet.
2012-09-05 20:42:50 +09:30
Jeremy Lakeman
545c05fddb
Relay broadcast payloads via olsr plugin
2012-09-01 12:41:50 +09:30
Jeremy Lakeman
1b91724da2
Allow for interfaces that don't tick, pack rhizome manifests into all packets
2012-09-01 12:18:39 +09:30
Jeremy Lakeman
e05806f25e
Separate routing calculation from resulting rules, refactor more code to use subscriber structure
2012-08-31 15:11:18 +09:30
Jeremy Lakeman
f6c899e107
Refactor overlay buffer interface to support simple parsing
2012-08-31 15:03:07 +09:30
Jeremy Lakeman
22c6b530ed
Rework broadcast address handling, working towards a unified address struct
2012-08-31 15:03:07 +09:30
Jeremy Lakeman
aa5706f9d7
Refactor routing node information to use new subscriber tree
2012-08-31 15:03:07 +09:30
Jeremy Lakeman
30d5ed2b6d
Simple refactoring
2012-08-31 15:03:07 +09:30
gardners
9d2aa61792
Refactoring of Rhizome http server code so that we can supply a
...
different request parser, but otherwise share code between
rhizome transfers and rhizome direct. #9
2012-08-31 13:01:28 +09:30