Commit Graph

127 Commits

Author SHA1 Message Date
c85d52b8e8
Asyncore updates
- asyncore is now on by default
- inv announcements implemented
- bandwidth limit implemented / fixed
- stats on download / upload speed now work
- make prints into logger
- limit knownNodes to 20k as it was before
- green light fixed
- other minor fixes
2017-05-29 00:24:07 +02:00
9f4a1fa0a4
Config file defaults and address unification
- bmconfigpaser.py now allows to put default values for a specific
option in the file
- addresses as sections are now detected by "BM-" rather than
just ignoring bitmessagesettings. There can now be other sections
with a cleaner config file
2017-05-15 12:18:07 +02:00
8d829b587e
Reset OpenCL when settings change
- previously, changing the OpenCL vendor (or turning it on/off) required
  a restart and this wasn't clear
2017-02-28 22:59:44 +01:00
511b89ebbe
PoW Worker should wait for sql thread to init
- I think this was causing freezing queue on launch if not empty
- I can't reproduce the bug anymore
2017-02-26 20:44:56 +01:00
74c85b4a9e
Retransmit timing changes
- makes it behave more like in the description
- partial for #847
2017-02-25 23:40:37 +01:00
6062277d60
Rename configparser.py to bmconfigparser.py
- it was causing problems with py2app because the source of python's own
  CongigParser is also configparser.py
2017-02-22 09:34:54 +01:00
157881bc63
Cyclic import fix
- networkDefaultProofOfWorkNonceTrialsPerByte and
  networkDefaultPayloadLengthExtraBytes cyclic import fix
- PyBitmessage should launch now when there's no keys.dat
2017-02-08 20:37:42 +01:00
59f3a2fbe7
Reduce cyclic dependencies
- rearranged code to reduce cyclic dependencies
- doCleanShutdown is separated in shutdown.py
- shared queues are separated in queues.py
- some default values were moved to defaults.py
- knownnodes partially moved to knownnodes.py
2017-02-08 13:41:56 +01:00
5ae1327edc
Download/upload shutdown fixes
- Missing renamed to PendingDownload
- PendingDownload now only retries 3 times rather than 6 to dowload an
  object
- Added PendingUpload, replacing invQueueSize
- PendingUpload has both the "len" method (number of objects not
  uploaded) as well as "progress" method, which is a float from 0
  (nothing done) to 1 (all uploaded) which considers not only objects
  but also how many nodes they are uploaded to
- PendingUpload tracks when the object is successfully uploaded to the
  remote node instead of just adding an arbitrary time after they have
  been send the corresponding "inv"
- Network status tab's "Objects to be synced" shows the sum of
  PendingUpload and PendingDownload sizes
2017-01-19 19:48:12 +01:00
8cb0953401
Moved writeKeysFile into configparser
- shared.writeKeysFile -> BMConfigParser().save
- makes it easier to get rid of circular imports
2017-01-15 10:50:02 +01:00
ad75552b5c
Move shutdown from shared.py to state.py 2017-01-14 23:20:15 +01:00
2cf2188bc3
Object sending fix
- forgot to move broadcastToSendDataQueues in class_singleWorker.py
2017-01-12 07:22:34 +01:00
e7470a4757
Remove leftover from debugging 2017-01-12 06:57:17 +01:00
ac348e4e6b
Fixes and refactoring
- fixes errors introduced in the earlier refactoring
- more variables moved to state.py
- path finding functions moved to paths.py
- remembers IPv6 network unreachable (in the future can be used to skip
  IPv6 for a while)
2017-01-11 17:00:00 +01:00
8bcfe80ad0
Refactoring of config parser and shared.py
- got rid of shared config parser and made it into a singleton
- refactored safeConfigGetBoolean as a method of the config singleton
- refactored safeConfigGet as a method of the config singleton
- moved softwareVersion from shared.py into version.py
- moved some global variables from shared.py into state.py
- moved some protocol-specific functions from shared.py into protocol.py
2017-01-11 14:27:19 +01:00
e84b19613e
Inventory refactoring
- minor refactoring, made it into singleton instead of a shared global
  variable. This makes it a little bit cleaner and moves the class into
a separate file
- removed duplicate inventory locking
- renamed singleton.py to singleinstance.py (this is the code that
  ensures only one instance of PyBitmessage runs at the same time)
