Skip to content

redir v3.0

Compare
Choose a tag to compare
@troglobit troglobit released this 05 May 22:48
· 62 commits to master since this release

This version changes the command line syntax! You are going to have to
change how you call redir in order to upgrade.

Changes

  • Convert SRC:PORT and DST:PORT from options to arguments, using
    a UNIX syntax that is pretty much standard by now.
  • Rename -n,--name=STR --> -I,--ident=NAME
  • Simplify argument parsing, move more data to global variables
  • Simplify debug() statements, use syslog()
  • Daemonize by default, like a proper UNIX daemon, unless -n, --foreground is given
  • Replace perror() and other log messages going to stderr in favor
    of syslog() for everything, unless running in foreground, in which
    case we use LOG_PERROR for log message output to stderr as well
    ... unless -s, --syslog is given
  • Replace -d, --debug with -l, --loglevel=LEVEL to control the
    syslog() default log level. The default log level is LOG_NOTICE
  • Convert to GNU Configure & Build System. With configure switches like
    --disable-ftp, --disable-shaping, and --with-libwrap
  • Change distribution to use .tar.xz rather than .tar.gz from now on
  • Convert to Markdown, clean up and simplify README
  • Remove local versions of getopt() and getopt_long(). All relevant
    UNIX distributions should have them by now.
  • Massive code cleanup and (Linux KNF) coding style fixes
  • Add Coverity Scan support for Travis-CI runs
  • Complete rewrite of man page
  • Overhaul of --help usage help
  • Refactor to reduce code duplication:
    • verify_request() for TCP wrapper handling
    • target_init() for initializing a struct sockaddr_in
    • target_connect() to handle creating and connecting a target socket
  • Refactor to harmonize function and variable names
  • Cleanup redir.c heading and use proper GNU GPL blurb
  • Make sure to credit all known major contributors in AUTHORS file
  • Removed redir.lsm file

Fixes

  • Fix socket leaks found by Coverity Scan
  • Fix unterminated strings returned by read(), found by Coverity Scan
  • Fix ordering bug(s) found by Coverity Scan
  • Fix strcpy() into fixed size buffer found by Coverity Scan
  • Fix uninitialized struct sockaddr_in, found by Coverity Scan
  • Check malloc() return value
  • Do gethostbyname() before every connect(), DNS names may change at
    runtime