Michael Vetter
771dfab123
Start implementing XEP-0084
...
So far we just subscribe and get the IDs.
2019-12-18 10:17:10 +01:00
Michael Vetter
61f66966dd
Check for correct delay tag for muc timestamps
...
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
2019-11-13 09:41:19 +01:00
Michael Vetter
68af0aad65
_handle_groupchat(): get correct origin-id stanza
...
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
2019-11-08 15:05:49 +01:00
Holger Weiß
3228ab47d3
Don't render (all) delayed messages as MUC history
...
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 .
2019-08-20 17:51:26 +02:00
Paul Fariello
e69f947547
Rework MUC reflected message filtering
...
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.
2019-04-10 17:23:46 +02:00
Paul Fariello
562302846a
Handle bundle publication error on publish-options
...
We try to reconfigure node and publish again.
If it fails again then we give up.
2019-04-10 17:23:45 +02:00
Paul Fariello
d8f0bcef94
Add publish option to OMEMO device list and bundle
2019-04-10 17:12:31 +02:00
Paul Fariello
36ce21fc6d
Add store hints for OMEMO encrypted messages
...
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.
2019-04-10 17:12:31 +02:00
Paul Fariello
f9216fddb1
Add signal store backend and OMEMO start command
2019-04-10 16:03:50 +02:00
Paul Fariello
1f9d46037c
Request for device list when OMEMO is ready
2019-04-10 16:03:50 +02:00
Paul Fariello
756fefb09a
Fix devicelist subscription and handle pubsub event
...
Devicelist subscription can be done directly with caps_add feature.
2019-04-10 16:03:50 +02:00
Paul Fariello
1ae5d9f1f8
Add pubsub event callback
...
Also add generic message callback struct
2019-04-10 16:03:50 +02:00
Paul Fariello
fdc5f25f2d
Add devicelist and bundle publication
2019-04-10 16:03:50 +02:00
Paul Fariello
bce1981128
Add devicelist subscription
2019-04-10 15:37:22 +02:00
Michael Vetter
706af9a900
Update copyright to include 2019
2019-01-22 11:31:45 +01:00
Paul Fariello
233e076be9
Add support for command config execution
2018-09-05 13:52:19 +02:00
Paul Fariello
925cd488c1
Handle simple execution
...
Tested with ping from biboumi
2018-09-05 13:50:59 +02:00
Paul Fariello
c9f6a78f57
Add command subcommands: list and exec
...
Also handle list result
2018-09-05 13:49:40 +02:00
Paul Fariello
ca022ec75e
Add command command
...
Initial commit to test commands API
2018-09-05 13:42:28 +02:00
James Booth
250e972b7a
Update copyright
2018-01-21 15:00:02 +00:00
James Booth
68a3daedb9
Update Copyright
2017-01-28 17:24:22 +00:00
James Booth
0886062806
Use hash table for bookmarks
2016-08-21 15:25:49 +01:00
James Booth
583fb2b8c6
Use libstrophe xmpp_presence_new convenience function
2016-08-20 20:37:48 +01:00
James Booth
45048e3ac8
Replace stanza_create_message with libstrophe convenience functions
2016-08-20 18:51:19 +01:00
James Booth
b26c961730
Move caps_create -> stanza_create_caps_from_query_element
2016-08-14 00:15:03 +01:00
James Booth
d5f14abd4e
Move caps_create_sha1_str -> stanza_create_caps_sha1_from_query
2016-08-14 00:07:08 +01:00
James Booth
9cecef5609
Move caps_create_query_response_stanza -> stanza_create_caps_query_element
2016-08-13 23:43:54 +01:00
James Booth
0a57c4de78
Tidy headers
2016-07-24 15:43:51 +01:00
James Booth
e8fc80f5c1
Update GPL link in headers
2016-07-24 01:14:49 +01:00
James Booth
ccabc08fef
Tidy xmpp headers
2016-05-04 01:19:51 +01:00
James Booth
b8c94376aa
Add /blocked command
2016-05-01 19:39:39 +01:00
Dmitry Podgorny
efbf233c85
Define stanza's attributes as const char*
...
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.
2016-04-27 10:31:28 +00:00
Dominik Heidler
1b0ce852bb
Implement XEP-0363: HTTP File Upload
2016-04-26 23:50:55 +02:00
James Booth
9b177a9e01
Removed #AX_PREFIX_CONFIG_H
2016-03-31 21:05:02 +01:00
James Booth
1f90aca503
Merge branch 'master' into plugins-c
...
Conflicts:
src/main.c
src/ui/console.c
2016-02-14 23:00:52 +00:00
James Booth
e53e94f1e2
Updated copyright
2016-02-14 22:54:46 +00:00
James Booth
41fe8c22b1
Added C plugin code from plugins branch
2016-02-14 22:28:55 +00:00
James Booth
c8a6bdb381
Applied coding style to src/xmpp/
2015-10-26 00:14:23 +00:00
James Booth
26d160cae8
WIP: Added last activity request and response
2015-09-29 00:01:38 +01:00
James Booth
2b88e2f1bf
Check for libmesode, fall back to libstrophe
2015-09-21 21:40:04 +01:00
Sam Whited
167ee28ec0
Add no-copy and no-store hints to OTR messages
2015-07-01 09:04:54 -05:00
James Booth
dd206ef637
WIP fix for #516 , needs memory cleanup
2015-06-29 23:48:41 +01:00
James Booth
c36d4b3643
Merge branch 'master' into pgp
2015-03-29 02:51:05 +01:00
James Booth
1917d4c095
Added password to direct invites
2015-03-29 02:46:59 +01:00
James Booth
c1eceebcba
Merge branch 'master' into pgp
2015-03-29 00:59:42 +00:00
James Booth
fac2b2cf66
Added check members only room to send mediated invites
2015-03-28 22:51:41 +00:00
James Booth
eb5cb7b2f8
Send encrypted messages
2015-03-24 23:34:24 +00:00
James Booth
475dfebd97
Added pgpkeyid account setting, send signed presence
2015-03-23 23:38:06 +00:00
James Booth
57c7564445
Show message received text for receipts
2015-03-11 23:47:11 +00:00
James Booth
78becceedb
Added basic delivery receipts
2015-03-11 23:18:28 +00:00
James Booth
2ff6873cf1
Send private carbons element with message when encrypted
2015-03-10 21:16:34 +00:00
James Booth
945f29873e
Merge remote-tracking branch 'oliverlemoal/xep-0280' into xep-0280
2015-03-08 21:51:50 +00:00
James Booth
b3be26a214
Updated copyright
2015-02-10 23:16:09 +00:00
Olivier LE MOAL
48f9f3b3b0
Add XEP-0280 support
2015-02-10 11:32:22 +01:00
James Booth
42a5c431c7
Use resource in chat sessions
2015-01-04 20:19:42 +00:00
James Booth
e263e00a85
Refactored parsing caps
2014-11-26 21:59:36 +00:00
James Booth
508bfeb2bf
Refactored available presence handler
2014-11-26 21:07:46 +00:00
James Booth
77674beb7e
Show occupants role/affiliation changes
2014-10-18 19:10:50 +01:00
James Booth
78a1556f12
Added jid autocomplete for affiliation commands
2014-10-06 22:59:25 +01:00
James Booth
965f048b18
Implemented setting and listing roles
2014-10-06 21:42:09 +01:00
James Booth
d12534c58e
Implemented /room kick command
2014-10-05 20:52:34 +01:00
James Booth
ac7bc02c63
Added /room kick command
2014-10-05 03:52:55 +01:00
James Booth
7584ddaa62
Added /room subject command
2014-10-05 03:05:46 +01:00
James Booth
0b78a9a57e
Implemented setting affiliation and listing affiliations
2014-10-04 23:40:36 +01:00
James Booth
58fb89ad33
Allow adding and removing room owners
2014-10-04 21:38:31 +01:00
James Booth
99c0b3f2cf
wip - refactoring capabilities
2014-09-19 00:49:48 +01:00
James Booth
eba3a7cb30
Implemented /room config submit for saving room configuration
2014-09-10 23:05:35 +01:00
James Booth
5e1023dfd9
Parse data form for room configuration
2014-09-04 23:15:51 +01:00
James Booth
1e0e5597c2
Added /room config edit and /room config cancel
2014-09-04 22:29:57 +01:00
James Booth
4ba33cb13c
Added /ping command
2014-09-04 01:08:10 +01:00
James Booth
aa9f1dfa06
Send room destroy iq on /room config cancel
2014-09-03 20:29:17 +01:00
James Booth
09c10f62f2
Send instant room request
2014-09-03 13:55:06 +01:00
James Booth
57effcd504
Show message when room requires config
2014-09-03 00:23:04 +01:00
James Booth
f9737251a6
Added license exemption for OpenSSL to source headers
2014-08-24 20:57:39 +01:00
James Booth
d2662a6f17
Refactored bookmarks to use option parser, allow bookmarking rooms with passwords
2014-05-10 00:50:43 +01:00
James Booth
d6e92f62dc
Fixed cppcheck warnings
2014-04-26 00:36:36 +01:00
James Booth
2c15aba92a
Chat room windows now created only after successful join
2014-04-21 00:37:04 +01:00
James Booth
5bb3fab17c
Implemented "/bookmark add" for private storage
...
Issue #194
2014-04-13 01:01:53 +01:00
James Booth
26726b207a
Updated copyright
2014-03-09 01:18:19 +00:00
Kristofer M White
8a54c5895d
Adding password handling for joining chatrooms
2014-02-27 05:31:10 +00:00
James Booth
9394091f04
Implemented add bookmark for XEP-0223
...
Issue #194
2014-02-02 02:39:36 +00:00
James Booth
292ae567aa
Handle recipient not found
2014-01-26 18:30:34 +00:00
James Booth
ae1ccc7bae
Add generated id to messages
2014-01-26 01:07:11 +00:00
James Booth
107fdd355e
Added simple mock test, refactored roster
2013-12-14 15:34:17 +00:00
Dmitry Podgorny
2837c4054f
initial support of autojoin for MUC
2013-06-30 18:59:38 +03:00
James Booth
d5e9ca649d
Show messages on /group add and /group remove
...
closes #189
closes #190
2013-06-23 17:38:30 +01:00
Dmitry Podgorny
c84cb17bd4
added support of captcha in a MUC
2013-06-09 16:19:49 +03:00
James Booth
01bdc6ae5a
Added /roster remove command
2013-06-02 00:06:05 +01:00
James Booth
d017999a91
Add groups to roster contacts
...
fixes #175
2013-05-22 23:38:52 +01:00
James Booth
d300e8e763
Added /roster command with nick option to change handle
2013-05-19 02:07:01 +01:00
James Booth
90ac69beb3
Added /duck command to perform searches using duckduckgo chat bot
2013-05-05 02:31:04 +01:00
James Booth
81020e6d43
Added /invite for direct MUC invitations
2013-04-20 20:18:13 +01:00
James Booth
b6095ca955
Show message in console when receiving chat room invites
2013-03-24 21:46:00 +00:00
James Booth
8d2e0656b4
Refactor show and status stanza handling
2013-03-17 22:21:05 +00:00
James Booth
e2bc9bde74
Implemented output for /disco info
2013-03-14 23:41:36 +00:00
James Booth
31cd507d3c
Added /disco command
2013-03-14 20:50:09 +00:00
James Booth
b960b76034
Added basic /rooms command to get chat room list
2013-03-13 23:38:26 +00:00
James Booth
bced3d4b36
Added autocomplete for /software command
2013-02-17 02:10:56 +00:00
James Booth
576be7921d
Tidy up presence module
2013-02-10 23:29:37 +00:00
James Booth
e922568770
Added resource_presence_t and contact_presence_t
2013-02-10 17:13:19 +00:00