2017-01-10 21:15:35 +01:00
c6d45dd394
Encoding when sending to self
- when sending to self, it always used encoding 2 when saving into the
  inbox. Now uses the one that's currently selected
2016-11-15 17:07:53 +01:00
612333a267
Enable support for extended encoding
- receiving extended encoding now works
- sending works from the GUI by pressing "Shift" while clicking on
  "Send"
- requires https://pypi.python.org/pypi/msgpack-python
2016-11-14 20:23:58 +01:00
e6ce73f4bd
Multiple PoW updates
- fixes "fast python" (multiprocessing) PoW
- python PoW (both slow and fast) interruptible on *NIX
- signal handler should handle multiple processes and threads correctly
(only tested on Linux)
- popul window asking whether to interrupt PoW when quitting QT GUI
- PoW status in "sent" folder fixes and now also displays broadcast
status which didn't exist before
- Fixes #894
2016-10-05 20:06:47 +02:00
mailchuck
9edde110a2 Translation update
Some function calls were not being identified as text that should be
translated.
2016-05-02 15:00:26 +02:00
mailchuck
3dbb4d5ce9 GUI shutdown improvements
- it shows that it needs to wait for PoW to finish
- it waits a bit for new objects to be distributed
- it displays a better progress indicator in the status bar

Previously, people who don't understand how PyBitmessage works sometimes
shut it down immediately after they wrote a message. This would have
caused the message to be stuck in the queue locally and not sent. Now,
it will indicate that the PoW still needs to work, and it will wait a
bit longer so that the message can spread. It's not a completely correct
approach, because it does not know whether the message was really
retrieved after the "inv" notification was sent.
2016-05-02 15:00:25 +02:00
2f27d43e7e PoW can sometimes be shutdown-able
Python and OpenCL PoW now stop when PyBitmessage shutdowns. C PoW needs
additional support in C so it doesn't work there yet.
2016-05-02 15:00:25 +02:00
mirrorwish
a7ec4c0555 Some preparations for python 3 2016-05-02 15:00:25 +02:00
mirrorwish
554627dd92 Refactor Inventory 2016-05-02 15:00:25 +02:00
d63ecfc566 Translation update
- typos
- updated German translation
- Fixes Bitmessage#844
2016-05-02 15:00:24 +02:00
ab974abce0 Sent message status on ACK
Fixes #176
2016-05-02 15:00:24 +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
mailchuck
4dbd444053 Logging fix 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
399100e6d8 PoW support code cleanup
Is now nicer and reports if OpenCL fails
2016-05-02 15:00:21 +02:00
mailchuck
d69c2e097f Cleaner shutdown
Addresses Bitmessage#549
2016-05-02 15:00:21 +02:00
mailchuck
231219a193 Improved logging
Fixes #118

- changed almost all "print" into logger
- threads have nicer names
- logger can have configuration in "logger.dat" in the same directory as
"keys.dat", and the logger will pick the one named "default" to replace
the "console" and "file" that are in PyBitmessage otherwise

Example file for logging to syslog:

[loggers]
keys = root,syslog

[logger_root]
level=NOTSET
handlers=syslog

[logger_syslog]
level=DEBUG
handlers=syslog
qualname=default

[handlers]
keys = syslog

[handler_syslog]
class = handlers.SysLogHandler
formatter = syslog
level = DEBUG
args=(('localhost', handlers.SYSLOG_UDP_PORT),
handlers.SysLogHandler.LOG_LOCAL7)

[formatters]
keys = syslog

