Commit graph

105 commits

Author SHA1 Message Date
Guus Sliepen
b98d9787fd Various small fixes to make tinc runnable again. 2001-10-27 15:19:13 +00:00
Guus Sliepen
82e3837109 Big bad commit:
- Transition to new node/vertex/connection structures
- Use new configuration handling everywhere
- Linux tun/tap device handling cleanup
- Start of IPv6 support in route.c

It compiles, but it won't link.
2001-10-27 12:13:17 +00:00
Guus Sliepen
ea607d2d92 Revamp configuration handling:
- Store everything in AVL trees (fast lookup)
- No need for hazahaza anymore
- Parse values when needed
- This simplifies a lot of config variable lookups.
2001-10-10 20:34:27 +00:00
Guus Sliepen
a54ec980e0 config_t* is a const parameter in get_config_val(). 2001-09-01 12:46:49 +00:00
Guus Sliepen
44e9d6a287 Don't use %m in fprintf(). 2001-07-24 20:03:40 +00:00
Guus Sliepen
7bd7f5b436 You can now put an option "Mode" in tinc.conf, and choose from:
- Mode = router (default, work like tinc has always worked)
- Mode = switch (work like a switch)
- Mode = hub    (work like a hub, broadcasting everything)
2001-06-05 19:39:54 +00:00
Ivo Timmermans
54e19d3466 Fix error reporting of read_config 2001-01-17 01:30:05 +00:00
Guus Sliepen
a56df1e06b - Allow ASN1 style keys to be in the config files.
Note: tinc ignores private key in the main config file, tinc.conf,
  because it should really be in a separate file.
- When generating new keys, check if name is known and by default append
  the public key to the host configuration file (otherwise rsa_key.pub).
2001-01-13 16:36:23 +00:00
Guus Sliepen
d3f889c807 - It's 2001, all copyright notices are updated. 2001-01-07 17:09:07 +00:00
Guus Sliepen
f7bb205022 - Check and follow symlinks in is_safe_path
- By default write keys to tinc config directory
- Small fix in protocol.c
2001-01-06 18:03:41 +00:00
Guus Sliepen
e924096f62 - Let user choose whether keys are in the config files or separate
- Use AVL trees instead of RBL trees
- Fixed a lot of annoying subtle bugs! Thanks to gdb...
2001-01-05 23:53:53 +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
e469fca4d7 Re-introduced MyVirtualIP and VpnMask, as dummy options. 2000-12-06 13:33:49 +00:00
Ivo Timmermans
9267bed9f5 Oops. I did some VERY wrong things with readline(). Fixed now. 2000-12-05 08:56:44 +00:00
Ivo Timmermans
01d23601a2 Sort configuration directives 2000-12-03 12:22:19 +00:00
Ivo Timmermans
52575a573c Use buffer instead of line in read_config_file(), line may be assigned
NULL, so buffer always holds the pointer to the allocated space.
2000-12-01 12:38:42 +00:00
Ivo Timmermans
ab33c1aa60 readline() accepts two extra parameters, buf and buflen, to avoid
mallocing and freeing for every line that is read.
2000-12-01 12:36:36 +00:00
Ivo Timmermans
bf4e969899 In readline(): initialise the line to zero length;
In read_config_file(): Test for EOF, and print the variable name that
caused an error.
2000-11-30 22:32:14 +00:00
Ivo Timmermans
113198d9c0 The file is safe if it doesn't exist. 2000-11-30 21:11:03 +00:00
Ivo Timmermans
8ccb1ede92 Implemented is_safe_path, and extended ask_and_safe_open.
is_safe_path needs more work before it is useable.
2000-11-30 00:24:13 +00:00
Ivo Timmermans
d36da1948a Also free the pointer returned by readline(). 2000-11-29 14:30:07 +00:00
Ivo Timmermans
9e55426d72 Use readline() in read_config_file() instead of fgets. 2000-11-29 14:27:24 +00:00
Ivo Timmermans
54ef13bf75 Implemented a readline() function that will read an entire line into a
dynamically allocated buffer;

Ask for a file name in ask_and_safe_open().
2000-11-29 14:24:40 +00:00
Ivo Timmermans
3ff76eb10a Save RSA public and private keys to a separate file, instead of
wanting to copy them into a configuration file.
2000-11-28 23:12:57 +00:00
Guus Sliepen
408ca91766 - Integrate rbl trees into tinc. 2000-11-20 19:12:17 +00:00
Guus Sliepen
698191fd2f - Prepended config_ to all configuration option names, because it confused
everything (including myself).
- Use connection oriented UDP sockets for both incoming and outgoing
  packets.
2000-11-04 22:57:33 +00:00
Ivo Timmermans
5065ea32c3 Warnings removal pass: always include config.h first; add a few
prototypes in the header files.

