ports/184322: [NEW PORT] net-p2p/bitmessage: Secured messaging client

Yuri yuri at tsoft.com
Wed Nov 27 11:10:00 UTC 2013


>Number:         184322
>Category:       ports
>Synopsis:       [NEW PORT] net-p2p/bitmessage: Secured messaging client
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Nov 27 11:10:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Yuri
>Release:        9.2
>Organization:
n/a
>Environment:
>Description:
This is a port for the bitmessage client.
https://bitmessage.org

Please note that even though this is the python app, it doesn't use any python dependency modules for security reasons (to avoid external code as dependencies). Also it doesn't use python project build style (setup.py). It contains all needed dependency code.

>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: net-p2p/bitmessage/Makefile
===================================================================
--- net-p2p/bitmessage/Makefile	(revision 0)
+++ net-p2p/bitmessage/Makefile	(working copy)
@@ -0,0 +1,34 @@
+# Created by: Yuri Victorovich <yuri at tsoft.com>
+# $FreeBSD$
+
+PORTNAME=	bitmessage
+PORTVERSION=	0.4.1
+#PORTREVISION=	0
+CATEGORIES=	net-p2p
+MASTER_SITES=	GH
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	Bitmessage
+GH_PROJECT=	PyBitmessage
+GH_COMMIT=	e21fdb4
+GH_TAGNAME=	v${PORTVERSION}
+
+MAINTAINER=	yuri at tsoft.com
+COMMENT=	Secure P2P communications client
+
+GNU_CONFIGURE=	no
+USE_OPENSSL=	yes
+USE_PYTHON=	yes
+
+NO_STAGE=	yes
+
+pre-install:
+	@(cd ${WRKSRC} && \
+	${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
+		-d ${WRKSRC} -f ${WRKSRC} && \
+	${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \
+		-d ${WRKSRC} -f ${WRKSRC} && \
+	${RM} ${WRKSRC}/src/shared.py.orig)
+
+.include <bsd.port.pre.mk>
+.include <bsd.port.post.mk>

Property changes on: net-p2p/bitmessage/Makefile
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+FreeBSD=%H
\ No newline at end of property
Index: net-p2p/bitmessage/distinfo
===================================================================
--- net-p2p/bitmessage/distinfo	(revision 0)
+++ net-p2p/bitmessage/distinfo	(working copy)
@@ -0,0 +1,2 @@
+SHA256 (bitmessage-0.4.1.tar.gz) = 76dfb7512404de05cad83cb06209a550daf2b960a1a8f739b4f2059d3ecb47df
+SIZE (bitmessage-0.4.1.tar.gz) = 408989

Property changes on: net-p2p/bitmessage/distinfo
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: net-p2p/bitmessage/files/patch-shared.py
===================================================================
--- net-p2p/bitmessage/files/patch-shared.py	(revision 0)
+++ net-p2p/bitmessage/files/patch-shared.py	(working copy)
@@ -0,0 +1,14 @@
+--- src/shared.py
++++ src/shared.py
+@@ -347,6 +347,11 @@ def checkSensitiveFilePermissions(filename):
+         # TODO: This might deserve extra checks by someone familiar with
+         # Windows systems.
+         return True
++    elif sys.platform[:7] == 'freebsd':
++        # FreeBSD file systems are the same as major Linux file systems
++        present_permissions = os.stat(filename)[0]
++        disallowed_permissions = stat.S_IRWXG | stat.S_IRWXO
++        return present_permissions & disallowed_permissions == 0
+     else:
+         try:
+             # Skip known problems for non-Win32 filesystems without POSIX permissions.

Property changes on: net-p2p/bitmessage/files/patch-shared.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Index: net-p2p/bitmessage/pkg-descr
===================================================================
--- net-p2p/bitmessage/pkg-descr	(revision 0)
+++ net-p2p/bitmessage/pkg-descr	(working copy)
@@ -0,0 +1,3 @@
+Bitmessage is a decentralized, encrypted, peer-to-peer, trustless communications protocol that can be used by one person to send encrypted messages to another person, or to multiple subscribers. Bitmessage encrypts each users' message inbox using strong encryption and replicates it inside its P2P network mixing it with inboxes of other users in order to conceal user's identity, prevent eavesdropping and protect the network from any control. The Bitmessage communication protocol avoids sender-spoofing through strong authentication, and hides metadata from wiretapping systems.
+
+https://bitmessage.org/

Property changes on: net-p2p/bitmessage/pkg-descr
___________________________________________________________________
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: net-p2p/bitmessage/pkg-plist
===================================================================
--- net-p2p/bitmessage/pkg-plist	(revision 0)
+++ net-p2p/bitmessage/pkg-plist	(working copy)
@@ -0,0 +1,215 @@
+bin/pybitmessage
+share/man/man1/pybitmessage.1.gz
+share/pybitmessage/bitmessageqt/about.py
+share/pybitmessage/bitmessageqt/about.pyc
+share/pybitmessage/bitmessageqt/about.pyo
+share/pybitmessage/bitmessageqt/about.ui
+share/pybitmessage/bitmessageqt/addpeer.ui
+share/pybitmessage/bitmessageqt/bitmessage_icons.qrc
+share/pybitmessage/bitmessageqt/bitmessage_icons_rc.py
+share/pybitmessage/bitmessageqt/bitmessage_icons_rc.pyc
+share/pybitmessage/bitmessageqt/bitmessage_icons_rc.pyo
+share/pybitmessage/bitmessageqt/bitmessageui.py
+share/pybitmessage/bitmessageqt/bitmessageui.pyc
+share/pybitmessage/bitmessageqt/bitmessageui.pyo
+share/pybitmessage/bitmessageqt/bitmessageui.ui
+share/pybitmessage/bitmessageqt/connect.py
+share/pybitmessage/bitmessageqt/connect.pyc
+share/pybitmessage/bitmessageqt/connect.pyo
+share/pybitmessage/bitmessageqt/connect.ui
+share/pybitmessage/bitmessageqt/help.py
+share/pybitmessage/bitmessageqt/help.pyc
+share/pybitmessage/bitmessageqt/help.pyo
+share/pybitmessage/bitmessageqt/help.ui
+share/pybitmessage/bitmessageqt/iconglossary.py
+share/pybitmessage/bitmessageqt/iconglossary.pyc
+share/pybitmessage/bitmessageqt/iconglossary.pyo
+share/pybitmessage/bitmessageqt/iconglossary.ui
+share/pybitmessage/bitmessageqt/newaddressdialog.py
+share/pybitmessage/bitmessageqt/newaddressdialog.pyc
+share/pybitmessage/bitmessageqt/newaddressdialog.pyo
+share/pybitmessage/bitmessageqt/newaddressdialog.ui
+share/pybitmessage/bitmessageqt/newchandialog.py
+share/pybitmessage/bitmessageqt/newchandialog.pyc
+share/pybitmessage/bitmessageqt/newchandialog.pyo
+share/pybitmessage/bitmessageqt/newchandialog.ui
+share/pybitmessage/bitmessageqt/newsubscriptiondialog.py
+share/pybitmessage/bitmessageqt/newsubscriptiondialog.pyc
+share/pybitmessage/bitmessageqt/newsubscriptiondialog.pyo
+share/pybitmessage/bitmessageqt/newsubscriptiondialog.ui
+share/pybitmessage/bitmessageqt/settings.py
+share/pybitmessage/bitmessageqt/settings.pyc
+share/pybitmessage/bitmessageqt/settings.pyo
+share/pybitmessage/bitmessageqt/settings.ui
+share/pybitmessage/bitmessageqt/regenerateaddresses.py
+share/pybitmessage/bitmessageqt/regenerateaddresses.pyc
+share/pybitmessage/bitmessageqt/regenerateaddresses.pyo
+share/pybitmessage/bitmessageqt/regenerateaddresses.ui
+share/pybitmessage/bitmessageqt/specialaddressbehavior.py
+share/pybitmessage/bitmessageqt/specialaddressbehavior.pyc
+share/pybitmessage/bitmessageqt/specialaddressbehavior.pyo
+share/pybitmessage/bitmessageqt/specialaddressbehavior.ui
+share/pybitmessage/bitmessageqt/wanlan.ui
+share/pybitmessage/bitmessageqt/__init__.py
+share/pybitmessage/bitmessageqt/__init__.pyc
+share/pybitmessage/bitmessageqt/__init__.pyo
+ at dirrm share/pybitmessage/bitmessageqt
+share/pybitmessage/pyelliptic/README.md
+share/pybitmessage/pyelliptic/__init__.py
+share/pybitmessage/pyelliptic/__init__.pyc
+share/pybitmessage/pyelliptic/__init__.pyo
+share/pybitmessage/pyelliptic/arithmetic.py
+share/pybitmessage/pyelliptic/arithmetic.pyc
+share/pybitmessage/pyelliptic/arithmetic.pyo
+share/pybitmessage/pyelliptic/cipher.py
+share/pybitmessage/pyelliptic/cipher.pyc
+share/pybitmessage/pyelliptic/cipher.pyo
+share/pybitmessage/pyelliptic/ecc.py
+share/pybitmessage/pyelliptic/ecc.pyc
+share/pybitmessage/pyelliptic/ecc.pyo
+share/pybitmessage/pyelliptic/hash.py
+share/pybitmessage/pyelliptic/hash.pyc
+share/pybitmessage/pyelliptic/hash.pyo
+share/pybitmessage/pyelliptic/openssl.py
+share/pybitmessage/pyelliptic/openssl.pyc
+share/pybitmessage/pyelliptic/openssl.pyo
+share/pybitmessage/pyelliptic/LICENSE
+ at dirrm share/pybitmessage/pyelliptic
+share/pybitmessage/socks/BUGS
+share/pybitmessage/socks/LICENSE
+share/pybitmessage/socks/README
+share/pybitmessage/socks/__init__.py
+share/pybitmessage/socks/__init__.pyc
+share/pybitmessage/socks/__init__.pyo
+ at dirrm share/pybitmessage/socks
+share/pybitmessage/shared.py
+share/pybitmessage/shared.pyc
+share/pybitmessage/shared.pyo
+share/pybitmessage/proofofwork.py
+share/pybitmessage/proofofwork.pyc
+share/pybitmessage/proofofwork.pyo
+share/pybitmessage/namecoin.py
+share/pybitmessage/namecoin.pyc
+share/pybitmessage/namecoin.pyo
+share/pybitmessage/message_data_reader.py
+share/pybitmessage/message_data_reader.pyc
+share/pybitmessage/message_data_reader.pyo
+share/pybitmessage/highlevelcrypto.py
+share/pybitmessage/highlevelcrypto.pyc
+share/pybitmessage/highlevelcrypto.pyo
+share/pybitmessage/helper_startup.py
+share/pybitmessage/helper_startup.pyc
+share/pybitmessage/helper_startup.pyo
+share/pybitmessage/helper_sql.py
+share/pybitmessage/helper_sql.pyc
+share/pybitmessage/helper_sql.pyo
+share/pybitmessage/helper_sent.py
+share/pybitmessage/helper_sent.pyc
+share/pybitmessage/helper_sent.pyo
+share/pybitmessage/tr.py
+share/pybitmessage/tr.pyc
+share/pybitmessage/tr.pyo
+share/pybitmessage/helper_inbox.py
+share/pybitmessage/helper_inbox.pyc
+share/pybitmessage/helper_inbox.pyo
+share/pybitmessage/helper_generic.py
+share/pybitmessage/helper_generic.pyc
+share/pybitmessage/helper_generic.pyo
+share/pybitmessage/helper_bootstrap.py
+share/pybitmessage/helper_bootstrap.pyc
+share/pybitmessage/helper_bootstrap.pyo
+share/pybitmessage/helper_bitcoin.py
+share/pybitmessage/helper_bitcoin.pyc
+share/pybitmessage/helper_bitcoin.pyo
+share/pybitmessage/defaultKnownNodes.py
+share/pybitmessage/defaultKnownNodes.pyc
+share/pybitmessage/defaultKnownNodes.pyo
+share/pybitmessage/debug.py
+share/pybitmessage/debug.pyc
+share/pybitmessage/debug.pyo
+share/pybitmessage/class_sqlThread.py
+share/pybitmessage/class_sqlThread.pyc
+share/pybitmessage/class_sqlThread.pyo
+share/pybitmessage/class_singleWorker.py
+share/pybitmessage/class_singleWorker.pyc
+share/pybitmessage/class_singleWorker.pyo
+share/pybitmessage/class_singleListener.py
+share/pybitmessage/class_singleListener.pyc
+share/pybitmessage/class_singleListener.pyo
+share/pybitmessage/build_osx.py
+share/pybitmessage/build_osx.pyc
+share/pybitmessage/build_osx.pyo
+share/pybitmessage/class_singleCleaner.py
+share/pybitmessage/class_singleCleaner.pyc
+share/pybitmessage/class_singleCleaner.pyo
+share/pybitmessage/class_sendDataThread.py
+share/pybitmessage/class_sendDataThread.pyc
+share/pybitmessage/class_sendDataThread.pyo
+share/pybitmessage/class_receiveDataThread.py
+share/pybitmessage/class_receiveDataThread.pyc
+share/pybitmessage/class_receiveDataThread.pyo
+share/pybitmessage/class_outgoingSynSender.py
+share/pybitmessage/class_outgoingSynSender.pyc
+share/pybitmessage/class_outgoingSynSender.pyo
+share/pybitmessage/class_objectHashHolder.py
+share/pybitmessage/class_objectHashHolder.pyc
+share/pybitmessage/class_objectHashHolder.pyo
+share/pybitmessage/class_addressGenerator.py
+share/pybitmessage/class_addressGenerator.pyc
+share/pybitmessage/class_addressGenerator.pyo
+share/pybitmessage/bitmessagemain.py
+share/pybitmessage/bitmessagemain.pyc
+share/pybitmessage/bitmessagemain.pyo
+share/pybitmessage/api_client.py
+share/pybitmessage/api_client.pyc
+share/pybitmessage/api_client.pyo
+share/pybitmessage/addresses.py
+share/pybitmessage/addresses.pyc
+share/pybitmessage/addresses.pyo
+share/pybitmessage/singleton.py
+share/pybitmessage/singleton.pyc
+share/pybitmessage/singleton.pyo
+share/pybitmessage/images/yellowicon.png
+share/pybitmessage/images/bitmessage.icns
+share/pybitmessage/images/blacklist.png
+share/pybitmessage/images/can-icon-16px.png
+share/pybitmessage/images/can-icon-24px-green.png
+share/pybitmessage/images/can-icon-24px-red.png
+share/pybitmessage/images/can-icon-24px-yellow.png
+share/pybitmessage/images/can-icon-24px.png
+share/pybitmessage/images/can-icon.ico
+share/pybitmessage/images/greenicon.png
+share/pybitmessage/images/identities.png
+share/pybitmessage/images/inbox.png
+share/pybitmessage/images/networkstatus.png
+share/pybitmessage/images/redicon.png
+share/pybitmessage/images/send.png
+share/pybitmessage/images/sent.png
+share/pybitmessage/images/subscriptions.png
+share/pybitmessage/images/addressbook.png
+ at dirrm share/pybitmessage/images
+share/pybitmessage/translations/bitmessage_ru.ts
+share/pybitmessage/translations/bitmessage_de.qm
+share/pybitmessage/translations/bitmessage_de.ts
+share/pybitmessage/translations/bitmessage_en_pirate.pro
+share/pybitmessage/translations/bitmessage_en_pirate.qm
+share/pybitmessage/translations/bitmessage_en_pirate.ts
+share/pybitmessage/translations/bitmessage_eo.pro
+share/pybitmessage/translations/bitmessage_eo.qm
+share/pybitmessage/translations/bitmessage_eo.ts
+share/pybitmessage/translations/bitmessage_fr.pro
+share/pybitmessage/translations/bitmessage_fr.qm
+share/pybitmessage/translations/bitmessage_fr.ts
+share/pybitmessage/translations/bitmessage_ru.pro
+share/pybitmessage/translations/bitmessage_ru.qm
+share/pybitmessage/translations/bitmessage_de.pro
+ at dirrm share/pybitmessage/translations
+ at dirrm share/pybitmessage
+share/applications/pybitmessage.desktop
+share/icons/hicolor/24x24/apps/pybitmessage.png
+ at dirrmtry share/applications
+ at dirrmtry share/icons/hicolor/24x24/apps
+ at dirrmtry share/icons/hicolor/24x24
+ at dirrmtry share/icons/hicolor/scalable/apps
+ at dirrmtry share/icons/hicolor/scalable
+ at dirrmtry share/icons/hicolor

Property changes on: net-p2p/bitmessage/pkg-plist
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: fbsd:nokeywords
## -0,0 +1 ##
+yes
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list