Commit Graph

1415 Commits

Author SHA1 Message Date
Coren[m]
d9965df382 LAN_discovery.c:
- LAN_ip(): use standard macro from IPv4-in-IPv6 test
2013-09-14 13:32:07 +02:00
Coren[m]
09cdd813c5 DHT.c:
- get_close_nodes()/sendnodes()/sendnodes_ipv6(): when selecting for SEND_NODES/SEND_NODES_IPV6, treat embedded IPv4-in-IPv6 addresses as being IPv4

Messenger.c:
- added a named constant for sixty seconds friend/client dump
- fix logging to convert client_id to printable before printing
2013-09-14 12:55:56 +02:00
Coren[m]
fa576e464e Merge remote-tracking branch 'upstream/master' into Integration 2013-09-13 19:44:14 +02:00
irungentoo
339dcd6070 Nonce generation changes.
Nonces don't need to be random, only different.

also random_int now gives same quality random numbers for both NaCl and
libsodium.
2013-09-13 10:42:14 -04:00
Coren[m]
e67a11dd04 Merge remote-tracking branch 'upstream/master' into Integration 2013-09-13 09:06:52 +02:00
Coren[m]
ec3734fc5d TOX_ENABLE_IPV6 is now #define'd per default. Added some logging and error messages. 2013-09-13 08:50:46 +02:00
irungentoo
f8b979a92a Put group chat functions in the public API.
Group chats are not complete, they seem to work very well though.

This means that the functions will change.
2013-09-12 20:29:30 -04:00
irungentoo
41b162eb18 Merge branch 'master' of https://github.com/irungentoo/ProjectTox-Core 2013-09-12 19:26:37 -04:00
irungentoo
91d7f4857f Very basic group chats, tested and working with nTox.
Please wait until the tox.h API is updated before integrating it into
your clients.

nTox:
/g
creates a new group chat

/i friendnum groupnum
invite friendnum to groupnum

/z groupnum message
send message to groupnum

NOTE: group chats currenly might not handle packet loss well if there are less than 6 participants.
2013-09-12 19:26:30 -04:00
irungentoo
983d36f70b Merge pull request #575 from FullName/DHT_bootstrap
Patch to allow DHT_bootstrap to also do LAN discovery.
2013-09-12 11:51:47 -07:00
Coren[m]
cdd5878bc4 Merge remote-tracking branch 'upstream/master' into Integration
Conflicts resolved:
	toxcore/Messenger.c
	toxcore/network.h
2013-09-12 19:55:51 +02:00
Coren[m]
d95df291f0 Merge remote-tracking branch 'upstream/master' into DHT_bootstrap
Conflicts:
	toxcore/Messenger.c
2013-09-12 19:39:21 +02:00
Coren[m]
b5db32585a Patch to allow DHT_bootstrap to also do LAN discovery.
This patch inserts LAN discovery in DHT_bootstrap, allowing it to find clients even if it's run parameterless (and clients don't connect to it directly, e.g. because the port is already bound to a different client).

- moves the #define of LAN_DISCOVERY_INTERVAL from Messenger.c to LAN_discovery.h
- includes LAN_discovery.h into DHT_bootstrap.c
- DHT_bootstrap.c sends and accepts LAN_discovery packets
2013-09-12 19:09:25 +02:00
Coren[m]
591d6c70c6 network.*:
- addr_resolv(_or_parse_ip)(): added an optional parameter to return both an IPv6 and an IPv4 address if requested address family was AF_UNSPEC
- logging of unhandled packets

DHT.c:
- bootstrap_from_address(): use the additional return from addr_resolv_or_parse_ip() to bootstrap in both network types at once

Lossless_UDP_testclient.c:
- main(): adapt to signature change of addr_resolve()

Messenger.c. LAN_discovery.h:
- lost a htons(), readded
- moved LAN_DISCOVERY_INTERVAL #define into LAN_discovery.h

