Commit graph

4612 commits

Author SHA1 Message Date
Philipp Hörist
cf07022cbd Remove ESessions encryption/decryption from core 2017-05-07 18:40:05 +02:00
Philipp Hörist
3fd35a041e Remove PGP encryption/decryption from core 2017-05-07 18:38:33 +02:00
Philipp Hörist
5116af037b Add Encryption Plugin API
- Add extension points when receiving/sending a message
- Add extension point for setting the lock image
- Add extension point after clicking the send button
- Add extension point when typing
- Add a new menu button to choose the desired encryption
- Extend the PluginManager to hold a list of encryption plugins
2017-05-07 18:38:06 +02:00
Philipp Hörist
6e8e5aec51 Merge branch 'stun_discovery' into 'master'
Use account hostname for STUN server discovery

See merge request !93
2017-05-05 22:42:47 +02:00
Marc Schink
61c2259a9a Use account hostname for STUN server discovery
Use the account hostname instead of the target hostname of the
_xmpp-client._tcp SRV resource record for STUN server discovery.
Otherwise, discovery fails if both hostnames are different.
2017-05-03 10:01:49 +02:00
Philipp Hörist
bc504f90b1 Make default proxy always available
If the user had an empty `file_transfer_proxies` config setting
no proxies were used. As we discover the default server proxy ourself the
user should not have to write it to his config setting to make use of it.
2017-05-02 16:55:39 +02:00
Philipp Hörist
2cd6634c0e Dont show warning on missing 0184 receipt
https://xmpp.org/extensions/xep-0184.html#what tells us that we
SHOULD NOT impute any meaning to the fact that we did not receive an ack message
2017-05-01 19:42:57 +02:00
Philipp Hörist
79dc0c49f1 Always send message delivery receipts requests
- We want to send requests also to offline contacts.
- The XEP is wide spread chances are high that a contact supports it.
- It gets really complicated, when we want to guess if a offline contact supports receipts
2017-05-01 19:23:31 +02:00
Philipp Hörist
d346333d2a Drop some message from ourself
- 'received'-Carbons from ourself, because we either received
   the message directly or got a 'sent'-Carbon about it
-  Messages from our own full jid, this can happen when we send
   a Message to ourself and no other resource is online.
2017-05-01 19:08:19 +02:00
Philipp Hörist
33a584b8b0 Dont use message receipts in message to ourself 2017-05-01 19:08:11 +02:00
Philipp Hörist
c49d13bcae Use BareJID when sending message to ourself 2017-05-01 17:58:55 +02:00
Philipp Hörist
2126d4304a Extend method to return our own full jid 2017-05-01 17:23:46 +02:00
Philipp Hörist
64ae063f9c Fix mediated groupchat invites
- Push Invitation and Decline event much earlier
- Refactor Logic to decide if mediated or not
  Ejabbered 17.03 does add a 'jabberconference' namespace into mediated invites which has broken our logic
- Dont add a groupchat contact on invitation, always add the inviter to the roster
2017-05-01 15:33:38 +02:00
Philipp Hörist
89f1e9820d Merge branch 'dbus' into 'master'
Port Network Watcher to Gio API

See merge request !88
2017-04-29 23:37:55 +02:00
Philipp Hörist
b6db6026be Fix typo 2017-04-29 20:39:58 +02:00
Philipp Hörist
3fb12148b9 Remove not working proxys 2017-04-29 17:22:26 +02:00
Philipp Hörist
7cb7bcaae6 Refactor IBB Handlers
- Move handling of Data IQs into IBBIqHandler
- Call SendHandler with file_props
- Save last sent id in file_props.syn_id
- Remove some useless checks, now that we call SendHandler with file_props
- Send item-not-found error on invalid session id
2017-04-29 17:22:18 +02:00
Philipp Hörist
385d6c3081 On IBB cancel set correct 'to' attr 2017-04-29 16:58:41 +02:00
Philipp Hörist
0d8c008764 Fix typo in event type 2017-04-29 16:58:40 +02:00
Philipp Hörist
21700051f8 Read/Write file in binary mode 2017-04-29 16:12:41 +02:00
Philipp Hörist
fde2ac731b Close IBB Stream correctly 2017-04-29 16:07:48 +02:00
Yann Leboulanger
3bc6173a11 Close IBB stream with correct SID. See #8555 2017-04-29 16:01:59 +02:00
Philipp Hörist
1840ff235e Port Network Watcher to Gio API 2017-04-25 14:51:35 +02:00
Philipp Hörist
fe3a5a4aee Make some methods public 2017-04-25 14:44:38 +02:00
Philipp Hörist
0b0812bb75 Start HistoryManager with config path argument
HistoryManager was not finding the Logs.db when Gajim was
used with the -c config path argument
2017-04-21 18:44:27 +02:00
Philipp Hörist
8e3e9b4d9d Merge branch 'zeroconf' into 'master'
fix python errors in client zeroconf

