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
Daniel O'Connor
fd1f91db8d
Refactor unix domain socket naming to a separate file instead.
...
Handle selection between normal & abstract sockets in a single place.
overlay_mdp.c tried to have both but this seems like a bug so I've removed the second socket (needs tests).
2012-07-30 11:19:25 +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
Andrew Bettison
1af9125392
All rhizome database keys are uppercase hex
...
FILES.id, MANIFESTS.id, FILEMANIFESTS.fileid, FILEMANIFESTS.manifestid
Named constants for hex and binary ID sizes
2012-05-23 16:04:00 +09:30
gardners
6a83f2434f
cleaned up some debug output, among other things.
2012-05-22 17:04:24 +09:30
gardners
e44294ea66
implemented server_probe(int *pid) that used monitor interface
...
to probe server status. Also returns PID if running (Linux only).
2012-05-21 20:45:07 +09:30
Jeremy Lakeman
05a430bc3a
Fix case of new peer message for consistency
2012-05-21 14:14:24 +09:30
gardners
66bc67fc76
changed space to : in newpeer message for consistency.
2012-05-21 13:06:42 +09:30
gardners
91e0b3ac27
add monitor commands to actually express interest in new peers.
2012-05-21 13:04:54 +09:30
gardners
c18eb2152c
fixed bug in MONITOR_PEERS
2012-05-21 12:55:25 +09:30
gardners
27daf02f81
added peer announcment to monitor interface.
2012-05-21 12:47:54 +09:30
gardners
3ea6d4f324
monitor interface announces new peers.
2012-05-21 12:47:53 +09:30
Daniel O'Connor
990a8f3057
Add support for srtuct ucred on BSD.
...
This requires building with _GNU_SOURCE to get access to struct ucred on Linux. Previously the test failed on every platform except glibc <2.8 or so.
Building with _GNU_SOURCE causes TRUE to be defined so we can't use this as a variable anymore, and MIN/MAX so don't define our own.
2012-05-21 12:22:50 +09:30
gardners
844a480ae7
more trying to reuse socket addresses when stuck.
2012-05-17 13:14:16 +09:30
gardners
d74afa9ac2
added some debugging to help solve the non-responsive issue that
...
Jeremy found.
2012-05-14 15:52:15 +09:30
gardners
0b5a9665b2
first cut code for sending monitor socket announcements when
...
rhizome bundles are received.
2012-05-12 07:24:52 +09:30
Andrew Bettison
e746557a08
Fix bug in overlay_gettime_ms()
...
The sequence start time was only getting set in overlay_interface_init(), which
was not always called, or was called after overlay_gettime_ms() had already
been used.
Added FATALF(), FATAL() and FATAL_perror() macros.
Removed a bunch of debug statements no longer needed in monitor.c and server.c.
2012-05-11 10:38:46 +09:30
gardners
7b82ccbd7b
work on bypass-audio.
...
CALLSTATUS monitor message has gained a field, thus changing
API for java side.
2012-05-11 08:14:00 +09:30
Andrew Bettison
e39ab01903
Reduce monitor.c debug output a bit
2012-05-11 00:17:02 +09:30
Andrew Bettison
8c1b8920d5
Fix possible cause of SEGV crash in monitor.c
2012-05-10 18:08:59 +09:30
Andrew Bettison
881576212c
Fix all trivial compiler warnings
2012-05-10 18:08:59 +09:30
Andrew Bettison
f1e23d463b
Improve disgnostic messages from monitor.c
2012-05-09 19:06:17 +09:30
gardners
dbb9b4930f
removed some more debugging.
2012-05-09 07:40:29 +09:30
gardners
fbd19db931
stripped out lots of debugging for audio frame handling ready for
...
audio-streaming of call.
2012-05-09 07:38:34 +09:30
gardners
8aae21232f
fix to stop runaway last update time that was squelching keepalive
...
messages.
2012-05-08 15:58:37 +09:30
gardners
b198db38b9
fixed various bugs in monitor-cli.
2012-05-08 15:47:39 +09:30
gardners
4fa63e61bc
improved monitor-cli.c to auto-dial a peer and pump audio in.
2012-05-08 14:41:21 +09:30
gardners
8d48b873d6
added line feed to start of all monitor messages to ensure fast
...
re-sync if data blob is not read correctly.
2012-05-08 12:57:44 +09:30
gardners
171eb75d48
fixed packet size calculation bug.
2012-05-07 16:50:49 +09:30
gardners
3e9fcffd58
reversed previous commit, as it makes the monitor interface too
...
chatty, and doesn't help detect loss of servald connection, anyway.
2012-05-07 09:10:35 +09:30
gardners
4ebbb7b3bf
added dummy keep alive for null call to make it easier to track
...
death of calls.
2012-05-07 09:08:56 +09:30
gardners
ecc271c7a3
added call state keepalive so that UI can positively detect when
...
a call has been destroyed, but has not been realised.
2012-05-07 09:01:46 +09:30
gardners
7b520e7a49
fixed various bugs with priorty dispatch of voice traffic.
...
some debug tweaking etc.
2012-05-07 08:31:53 +09:30
gardners
602c00efd7
fixed bugs in handling of audio.
2012-05-06 22:23:58 +09:30
gardners
04599091d1
improved debugging of closed sockets
2012-05-05 19:28:31 +09:30
gardners
9ce7058cd0
ignore ENOTRECOVERABLE?
2012-05-05 19:10:28 +09:30
gardners
6f363db8f1
added useful message for when closing due to incorrect uid.
2012-05-05 19:06:30 +09:30
gardners
be806088b3
CALLSTATUS message now contains more information (SIDs and DIDs)
2012-05-05 03:58:42 +09:30
gardners
6bc8f5643f
better handling of disconnections by monitor clients.
2012-05-04 03:58:34 +09:30
gardners
4f09ccebdc
further work towards working monitor interface.
...
sending DTMF works now, and DTMF packets are received back.
2012-05-04 03:44:41 +09:30
gardners
175a079c0c
monitor call/hangup/pickup commands now work.
2012-05-04 03:24:53 +09:30
gardners
91d875d70a
fixed various bugs in servald monitor. now receives commands,
...
and can act on them.
2012-05-04 03:16:06 +09:30
gardners
26ef52cf99
and a bug fix for the above.
2012-05-03 17:04:47 +09:30
gardners
c981b8c28a
further monitor client debuggin improvements
2012-05-03 17:04:20 +09:30
gardners
0d899b97d3
improved debugging of when we close our end of client connection.
2012-05-03 17:02:57 +09:30
gardners
f1ac067d4f
removed excess debug.
2012-05-03 16:21:14 +09:30
gardners
11132c40c9
fixed big fat nasty socket handling bug.
2012-05-03 16:16:36 +09:30
gardners
f5c3ea024e
added debug output to see whether we are getting data back from
...
java side.
2012-05-03 15:23:42 +09:30
Andrew Bettison
490d9ef472
Only define struct ucred if <sys/socket.h> does not provide it
2012-05-03 14:50:14 +09:30
gardners
75e925a8b5
added some debug for monitor interface.
2012-05-03 14:41:18 +09:30
gardners
ac9cbb4e51
removed debugging now that accept doesn't block
2012-05-03 13:42:41 +09:30
gardners
29a7c20160
fixed a blocking io problem.
2012-05-03 13:37:18 +09:30
gardners
61aa3994b6
try to force accept to be non-blocking.
2012-05-03 13:29:48 +09:30
gardners
9dedb6fd06
more debugging to find why servald blocks after accepting a
...
monitor client.
2012-05-03 13:19:11 +09:30
gardners
4bbe250595
make sure monitor sockets are nonblocking before doing anything
...
to them.
2012-05-03 13:04:17 +09:30
gardners
5d6f2b0517
added note about path name length calculation for unix domain
...
abstract socket.
2012-05-03 12:35:16 +09:30
gardners
f1c6b74235
fixed struct ucred handling for android
2012-05-03 12:20:52 +09:30
gardners
01e81200d0
adding credentials check for abstract name space unix domain socket
...
for monitor service.
2012-05-03 12:11:13 +09:30
gardners
2e549a0f96
Switching to abstract name space for socket to get around
...
permission denied errors.
2012-05-03 11:10:23 +09:30