Commit Graph

210 Commits

Author SHA1 Message Date
Maxim Biro
504160ee57 Fixed daemon taking long time to stop 2014-08-17 02:17:03 -04:00
Maxim Biro
69e619bfa0 Renamed files for less confusion 2014-08-17 01:58:24 -04:00
Maxim Biro
ba7058c891 Made possible to run the daemon under its own user 2014-08-17 01:53:54 -04:00
Maxim Biro
e474a32e71 Made init.d script work with systemd 2014-08-17 00:12:35 -04:00
Maxim Biro
2040fc41d2 Renamed tox_bootstrap_daemon into tox-bootstrapd 2014-08-16 23:19:23 -04:00
irungentoo
e334188353
Merge branch 'fun-bootstrap-node-info' of https://github.com/nurupo/InsertProjectNameHere 2014-07-09 21:01:53 -04:00
Maxim Biro
5e1ae35034 Added a script to query DHT bootstrap node info 2014-07-09 14:00:16 -04:00
Maxim Biro
2037d27210 Fixed a case when public key contained null bytes 2014-06-20 23:10:12 -04:00
Maxim Biro
b85f192b79 Fixed sodium include 2014-06-20 22:28:33 -04:00
Maxim Biro
b9010540b6 Added strkey 2014-06-20 22:28:22 -04:00
irungentoo
5c87c7bf4a
Merge branch 'leak-rebase' of https://github.com/tux3/toxcore 2014-06-20 10:06:14 -04:00
Tux3 / Mlkj / !Lev.uXFMLA
727659673c Fix exceptional file leak in other/fun/sign.c 2014-06-20 12:42:03 +02:00
irungentoo
9b2d3e50b2
Merge branch 'bootstrap_daemon-leaks-1' of https://github.com/tux3/toxcore into tux3-bootstrap_daemon-leaks-1 2014-06-19 16:23:00 -04:00
Tux3 / Mlkj / !Lev.uXFMLA
4c12ee3e30 Fix scope, ressource leaks in boostrap daemon
Reduce scope of config_setting_t *elem

Fix various leaks of files keys_file and pid_file
2014-06-18 23:38:38 +02:00
irungentoo
881b2d900d
Fixed some warnings. 2014-06-15 20:49:39 -04:00
stal
83d4d8ea5d Install tox_bootstrap_daemon
I call on the venerable @jin_eld once again to verify that this change is correct.
2014-05-20 18:57:20 -07:00
Maxim Biro
286d8d9661 Made config file more consistent with default values 2014-05-18 21:04:42 -04:00
Maxim Biro
fe1694fa69 Added default ports to the .c file, included 33445 port 2014-05-18 19:59:01 -04:00
Maxim Biro
261a70353f Fixed a bug 2014-05-18 19:59:01 -04:00
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