Commit Graph

241 Commits

Author SHA1 Message Date
Maxim Biro
8b5e3d5208 Allow multiple instances of the daemon 2014-05-18 19:58:57 -04:00
irungentoo
906969d376
Fixed out of bounds write. 2014-05-18 14:43:32 -04:00
Maxim Biro
7dd811214a Added MOTD functionality 2014-05-18 00:38:20 -04:00
Maxim Biro
e75930e72e Some small fixes 2014-05-17 21:49:57 -04:00
Maxim Biro
8be6b0986d Extracted min and max allowed port values into named constants 2014-05-17 21:49:51 -04:00
Maxim Biro
ceaeae8cff Added TCP server functionality 2014-05-17 20:36:16 -04:00
irungentoo
a26ced5fcb
Merge branch 'master' into TCP 2014-05-08 18:26:01 -04:00
irungentoo
2aa3cdfc69
Fixed the DHT bootstrap daemon. 2014-04-23 12:47:57 -04:00
irungentoo
0559904ea2
Updated some files so that they could build with latest core.
Fixed some issues.
2014-04-23 12:29:24 -04:00
Carlos E. Garcia
cf33c2f9ad multiple spelling fixes 2014-04-16 12:14:44 -04:00
irungentoo
6578d930f8
DHT_bootstrap.c now has TCP server functionality enabled.
Fixed a regression (same type as last commit).
2014-04-16 07:19:40 -04:00
irungentoo
b16af69d92
TCP_client pretty much done?
Now next step is integrating it in tox.

Added TCP server functionality to bootstrap server (define TCP_RELAY_ENABLED to enable it.)
2014-04-13 20:40:48 -04:00
Jin^eLD
70475d281d Fix NaCl builds for *BSD
From what I see there is a difference between *BSD and Linux when
linking vs. toxcore which has been bulit vs. the NaCl library:

on Linux it only links if NaCl's object files (i.e. randombytes.o) is
present in the linker options, however on *BSD systems this will cause a
linking error, see:
https://github.com/Tox/toxic/issues/31#issuecomment-38224441

This commit makes sure that we do not add the NaCl object files to our
pkg-config settings on *BSD, but do add them on Linux.
2014-03-23 02:05:57 +01:00
Maxim Biro
5a142bb697 Renamed dht server to dht node 2014-02-22 17:07:15 -05:00
irungentoo
d6e2f903a7 Added entry to TODO and a public key cracker (vanity key finder) to other/fun. 2014-02-10 19:53:44 -05:00
irungentoo
7a2ed25d36 Astyled and removed some useless files. 2014-02-09 09:43:16 -05:00
Maxim Biro
ecbceac341 Fixed memory leaks and removed repeated code 2014-02-09 02:01:04 -05:00
irungentoo
ad5d58b4a2 Added DHT bootstrap server info packets.
define DHT_SERVER_EXTRA_PACKETS to enable.
2014-02-01 18:45:37 -05:00
tawm
04580cf122 Fixed PID forgetfulness. 2014-01-30 15:56:45 -05:00
Maxim Biro
553472442f Shortened daemon's name 2014-01-25 21:00:31 -05:00
Maxim Biro
4782a8475a Made bootstrapping optional 2014-01-25 20:37:01 -05:00
Maxim Biro
b9ef9b91af Added more error checking 2014-01-25 20:00:34 -05:00
Sean
5eecd92f8e Update DHTservers 2014-01-21 22:53:59 -08:00
irungentoo
98043f4512 Updated DHT server list. 2014-01-21 10:20:02 -05:00
irungentoo
8421e44ffb Added updated bootstrap server. 2014-01-20 16:56:48 -05:00
irungentoo
15d01ca746 Updated DHT server list with onion supporting DHT servers.
Onionised DHT_test.
2014-01-20 15:20:17 -05:00
Maxim Biro
96767c170a Moved things around 2014-01-20 14:19:11 -05:00
Maxim Biro
b67d6bd024 Fixed missing cleanup 2014-01-20 14:09:20 -05:00
irungentoo
522f90fee1 Enabled onion in bootstrap_serverdaemon. 2014-01-20 13:05:34 -05:00
irungentoo
aff6b112c0 Merge branch 'onion' 2014-01-20 12:48:26 -05:00
Ben Iofel
174cec7f15 proper windows preprocessor detection 2014-01-19 19:30:14 -05:00
Maxim Biro
c3763cb708 Added .sh to the script 2014-01-19 17:21:24 -05:00
Maxim Biro
d8f2072ab5 Fixed function conflict 2014-01-19 15:27:29 -05:00
Maxim Biro
718b4415fc Fixed spelling 2014-01-19 15:09:57 -05:00
Maxim Biro
bffc3d96e5 Spellchecked everything 2014-01-19 14:14:25 -05:00
Maxim Biro
885e5898c5 Astyled the code 2014-01-19 13:53:18 -05:00
Maxim Biro
5a4756a6c0 Fixed build 2014-01-19 05:03:19 -05:00
Maxim Biro
8a80b5e0ac Fixed comments and variables' names 2014-01-19 04:57:46 -05:00
Maxim Biro
50ad4e84c5 Renamed to fix build process 2014-01-19 04:37:21 -05:00
Maxim Biro
f254f3aa1b Fixed some formatting 2014-01-19 04:37:20 -05:00
Maxim Biro
733916ea05 Tell github that README is a markdown file 2014-01-19 04:37:19 -05:00
Maxim Biro
28edc23329 Improved DHT bootstrap daemon
Supports "unlimited" number of bootstrap nodes in the config file, instead of
just 32.
PID and keys file paths are not limited by 512 chars anymore.
Doesn't read the whole list of bootstrap servers into a global datastructure
that just sits there after being processed once -- reads bootstrap servers
one by one, processing them between reads.
Supports IPv6.
Has an option for IPv6.
Supports LAN discovery.
Has an option for LAN discovery.
Writes to syslog.
Uses new functions introduced in the core.
`status` in the bash script now works.
Has a simple README, with instructions for Debian-based distros.
2014-01-19 04:34:58 -05:00
irungentoo
608330efef Onion servers are now DHT ready. 2014-01-17 14:00:00 -05:00
Jin^eLD
92e9ec6674 Always build DHT_bootstrap
DHT_bootstrap is not the same as DHT_bootstrap_serverdaemon, the latter
depends on libconfig and can be enabled/disable via a configure
parameter.

