Commit Graph

2646 Commits

Author SHA1 Message Date
Dmitri Bogomolov 380530c839
Experimental APIError codes table 2020-09-14 13:11:43 +03:00
Dmitri Bogomolov 85f306e5f6
Covered more API commands by tests, listed uncovered in TODO 2020-09-14 13:11:43 +03:00
Dmitri Bogomolov ef5593b3d5
Formatted lines for PEP8, handled pylint warnings, added docstrings 2020-09-14 13:11:43 +03:00
Dmitri Bogomolov 3a8e842e60
Use encodingType arg in sendMessage and sendBroadcast API commands 2020-09-14 13:11:43 +03:00
Dmitri Bogomolov 5b07d2de30
httplib status codes constants in response 2020-09-14 13:11:43 +03:00
Dmitri Bogomolov 6c85bdd498
Also check sent broadcast status and it's presence in sent messages 2020-09-14 13:11:43 +03:00
Dmitri Bogomolov efff8f95ba
Prefix based command filter 2020-09-14 13:11:42 +03:00
Dmitri Bogomolov fabbccbeac
Rewrote test_user_password() for xmlrpclib.ProtocolError:
it would be very difficult to return string from BMXMLRPCRequestHandler
2020-09-14 13:11:42 +03:00
Dmitri Bogomolov 06033ed96e
Fixed response for bad username or password and content-type header
(closes #244)
2020-09-14 13:11:42 +03:00
Dmitri Bogomolov 726986c1eb
Implemented JSON-RPC apivariant 2020-09-14 13:11:42 +03:00
Dmitri Bogomolov 6a089e0f88
Decoupled SimpleXMLRPCRequestHandler subclass
and added simple introspection
2020-09-14 13:11:42 +03:00
Dmitri Bogomolov f4bf3bac2a
Used defusedxml to protect against XML vulnerabilities 2020-09-14 13:11:42 +03:00
Dmitri Bogomolov 2142888cbe
Inherited APIError from xmlrpclib.Fault.
From now on any errors are raised.
2020-09-14 13:11:42 +03:00
Dmitri Bogomolov 25abf66f1d
Reused _verifyAddress() in HandleDecodeAddress() 2020-09-14 13:11:41 +03:00
Dmitri Bogomolov 5925781b9a
Proper message for APIError 0 2020-09-14 13:11:41 +03:00
Dmitri Bogomolov 7cafe402be
Methods to form a dictionary for inbox and sent messages 2020-09-14 13:11:41 +03:00
Dmitri Bogomolov 45b0659e4c
Refactoring the API with metaclass and decorator 2020-09-14 13:11:35 +03:00
coolguy-cell 1571176082
fixed CQ for bitmessageqt.statusbar module 2020-09-09 12:12:52 +05:30
Peter Šurda 95fc981ae2
Finish timeOffsetWrongCount
- now notifies in status bar
- fixes #1433
2020-08-31 11:52:30 +02:00
coolguy-cell 6486b0fc99
fixed CQ for bitmessageqt.safehtmlparser module 2020-07-24 21:04:25 +05:30
coolguy-cell 035fac1fc5
fixed CQ for bitmessageqt.messagecompose module 2020-07-22 14:08:05 +05:30
Dmitri Bogomolov d56191ebba
Move knownnodes module into network package 2020-07-21 16:21:43 +03:00
Dmitri Bogomolov b165a6b4ef
Do addKnownNode recursively for multiple streams 2020-07-21 16:21:43 +03:00
Dmitri Bogomolov 5805840613
A test case for protocol with the test for TCPConnection.local 2020-07-21 16:21:43 +03:00
Dmitri Bogomolov f9dc8eaacf
Define len() for network.BMConnectionPool 2020-07-21 16:21:43 +03:00
Dmitri Bogomolov 1035d2aec4
Format network.tcp for flake8 2020-07-21 16:21:42 +03:00
Dmitri Bogomolov 54e44eac95
Add or update knownnode for connected Peer for both inbound
and outbound connections when fully established, update lastseen
before closing connection.
2020-07-21 16:21:42 +03:00
Dmitri Bogomolov d9ddbe8d24
Do not update addrQueue if not added node to own knownnodes
and more checks in knownnodes.addKnownNode moved from bmproto.
2020-07-21 16:21:42 +03:00
Dmitri Bogomolov 0dd49761d0
Populate knownnodes from inventory when singleWorker starts 2020-07-21 16:21:42 +03:00
Dmitri Bogomolov 739ff7b439
Add knownnodes only by knownnodes.addKnownNode(),
now it can update lastseen.
2020-07-21 16:21:36 +03:00
coolguy-cell 1699c2b015
fixed CQ for bitmessageqt.addressvalidator module 2020-07-20 20:00:48 +05:30
coolguy-cell 859eeafcfe
fixed CQ for bitmessageqt.messageview module 2020-07-07 19:44:45 +05:30
coolguy-cell 217a5c0c5b
fixed CQ for bitmessageqt.settings module 2020-06-19 18:15:52 +05:30
coolguy-cell 277549cff1
fixed CQ for bitmessageqt.sound module 2020-06-18 11:30:33 +05:30
Dmitri Bogomolov f03bdfb329
Dirty quickfix for #1633 2020-06-15 12:06:37 +03:00
Dmitri Bogomolov d6953eb450
New package: bitmessageqt.tests
any test cases from it will be added to tests.core test suite if possible,
e.g. PyQt is functional. TestSupport - minimal test case for support module
to reproduce #1633.
2020-06-15 12:06:31 +03:00
coolguy-cell ea109bc21e
fixed CQ for bitmessageqt.dialogs module 2020-06-08 17:07:40 +05:30
coolguy-cell e237534335
fixed CQ for bitmessageqt.networkstatus module 2020-06-06 20:08:06 +05:30
coolguy-cell e372459737
fixed CQ for bitmessageqt.languagebox module 2020-06-05 15:28:31 +05:30
Dmitri Bogomolov b750b02963
Fix another unicode bug introduced in 3624234.
Temporary suppressed pylint no-member warning. Closes: #1633
2020-06-01 13:21:46 +03:00
coolguy-cell 5cfaa9b2fa
fixed CQ for address_dialog python file 2020-05-30 19:17:52 +05:30
lakshya 3f773c78f7
setting, openssl and bmproto quality fixes 2020-05-28 13:43:03 +05:30
Dmitri Bogomolov c69decaab3
Fix unicode bug introduced in 045a2ef 2020-05-24 14:08:14 +03:00
Dmitri Bogomolov 87e3d63340
Minimal fix for #1449, if search line is empty 2020-05-22 13:17:44 +03:00
Dmitri Bogomolov 36242343c2
Style and formatting changes in support 2020-05-22 13:17:44 +03:00
Dmitri Bogomolov 15d44d85d4
Renamed application class and moved most of init statements to __init__ 2020-05-22 13:17:44 +03:00
Dmitri Bogomolov 7830ac8de5
RetranslateMixin is not needed in most of dialogs 2020-05-22 13:17:44 +03:00
Dmitri Bogomolov f3e432140c
Proper quit sequence:
close MainWindow and quit the app instead of sys.exit()
2020-05-22 13:17:43 +03:00
Dmitri Bogomolov 08ff39e1ff
Moved myTableWidgetItem to foldertree.MessageList_TimeWidget 2020-05-22 13:17:43 +03:00
Dmitri Bogomolov aa333a66a6
Minor style changes:
- removed list <-> set conversion in __init__
  - tuples instead of lists if changes aren't needed
  - removed unnecessary variable redefinition in utils
  - rewrote languagebox module a bit
2020-05-22 13:17:43 +03:00
Dmitri Bogomolov d15e614bb1
Fix streams decoding in BMProto.bm_command_version() 2020-05-22 12:58:04 +03:00
Dmitri Bogomolov 2a62fb79cc
Add test for decoding the version message 2020-05-22 12:58:00 +03:00
Dmitri Bogomolov 7787722452
Search option "To" makes no sense on tab "Subscriptions"
Made "Subject" the default search option
2020-05-11 13:39:13 +03:00
Dmitri Bogomolov aba61e57a8
flake8 and style fixes and docstrings in helper_search 2020-05-11 13:39:13 +03:00
Dmitri Bogomolov ef6be53702
Do not convert search option because helper_search compares it
to the result of _translate()
2020-05-11 13:39:13 +03:00
Dmitri Bogomolov 045a2ef443
Update messagelist also if search line cleared 2020-05-11 13:38:16 +03:00
Dmitri Bogomolov d09782e53d
Obsolete bitmessagemain.connectToStream(), use BMConnectionPool method 2020-05-05 17:30:31 +03:00
Dmitri Bogomolov c5b77a08fa
Moved addresses demo script into tests.test_crypto 2020-05-05 17:30:31 +03:00
Dmitri Bogomolov 8684d647a3
Use default digestalg='sha256' in highlevelcrypto.sign() 2020-05-05 17:30:30 +03:00
Dmitri Bogomolov 280095b08f
Moved state.openKeysFile() into bitmessageqt where it's used 2020-05-05 17:30:23 +03:00
Dmitri Bogomolov 185ad66ea5
Moved most of variables from shared elsewhere (mostly to state) 2020-05-05 17:27:38 +03:00
Dmitri Bogomolov 31fc899060
Protect stopresending* settings from being overriden by zeroes
when lineEditDays and lineEditMonths is blank. Fixes: #1558.
2020-04-28 18:31:44 +03:00
Peter Šurda ff1f451691
Blind signature updates
- added serializing and deserializing
- added a signature chain class `ECCBlindSigChain`
- added more tests
2020-03-31 14:13:32 +08:00
Peter Šurda 213519bd93
Blind chain signature verification
- also adds serialisation, deserialisation and optional metadata
2020-03-14 10:20:06 +08:00
Peter Šurda 11bec55be5
Don't put addresses into queue
- attempt to fix #1598
- seems to work
- addresses won't be uploaded/announced anymore other than after connecting,
  Later I need to find out how to announce them without causing problems, but
  for the time disabling this seems an acceptable drawback
2020-02-05 20:41:36 +08:00
lakshyacis 6f35da4096
Imported packages sequencing and formatting 2020-01-30 12:14:40 +05:30
lakshyacis 6139efc377
Imported packages sequencing and formatting 2 2020-01-27 14:43:25 +05:30
lakshyacis 3211fca953
formatting and shorten line length 2020-01-22 15:55:26 +05:30
lakshyacis b6a81f1252
Formatting and fix License 2020-01-15 16:17:26 +05:30
lakshyacis f0bc74e658
Network fixes 2020-01-10 16:51:17 +05:30
lakshyacis e37d52d950
storage quality fixes 2020-01-08 13:20:11 +05:30
lakshyacis 108b231c1c
sqlite quality fixes 2020-01-08 13:20:10 +05:30
lakshyacis 6fad4f5665
filesystem quality fixes 2020-01-08 13:20:10 +05:30
lakshyacis 81872c7f2f
network code quality fixes 2020-01-08 12:53:04 +05:30
lakshyacis a31d6c8422
sound_playfile quality fixes 2020-01-07 15:27:17 +05:30
lakshyacis 8338a9ee74
sound_gstreamer docstring fixes 2020-01-07 15:27:16 +05:30
lakshyacis 208090ce5d
sound_canberra docstring and formatting 2020-01-07 15:27:16 +05:30
lakshyacis e24f4de40e
proxyconfig_stem quality fixes 2020-01-07 15:27:16 +05:30
lakshyacis ea50485de2
notification_notify2 pylint fixes 2020-01-07 15:27:15 +05:30
lakshyacis 7b0bf84585
menu_qrcode docstring and formatting 2020-01-07 15:27:15 +05:30
lakshyacis 624d96fbb9
indicator_libmessaging docstring and formatting 2020-01-07 15:27:14 +05:30
lakshyacis 8659c5313d
openssl pylint issue fixes 2020-01-07 13:20:31 +05:30
lakshyacis 814aae5166
eccblind quality fixes 2020-01-07 13:20:31 +05:30
lakshyacis 36c24cc09a
cipher quality fixes 2020-01-07 13:20:30 +05:30
lakshyacis b16515dc09
arithmetic docstring and formatting 2020-01-07 13:20:30 +05:30
lakshyacis 4a369f70c1
formatting and docstring 2020-01-07 12:13:51 +05:30
lakshyacis 21ae6cb9b0
curses fixes 2020-01-06 19:18:05 +05:30
Dmitri Bogomolov 61f64f72c3
Fixing port for hidden service 2020-01-04 14:28:45 +02:00
Dmitri Bogomolov 1c4d7655c3
Fix socksproxytype in the support message,
made that a separate function getSOCKSProxyType(config) in the settings.
2020-01-04 14:28:45 +02:00
Dmitri Bogomolov 52d5c1ff03
Document proxyconfig_stem 2020-01-04 14:28:45 +02:00
Dmitri Bogomolov 2bddae511a
Fixed some mistakes in tor dependent tests and marked them
for skipping until the finish of debug.
2020-01-04 14:28:45 +02:00
Dmitri Bogomolov e3ccc3c7c8
Support for socksproxytype plugins in Settings dialog 2020-01-04 14:28:45 +02:00
Dmitri Bogomolov 5160a68c28
Moved start_proxyconfig to helper_startup;
no more prints in helper_startup
2020-01-04 14:28:45 +02:00
Dmitri Bogomolov 44cb975a61
Fixed bug in plugin.get_plugins(), edited docstrings 2020-01-04 14:28:44 +02:00
Dmitri Bogomolov c35f48bd0b
Fix setting socksproxytype and return in proxyconfig_stem:
socksproxytype is set to SOCKS5 temporary if proxyconfig succeeds.
2020-01-04 14:28:44 +02:00
sandakersmann 9119507b03
Changed copyright year to 2020 2019-12-27 18:23:02 +01:00
Dmitri Bogomolov 03316496b7
Stop UDPSocket on socket.error 101 (Network is unreachable) 2019-12-24 12:41:01 +02:00
Dmitri Bogomolov 5a35de6bca
Fix sendOnionPeerObj() broken in 9923e97 2019-12-21 13:14:28 +02:00
Dmitri Bogomolov c79636863d
If tray is not available, disable settings group "Tray"
and related checkboxes; set checkBoxMinimizeToTray to false by default
2019-12-20 11:25:15 +02:00
Peter Šurda a69732f060
Addrthread finish
- addrthread is supposed to spread addresses as they appear. This was never
  finished during migration to asyncore
- conservative to prevent flood and loops
- randomises order
- move protocol constants into a separate file
- move addr packet creation into a separate file
- see #1575
2019-11-30 13:47:24 +01:00
lakshyacis e47b573b3e
helper_sql pylint fixes 2019-11-25 15:17:40 +05:30
lakshyacis ece3005f42
helper_sent pylint fixes 2019-11-25 15:17:40 +05:30
lakshyacis d271996ac1
helper_sent flake8 fixes 2019-11-25 15:17:40 +05:30
lakshyacis d5f541a2ab
helper_search pylint fixes 2019-11-25 15:17:40 +05:30
lakshyacis 9041b8f644
helper_search flake8 fixes 2019-11-25 15:17:40 +05:30
lakshyacis 28cfe78e67
helper_random pylint fixes 2019-11-25 15:17:40 +05:30
lakshyacis 05cda087d6
helper_msgcoding pylint fixes 2019-11-25 15:17:40 +05:30
lakshyacis f4c7ac5604
helper_inbox pylint fixes 2019-11-25 15:17:40 +05:30
lakshyacis 27c58b05f3
helper_bitcoin pylint fixes 2019-11-25 15:17:32 +05:30
lakshyacis 31e3d60fb0
helper_ackPayload pylint fixes 2019-11-25 15:13:53 +05:30
lakshyacis e97d02ed78
depends pylint fixes 2019-11-25 15:13:53 +05:30
lakshyacis 21faf52f2f
debug pylint fixes 2019-11-25 15:13:53 +05:30
lakshyacis a9991a7a5a
class_sqlThread pylint fixes 2019-11-25 15:13:52 +05:30
lakshyacis dbbf454c15
class_sqlThread flake8 fixes 2019-11-25 15:13:52 +05:30
lakshyacis 4a54c200d4
class_smtpServer quality fixes 2019-11-25 10:48:35 +05:30
lakshyacis 9923e97279
class_singleWorker quality fixes 2019-11-25 10:48:35 +05:30
lakshyacis 80b2bc1c9a
class_singleCleaner.py quality fixes 2019-11-25 10:48:29 +05:30
lakshyacis 059e82e2a2
class_objectProcessor quality fixes 2019-11-25 10:41:57 +05:30
lakshyacis e534994ee3
class_addressGenerator quality fixes 2019-11-25 10:41:56 +05:30
lakshyacis 77b8b5aa42
bmconfigparser quality fixes 2019-11-25 10:41:56 +05:30
lakshyacis af52d95503
bitmessagemain quality fixes 2019-11-25 10:41:55 +05:30
Dmitri Bogomolov d9fa6a94f4
More docstrings and formatting fixes in highlevelcrypto and shutdown 2019-11-18 13:34:01 +02:00
Dmitri Bogomolov a7da0c0eff
Fixed google style docstrings in addresses 2019-11-18 13:34:00 +02:00
Dmitri Bogomolov aa7e7dd658
Fixed some docstrings in shared and state 2019-11-18 13:34:00 +02:00
Dmitri Bogomolov f18f534c48
Formatted protocol and its docstrings 2019-11-18 13:34:00 +02:00
Peter Šurda 2a165380bb
Restrict outbound connections on network groups
Logic borrowed from bitcoin, see CNetAddr::GetGroup() in src/netaddress.cpp
Simplified, so may not work fully identically but for our purposes it's good
enough. Won't connect to more than one host from a /16 subnet on IPv4 and a /32
subnet on IPv6.
2019-11-18 12:20:29 +01:00
bug Lady 7e1f1d2604
fix 'true' not True
else error
2019-11-14 13:32:15 +01:00
Dmitri Bogomolov 35a2962552
Fixed misleading comment about receiveDataThreads in queues 2019-11-11 17:13:20 +02:00
Dmitri Bogomolov c40c70f807
Marked variables comments in defaults for use in doc.
Allowed autodoc in bitmessagemain, class_objectProcessor, defaults:
seems safe now.

Changed docs conf: don't sort module members, treat any string
inside backticks as :obj:.
2019-11-11 17:13:20 +02:00
Dmitri Bogomolov d6c1845b71
Moved Peer from state to network.node
and trustedPeer to network.connectionpool.BMConnectionPool attribute
2019-11-11 17:13:12 +02:00
Dmitri Bogomolov 388de96495
Alphabetical internal import order in bitmessagemain 2019-11-11 12:03:04 +02:00
Dmitri Bogomolov 0967f03b40
addresses: raise varintEncodeError in encodeVarint()
instead of SystemExit (looks like a bug)
2019-11-11 12:03:04 +02:00
Dmitri Bogomolov 7a1f803c92
network.BMConnectionPool: added shortcuts connections()
and establishedConnections(), some formatting fixes
2019-11-11 12:03:04 +02:00
Dmitri Bogomolov 4d8d9b169f
Moved ObjectProcessorQueue to queues, added some doc 2019-11-11 12:03:04 +02:00
Dmitri Bogomolov 341651973a
Reduced imports:
- exported from network package all objects used outside;
  - made all threads available in threads module.

Wrote some module docstrings.
2019-11-11 12:03:03 +02:00
lakshyacis 58e5fac6d7
tr quality fixes 2019-10-31 14:52:43 +05:30
lakshyacis fda5d23c2d
state quality fixes 2019-10-31 14:52:43 +05:30
lakshyacis b9ad6a3bac
singleinstance quality fixes 2019-10-31 14:52:43 +05:30
lakshyacis 503d0b33d0
shutdown quality fixes 2019-10-31 14:52:43 +05:30
lakshyacis 6f91ba1b33
shared quality fixes 2019-10-31 14:52:43 +05:30
lakshyacis 27be035e51
paths quality fixes 2019-10-31 14:52:43 +05:30
lakshyacis cacac00e21
openclpow quality fixes 2019-10-31 14:52:43 +05:30
lakshyacis 1181db66e0
l10n quality fixes 2019-10-31 14:52:43 +05:30
lakshyacis afce500085
knownnodes quality fixes 2019-10-31 14:52:43 +05:30
lakshyacis ee5be28179
helper_threading quality fixes 2019-10-29 11:45:51 +05:30
Dmitri Bogomolov 1a7ef791e5
message_data_reader is obsolete 2019-10-28 09:14:48 +02:00
George McCandless f871cd450c
Add test for 'onionservicesonly' mode.
Credit to Dmitri Bogomolov in commit 557a8cc6d2bec881b8a3c531d3f725460ed515f5.
2019-10-24 19:35:32 +00:00
George McCandless b42f536d23
Add a checkbox to the network settings tab that allows restricting outbound connections to onion services (i.e., hosts that end with '.onion'). 2019-10-21 00:03:41 +00:00
Dmitri Bogomolov f0b4e4ded4
Replaced logging.getLogger() in other possible places 2019-10-18 09:35:31 +03:00
Dmitri Bogomolov a48b51721d
Test new logging approach, both debug.logger and resetLogging 2019-10-18 09:35:31 +03:00