about summary refs log tree commit diff stats
path: root/src/xmpp
Commit message (Collapse)AuthorAgeFilesLines
* Add and use connection_get_barejid()Michael Vetter2020-05-255-11/+24
| | | | Instead of connection_get_fulljid() and then creating a Jid from it.
* Fix memleak in bookmark minimizeMichael Vetter2020-05-241-0/+1
| | | | Introduced in 36f2569e53e67fda6023c5ec5f6a7714cbce1946
* Fix segfault in new bookmark featureMichael Vetter2020-05-221-2/+2
| | | | | Fix 88c36745fe3f568f09fcd4078fc760a52e826eb7 Copy paste mistake.
* Preserve Gajims minimize flag in bookmarksMichael Vetter2020-05-223-1/+37
| | | | Implement https://github.com/profanity-im/profanity/issues/1326
* Add option to add bookmark nameMichael Vetter2020-05-222-8/+23
| | | | | | | | `/bookmark add|update` got `name` field. By default localpart of JID is used (like before) but now we can set the name ourselves. Regards https://github.com/profanity-im/profanity/issues/697
* Display bookmark nameMichael Vetter2020-05-222-0/+5
| | | | | | Have field in struct and display the name in `/bookmark list`. Regards https://github.com/profanity-im/profanity/issues/697
* Fix typing notificationMichael Vetter2020-05-211-1/+1
| | | | | | | | | | | | | | | | | | | With d1d0ad8d1a8e28690aa8723566dd64c1ccdcf9d6 we set a timestamp to now for all messages upon receival. Even if the original message didn't contain any timestamp. So we can use the timestamp of retrieval for logging and displaying and don't get them at each of those location where they might differ. This means that timestamp will never be NULL. I don't see why we would want to check for the chat state only if timestamp isn't there. Probably because in XEP-0085 there is not timestamp defined. So if it thats stanza it's not there and we can parse quicker, but there is nothing forbidden it to be there. Related to https://github.com/profanity-im/profanity/issues/1339
* Create call_external() helper functionMichael Vetter2020-05-201-9/+1
|
* xep-0092: make it possible to ask servers or components for softwareMichael Vetter2020-05-141-17/+28
| | | | | | | | | | | This adds the new `/serversoftware` command. ``` /software user@domain.org/resource /serversoftware domain.org ``` Fix https://github.com/profanity-im/profanity/issues/1338
* _handle_carbons(): fix potential memleakMichael Vetter2020-04-211-2/+4
|
* _iq_id_handler_free() dont set NULLMichael Vetter2020-04-201-1/+0
| | | | No effect here.
* Fix potential memleak in stanza_create_caps_from_query_element()Michael Vetter2020-04-201-4/+12
| | | | | Each of those should only occur one time. But let's make sure we only write/alloc one time to be on the safe side.
* OMEMO Device List only for non anonymous MUCsDebXWoody2020-04-171-4/+6
| | | | | | | Profanity request the OMEMO Device List for all members, also if the MUC is anonymouse. If the user is Admin / Owner, the device list will be requtest. Issue #1315
* Don't expose upload_processesMichael Vetter2020-04-171-1/+1
| | | | | | | | That's actually not good practise. Realized this when checking for multiple symbol definition in issue mentioned below. Regards https://github.com/profanity-im/profanity/issues/1314
* Review logging in iq.cMichael Vetter2020-04-141-27/+39
|
* Review logging for blocking.cMichael Vetter2020-04-141-2/+2
|
* Review logging in presence.cMichael Vetter2020-04-141-5/+4
| | | | | Some stuff just floods the log file. We only need this when debugging. Others are useless without more info.
* Free timestamp correctlyMichael Vetter2020-04-131-2/+3
| | | | g_date_time_add_days() actually creates a new one.
* Check if server suppors MAMMichael Vetter2020-04-122-2/+6
|
* Get MAM since yesterdayMichael Vetter2020-04-121-1/+7
| | | | | | | | | | | | | Later we will have several options. Getting everything since last timestamp (if none everything at all). Getting everything since today + configure time (1 week). Should also have a reload all command like conversations once you cleared the history. All MAM messages should be written into sql db. And then probably displayed from there so that regular history works too.
* MAM: Correctly display incoming MAM chat messageMichael Vetter2020-04-112-7/+13
|
* Add to_jid field to ProfMessage structMichael Vetter2020-04-112-25/+34
| | | | | Is usefult in many cases if we want cleaner code. Hope this edit didn't break anything though ;-)
* First test with receiving MAMMichael Vetter2020-04-111-0/+27
|
* _handle_chat: return if no 'from'Michael Vetter2020-04-111-0/+3
| | | | Let's not crash :-)
* Don't crash if we get a message without from or typeMichael Vetter2020-04-111-1/+8
| | | | | | | | MAM messages don't have a type nor a from. If we detect a message without type let's log it and exit without continuing to try to parse it. Otherwise we go into _handle_chat() and crash on the no from.
* First MAM testMichael Vetter2020-04-114-0/+105
| | | | | | Send a request (which we can't handle yet) :-) Regards https://github.com/profanity-im/profanity/issues/660
* Fix use-after-free in stanza_create_caps_from_query_element()Dmitry Podgorny2020-04-091-4/+8
| | | | | | | | | The function creates a form to find such strings as software, os, etc. It remembers the strings allocated by form_create() and use them below in caps_create(). The issue is that the form is destroyed before and as result the strings are freed too. As solution, allocate own copy of strings.
* Fix commentMichael Vetter2020-04-061-1/+1
|
* Add hint about future ProfMessage Id needsMichael Vetter2020-04-061-0/+1
|
* Add comment what id is aboutMichael Vetter2020-04-061-0/+1
|
* Add type field to ProfMessageMichael Vetter2020-04-062-6/+19
| | | | The mucuser boolean is not now needed anymore.
* Adapt win_print_history() to work with muc tooMichael Vetter2020-04-061-0/+1
|
* db: log all incoming and outgoing messagesMichael Vetter2020-04-062-4/+4
|
* Rename PROF_MSG_ENC_PLAIN to PROF_MSG_ENC_NONEMichael Vetter2020-04-062-2/+2
|
* Add timestamp for incoming messages if none is setMichael Vetter2020-04-061-0/+6
| | | | | | | | Timestamps are only set if a message is delayed. If none is set let's set it upon recaival so we don't have to set it when it gets displayed. This means we will also have it for logs etc in the ProfMessage.
* Fix memory leak in stanza_attach_correction()Dmitry Podgorny2020-04-051-0/+1
| | | | | | xmpp_stanza_add_child() takes own reference to the child stanza. Therefore we have to release our reference or the child is lost and not freed otherwise.
* Fix memory leak of presence objectDmitry Podgorny2020-02-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The memory leak happens when a presence is received for a MUC room. The JID is not present in the roster, so updating its status is ignored. We have to free resource in this case, because it has no owner and is lost otherwise. ==25736== 47 (32 direct, 15 indirect) bytes in 1 blocks are definitely lost in loss record 1,625 of 3,399 ==25736== at 0x4A330FF: malloc (vg_replace_malloc.c:309) ==25736== by 0x13A962: resource_new (resource.c:47) ==25736== by 0x145501: _available_handler (presence.c:665) ==25736== by 0x145501: _presence_handler (presence.c:399) ==25736== by 0x145501: _presence_handler (presence.c:358) ==25736== by 0x80D5F34: handler_fire_stanza (in /usr/lib64/libstrophe.so.0.0.0) ==25736== by 0x80D2B49: _handle_stream_stanza (in /usr/lib64/libstrophe.so.0.0.0) ==25736== by 0x80E15CE: _end_element (in /usr/lib64/libstrophe.so.0.0.0) ==25736== by 0x843EE9B: doContent (in /usr/lib64/libexpat.so.1.6.10) ==25736== by 0x843F94B: contentProcessor (in /usr/lib64/libexpat.so.1.6.10) ==25736== by 0x8441E77: XML_ParseBuffer (in /usr/lib64/libexpat.so.1.6.10) ==25736== by 0x80D586B: xmpp_run_once (in /usr/lib64/libstrophe.so.0.0.0) ==25736== by 0x13E07E: connection_check_events (connection.c:119) ==25736== by 0x13869C: prof_run (profanity.c:129) Fixes #1279.
* xep-0084/avatar: add option to open avatar directlyMichael Vetter2020-03-102-3/+28
| | | | | | | | | | | Change: `/avatar me@somewhere.org` -> `/avatar get me@somewhere.org` New: `/avatar cmd feh` `/avatar open me@somewhere.org` Implement https://github.com/profanity-im/profanity/issues/1281
* Use correct MUC message timestampMichael Vetter2020-03-091-0/+7
| | | | | | | | win_println_incoming_muc_msg() always used the current time. Now let's use whatever is sent int he message struct (from the delay stanza or the current time that we set now once the message is received). No playing with the time upon display anymore.
* Use proper OS names for OpenBSD and NetBSDMichael Vetter2020-03-091-2/+2
|
* Fix few memory leaksDmitry Podgorny2020-02-271-0/+2
|
* Set muc history correctly in _handle_groupchat()Michael Vetter2020-02-251-1/+1
| | | | Fix init. mistake introduced in e9c5c1979d836ed75c37d48651710b4fd125cfb2
* Free jid in muc_members_add()Michael Vetter2020-02-251-0/+1
| | | | Fix memleak.
* Fix memleak in stanza_get_oldest_delayMichael Vetter2020-02-251-2/+14
| | | | We need to unref the temp datetimes again.
* Fix memleak in _handle_groupchat()Michael Vetter2020-02-251-1/+6
| | | | We need to unref the timestamp before setting a new one.
* Parse mentions and triggers in muc history if display is 'regular'Michael Vetter2020-02-202-2/+2
| | | | Fix https://github.com/profanity-im/profanity/issues/1261
* xep-0308: enable for carbon copied messagesMichael Vetter2020-02-141-0/+15
| | | | | | | If we are connected with another client and send a message, then correct it. We now display it correctly in Profanity. Id wasn't saved for carbon copied messages too so far.
* xep-0308: Implement LMC for outgoing MUC messagesMichael Vetter2020-02-142-2/+6
| | | | | | Including OMEMO encrypted ones. Also rename `win_println_me_message()` to `win_print_outgoing_muc_msg() as I think it's a more descriptive name.
* Rename MUC PM handlerMichael Vetter2020-02-141-3/+3
| | | | | Rename from _private_chat_handler() to _handle_muc_private_message() to be more consistent with other handler names.
* xep-0308: Dont allow to correct MUC PMsMichael Vetter2020-02-141-8/+0
| | | | | People could change messages of other people if the nick isn't registered.