LAN_discovery.c:
- added IPv4-in-IPv6 local address test
2013-09-12 18:39:21 +02:00
Coren[m]
0cfbe004ef Messenger.c:
- remove local PORT definition in favor of TOX_PORT_DEFAULT
2013-09-12 16:07:51 +02:00
Coren[m]
a74cfaea81 tox.h:
- #define'd tox's network port (as range)
- finally killed tox_new_ex() in favor of changing tox_new()'s signature
- renamed tox_bootstrap() to tox_bootstrap_from_ip()

network.h:
- #define'd tox's network port (as range)
- renamed SEND_NODES_EX to SEND_NODES_IPV6
- bind() loop uses #define'd port range

DHT.c:
- renamed SEND_NODES_EX to SEND_NODES_IPV6
- sending ipv6 node addresses even if can't use them ourselves

nTox.c:
- adapted to changed tox_new()
2013-09-12 15:42:03 +02:00
irungentoo
b37b521cd5 Integration of group chats into messenger in progress. 2013-09-11 20:42:25 -04:00
irungentoo
9bd7e56db8 Some small work on group chats done. 2013-09-11 19:22:48 -04:00
Coren[m]
5e1523e61d network.c:
- removed almost unused variable without further use
2013-09-11 22:21:31 +02:00
Coren[m]
ef86109460 Messenger.c:
- unbroke Messenger_load(): lost a length adjustment
- addeditional check for enough data available
2013-09-11 21:22:43 +02:00
Coren[m]
513e37815d tox.h, DHT.h:
- tox_bootstrap_ex(), DHT_bootstrap_ex() renamed to tox_bootstrap_from_address(), DHT_bootstrap_from_address()
- (handle_)sendnodes_ex() renamed to (handle_)sendnodes_ipv6()
- only sending sendnodes_ipv6() if we're actually IPv6 enabled
- changed comments to conform better

nTox.c, Messenger_text.c, DHT_test.c, DHT_bootstrap.c:
- fallout from *_ex() to *_from_address()

DHT_bootstrap.c:
- corrected a potentially wrong info message

util.c:
- fixed logfile name: now (funcptr) => now() (number)

network.c:
- addead comment about the necessity of bind() to succeed

auto_test/messenger_test.c:
- defaulting ipv6enabled to TOX_ENABLE_IPV6_DEFAULT

LAN_discovery.c:
- slight cleanup and comments for clarity
2013-09-11 20:50:15 +02:00
Coren[m]
d0f5ad34ae cleanup TravisCI warnings (missing exports/extraneous args to printf) 2013-09-11 16:57:26 +02:00
Coren[m]
be716af15d network.c:
- undo "fixing" the wrong variable
- fix the logging in receivepacket()
2013-09-11 15:47:29 +02:00
Coren[m]
d35fee43ba toxcore/util.h:
- moved cmdline_parsefor_ipv46() to testing/misc_tools.c
2013-09-11 15:19:39 +02:00
Coren[m]
a326e851ba Prettier fix to missing length initialization 2013-09-11 12:40:54 +02:00
Coren[m]
5e076e35d9 network.c: logging more details, fixing poll
LAN_discovery.c: IPv6: send both v6 multicast and v4 broadcast if socket allows
2013-09-11 11:44:05 +02:00
Coren[m]
85912418db cmdline parsing:
- add missing includes (autobuild warnings)
2013-09-11 10:54:47 +02:00
Coren[m]
5869057aba network.c:
- reset errno from failed bind() calls if the last one succeeds

DHT_bootstrap.c:
- move the perror() output next to where it belongs to
2013-09-11 00:44:05 +02:00
Coren[m]
0139f2838f Merge remote-tracking branch 'upstream/master' into Integration 2013-09-11 00:16:15 +02:00
Coren[m]
4cf0d857bc cmdline parsing of --ipv4/6 plucked into util 2013-09-11 00:14:20 +02:00
irungentoo
55499933be Fixed building with NaCl. 2013-09-10 17:15:26 -04:00
Coren[m]
8ba6a5ff5b Merge remote-tracking branch 'upstream/master' into Integration 2013-09-10 23:02:21 +02:00
Coren[m]
64ca4b5db2 tox.*, DHT.*:
- return to the caller if the string could be resolved into an IP