DHT_bootstrap has no dependencies and can always be built.
2013-12-20 18:42:54 +01:00
Coren[m]
0a4c3d7e2e Move unix_time(), id_cpy()/id_eq(), is_timeout() to util.*
unix_time():
- returns local value for current epoch
- value is updated explicitly with unix_time_update() called at new_DHT()/doMessenger()/do_DHT()

is_timeout():
- uses the local value for current epoch

id_cpy()/id_eq() => id_copy()/id_equal():
- centralized duplicate definitions
- replaced (most) memcpy()/memcmp() of (*, *, CLIENT_ID_SIZE) with id_copy()/id_equal()
2013-10-24 22:32:28 +02:00
Coren[m]
a0f08839bd Main: Eliminate TOX_ENABLE_IPV6 (then always on), CLIENT_ONETOONE_IP (then always off).
Additionally (besides cleanups):

network.h/tox.h:
- WIN32: fix a strange sa_family_t definition
- WIN32: define EWOULDBLOCK to WSAEWOULDBLOCK
- WIN32: kill macro for an existing function (IN6_ADDR_EQUAL)

network.c:
- use EWOULDBLOCK instead of EAGAIN (same value, but EWOULDBLOCK is more "popular")
- new_networking(): only try to enable IPv4-in-IPv6 if it's not already enabled per default
- inet_ntop()/inet_pton(): WIN32: remove partial initializers in favor of a simple memset()
- ip_equal(): WIN32: use an existing function
- logging: networking_wait_execute(): only dump result if not timeout
- logging: loglogdata(): kill an unused variable

LAN_discovery.c:
- send_broadcasts(): re-enabled, can only support IPv4 by principle, split into fetch_broadcast_info() (to fetch the addresses once) and send_broadcasts() (actual sending)

DHT.c:
- DHT_load_state_callback(): enclosed a fprintf(stderr, ...) into #ifdef DEBUG

Lossless_UDP.c:
- change_handshake(): harden against strange sa_family_t definitions

Messenger.c:
- logging: fix ID to string conversion

