Commit graph

170 commits

Author SHA1 Message Date
Guus Sliepen
075e6828a7 Merge branch 'master' into 1.1
Conflicts:
	have.h
	lib/dropin.c
	lib/fake-getaddrinfo.c
	lib/pidfile.c
	src/Makefile.am
	src/bsd/device.c
	src/conf.c
	src/connection.c
	src/connection.h
	src/graph.c
	src/mingw/device.c
	src/net.c
	src/net_setup.c
	src/node.c
	src/protocol_key.c
	src/protocol_misc.c
	src/tincd.c
2009-09-16 19:55:47 +02:00
Guus Sliepen
fa9bedd47c Allow compiling for Windows XP and higher.
This allows us to use getaddrinfo(), getnameinfo() and related functions, which
allow tinc to make connections over existing IPv6 networks. These functions are
not available on Windows 2000 however. By default, support is enabled, but when
compiling for Windows 2000 the configure switch --with-windows2000 should be
used.

Since getaddrinfo() et al. are not functions but macros on Windows, we have to
use AC_CHECK_DECLS() instead of AC_CHECK_FUNCS() in configure.in.
2009-09-15 00:24:31 +02:00
Guus Sliepen
4a5d42178c Add support for iPhones and recent iPods.
This is a slightly modified patch from Grzegorz Dymarek that allows tinc to use
the tunemu device, which allows tinc to be compiled for iPhones and recent
iPods. To enable support for tunemu, the --enable-tunemu option has to be used
when running the configure script.
2009-09-10 19:32:54 +02:00
Guus Sliepen
9b394bc887 Ensure tinc compiles with gcc -std=c99.
We use a lot of C99 features already, but also some extensions which are not in
the standard.
2009-09-08 21:45:24 +02:00
Guus Sliepen
551cd19406 Move RSA key generation into the wrappers. 2008-12-14 12:47:26 +00:00
Guus Sliepen
8c69f42d7d Move AC_GNU_SOURCE up to make autoconf happy.
Also bump libgcrypt dependency to 1.4.0, because that version supports the OFB cipher mode.
2008-12-11 14:43:13 +00:00
Guus Sliepen
65375289df Only check for libgcrypt if --with-gcrypt is used. 2007-09-04 14:57:37 +00:00
Scott Lamb
46018a1a16 Revert to only requiring autoconf 2.59.
The new autoconf macros introduced at the same time (AC_GNU_SOURCE,
AC_FUNC_MALLOC, AC_FUNC_REALLOC) exist in the autoconf 2.59 documentation,
and autoconf 2.59 appears to still work. This is more convenient, as RHEL 5
ships with autoconf 2.59.
2007-07-18 16:40:29 +00:00
Guus Sliepen
1b8f891836 Finish crypto wrapping. Also provide wrappers for OpenSSL.
Disable libgcrypt by default. Since it doesn't support the OFB cipher mode,
we can't use it in a backwards compatible way.
2007-05-23 13:45:49 +00:00
Guus Sliepen
465837dd7f Parse PEM RSA keys ourself, and use libgcrypt to do RSA encryption and decryption. 2007-05-20 22:28:49 +00:00
Guus Sliepen
8658659433 Show branch version number. 2007-05-18 11:35:21 +00:00
Scott Lamb
38c25d62c2 Convert to libevent.
This is a quick initial conversion that doesn't yet show much advantage:
- We roll our own timeouts.
- We roll our own signal handling.
- We build up the meta connection fd events on each loop rather than
  on state changes.