[formatter_syslog]
format=%(asctime)s %(threadName)s %(filename)s@%(lineno)d %(message)s
datefmt=%b %d %H:%M:%S
2016-05-02 15:00:21 +02:00
Henrik Olsson
57575d0a39 Fix some typos
Author:    Henrik Olsson <henrik@fixme.se>
2016-05-02 15:00:20 +02:00
Jonathan Warren
cc712cb8ff finished work on specifyTTL 2015-03-09 02:35:32 -04:00
Jonathan Warren
95c939a2a0 Fix #748 - Check hash of sig instead of message contents 2015-02-20 21:03:20 -05:00
Jonathan Warren
5b87bc26ec Fix #758 2015-01-21 12:38:25 -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
38b861033d acknowledgement EOL time: 2.5 days 2014-11-13 16:32:31 -05:00
Jonathan Warren
713ed89467 Bugfix: infinite loop if our max acceptable difficulty is too low 2014-10-15 17:16:27 -04:00
Jonathan Warren
bcb05419db updated defaultKnownNodes 2014-10-12 23:22:21 -04:00
Jonathan Warren
a480fd4f3d After upgrade period, also support old v2 addresses 2014-10-01 19:55:23 -04:00
Yuri
34824c044e Moved all keys.dat writing code into writeKeysFile in shared.py 2014-09-14 23:34:33 -07:00
Jonathan Warren
c306062282 Bitmessage Protocol Version Three 2014-08-27 03:14:32 -04:00
bmng-dev
269506ff8f New localization module (l10n)
Resolves #691
2014-08-06 02:01:01 +00:00
Jonathan Warren
a2a7edc9be resolve merge conflict 2014-07-14 19:29:47 -04:00
bmng-dev
97647f23a6 Refactor header generation
Modify generateFullAckMessage to use shared.CreatePacket
2014-05-22 16:33:42 +00:00
bmng-dev
b1261a6c0e Move pointMult to highlevelcrypto
Update pointMult calls to highlevelcrypto.pointMult
2014-05-21 10:15:07 +00:00
antius
53a3d1635a Make addDataPadding method to avoid clutter. 2014-05-02 16:46:36 +02:00
Jonathan Warren
c18ee8e803 resolve merge conflict 2013-12-25 00:42:31 -05:00
Jonathan Warren
80932bbab0 fix pubkey signature bug leftover from objectProcessorThread-related-changes 2013-12-06 01:52:19 -05:00
Jonathan Warren
3c79b7bf65 save the tag in the inventory for your own broadcasts also 2013-12-01 00:45:37 -05:00
Yuri
346582dcb5 Fixed grammar: 'Waiting on' -> 'Waiting for' 2013-11-28 17:52:05 -08:00
Jonathan Warren
45a0046e7d completed work on objectProcessorThread 2013-11-20 01:29:37 -05:00
Jonathan Warren
d34114d14c Fix #541 2013-11-06 23:38:19 -05:00
Jonathan Warren
12edee4ac4 added API commands: createChan, joinChan, leaveChan, deleteAddress 2013-10-25 19:35:59 -04:00
Jonathan Warren
ff8a88422c Fix DevTalk discussion issue: sent message has wrong status (doesn't / does expect ack) 2013-10-01 22:44:00 -04:00
Jonathan Warren
79dc462b1e Chan fix: completed 2013-09-29 23:01:56 -04:00
Jonathan Warren
498928405b Chan fix: initial work completed 2013-09-29 19:24:27 -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
a9b15f83ba initial testing inv refactorization 2013-09-06 18:55:12 -04:00
Grant T. Olson
1fb11495a6 use helper_sql in class_singleWorker 2013-08-29 07:28:11 -04:00
Jonathan Warren
1bb86794a8 undid support for receiving v4 addresses until more chanages are implemented 2013-08-26 15:23:12 -04:00
Adam Fontenot
2a565c97a5 Allow backend to send and receive version 4 addresses 2013-08-15 03:51:46 -05:00
Jonathan Warren
cdec4ad506 Added option in settings menu to allow sending to mobile 2013-08-08 15:37:48 -04:00
Jonathan Warren
c424885734 Update statuses of sent broadcasts seperately even if all sent data is identical for two messages 2013-07-31 12:36:51 -04:00
Jonathan Warren
cddfe2c44f Only return one item for certain API commands 2013-07-31 12:08:56 -04:00
Jonathan Warren
d036ca18ed Completed chan integration in the GUI 2013-07-22 01:10:22 -04:00
Jonathan Warren
3427bc5c26 Store msgid in sent table 2013-07-15 19:27:53 -04:00
Linker Lin
4a84a30fc6 replace acquire lock by 'with' statement 2013-06-30 01:29:35 +08:00
Jonathan Warren
dacd9aa925 Add strftime import 2013-06-24 16:25:31 -04:00
Jonathan Warren
436fced04b neededPubkeys data structure now in shared module 2013-06-24 16:18:18 -04:00
Jonathan Warren
c857f73d0b Continued moving code into individual modules 2013-06-24 15:51:01 -04:00
Jordan Hall
2eb6558cf1 Added a number of missing imports fixing several issues (thank you PyDev) 2013-06-23 20:52:39 +01:00
Jordan Hall
c7d9b316ef Seperated out class_singleWorker (POW thread) 2013-06-21 22:32:22 +01:00