Commit Graph

37 Commits

Author SHA1 Message Date
Dmitri Bogomolov 7a89109fc9
New logging approach in order to reduce imports from submodules
and use logging without risk of circular import. Only subpackage
that imports from debug is bitmessageqt - because it also uses
debug.resetLogging().
Instead of from debug import logger is now recommended to use:

import logging

logger = logging.getLogger('default')

All subclasses of StoppableThread now have a logger attribute.
All threading related stuff except for set_thread_name()
was moved from helper_threading to network.threads.

Fixed two my mistakes from previous edit of debug in a1a8d3a:

 - logger.handlers is not dict but iterable
 - sys.excepthook should be set unconditionally
2019-10-18 09:35:24 +03:00
Dmitri Bogomolov ad2a2b3fb4
Inherit helper_threading.StoppableThread from threading.Thread
and do random.seed() in its __init__
2019-08-06 18:07:19 +03:00
Dmitri Bogomolov 92c0196887
Add self peer into knownnodes if detected external IP with UPnP 2019-08-01 13:21:05 +03:00
Dmitri Bogomolov c5ce2e36d5
shared.extPort is obsolete 2019-08-01 12:40:50 +03:00
coffeedogs 0bceeca524
Changes based on style and lint checks. (final_code_quality_5) 2018-10-31 14:04:35 +00:00
Peter Šurda 140265621f
UPnP parser fix
- Fixes #1131
- Came over BM, thank you kind stranger
2018-02-26 20:03:35 +01:00
Peter Šurda 96ea36cfd2
UPnP client port randomize 2018-02-13 16:11:53 +01:00
Peter Šurda cc955cd69d
Try new ports of binding fails
- API and BM protocol will try random ports for binding if those
configured are occupied
2017-08-09 17:29:23 +02:00
Peter Šurda 42246f83ef
Reset connection list on UPnP
- reset the already attempted connection list after UPnP port mapping is
  established. This allows to resubmit externally reachable port
2017-02-28 01:15:49 +01:00
Peter Šurda e15d9e3e03
Save UPnP externa port after creating mapping 2017-02-27 15:55:59 +01:00
Peter Šurda 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
Peter Šurda 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
Peter Šurda ad75552b5c
Move shutdown from shared.py to state.py 2017-01-14 23:20:15 +01:00
Peter Šurda c738d93056
Assorted fixes
- landscape.io was complaining, this fixes most easily fixable errors
2017-01-11 18:13:00 +01:00
Peter Šurda 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
Peter Šurda 6add48e036
UPnP fix
- it looks like some UPnP server implementations consider NewRemoteHost
  to be a mandatory tag
2016-06-22 22:54:06 +02:00
Peter Šurda 0689525d61
UPnP fixes
- detects WANPPPConnection vs WANIPConnection
2016-06-21 10:11:15 +02:00
Peter Šurda 75eef9ef2f
Fix merge conflicts
Missed this difference in the last commit
2016-05-02 17:33:18 +02:00
Peter Šurda aabf600c38
Fix incorrectly resolved merge conflicts
Two file merge conflicts, __init__.py and upnp.py, were not resolved
correctly by the automatic resolving (probably because the affected code
was written by other people and I merged them into mailchuck fork). This
changes it to the same code that is in the mailchuck fork)
2016-05-02 17:10:45 +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
Peter Šurda 1b50f3898a UPnP fixes:
- external port iterator fix
- error handler fix
2016-05-02 15:00:24 +02:00
mailchuck a1b44aab44 UPnP fixes
- UPnP handles errors better
- it tries to bind external interface (previously sometimes it searched
on 127.0.0.1 resulting in no routers being detected)
2016-05-02 15:00:24 +02:00
mailchuck 4033b945ee UPnP status bar update fix 2016-05-02 15:00:23 +02:00
mailchuck 1b36da9327 Save UPnP port
Fixes #129
2016-05-02 15:00:23 +02:00
mailchuck f77afe8fae Exception handling 2016-05-02 15:00:21 +02:00
mailchuck 36ddbd365e Typo 2016-05-02 15:00:21 +02:00
mailchuck 410c23e8c0 Typo 2016-05-02 15:00:21 +02:00
mailchuck e82e33fa51 UPnP notifications
UPnP will notify you through window status bar.
2016-05-02 15:00:21 +02:00
mailchuck bbdfb1ea54 UPnP cleaner shutdown 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 48b9e50397 UPnP GUI
Settings GUI now contains a checkbox for UPnP and auto starts/stops the
thread when changed.
Default UPnP socket timeout decreased for faster thread
starting/stopping
2016-05-02 15:00:21 +02:00
mailchuck 50be5a2b4c UPnP fixes 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 cc848cdb65 Typo fix 2016-05-02 15:00:21 +02:00
mailchuck 5432c6e0c8 UPnP logging improvlement 2016-05-02 15:00:21 +02:00
Peter Šurda 0270dc3d4d Cleanup UPnP 2016-05-02 15:00:21 +02:00
lightrabbit f0f9f679e6 Add UPnP support. 2016-05-02 15:00:17 +02:00