Daniel O'Connor
7cb980ab5c
Don't discard return code from overlay_mdp_client_init. IMO this should be assert(mdp_client_socket != -1) though.
2012-05-21 11:09:45 +09:30
Andrew Bettison
189ecee4b9
Clean up over-use of WHY() in overlay_mdp.c
2012-05-20 16:06:32 +09:30
gardners
e38275067a
more fixes and cleanups for dna lookup.
2012-05-18 13:44:15 +09:30
gardners
c9a58937ca
other bug fixes and cleanups for "dna lookup"
2012-05-18 12:55:56 +09:30
gardners
844a480ae7
more trying to reuse socket addresses when stuck.
2012-05-17 13:14:16 +09:30
Andrew Bettison
881576212c
Fix all trivial compiler warnings
2012-05-10 18:08:59 +09:30
Andrew Bettison
68cfa6218c
Minor fix to WHY_perror() macro
2012-05-08 17:48:16 +09:30
Andrew Bettison
836f8332e8
Replace perror() with WHY_perror()
...
Puts more diagnostics to Android log
2012-05-08 14:53:34 +09:30
gardners
171eb75d48
fixed packet size calculation bug.
2012-05-07 16:50:49 +09:30
gardners
74634a5068
minor tweak to dna lookup.
2012-05-07 15:47:20 +09:30
gardners
081e1b64f9
take 2 at fixing dna lookup latency bug.
2012-05-07 15:40:15 +09:30
gardners
92691a82c9
make DNA lookups immediate-dispatch traffic.
2012-05-07 15:29:31 +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
f93ec055ca
removed some debugging
2012-05-06 20:15:32 +09:30
gardners
eb8ffeb71f
progress towards monitor interface for following calls.
2012-05-03 03:00:34 +09:30
gardners
14e4af6392
DNA replies now include name. "set did" now accepts name.
...
Keyring now stores name. "node info resolvedid" now returns name.
2012-05-01 14:38:09 +09:30
gardners
3ca1c9c2b6
only close client socket if it has already been opened.
2012-05-01 06:58:07 +09:30
gardners
77f2220134
removed silly call to client_done when sending every MDP message.
2012-05-01 06:50:57 +09:30
gardners
b335424cd5
improved debug output for when sendto fails.
2012-05-01 06:43:22 +09:30
gardners
6e9d9783b8
various measures to prevent stale MDP bindings from hanging around
...
and causing pain.
2012-05-01 06:10:47 +09:30
gardners
3276b33c73
disabled some debugging output.
2012-05-01 05:16:16 +09:30
gardners
70a0f9e4a1
changed client socket path to include both pid and 32-bit random
...
value. clutter should be constrained by the previous addition of
socket cleanup code.
2012-04-30 20:07:22 +09:30
gardners
ae9ecd74c4
by default replace old MDP bindings instead of returning with an
...
error.
2012-04-30 15:45:07 +09:30
gardners
900bfab1e9
changed client sockets to use PID instead of random 32bit number.
...
Means that bindings can be reused more easily, and directory doesn't
fill up with stale sockets so easily.
2012-04-30 15:34:54 +09:30
gardners
8a7d3e44f3
fixed bug in getmyaddrs() introduced in making "id peers" work.
2012-04-30 06:53:10 +09:30
gardners
1ebe63a470
cleaned up some debug output introduced during previous bug fixes.
2012-04-30 06:25:54 +09:30
gardners
c3fe7ee8e3
"id peers" now returns something!
2012-04-30 06:16:03 +09:30
gardners
08cf7f9639
fixed some bugs in overlay mesh routing score calculation and
...
selfannounce ack packet formats. more remains to be done.
2012-04-29 13:10:54 +09:30
gardners
92baae2a89
hopefully fixed acking of self-announcement frames when no route
...
to node exists.
2012-04-28 18:09:58 +09:30
gardners
c191f951fa
added debug for termination of client socket path name.
2012-04-27 07:18:02 +09:30
gardners
3532e236d9
fixed relevant_bytes() bug for nodeinfo messages.
2012-04-26 15:47:37 +09:30
gardners
88ba56b68b
work towards "node info" command, and renamed stop/start etc to
...
drop node keyword, that in retrospect is not appropriate.
2012-04-26 07:14:01 +09:30
gardners
0a3b415772
Further refinements to MDP_GETADDRS, and inserted code for peer
...
list retrieval.
2012-04-26 06:04:19 +09:30
gardners
35f231dcb0
preparation for allowing MDP_GETADDRS to return either local IDs,
...
or SIDs of peers.
2012-04-26 05:58:16 +09:30
gardners
3f81911e6f
fixed bugs in MDP_GETADDRS, now returns multi-packet lists properly
...
by setting the sub-ranges correctly.
2012-04-26 05:54:14 +09:30
gardners
44a416b969
added "id self" command to get all local SIDs (BatPhone needs this)
2012-04-26 05:48:06 +09:30
gardners
98c3b72cf4
mdp based dna lookup works now, but lacks duplicate suppression.
2012-04-25 20:33:25 +09:30
gardners
0133ea972a
fixed infinite loop when responding to DNA lookups.
2012-04-25 20:24:08 +09:30
gardners
a2880ada1e
closer to dna lookup working via mdp.
...
Bug to be fixed in sending replies.
2012-04-25 20:14:56 +09:30
gardners
4972da1b58
dna lookup via mdp nearly working.
2012-04-25 15:55:04 +09:30
gardners
f8a1ffc4c9
dna lookup command line utility mostly done. Now to make server
...
respond.
2012-04-25 15:24:21 +09:30
gardners
cd00204893
sending voice packets should now result in their being marked
...
as high priority (priority dispatch still outstanding).
2012-04-25 14:35:44 +09:30
gardners
ac6271c715
voice packets get priority queued. getting ready for dna lookups
...
via mdp.
2012-04-25 14:35:44 +09:30
gardners
12be1e326e
fixed unix domain socket "no buffer space" message (sockets
...
are buffered on receive side, not send side).
2012-04-24 21:09:27 +09:30
gardners
d9fd7ce33e
tried to fix unix domain socket "no buffer space available" bug,
...
but to no avail.
2012-04-24 20:57:59 +09:30
gardners
c1191c779b
enlarge MDP unix domain socket send buffers.
2012-04-24 15:27:59 +09:30
gardners
953e836ba6
fixed bug introduced in adding codec hints.
2012-04-23 13:55:17 +09:30
gardners
458ff3665b
fixed poll/select issue that was causing 100% cpu utilisation on mac.
2012-04-22 20:15:57 +09:30
gardners
2a24f3e137
revamped mdp client unix domain socket system to use unique names
...
so that multiple clients can connect to the same server.
(on linux we should use abstract name space unix domain sockets
so that we never have stale socket files hanging around).
2012-04-22 18:46:14 +09:30
gardners
c894d51c24
fixed type in client socket name.
2012-04-22 16:45:27 +09:30
gardners
56ab28b475
fixed a relevant_bytes calculation bug, and generally improved
...
error handling.
2012-04-22 08:25:48 +09:30
gardners
ead3e8cb95
cleaned out some debug info.
2012-04-22 06:29:10 +09:30
gardners
028b24261f
fixed another relevant byte calculation bug.
2012-04-20 17:12:44 +09:30
gardners
971f402360
more fixing of relevant byte calculation.
2012-04-20 17:12:44 +09:30
gardners
44ad4db147
fixed MDP frame relevent byte calculation to work regardless of what
...
weird alignment foo the compiler decides to do.
2012-04-20 17:12:44 +09:30
gardners
a29a1283f7
More work towards integrating VoMP (creating unix domain socket
...
interface for call control/audio handling).
2012-04-19 21:54:36 +09:30
gardners
729ede461d
Added hardwired MDP listener port for VoMP.
...
Moved VoMP header material into serval.h for use.
2012-04-19 07:34:12 +09:30
gardners
32ed614494
fixed remaining known issues with signed/crypted MDP such that
...
MDP ping now works, and provides appropriate responses from local
and remote hosts, and the SIGNED or SIGNED and CRYPTED status can
be observed.
2012-04-16 07:04:23 +09:30
gardners
e639d3d255
fixed bugs and completed implementation of storing SID:SAS mappings.
...
Now to finish implementing verification process.
2012-04-16 06:36:46 +09:30
gardners
e7e8b2d630
fixed bug in RFS size patching.
...
A lot of debug output tweaks to track the problem down.
2012-04-16 06:06:43 +09:30
gardners
caab3078e5
substantial work towards public key signing of MDP frames and
...
the associated SID:SAS mapping cache and request packets.
2012-04-15 03:17:36 +09:30
gardners
0c2de88337
token formatting change?
2012-04-15 00:04:22 +09:30
gardners
2581e9fe4c
Revamped dequeuing of TXd frames.
...
Now almost works (queues don't stay full of junk), although
mdp ping still gets a duplicate reply for 2-hop pings.
2012-04-14 23:12:45 +09:30
gardners
2dab0e50d4
Fixed source/destination port switch bug fixed (though some issue
...
remains)
2012-04-14 14:20:49 +09:30
gardners
7c1f48c511
various debug cleanups
2012-04-14 13:56:53 +09:30
gardners
401da25a77
decrypting mdp frames now works, but there is something causing
...
frames to be resent after decryption.
2012-04-14 12:33:15 +09:30
gardners
79dc33b156
Work towards transparent decryption of MDP frames.
...
Runs, just gets an error during decryption, like as though
keys or nonce were wrong.
2012-04-14 12:17:46 +09:30
gardners
9398f94a22
Cleaned up debug output.
2012-04-14 09:39:14 +09:30
gardners
25a626a61e
Fixed reply packet handling for built in echo port.
2012-04-14 09:33:29 +09:30
gardners
3b0fb3929d
Added code to extract MDP frames from packets.
...
source ports and decryption are currently not right.
2012-04-14 08:15:29 +09:30
gardners
ca24513599
Work towards actually authcrypting MDP payloads.
...
Not complete.
2012-04-14 02:14:41 +09:30
gardners
5ac83f9ca1
Replaced use of HLR with keyring for phone number lookups and
...
other functions. Not yet tested.
2012-04-13 09:25:03 +09:30
gardners
0b11389023
Fixed problem with null-termination of received addresses for
...
unix domain socket connections.
2012-03-29 20:45:07 +10:30
Andrew Bettison
a338c2f0f9
Refactor instance path handling
...
- handle buffer limits when forming path names within instance dir
- uniform use of serval_instancepath()
2012-03-29 14:07:07 +10:30
Andrew Bettison
6f74393ea1
Replace bcmp() with memcmp()
2012-03-29 13:02:10 +10:30
gardners
942605d247
Removed some debugging, improved MDP PING client output.
2012-03-28 13:26:14 +10:30
gardners
3a0a62b780
Fixed source address of MDP echo frames when destination of echo
...
request was broadcast (returns local address or all zeroes).
2012-03-28 13:19:53 +10:30
gardners
6a50bbb024
MDP server can now pass received MDP frames to client.
2012-03-28 13:10:41 +10:30
gardners
8fbbdc5087
More work on MDP.
...
Swapped functions of overlay_mdp_send() and overlay_mdp_dispatch()
to match normal socket operations and thus avoid programmer confusion.
2012-03-28 11:28:04 +10:30
gardners
d3cd7714ac
Further work on MDP - overlay_saw_mdp_frame() now looks for
...
different MDP frame types, but does not yet do anything with the
MDP_TX frames which are the only valid MDP frame to be received
via a real network interface (in reality they are constructed from
the surrounding MDP type overlay frame).t
2012-03-27 21:13:40 +10:30
gardners
5cc3283646
Cleaned up some debug output.
2012-03-27 19:50:31 +10:30
gardners
5c4918f5bd
Added code to verify source address when sending MDP frames.
2012-03-27 19:45:39 +10:30
gardners
aa543e1766
Various fixes and work towards MDP ping working.
...
MDP clients can now request the set of local addresses.
Framework is improved to avoid info leaks by sending more bytes
in an MDP frame than are necessary, but without having to bzero
almost 2KB each time.
2012-03-27 19:25:38 +10:30
Andrew Bettison
84b24b9918
Remove use of (struct sockaddr_un).sun_len field (BSDism only available on Apple)
2012-03-26 15:02:42 +10:30
gardners
13d1d3084e
Various fixes to track down memory handling bugs.
...
Fixed one free-before-time bug with queuing MDP frames.
Some heap corruption bug seems to remain.
2012-03-22 16:33:25 +10:30
gardners
c7dd475d50
Further work on MDP, including dispatching low-priority data when
...
it can fit in frames. A nasty bug in queue code needs fixing.
Also, we only send tick frames at present, and need to add code
for dispatching packets at other times (bandwidth allowance permitting).
So the whole bandwidth management code needs to get finished.
2012-03-22 08:26:19 +10:30
gardners
2d63e91c96
More work on preparing packet payloads for enqueing MDP frames.
...
Also errors for unimplemented crypto modes.
2012-03-21 13:08:08 +10:30
gardners
30e2540470
Various fixes and work towards sending MDP frames.
...
Broadcast and unicast addresses are accepted. Some frame headers
are set. Payload is yet to be set, and ciphered &/or signed as required,
and queueing is not yet verified.
2012-03-21 12:57:24 +10:30
gardners
c71ddbbd18
MDP ping getting closer: ping loop showing server-returned error
...
messages now works. Server currently reports error when trying to
send MDP_TX frames (since it is not yet implemented), which the
client successfully displays. Onto making the server handle the
MDP_TX frames.
2012-03-21 03:55:13 +10:30
gardners
6e3fe903d9
Improved shutdown behaviour to properly handle client mode (don't
...
delete server socket if you are a client). Also added main MDP
ping loop of sending packets. Reading returned packets not yet
implemented. Server handling of MDP_TX packets also not yet
implemented.
2012-03-21 03:27:47 +10:30
gardners
9d4e9f80ed
Modified overlay_mdp_dispatch() to return reply MDP frame.
2012-03-21 03:07:29 +10:30
gardners
7ee72b3cba
Further work on MDP. Client now receives server replies. So we
...
can actually bind an MDP port. Next step is to make use of it to
send a packet.
2012-03-21 03:00:39 +10:30
gardners
2bfb6eb569
Added verification that replies come from MDP server
...
(including dealing with when the server is referenced via a
symlink, and verification by inode/dev is required)
2012-03-21 02:44:36 +10:30
gardners
67c4577b55
MDP replies almost working, and thus port binding almost working.
...
Just need to add sender verification check, i.e., that it was the
MDP server that replied, and interpret the reply.
2012-03-21 01:36:52 +10:30
gardners
8e6f6ee925
Work towards getting MDP working. Still some fun and games with
...
getting unix domain sockets to play nicely. Some superfluous debug
code is present while working this through.
2012-03-20 17:11:58 +10:30
gardners
5fe959f033
Fixed reading of unix domain socket connections to provide a large
...
enough buffer to get the full socket name of the sending party.
2012-03-20 09:15:08 +10:30
gardners
8884339e31
MDP client socket gets bound to name before sending frame, and
...
socket file gets deleted when exiting. MDP server doesn't seem
to be able to reply to packets yet -- that's next on the queue to
fix.
2012-03-19 16:35:49 +10:30
gardners
3991c3eff4
MDP Server now begins to look at received packets, and send error
...
message back to client if required.
2012-03-19 16:23:05 +10:30
gardners
70497df7b5
More work on MDP. Removed some debug fluff.
...
Added framework for MDP ping, and some work towards MDP port binding
and sending packets with option to wait for reply. MDP server
doesn't yet support port binding, and client doesn't yet support
reading replies.
2012-03-19 16:06:34 +10:30
gardners
f43143bd0f
Added code to remove stale unix domain socket files on startup and
...
shutdown.
2012-03-19 09:43:11 +10:30
gardners
46599269d7
fixed socket type from TCP to UDP.
2012-03-17 22:31:48 +10:30
gardners
f384e6ea79
Further preparatory work for MDP. Next stop is actually checking
...
for inbound MDP connection requests on the unix domain sockets.
2012-03-17 13:02:09 +10:30
gardners
348c5ebcf3
Added Mesh Datagram Protocol (MDP) source file and initial work.
...
Added overlay_mdp.c to Makefile.in, and also trans_cache.c which
had not yet been added.
2012-03-17 09:28:48 +10:30