1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-11-03 19:37:16 -05:00
Commit Graph

166 Commits

Author SHA1 Message Date
Michael Vetter
8a5932b251 Rename _calculate_identifier to _compute_identifier 2019-10-20 00:01:19 +02:00
Michael Vetter
db4b55eee0 Rename random_bytes to profanity_instance_id 2019-10-19 23:27:19 +02:00
Michael Vetter
2a4d1b8410 Free hmac and msgid 2019-10-19 08:18:37 +02:00
Michael Vetter
f190d2c5f2 Free prof_identifier in case of reconnect
Bedore we assign it new.
2019-10-19 07:40:59 +02:00
Michael Vetter
4d7a496ae2 Change origin-id/id algo
Hash twice.
Use HMAC SHA256 from glib.
2019-10-18 16:12:26 +02:00
Michael Vetter
430b2eaa0d Log incoming MUC messages if origin-id sais they dont come from us
Regards https://github.com/profanity-im/profanity/issues/1201
2019-10-18 10:40:24 +02:00
Michael Vetter
53640f6e97 Remove prefix from stanza id
We sent `prof_prefix_uuid` as id. Where the prefix was also optional.
We don't need this at all.
2019-10-17 15:40:40 +02:00
Michael Vetter
827af999b7 Change algo for connection_create_stanza_id() 2019-10-17 15:32:46 +02:00
Michael Vetter
8f5d1751b2 Change connection_create_stanza_id()
To return identifier and uuid together.
We can remove the prefix later on.
2019-10-17 09:23:11 +02:00
Michael Vetter
708bc83870 Calculate identifier upon connect
This will be needed so that we can later detect if messages (origin-in)
was sent by us.

Regards https://github.com/profanity-im/profanity/issues/1207
2019-10-16 15:53:28 +02:00
Michael Vetter
ee0541a262 Rename identification file 2019-10-16 10:54:05 +02:00
Michael Vetter
46f0304f89 Use random string for random-bytes identifier
And rename `instance` to `identifier`.

Regards https://github.com/profanity-im/profanity/issues/1207
2019-10-16 10:45:41 +02:00
Michael Vetter
1e09a055ca Create random-bytes file
So far only with dummy value.
We will need an identifier that we can hash together with a message ID
and put in as the origin-id.
So when we receive message we can unsplit it and see if it was sent from
this client.

Regards https://github.com/profanity-im/profanity/issues/1207
2019-10-16 10:17:34 +02:00
Paul Fariello
b110da9a92 Fix various OMEMO memleaks 2019-07-10 17:32:23 +02:00
Dmitry Podgorny
c2d3c3e416 xmpp/connection: fix #1103
When connection is lost, profanity tries to disconnect what leads
to an infinite loop. The loop occurs, because connection_disconnet()
runs xmpp_run_once() separately and waits for XMPP_CONN_DISCONNECT
event. But it doesn't happen, because the connection object is
disconnected.

As solution, don't disconnect after XMPP_CONN_DISCONNECT is received.
Also, don't free libstrophe objects while the event loops executes,
because the event loop continues using objects after callbacks quit.
2019-06-01 20:21:46 +03:00
Paul Fariello
4ad6904216 Wait for discovery end to publish omemo devicelist and bundle
Add sv_ev_connection_features_received for that purpose
2019-04-10 17:23:46 +02:00
Michael Vetter
706af9a900 Update copyright to include 2019 2019-01-22 11:31:45 +01:00
Dmitry Podgorny
7f65aaa9a2 Add option to trust server's certificate
New tls policy "trust" added to /connect and /account. With the policy
TLS connection is established even with invalid certificate. Note, that
trust policy forces TLS connection and it fails when server doesn't
support TLS.

Examples:
 /connect <jid> tls trust
 /account <name> set tls trust
2018-11-06 14:09:02 +02:00
Michael Vetter
6d80700329 Move ID generation to xmpp folder
create_unique_id() was changed to use UUIDs instead of a counter in the
last commit. Since now it depends on connection_create_uuid() which is
in the xmpp subfolder the function should also be moved there.

