diff --git a/CHANGELOG b/CHANGELOG index 9a8dcca..67adeb3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -18,6 +18,8 @@ CHANGES: - The starting cache miss value is randomized at startup, fixes #65. - Raw UDP mode added. If the iodined server is reachable directly, packets can be sent to it without DNS encoding. Fixes #36. + - Added -F option to write pidfile, based on patch from + misc at mandriva.org. Fixes #70. 2009-06-01: 0.5.2 "WifiFree" - Fixed client segfault on OS X, #57 diff --git a/man/iodine.8 b/man/iodine.8 index 7146dd3..ccd5085 100644 --- a/man/iodine.8 +++ b/man/iodine.8 @@ -7,7 +7,7 @@ iodine, iodined \- tunnel IPv4 over DNS .B iodine [-h] -.B iodine [-f] [-u +.B iodine [-f] [-r] [-u .I user .B ] [-P .I password @@ -105,6 +105,11 @@ Apply SELinux 'context' after initialization. Create 'pidfile' and write process id in it. .SS Client Options: .TP +.B -r +Skip raw UDP mode. If not used, iodine will try getting the public IP address +of the iodined host and test if it is reachable directly. If it is, traffic +will be sent to the server instead of the DNS relay. +.TP .B -m fragsize Maximum downstream fragsize. Not setting this will cause the client to probe the maximum accepted downstream packet size. diff --git a/src/iodine.c b/src/iodine.c index 5888535..da0aa79 100644 --- a/src/iodine.c +++ b/src/iodine.c @@ -1157,7 +1157,7 @@ static void usage() { extern char *__progname; - fprintf(stderr, "Usage: %s [-v] [-h] [-f] [-u user] [-t chrootdir] [-d device] " + fprintf(stderr, "Usage: %s [-v] [-h] [-f] [-r] [-u user] [-t chrootdir] [-d device] " "[-P password] [-m maxfragsize] [-z context] [-F pidfile] " "[nameserver] topdomain\n", __progname); exit(2); @@ -1168,12 +1168,13 @@ help() { extern char *__progname; fprintf(stderr, "iodine IP over DNS tunneling client\n"); - fprintf(stderr, "Usage: %s [-v] [-h] [-f] [-u user] [-t chrootdir] [-d device] " + fprintf(stderr, "Usage: %s [-v] [-h] [-f] [-r] [-u user] [-t chrootdir] [-d device] " "[-P password] [-m maxfragsize] [-z context] [-F pidfile] " "[nameserver] topdomain\n", __progname); fprintf(stderr, " -v to print version info and exit\n"); fprintf(stderr, " -h to print this help and exit\n"); fprintf(stderr, " -f to keep running in foreground\n"); + fprintf(stderr, " -r to skip raw UDP mode attempt\n"); fprintf(stderr, " -u name to drop privileges and run as user 'name'\n"); fprintf(stderr, " -t dir to chroot to directory dir\n"); fprintf(stderr, " -d device to set tunnel device name\n");