Andrew Bettison 27a0a6eeb5 Introduce struct __sourceloc
Replaces (const char *file, unsigned int line, const char *function) arguments
to all logging functions, simplifies malloc/free tracking code in
overlay_buffer.c and Rhizome manifest alloc/free tracking in rhizome_bundle.c.

Use __HERE__ macro instead of (__FILE__, __LINE__, __FUNCTION__) everywhere.

Special __NOWHERE__ macro is equivalent to (NULL, 0, NULL).

Declare net.c functions in new "net.h" header, so log.c doesn't have to pull
in the entire "serval.h" just to use write_str().

Facilitates progress on issue #2.
2012-08-23 12:31:07 +09:30
2012-02-27 12:45:50 +10:30
2012-05-11 08:14:00 +09:30
2012-06-27 16:54:42 +09:30
2012-05-11 08:14:00 +09:30
2012-05-11 08:14:00 +09:30
2012-05-24 17:11:55 +09:30
2012-08-02 11:29:37 +09:30
2012-08-09 12:14:32 +09:30
2012-08-09 12:21:40 +09:30
2012-07-27 11:28:14 +09:30
2012-08-23 12:31:07 +09:30
2012-08-23 12:31:07 +09:30
2012-08-23 12:31:07 +09:30
2012-05-14 18:37:32 +09:30
2012-08-21 13:32:55 +09:30
2011-08-10 15:39:40 +02:00
2012-08-23 12:31:07 +09:30
2012-08-23 12:31:07 +09:30
2012-08-23 12:31:07 +09:30
2012-08-14 14:37:16 +09:30
2012-08-09 12:14:32 +09:30
2012-08-01 17:54:02 +09:30
2012-08-23 12:31:07 +09:30
2012-08-17 19:42:11 +09:30
2012-08-17 19:42:11 +09:30
2012-08-09 13:30:52 +09:30
2012-08-23 12:31:07 +09:30
2012-08-23 12:31:07 +09:30
2012-07-24 16:04:59 +09:30
2012-07-10 14:33:14 +09:30
2012-02-23 12:45:42 +10:30
2012-08-23 12:31:07 +09:30
2011-10-25 13:39:14 +10:30

@PGS/20120615

Sometimes it is helpful to run more than one servald instance on a given machine
for debugging purposes.  To make this easier, there is a dummy interface driver
that servald knows about.  To use it:

1. create an empty file, e.g., dummynet0, somewhere convenient

2. For each servald instance you wish to use it, set the interface specification to include the dummynet file. Use a specification like "+>pathtodummynetfile", where pathtodummynetfile is the relative path from the instance path of that servald instance to the dummynet file.  For example, you might run:
   % servald config set interfaces "+eth0,+>../dummynet0"

3. Run each servald instance.  They should now use the dummy network.

NOTE: Because dummynets are files, not sockets, poll/select does not work on them.  As a result the main overlay loop has slightly different behaviour and timing characteristics when a dummynet is in use.

TODO: Convert dummynet interface to use a unixdomain socket, and a simple dummynet server that reflects packets among the clients connected, so that all socket semantics (including use of poll/select) are preserved.
Description
The Serval Project's core daemon that implements Distributed Numbering Architecture (DNA), MDP, VoMP, Rhizome, MeshMS, etc.
Readme 33 MiB
Languages
C 89.4%
Shell 5.9%
Java 2%
M4 1.1%
Assembly 0.6%
Other 0.9%