uftp 4.9.3 (new formula)

UFTP is an encrypted multicast file transfer program, designed to
securely, reliably, and efficiently transfer files to multiple
receivers simultaneously. This is useful for distributing large files
to a large number of receivers, and is especially useful for data
distribution over a satellite link (with two way communication), where
the inherent delay makes any TCP based communication highly
inefficient. The multicast encryption scheme is based on TLS with
extensions to allow multiple receivers to share a common key. UFTP also
has the capability to communicate over disjoint networks separated by
one or more firewalls (NAT traversal) and without full end-to-end
multicast capability (multicast tunneling) through the use of a UFTP
proxy server. These proxies also provide scalability by aggregating
responses from a group of receivers.

Closes #9878.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
This commit is contained in:
Dan Berger 2017-02-11 18:50:15 -08:00 committed by Mike McQuaid
parent 697de9c703
commit cc6a74b9b3

45
Formula/uftp.rb Normal file
View file

@ -0,0 +1,45 @@
class Uftp < Formula
desc "secure, reliable, efficient multicast file transfer program"
homepage "https://uftp-multicast.sourceforge.io/"
url "https://downloads.sourceforge.net/project/uftp-multicast/source-tar/uftp-4.9.3.tar.gz"
sha256 "9e9215af0315257c6cc4f40fbc6161057e861be1fff10a38a5564f699e99c78f"
depends_on "openssl"
def install
system "make", "OPENSSL=#{Formula["openssl"].opt_prefix}", "DESTDIR=#{prefix}", "install"
# the makefile installs into DESTDIR/usr/..., move everything up one and remove usr
# the project maintainer was contacted via sourceforge on 12-Feb, he responded WONTFIX on 13-Feb
prefix.install Dir["#{prefix}/usr/*"]
(prefix/"usr").unlink
end
plist_options :manual => "uftpd"
def plist; <<-EOS.undent
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>#{plist_name}</string>
<key>ProgramArguments</key>
<array>
<string>#{opt_sbin}/uftpd</string>
<string>-d</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>#{var}</string>
</dict>
</plist>
EOS
end
test do
system "#{bin}/uftp_keymgt"
end
end