about summary refs log tree commit diff stats
path: root/src/xmpp/stanza.h
Commit message (Collapse)AuthorAgeFilesLines
* Replace stanza_get_child_by_name_and_ns with ↵Michael Vetter2020-09-301-2/+0
| | | | | | | | xmpp_stanza_get_child_by_name_and_ns Replace our own stanza_get_child_by_name_and_ns() with the upstreamed xmpp_stanza_get_child_by_name_and_ns() provided by the new libstrophe/libmesode 0.10.0.
* Parse stanza-idMichael Vetter2020-07-231-0/+2
| | | | | | | | | | | | Add stable stanza IDs to ProfMessage struct. We parse this for 1:1 messages (MUC needs to be done too). <stanza-id> for live messages <result id="x"> for MAM messages Regards MAM: https://github.com/profanity-im/profanity/issues/660 Regards Stable IDs: https://github.com/profanity-im/profanity/issues/1207
* Apply coding styleMichael Vetter2020-07-071-261/+262
|
* Revert "Apply coding style"Michael Vetter2020-07-071-262/+261
| | | | | | This reverts commit 9b55f2dec0ea27a9ce4856e303425e12f866cea2. Sorting the includes creates some problems.
* Apply coding styleMichael Vetter2020-07-071-261/+262
| | | | Regards https://github.com/profanity-im/profanity/issues/1396
* OX: Announce public key on PEPDebXWoody2020-07-061-0/+8
| | | | | | | | | | | | | | | src/pgp/gpg.c:p_ox_gpg_readkey Used to read a public key from a file. The function will return the fingerprint of the file and the base64 encoded key. src/xmpp/ox.[hc] ox_announce_public_key(const char* const filename) can be called from the /ox announce <filename> command. The key within the file will be pushed on PEP and the Metadata node will be set. Issue: #1331
* message.c: Check for message typeMichael Vetter2020-07-021-0/+1
| | | | | RFC 6121 allows only few types. So we can also remove that check in _handle_chat().
* Add HEADLINE stanza defineMichael Vetter2020-07-021-0/+1
|
* Feature request - XEP-0373: OpenPGP for XMPP (OX)DebXWoody2020-06-291-0/+4
| | | | | | | | | Basic implementation of XEP-0373: OpenPGP for XMPP. https://xmpp.org/extensions/xep-0373.html Command /ox Issue: #1331
* Preserve Gajims minimize flag in bookmarksMichael Vetter2020-05-221-0/+2
| | | | Implement https://github.com/profanity-im/profanity/issues/1326
* First MAM testMichael Vetter2020-04-111-0/+3
| | | | | | Send a request (which we can't handle yet) :-) Regards https://github.com/profanity-im/profanity/issues/660
* xep-0308: Implement `/correct` to correct the last send messageMichael Vetter2020-02-101-0/+1
| | | | | | | | So far the correction is sent. But the UI in Profanity itself is not updated. Also autocompletion for `/correct` with the last sent message is missing.
* xep-0308: Initial support for incoming LMCMichael Vetter2020-02-101-0/+1
|
* avatar: use unique id for stanza idMichael Vetter2020-02-071-1/+1
| | | | "retrieve1" should have been only for testing.
* muc: save oldest timestampMichael Vetter2020-01-301-0/+1
| | | | | | | | | | | | | | | | | | So far we saved the timestamp which also had the `from`. But we need this only to find out whether it's MUC history. For displaying we should use the oldest delay timestamp. Also in https://github.com/profanity-im/profanity/commit/61f66966ddfe8ebd8bae26dd7ff92d777004edda#diff-4926fd4577a336bd3eb240f8104a5c5bL837 a error was introduced. Before we saved the timestamp in all cases. And only if timestamp AND from was given we went into MUC history case. Normal timestamp saving was not done anymore only if it also had a from attribute. Regards https://github.com/profanity-im/profanity/issues/1254
* Update my Copyright to 2020Michael Vetter2020-01-031-1/+1
|
* xep-0084: Download avatarsMichael Vetter2019-12-181-0/+2
| | | | | Proof of concept. Needs error checking, a nice interface, general cleanup..
* Start implementing XEP-0084Michael Vetter2019-12-181-0/+3
| | | | So far we just subscribe and get the IDs.
* Check for correct delay tag for muc timestampsMichael Vetter2019-11-131-1/+1
| | | | | | | | | | | | | https://github.com/profanity-im/profanity/issues/1190 had another issue: Sometimes servers send multiple </delay> and we just checked the first one we got and only used it if the 'from' attribute was fitting. However it could be that we actually wanted the second </delay> element and there the 'from' would have been right. So we need to loop through them until we get the one with the fitting 'from'. Fix https://github.com/profanity-im/profanity/issues/1190
* _handle_groupchat(): get correct origin-id stanzaMichael Vetter2019-11-081-0/+2
| | | | | | | | | | | | | | | | | | The problem is that in _handle_groupchat() we look for STANZA_NS_STABLE_ID which will result in origin-id or stanza-id. It seems like prosody servers send origin-id first, so this worked in all my tests. But actually we cannot be sure of the order. So far we stopped after the first element was found. I only found xmpp_stanza_get_child_by_ns() and xmpp_stanza_get_child_by_name() in libstrophe. But we need a combination of both. So I created stanza_get_child_by_name_and_ns() for Profanity. I need to remember to upstream this to libstrophe later (if they really don't have such a function). Fix https://github.com/profanity-im/profanity/issues/1223
* Don't render (all) delayed messages as MUC historyHolger Weiß2019-08-201-0/+1
| | | | | | | | Double-check that a <delay/> tag on a groupchat message was actually added by the MUC service (rather than the sending client) before assuming it was received from the MUC history. Fixes #1173.
* Rework MUC reflected message filteringPaul Fariello2019-04-101-0/+3
| | | | | | | | | Reflected messages can't be filtered by nick only otherwise you might ignore messages comming from you on another devices. Consequently we maintain a list of sent messages id in mucwin. To be sure the id will be correctly reflected we use the origin-id stanza.
* Handle bundle publication error on publish-optionsPaul Fariello2019-04-101-1/+6
| | | | | We try to reconfigure node and publish again. If it fails again then we give up.
* Add publish option to OMEMO device list and bundlePaul Fariello2019-04-101-0/+2
|
* Add store hints for OMEMO encrypted messagesPaul Fariello2019-04-101-0/+1
| | | | | | | | | Store hints are required has some server might discard messages without body. Here we ensure OMEMO messages are stored on server and delivered to client when they connect back. It's really important since it avoid libsignal to desynchronize counters.
* Add signal store backend and OMEMO start commandPaul Fariello2019-04-101-0/+2
|
* Request for device list when OMEMO is readyPaul Fariello2019-04-101-0/+1
|
* Fix devicelist subscription and handle pubsub eventPaul Fariello2019-04-101-0/+2
| | | | Devicelist subscription can be done directly with caps_add feature.
* Add pubsub event callbackPaul Fariello2019-04-101-0/+1
| | | | Also add generic message callback struct
* Add devicelist and bundle publicationPaul Fariello2019-04-101-1/+4
|
* Add devicelist subscriptionPaul Fariello2019-04-101-0/+2
|
* Update copyright to include 2019Michael Vetter2019-01-221-1/+1
|
* Add support for command config executionPaul Fariello2018-09-051-0/+1
|
* Handle simple executionPaul Fariello2018-09-051-0/+1
| | | | Tested with ping from biboumi
* Add command subcommands: list and execPaul Fariello2018-09-051-2/+2
| | | | Also handle list result
* Add command commandPaul Fariello2018-09-051-0/+4
| | | | Initial commit to test commands API
* Update copyrightJames Booth2018-01-211-1/+1
|
* Update CopyrightJames Booth2017-01-281-1/+1
|
* Use hash table for bookmarksJames Booth2016-08-211-0/+2
|
* Use libstrophe xmpp_presence_new convenience functionJames Booth2016-08-201-2/+0
|
* Replace stanza_create_message with libstrophe convenience functionsJames Booth2016-08-201-3/+0
|
* Move caps_create -> stanza_create_caps_from_query_elementJames Booth2016-08-141-0/+1
|
* Move caps_create_sha1_str -> stanza_create_caps_sha1_from_queryJames Booth2016-08-141-0/+1
|
* Move caps_create_query_response_stanza -> stanza_create_caps_query_elementJames Booth2016-08-131-0/+2
|
* Tidy headersJames Booth2016-07-241-0/+1
|
* Update GPL link in headersJames Booth2016-07-241-1/+1
|
* Tidy xmpp headersJames Booth2016-05-041-4/+0
|
* Add /blocked commandJames Booth2016-05-011-0/+6
|
* Define stanza's attributes as const char*Dmitry Podgorny2016-04-271-3/+3
| | | | | | | | | | | | In most get-like funcitons libstrophe returns pointer to a string that resides in an internal structure (e.g. xmpp_stanza_t). Hence, Profanity must not change such strings. Define respective variables as 'const char*' to reduce a chance of error and conform future libstrophe's interface. This patch mostly replaces 'char *' with 'const char*', but also fixes two memory leaks after stanza_get_reason(). Add comment within stanza_get_reason() to fix conflict with different allocator types.
* Implement XEP-0363: HTTP File UploadDominik Heidler2016-04-261-0/+13
|