Michael Vetter
5cec47c86a
Add support to approve MUC voice requests
...
A form will open. One can then use `/field4 on` `/form submit`.
Implements https://github.com/profanity-im/profanity/issues/1507
2021-03-17 16:16:59 +01:00
Thorben Günther
ec6f9df486
MUC: Add voice request
...
closes https://github.com/profanity-im/profanity/issues/1211
2021-03-12 14:57:00 +01:00
Michael Vetter
69e923df3b
Remove forgotten debug line
2021-02-15 09:58:37 +01:00
Michael Vetter
1435c7ae14
Use correct time for MAM messages
...
We need the delay value from the <forward> element.
Regards https://github.com/profanity-im/profanity/issues/660
2021-02-04 21:13:31 +01:00
Michael Vetter
8c08e64f37
Update copyright
2021-01-08 16:36:30 +01:00
Michael Vetter
3b3c9bf4d5
Print all error stanzas
...
Regards https://github.com/profanity-im/profanity/issues/1435
So far we didn't print the error if it contained `<error
type="cancel">`. It appears that the code always thought this is a
service-not-available (so one is either blocked or the account doesn't
exist) and printed `Recipient not found`.
But there can be other errors as well. Like in above mentioned issue
`not-allowed`.
Let's just print the text.
In case of the cancel type we still remove the jid from the chat
sessions. I'm not entirely sure whether this needs to be done in other
cases too.
2020-10-30 15:09:40 +01:00
Michael Vetter
4d4c094b5f
Enable _handle_ox_chat() payload/body decryption
...
This part of the code was waiting for xmpp_stanza_new_from_string() from
libstrophe 0.10.0.
2020-10-09 09:38:47 +02:00
Michael Vetter
17b1b431f5
Replace stanza_get_child_by_name_and_ns with 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.
2020-09-30 19:41:08 +02:00
Dmitry Podgorny
7553676b40
Fix memory leak in _handle_chat()
...
jid_create() for attribute "to" was called twice and the 1st object was
lost.
2020-08-07 00:47:45 +03:00
Michael Vetter
8852db03d6
Parse stanza-id
...
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
2020-07-23 14:21:27 +02:00
Michael Vetter
a2726b6a7d
Apply coding style
2020-07-07 14:18:57 +02:00
Michael Vetter
a4cadf78fa
Revert "Apply coding style"
...
This reverts commit 9b55f2dec0
.
Sorting the includes creates some problems.
2020-07-07 13:53:30 +02:00
Michael Vetter
9b55f2dec0
Apply coding style
...
Regards https://github.com/profanity-im/profanity/issues/1396
2020-07-07 09:43:28 +02:00
Michael Vetter
aecbeff8ba
message.c: Use message->to_jid instead of to_jid
...
This one will always be set.
2020-07-03 18:04:07 +02:00
Michael Vetter
b1343cd3ac
message.c: _handle_carbons() check from field outside of function
...
So that we don't have to pass the wrapping stanza and can handle
the error nicer.
2020-07-03 17:55:15 +02:00
Michael Vetter
896e6c4e87
message.c: Dont duplicate code in _handle_carbon and _handle_chat
...
Trying to simplify the conditions so we don't have duplicate code
in both of those functions.
2020-07-03 17:51:42 +02:00
Michael Vetter
8ce299838d
message.c: Remove from/to setting out of condition
...
Since its done in both cases.
2020-07-03 16:38:05 +02:00
Michael Vetter
0412ec9662
message.c: Small code improvements
2020-07-03 16:26:33 +02:00
Michael Vetter
c66d3c6389
message.c: Put XEP-0085 code in helper function
2020-07-03 16:17:18 +02:00
Michael Vetter
14f33e54f6
Change formatting
2020-07-03 12:35:48 +02:00
Michael Vetter
8d8ef675cd
handle_headline(): Free text correctly
2020-07-03 12:05:46 +02:00
Stefan Kropp
3640900cf6
Handle headline stanza
...
Authored by DebXWoody in:
https://github.com/profanity-im/profanity/pull/1369
Regards: https://github.com/profanity-im/profanity/issues/1366
Since I'm in the process of cleaning up message.c I take this now
so he doesn't have to rebase.
I also omitted the _handle_normal() case since I'm not sure that would
be correct.
Probably will be addressed again when continuing the cleanup.
2020-07-03 12:02:41 +02:00
William Wennerström
d5aae08c41
Fix messages with receipt request not displayed
...
Messages from Conversations contains:
<request xmlns='urn:xmpp:receipts'/>
And would not be displayed in Profanity as it never reached
_handle_chat(..).
2020-07-02 20:50:26 +02:00
Michael Vetter
83ed9ba24b
message.c: Put plugin handler code in helper function
2020-07-02 17:53:28 +02:00
Michael Vetter
6be5b51a46
message.c: Log invalid message type
...
So far we logged when we receive a message without a type. Which is
actually quite common and makes no sense.
2020-07-02 17:47:07 +02:00
Michael Vetter
46a00317ee
message.c: Check for message type
...
RFC 6121 allows only few types.
So we can also remove that check in _handle_chat().
2020-07-02 17:40:58 +02:00
Michael Vetter
19d9e80a79
message.c: Remove handled cases form _handle_chat()
...
Both cases are tested before entering that function.
2020-07-02 17:32:14 +02:00
Michael Vetter
d9cfa2e48a
message.c: Break out of _message_handler() after handling code
...
AFAIK it can only be one.
Except at STANZA_NS_MUC_USER which is used in several cases.
2020-07-02 17:31:56 +02:00
Michael Vetter
b14b711492
message.c: Parse incoming message stanzas according to type
2020-07-02 17:15:42 +02:00
Michael Vetter
728cb55b68
message.c: Add pubsub helper function
2020-07-02 16:48:57 +02:00
Michael Vetter
f2b415079a
message.c: Add XEP information
2020-07-02 16:37:20 +02:00
Michael Vetter
1f50647865
message.c: Add my copyright
2020-07-02 15:22:58 +02:00
Michael Vetter
3350139ed0
message.c: Make several functions static
2020-07-02 15:21:54 +02:00
Michael Vetter
10190b5fb0
message.c: Adjust function formatting
2020-07-02 15:20:17 +02:00
Michael Vetter
8de6a7bfb0
And ifdefs around new OX functions
...
Fix for some build cases introduced in 2c94ee5a88
Fix https://github.com/profanity-im/profanity/issues/1376
2020-06-30 11:10:27 +02:00
DebXWoody
2c94ee5a88
Feature request - XEP-0373: OpenPGP for XMPP (OX)
...
Basic implementation of XEP-0373: OpenPGP for XMPP.
https://xmpp.org/extensions/xep-0373.html
Command /ox
Issue: #1331
2020-06-29 19:05:41 +02:00
Dmitry Podgorny
409bbd6f2d
Fix possible segfault in xmpp/message.c
...
Check for pointer to be NULL before dereferencing it.
2020-06-16 17:52:01 +03:00
Michael Vetter
d4692b1b2d
Fix carbon logging
...
Regards https://github.com/profanity-im/profanity/issues/1342
2020-05-27 22:06:04 +02:00
Michael Vetter
de8975c008
Add and use connection_get_barejid()
...
Instead of connection_get_fulljid() and then creating a Jid from it.
2020-05-25 13:04:19 +02:00
Michael Vetter
e41ae21bea
Fix typing notification
...
With d1d0ad8d1a
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
2020-05-21 12:24:03 +02:00
Michael Vetter
5ec1b03cbc
_handle_carbons(): fix potential memleak
2020-04-21 17:11:04 +02:00
Michael Vetter
dd566d8d56
MAM: Correctly display incoming MAM chat message
2020-04-11 23:56:01 +02:00
Michael Vetter
180ec2b474
Add to_jid field to ProfMessage struct
...
Is usefult in many cases if we want cleaner code.
Hope this edit didn't break anything though ;-)
2020-04-11 17:11:53 +02:00
Michael Vetter
38273fef5c
First test with receiving MAM
2020-04-11 16:05:14 +02:00
Michael Vetter
f3b8cc407d
_handle_chat: return if no 'from'
...
Let's not crash :-)
2020-04-11 16:05:14 +02:00
Michael Vetter
e878b6d266
Don't crash if we get a message without from or type
...
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.
2020-04-11 16:05:14 +02:00
Michael Vetter
3524a53c7c
Add type field to ProfMessage
...
The mucuser boolean is not now needed anymore.
2020-04-06 19:15:02 +02:00
Michael Vetter
a0a4fd0426
db: log all incoming and outgoing messages
2020-04-06 10:50:20 +02:00
Michael Vetter
a4b53550ca
Rename PROF_MSG_ENC_PLAIN to PROF_MSG_ENC_NONE
2020-04-06 10:50:20 +02:00
Michael Vetter
d1d0ad8d1a
Add timestamp for incoming messages if none is set
...
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.
2020-04-06 10:50:20 +02:00