This also fixes a few lint errors/warnings.
2000-11-03 22:35:12 +00:00
Guus Sliepen
7398002ade - Fixed ans_key_h
- Removed tapsubnet configuration option.
2000-10-29 00:24:31 +00:00
Guus Sliepen
35932fe6c8 - Very big cleanup. 2000-10-29 00:02:20 +00:00
Guus Sliepen
9c2f805255 - Lots of little stuff modified
- Succesfully reads in subnets from host config file now and adds them to
  the list.
2000-10-24 15:46:18 +00:00
Ivo Timmermans
76d794eaf7 read_server_config: Check for result of read_config_file. 2000-10-22 13:47:41 +00:00
Guus Sliepen
bb3d18d56f - Fixing little things
- Two tinc daemons can connect to eachother now (but they disconnect right
  after the ACKs).
2000-10-16 16:33:30 +00:00
Guus Sliepen
85adeef212 - The daemon actually runs now (somewhat)
- Added support for tun/tap driver (autodetect!)
- More sophisticated checkpoint functionality
- Updated dutch translation
2000-10-15 00:59:37 +00:00
Guus Sliepen
e9635ae38e - Second fixing-things pass: it even links now.
- Lots of FIXME comments added to the source code.
2000-10-14 17:04:16 +00:00
Guus Sliepen
183a8edd22 - Fixing-things pass: every source file compiles into an object file now,
but linking tincd does not work yet (must link with openssl libs and
  define some missing functions).
2000-10-11 22:01:02 +00:00
Guus Sliepen
6e39481d8f - Generalized config file parsing to support multiple configuration trees. 2000-10-11 13:42:52 +00:00
Ivo Timmermans
296171d115 New directive: Name. 2000-09-14 14:34:38 +00:00
Guus Sliepen
4dde583bc9 - Use strerror() instead of sys_errlist[] for increased portability
(Needed for SunOS)
2000-09-06 11:49:05 +00:00
Guus Sliepen
9acd4379f7 - Added two extra configuration options, Interface and InterfaceIP, to
bind the listen socket to a network device or a specific IP.
2000-08-09 14:02:16 +00:00
Guus Sliepen
fdc6a2f106 - Added experimental hackish tunneling-over-TCP support.
Just use TCPonly = true in the configuration file.
2000-08-07 14:52:16 +00:00
Guus Sliepen
b1ecbf9777 - Delayed address resolving for ConnectTo lines in configuration file to
allow DynDNS to work without restarting tincd.
2000-07-02 13:36:18 +00:00
Guus Sliepen
24874d0806 - Removed segfault bug in conf.c (must have been there for ages!)
- Made main_loop() signal proof
- #defined MAXTIMEOUT (15 minutes)
- If something really really bad happens, close all connections, wait
  for MAXTIMEOUT seconds, and then restart tinc
2000-06-30 11:45:16 +00:00
Guus Sliepen
0f9ad1f047 - Fixed memory leak.
- Implemented SIGHUP configuration file reloading.
- Other small changes.
2000-06-29 19:47:04 +00:00
Guus Sliepen
4aeaea5e59 - Improved handling of errors on connection attempts. 2000-06-27 20:10:48 +00:00
Guus Sliepen
45a28b1e89 - Fixed indirectdata=no problem
- Added support for multiple ConnectTo lines in tinc.conf.
2000-06-27 15:08:58 +00:00
Ivo Timmermans
33c3a25a66 Configuration directive `IndirectData'. 2000-06-17 20:55:54 +00:00
Ivo Timmermans
f826301889 Added new configuration directive `Hostnames', which controls the resolving of IP addresses to hostnames. 2000-05-30 11:18:12 +00:00
Ivo Timmermans
9fd02ffcb0 Internationalization of tinc. 2000-05-29 21:01:26 +00:00
Guus Sliepen
85963f4c85 Stub for VpnMask config directive. 2000-05-16 13:09:15 +00:00
Ivo Timmermans
7e817fcf0f Unlimited length in the config file, thanks to Cris van Pelt. 2000-05-15 18:28:45 +00:00
Guus Sliepen
ee96ccabbb Cleanups. 2000-05-14 12:22:42 +00:00
Guus Sliepen
8caa1b9d75 Proxymode removed. 2000-05-14 11:39:18 +00:00
Guus Sliepen
d0ba34ccae Added new config variable "ProxyMode". If enabled, all outgoing packets
are sent to the uplink (ConnectTo), which will have to forward them for
us (kernel should do that). This is for people behind firewalls.
2000-05-08 18:44:15 +00:00
Guus Sliepen
44f9449888 Cleanups:
- Changed recv/send calls into read/write calls for streams
- Made all sizeof() functions use a variable name instead of type
2000-04-26 17:42:55 +00:00
Ivo Timmermans
1243156a5e Initial revision 2000-03-26 00:33:07 +00:00