about summary refs log tree commit diff stats
path: root/src/xmpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1714 from MarcoPolo-PasTonMolo/feature/avatar-setMichael Vetter2022-05-304-0/+166
|\ | | | | Add `/avatar set` command to publish avatar
| * Final touches for `/avatar set`Michael Vetter2022-05-271-2/+3
| |
| * Add checks for whether gdk-pixbuf exists before using avatar setMarcoPolo-PasTonMolo2022-05-262-2/+6
| |
| * Add `/avatar set` command to publish avatarMarcoPolo-PasTonMolo2022-05-264-0/+161
| | | | | | | | | | | | | | | | Use `/avatar set <path>` where <path> is an image file to upload a new avatar for the current user. When the avatar is too big it gets scaled down. Scaling code copied from dino. Fixes https://github.com/profanity-im/profanity/issues/1687
* | Merge pull request #1712 from MarcoPolo-PasTonMolo/fix/1347Michael Vetter2022-05-292-7/+45
|\ \ | | | | | | Update capabilities of muc on available presence
| * | Make muc config update after form submitMarcoPolo-PasTonMolo2022-05-272-7/+45
| |/ | | | | | | | | | | | | | | | | Muc configuration in profanity used to not update until next login, ie: make muc non_anonymous and members_only but be unable to start omemo until next login. Now a disco info request is sent after forrm submit and chatroom details are changed accordingly. Fixes https://github.com/profanity-im/profanity/issues/1347
* | Respect silent nick change in mucsMarcoPolo-PasTonMolo2022-05-261-0/+2
| | | | | | | | | | | | | | | | | | Profanity would ignore the silent nick change in some places. The roster and history would show the correct nick, new messages from the current user and the "Autojoined <jid> as <nick>" message would show the wrong one. This commit fixes that problem. Fixes https://github.com/profanity-im/profanity/issues/757
* | Fix segfault on `/ox discover`MarcoPolo-PasTonMolo2022-05-261-5/+8
|/ | | | | | | | | `/ox discover` segfaults on some misconfigured? nodes because there are newlines before and after some pubkey-metadata stanzas so the newlines get treated as seperate stanzas. This commit just skips each stanza in public-keys-list that doesn't have a fingerprint. Fixes https://github.com/profanity-im/profanity/issues/1713
* Fix room name not updating.MarcoPolo-PasTonMolo2022-05-181-0/+8
| | | | | | Now whenever the name of a room changes, either in profanity or another client, it gets updated inside profanity. Fixes https://github.com/profanity-im/profanity/issues/1710
* Update copyright yearMichael Vetter2022-05-096-6/+6
|
* ox: only process proper messagesMichael Vetter2022-05-041-12/+11
| | | | | | | | | | We only want to have the decrypted message or the alternative body in message->plain. Also let's print error messages if it makes sense and log other issues. Partly addresses the commit in the comit mesage of: 2dc0cc489c872941e18a622c091f74bf5b0b043f
* ox: prefix function _openpgp_signcrypt with ox_Michael Vetter2022-05-041-3/+3
| | | | To make the destinction clearer and easier to search.
* ox: have metadata node openMichael Vetter2022-05-041-0/+6
| | | | | | | Should have been done alogn with e9f218cdf6e15f4469d77cbaee59cc8501ed4e82. Like this people who are not in the roster can get our public key and write messages to use.
* ox: return upon invalid fingerprintMichael Vetter2022-05-041-1/+2
|
* Bugfix OX rpad generationStefan Kropp2022-05-031-4/+6
| | | | | | | | | | ________________________________________ < No comment - should be much better now > ---------------------------------------- \ \ \ >()_ (__)__ _
* ox: use glib date function in _gettimestamp and fix memleakMichael Vetter2022-05-031-12/+10
|
* ox: Use connection_create_stanza_id() instead of xmpp_uuid_gen()Michael Vetter2022-05-031-4/+4
|
* ox: use iq_id_handler_add instead of xmpp_id_handler_addMichael Vetter2022-05-031-6/+6
|
* ox: use iq_send_stanza instead of xmpp_sendMichael Vetter2022-05-031-4/+10
|
* ox: use pubsub acces model open when announce ox public keyMichael Vetter2022-05-031-0/+7
|
* Merge branch 'master' into add_stamp_settingsMichael Vetter2022-04-283-163/+74
|\
| * ox: dont print empty body messageMichael Vetter2022-04-271-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix https://github.com/profanity-im/profanity/issues/1693 ``` @StefanKropp @DebXWoody please check `_handle_ox_chat()` I don't understand what you are doing there. 1) First plain is assigned `message->plain = p_ox_gpg_decrypt(xmpp_stanza_get_text(ox));` and then in the same if block you overwrite this with `message->plain = xmpp_stanza_get_text(b);` without freeing the old value as far as I can see. 2) Sometimes even doing `message->plain = "OX error: No payload found";`. Shouldn't there be a `strdup()`? I think later on we try to free the whole message struct. So we can't mix this static things. ```
| * Merge pull request #1699 from profanity-im/1698-fixoxabrtMichael Vetter2022-04-271-1/+5
| |\ | | | | | | Fix SIGABRT when using wrong argument order for receiving ox key
| | * ox: print invalid fingerprint instead of abortingMichael Vetter2022-04-271-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Asserting here is not the right thing to do at all. A person could have a typo in the fingerprint. Or like in the case of the reported bug just confuse the arguments. An additional check for valid jid should be added later to the calling function maybe. Fix https://github.com/profanity-im/profanity/issues/1698
| * | ox: remove commentMichael Vetter2022-04-271-4/+0
| |/
| * Fix typo Annonuce -> AnnounceMichael Vetter2022-04-141-4/+4
| |
| * Fix typo: paylod -> payloadMichael Vetter2022-04-121-1/+1
| |
| * clean-up connection (act I)Steffen Jaeckel2022-03-301-152/+63
| | | | | | | | | | | | | | | | | | * use custom memory descriptor that `abort()`s on `malloc()` failure * use static log descriptor * don't always re-create all contexts * de-duplicate code of `.._connect()` and `.._register()` Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* | Rename stamp preference variableMichael Vetter2022-04-281-1/+1
| | | | | | | | | | PREF_INCOMING_STR -> PREF_INCOMING_STAMP PREF_OUTGOING_STR -> PREF_OUTGOING_STAMP
* | add /stamp commandArtjom Vejsel2022-04-021-0/+6
|/ | | | command allow override standard stamps of incoming and outgoing messages
* also store PEM in `TLSCertificate`Steffen Jaeckel2022-03-221-1/+2
| | | | Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* Merge pull request #1644 from profanity-im/ox-polishMichael Vetter2022-03-211-43/+44
|\ | | | | Improve OX user experience
| * ox: remove else caseMichael Vetter2022-02-241-43/+44
| |
* | prevent segfaultSteffen Jaeckel2022-03-131-4/+8
|/ | | | | | | In case we're not connected yet and press Alt+c a segfault occurred since `conn.xmpp_conn` is dereferenced while it's still `NULL`. Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* Set libstrophe log verbosityMichael Vetter2022-02-211-0/+1
| | | | | | | | | | | | | | | Set this to 0. We might want to have this configurable later. For now we fix the valgrind report: ``` Conditional jump or move depends on uninitialised value xmpp_debug_verbose() ``` Which will be fixed in libstrophe > 0.11.0 by commit https://github.com/strophe/libstrophe/commit/28f3ce19b803b3c2628c37545e3f5b88e7ea1a55
* Fix typos in commentsMichael Vetter2022-02-181-1/+1
|
* fix handling of connection errorsSteffen Jaeckel2022-02-081-3/+2
| | | | | | | | | | | | | When a `see-other-host` stream-error is received we try to re-connect to the other host. Erroneously this also started the `reconnect_timer`. This lead to the behavior that in cases where e.g. the login failed we try to reconnect instead of bailing out with an error. This commit fixes the wrong behavior by not starting the `reconnect_timer`. Fix 0e58509c161ae8409c9accabb9606e0c7006b880 Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* Fix off-by-oneSteffen Jaeckel2022-02-011-2/+2
| | | | Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* add missing IPv6 handlingSteffen Jaeckel2022-02-011-5/+22
| | | | Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* add fall-back for older GLib versionsSteffen Jaeckel2022-02-011-18/+54
| | | | Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* handle `see-other-host` XMPP stream errorSteffen Jaeckel2022-02-015-2/+110
| | | | | | Fixes #1628 Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* auto-formatSteffen Jaeckel2022-02-017-11/+11
| | | | Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* session: combine internal free-functionsSteffen Jaeckel2022-02-011-12/+8
| | | | | | `_session_free_saved_details()` remains as it's still required alone Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
* XEP-0107: User Mood - Clean moodStefan Kropp2022-01-301-8/+9
| | | | | | | | | | | | | | | | | | * Bugfix in mood_autocomplete (wrong parameter) * Implemented /mood clean ______________________________________ / Profanity! THE XMPP client with mood \ \ support! / -------------------------------------- \ \ .--. |o_o | |:_/ | // \ \ (| | ) /'\_ _/`\ \___)=(___/
* presence: guard against invalid inputMichael Vetter2022-01-271-3/+12
| | | | | | | | | | | | | | | | | | | | | | It shouldn't happen that we get the presence stanza without a resource. https://datatracker.ietf.org/doc/html/rfc6120 ``` Implementation Note: It is the server's responsibility to deliver only stanzas that are addressed to the client's full JID or the user's bare JID; thus, there is no need for the client to check the 'to' address of incoming stanzas. However, if the client does check the 'to' address then it is suggested to check at most the bare JID portion (not the full JID), since the 'to' address might be the user's bare JID, the client's current full JID, or even a full JID with a different resourcepart (e.g., in the case of so- called "offline messages" as described in [XEP-0160]). ``` Let's not segfault though. Close https://github.com/profanity-im/profanity/issues/1630
* omemo: log when no pubsubMichael Vetter2021-12-131-0/+4
| | | | Closes https://github.com/profanity-im/profanity/issues/1621
* Merge branch 'master' into xep/xep0107-user-moodMichael Vetter2021-12-062-2/+10
|\
| * Fix carbons criteriaMichael Vetter2021-11-252-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We came into the carbons checking code when we received `<private xmlns="urn:xmpp:carbons:2"/>`. Which actually marks a message to _not_ be a carbon. In this code we also make sure that carbons only come from us. If not we don't call the message handler code. So we should actually only check for `<sent xmlns='urn:xmpp:carbons:2'>` and `<received xmlns='urn:xmpp:carbons:2'>`. Thanks pukkamustard and Holger. Fixes https://github.com/profanity-im/profanity/issues/1614
* | xep-0107: adapting the pubsub/headline codeMichael Vetter2021-12-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like mentioned on the review at https://github.com/profanity-im/profanity/pull/1605 I don't ge why @DebXWoody changed the code like he did. I changed it to something that made more sense to me now. Instead of looking for headline in two places and checking for pubsub in a headline place (only). I didn't check this deeply. And still have a feeling that this is not the best way to go. But I didn't read the XEP yet. Added a TODO to the code regarding this too. A quick skimming through https://xmpp.org/extensions/xep-0107.html doesn't show me anything regarding headline. So I really don't see why this needs to go here. Hopefully @DebXWoody checks this in the future. But since he didn't react on the PR I decided to make some adjustments myself so we can merge it.
* | xep-0107: code reviewDebXWoody2021-12-063-17/+19
| | | | | | | | | | | | | | | | * Remarks in the Merge Request (ac_reset, help) * Defines in iq.c * Mood help and null check * Added additional information about tab key in CMD_DESC. * Added additional null check