Jeremy Lakeman
8dd7a81c71
Remove unused variables
2012-10-29 13:05:03 +10:30
Jeremy Lakeman
001bbe5c6c
If a call is not found, answer with a hangup command. Fixes issue #31
2012-10-23 13:26:45 +10:30
Andrew Bettison
cfc16e8e87
Improve monitor client logging
...
To assist diagnosis of latest Solaris port bug, issue #16 .
2012-10-19 19:38:59 +10:30
Andrew Bettison
89343c69cd
Merge branch 'rhizomedirect' into 'master'
2012-10-05 17:45:30 +09:30
Jeremy Lakeman
fa7719fbe8
Write simple vomp console client
2012-09-28 15:23:50 +09:30
Jeremy Lakeman
66e0711d6b
Only send one audio block per packet, but request that it be sent multiple times
...
If we receive a large buffer of audio, we want to stuff the packet with multiple frames and send them together.
And we want to send redundant copies of the audio to help recover from packet loss.
But if all our redundant copies end up in the same packet, we're screwed anyway.
This is a temporary hack until the network layer implements NACK / retry for resilient multi-hop delivery
2012-09-28 15:23:49 +09:30
Jeremy Lakeman
ac3864ff20
Reuse command line parsing framework with monitor interface
2012-09-25 13:31:34 +09:30
Jeremy Lakeman
222cb80ce7
Modify lookup uri format to distinguish between serval identities and gateway services
2012-09-21 15:17:56 +09:30
Andrew Bettison
1f4688db99
#16 Fix 'rhizomeops' tests that fail on Solaris
2012-09-13 14:08:52 +09:30
Daniel O'Connor
5f0b70cf51
Hide the LOCAL_PEERCRED/SO_PEERCRED behind #ifdef linux.
...
Note that BSD defines LOCAL_PEERCRED but its interface appears to be different to the Linux one.
2012-09-06 14:31:25 +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
df0e20408c
Close sockets on poll errors
2012-08-31 15:04:06 +09:30
Jeremy Lakeman
aa5706f9d7
Refactor routing node information to use new subscriber tree
2012-08-31 15:03:07 +09:30
Jeremy Lakeman
dcb2da45fa
Allow for audio to arrive in variable sized blocks
2012-08-13 16:35:30 +09:30
Jeremy Lakeman
3ab79d8e5b
Pass phone numbers in vomp call initiation
2012-08-13 14:01:57 +09:30
Jeremy Lakeman
2bd26dfcdb
Send monitor dna response with my sid in uri
2012-08-12 16:03:18 +09:30
Jeremy Lakeman
6981e7e2c2
Allow monitor clients to resolve did's
2012-08-10 15:29:19 +09:30
Jeremy Lakeman
f059546eb0
Improve monitor client interface and vomp for asterisk channel driver
2012-08-09 13:32:08 +09:30
Jeremy Lakeman
736a8f43c0
Refactor towards changing the vomp monitor interface
2012-08-09 13:32:08 +09:30
Jeremy Lakeman
fc9a9b337e
Wait for vomp client to indicate that ringing has started
2012-08-09 13:30:52 +09:30
Jeremy Lakeman
fdc70d7512
Log when a peer becomes reachable or unreachable, edit tests to wait for this message
2012-07-17 18:22:39 +09:30
Andrew Bettison
86eb482ed9
Replace macros with functions
...
SET_NONBLOCKING(), SET_BLOCKING(), WRITE_STR() are now set_nonblock(),
set_block() and write_str() respectively, all of which log an error before
returning -1. There are other useful methods: write_all() treats anything less
than all bytes written as an error; write_nonblock() treats EAGAIN and EINTR as
zero bytes written, and a combination: write_all_nonblock().
2012-07-10 16:33:39 +09:30
Andrew Bettison
735d9a42cc
Clean up compile warnings and fix bugs
...
In monitor_process_command() for "call" command, was not handling SID "*" case
properly, nor checking validity of hex SID.
2012-07-06 10:14:39 +09:30
Jeremy Lakeman
7b8e82baea
Refactor vomp call processing to reduce latency
2012-07-05 16:09:33 +09:30
Andrew Bettison
2c87039307
Replace overlay_render_sid() with alloca_tohex_sid()
...
To eliminate timebomb bugs caused by rotor wraparound
2012-07-03 17:59:30 +09:30
Andrew Bettison
30d51f0314
Tighten up tests and code relating to peer discovery
2012-07-03 17:38:54 +09:30
Jeremy Lakeman
3d39e92628
Setup scheduled alarm per vomp call and send keep alives
2012-07-03 15:50:05 +09:30
Andrew Bettison
8020ea3b74
Merge branch 'eventscheduler' into master
...
Conflicts:
commandline.c
monitor.c
overlay.c
overlay_interface.c
overlay_packetformats.c
rhizome_fetch.c
rhizome_http.c
rhizome_packetformats.c
serval.h
server.c
testdefs.sh
testframework.sh
tests/dnaprotocol
tests/server
2012-07-03 10:26:22 +09:30
Jeremy Lakeman
132d3a6f9b
rename profiling structure
2012-07-02 16:04:00 +09:30
Jeremy Lakeman
e705696896
separate statistics gathering from the scheduler structure
2012-07-02 15:20:30 +09:30
Jeremy Lakeman
89566e4d3d
Refactor how functions are scheduled or file handes are watched
2012-07-02 13:19:54 +09:30
Andrew Bettison
a5ba1ecacd
Clean up debugging code
...
Only use DEBUG inside "if (debug & DEBUG_BLAH)", not INFO or WARN or WHY!
INFO messages for starting/stopping servald server.
2012-06-28 15:37:36 +09:30
Jeremy Lakeman
29cba17891
Fix rhizome transfers
2012-06-27 16:54:42 +09:30
Jeremy Lakeman
06f724707d
Use message length instead of string length for audio packets
2012-06-26 14:34:39 +09:30
Jeremy Lakeman
64559bdca9
Watch new monitor client connections
2012-06-26 12:20:49 +09:30
gardners
b40a468276
Merge branch 'eventscheduler'
...
Conflicts:
monitor.c
serval.h
2012-06-25 16:50:23 +09:30
Daniel O'Connor
271454aee3
Use WRITE_STR instead of writeLine.
...
staticise a bunch of variables & functions in monitor-cli.c
2012-06-25 16:24:33 +09:30
Daniel O'Connor
930280a17d
Move signal handler setup to main so it's only done once.
2012-06-25 16:24:33 +09:30
Andrew Bettison
a960ed4e8a
Clean up compiler warning in monitor.c
2012-06-25 15:00:07 +09:30
Daniel O'Connor
80b972c455
The number of clients we have is not a warning.
2012-06-25 14:01:50 +09:30
Daniel O'Connor
2fe520f7a2
Fix peer credential checking on BSD, replace write(s, m, strlen(m)) with a macro, factor out new monitor socke code.
...
Note this code has issues with signed/unsigned chars. They should become uint8_t's if they hold binary data, otherwise just char. If they ARE binary then it is broken because it calls strlen() on them.
2012-06-22 20:40:30 +09:30
Daniel O'Connor
41a7588a7f
Fix creation of socket name for !linux. Depressingly bind() doesn't fail when you pass it the name of a directory.
2012-06-22 20:40:29 +09:30
gardners
6472ff29c1
fixed monitor interface problem with new event scheduler.
2012-06-22 16:06:46 +09:30
gardners
5dc6d122a5
significant progress towards clean callback scheduler for poll()
...
events and timed callbacks.
2012-06-22 16:05:49 +09:30
Daniel O'Connor
5103176d39
Remove server_probe() and use daemon() instead of a hand rolled version.
...
- server_probe() assumes abstract name space sockets.
- The hand rolled daemon doesn't work properly on BSD.
2012-06-22 16:05:43 +09:30
gardners
01712ab67e
monitor.socket config option added to allow multiple servald
...
instances on the same machine without conflicting abstract namespace
unix domain sockets for monitor interface.
2012-06-21 16:36:37 +09:30
Jeremy Lakeman
f6cce7103d
Fix error message
2012-06-18 10:59:33 +09:30
Daniel O'Connor
051191ba32
Fix braino in non-Linux code.
2012-05-29 09:48:22 +09:30
Daniel O'Connor
8882515d03
Fix compilation on OSX.
...
- /proc/net/route is Linux only.
- lsif() will work anywhere SIOCGIFCONF is defined.
- Abstract namespace UNIX domain sockets are Linux only.
- Rework code to reduce indent levels.
2012-05-28 15:00:54 +09:30
Andrew Bettison
8ec2fe53d4
Silence 'status unused' compiler warning
2012-05-25 15:59:57 +09:30