Commit Graph

1817 Commits

Author SHA1 Message Date
mirrorwish 554627dd92 Refactor Inventory 2016-05-02 15:00:25 +02:00
mirrorwish 7800272d3a Refactor Blacklist tab 2016-05-02 15:00:25 +02:00
mirrorwish 337cf93b4b Fix byte formatting 2016-05-02 15:00:25 +02:00
Peter Šurda 24ae23946b Translations config file update 2016-05-02 15:00:25 +02:00
mirrorwish 69aa618890 Combine all translation project files into one 2016-05-02 15:00:24 +02:00
mirrorwish a23022b2db Refactor Network Status tab 2016-05-02 15:00:24 +02:00
mirrorwish 64fce79321 Refactor status icon 2016-05-02 15:00:24 +02:00
mailchuck 4f56e49a30 Unread count refresh updates 2016-05-02 15:00:24 +02:00
mailchuck 66824c32d1 sqlExecute now returns rowcount
This allows tracking of how many rows were changed, for example for
UPDATE, DELETE, INSERT.
2016-05-02 15:00:24 +02:00
mailchuck 8172fce730 Typos 2016-05-02 15:00:24 +02:00
mailchuck a63f9054f4 Global Sent fix 2016-05-02 15:00:24 +02:00
mailchuck 0ab0e6757a Restrict pending parallel requests on proxy
This saves some network resources if using Tor, for example.
2016-05-02 15:00:24 +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
Peter Šurda e03803e4e8 Translations update
Updated translation source files
2016-05-02 15:00:24 +02:00
Peter Šurda f8dcb965ea Grammar fix
- Fixes #179
- Thanks to @Erkan-Yilmaz
2016-05-02 15:00:24 +02:00
Peter Šurda d63ecfc566 Translation update
- typos
- updated German translation
- Fixes Bitmessage#844
2016-05-02 15:00:24 +02:00
Peter Šurda 3fcaa47232 Ack received translation typo
Fixes Bitmessage#644
2016-05-02 15:00:24 +02:00
Peter Šurda 143abe3c34 Preliminary Tor hidden service support 2016-05-02 15:00:24 +02:00
Peter Šurda c5363c3c5e Add bitcoin URI handler for message viewer 2016-05-02 15:00:24 +02:00
Peter Šurda 2e47ab0cd2 Keyboard modifiers with quick navigation
The quick navigation key disrupted keybindings with keyboard modifiers,
like Ctrl-C for copy. This restricts the quick navigation only where no
keyboard modifiers are active.

Fixes #184
2016-05-02 15:00:24 +02:00
Peter Šurda a30d5af948 Global Sent and Trash folders 2016-05-02 15:00:24 +02:00
mailchuck 8d8cfe8555 More unicode fixes
Addresses #180
2016-05-02 15:00:24 +02:00
mailchuck da036c6b6b UTF fixes
Label edits now accept and save utf8 characters.
Addresses #180
Still need to check how it behaves on invalid chars.
2016-05-02 15:00:24 +02:00
mailchuck 47bc85f0b6 Sent folder in chans extended
Previously, it only showed message sent to the selected chan address.
Now it shows both those sent to and sent from the chan address.

Fixes #181
2016-05-02 15:00:24 +02:00
mailchuck d8aa484b8c Email gateway interface usability improvements
- don't allow status request / settings unless registered already
- if registered, status request is the default selected option

Fixes #182
2016-05-02 15:00:24 +02:00
mailchuck 2adafdaadc Improved URI detector 2016-05-02 15:00:24 +02:00
mailchuck ed5c8a01ef loadResource incorrect parameters 2016-05-02 15:00:24 +02:00
mailchuck a79f6cce3b Clipboard copy unicode
Copying unicode subjects to clipboard didn't work.

Fixes #183
2016-05-02 15:00:24 +02:00
Peter Šurda 113ceb0868 Email links "From"
Clicking email links now sets "From" based on the message the link is
in.
2016-05-02 15:00:24 +02:00
Peter Šurda af193a1bca Keybindings
- delete key now works when message body is focused as well
- N for next message (down)
- P for previous message (up)
- R for reply
- C for compose
- F for find
- Find is now dynamic if the search text is least 3 characters long

Fixes Bitmessage#655
Addresses #155
2016-05-02 15:00:24 +02:00
Peter Šurda 9e2ae4eeb5 Allow close to tray
PyBitmessage can now close to tray. Even though the main code was there,
the UI and config variable were missing.