util.c:
- logging: eliminate a signed-warning
2013-10-20 16:56:12 +02:00
fr0sty
b0d2328968 Update DHT_bootstrap.c
Removed deprecated compilation instructions
2013-10-10 16:29:40 -04:00
BtbN
8d40ddf417 Some configuration/build fixes, so building basicaly everything else than the library can be disabled 2013-10-07 02:01:16 +02:00
irungentoo
12d1c5199b astyled everything. 2013-09-14 12:42:17 -04:00
Coren[m]
e67a11dd04 Merge remote-tracking branch 'upstream/master' into Integration 2013-09-13 09:06:52 +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]
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]
d35fee43ba toxcore/util.h:
- moved cmdline_parsefor_ipv46() to testing/misc_tools.c
2013-09-11 15:19:39 +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
23d8d26d50 Commented out useless function. 2013-09-10 16:22:47 -04:00
Coren[m]
bcb283cf45 big push, putting all the infrastructure in place behind TOX_ENABLE_IPV6 2013-09-10 16:36:20 +02:00
Coren[m]
291fa8d5c5 fix autobuild (not built locally) 2013-09-09 16:11:33 +02:00
Coren[m]
29d777ef67 network.h:
- IP: add in_addr_t as part of the union
- IP: rename IP to IP4
2013-09-09 14:16:40 +02:00
Jin^eLD
e092eee869 Allow to build vs nacl instead of libsodium
By default libsodium is used. Only if --enable-nacl is specified, then
nacl will be used instead of libsodium.

Pass locations of nacl headers and libraries by using the following
options:

--with-nacl-headers=/home/me/somewhere/nacl-20110221/build/469/include/amd64/
--with-nacl-libs=/home/me/somewhere/nacl-20110221/build/469/lib/amd64/
2013-09-06 22:54:45 +03:00
jin-eld
7d29bd23b9 Forward compatibility with automake 1.14
This update makes sure that the build still works with automake prior to
1.12 and at the same time does not give any warnings or errors with
automake 1.14
2013-09-01 20:39:02 +03:00
irungentoo
8f0bef5f20 Fixed warnings and moved hex_string_to_bin to testing/ 2013-08-30 08:16:34 -04:00
irungentoo
7441a234b7 Merge branch 'udp_connections' of https://github.com/vx-k/ProjectTox-Core into vx-k-udp_connections 2013-08-30 07:53:51 -04:00
Kostya
25563ac070 Fixed build errors. 2013-08-30 03:28:50 -04:00
Anony Moose
eb33796e58 Moved misc_tools from testing to toxcore. 2013-08-29 22:54:54 +00:00
irungentoo
ea994606fe Merge branch 'master' of https://github.com/JamoBox/ProjectTox-Core into JamoBox-master
Conflicts:
	toxcore/LAN_discovery.h
2013-08-29 17:55:58 -04:00
pete
82b8927af7 Correct a lot of the grammar and spelling. Also spent a few hours fixing the comments so they follow a standard. 2013-08-29 22:17:51 +01:00
Francis Devine
77e4d8509d Updated bootstrap node key for my server 2013-08-29 14:33:49 +12:00
jin-eld
1ec70337cf Remove cmake build system 2013-08-24 03:36:43 +03:00
jin-eld
50c8a820e5 Implemented autotools based build scripts
supported options:

--with-dependency-search=DIR    will tell configure to look for various
dependencies in DIR/include and DIR/lib

Alternatively you can also specify libsodium header and libs location
with --with-libsodium-headers and --with-libsodium-libs if it is
installed elsewhere.

Ncurses and libconfig are handled via the default pkg-config way, see
./configure --help=short for detailed information.

The tox library is compiled as libtoxcore in shared and static variants,
public headers are installed to ${prefix}/include/tox

A pkg-config libtoxcore.pc configuration file is provided.

Use ./configure --help for a full list of configure options or
./configure --help=short for the options that I added.

To generate the configure script after pulling from git use:
autoreconf -i

To generate a release tarball use:
make dist

Unit tests are handled by the libcheck library integration that is provided
by autotools, use:
make check

to compile and run the tests.

Unit tests are currently optional, i.e. - if the check library is not
found on the system, then tests will be disabled. Same goes for nTox and
DHT bootstrap daemon - they will be enabled or disabled depending on the
availability of ncurses (for nTox) or libconfig (for DHT bootstrap
daemon).

The above can be also tuned by:
--enable-tests / --disable-tests
--enable-ntox / --disable-ntox
--enable-dht-bootstrap-daemon / --disable-dht-bootstrap-daemon
2013-08-24 03:25:07 +03:00
jin-eld
e658892793 Rename core directory because of autoconf name clash
While doing the checks configure might generate "core" files and will
then try to remove them. Having a "core" directory generates an error
while runing the configure script.