See merge request !82
2017-04-19 18:55:25 +02:00
Philipp Hörist
14091642c4 Merge branch 'change_password_fix' into 'master'
Disable button if password changing is not supported

See merge request !85
2017-04-19 18:54:20 +02:00
Marc Schink
4d8379f492 Disable button if password changing is not supported 2017-04-19 18:17:22 +02:00
Philipp Hörist
86e29fb7f4 LegacyArchiving Event does not have a type 2017-04-18 18:58:06 +02:00
Philipp Hörist
d7a6b6ab0b Register new MAM Events 2017-04-18 18:56:57 +02:00
Philipp Hörist
09512065d4 Fix wrong inclusion check 2017-04-18 18:26:06 +02:00
Philipp Hörist
b42c21d3e0 Use new MAM Events and use chosen MAM namespace 2017-04-18 17:52:17 +02:00
Philipp Hörist
6b75f4ab35 Choose MAM namespace and save it 2017-04-18 17:50:15 +02:00
Philipp Hörist
f8a028b553 Add/Modify Events to handle all MAM namespaces 2017-04-18 17:48:58 +02:00
Philipp Hörist
1d2320b0bb Add aesgcm to valid uri schemes 2017-04-15 12:02:44 +02:00
Emmanuel Gil Peyrot
f6739730af Implement chatstate in MUC, as defined in XEP-0085 §5.5. 2017-04-14 16:58:04 +01:00
Philipp Hörist
78b562f7a5 Make PGP encoding configurable
python-gnupg uses latin1 as default encoding because GPG itself uses
latin1 as default.
We should not override this default with getpreferredencoding, because
getpreferredencoding maybe returns something else than what GPG is configured
on that system.

Example: On Windows
GPG is run in default mode with 'latin1'
getpreferredencoding returns 'cp1252'

The approach would be now to default to latin1 as it is GPGs default.
And if the User sets a different ecoding for GPG he has to set it in
Gajim aswell.
2017-04-12 22:50:02 +02:00
Philipp Hörist
a2785ba396 Add version check for python-gnupg 2017-04-12 22:39:55 +02:00
Philipp Hörist
a51ea32dc6 Refactor exception handling for logger
- Handle exceptions inside write() instead of propagating the
    exception
- Add error message to exception
- Add dispatch() method in logger
2017-04-12 22:30:55 +02:00
Philipp Hörist
54eb1cbbb8 Simplify log_message()
- Pass EventObj instead of variables
- decrease indent level
- check all conditions inside log_message() not before calling
- fixed bug where gc private messages where not logged with the correct jid
2017-04-12 22:30:28 +02:00
André Apitzsch
4725858ab1 zeroconf: 'to' is of type JID and no string
use a class method to remove the resource from JID
2017-04-10 23:53:54 +02:00
André Apitzsch
c058a1e125 zeroconf: string.letters has been removed with Python 3
use ascii_letters which should be sufficient
2017-04-10 23:48:52 +02:00
Philipp Hörist
bbb5c0f50d Simplify sending message
- Dont use callbacks, they have no gain in that situation and make the code hard to read
- pass the whole object to a new Event instead of many vars
2017-04-06 23:21:19 +02:00
Philipp Hörist
298ba4d939 Fix Last Message Correction for PGP messages 2017-04-04 23:21:11 +02:00
Philipp Hörist
caba5e1723 Rename _on_continue_message()
_build_message_stanza is a better fitting name
2017-04-04 21:55:16 +02:00
Philipp Hörist
28a3a58ea9 Refactor encrypting PGP Message
- Add a _encrypt_message() and _finished_encrypt() method
- Handle Fallback body text in _on_continue_message() where we build the Stanza
2017-04-04 21:31:00 +02:00
Philipp Hörist
d344c24a2a Pass EventObject around instead of many vars
This makes it much easier to read and modify
2017-04-04 21:30:48 +02:00
Philipp Hörist
1a5d6fbf30 Merge branch 'various-cleanups' into 'master'
Various small cleanups, with focus on logger and history window

See merge request !77
2017-03-31 16:44:32 +02:00
Markus Böhme
21d15dec29 Use the same named tuple for related methods for conversation loading
Both methods get_conversation_for_date and search_log in the logger
module are related to the loading of conversations and both return a
list of messages from the log. Therefore, it makes sense that both of
them have the same return type.

Remove the named tuple type specific to search_log and convert the
method to return tuples of type Message instead. As a side effect of
this change, search_log now also returns values from the additional_data
column in the log database.
2017-03-30 22:19:40 +02:00
Markus Böhme
65e926c181 Convert get_conversation_for_date to return named tuples
The get_conversation_for_date method in the logger module returns a
list of bare tuples. Knowledge of how to pack and unpack the many
individual components of the tuples is split between the caller and
the callee, making the method hard to maintain and ugly to use.
Therefore, convert the method to return named tuple instead.
2017-03-30 21:24:31 +02:00