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
1e02d2b48a
Download optimisation
...
- pending download tracking now per-connection instead of globally
2017-11-17 19:49:51 +01:00
5a787f41d2
Socket closing changes
...
- explicit close only through asyncore error handler
- implicit close through garbage collector
- avoid duplicate closing
2017-11-17 13:37:51 +01:00
2da1115d17
Typo
...
Typo in 89567cecfa
2017-11-14 23:46:07 +01:00
1792289e00
close handling fix
...
- don't close a connection twice
2017-11-14 23:43:05 +01:00
d2f79d3172
sqlite storage fix
...
- typo on cleaning
2017-11-14 23:20:15 +01:00
89567cecfa
Notifier plugin fix
...
- NotifyOSD doesn't like too many notification objects in a queue, so
just create one on init and update its contents if there is a new
notification
2017-11-14 23:19:16 +01:00
PyBitmessage Translations
d6e94cf77f
Auto-updated language zh_cn from transifex
2017-11-02 12:42:50 +01:00
PyBitmessage Translations
8b7b91b23d
Auto-updated language de from transifex
2017-10-31 09:40:18 +01:00
e17d33cd75
Respect user selected sort order on "Network Status" tab
2017-10-24 14:02:15 +03:00
4b40d4bce1
Download thread error handling
2017-10-22 15:28:30 +02:00
75a6f605c1
Download optimisation
...
- more accurate tracking
- randomise download order
- longer cycle
2017-10-22 11:32:37 +02:00
b025624f2a
missingObjects fix
...
- didn't notice valid objects arriving (only invalid)
2017-10-20 23:21:25 +02:00
6655e99aa3
Pending download stats optimisations
...
- tracks separately a global list for a faster sum. Needs slightly
more memory
2017-10-20 23:11:33 +02:00
a746ba9da7
Stop downloading objects with insufficient PoW
...
- object with insufficient PoW weren't correctly detected and it
tried to download them over and over again
2017-10-20 13:21:39 +02:00
2d34e73648
Dandelion updates
...
- fixes and feedback from @gfanti and @amiller
- addresses #1049
- minor refactoring
- two global child stems with fixed mapping between parent and
child stem
- allow child stems which don't support dandelion
- only allow outbound connections to be stems
- adjust stems if opening/closing outbound connections (should
allow partial dandelion functionality when not enough outbound
connections are available instead of breaking)
2017-10-20 01:21:49 +02:00
15857e6551
Asyncore updates
...
- reduce buffer size to 128kB (was 2MB)
- IP address handling use str instead of buffer (the latter, even
though it should be faster, breaks the code on Windows)
- read up to full buffer after fully established (otherwise
downloads become too slow due to the loop time). This reverts
a change made in d28a7bfb86
2017-10-20 01:07:30 +02:00
8fcdf51e57
One more unicode related exception - when editing a contact label
2017-10-19 18:43:41 +03:00
9be36f2d78
Use unicode instead of str for MessagingMenu
2017-10-19 18:29:42 +03:00
PyBitmessage Translations
364642404a
Auto-updated language ja from transifex
2017-10-19 12:26:51 +02:00
ab458531e8
Changes in SOCKS and onion handling in connectionchooser
...
- onion addresses have a priority of 1 when SOCKS is on
- don't connect to private/loopback addresses when SOCKS is on
2017-10-19 09:16:29 +02:00
7b470d4b66
handle shutdown in receivequeuethread
...
- sometimes during shutdown, the receivequeuethread would get
stuck
2017-10-19 09:11:34 +02:00
391d40d78b
Socket closing changes
...
- closing reason moved to a variable
- actual closing now done in asyncore thread instead of
receivedata thread
2017-10-19 09:08:05 +02:00
01d46c30e4
Remove obsolete imports
2017-10-19 09:03:36 +02:00
d28a7bfb86
Asyncore performance optimisation
...
- don't transfer unnecessary amount of bytes from network buffers
- slice buffer more efficiently if it results in an empty buffer
2017-10-19 09:02:33 +02:00
7ec3fc7a5a
Prevent negative DownloadChunk in asyncore
2017-10-19 09:00:54 +02:00
f785558ca5
Don't close UDP socket on bad packet magic
2017-10-19 09:00:02 +02:00
a090eea9b0
Minor multiqueue updates
...
- add task_done to addrthread and invthread
- implement totalSize for multiqueue
- order in invThread changed
2017-10-19 08:56:48 +02:00
d44c6c6464
Forget known nodes with bad rating
2017-10-19 08:52:44 +02:00
453bcdbb1d
Typo in newchandialog
2017-10-19 08:39:30 +02:00
a013814c6b
Network tab updates
...
- handle add/remove entry instead of recreating the whole connection
list
- update processed object counts after each object
2017-10-19 08:39:09 +02:00
1ba1f02686
Remove superfluous validator signal connect in newchandialog
...
- apparently it connects automatically and just creates an error message
2017-10-19 08:31:05 +02:00
7e0932815d
UDP socket closing fix
...
- invalid data or an incomplete read on UDP socket caused
it to close
2017-10-19 01:46:32 +02:00
9cffd50de8
Fixed statusbar message on error in namecoin name search
2017-10-17 11:37:50 +03:00
59d1309a9e
Fixed typo when closing tempfile in bitmessageqt.__init__
2017-10-17 11:25:33 +03:00
8e76169388
Check IP before adding to knownnodes in helper_bootstrap
2017-10-17 01:33:30 +03:00
9dae77dd2b
Quiet Mode (i.e. turn off notification) in tray menu
2017-10-16 19:30:12 +03:00
4c9006a632
Asyncore performance optimisation
...
- use bytearray instead of strings for buffers
2017-10-16 08:07:32 +02:00
PyBitmessage Translations
1eb0dd6f01
Auto-updated language fr from transifex
2017-10-15 13:45:31 +02:00
a49b3b5f84
Asyncore UDP fix
...
- when there was an error writing to a udp socket, it wasn't
handled correctly
2017-10-06 18:26:06 +02:00
333170b172
Dandelion fixes
...
- more exception handling
- only use outbound connections for stems
(thanks to @amillter for info)
- don't create stems if config disabled
- addresses #1049
2017-10-06 16:33:44 +02:00
1abdc14807
Fix statusbar chan creation message:
...
non-ASCII characters displayed incorrectly
2017-10-03 18:01:54 +03:00
6548999a49
Dandelion fix
...
- thanks to g1itch for reporting
- addresses #1049
2017-10-02 08:02:29 +02:00
b1442ecb0a
Dandelion fixes and updates
...
- also, randomise the item order in an inv/dinv command
2017-09-30 13:42:04 +02:00
f97ada87
be0e724b23
implement stealth ack objects
2017-09-30 19:45:40 +10:00
f97ada87
08748fa9ae
move config read inside main function
2017-09-27 00:36:43 +10:00
f97ada87
dbd12ab8b4
fix truncation of received ackdata in objectProcessor
2017-09-25 20:14:03 +10:00
PyBitmessage Translations
1798c90622
Auto-updated language ja from transifex
2017-09-25 11:10:16 +02:00
9923d288e0
Dandelion fixes
...
- in route selector, some connections may not have the services
attribute (yet)
- Addresses #1049
2017-09-25 09:17:15 +02:00
d574b167d8
Dandelion updates & fixes
...
- Addresses #1049
- Add dandelion routes for locally generated objects
- Minor bugfixes
- Send dinv commands on stem objects (instead of always sending inv
command)
2017-09-25 08:49:21 +02:00
6ce86b1d0a
Dandelion++ implementation
...
- untested, some functionality may be missing, don't turn on
- also, it randomises upload of requested objects
- affects #1049
2017-09-25 01:17:04 +02:00
PyBitmessage Translations
8495836428
Auto-updated language ru from transifex
2017-09-24 11:49:32 +02:00
f97ada87
c89d86a779
use getopt parser for command-line arguments
2017-09-24 07:42:37 +10:00
aaa5e9d309
Windows daemon mode workaround
2017-09-23 18:25:41 +02:00
f97ada87
cfa84cf81a
change default log output from stdout to stderr
2017-09-24 01:50:49 +10:00
PyBitmessage Translations
a8ab574c3e
Auto-updated language pl from transifex
2017-09-21 21:06:53 +02:00
PyBitmessage Translations
680cc2cafc
Auto-updated language de from transifex
2017-09-21 19:16:40 +02:00
PyBitmessage Translations
df21f53271
Auto-updated language eo from transifex
2017-09-21 19:08:10 +02:00
1881bcea68
Don't connect on first start until approved
2017-09-21 18:18:42 +02:00
0150a35dd4
Change main thread name to PyBitmessage
2017-09-21 17:51:34 +02:00
4f75dcb9be
Merge pull request '1047' into v0.6
...
- notifications moved into plugins
- improvements in setup.py
- remove obsolete imports
2017-09-21 13:30:53 +02:00
2504bc6670
Fixed fetch of connected hosts number in bitmessageqt.support
2017-09-21 13:59:43 +03:00
53c3eeb8f7
Sound plugins using pycanberra and gst-python
2017-09-20 10:21:27 +03:00
1f47a4060e
Added "Set notification sound..." context menu on addressbook entry.
2017-09-20 10:21:27 +03:00
b77eb0c7e5
Namespace 'bitmessage' for plugins entry points
2017-09-20 10:21:27 +03:00
c8a47b988f
Moved "Ubuntu" MessagingMenu code into indicator_libmessaging plugin
2017-09-20 10:21:27 +03:00
cd81718871
Moved sound category constants to the separate module sound
...
for importing from the sound theme plugins.
2017-09-20 10:21:27 +03:00
289a6c5bfa
Added support for sound notification plugins which use
...
the desktop sound theme, with pycanberra for example. Plugin name should
start with 'theme' in that case, whereas the name of plugins playing the
sound file starts with 'file'.
2017-09-20 10:21:27 +03:00
84a903f116
Redirected output of the player programs to /dev/null
2017-09-20 10:21:27 +03:00
91eb75b140
gst-play-1.0 is another player program which bundled with gstreamer 1.0
2017-09-20 10:21:27 +03:00
be716bf228
Improved and documented plugin module
2017-09-20 10:21:27 +03:00
ef8f40ccc4
Moved notifications to plugins (including sound)
2017-09-20 10:21:27 +03:00
PyBitmessage Translations
022e0ce593
Auto-updated language ja from transifex
2017-08-26 04:35:44 +02:00
PyBitmessage Translations
a8e5ea18a6
Auto-updated language eo from transifex
2017-08-24 21:30:54 +02:00
7e35ea6bdf
Email gateway autoregistration fixes
...
- don't treat "@" in label as an email address
- ask for confirmation before autoregistering. It confused some
newbies into thinking that bitmessage requires payment
2017-08-24 14:16:37 +02:00
660997b8f4
Code Quality
2017-08-22 13:49:27 +02:00
18119339f8
Add shutdown to CLI
2017-08-22 13:23:03 +02:00
b7f808cde1
Add shutdown command to API
...
- calling "shutdown" now cleanly shuts down PyBitmessage, however the
call may not return so you need to add an error handler to the call.
With python for example, wrap the "shutdown()" in
"try:/except socket.error"
2017-08-21 10:39:03 +02:00
b886f935d4
Daemon Windows fix
...
- closing the filehandle isn't the correct approach, it causes more
bugs. Use os.devnull instead
2017-08-20 12:05:53 +02:00
314af0925f
Daemonize fix for Windows
...
- /dev/null isn't available on Windows so just close the console
sockets directly
2017-08-20 11:55:54 +02:00
2da4d00730
Support message C PoW fix
2017-08-15 18:14:36 +02:00
8b3d7ea278
C PoW init fix
2017-08-15 14:09:19 +02:00
623553393b
PID file truncate fix
...
- on unix it truncated the file if a second instance was being
launched
2017-08-15 12:25:38 +02:00
a48dff3bee
PoW init reordering
...
- inited by the worker thread on its own init, instead of when the
imports are being evaluated
- also got rid of windows-style newlines in OpenCL PoW
2017-08-15 12:24:43 +02:00
58b47bc6de
Forking fixes
2017-08-15 12:22:24 +02:00
PyBitmessage Translations
3c50615998
Auto-updated language zh_cn from transifex
2017-08-13 16:54:52 +02:00
PyBitmessage Translations
4d0a40fd2a
Auto-updated language sk from transifex
2017-08-11 09:46:06 +02:00
PyBitmessage Translations
85e4e5438c
Auto-updated language de from transifex
2017-08-11 09:38:00 +02:00
e7231f3aea
Fix multiple TCP bind address handling
2017-08-09 23:30:22 +02:00
6c695c8ac7
Remove non-asyncore network code (partial)
2017-08-09 17:36:52 +02:00
0b07b1c89a
Peer discovery updates
...
- allow loopback addresses, now you can bind different loopback IP
addresses on a single system and they will auto-cross-connect
- always listen for discovery on 0.0.0.0
- [network] - bind now also applies for the TCP socket as well as UDP
socket
- closing socket iterator fix
2017-08-09 17:34:47 +02:00
e071efac1a
Typo
2017-08-09 17:29:48 +02:00
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
0324958e92
Peer discovery fixes
...
- incoming packets weren't correctly processed
2017-08-06 23:05:54 +02:00
d9e4f2ceb8
Typo in previous commit
2017-08-06 21:38:23 +02:00
f338c00f8e
Change peer discovery tracking from queue to a dict
...
- with a queue, a situation could occur when new entries are appended
but nothing is polling the queue
2017-08-06 21:29:54 +02:00