2007-02-27 01:57:01 +00:00
Guus Sliepen
855806b2f7 Do a simple test for linux/if_tun.h instead of no test at all. 2006-12-16 16:53:58 +00:00
Guus Sliepen
0322c0883b Remove the test for linux/if_tun.h.
It has been available for years on any decent Linux distribution.
Although linux/if_tun.h is now required to compile tinc,
you can still run it on systems which only support Ethertap.
2006-12-16 16:40:09 +00:00
Guus Sliepen
5219ee25a2 Use standard autoconf macros instead of our own. 2006-12-16 16:26:57 +00:00
Guus Sliepen
031e09f865 Remove unnecessary stuff from configure.in. 2006-12-15 20:43:39 +00:00
Guus Sliepen
d8fe2ecdd8 Set BSD tuns to broadcast mode. On OpenBSD, this enables IPv6 on the tun device! 2004-11-10 23:20:59 +00:00
Guus Sliepen
804b2892a5 Hoopjumping to get the default directories in the manuals properly. 2004-11-08 22:03:28 +00:00
Guus Sliepen
dced64c5c3 Check for sys/uio.h, net/if_tun.h and net/if_tap.h 2004-11-01 17:04:28 +00:00
Guus Sliepen
2c40495747 Move all #ifdef HAVE_HEADER_H #include <header.h> to have.h,
this allows for simplification of configure.in.
2004-10-01 18:22:06 +00:00
Guus Sliepen
7926a156e5 Update copyrights, links, email addresses and let Subversion update $Id$ keywords. 2004-03-21 14:21:22 +00:00
Guus Sliepen
fcd836c609 Remove autogen.sh, the autoreconf program does exactly that.
Update everything for the latest autoconf and automake versions.
2004-01-10 23:21:36 +00:00
Guus Sliepen
1d7706a850 Update missing definitions, structs describing headers get __packed__ attribute. 2003-10-08 11:34:55 +00:00
Guus Sliepen
5900c07fab PIDs are of type pid_t, and use %ld when reading/writing them to the pidfile. 2003-10-06 16:13:08 +00:00
Guus Sliepen
91f65c2774 Check for fchmod(). 2003-08-08 22:13:50 +00:00
Guus Sliepen
863349638b Simplify execute_script(). It will probably work under Windows as well. 2003-08-08 14:48:33 +00:00
Guus Sliepen
0c2256670f Remove unused stuff from doc/.
Let configure update pathnames in documentation.
2003-08-08 14:07:12 +00:00
Guus Sliepen
7c34122af7 When compiling with MinGW, link with ws2_32. 2003-08-02 16:05:33 +00:00
Guus Sliepen
9a491a10ee Windows has no symbolic links as we know it. 2003-08-02 15:32:57 +00:00
Guus Sliepen
1fe5663787 No easy way to properly detect header files... 2003-07-31 13:18:34 +00:00
Guus Sliepen
da3078c63a Check if the compiler knows about the __malloc__ attribute. 2003-07-31 11:17:39 +00:00
Guus Sliepen
fcbe29bc4c No C99 initialisers, gcc 2.95.3 doesn't like it.
Also make sure getopt.h is included.
2003-07-30 11:50:45 +00:00
Guus Sliepen
de223b51b9 Remove doc/es/ and src/device.c from the distribution. 2003-07-30 09:45:21 +00:00
Guus Sliepen
2ed154e731 Cleanups. 2003-07-29 23:21:01 +00:00
Guus Sliepen
4370b98bb1 Update configure scripts. 2003-07-29 11:50:39 +00:00
Guus Sliepen
0e94541331 More checks for missing functions. 2003-07-28 22:06:09 +00:00
Guus Sliepen
bad82522ec Copy cygwin driver to mingw directory. It doesn't work (yet). 2003-07-21 15:51:00 +00:00
Guus Sliepen
2f2defc452 Check for sys/mman.h. 2003-07-21 13:18:44 +00:00
Guus Sliepen
38aa0319ef Oops. 2003-07-18 14:09:47 +00:00
Guus Sliepen
96ee04b678 Check for ethernet/ipv4/ipv6 related structures. 2003-07-18 13:42:35 +00:00
Guus Sliepen
e449d94cae Big header file cleanup: everything that has to do with standard system
libraries is moved to system.h.
2003-07-17 15:06:27 +00:00
Guus Sliepen
2a7f11c0e9 More missing IPv6 definitions and autoconf checks to make sure it compiles
under Solaris 2.6.
2003-07-11 16:13:00 +00:00
Guus Sliepen
30c0381d71 Provide all missing IPv6 definitions in lib/ipv6.h. 2003-07-07 11:11:33 +00:00
Guus Sliepen
0b9175e998 Define logger(), cleans up source code and allows us to write log entries
to a separate file.
2003-07-06 22:11:37 +00:00
Guus Sliepen
8681047030 Check for IPv6 header files. 2003-07-06 17:49:49 +00:00
Guus Sliepen
81f5713ab7 - simplify configure.in
- drop support for OpenSSL < 0.9.7
- add some missing definitions/includes
2003-07-06 17:15:25 +00:00
Guus Sliepen
c70f52087b - Per-node EVP_CIPHER_CTX to avoid initialisation overhead.
- LZO compression, thanks to Teemu Kiviniemi.
- Updated dutch translation.
2003-05-06 21:13:18 +00:00
Guus Sliepen
1783a3aaa9 Various fixes for autoconf and OpenSSL 0.9.7 and a missing header. 2003-01-17 00:43:58 +00:00
Guus Sliepen
5eca9520d9 Small fixes so tinc compiles out of the box on SunOS 5.8 2002-09-15 14:55:54 +00:00
Guus Sliepen
5fc1ed17f4 Cleanups:
- Convert cp to cp(); so that automatic indenters work.
 - Convert constructions like if(x == NULL) to if(!x).
 - Move all assignments out of conditions.
