From 4ed4c804e9505b784ded6354e3a99d0271c0a726 Mon Sep 17 00:00:00 2001 From: wiz Date: Mon, 27 Dec 2004 22:58:57 +0000 Subject: Initial import of mixminion-0.0.7.1, provided by Peter Hendrickson in PR 25573, with some cleanup by me. Mixminion is a communication security application for electronic mail messages. Its purpose is to deny an adversary the ability to determine who is communicating with whom and to provide the closely related service of anonymous communication. It does this by sending messages through a series of servers. Messages going into and out of each server are encrypted. Each server keeps a pool of messages. When a message comes in it is placed in the pool. Messages sent out from the pool are difficult to correlate with the messages going in. This process is called "mixing." Each server reduces the ability of the adversary to determine the origin of a message. Chaining the servers further reduces this ability and contains the damage caused by compromised servers. The chain of servers is chosen by the Mixminion software running on the user's machine. See http://mixminion.net for a complete description. --- security/mixminion/DESCR | 18 ++++++ security/mixminion/Makefile | 25 ++++++++ security/mixminion/PLIST | 125 ++++++++++++++++++++++++++++++++++++ security/mixminion/distinfo | 7 ++ security/mixminion/patches/patch-aa | 14 ++++ security/mixminion/patches/patch-ab | 52 +++++++++++++++ security/mixminion/patches/patch-ac | 14 ++++ 7 files changed, 255 insertions(+) create mode 100644 security/mixminion/DESCR create mode 100644 security/mixminion/Makefile create mode 100644 security/mixminion/PLIST create mode 100644 security/mixminion/distinfo create mode 100644 security/mixminion/patches/patch-aa create mode 100644 security/mixminion/patches/patch-ab create mode 100644 security/mixminion/patches/patch-ac diff --git a/security/mixminion/DESCR b/security/mixminion/DESCR new file mode 100644 index 00000000000..19a12bbc89c --- /dev/null +++ b/security/mixminion/DESCR @@ -0,0 +1,18 @@ +Mixminion is a communication security application for electronic mail +messages. Its purpose is to deny an adversary the ability to +determine who is communicating with whom and to provide the closely +related service of anonymous communication. + +It does this by sending messages through a series of servers. +Messages going into and out of each server are encrypted. Each server +keeps a pool of messages. When a message comes in it is placed in the +pool. Messages sent out from the pool are difficult to correlate with +the messages going in. This process is called "mixing." + +Each server reduces the ability of the adversary to determine the +origin of a message. Chaining the servers further reduces this +ability and contains the damage caused by compromised servers. The +chain of servers is chosen by the Mixminion software running on the +user's machine. + +See http://mixminion.net for a complete description. diff --git a/security/mixminion/Makefile b/security/mixminion/Makefile new file mode 100644 index 00000000000..b68ef23a1e7 --- /dev/null +++ b/security/mixminion/Makefile @@ -0,0 +1,25 @@ +# $NetBSD: Makefile,v 1.1.1.1 2004/12/27 22:58:57 wiz Exp $ +# + +DISTNAME= Mixminion-0.0.7.1 +PKGNAME= ${DISTNAME:S/M/m/} +CATEGORIES= security mail +MASTER_SITES= http://mixminion.net/dist/0.0.7.1/ + +MAINTAINER= pdh@wiredyne.com +HOMEPAGE= http://mixminion.net/ +COMMENT= Mixminion impedes message traffic analysis + +BUILDLINK_DEPENDS.openssl+= openssl>=0.9.7d + +CRYPTO= YES +USE_BUILDLINK3= YES +PYTHON_VERSIONS_ACCEPTED= 24pth 23pth 22pth 21pth +PYDISTUTILSPKG= YES + +TEST_TARGET= test + +.include "../../lang/python/application.mk" +.include "../../lang/python/extension.mk" +.include "../../security/openssl/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/security/mixminion/PLIST b/security/mixminion/PLIST new file mode 100644 index 00000000000..bfe3bb35dbf --- /dev/null +++ b/security/mixminion/PLIST @@ -0,0 +1,125 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2004/12/27 22:58:57 wiz Exp $ +bin/mixminion +bin/mixminiond +${PYSITELIB}/mixminion/BuildMessage.py +${PYSITELIB}/mixminion/BuildMessage.pyc +${PYSITELIB}/mixminion/BuildMessage.pyo +${PYSITELIB}/mixminion/ClientDirectory.py +${PYSITELIB}/mixminion/ClientDirectory.pyc +${PYSITELIB}/mixminion/ClientDirectory.pyo +${PYSITELIB}/mixminion/ClientMain.py +${PYSITELIB}/mixminion/ClientMain.pyc +${PYSITELIB}/mixminion/ClientMain.pyo +${PYSITELIB}/mixminion/ClientUtils.py +${PYSITELIB}/mixminion/ClientUtils.pyc +${PYSITELIB}/mixminion/ClientUtils.pyo +${PYSITELIB}/mixminion/Common.py +${PYSITELIB}/mixminion/Common.pyc +${PYSITELIB}/mixminion/Common.pyo +${PYSITELIB}/mixminion/Config.py +${PYSITELIB}/mixminion/Config.pyc +${PYSITELIB}/mixminion/Config.pyo +${PYSITELIB}/mixminion/Crypto.py +${PYSITELIB}/mixminion/Crypto.pyc +${PYSITELIB}/mixminion/Crypto.pyo +${PYSITELIB}/mixminion/Filestore.py +${PYSITELIB}/mixminion/Filestore.pyc +${PYSITELIB}/mixminion/Filestore.pyo +${PYSITELIB}/mixminion/Fragments.py +${PYSITELIB}/mixminion/Fragments.pyc +${PYSITELIB}/mixminion/Fragments.pyo +${PYSITELIB}/mixminion/MMTPClient.py +${PYSITELIB}/mixminion/MMTPClient.pyc +${PYSITELIB}/mixminion/MMTPClient.pyo +${PYSITELIB}/mixminion/Main.py +${PYSITELIB}/mixminion/Main.pyc +${PYSITELIB}/mixminion/Main.pyo +${PYSITELIB}/mixminion/NetUtils.py +${PYSITELIB}/mixminion/NetUtils.pyc +${PYSITELIB}/mixminion/NetUtils.pyo +${PYSITELIB}/mixminion/Packet.py +${PYSITELIB}/mixminion/Packet.pyc +${PYSITELIB}/mixminion/Packet.pyo +${PYSITELIB}/mixminion/ServerInfo.py +${PYSITELIB}/mixminion/ServerInfo.pyc +${PYSITELIB}/mixminion/ServerInfo.pyo +${PYSITELIB}/mixminion/TLSConnection.py +${PYSITELIB}/mixminion/TLSConnection.pyc +${PYSITELIB}/mixminion/TLSConnection.pyo +${PYSITELIB}/mixminion/ThreadUtils.py +${PYSITELIB}/mixminion/ThreadUtils.pyc +${PYSITELIB}/mixminion/ThreadUtils.pyo +${PYSITELIB}/mixminion/__init__.py +${PYSITELIB}/mixminion/__init__.pyc +${PYSITELIB}/mixminion/__init__.pyo +${PYSITELIB}/mixminion/_minionlib.so +${PYSITELIB}/mixminion/_textwrap.py +${PYSITELIB}/mixminion/_textwrap.pyc +${PYSITELIB}/mixminion/_textwrap.pyo +${PYSITELIB}/mixminion/benchmark.py +${PYSITELIB}/mixminion/benchmark.pyc +${PYSITELIB}/mixminion/benchmark.pyo +${PYSITELIB}/mixminion/directory/DirCGI.py +${PYSITELIB}/mixminion/directory/DirCGI.pyc +${PYSITELIB}/mixminion/directory/DirCGI.pyo +${PYSITELIB}/mixminion/directory/DirMain.py +${PYSITELIB}/mixminion/directory/DirMain.pyc +${PYSITELIB}/mixminion/directory/DirMain.pyo +${PYSITELIB}/mixminion/directory/Directory.py +${PYSITELIB}/mixminion/directory/Directory.pyc +${PYSITELIB}/mixminion/directory/Directory.pyo +${PYSITELIB}/mixminion/directory/ServerInbox.py +${PYSITELIB}/mixminion/directory/ServerInbox.pyc +${PYSITELIB}/mixminion/directory/ServerInbox.pyo +${PYSITELIB}/mixminion/directory/ServerList.py +${PYSITELIB}/mixminion/directory/ServerList.pyc +${PYSITELIB}/mixminion/directory/ServerList.pyo +${PYSITELIB}/mixminion/directory/__init__.py +${PYSITELIB}/mixminion/directory/__init__.pyc +${PYSITELIB}/mixminion/directory/__init__.pyo +${PYSITELIB}/mixminion/server/DNSFarm.py +${PYSITELIB}/mixminion/server/DNSFarm.pyc +${PYSITELIB}/mixminion/server/DNSFarm.pyo +${PYSITELIB}/mixminion/server/EventStats.py +${PYSITELIB}/mixminion/server/EventStats.pyc +${PYSITELIB}/mixminion/server/EventStats.pyo +${PYSITELIB}/mixminion/server/HashLog.py +${PYSITELIB}/mixminion/server/HashLog.pyc +${PYSITELIB}/mixminion/server/HashLog.pyo +${PYSITELIB}/mixminion/server/MMTPServer.py +${PYSITELIB}/mixminion/server/MMTPServer.pyc +${PYSITELIB}/mixminion/server/MMTPServer.pyo +${PYSITELIB}/mixminion/server/Modules.py +${PYSITELIB}/mixminion/server/Modules.pyc +${PYSITELIB}/mixminion/server/Modules.pyo +${PYSITELIB}/mixminion/server/PacketHandler.py +${PYSITELIB}/mixminion/server/PacketHandler.pyc +${PYSITELIB}/mixminion/server/PacketHandler.pyo +${PYSITELIB}/mixminion/server/ServerConfig.py +${PYSITELIB}/mixminion/server/ServerConfig.pyc +${PYSITELIB}/mixminion/server/ServerConfig.pyo +${PYSITELIB}/mixminion/server/ServerKeys.py +${PYSITELIB}/mixminion/server/ServerKeys.pyc +${PYSITELIB}/mixminion/server/ServerKeys.pyo +${PYSITELIB}/mixminion/server/ServerMain.py +${PYSITELIB}/mixminion/server/ServerMain.pyc +${PYSITELIB}/mixminion/server/ServerMain.pyo +${PYSITELIB}/mixminion/server/ServerQueue.py +${PYSITELIB}/mixminion/server/ServerQueue.pyc +${PYSITELIB}/mixminion/server/ServerQueue.pyo +${PYSITELIB}/mixminion/server/__init__.py +${PYSITELIB}/mixminion/server/__init__.pyc +${PYSITELIB}/mixminion/server/__init__.pyo +${PYSITELIB}/mixminion/test.py +${PYSITELIB}/mixminion/test.pyc +${PYSITELIB}/mixminion/test.pyo +${PYSITELIB}/mixminion/testSupport.py +${PYSITELIB}/mixminion/testSupport.pyc +${PYSITELIB}/mixminion/testSupport.pyo +man/man1/mixminion.1 +man/man5/mixminiond.conf.5 +man/man5/mixminionrc.5 +man/man8/mixminiond.8 +@dirrm ${PYSITELIB}/mixminion/server +@dirrm ${PYSITELIB}/mixminion/directory +@dirrm ${PYSITELIB}/mixminion diff --git a/security/mixminion/distinfo b/security/mixminion/distinfo new file mode 100644 index 00000000000..ffbfe770860 --- /dev/null +++ b/security/mixminion/distinfo @@ -0,0 +1,7 @@ +$NetBSD: distinfo,v 1.1.1.1 2004/12/27 22:58:57 wiz Exp $ + +SHA1 (Mixminion-0.0.7.1.tar.gz) = 62df7fea95e88267215ed7dc07a1715e099f5312 +Size (Mixminion-0.0.7.1.tar.gz) = 437539 bytes +SHA1 (patch-aa) = 2f1c89cf13accdb820636a07f062a8c3f1f6bd0a +SHA1 (patch-ab) = 1882865030d118f220181816c8594011465cdb63 +SHA1 (patch-ac) = e6f1dbc080e50feb9174d09df7b22c053c50e540 diff --git a/security/mixminion/patches/patch-aa b/security/mixminion/patches/patch-aa new file mode 100644 index 00000000000..40ddadf473f --- /dev/null +++ b/security/mixminion/patches/patch-aa @@ -0,0 +1,14 @@ +$NetBSD: patch-aa,v 1.1.1.1 2004/12/27 22:58:57 wiz Exp $ + +--- Makefile.orig 2004-04-04 20:43:33.000000000 +0200 ++++ Makefile +@@ -12,8 +12,7 @@ + + # XXXX This fails when PYTHON is set to a version of Python earlier than 1.3 + +-PYTHON_CANDIDATES = python python2.3 python2.3x python2.2 python2.2x python2.1\ +- python2.1x python2.0 python2.0x python2 ++PYTHON_CANDIDATES = python2p4 python2p3 python2p2 python2p1 + FINDPYTHON = \ + if [ "x`which which`" = "x" ]; then \ + echo "Ouch! I couldn't run 'which' on your system."; \ diff --git a/security/mixminion/patches/patch-ab b/security/mixminion/patches/patch-ab new file mode 100644 index 00000000000..c93475f4470 --- /dev/null +++ b/security/mixminion/patches/patch-ab @@ -0,0 +1,52 @@ +$NetBSD: patch-ab,v 1.1.1.1 2004/12/27 22:58:57 wiz Exp $ + +--- setup.py.orig 2004-05-10 19:36:22.000000000 +0200 ++++ setup.py +@@ -492,6 +492,9 @@ if os.path.exists("/usr/kerberos/include + + INCLUDE_DIRS.append("src") + ++INCLUDE_DIRS.append('/usr/pkg/include') ++INCLUDE_DIRS.append('/usr/include') ++ + EXTRA_CFLAGS = [] + if sys.platform != 'win32': + EXTRA_CFLAGS += [ '-Wno-strict-prototypes' ] +@@ -534,6 +537,28 @@ elif sys.platform != 'win32': + else: + EXTRA = {} + ++EXTRA = {'data_files': ++ [('man/man1', ['etc/mixminion.1']), ++ ('man/man5', ['etc/mixminionrc.5', 'etc/mixminiond.conf.5']), ++ ('man/man8', ['etc/mixminiond.8'])]} ++ ++orig_opts = sysconfig.get_config_vars('OPT') ++if orig_opts == ['-DNDEBUG -O2 -I/usr/pkg/include -I/usr/include']: ++ sysconfig._config_vars['OPT'] = '-DNDEBUG -O2' ++elif orig_opts == ['-DNDEBUG -O2 -I/usr/include']: ++ sysconfig._config_vars['OPT'] = '-DNDEBUG -O2' ++elif orig_opts == ['-O2 -I/usr/include']: ++ sysconfig._config_vars['OPT'] = '-O2' ++elif orig_opts == ['-DNDEBUG -g -O3 -Wall -Wstrict-prototypes']: ++ pass ++elif orig_opts == ['-g -O2 -Wall -Wstrict-prototypes']: ++ pass ++else: ++ # The package defines the Python packages it can rely upon. ++ # If we get here, this assumption is invalid. ++ print "Looks like the Python we are using has unexpected properties." ++ sys.exit(1) ++ + setup(name='Mixminion', + version=VERSION, + license="LGPL", +@@ -550,6 +575,8 @@ setup(name='Mixminion', + **EXTRA + ) + ++sysconfig._config_vars['OPT'] = orig_opts ++ + try: + for s in SCRIPTS: + os.unlink(s) diff --git a/security/mixminion/patches/patch-ac b/security/mixminion/patches/patch-ac new file mode 100644 index 00000000000..b753b32d8fc --- /dev/null +++ b/security/mixminion/patches/patch-ac @@ -0,0 +1,14 @@ +$NetBSD: patch-ac,v 1.1.1.1 2004/12/27 22:58:57 wiz Exp $ + +--- lib/mixminion/test.py.orig Sun Apr 4 10:43:12 2004 ++++ lib/mixminion/test.py +@@ -4272,7 +4272,8 @@ IntRS=5 + self.assert_(os.path.exists(c[0]) and c[0].endswith("/rm")) + self.assertEquals(c[1], []) + self.assertEquals(C._parseCommand("/bin/ls"), ("/bin/ls", [])) +- self.failUnless(C._parseCommand("python")[0] is not None) ++ # "python" does not have to be in the path. ++# self.failUnless(C._parseCommand("python")[0] is not None) + + # Base64 + self.assertEquals(C._parseBase64(" YW\nJj"), "abc") -- cgit v1.2.3