other/DHT_bootstrap.c, testing/*_test.c, testing/nTox.c:
- parse cmdline for --ipv4/--ipv6 switch to allow user a choice

util.h:
- proper old-style C-comment
2013-09-10 22:59:33 +02:00
irungentoo
261d78b862 Merge branch 'master' of https://github.com/irungentoo/ProjectTox-Core 2013-09-10 16:33:26 -04:00
irungentoo
23d8d26d50 Commented out useless function. 2013-09-10 16:22:47 -04:00
Coren[m]
e89dda5cea DHT.c:
- client_in_list: split loop in two to avoid inserting a client_id duplicate
- final pieces for IPv6 expansion: (handle_)sendnodes_ex(), called from hande_getnodes() resp. handler callback
2013-09-10 21:36:58 +02:00
Coren[m]
5ed6fd04be Merge remote-tracking branch 'upstream/master' into Integration 2013-09-10 20:57:10 +02:00
Coren[m]
3ae7460853 util.*:
- added logging functions, default off

tox.h:
- added includes for sockaddr_in/6

network.c:
- added logging functions, default off (#define in util.h)
- IPv6: activating site-local all-nodes multicast address (i.e. IPv6 equivalent of broadcast)
2013-09-10 20:55:05 +02:00
Coren[m]
f267266bf6 fix: bad memset length in ip_init() 2013-09-10 17:38:53 +02:00
Coren[m]
bcb283cf45 big push, putting all the infrastructure in place behind TOX_ENABLE_IPV6 2013-09-10 16:36:20 +02:00
irungentoo
9e80dd71ca Merge pull request #567 from kigu/patch-2
Update TODO
2013-09-10 04:44:35 -07:00
Coren[m]
bcf251ac31 group_chats.c:
- *->net->sock to *->net (like everywhere else :))
2013-09-09 21:37:07 +02:00
Coren[m]
b91b87f285 Merge branch 'master' into Integration 2013-09-09 21:31:11 +02:00
Coren[m]
447fdc74ec Merge branch 'Integration' of https://github.com/FullName/ProjectTox-Core into Integration 2013-09-09 21:07:25 +02:00
Coren[m]
05d7b157c6 tox.*, Messenger.*:
- initialisation: argument added to enable/disable ipv6 as socket

Messenger_test.c:
- initialisation: ipv4 hardcoded for now
- delegating IP resolution to DHT_bootstrap_ex()
2013-09-09 21:03:31 +02:00
irungentoo
1f5bfab327 Start of group chats integration into the core. 2013-09-09 14:44:43 -04:00
irungentoo
c137ec9d4d move group chats to /toxcore 2013-09-09 14:16:53 -04:00
Coren[m]
f932fd400c tox.*, Messenger.*:
- initialisation: argument added to enable/disable ipv6 as socket

Messenger_test.c:
- initialisation: ipv4 hardcoded for now
- delegating IP resolution to DHT_bootstrap_ex()
2013-09-09 20:14:24 +02:00
irungentoo
00c9c8ab57 More stuff done in group chats. 2013-09-09 13:52:03 -04:00
Coren[m]
a77253c79b tox.*, DHT.*;
- second set of *_bootstrap_ex() functions to allow addresses instead of IPs

network.h:
- new message ID for sending/receiving IPv6 nodes

DHT.*:
- get_close_nodes():
  - additional parameter to select which kind of nodes: IPv4 or IPv6

- sendnodes()/handle_sendnodes():
  - the IPv4 message must remain intact even when the Node_format structure (which embeds IP_Port) is expanded
  - added Node4_format to keep the structure "alive"
  - copying in/out of wider to smaller format required in sendnodes()/handle_sendnodes()
  - switch of Node_format from Node4_format to Node46_format by define
2013-09-09 19:17:21 +02:00