Renamed it to connection_create_stanza_id() and moved it to
src/xmpp/connection.c.

Discussion happened in https://github.com/boothj5/profanity/pull/1010
2018-08-30 11:17:04 +02:00
James Booth
250e972b7a Update copyright 2018-01-21 15:00:02 +00:00
Dmitry Podgorny
1012e11283 Legacy SSL support
Add "legacy" tls policy to /account and /connect commands. When this
policy is specified the connection is connected with
XMPP_CONN_LEGACY_SSL flag. Notice, legacy SSL and STARTTLS are not
compatible and user has to know when exactly the new policy should be
used.

To enable it, run one of the next commands:
  /connect <jid> tls legacy [server <host>]
  /account <name> set tls legacy

Notice, there is no SRV record for legacy SSL. Therefore, you may need
"server" property to connect successfully. Refer to configuration
provided by your server.
2017-06-24 21:33:30 +03:00
James Booth
68a3daedb9 Update Copyright 2017-01-28 17:24:22 +00:00
James Booth
e043029a50 Allow clearing account resource
issue #880
2016-11-22 00:39:52 +00:00
James Booth
609d05366c Use server features for account muc service
issue #878
2016-11-20 02:09:34 +00:00
James Booth
5b464f4cb0 Add /tls certpath default
issue #871
2016-10-17 23:48:03 +01:00
James Booth
77ef4de29e Free hashtable key list in connection_jid_for_feature() 2016-09-05 23:19:22 +01:00
James Booth
0a57c4de78 Tidy headers 2016-07-24 15:43:51 +01:00
James Booth
0649aad80d Move event timeout to connection module 2016-07-24 14:08:30 +01:00
James Booth
e8fc80f5c1 Update GPL link in headers 2016-07-24 01:14:49 +01:00
James Booth
086fd30e23 Check for NULL before clearing connection data 2016-06-01 22:41:17 +01:00
James Booth
b935b4621c Add connection_set_disconnected() 2016-05-11 00:02:39 +01:00
James Booth
7e079f3684 Add connection_clear_data() 2016-05-10 23:53:44 +01:00
James Booth
a7fa27df01 Remove connection_free_conn(), connection_free_ctx() 2016-05-10 23:34:25 +01:00
James Booth
a67d199581 Add connection_shutdown() 2016-05-10 23:27:16 +01:00
James Booth
3d20c85ada Remove JABBER_STARTED, JABBER_UNDEFINED connection states 2016-05-10 23:18:11 +01:00
James Booth
22c4d91c50 Remove _session_free_session_data from session.c 2016-05-10 22:49:58 +01:00
James Booth
02bc4f217c Tidy connection.c 2016-05-10 22:09:09 +01:00
James Booth
5cb6b174cc Tidy connection.c 2016-05-10 21:59:41 +01:00
James Booth
cd5d242207 Tidy session.c 2016-05-08 21:47:52 +01:00
James Booth
ec51ae689c Free features on disconnect 2016-05-08 03:14:22 +01:00
James Booth
ac3ab39e23 Use hash table for disco features 2016-05-08 03:04:36 +01:00
James Booth
29380a39cd Remove connection_get_disco_infos() 2016-05-08 02:37:02 +01:00
James Booth
188df60cfe Rename diso_items->diso_infos 2016-05-08 02:30:34 +01:00
James Booth
31e6cc8e38 Add connection_get_disco_info() 2016-05-08 02:25:34 +01:00
James Booth
137202e5dd Add connection_item_for_feature() 2016-05-08 01:45:22 +01:00
James Booth
f28655c5c8 Move logic to connection_set_disco_items 2016-05-08 01:10:42 +01:00
James Booth
f1cf444e05 Move conneciton initialisation to _connection_handler 2016-05-08 00:21:06 +01:00
James Booth
2f61f8d646 Move xmpp_initialise() to conneciton.c 2016-05-07 23:29:19 +01:00
James Booth
6ce8edc194 Move disco info struct to connection 2016-05-07 23:28:16 +01:00
James Booth
9596591610 Move available resources to connection struct 2016-05-07 23:04:50 +01:00