Commit Graph

480 Commits

Author SHA1 Message Date
Erik Ekman 62824e92ed Handle trans id >= 0x8000, fix bug #37 2012-02-04 20:33:58 +01:00
Erik Ekman 09c904f0c1 make OUT debug look more like IN debug 2012-02-04 20:33:58 +01:00
Erik Ekman 45d0708306 Fix for compile error on FreeBSD 2012-02-04 20:33:58 +01:00
Erik Ekman 85e75cadea make iodined build on opensolaris 2012-02-04 20:33:58 +01:00
Erik Ekman cc075124fa Detect duplicates in upstream data, start frag at zero 2012-02-04 20:33:58 +01:00
Erik Ekman 8d27febc7d Implemented new protocol for upstream data 2012-02-04 20:33:58 +01:00
Erik Ekman 2c4c5ec1ba Added simple 5bits to 8 and reverse encoder, with test 2012-02-04 20:33:58 +01:00
Erik Ekman 9ff6683119 Removing old code 2012-02-04 20:33:58 +01:00
Erik Ekman 37b7a9fade Added notreached 2012-02-04 20:33:58 +01:00
Erik Ekman 8a093efa59 Reverted new protocol 2012-02-04 20:33:58 +01:00
Erik Ekman 7eb7c02e5f Updated encoding tests 2012-02-04 20:33:58 +01:00
Erik Ekman e5f8b28813 Added blocksize funcs, made funcs static 2012-02-04 20:33:58 +01:00
Erik Ekman ae942ac542 Revert client shutdown code, it seems BADIP can arrive even though everything works 2012-02-04 20:33:58 +01:00
Erik Ekman b36ed27117 Added -n to set NS ip, updated docs, added checks 2012-02-04 20:33:58 +01:00
Erik Ekman e7fdb0a5f5 Reverted [686], [689] and [692]. SSH login now works again. Increased version. 2012-02-04 20:33:58 +01:00
Erik Ekman 3f579d2d39 Rename codecs 2012-02-04 20:33:58 +01:00
Erik Ekman d7f2d60d56 Use base64 is case is preserved and plus sign is allowed 2012-02-04 20:33:58 +01:00
Erik Ekman 33c1efb9ca Base64 codec now uses + as 64th char 2012-02-04 20:33:58 +01:00
Erik Ekman 8769d14cde rewrote strange message 2012-02-04 20:33:58 +01:00
Erik Ekman b5cdb09011 Added debugging 2012-02-04 20:33:58 +01:00
Erik Ekman 9d3f87ddcc Fix issue #33, respond to NS requests 2012-02-04 20:33:57 +01:00
Erik Ekman f4cd876ace shorten some lines 2012-02-04 20:33:57 +01:00
Erik Ekman b38293c11b Stop client if server is restarted 2012-02-04 20:33:57 +01:00
Erik Ekman bd45e6ccb2 formatting 2012-02-04 20:33:57 +01:00
Erik Ekman 49695a4cb4 Updated year 2012-02-04 20:33:57 +01:00
Erik Ekman 26cc53e3fa added include for iovec 2012-02-04 20:33:57 +01:00
Erik Ekman 35a8ffe46d Now fetches destination address from udp packets 2012-02-04 20:33:57 +01:00
Erik Ekman 02d40c1a7b Forward non-tunnel requests to another udp port (fixes #31) 2012-02-04 20:33:57 +01:00
Francois Revol ec2d6657a0 Patch to make it build on BeOS R5-BONE and Haiku 2012-02-04 20:33:57 +01:00
Erik Ekman d24dae882a Implemented filtering based on topdomain 2012-02-04 20:33:57 +01:00
Erik Ekman a07187a629 Eliminate extra 'ping' message when server sends data to client which generates a reply 2012-02-04 20:33:57 +01:00
Erik Ekman c82280c600 Fix #34, send pings only every 5 seconds 2012-02-04 20:33:57 +01:00
Erik Ekman 166fb4b6c7 Fixed segfault when sending version rejects: VNAK/VFUL 2012-02-04 20:33:57 +01:00
Erik Ekman fbaccb2f53 Changed texts 2012-02-04 20:33:57 +01:00
Erik Ekman 3fc9eaeaa3 Improved latency for traffic initiated from server 2012-02-04 20:33:57 +01:00
Erik Ekman 110866d76b fixed osflags script, updated changelog 2012-02-04 20:33:57 +01:00
Erik Ekman c01f42fd0f fix opensolaris warning 2012-02-04 20:33:57 +01:00
Erik Ekman 21ad2ef5ae added -D to usage() and help() 2012-02-04 20:33:57 +01:00
Erik Ekman 025fb1bf1f Added debug capability on server 2012-02-04 20:33:57 +01:00
Erik Ekman 539ebb27d9 Changes to allow handling of queries of type A, NS etc 2012-02-04 20:33:57 +01:00
Erik Ekman f06b208f3e Reworked fix for #21 2012-02-04 20:33:57 +01:00
Erik Ekman 0d3494ae78 Added -c flag to disable IP/port checking in each request 2012-02-04 20:33:57 +01:00
Erik Ekman 3c3cddee67 Remove double warnings 2012-02-04 20:33:57 +01:00
Erik Ekman 081b5b3330 Add extra ldflags for solaris 2012-02-04 20:33:57 +01:00
Albert Lee cd91d675ae Applied Open/Solaris patch 2012-02-04 20:33:57 +01:00
Erik Ekman 03a0ccbca0 Add include for setgroups() on Linux 2012-02-04 20:33:57 +01:00
Andrew Griffiths 00c910e247 applied security patch from Andrew Griffiths, limit user groups 2012-02-04 20:33:56 +01:00
Vincent Bernat a36ce9eaaf Applied patch for not configuring the tun interface, debian bug 477692 2012-02-04 20:33:56 +01:00
Erik Ekman 791c3de84c reapplied maxims patches 2012-02-04 20:33:56 +01:00
Erik Ekman 11c53199cf removed empty files 2012-02-04 20:33:56 +01:00
Erik Ekman 07e98f181c reverting the code after 0.4.1, except for some patches 2012-02-04 20:33:56 +01:00
Maxim Bourmistrov ccdee286ad Added port range check, based on patch from Maxim Bourmistrov 2012-02-04 20:33:56 +01:00
Maxim Bourmistrov 7565a2d554 Added checks on topdomain name based on patch from Maxim Bourmistrov 2012-02-04 20:33:56 +01:00
Maxim Bourmistrov db58f8de20 Applied patch from Maxim Bourmistrov 2012-02-04 20:33:56 +01:00
Erik Ekman 1f69a1b61e Reset sentlen when advancing 2012-02-04 20:33:56 +01:00
Erik Ekman dcfa910d1c #7 Actually update server_id 2012-02-04 20:33:56 +01:00
Erik Ekman 052fc83bdc Always send latest chunk id 2012-02-04 20:33:56 +01:00
Erik Ekman 924f4b3759 Add two chars from client to server for verification of data delivery 2012-02-04 20:33:56 +01:00
Erik Ekman d50533e26e Rewrote strange warning message 2012-02-04 20:33:56 +01:00
Erik Ekman 8613f815c9 Use packet functions for packet handling. Prepare for sending fragmented ( #7 ) 2012-02-04 20:33:56 +01:00
Erik Ekman 5b07cdd057 Remove useless success warning message 2012-02-04 20:33:56 +01:00
Erik Ekman b67819ac81 use packet functions for empty check and fill 2012-02-04 20:33:56 +01:00
Erik Ekman a114ab3ff9 revert [607], [608] and parts of [611] 2012-02-04 20:33:56 +01:00
Erik Ekman 468844b0a9 Fixed packet_empty() 2012-02-04 20:33:56 +01:00
Erik Ekman 3c644e9a88 Renamed packet_sending to packet_empty 2012-02-04 20:33:56 +01:00
Erik Ekman f23badc9bf Speling 2012-02-04 20:33:56 +01:00
Erik Ekman 3748056240 Added packet_init 2012-02-04 20:33:56 +01:00
Erik Ekman 3c7d3c6a35 Extract login handling to function 2012-02-04 20:33:56 +01:00
Erik Ekman 998b944225 Extract version checking to function 2012-02-04 20:33:56 +01:00
Erik Ekman bebdb6086b added license 2012-02-04 20:33:56 +01:00
Erik Ekman bc5f0a7fb7 #7 Move packet handling out of iodine.c and into packet.c 2012-02-04 20:33:56 +01:00
Erik Ekman dc5138bc55 packet name collided with global packet 2012-02-04 20:33:56 +01:00
Erik Ekman 5ebc9ee668 Add notreached comments 2012-02-04 20:33:56 +01:00
Erik Ekman 2df8875fcb Add notreached comments 2012-02-04 20:33:56 +01:00
Matthew William Solloway Bell fcec74b3dc apply patch to detach before chroot/privdrop 2012-02-04 20:33:55 +01:00
Jim 1188572a12 Use %d for size_t sprintf 2012-02-04 20:33:55 +01:00
Matus Harvan 4a16503ea5 buffer overflow in dns.c pointed out by Matus Harvan, also strncpy cleanups 2012-02-04 20:33:55 +01:00
Bjorn Andersson 63fa76e182 local stuff in iodine made static 2012-02-04 20:33:55 +01:00
Bjorn Andersson 879e73a4c2 stdin-echo fix in server too 2012-02-04 20:33:55 +01:00
Erik Ekman 71973f13ef #21: Reverted [538], reopening 2012-02-04 20:33:55 +01:00
Bjorn Andersson 89232bcaa6 some cleanup 2012-02-04 20:33:55 +01:00
Bjorn Andersson 060c2e3faa name the address of the nameserver nameserv instead of peer 2012-02-04 20:33:55 +01:00
Bjorn Andersson 1965b0af32 cleaning commandline on server too 2012-02-04 20:33:55 +01:00
Bjorn Andersson 3d07361678 fixes bad printf after resolv.conf-fix 2012-02-04 20:33:55 +01:00
Bjorn Andersson 49ad0dbc86 nasty hack hides password on commandline 2012-02-04 20:33:55 +01:00
Bjorn Andersson 13df3ca856 use termios to not echo password when entered on stdin 2012-02-04 20:33:55 +01:00
Erik Ekman 810bb39899 #23 updated manpage and log row 2012-02-04 20:33:55 +01:00
Bjorn Andersson e16a852fa4 /etc/resolv.conf is used if no nameserver is given on commandline 2012-02-04 20:33:55 +01:00
Erik Ekman f932e57ce6 #25 Fixed crash on query with bad top domain 2012-02-04 20:33:55 +01:00
Erik Ekman 285a412563 #16 Do case preservation check after login 2012-02-04 20:33:55 +01:00
Erik Ekman 861da5d022 #24: Add length check on topdomain, <= 128 chars 2012-02-04 20:33:55 +01:00
Erik Ekman 25e51c666a use common send_query function 2012-02-04 20:33:55 +01:00
Erik Ekman e8b2310fae converted iodine.c to use packet struct 2012-02-04 20:33:55 +01:00
Erik Ekman fc3de73f85 fixed #17: report RCODE error msgs 2012-02-04 20:33:55 +01:00
Erik Ekman fe4f24a729 Store only in_addr, not whole sockaddr, fixes #21 2012-02-04 20:33:55 +01:00
Erik Ekman 1e895fa713 Prepare for encoding switching 2012-02-04 20:33:55 +01:00
Erik Ekman 9cd33b53c7 remove last warning on osx 2012-02-04 20:33:55 +01:00
decker df926094a5 add patch from decker for osx 2012-02-04 20:33:38 +01:00
Erik Ekman d62b1562ed Remove warning for \!LINUX 2012-02-04 20:33:34 +01:00
decker 2146575090 add sys/time.h for old osx 2012-02-04 20:33:27 +01:00
Erik Ekman 331e1ab247 more comments 2007-06-10 23:13:07 +00:00
Erik Ekman ba8f2cfac1 base64 impl now escapes dots. does not really respect buflen 2007-06-10 18:55:18 +00:00
Erik Ekman 82ac77da7e missing include 2007-06-10 18:54:35 +00:00
Erik Ekman 7c53be08c0 added base64 codec 2007-06-09 17:49:19 +00:00
Erik Ekman 1e7486bdd2 make sure len is always correct 2007-06-09 17:48:28 +00:00
Erik Ekman 77ae2d682a Added me as author 2007-06-09 17:11:09 +00:00
Erik Ekman f099a77743 move unpack_data to encoding.c 2007-06-09 16:38:31 +00:00
Erik Ekman dbfecb5be6 #6 reworked encoding 2007-06-09 16:18:59 +00:00
Erik Ekman faea33eaae Move dns_build_hostname to iodine.c 2007-06-07 18:57:18 +00:00
Erik Ekman 15a83534a8 new year 2007-03-21 00:00:27 +00:00
Erik Ekman 6a4dfb8cbd do detaching after user switch 2007-03-01 21:41:17 +00:00
Erik Ekman 264a5227de move daemonizing to common.c 2007-03-01 21:19:01 +00:00
Erik Ekman baf1ab4201 move chrooting to common.c 2007-03-01 21:14:51 +00:00
Erik Ekman 53f6cb2f85 compare with VNAK instead of VACK twice 2007-03-01 15:34:04 +00:00
Erik Ekman 76ec4ab895 #11 routing between clients implemented. clients need to poll more often to get reasonable packetloss due to no queue 2007-02-11 16:39:09 +00:00
Erik Ekman ad07e40988 Use -pedantic, fixed all warnings 2007-02-11 13:54:40 +00:00
Erik Ekman 92a791f430 always send replys to P packets 2007-02-11 13:39:32 +00:00
Erik Ekman 08ecccc7fe #11 only read from tun if any active user is not sending 2007-02-11 11:51:30 +00:00
Erik Ekman 23ad29522b #11 moved user code to user.c 2007-02-11 11:21:18 +00:00
Erik Ekman 265332f39b Add header file for bsd 2007-02-11 10:47:31 +00:00
Erik Ekman c6a67d340e Use bsd ip.h header instead 2007-02-11 10:42:57 +00:00
Erik Ekman b56a4d23f5 #11 Fix delayed ack timer 2007-02-11 01:30:41 +00:00
Erik Ekman 8d766e2857 #11 basic support for multiple users. some work left 2007-02-11 00:50:02 +00:00
Bjorn Andersson 7994402806 added explicit typecast on zlib-calls to silence compiler warnings 2007-02-10 23:23:08 +00:00
Bjorn Andersson 3b8ca164ab readded some includes to make it build on openbsd 2007-02-10 23:21:12 +00:00
Bjorn Andersson eb082ac9ce code cleanup 2007-02-10 22:52:36 +00:00
Bjorn Andersson 757f59e350 checking return value from decompress, to avoid sending 64k packages on the tun every time there is a datacorruption 2007-02-10 22:52:15 +00:00
Bjorn Andersson 16e9df4164 moved method that encoded strings to dnsnames to read.c and renamed it to putname 2007-02-10 22:30:40 +00:00
Bjorn Andersson c538bd0b6d the seed wasnt saved in the server between it was sent to the client and the client logged in, extracted function for sending version_responses 2007-02-10 22:17:11 +00:00
Erik Ekman a49e400ea9 splint said that these headers where not used 2007-02-10 22:13:42 +00:00
Bjorn Andersson 8383344817 knf 2007-02-10 21:44:03 +00:00
Bjorn Andersson 3dad84f5b9 some code cleanup in handshake, fixes possibly strange errors if short packet received 2007-02-10 17:10:17 +00:00
Erik Ekman 3a3b06b4b4 Add password in usage 2007-02-10 12:36:08 +00:00
Erik Ekman 0e951ef007 #10 fix offbyone error in decode 2007-02-08 20:32:17 +00:00
Erik Ekman 7d7a81374e Fix returnvalue from decode 2007-02-08 19:45:59 +00:00
Bjorn Andersson 0d08be747f knf 2007-02-06 16:01:09 +00:00
Erik Ekman 9355cd7829 #10 fixed basic ack. pings bigger than 110 still lost 2007-02-05 19:44:46 +00:00
Erik Ekman 9b438c20d4 #3 remove dnsd_send from dns.c, move to iodined.c 2007-02-05 17:49:30 +00:00
Erik Ekman 1cba145310 #3 Clean up headerfile 2007-02-05 17:49:01 +00:00
Erik Ekman cb66fd68a2 #3 Renamed functions 2007-02-05 17:40:06 +00:00
Bjorn Andersson db62c7f82c extracted common code from send_* in iodine.c 2007-02-04 23:12:08 +00:00
Erik Ekman da636b1f47 #3 fix issue with topdomain. Also make sure ping packet is type NULL 2007-02-04 23:08:09 +00:00
Bjorn Andersson 46d3053540 servern now get a topdomain other than NULL 2007-02-04 22:38:07 +00:00
Bjorn Andersson b45dc25226 #3 major cleanup on client, moved all network code from dns.c to iodine.c 2007-02-04 20:37:36 +00:00
Erik Ekman 728919fc9a #5 Add checks on incoming queries 2007-02-04 17:22:07 +00:00
Bjorn Andersson 7207d722b4 extracted tunnel-code to own functions 2007-02-04 17:00:20 +00:00
Erik Ekman 2ee543f053 Use unsigned long in zlib functions 2007-02-04 16:06:53 +00:00
Erik Ekman c5317fe388 #3 move dnsd_read from dns.c to iodined.c, now named read_dns 2007-02-04 15:46:06 +00:00
Bjorn Andersson 064d060f79 fixed type of length that zlib is given 2007-02-04 15:38:28 +00:00
Bjorn Andersson b1d7bfb634 #4 added the common-files 2007-02-04 15:22:55 +00:00
Bjorn Andersson 692b595cfc #4 - moved common stuff to common.c and moved open_dns, close_dns there 2007-02-04 15:21:55 +00:00
Erik Ekman 8c7fb4d947 #1 move saving of client ip 2007-01-31 19:34:27 +00:00
Erik Ekman fa2ca99b8a Fix signedness warnings 2007-01-28 12:58:23 +00:00
Erik Ekman 4f1c123c8e Fixed signedness in login.c 2007-01-28 12:54:16 +00:00
Erik Ekman 2127ea784f fix signedness and cleanup 2007-01-28 12:50:24 +00:00
Erik Ekman 59b7f5502f dont export the peer 2007-01-28 12:36:34 +00:00
Bjorn Andersson ef43ef6293 query is now an enum for compile-time checks 2007-01-28 12:31:04 +00:00
Erik Ekman 1a46808b8a Rework query testcase, some dns cleanup 2007-01-28 11:52:36 +00:00
Erik Ekman 89c99f1ddf Use dns_decode for packets from client 2007-01-28 06:47:51 +00:00
Erik Ekman d1c36f3db4 Added dns_decode test for response 2007-01-28 06:11:54 +00:00
Bjorn Andersson 5beb814d8c refactoring client receive code 2007-01-28 06:00:50 +00:00
Erik Ekman d1ffedae43 Added test on dns_encode 2007-01-28 05:37:13 +00:00
Bjorn Andersson e56074b42a refactoring dns, ripped out dns packet generating code, removing dependency on io 2007-01-28 05:10:19 +00:00
Erik Ekman c10fa59bbb Fix speling 2007-01-28 04:31:19 +00:00
Erik Ekman dc5e95ee3d Make variables static 2007-01-28 04:30:43 +00:00
Erik Ekman 59b85a87a3 State arch 2007-01-28 04:17:33 +00:00
Erik Ekman 1edd418ca2 Header files for htonl 2007-01-28 04:13:14 +00:00
Erik Ekman eed9e7063d Fix login_calculate on wrong endian 2007-01-28 04:10:37 +00:00
Bjorn Andersson ac1cb81dec fixed memleak on failure 2007-01-28 02:01:39 +00:00
Bjorn Andersson 90e47bbf8b borken length in allocation, now fixed 2007-01-28 01:39:19 +00:00
Bjorn Andersson 0c8e398941 base32 now correct and test cleanup 2007-01-28 01:07:51 +00:00
Bjorn Andersson f3da9d2d85 separated md5 and login 2006-12-16 01:07:29 +00:00
Bjorn Andersson 13a17af72d added new base32-implementation, work has to be done to incoorp this into encoding 2006-12-16 00:12:06 +00:00
Erik Ekman 5641fa00e4 use srand() 2006-11-19 00:41:42 +00:00
Erik Ekman bb39c17bd9 forgot version.h 2006-11-18 16:21:47 +00:00
Erik Ekman cf3ca7e5d0 Check ip address of incoming packet 2006-11-18 16:19:39 +00:00
Erik Ekman 1c7f63e97a Fixed password authentication 2006-11-18 16:08:47 +00:00
Erik Ekman 8b81909b5b Fixed tests 2006-11-18 13:37:37 +00:00
Erik Ekman 6fc460ded6 server port warning message 2006-11-12 22:43:03 +00:00
Bjorn Andersson 1f740de4aa moving files to src and tests, tests disabled 2006-11-09 19:08:28 +00:00