Commit Graph

203 Commits

Author SHA1 Message Date
Peter Šurda d25a1302ce Version bump 2016-05-02 15:00:25 +02:00
mirrorwish 554627dd92 Refactor Inventory 2016-05-02 15:00:25 +02:00
Peter Šurda 143abe3c34 Preliminary Tor hidden service support 2016-05-02 15:00:24 +02:00
mailchuck 24a2deed8f Cleanup lockfile on exit
singleton.py design was broken.
Fixed Bitmessage#775
2016-05-02 15:00:23 +02:00
mailchuck 3bde549e5c Version bump for 0.5.7 2016-05-02 15:00:23 +02:00
mailchuck 32b0d24be2 singleWorker shutdown fix
if singleWorker crashed, the thread couldn't be joined. This both makes
it so that it doesn't crash, as well as reorders the shutdown sequence
so that it is less likely to be triggered.
Fixes Bitmessage#549
2016-05-02 15:00:23 +02:00
Peter Šurda e4f31d25fc Flood mitigation optimisation
Flood mitigation was done both in the ObjectProcessorQueue as well as
receiveData threads. This patch removes the mitigation in receiveData
threads and cleans up the one in the ObjectProcessorQueue
2016-05-02 15:00:23 +02:00
mailchuck 6f74ffc265 Mac OSX portable mode path
Fixes #150
2016-05-02 15:00:23 +02:00
mailchuck d6ec2a2b8d Version bump 2016-05-02 15:00:22 +02:00
mailchuck a727847e55 Addresses can be configured not to send acks
Manually by specifying "dontsendack" = true in the address section
2016-05-02 15:00:22 +02:00
mailchuck 17d045da10 Sensible default maximum difficulty
Fixes #144
2016-05-02 15:00:22 +02:00
mailchuck 8136b022bc Typos
Still regarding portable mode path fixes
2016-05-02 15:00:22 +02:00
mailchuck 5a45d7dd8f Portable mode fixes
Fixes Bitmessage#379, Bitmessage#341
2016-05-02 15:00:22 +02:00
mailchuck 1625306be3 Version bump 2016-05-02 15:00:22 +02:00
mailchuck d54b22bb89 Initialise inventorySets earlier
In corner cases, they may be referenced before they are populated.
Probably fixes Bitmessage#530
2016-05-02 15:00:22 +02:00
mailchuck 52fe7105a9 Allow bootstrap from a Tor hidden service
I run a modified node as a Tor hidden service for bootstrapping node
addresses, and PyBitmessage can now connect to it.
2016-05-02 15:00:22 +02:00
mailchuck d69c2e097f Cleaner shutdown
Addresses Bitmessage#549
2016-05-02 15:00:21 +02:00
mailchuck 6dbe20a25c Version bump 2016-05-02 15:00:21 +02:00
mailchuck 7b4264a109 Typo 2016-05-02 15:00:21 +02:00
mailchuck 18f7ef06e2 SSL fixes
Handle old Python compatibility better.
2016-05-02 15:00:21 +02:00
mailchuck 74519069f0 outgoingSynSender thread reaping disabled
It was causing delays on shutdown, worse on linux/osx
2016-05-02 15:00:21 +02:00
mailchuck b00c4f24ec Threads close better
- UPnP and outgoingSynSender threads close slightly better.
- extPort initialisation was missing
2016-05-02 15:00:21 +02:00
mailchuck c03c563a74 Make UPnP into a thread
- UPnP is now a separate thread that will continue to setup UPnP
- shutdown waits for threads that shutdown correctly (Addresses
Bitmessage#549)
2016-05-02 15:00:21 +02:00
mailchuck 46d647460f Version bump
We have 0.5.3 now
2016-05-02 15:00:21 +02:00
mailchuck 2fd85bfa69 SSL workaround
Python < 2.7.9 does not support anonymous SSL server through
ssl.wrap_socket, so we have to disable it. Works fine as client.
Try to prefer secp256k1 curve (again, requires python >= 2.7.9)
2016-05-02 15:00:21 +02:00
mailchuck c7fb9e6a43 SSL fixes
- uses constants for service flags
- requires SSL to use TLSv1 version (protection against POODLE-style
attacks)
- retry if sock.recv incomplete
2016-05-02 15:00:21 +02:00
mailchuck 53b0d2749b Opportunistic encryption with TLS (1 of 2)
Fixes Bitmessage#264
Fixes Bitmessage#648
2016-05-02 15:00:20 +02:00
mailchuck 25cc1dc287 Unified code for finding source code location
It is already used in 3 places so I put it into a function
2016-05-02 15:00:20 +02:00
mailchuck 03f709b70d Bump version
get ready for 0.5.2
2016-05-02 15:00:20 +02:00
mailchuck f5f46dae45 Version bump 2016-05-02 15:00:20 +02:00
mailchuck 7625b4f101 Version bump
Just for development
2016-05-02 15:00:19 +02:00
mailchuck c83255d4d4 Bump up version 2016-05-02 15:00:19 +02:00
lightrabbit f0f9f679e6 Add UPnP support. 2016-05-02 15:00:17 +02:00
Jonathan Warren cc712cb8ff finished work on specifyTTL 2015-03-09 02:35:32 -04:00
Jonathan Warren bd9286ef41 msg objects now contain an objectVersion 2015-01-28 14:14:28 -05:00
Jonathan Warren 5b87bc26ec Fix #758 2015-01-21 12:38:25 -05:00
Jonathan Warren 8b95ad1659 updated settings.ui file for Czech translation 2014-12-25 23:24:09 -05:00
Jonathan Warren 9b6bc26144 fix bug in #715 2014-12-25 21:06:10 -05:00
Jonathan Warren 50c392c197 resolve merge conflict 2014-12-25 20:37:04 -05:00
Jonathan Warren e898b40203 Removed obsolete Protocol v2 code 2014-12-25 04:06:57 -05:00
Jonathan Warren e096c37f7e save debug.log in correct directory 2014-10-13 01:59:16 -04:00
Yuri 5beaeff2e2 TImestamped the keys.dat backup file. 2014-09-16 10:04:56 -07:00
Yuri d3c91eea3b Added backup copy creation during keys.dat write to prevent an accidental file loss due to the disk failure. 2014-09-14 23:53:21 -07:00
Yuri 34824c044e Moved all keys.dat writing code into writeKeysFile in shared.py 2014-09-14 23:34:33 -07:00
Jonathan Warren 0865e863ec Added ability to limit network transfer rate 2014-09-10 16:47:51 -04:00
Jonathan Warren c84cdecba4 Normalize the noncetrialsperbyte and payloadlengthextrabytes for each of the user's existing addresses 2014-09-02 19:25:03 -04:00
Jonathan Warren c306062282 Bitmessage Protocol Version Three 2014-08-27 03:14:32 -04:00
Jonathan Warren ea6f34ade6 removed use of memoryview so that we can support python 2.7.3 2014-08-06 15:54:59 -04:00
Jonathan Warren 807f2fee8a increment version number to 0.4.3 2014-08-04 18:35:26 -04:00
Jonathan Warren 9e16e81283 resolve merge conflict and show transfer rate 2014-08-01 17:25:47 -04:00
Yuri f107b0fbd9 Addition of bytes received/sent counts on the network information tab. 2014-07-07 13:30:23 -07:00
bmng-dev 947f7655ab Refactor generation of packet headers
Added global variable Header - a compiled Struct to pack/unpack headers so as to avoid repeatedly compiling the same format string
Add a new method CreatePacket to simply and efficiently construct a packet that is ready to be sent
Modify assembleVersionMessage to use CreatePacket
2014-05-22 12:30:51 +00:00
Jonathan Warren 38d7db24ad Merge pull request #639 from bpeel/wip/trusted-peer
Add a 'trustedpeer' option to keys.dat
2014-04-30 17:42:28 -04:00
Neil Roberts 7da6ea958f Add support for IPv6
It will now listen on an IPv6 socket if possible or fall back to IPv4
if that doesn't work. It will no longer filter out all IPv6 addresses
and instead it will only filter out those that point to the local
network.

It looks like the DNS bootstrapping should just automatically work
because getaddrinfo already returns IPv6 addresses from the AAAA
record.

In order to convert from the ASCII representation of IPv6 addresses
and back we need inet_ntop and inet_pton. Python 2 doesn't currently
provide these for Windows so instead this patch provides a hot patch
to the socket module which wraps WSAStringToAddress and
WSAAddressToString using ctypes.
2014-03-12 01:48:48 +00:00
Neil Roberts 03263156de Add a 'trustedpeer' option to keys.dat
If this option is specified in keys.dat then Bitmessage will connect
to the host specified there instead of connecting to the hosts in the
list of known nodes. It will also stop listening for incoming
connections and the timing attack mitigation will be disabled.

The expected use case is for example where a user is running a daemon
on a dedicated machine in their local network and they occasionally
want to check for messages using a second instance of the client on
their laptop. In that case it would be much faster to catch up with
the messages by directly downloading from the dedicated machine over
the LAN. There is no need to connect to multiple peers or to do the
timing attack mitigation because the daemon is trusted.

The host is specified as hostname:port. Eg, ‘192.168.1.8:8444’.
2014-02-06 13:16:07 +00:00
Jonathan Warren 7983a14754 Increment version number to 0.4.2 2014-01-20 23:04:41 -05:00
Jonathan Warren 85a409636a Fix #611; also swap print statements out for loggers 2014-01-16 20:10:04 -05:00
Jonathan Warren 534e98e816 Merge pull request #578 from b4tman/master
fix AppdataFolder encoding on windows
2013-12-24 21:53:41 -08:00
Jonathan Warren 99738e88aa Merge pull request #574 from yurivict/compatibility_FreeBSD
FreeBSD compatibility
2013-12-15 21:58:45 -08:00
Jonathan Warren 80932bbab0 fix pubkey signature bug leftover from objectProcessorThread-related-changes 2013-12-06 01:52:19 -05:00
Jonathan Warren df7116bd72 on close, save objectProcessorQueue to disk 2013-12-02 01:35:34 -05:00
Jonathan Warren 44618ffcc2 added option to show recent broadcasts when subscribing 2013-11-30 23:15:18 -05:00
Dmitry Belyaev f1ce821910 fix AppdataFolder encoding on windows 2013-11-30 00:42:15 +04:00
Yuri 7b65da70dc FreeBSD compatibility. 2013-11-28 16:20:16 -08:00
Jonathan Warren 45a0046e7d completed work on objectProcessorThread 2013-11-20 01:29:37 -05:00
Jonathan Warren 2a1b6dd86d some initial objectProcessorThread work 2013-11-13 22:44:42 -05:00
Jonathan Warren bd2803bebc various changes to 'messages expire' pull request 2013-11-04 02:05:07 -05:00
Peter f6cdc0844b Merge remote-tracking branch 'upstream/master' 2013-10-20 16:41:53 +04:00
Jonathan Warren 7a30db75f1 Use SQL-stored message when using 'Display as HTML' feature 2013-10-16 01:08:22 -04:00
Peter 5fb08efe00 merged 2013-10-03 19:39:27 +04:00
ikarakatsanis 511185055d feature_v2 2013-10-02 04:16:42 +04:00
ikarakatsanis d487b522cf feature_v1 2013-10-02 04:14:53 +04:00
Jonathan Warren 9e34caebef increment version number to 0.4.1 2013-09-29 23:05:06 -04:00
Jonathan Warren 498928405b Chan fix: initial work completed 2013-09-29 19:24:27 -04:00
Jonathan Warren 4fea165d50 Increment version number to v0.4.0 2013-09-22 23:29:30 -04:00
Jonathan Warren 02ea2a50d3 more v4 address work. Should be done. 2013-09-18 00:04:01 -04:00
Jonathan Warren 79f6169803 further v4 address work 2013-09-14 21:06:26 -04:00
Jonathan Warren 56168e82b5 most initial work on v4 pubkeys completed 2013-09-13 00:27:34 -04:00
Jonathan Warren 90e60d8145 delay addr messages random number of seconds 2013-09-09 19:26:32 -04:00
Jonathan Warren 831edf0d24 completed inv refactorization 2013-09-06 21:47:54 -04:00
Jonathan Warren a9b15f83ba initial testing inv refactorization 2013-09-06 18:55:12 -04:00
Jonathan Warren c06bbc14f8 Give user feedback when disk is full 2013-09-04 20:14:25 -04:00
Jonathan Warren 5fab298559 Refactor of the way PyBitmessage looks for interesting new objects in huge inv messages from peers 2013-09-03 22:45:45 -04:00
Jonathan Warren 6159d5e622 Show inventory lookup rate on Network Status tab 2013-09-03 18:08:29 -04:00
Grant T. Olson 8d8e43b1fc Added SqlBulkExecute class so we can update inventory without a million commits 2013-08-31 10:40:11 -04:00
Grant T. Olson b83781cefb Merge remote-tracking branch 'upstream/master' into sql_refactor 2013-08-30 17:59:35 -04:00
Jonathan Warren 95cf453de4 resolve merge conflict 2013-08-30 13:26:55 -04:00
Grant T. Olson 5eba4e6442 Merge branch 'master' into Fast_PoW_unless_frozen 2013-08-29 11:42:10 -04:00
Grant T. Olson 8a6d1d9cd5 Fix regression where I couldn't add a subscription 2013-08-29 10:02:42 -04:00
Grant T. Olson 7499de4e13 have shared.py use helper_sql and move the sql queues and locks to helper_sql 2013-08-29 08:03:45 -04:00
Jonathan Warren 1bb86794a8 undid support for receiving v4 addresses until more chanages are implemented 2013-08-26 15:23:12 -04:00
Grant T. Olson 732d7c999a Allow specification of alternate settings dir via BITMESSAGE_HOME 2013-08-26 08:44:15 -04:00
Jonathan Warren 0132db33dc show number of each message type processed in the API command clientStatus 2013-08-24 19:40:48 -04:00
Grant T. Olson a20213f1e8 Use fast PoW unless we're explicitly a frozen (binary) version of the code 2013-08-23 13:24:38 -04:00
Adam Fontenot ef312c6e2c Updated several missed references to version 3 addresses 2013-08-15 04:26:14 -05:00
Jonathan Warren 6ec4d5c73a Merge pull request #409 from Atheros1/domob1812-namecoin-id2
Domob1812 namecoin id2
2013-08-14 16:19:20 -07:00
Grant T. Olson 0026dce551 Fix for traceback on OSX. Fixes Bitmessage/PyBitmessage#401 2013-08-12 20:32:13 -04:00
Jonathan Warren 27f10f6ac1 fix merge conflicts 2013-08-12 00:09:36 -04:00
Jonathan Warren 665d8aec5b Merge branch 'master' of https://github.com/Bitmessage/PyBitmessage 2013-08-09 11:56:00 -04:00
Jonathan Warren cdec4ad506 Added option in settings menu to allow sending to mobile 2013-08-08 15:37:48 -04:00