There's no workaround but to rename the core directory.
2013-08-24 03:25:07 +03:00
irungentoo
9d3a8d94f2 New API done and tested.
Some stuff needs to be cleaned a bit though.
2013-08-23 10:26:52 -04:00
irungentoo
7719a9ed58 init_cryptopacket is now called by new_DHT. 2013-08-22 13:19:38 -04:00
irungentoo
c9a88607c2 Merge branch 'master' of https://github.com/irungentoo/ProjectTox-Core 2013-08-21 09:03:44 -04:00
irungentoo
da6416a584 Added signer/checker using ed25519 and libsodium I wrote for fun. 2013-08-21 09:02:49 -04:00
Maxim Biro
6a2569c432 Fixed DHTservers' path for Windows 2013-08-20 22:54:14 -04:00
irungentoo
128223d9d1 astyle --options=tools/astylerc -r ./*.{c,h} 2013-08-20 19:37:05 -04:00
irungentoo
86b11394b1 Fixed DHT_serverdaemon. 2013-08-20 17:25:17 -04:00
irungentoo
1fde3ce6aa DHT_bootstrap fixed. 2013-08-20 16:37:34 -04:00
irungentoo
ac621d96d3 Refactor of core done. 2013-08-20 14:47:32 -04:00
loadletter
e8b8dfebb3 Modified cmakefile to move the serverlist to the proper directory.
Tested on GNU/Linux.
2013-08-18 23:20:34 +02:00
Ayberk Yilmaz
5df77bdb14 Fixed broken build paths 2013-08-18 18:54:44 +03:00
d34th
89a644089c Added username replacer for appdata on c drive 2013-08-18 07:10:22 -04:00
Sean Qureshi
bdfd890aa8 Added mac support to the standardized data file, cleaned up a bit 2013-08-18 03:41:30 -07:00
Sean Qureshi
ab830825bd Added windows support to the standarized location 2013-08-18 03:12:55 -07:00
Sean Qureshi
31e29c46c5 Added more selectable dht servers 2013-08-18 03:06:25 -07:00
Sean Qureshi
86596a6d7f Makes cmake install DHTservers to its new place 2013-08-18 03:03:46 -07:00
irungentoo
88ff81d9de Passed everything through astyle. 2013-08-16 13:11:09 -04:00
Javier Maldonado
8a56f9cb37 Added new server 2013-08-15 05:31:08 +00:00
irungentoo
566295037f Added logo in readme to repo. 2013-08-14 12:35:55 -04:00
irungentoo
c0d5fe9b5b Merge pull request #423 from JFreegman/master
Auto-connect toxic to DHT on startup
2013-08-11 07:40:07 -07:00
irungentoo
8e05bcb5f9 Merge pull request #422 from slvr/crypto-speed-boost
Cryptography speed boost
2013-08-10 16:20:54 -07:00
Jfreegman
2694fc8d13 auto-connect to DHT on startup 2013-08-10 15:46:29 -04:00
slvr
021852d494 Implemented encrypt_data_fast, decrypt_data_fast and crypto tests 2013-08-10 17:41:32 +01:00
slvr
448d0124cd networking_poll: DHT_bootstrap_daemon 2013-08-10 00:49:20 +01:00
slvr
6052b1f119 network_registerhandler 2013-08-10 00:43:50 +01:00
plutooo
3d916b35f2 core: getaddrinfo() lookup error handling 2013-08-01 11:54:06 -07:00
irungentoo
7252456c87 Merge pull request #171 from AMDmi3/freebsd-fixes
FreeBSD fixes
2013-07-31 04:46:12 -07:00
Joseph Quadrino
9f6be0ce4b stat file before attempting to open 2013-07-31 03:07:51 -04:00
Dmitry Marakasov
89dd7ed011 Add detection of required libraries 2013-07-31 06:15:26 +04:00
teknocrat
b1ec17a357 Merge branch 'patch-1' of https://github.com/Teknocrat/ProjectTox-Core into patch-1 2013-07-30 19:29:33 -05:00
Teknocrat
7803acc375 Create FindLibConfig.cmake
Warning, this is a google snippet, but works fine, shouldn't be an issue
2013-07-30 19:12:29 -05:00
Teknocrat
4faa145789 Update CMakeLists.txt
This thing requires libconfig but doesn't test for it...
2013-07-30 19:09:36 -05:00
NemDiggers
69980e3c0c Remind users that directory isn't actually legit 2013-07-30 19:09:29 -04:00
irungentoo
b1726f55ed Merge branch 'master' of https://github.com/nurupo/InsertProjectNameHere into nurupo-master
Conflicts:
	testing/CMakeLists.txt
2013-07-30 07:31:51 -04:00
Maxim Biro
1d8f6e94e7 Fixed formatting of some cmake files 2013-07-29 20:45:53 -04:00
Astonex
5ad33e7398 Essentially nTox without the ncurses for Windows. Slightly modified main() 2013-07-29 23:00:56 +01:00
Konstantin Kowalski
b3fa1fc8f4 [fixed]created new files misc_tools.(c|h) and moved hex_string_to_bin() there. 2013-07-27 12:10:41 -04:00
Konstantin Kowalski
a1b93c397c took out several strlen() calls out of the loop; replaced int's with size_t where needed 2013-07-26 16:16:58 -04:00
SilentSand
f377eb9ca2 Licensing
Added the GPLv3 license to some files in addition to fixing some
comments at the beginning of the files.
2013-07-25 21:45:56 -04:00
irungentoo
3b53bc3218 Merge pull request #96 from tawm/master
Make the bootstrap daemon configurable
2013-07-23 17:31:08 -07:00
Maxim Biro
ea550d4c86 Some cleanup 2013-07-23 12:23:17 -04:00
Tom Bartelt
87aad78c87 removed silly test 2013-07-23 06:58:28 -04:00
Tom Bartelt
6f6db8abc0 removed useless header 2013-07-23 06:43:41 -04:00
Tom Bartelt
06eb768a57 Updated server.cfg 2013-07-23 06:39:49 -04:00
Tom Bartelt
ea49be0e95 Fixed a tiny bug 2013-07-23 06:38:35 -04:00
Tom Bartelt
f1ea6024cf renamed init script 2013-07-23 06:32:42 -04:00
Tom Bartelt
9f6f3117bb Update daemon to use config files 2013-07-23 06:28:47 -04:00
Tom Bartelt
413c5810e1 Add libconfig to the build process 2013-07-23 06:25:47 -04:00
Tom Bartelt
a11fa54fa2 Added config file 2013-07-23 06:02:08 -04:00
irungentoo
53b58a4c82 Print the defined port. 2013-07-22 16:06:36 -04:00
irungentoo
cca045b4a2 Merge pull request #90 from NemDiggers/master
Print port just because
2013-07-22 13:05:57 -07:00
NemDiggers
fec1fe8577 Print port just because 2013-07-22 16:02:57 -04:00
irungentoo
4504011117 Fixed build. 2013-07-22 15:49:15 -04:00
irungentoo
485d5eee67 Merge pull request #89 from nurupo/master
Some DHT bootstrap improvements
2013-07-22 12:38:11 -07:00
irungentoo
8e43282fa9 Bootstrap servers now route friend requests. 2013-07-22 15:36:13 -04:00
Maxim Biro
a8a72d09c7 Added cmake file for DHT_bootstrap_daemon 2013-07-22 15:28:09 -04:00
Maxim Biro
164d92e2dd Added saving and loading of keys by default 2013-07-22 15:16:01 -04:00
Maxim Biro
6260df230f Fixed missed version and policy 2013-07-21 20:51:37 -04:00
Maxim Biro
5ec78d75ce Fixed header inclusion for Windows 2013-07-20 11:47:59 -04:00
Sebastian Stal
76df53bb65 Add support for DHT_bootstrap to connect to other nodes 2013-07-18 23:25:01 -07:00
irungentoo
60957885fd Added a daemon version of DHT_bootstrap made by tawm_. 2013-07-18 18:46:14 -04:00
Maxim Biro
6939a48226 Apply compiler flags only once 2013-07-17 18:29:26 -04:00
Maxim Biro
ef0efd72b5 Improved build system 2013-07-17 18:18:27 -04:00
irungentoo
96b8cb1c43 Fixed @ appearing in messages. 2013-07-13 22:28:25 -04:00
irungentoo
d63d63de9b Simple boostrap server added. 2013-07-13 13:20:12 -04:00