gajim-plugins issueshttps://dev.gajim.org/gajim/gajim-plugins/-/issues2020-11-21T23:02:25Zhttps://dev.gajim.org/gajim/gajim-plugins/-/issues/520[openpgp] OpenPGP (XEP-0373) plugin doesn't verify signature2020-11-21T23:02:25ZVladislav Yarmak[openpgp] OpenPGP (XEP-0373) plugin doesn't verify signaturePlugin [decryption routine](https://dev.gajim.org/gajim/gajim-plugins/-/blob/2cc719be9b3ce0f2f01d20cfe781327808ddfbe4/openpgp/modules/openpgp.py#L202-226) doesn't check fingerprint output of verify routine. Therefore, any public key in g...Plugin [decryption routine](https://dev.gajim.org/gajim/gajim-plugins/-/blob/2cc719be9b3ce0f2f01d20cfe781327808ddfbe4/openpgp/modules/openpgp.py#L202-226) doesn't check fingerprint output of verify routine. Therefore, any public key in gpg keychain is ultimately trusted as authenticated author of message (due to [`always_trust` in PGPContext wrapper](https://dev.gajim.org/gajim/gajim-plugins/-/blob/2cc719be9b3ce0f2f01d20cfe781327808ddfbe4/openpgp/backend/pygpg.py#L85-87)).
Fingerprint is saved to message attribute which is available in tooltip popping up on mouse hover at green keylock icon, but it's next to nothing.https://dev.gajim.org/gajim/gajim-plugins/-/issues/519pgplegacy plugin (XEP-0027) introduces keyid assignments from untrusted source2020-09-10T20:35:39ZVladislav Yarmakpgplegacy plugin (XEP-0027) introduces keyid assignments from untrusted source## Problem description
[Presence stanza handler](https://dev.gajim.org/gajim/gajim-plugins/-/blob/77d9d0a99a40ffc78332d568cdfebb8520331d70/pgp/modules/pgp_legacy.py#L110-134) receives presence status from server and verifies if it is si...## Problem description
[Presence stanza handler](https://dev.gajim.org/gajim/gajim-plugins/-/blob/77d9d0a99a40ffc78332d568cdfebb8520331d70/pgp/modules/pgp_legacy.py#L110-134) receives presence status from server and verifies if it is signed by **ANY** key known to keyring. If
it's true and presence sender contact has no key already assigned, handler will update key ID associated with sender. Therefore once you have established PGP communication with some person (their client learned your key), you may use XMPP server to spoof keys for attacked person's contacts and perform MITM. Still, there are pretty narrow case when it works (for fresh installs for example), but in fact any trust to key-account bindings imposed by server breaks E2EE.
## Ways of mitigation
Root of problem is an [XEP-0027](https://xmpp.org/extensions/xep-0027.html) proposal. Apart from poor definition why peers have to perform stanza signing and how to handle verification failures, it suggests questionable practices to sideload keys once encrypted presence stanza received:
> All keys are exchanged using OpenPGP key servers, and usually are retrieved when a signed <presence/> stanza is received (key retrieval does not happen in-band).
It's not even clear how to find key using only JID and authenticate it. Even if keys are located, such approach centralizes key trust in group of servers which replicate keys among themselves while PGP is aimed for decentralized trust in the first place. So far manual control of assigned PGP keys to contacts appears to be the only viable option.
The only useful thing we can do with signed presence status text is to verify it's content and mark or discard it if it's signature is invalid (can't be verified or doesn't match assigned key fingerprint). I don't know gajim modules API features, but first thing which comes to my mind is to add prefix `"[BAD SIGNATURE] "` to status text if it fails to verify.https://dev.gajim.org/gajim/gajim-plugins/-/issues/517OMEMO HTTP File Upload succeeds despite of undecided keys2023-05-02T07:56:46ZAndrey GurskyOMEMO HTTP File Upload succeeds despite of undecided keys## Versions
- OS: Debian GNU/Linux bullseye/testing
- GTK Version: 3.24.22
- PyGObject Version: 3.36.0
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.2
- Gajim Version: 1.2.91+78e4e2bab4da4
- OMEMO Plugin Version: 2.7.7+75795a292f
...## Versions
- OS: Debian GNU/Linux bullseye/testing
- GTK Version: 3.24.22
- PyGObject Version: 3.36.0
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.2
- Gajim Version: 1.2.91+78e4e2bab4da4
- OMEMO Plugin Version: 2.7.7+75795a292f
If there are undecided keys, it is not possible to send a message, but sending a file via OMEMO HTTP File Upload succeeds.https://dev.gajim.org/gajim/gajim-plugins/-/issues/516[omemo] Cannot publish device list2023-05-02T07:57:58ZPetr Bezruc[omemo] Cannot publish device listI am not sure, if this is gajim or openfire problem, but we can't use omemo now. It is working for clients already connected with omemo before, it must be cached somehow. But new ones omemo keys are not published. On gajim client side, w...I am not sure, if this is gajim or openfire problem, but we can't use omemo now. It is working for clients already connected with omemo before, it must be cached somehow. But new ones omemo keys are not published. On gajim client side, we can see own omemo fingerprints in omemo config plugin, but remote side can't see it.
This is boot log from my gajim client:
```
24.8.2020 14:26:36 (I) gajim.plugin_system.omemo: talk => Own devices after boot:[]
24.8.2020 14:26:36 (D) gajim.plugin_system.omemo: talk => 94 PreKeys available
24.8.2020 14:27:14 (I) gajim.plugin_system.omemo: talk => Announce Support after Sign In
24.8.2020 14:27:14 (I) gajim.plugin_system.omemo: talk => Publishing bundle ...
24.8.2020 14:27:14 (I) gajim.plugin_system.omemo: talk => Querry own devicelist ...
24.8.2020 14:27:17 (I) gajim.plugin_system.omemo: talk => Publishing bundle was successful
24.8.2020 14:27:17 (I) gajim.plugin_system.omemo: talk => Saved own devices
24.8.2020 14:27:17 (I) gajim.plugin_system.omemo: talk => Devicelistquery was successful
24.8.2020 14:27:18 (D) gajim.plugin_system.omemo: talk => OMEMO MAM msg received
24.8.2020 14:27:18 (W) gajim.plugin_system.omemo: OMEMO message does not contain our device key
```
See picture for my DeviceID. After clicking to "clear devices", nothing happen.
![omemo-plugin](/uploads/7829ce88675b534a6789398b5c28df1c/omemo-plugin.png)
This is log from xml console after trying to download my devicelist:
```
<!-- Outgoing Po 24. srpna 2020, 15:41:59 CEST -->
<iq xmlns="jabber:client" type="get" to="jgottwald@talk" id="test123" from="jgottwald@talk/Gajim-Linux">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<items node="eu.siacs.conversations.axolotl.devicelist" />
</pubsub>
</iq>
<!-- Incoming Po 24. srpna 2020, 15:41:59 CEST -->
<iq xmlns="jabber:client" type="result" id="test123" from="jgottwald@talk" to="jgottwald@talk/Gajim-Linux">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<items node="eu.siacs.conversations.axolotl.devicelist" />
</pubsub>
</iq>
```
See picture for openfire side (empty devicelist for my account).
![Screenshot_2020-08-24_Openfire_Admin_Console_PubSub_Nodes](/uploads/28a97ea9a038c7bc68d60e486785e2de/Screenshot_2020-08-24_Openfire_Admin_Console_PubSub_Nodes.png)
Any ideas?https://dev.gajim.org/gajim/gajim-plugins/-/issues/515Plugin System: Plugin config enabled even if there is none2020-08-24T09:20:39ZakallabethPlugin System: Plugin config enabled even if there is none## Versions
- OS: Linux
- GTK Version: 3.24.22
- PyGObject Version: 3.36.1
- GLib Version : 2.64.4
- python-nbxmpp Version: 1.0.2
- Gajim Version: 1.2.2
## Traceback
```
Traceback (most recent call last):
File "/app/lib/python3.7/site...## Versions
- OS: Linux
- GTK Version: 3.24.22
- PyGObject Version: 3.36.1
- GLib Version : 2.64.4
- python-nbxmpp Version: 1.0.2
- Gajim Version: 1.2.2
## Traceback
```
Traceback (most recent call last):
File "/app/lib/python3.7/site-packages/gajim/plugins/gui.py", line 232, in _on_configure_plugin
plugin.config_dialog(self)
TypeError: 'NoneType' object is not callable
```
## Steps to reproduce the problem
1. Using the flatpak appindicator plugin
1. When enabling the plugin the settings button is clickable
1. Clicking the button yields a crash report (the button does not open anything here, therefore the manual report)https://dev.gajim.org/gajim/gajim-plugins/-/issues/514mpris2_support2020-07-28T09:15:31ZGhost Usermpris2_supportWhy was this plugin removed? It does not work with the latest stable version of Gajim. I would like to port it, but I did not find much information on plugin developmentWhy was this plugin removed? It does not work with the latest stable version of Gajim. I would like to port it, but I did not find much information on plugin developmenthttps://dev.gajim.org/gajim/gajim-plugins/-/issues/513[omemo] Missing release zip for omemo 2.6.80 (gajim 1.2)2020-07-22T19:39:05ZTommaso Sardelli[omemo] Missing release zip for omemo 2.6.80 (gajim 1.2)Hello, I think that the zip file for omemo version `2.6.80` at https://ftp.gajim.org/plugins_releases/ is missing.
The last one I could find was `2.6.79`.Hello, I think that the zip file for omemo version `2.6.80` at https://ftp.gajim.org/plugins_releases/ is missing.
The last one I could find was `2.6.79`.https://dev.gajim.org/gajim/gajim-plugins/-/issues/512[plugin_installer] Crash while trying to update plugin in "Available" tab2020-07-25T19:34:04Zpmacfarlane7[plugin_installer] Crash while trying to update plugin in "Available" tab## Versions
- OS: Windows 10
- GTK Version: 3.24.20
- PyGObject Version: 3.36.1
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.0
- Gajim Version: 1.2.0
## Traceback
```
Traceback (most recent call last):
File "C:/msys64/home/app...## Versions
- OS: Windows 10
- GTK Version: 3.24.20
- PyGObject Version: 3.36.1
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.0
- Gajim Version: 1.2.0
## Traceback
```
Traceback (most recent call last):
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.8/site-packages/gajim/data/plugins/plugin_installer/plugin_installer.py", line 214, in _on_download_plugin_finished
AttributeError: 'NoneType' object has no attribute 'update_plugin'
```
## Steps to reproduce the problem
I believe this happened when plugin updates were set to auto so that the user wouldn't get a message at Gajim startup.
...https://dev.gajim.org/gajim/gajim-plugins/-/issues/511Error when trying clear device ID in omemo plugin !2020-07-14T19:33:26ZnadError when trying clear device ID in omemo plugin !Hi ! iam using jabbers.one (prosody 0.11.5 ) with last version of gajim 1.2.1 evrything is up-to-date in my laptop !
## Versions
- OS: Windows 10
- GTK Version: 3.24.20
- PyGObject Version: 3.36.1
- GLib Version : 2.64.1
- python-nbxmp...Hi ! iam using jabbers.one (prosody 0.11.5 ) with last version of gajim 1.2.1 evrything is up-to-date in my laptop !
## Versions
- OS: Windows 10
- GTK Version: 3.24.20
- PyGObject Version: 3.36.1
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.1
- Gajim Version: 1.2.1
## Traceback
```
Traceback (most recent call last):
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.8/site-packages/gajim/data/plugins/omemo/gtk/config.py", line 126, in cleardevice_button_clicked_cb
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.8/site-packages/gajim/data/plugins/omemo/gtk/config.py", line 158, in update_context_list
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.8/site-packages/gajim/data/plugins/omemo/backend/util.py", line 40, in get_fingerprint
TypeError: a bytes-like object is required, not 'MagicMock'
```
## Steps to reproduce the problem
...![Error_when_trying_clear_device_ID_in_omemo_plugin__](/uploads/78565d1a3c7cda5590c407943cc4b34e/Error_when_trying_clear_device_ID_in_omemo_plugin__.mp4)https://dev.gajim.org/gajim/gajim-plugins/-/issues/510[OMEMO] Padlock button is not clickable in new conversation.2020-07-06T15:43:53ZGhost User[OMEMO] Padlock button is not clickable in new conversation.## Versions
- OS: Debian Buster
- Gajim version: 1.1.2-2
- Plugin version: 2.6.27-1
- GTK version: 3.24.5-1
- Python-nbxmpp version: 0.6.10-1
## Steps to reproduce the problem
1. add a new contact, a person with JID, or a ...## Versions
- OS: Debian Buster
- Gajim version: 1.1.2-2
- Plugin version: 2.6.27-1
- GTK version: 3.24.5-1
- Python-nbxmpp version: 0.6.10-1
## Steps to reproduce the problem
1. add a new contact, a person with JID, or a MUC channel
1. try to enable OMEMO
## Expected behavior
Padlock should be clickable and/or display short explanation that enabling it is not possible.
## Actual behavior
At first, you can not enable OMEMO in that conversation (the button is not clickable). Restarting Gajim, or in some cases after closing and opening the conversation window, makes the button clickable (the padlock icon, that is disabled and shows exclamation mark, and later is enabled and allows switching to OMEMO).https://dev.gajim.org/gajim/gajim-plugins/-/issues/509Client icons are gone in contact list with Gajim 1.2.02020-07-06T11:17:51ZRoiDantonClient icons are gone in contact list with Gajim 1.2.0**Please first check if another issue has been opened for your problem**
## Versions
- OS: Windows 10
- Gajim version: 1.2.0
- Plugin version: 7.8.2
- GTK version: 3.24.20
- Python-nbxmpp version: 1.0.0
## Steps to reproduce...**Please first check if another issue has been opened for your problem**
## Versions
- OS: Windows 10
- Gajim version: 1.2.0
- Plugin version: 7.8.2
- GTK version: 3.24.20
- Python-nbxmpp version: 1.0.0
## Steps to reproduce the problem
1. Upgrade from Gajim 1.1.3 to 1.2.0
2. Start Gajim
3. Client icons are gone in contact list (plugin is shown as active in plugin list)https://dev.gajim.org/gajim/gajim-plugins/-/issues/508Traceback on plugin update2020-06-29T20:28:38ZGeobert QuachTraceback on plugin update## Versions
- OS: Windows 10
- GTK Version: 3.24.20
- PyGObject Version: 3.36.1
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.0
- Gajim Version: 1.2.91
## Traceback
```
Traceback (most recent call last):
File "C:/msys64/home/ap...## Versions
- OS: Windows 10
- GTK Version: 3.24.20
- PyGObject Version: 3.36.1
- GLib Version : 2.64.1
- python-nbxmpp Version: 1.0.0
- Gajim Version: 1.2.91
## Traceback
```
Traceback (most recent call last):
File "C:/msys64/home/appveyor/gajim/win/_build_root/mingw64/lib/python3.8/site-packages/gajim/data/plugins/plugin_installer/plugin_installer.py", line 214, in _on_download_plugin_finished
AttributeError: 'NoneType' object has no attribute 'update_plugin'
```
## Steps to reproduce the problem
I've clicked on "Automatically update plugin" in the popup the first time, then now I got this on startup
...https://dev.gajim.org/gajim/gajim-plugins/-/issues/506[OMEMO] Fingerprints dialog is shown only after the message is sent2020-06-03T16:46:38Ztastytea[OMEMO] Fingerprints dialog is shown only after the message is sent## Versions
- OS: Gentoo Linux
- Gajim version: 1.1.3
- Plugin version: 2.6.30
- GTK version: 3.24.16
- Python-nbxmpp version: 0.6.10
## Steps to reproduce the problem
### MUCs
1. Join an encrypted MUC.
2. Write an encr...## Versions
- OS: Gentoo Linux
- Gajim version: 1.1.3
- Plugin version: 2.6.30
- GTK version: 3.24.16
- Python-nbxmpp version: 0.6.10
## Steps to reproduce the problem
### MUCs
1. Join an encrypted MUC.
2. Write an encrypted message.
### 1:1 chats
1. Someone has a new device with a new key.
2. Write an encrypted message.
## Expected behavior
I'm asked to verify fingerprints, then the message is sent – encrypted with all approved keys.
## Actual behavior
The message is sent, encrypted with the keys I approved in the past, then I'm asked to approve new fingerprints.https://dev.gajim.org/gajim/gajim-plugins/-/issues/505[plugin_installer] TypeError: '<' not supported between instances of 'str' an...2020-05-20T22:15:17Zmoppman[plugin_installer] TypeError: '<' not supported between instances of 'str' and 'Version'## Versions
- OS: Debian GNU/Linux bullseye/sid
- GTK Version: 3.24.20
- PyGObject Version: 3.36.0
- GLib Version : 2.64.1
- python-nbxmpp Version: 0.9.95
- Gajim Version: 1.2.91+7ed48c0f7
## Traceback
```
Traceback (most recent call la...## Versions
- OS: Debian GNU/Linux bullseye/sid
- GTK Version: 3.24.20
- PyGObject Version: 3.36.0
- GLib Version : 2.64.1
- python-nbxmpp Version: 0.9.95
- Gajim Version: 1.2.91+7ed48c0f7
## Traceback
```
Traceback (most recent call last):
File "/home/mopp/.local/share/gajim/plugins/plugin_installer/plugin_installer.py", line 111, in _on_check_for_updates_finished
if plugin.needs_update():
File "/home/mopp/.local/share/gajim/plugins/plugin_installer/utils.py", line 121, in needs_update
return self.installed_version < self.version
TypeError: '<' not supported between instances of 'str' and 'Version'
```
## Steps to reproduce the problem
* Go to "Gajim-->Plugins"
* Observe error popup
My installed plugins:
* OMEMO
* PGP
* url image preview
* plugin installerhttps://dev.gajim.org/gajim/gajim-plugins/-/issues/504History not retained2020-05-18T00:26:19ZAran DunkleyHistory not retained**Please first check if another issue has been opened for your problem**
## Versions
- OS: Debian Buster
- Gajim version: 1.1.2
- Plugin version:
- GTK version: 3.24.5
- Python-nbxmpp version: 0.6.10
## Steps to reproduce t...**Please first check if another issue has been opened for your problem**
## Versions
- OS: Debian Buster
- Gajim version: 1.1.2
- Plugin version:
- GTK version: 3.24.5
- Python-nbxmpp version: 0.6.10
## Steps to reproduce the problem
1. Open a chat with an individual
2. Type a plain text (or OMEMO) message to then, wait for a response to ensure they received it
3. Close the chat window and open it again, or restart Gajim, or delete and reconnect with the contact
## Expected behavior
We should see all the history of conversation with the contact
## Actual behavior
We do not see the history (it is intermittent, e.g. I may see SOME history items).
The server supports message archive (XEP-0313 is ticked in server info). I can see that the message is getting archived on the server by checking dierctly, but it is not visible in the Gajim chat window, or in the Gajim history window. If I try synchronising history it says it's already up to date.https://dev.gajim.org/gajim/gajim-plugins/-/issues/503[preview] Error while guessing mime type2020-05-20T22:15:17ZDaniel Brötzmann[preview] Error while guessing mime type## Versions
- OS: Linux
- GTK Version: 3.24.20
- PyGObject Version: 3.36.0
- GLib Version : 2.64.2
- python-nbxmpp Version: 0.9.95
- Gajim Version: 1.2.91
## Traceback
```
Traceback (most recent call last):
File "/app/lib/python3.7/si...## Versions
- OS: Linux
- GTK Version: 3.24.20
- PyGObject Version: 3.36.0
- GLib Version : 2.64.2
- python-nbxmpp Version: 0.9.95
- Gajim Version: 1.2.91
## Traceback
```
Traceback (most recent call last):
File "/app/lib/python3.7/site-packages/gajim/common/helpers.py", line 1619, in _on_load_finished
callback(contents, None, user_data)
File "/app/plugins/url_image_preview/url_image_preview.py", line 384, in _on_thumb_load_finished
preview.mime_type = self._guess_mime_type(preview.orig_path)
File "/app/plugins/url_image_preview/url_image_preview.py", line 497, in _guess_mime_type
mime_type, _ = mimetypes.MimeTypes().guess_type(data)
File "/usr/lib/python3.7/mimetypes.py", line 116, in guess_type
scheme, url = urllib.parse.splittype(url)
File "/usr/lib/python3.7/urllib/parse.py", line 983, in splittype
match = _typeprog.match(url)
TypeError: expected string or bytes-like object
```
I’m reporting this for another user. Prior to this error, a DNS lookup error occured for some chats.https://dev.gajim.org/gajim/gajim-plugins/-/issues/502[omemo] use account name in dropdown2023-04-11T06:47:34ZMartin[omemo] use account name in dropdownCurrently, in the omemo plugin config, a dropdown shows the domain names of own accounts.
IMHO, the user provided name ("label") should be used instead for better usability.
This is esp. relevant, when two accounts are on the same doma...Currently, in the omemo plugin config, a dropdown shows the domain names of own accounts.
IMHO, the user provided name ("label") should be used instead for better usability.
This is esp. relevant, when two accounts are on the same domain, where currently only an arbitrary number is added to the domain name.OMEMO Integrationhttps://dev.gajim.org/gajim/gajim-plugins/-/issues/501Clickable nicknames in participants list2021-10-30T09:55:08ZAleksey RazorenovClickable nicknames in participants listHey,
It would be very cool if the plugin (clickable nicknames) supported clicking on nicknames in the contact list, not only in the window with conversations.Hey,
It would be very cool if the plugin (clickable nicknames) supported clicking on nicknames in the contact list, not only in the window with conversations.https://dev.gajim.org/gajim/gajim-plugins/-/issues/500[triggers] configuration dialog not entirely visible2020-05-06T07:15:12ZMartin[triggers] configuration dialog not entirely visible**Please first check if another issue has been opened for your problem**
## Versions
- OS: Debian testing
- Gajim version: 1.1.99~20200429.65506e31
- Plugin version: 1.2.4
- GTK version: 3.24.18
- Python-nbxmpp version: 0.9.9...**Please first check if another issue has been opened for your problem**
## Versions
- OS: Debian testing
- Gajim version: 1.1.99~20200429.65506e31
- Plugin version: 1.2.4
- GTK version: 3.24.18
- Python-nbxmpp version: 0.9.95~20020429.5303bb12
## Steps to reproduce the problem
1. use a screen with 768 pixels height and 11 point system font
1. open triggers configuration
1. expand the advanced configuration options
## Expected behavior
all buttons etc. remain visible and accessible
## Actual behavior
some switches and the "Close" button get out of screen
## Comment
Maybe the dialog should get scroll bars, or alternatively, other configuration options could be expandable, too, so that dialog can be kept small.
*On a side note:* The conditions list/table is rather small. Its height cannot be changed by the user, which is not nice, if one has a lot of rules.Daniel BrötzmannDaniel Brötzmannhttps://dev.gajim.org/gajim/gajim-plugins/-/issues/499[triggers] no sound2020-05-02T11:11:15ZMartin[triggers] no sound**Please first check if another issue has been opened for your problem**
## Versions
- OS: Debian testing
- Gajim version: 1.1.99~20200429.65506e31
- Plugin version: 1.2.4
- GTK version: 3.24.18
- Python-nbxmpp version: 0.9.9...**Please first check if another issue has been opened for your problem**
## Versions
- OS: Debian testing
- Gajim version: 1.1.99~20200429.65506e31
- Plugin version: 1.2.4
- GTK version: 3.24.18
- Python-nbxmpp version: 0.9.95~20020429.5303bb12
- gsound: gir1.2-gsound-1.0 version 1.0.2
## Steps to reproduce the problem
1. open triggers configuration
1. create a trigger rule and select a sound file to play (tried `.ogg` and `.wav`)
1. click on the play button
## Expected behavior
noise
## Actual behavior
silence