Fixes Bitmessage#564
2016-05-02 15:00:24 +02:00
Peter Šurda b3b69b1eac deleteRowFromMessagelist implementation
Rows are deleted from a message list in multiple places, and this is an
attempt to refactor it so that it is done in one function. It's not used
anywhere yet.
2016-05-02 15:00:24 +02:00
Peter Šurda 976af4b3cd Empty resource loader for messageview
MessageView does not currently load external resources (QTextBrowser by
default interprets all external resources as local file names and tries
to load them like that. This can, in the future, be implemented. For
example, if SOCKS (Tor) is used, the resource could be loaded through
the SOCKS too.

This commit is a skeleton for it that does not actually do anything and
can be filled with an implementation that does the loading.
2016-05-02 15:00:24 +02:00
Peter Šurda 96a1726426 Clickable email and http links in plain text
Email addresses and URIs are now clickable when viewing a message in
plain text mode. Clicking an email address moves to the Send tab, while
clicking an URI has the same result as clicking an URI in html mode, it
will ask for confirmation before opening it in external handler.
2016-05-02 15:00:24 +02:00
Peter Šurda f27ca0d3d6 HTML parser updates
HTML parser wasn't correctly handling img tags.
Now it also by defaults disabled external schemas to prevent
deanonymisation (even though the renderer actually doesn't support
external schemas at the moment)

Addresses #178
2016-05-02 15:00:24 +02:00
Peter Šurda b202ac6fab Do not allow port 0
Attackers injected node addresses with port 0 into the network. Port 0
is unusable on many OSes and can't be listened on. PyBitmessage won't
accept nodes that have port 0 anymore.
2016-05-02 15:00:24 +02:00
Peter Šurda 9239813ebb Constant time decryption
Always try to decrypt with all keys.
2016-05-02 15:00:24 +02:00
Peter Šurda 4c2ce7208c Sleep on invalid getdata
- postpone initial sleep until the first getdata is received
- also sleep when received a getdata request for an object that hasn't
been advertised to the other node yet
2016-05-02 15:00:24 +02:00
Peter Šurda 1a92db54c9 Process gateway registration rejections
A message from gateway registration addres regarding registration
rejection is processed and a dialog displayed to get a new email
address.

Fixes #14
2016-05-02 15:00:24 +02:00
Peter Šurda 6b8f255a60 Email gateway updates
- settings option available
- reduce max TTL to 2 days
2016-05-02 15:00:24 +02:00
Peter Šurda 2b6bffc7ff Email gateway account status query
- addresses #14
2016-05-02 15:00:24 +02:00
Peter Šurda db84d699db Search improvements
- selecting a new folder will apply search
- newly arrived message will consider search
- fixes #166
2016-05-02 15:00:24 +02:00
Peter Šurda 218bdf38e1 Better error reporting for log config
Fixes #174
2016-05-02 15:00:24 +02:00
Peter Šurda ab974abce0 Sent message status on ACK
Fixes #176
2016-05-02 15:00:24 +02:00
Peter Šurda 8f5d305242 Mitigate active internal intersection attack
There was a report that by quickly asking a large number of nodes if
they have an ACK object (which the attacker knows but it is injected
into the network by the recipient of the message), it can estimate how
an object propagates through the network, and eventually pinpoint an
originating IP address of the injection, i.e. the IP address of the
message recipient.

This patch mitigates against it by stalling when asked for a nonexisting
object (so that the attacker can't spam requests), and also upon
connection before sending its own inventory list (so that reconnecting
won't help the attacker). It estimates how long a short message takes to
propagate through the network based on how many nodes are in a stream
and bases the stalling time on that. Currently that is about 15 seconds.
Initial connection delay takes into account the time that already passed
since the connection was established.

This basically gives the attacker one shot per a combination of his own
nodes and the nodes he can connect to, and thus makes the attack much
more difficult to succeed.
2016-05-02 15:00:24 +02:00
Peter Šurda f43e01ed0e Don't send ACK on subscribed chans
If somehow you manage to send a message that includes an ACK part into a
chan, the subscribers would send the ACK back. This shouldn't happen.
2016-05-02 15:00:23 +02:00
Peter Šurda 40f0ff381e blacklist rendering edit fix
Editing of blacklist labels affected the rerendering, because it emits
the changed signal too, and it caused an exception because the address
field was missing at that time. This works around both.
2016-05-02 15:00:23 +02:00
Peter Šurda 0bd89103a7 Don't send unnecessary ACKs
In some situations, it's not necessary to send an ACK. For example, when
the sender is blacklisted, when the message has no content, or when the
address has ACK sending disabled.

Also it's not necessary to rebroadcast empty messages into a mailing
list.
2016-05-02 15:00:23 +02:00
mirrorwish 80c174e417 Save changes to blacklist labels
Fixes mailchuck/PyBitmessage#175

Signed-off-by: Peter Surda <surda@economicsofbitcoin.com>
2016-05-02 15:00:23 +02:00