Commit Graph

2089 Commits

Author SHA1 Message Date
1184b23223
Separate protocol processing exceptions
- exceptions thrown by the state methods are separated from missing
  connections or states. This allows more accurate error reporting
2018-02-19 21:27:38 +01:00
fde194f9b0
More messagetypes hardening
- only load modules at program start
2018-02-19 16:57:47 +01:00
757740369b
Add proxy authentication
- proxy module was missing initialisation of authentication
2018-02-18 20:53:16 +01:00
ff9634141e
Merge branch '1127' into v0.6 2018-02-18 20:35:16 +01:00
d25a821b1d
Merge branch '1128' into v0.6 2018-02-18 20:34:59 +01:00
c8ea8662a5
Merge branch '1141' into v0.6 2018-02-18 20:34:03 +01:00
99f51fd94c
Merge branch '1137' into v0.6 2018-02-18 20:33:28 +01:00
07149c73c8
Get rid of evals
- eval is evil. Get rid of the remaining evals. They were not assessed
  as dangerous but it's matter of policy now.
2018-02-18 20:14:21 +01:00
616920e21a
Minor UI fixes
- typo in UTF conversion
- update status message correct matching (does not show all messages as
changed status, for example)
- add newly sent messages to global sent folder if selected
2018-02-18 19:39:26 +01:00
PyBitmessage Translations
dbedd4a193
Auto-updated language fr from transifex 2018-02-18 11:23:13 +01:00
a3436fef9c
Quick fix for refactoring artifact in blacklist module (#1138) 2018-02-17 14:36:09 +02:00
PyBitmessage Translations
d09900def7
Auto-updated language zh_cn from transifex 2018-02-16 14:33:10 +01:00
634a49cd6d
Bump version 2018-02-14 00:23:47 +01:00
c050ef0814
Messagetype attack mitigation
- temporarily restrict messagetypes
- use a new "Contact support" address
2018-02-13 23:33:12 +01:00
PyBitmessage Translations
5b5f254be0
Auto-updated language pl from transifex 2018-02-13 18:54:07 +01:00
PyBitmessage Translations
e2374cac0a
Auto-updated language eo from transifex 2018-02-13 18:41:10 +01:00
4cd36ececc
Bump version 2018-02-13 17:16:20 +01:00
3a8016d31f
Fix message encoding bug
- prevent loading invalid message types
2018-02-13 16:39:35 +01:00
96ea36cfd2
UPnP client port randomize 2018-02-13 16:11:53 +01:00
f9a648d720
Message decoding exception handler fix
- was unfinished and caused the object processor thread to crash
2018-02-13 13:24:37 +01:00
3ad94cb4aa
Translate namecoin failure message 2018-02-13 11:55:38 +02:00
8b932ade2d
No "getinfo" in modern namecoind - try "getnetworkinfo" 2018-02-13 11:55:37 +02:00
PyBitmessage Translations
4ba5702cc2
Auto-updated language ru from transifex 2018-02-12 22:31:54 +01:00
PyBitmessage Translations
e5428ee064
Auto-updated language de from transifex 2018-02-12 21:50:45 +01:00
PyBitmessage Translations
022ee09177
Auto-updated language sk from transifex 2018-02-12 21:33:30 +01:00
6bcbad63b9
Marked folder names for translation 2018-02-12 21:10:10 +02:00
eb97face61
Show traceback in protocol parser error handler 2018-02-12 17:07:54 +01:00
2bc2b6bc5b
Typo 2018-02-12 14:49:43 +01:00
eefc967737
Pluralisation 2018-02-12 14:10:51 +01:00
a69daa13b9
Pluralisation 2018-02-12 13:48:59 +01:00
cf8ed36240
Windows Qt refactoring fix 2018-02-09 11:11:48 +01:00
066b419e16
Bugfixes
- typo in dandelion
- stealth ackdata fix for broadcasts and mailing lists
2018-02-09 00:49:08 +01:00
bbb5e5d99b
Fixed trailing '>' in message view which appeared after HTLM rendering 2018-02-08 12:58:38 +02:00
f870bcc6f7
More lightweight URI regexp
- the old one can take a lot of resources and be misused for a DoS
- this still nees to be tested if it is flexible enough
- also fix link click popup
2018-02-08 06:52:33 +01:00
08bb85a952
Dandelion staticmethod fix 2018-02-07 17:22:26 +01:00
c6834093ee
QT sqlite conversion fix
- QByteArray will be stored as str in the db
2018-02-06 23:55:41 +01:00
66bed6c7d6
Merge branch '1116' into v0.6 2018-02-06 22:31:52 +01:00
3d1fa473fb
Dandelion updates
- expiration now uses poisson distribution just like in the bitcoin
version
2018-02-06 22:28:56 +01:00
d083c53e1b
New button "Clear" on tab "Send" to clear all fields (#919) 2018-02-06 21:07:01 +02:00
6269e45a47
Merge branch '1117' into v0.6 2018-02-06 18:21:33 +01:00
3b3e4de9d7
Zero Inventory().numberOfInventoryLookupsPerformed before update started
because "Inventory lookups per second" is calculated by /2 (for 2 sec)
2018-02-06 17:33:19 +02:00
4a3f8f4806
Change unread status of message in "All Accounts"
when it changed in "Chans" and vice versa (#1044, #884)
2018-02-06 15:48:56 +02:00
85cce42de0
Update "Network Status" information only when the tab selected 2018-02-05 14:39:32 +02:00
03f08b3cfd
Typo 2018-02-04 21:16:30 +01:00
a646ec4902
Allow separate proxy for onions
- new options in network section: onionsocksproxytype,
onionsockshostname and onionsocksport. These allow to separate
connectivity types for onion and non-onion addresses, e.g. connect to
clear nodes over clearnet and onions over tor
- also remove some obsolete imports
2018-02-04 21:03:54 +01:00
fd1a6c1fa1
Dandelion update
- dandelion fixes
- try to wait as long as possible before expiration if there are no
outbound connections
- expire in invThread rather than singleCleaner thread
- deduplication of code in inv and dinv command methods
- turn on by default, seems to work correctly now
- turn off dandelion if outbound connections are disabled
- start tracking downloads earlier, and faster download loop
- remove some obsolete lines
- minor PEP8 updates
2018-02-03 11:46:39 +01:00
PyBitmessage Translations
9db0f5bcb3
Auto-updated language sk from transifex 2018-02-02 19:22:18 +01:00
PyBitmessage Translations
d03d4a374e
Auto-updated language de from transifex 2018-02-02 18:29:41 +01:00
d09f2aac96
Merge branch '1105' into v0.6 2018-02-02 18:18:06 +01:00
3f75052d7b
Merge branch '1108' into v0.6 2018-02-02 18:17:53 +01:00
374e0805f0
Merge branch '1109' into v0.6 2018-02-02 18:17:33 +01:00
ec30472dd8
AboutDialog formatting fix (hope) 2018-02-02 18:31:53 +02:00
b0271e51ff
Set fixed size for simple dialogs 2018-02-02 18:31:07 +02:00
96b8cff0d1
Inventory checking performance optimisation
- caching of whether an object exists in inventory was somehow removed
since storage refactoring (or it never worked). Now existence checking
is cached in the sqlite storage backend
2018-02-02 14:33:29 +01:00
053f434e04
Download fixes
- don't make empty requests
- don't make requests if all objects are pending already
2018-02-02 12:44:43 +01:00
57c8c7c07c
Download thread exception handling 2018-02-01 23:18:08 +01:00
8498143783
Download fixes
- check if already have object before requesting
2018-02-01 22:58:04 +01:00
dcce7ed4c5
Typo 2018-02-01 22:33:28 +01:00
451174b566
Download tracking fix
- don't reset tracking too early
- handle inserts when tracking objects
2018-02-01 22:31:45 +01:00
8a5ec29540
Store object hash as binary in sqlite (inventory) 2018-02-01 21:24:50 +01:00
PyBitmessage Translations
283696a053
Auto-updated language pl from transifex 2018-02-01 20:19:08 +01:00
PyBitmessage Translations
2f150dcdd7
Auto-updated language eo from transifex 2018-02-01 19:17:51 +01:00
167d946435
RandomTrackingDict now tracks properly
- it didn't put the correct keys at the end
2018-02-01 14:43:14 +01:00
290b87a49f
Download fixes
- don't expire too quickly
- ignore connections that haven't been fully established yet
2018-02-01 12:48:14 +01:00
c5dc7fc903
Typo 2018-02-01 12:26:54 +01:00
8d05742436
Typo 2018-02-01 12:20:41 +01:00
68b58ce0c5
Download optimisation
- new data structure to handle download tracking, uses less CPU
2018-02-01 12:19:39 +01:00
d223bfc6f2
Fix kqueue poller
- separate read and write filters
- make filters peristent for reduced syscall count
2018-01-31 22:25:23 +01:00
222e666a60
Network thread shutdown iterator fix
Thanks to @g1itch for pointing this out.
2018-01-31 21:09:36 +01:00
25a9e5ea45
Fixed errors I introduced in commit 4115540 after rebase 2018-01-31 20:12:04 +02:00
PyBitmessage Translations
0c4ea7d20f
Auto-updated language ru from transifex 2018-01-31 17:34:38 +01:00
f4861be976
Add Ukrainian translation file 2018-01-31 12:33:43 +02:00
175f8b14a5
Update SOURCES and FORMS in bitmessage.pro 2018-01-31 12:31:23 +02:00
9807d3e4b4
Don't complain about being disconnected if in offline mode 2018-01-30 17:42:10 +01:00
ced3f78fb4
Merge branch '1092' into v0.6 2018-01-30 17:32:25 +01:00
PyBitmessage Translations
80ca82ad8b
Auto-updated language ru from transifex 2018-01-30 16:33:27 +01:00
c92c2aebc2
Blank title of RegenerateAddressesDialog also 2018-01-30 17:27:01 +02:00
afcd83a434
This is probably the right way to handle modal dialogs 2018-01-30 17:27:01 +02:00
41155406d6
Simplified showing statusbar messages:
- Use MyForm.statusbar set in __init__ instead of MyForm.statusBar()
 - MyForm.updateStatusBar() to show the message in MyForm methods
 - queues.UISignalQueue.put(('updateStatusBar', msg)) in dialogs
2018-01-30 17:27:01 +02:00
ece5ad9113
Separated dialogs which deal with addresses into address_dialogs module 2018-01-30 17:27:00 +02:00
c699f6d872
Got rid of wildcard imports in bitmessageqt.__init__ 2018-01-30 17:27:00 +02:00
641db73614
Removed unused _encoding and _transalate 2018-01-30 17:27:00 +02:00
25876ded2b
Removed unused import of inventory.Inventory 2018-01-30 17:27:00 +02:00
cd88d063a1
Imported NewChanDialog into dialogs module 2018-01-30 17:26:59 +02:00
35a11c271a
Moved NewAddressDialog into dialogs module 2018-01-30 17:26:59 +02:00
8109fa7ece
Moved EmailGatewayDialog (with both usage) into dialogs module 2018-01-30 17:26:59 +02:00
fe76d230eb
Moved RegenerateAddressesDialog into dialogs module 2018-01-30 17:26:58 +02:00
b899086d91
Followed the recommendation #527 about tab indexes 2018-01-30 17:26:58 +02:00
20288d4ab4
Try to replace copyright year from last commit date 2018-01-30 17:26:58 +02:00
b9cd571d9b
Hide redundant QGroupBox title 2018-01-30 17:26:58 +02:00
f3808212b5
Added link to github into labelVersion in AboutDialog 2018-01-30 17:26:57 +02:00
62a930c374
Moved SpecialAddressBehaviorDialog into dialogs module 2018-01-30 17:26:57 +02:00
c965a1d2aa
Moved helpDialog and connectDialog also into dialogs module 2018-01-30 17:26:51 +02:00
e2e7e16ab7
Moved aboutDialog and iconGlossaryDialog also into dialogs module 2018-01-30 17:26:42 +02:00
d9d9f9d787
Returned AddAddressDialog and NewSubscriptionDialog into dialogs module
where it's been initialized by loading the ui-files.
2018-01-30 16:59:51 +02:00
81c80aa98f
Use AddAddressDialog for "Add sender to your Addres Book" context menu 2018-01-30 16:59:51 +02:00
9e79386595
Set state to "close" and call handle_close() for all connections 2018-01-30 14:04:03 +02:00
25ef9fec51
Added menu entry "File -> Go offline/Go online" switching dontconnect
config variable and "Work offline" option to connectDialog.
2018-01-30 14:04:03 +02:00
cc63c1270b
Fix message content display after deleting/undeleting 2018-01-28 16:13:07 +01:00
aabce6bab2
Fix selection after delete/undelete 2018-01-28 12:48:25 +01:00
08ac8a077b
Merge branch '1062' into v0.6 2018-01-28 10:41:09 +01:00
ff92cc30c8
Fix previous commit (UI deleting optimisation) 2018-01-28 09:16:37 +01:00
0f61ed9f19
Optimise UI deleting and undeleting multiple messages
- use sqlExecuteChunked and disable UI updates while removing entries
2018-01-28 08:12:46 +01:00
bc7227f513
Merge branch '1090' into v0.6 2018-01-27 16:38:13 +01:00
6fca1631af
Made use of helper_sql.sqlExecuteChunked() also in on_action_InboxMarkUnread 2018-01-25 23:22:15 +02:00
80fdb08f03
Made use of helper_sql.sqlExecuteChunked() in the on_action_MarkAllRead 2018-01-25 23:04:38 +02:00
0097ea6476
The condition which is always False causes critical error #1081 2018-01-25 14:29:25 +02:00
d3a83eced6
Merge branch '1065' into v0.6 2018-01-25 13:16:55 +01:00
61ddc1208e
No more shared.daemon variable 2018-01-25 12:58:29 +02:00
8709051005
Fix non-ascii logging
Tested with UTF-8, KOI8-R and ISO-8859-2 encodings.
2018-01-25 08:11:42 +01:00
66b3c6d881
Merge branch '1060' into v0.6 2018-01-25 03:09:47 +01:00
d6df4470e1
No connection CPU hog fix
- the previous fix was incomplete, it shouldn't consume excessive
resources now when there are no connections
2018-01-23 15:59:58 +01:00
01c8f3b66d
Fix asyncore CPU usage on no connection
- if there are no connections, asyncore would hog CPU
- thanks to an anonymous contributor
2018-01-22 22:37:29 +01:00
ba91d21261
CPU hogging fix
- handle _command functions that don't return anything
- fix udp command function
2018-01-22 22:18:01 +01:00
460107abaa
Handled AttributeError when tr imported from plugin 2018-01-17 13:58:37 +02:00
0c4d4de82f
Changed the daemon check approach in other places, where it makes sense 2018-01-17 13:58:37 +02:00
1b921a718c
Check daemon status in singleinstance instead of config 2018-01-17 13:58:37 +02:00
c9851b9f41
Connection lookups invalid data handling
- shouldn't throw an exception if argument is a string rather than Peer
2018-01-02 22:23:03 +01:00
f74f82e54f
Start downloading earlier 2018-01-02 22:20:33 +01:00
4086253730
Bandwidth limit optimisation
- should be slightly more accurate and use slightly fewer resources
2018-01-02 15:24:47 +01:00
8788f2d349
Server full and duplicate handling
- will try to report "Server full" over protocol for 10 extra
connections over limit, instead of simply dropping them
- if connected to the same host inbound and outbound, handle as server
full (prevents duplicate connections)
2018-01-02 14:29:21 +01:00
9b58f35b80
App name in version 2018-01-02 13:56:03 +01:00
6b54a4ab0e
Daemonize fix
- forgot to revert a line in previous commit
2018-01-01 13:10:19 +01:00
d9a4263083
Daemonising fixes
- change forking exit order as systemd expects (wait until child is
ready, then exit parent, then grandparent)
- fix signal handler if prctl not installed
- revert recent PID file changes
2018-01-01 13:08:12 +01:00
baba0ae206
Remove obsolete code 2018-01-01 13:04:58 +01:00
36cc5b9cf5
Download optimisations
- don't make empty download requests
- use smaller chunks when they can be spread across multiple
connections
2018-01-01 12:51:35 +01:00
1864762a0a
Apply bandwidth limits without restart
- also minor style fixes
2018-01-01 12:49:08 +01:00
bcc5a210a4
Fix PID file if not daemonized 2017-12-29 09:13:41 +01:00
e9b1aa48a9
Protocol error handler fixes
- was broken if there was no error message in "raise"
- added default texts for network exceptions
2017-12-29 08:49:08 +01:00
02490e3286
Don't break if over 50k messages
- typo if there were over 50k messages in inventory caused PyBM to stall
2017-12-29 08:41:15 +01:00
sigoa
394d564bdc
minor mod of ver.
not a biggie
2017-12-26 15:01:12 +01:00
sigoa
a0e5ee4cce
utf chan name support, various fixes
no unused variables etc. any longer
2017-12-26 14:17:37 +01:00
3cb9547389
Only write PID after last fork
- should fix systemd integration
2017-12-21 14:26:51 +01:00
5605672f75
Fix tag search when inventory contains blobs
- recent changes caused the "tag" (and "payload") columns in the
inventory table in messages.dat to be stored as blobs. Searches by tag
(e.g. pubkey lookups) stopped working. This fixes it.
2017-12-02 02:48:10 +01:00
a3398d6a17
Don't crash download thread if no connections 2017-12-02 00:50:58 +01:00
41ead2bfb5
Distribute downloads more evenly
- also increases expireation of missing objects from 10 minutes to an
hour
2017-12-02 00:48:08 +01:00
3b86dfc639
Log missing indicator plugin 2017-12-02 00:45:01 +01:00
4ee9d05446
Randomise key order during decryption
- may help against timing/radio attacks
2017-11-30 20:08:14 +01:00
6c224447a6
Minor fixes that came over BM
- typo in quit confirmation dialog
- nicer traceback in unhandled exceptions
2017-11-30 19:44:03 +01:00
48c0a2ae2e
Arithmetic fix for preceding commit 2017-11-30 19:42:49 +01:00
6ce3ce6b22
Chunking helper for sql statements with too many variables
- preparation for #1081
2017-11-30 19:39:31 +01:00
PyBitmessage Translations
52162046bd
Auto-updated language ru from transifex 2017-11-29 10:38:58 +01:00
44dd08a228
Remove obsolete code in cleaner thread 2017-11-22 21:13:35 +01:00
6ca3460090
Put garbage collection into the cleaner thread
- this maybe addresses #1079
2017-11-22 14:49:18 +01:00
e558b1fb72
Error handling
- proxy connections didn't init fullyEstablished
2017-11-19 13:48:43 +01:00
fdfbb77ed2
Close filehandles on connection reaping
- I thought this is done automatically through garbage collection, but I
think as the channel is still assigned in the asyncore map, it needs
to be done manually. Basically filehandle limit exceeded and it
crashed
2017-11-19 00:05:55 +01:00
5e042b76e7
Typo
- missing brackets
2017-11-18 10:05:41 +01:00
3aa6f386db
Dandelion fixes
- dandelion would always think there is a cycle and trigger fluff
- cycle fluff trigger didn't correctly re-download and re-announce the
object. Now it remembers between (d)inv and object commands that it's
in a fluff trigger phase.
2017-11-18 09:47:17 +01:00
4690dd6f00
Copy object contents from buffers on instantiation
- this may fix some memory issues
2017-11-17 23:53:46 +01:00
3c3d69e5de
Reap closed connection fix 2017-11-17 19:50:39 +01:00