Commit Graph

2139 Commits

Author SHA1 Message Date
43a471a79b
Used state.testmode to indicate when operating in test mode 2018-04-05 13:48:13 +03:00
54c37150e0
Shutdown fixes
- tell sql thread to finish only after the other threads finished
- prevents other threads stalling on sql replies
2018-04-05 12:36:02 +02:00
12117ada99
Add docstring 2018-04-03 19:24:10 +02:00
ca7becb921
Download fixes
- in corner cases, download request could have contained an incorrect
  request length. I haven't actually checked if this can be triggered
  though
- wait for downloading until anti intersection delay expires. Doesn't
  necessarily mean that it will always avoid peer's anti intersection
  delay, but it's close enough
- tracks last time an object was received. If it was too long time ago,
  reset the download request queue. This avoid situations like when a
  request gets ignored during the anti intersection delay, but it will
  keep thinking there are still pending requests as long as not all
  missing objects have been requested. This caused staggered download
  (request 1000 items, wait 1 minute, request 1000 more, wait another
  minute, ...)
- with these fixes, you should end up downloading as fast as your
  network and CPU allow
- best tested with trustedpeer
2018-04-03 19:24:07 +02:00
6eb2155497
Another unicode -> str bug (#1194) 2018-04-03 15:11:46 +03:00
5e0e1c09b3
Merge branch '1197' into upstream-v0.6 2018-04-02 17:39:28 +02:00
0c9cb4824d
Memory leak (kind of) fix
- objectsKnownToThem is supposed to track if it's necessary to send inv
  commands to a peer
- it is supposed to enter garbage collection after 1 hour
  (ObjectTracker.trackingExpires)
- due to peer not announcing all objects, or announcing them before we
  announce, this contains excessive number of entries after connection
  is fully established.
- profiling revealed that this creates unnecessary memory to be kept
  allocated
- this patch will prevent tracking of entries sent during bigInv,
  reducing the memory "leak"
- it is possible, in theory, that this does have some negative effect,
  like increased bandwidth or neglecting to announce some invs. It
  probably doesn't though as my review of objectsKnownToThem occurrences
  didn't reveal any such case, and since the dict didn't track fully
  accurately anyway (so it would have already been broken if it was a
  problem), I consider it an acceptable risk at the moment. If it indeed
  causes problems, they can be solved separately
- I tested this on one of the bootstrap servers with little memory, and
  it increased the number of connections than can be handled by a factor
  of about 3.5
2018-04-01 11:39:02 +02:00
58c3dfb3d4
Testing mode for bitmessagemain 2018-03-29 15:55:28 +03:00
2268413cd0
Do not try to connect namecoin if dontconnect set in config (#1146) 2018-03-26 16:47:22 +03:00
73ebad4a4e
Merge branch '1179' into upstream-v0.6 2018-03-24 09:43:11 +01:00
6430ea7fe6
Merge branch '1171' into upstream-v0.6 2018-03-24 09:40:35 +01:00
cec8519e43
Added "apiinterface" and "apiport" to BMConfigDefaults 2018-03-22 17:50:26 +02:00
55d6239e3d
Merge branch '952' into upstream-v0.6 2018-03-22 16:16:24 +01:00
d974065f8e
Handle exceptions from python without ipv6 support 2018-03-22 17:13:34 +02:00
d7ac440a04
Merge branch '1172' into upstream-v0.6 2018-03-22 16:12:53 +01:00
9ccd3a0989
Prevent settingsDialog from setting dontconnect = false
if "Work offline" was checked in the ConnectDialog
2018-03-22 17:10:29 +02:00
6cefaf87e9
Module foldertree: changed subclassing order to reuse common code 2018-03-22 14:55:30 +02:00
90eca36b5d
Module foldertree: simplified a bit and did flake8 2018-03-22 14:55:25 +02:00
6562502416
Even more unused variables 2018-03-22 13:48:07 +02:00
e43bd36618
More unused variables 2018-03-22 13:23:36 +02:00
d91c3a6b0c
Removed unnecessary comment and percent formatting in logger.error 2018-03-22 12:13:47 +02:00
d447db907c
Address operations: simplified the code a bit 2018-03-22 12:13:47 +02:00
006b98389b
Address operations: flake8 2018-03-22 12:13:47 +02:00
cbb228db8b
Merge branch '1180' into upstream-v0.6 2018-03-22 11:08:51 +01:00
Mahendra
8d48164734
fix indentation error in dependency file 2018-03-22 15:27:37 +05:30
5721ca53fd
Merge branch '1174' into upstream-v0.6 2018-03-22 08:31:25 +01:00
Mahendra
1a36361ef9
replace all random.xxx with helper random function 2018-03-21 19:26:27 +05:30
d7cd294eb4
Merge branch '1173' into upstream-v0.6 2018-03-21 14:14:08 +01:00
Mahendra
6076e1832a
implement more helper random changes with replace random.xxx 2018-03-21 18:19:08 +05:30
f3960c1638
Merge branch '1170' into upstream-v0.6 2018-03-21 13:08:10 +01:00
Mahendra
1ad321b08a
replace random.xxx with calls to the helper_random function 2018-03-21 17:22:23 +05:30
08888117af
Merge branch '1169' into upstream-v0.6 2018-03-21 11:57:15 +01:00
Mahendra
48b8af975a
added random(sample, shuffle, randrange) methods in helper_random 2018-03-21 16:13:43 +05:30
Mahendra
ee7b591c6c
added docstring for requirement dependency 2018-03-21 15:47:55 +05:30
72299483c4
Do not duplicate avatar in address column of Address book 2018-03-14 16:34:03 +02:00
1e037024c3
Merge branch '1156' into upstream-v0.6 2018-03-14 13:59:40 +01:00
9bd60c4a0f
Merge branch '1153' into upstream-v0.6 2018-03-14 13:59:21 +01:00
50b74c2223
No lib symlinks in openwrt 2018-03-14 12:56:23 +02:00
0ef0e6b020
Added docstrings. Removed unused method Image.save(). 2018-03-14 08:57:51 +02:00
0ddc56e83a
Added schema 'bitmessage:', it's unreadable otherwise for some reason 2018-03-14 08:57:20 +02:00
PyBitmessage Translations
f9c66956c5
Auto-updated language ja from transifex 2018-03-13 16:15:59 +01:00
3850a920c9
Do not add gui.menu plugins with prefix 'address' to "All accounts" item 2018-03-13 13:46:47 +02:00
08a2115412
Properly renamed qrcode plugin module and made menu available
for all address entries except for addressbook and blacklist
2018-03-13 13:46:47 +02:00
77e779638c
Removed unnecessary code in qrcode plugin 2018-03-13 13:46:47 +02:00
4b995e7996
Fix circular import
- previous commit broke
2018-03-13 11:42:43 +01:00
af2bb95601
Remove unused imports 2018-03-13 07:41:59 +01:00
1e4400a207
Remove obsolete code
- PendingDownload and PendingUpload in inventory.py are obsolete
- the replacement functions only provide lengths and are in
  network/stats.py
2018-03-13 07:32:23 +01:00
7938eab454
Remove obsolete files 2018-03-11 20:38:58 +01:00
0da0c10995
Socks5 parsing fix
- Fixes #1134
- Came over BM, thank you kind stranger
2018-02-26 20:04:57 +01:00
140265621f
UPnP parser fix
- Fixes #1131
- Came over BM, thank you kind stranger
2018-02-26 20:03:35 +01:00
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