From 7bcb3d8ff2742306888af546acd790451f9fc44d Mon Sep 17 00:00:00 2001 From: Sergio Oliveira Date: Tue, 3 Mar 2015 11:45:08 -0300 Subject: redir 2.2.1_9 (new formula) Redir is a port redirector. It's functionally basically consists of the ability to listen for TCP connections on a given port, and, when it receives a connection, to then connect to a given destination address/port, and pass data between them. It finds most of its applications in traversing firewalls, but, of course, there are other uses. Closes #37360. Signed-off-by: Mike McQuaid --- Library/Formula/redir.rb | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Library/Formula/redir.rb (limited to 'Library') diff --git a/Library/Formula/redir.rb b/Library/Formula/redir.rb new file mode 100644 index 000000000..82b08e944 --- /dev/null +++ b/Library/Formula/redir.rb @@ -0,0 +1,38 @@ +class Redir < Formula + homepage "http://sammy.net/~sammy/hacks/" + url "https://github.com/TracyWebTech/redir/archive/2.2.1-9.tar.gz" + version "2.2.1_9" + sha1 "84ae75104d79432bbc15f67e4dc2980e0912b2b6" + + def install + system "make" + bin.install "redir" + man1.install "redir.man" + end + + test do + redir_pid = fork do + exec "#{bin}/redir", "--cport=12345", "--lport=54321" + end + Process.detach(redir_pid) + + nc_pid = fork do + exec "nc -l 12345" + end + + # Give time to processes start + sleep(1) + + begin + # Check if the process is running + system "kill", "-0", redir_pid + + # Check if the port redirect works + system "nc", "-z", "localhost", "54321" + ensure + Process.kill("TERM", redir_pid) + Process.kill("TERM", nc_pid) + Process.wait(nc_pid) + end + end +end -- cgit v1.2.3