2002-09-09 19:40:12 +00:00
Ivo Timmermans
fc7116a32b Added AM_MAINTAINER_MODE 2002-09-06 11:08:21 +00:00
Guus Sliepen
6fdaa8e1ca Small updates. 2002-09-04 19:57:53 +00:00
Guus Sliepen
f2c2443bbc Check for ranlib. 2002-08-24 12:54:55 +00:00
Guus Sliepen
912e7e968f Gettext 1.11.5 compatibility. 2002-08-24 12:11:40 +00:00
Guus Sliepen
c4cd199357 Include complete fake-getname/addrinfo from OpenSSH. 2002-07-12 11:45:21 +00:00
Guus Sliepen
8949404db0 Started port to Cygwin. 2002-07-11 12:55:58 +00:00
Guus Sliepen
8988b127e1 Autoconf cleanup. Works for both 2.13 and 2.53, although running autoconf
2.53 still gives some errors.
2002-06-11 11:03:17 +00:00
Guus Sliepen
40ac473cb1 Use darwin/device.c when compiling on MacOS/X. 2002-06-10 14:35:18 +00:00
Ivo Timmermans
cd3601c5df Add /sw/{include,lib} to search paths if they exist 2002-06-09 15:58:05 +00:00
Ivo Timmermans
9d769e0bf2 OSX support 2002-06-09 15:26:10 +00:00
Guus Sliepen
78e8852184 - netinet/* include files depend on netinet/in_systm.h.
- Squash bashism in configure.in.
2002-06-08 14:08:57 +00:00
Guus Sliepen
e47e51e9d1 Use inttypes.h instead of stdint.h. 2002-06-08 13:46:43 +00:00
Guus Sliepen
116ba3b3da Cleanup:
- Remove checks for specific OS's, instead check for #defines/#includes.
 - Use uint??_t where appropriate.
 - Mask handling functions use void pointers to get rid of silly casts.
2002-06-08 12:57:10 +00:00
Guus Sliepen
40c2e36a96 Support for MaxOS/X. 2002-04-19 14:06:40 +00:00
Guus Sliepen
52e7699273 - Added support for jumbograms.
- Remove tcpaddress from edges, it is not used at all.
- Last bits of code to prevent looping requests.
2002-03-22 11:43:48 +00:00
Guus Sliepen
0c34478cc0 po/POTFILES and po/Makefile should not be generated by configure. 2002-03-10 14:05:35 +00:00
Guus Sliepen
fc674eaae1 Add check for NetBSD. 2002-02-12 14:42:37 +00:00
Guus Sliepen
d9a62c6354 Added support for packet compression, thanks to Mark Glines.
Add "Compression = <level>" to the host config files, where level can be
0 (off), or any integer between 1 (fast) and 9 (best).
2002-02-11 15:59:18 +00:00
Guus Sliepen
f0aa9641e8 Merging of the entire pre5 branch. 2002-02-10 21:57:54 +00:00
Ivo Timmermans
93cd0e33de Check for struct addrinfo 2001-11-15 23:49:46 +00:00
Ivo Timmermans
18269cfbe8 Check for getnameinfo, gai_strerror, freeaddrinfo 2001-11-15 23:26:27 +00:00
Ivo Timmermans
ae11e7c3d7 Check for getaddrinfo 2001-11-15 23:05:34 +00:00
Guus Sliepen
1935c44a1e Support new files (node/vertex/device.[ch]) and OpenBSD. 2001-10-13 13:53:07 +00:00
Guus Sliepen
6666acd001 Don't build Spanish translation. 2001-06-29 10:27:57 +00:00
Guus Sliepen
053e786540 Save configure cache more often. 2001-06-07 07:48:11 +00:00
Guus Sliepen
92924e8482 Changed some stuff to allow correct generation of po/Makefile after a
make cvs-clean.
2001-06-05 16:13:41 +00:00
Ivo Timmermans
514f8f579d Changed version number to 1.0-cvs 2001-05-26 09:35:00 +00:00
Ivo Timmermans
b236ddb1df Change version to 1.0pre4 2001-01-17 01:31:56 +00:00
Guus Sliepen
e1707f7739 - Don't even think about using sscanf with %as anymore
- Allow keys to be inside the config files or in a seperate file
- Small fixes
2000-12-22 21:34:24 +00:00
Ivo Timmermans
9175d20483 Added a check for a scanf that knows about %as. 2000-11-29 01:37:50 +00:00
Ivo Timmermans
1ca04711ae Check for get_current_dir_name. There is a replacement function in
dropin.c.
2000-11-29 00:33:15 +00:00
Ivo Timmermans
699f3b4c93 Check for the function strsignal, and define it to "" if it is not
available.
2000-11-26 22:46:53 +00:00
Guus Sliepen
1eedf54681 - Use only one socket for all UDP traffic (for compatibility)
- Write pidfile again after detaching
- Check OS (for handling FreeBSD/Solaris tun/tap stuff)
2000-11-25 13:33:33 +00:00
Guus Sliepen
cf49b2c064 Another big & bad commit:
- Added some extra search functions to rbl routines
- Fix subnet_lookup()
- Reorder some syslog messages to make more sense
- daemon() is back
- Don't let scripts execute in parallel (gives race conditions, and
  anyway something MIGHT just be configured which is necessary for further
  execution of tinc itself)
- Accidently merged check_child() with execute_script().
- Small fixes
2000-11-24 23:13:07 +00:00
Ivo Timmermans
f2dd7bb42c Do not check for the daemon() system call 2000-11-24 13:32:26 +00:00
Guus Sliepen
cebcf78b9a - Don't link with -ldl anymore
- Let's not use bash' built-in pwd function anymore... it does not follow
  symlinks.
2000-11-23 09:30:33 +00:00
Guus Sliepen
6f373e6902 - More porting to FreeBSD and Solaris. 2000-11-22 22:05:37 +00:00
Ivo Timmermans
06afd357b0 Get rid of all libtool references at once. libtool was only used by
libblowfish, which was superseded by openssl.
2000-11-20 19:56:01 +00:00
Ivo Timmermans
3cc063d23a More function and header checks 2000-11-20 18:05:34 +00:00
Ivo Timmermans
72c3776d6a Identify version as 1.0pre4-cvs 2000-11-13 22:29:22 +00:00
Ivo Timmermans
5344832be1 Add a check for openssl that accepts explicit file locations. 2000-11-13 22:01:27 +00:00
Guus Sliepen
16847ea255 - Make checkpoint tracing a compile time option (off by default) 2000-11-08 20:52:37 +00:00
Guus Sliepen
f8f1007bf4 Porting to SunOS 5.8:
- More #includes Linux doesn't seem to need
- Don't do unsetenv() on SunOS
- Use a replacement asprintf() in case the OS doesn't support it
It now compiles properly under SunOS.
2000-11-08 00:10:50 +00:00
Guus Sliepen
56bd0864e4 Porting to SunOS 5.8:
- Include all header files necessary
- Check for flock() function
2000-11-07 22:33:33 +00:00
Ivo Timmermans
3db3a41667 Only check for linux/if_tun.h once 2000-11-02 21:38:55 +00:00
Ivo Timmermans
60401d99b1 Oops, echelon change committed to cabal... :) 2000-10-23 21:56:56 +00:00
Ivo Timmermans
571cfb5846 Get the head revision up to date with cabal 2000-10-18 19:44:11 +00:00
Ivo Timmermans
6e32b870ee Output doc/es/Makefile 2000-10-16 11:35:10 +00:00
Ivo Timmermans
3b455b8f31 Add checks for the presence of the universal tun/tap device driver. 2000-10-15 17:26:31 +00:00
Ivo Timmermans
6a8c2e346e Don't look for GMP header files 2000-10-13 23:34:56 +00:00