Michael Vetter
4a6b1665f3
Use correct jid variable
2019-07-03 15:28:46 +02:00
Michael Vetter
f504a02167
Define goto out in _private_chat_handler()
2019-07-03 15:27:31 +02:00
Michael Vetter
19902e8e21
Set plain message in _private_chat_handler
...
In case that plain is NULL we need to copy over from body.
Fix https://github.com/profanity-im/profanity/issues/1144
2019-07-03 15:16:19 +02:00
Michael Vetter
ad9263520e
Show MUC history on intentional reconnect
...
Small bug caused by 13675fb
and ce5a4ed
.
Fix https://github.com/profanity-im/profanity/issues/1142
2019-07-03 09:19:24 +02:00
Paul Fariello
f081766913
Mark messages received from a session as trusted
2019-06-25 18:43:15 +02:00
Paul Fariello
45e8467231
Fix a segfault when carbon has no body
2019-06-21 16:49:52 +02:00
Paul Fariello
db8f32c049
Fix handling of encrypted carbons
2019-06-21 15:52:24 +02:00
Paul Fariello
498b75afa9
Don't highlight cleartext message as untrusted
2019-06-21 15:50:41 +02:00
Paul Fariello
ac96a6951d
Fix segfault when receiving messages without ID
2019-06-21 12:03:08 +02:00
Paul Fariello
a444137e66
Fix NULL pointer when handling non encrypted message in MUC
2019-06-21 11:34:36 +02:00
Paul Fariello
f831f65737
Rename prof_message_t into ProfMessage
2019-06-20 14:30:45 +02:00
Paul Fariello
9482ce6168
Set foreground color for untrusted messages
2019-06-20 14:30:45 +02:00
Paul Fariello
44d16e9141
Add prof_message_t to wrap all message attributes
...
Probably missing copy of body to plain in carbon and privmessage.
Only covers the incoming message path because goal is OMEMO decryption
of untrusted message.
Cover some of the log functions but not all.
2019-06-20 14:30:42 +02:00
Paul Fariello
3bb3cc625d
Use flags in xmmp/message.c for encryption and trust
2019-06-20 14:30:37 +02:00
Paul Fariello
a650ecc67d
Add trusted state after OMEMO decryption
...
Use it to print message on red background if not trusted.
2019-06-20 14:29:55 +02:00
Paul Fariello
2604786cb6
Decrypt all incoming OMEMO msg
...
Trust all key as long as it's for reading. This code isn't multithread
safe.
2019-06-20 14:29:55 +02:00
Michael Vetter
7ca8ec3e6b
_bookmark_destroy: follow normal logic
2019-06-20 12:37:32 +02:00
Michael Vetter
b8c8059402
Call message_handlers_clear() upon disconnect
...
Free pubsub_event_handlers. Fix memory leaks.
2019-06-20 12:37:32 +02:00
Michael Vetter
11b8204d14
Call iq_handlers_clear() upon disconnect
...
Free id_handlers. Fix memory leaks.
2019-06-20 12:37:32 +02:00
Michael Vetter
29e2d16e14
Free contacts in omemo_start_sessions()
2019-06-19 23:18:45 +02:00
Michael Vetter
0d698d4898
Free OMEMO session store upon disconnect
2019-06-19 23:15:24 +02:00
Michael Vetter
184f01c4ac
Fix prefs_get_string mem leaks in statusbar
2019-06-19 16:45:18 +02:00
Michael Vetter
20e94beca2
Free last_msg_timestamp
...
Fix memory leak.
2019-06-19 12:30:57 +02:00
Michael Vetter
ae1e60a9f9
Add option to set all window related time formats
...
Implements feature requested at: https://github.com/profanity-im/profanity/issues/632
So instead of:
/time console set <format>
/time chat set <format>
/time muc set <format>
/time mucconfig set <format>
/time private set <format>
/time xml set <format>
As a short cut the user can do:
/time all set <format>
Excluding statusbar and lastactivity settings since they are not for main windows, but used slightly differently.
2019-06-17 14:23:33 +02:00
Michael Vetter
e4b007c9da
Add copyright to omemo code
2019-06-17 10:47:56 +02:00
Michael Vetter
40b72ffe55
Add myself to copyright
...
Like discussed with James.
2019-06-17 10:44:08 +02:00
Michael Vetter
d66ffde91f
Use profanity channel as example
2019-06-17 10:28:04 +02:00
Michael Vetter
5dd6ba73f4
Merge pull request #1110 from profanity-im/feature/704-ui-behaviour-reconnect
...
Feature/704 ui behaviour reconnect
2019-06-11 07:00:34 +02:00
Michael Vetter
47e55cc112
Safe last MUC message timestamp per MUC
...
After pasis review of my code he thinks it's better to safe the
timestamp per MUC so we can account for some problems that could occur
with timing.
2019-06-11 06:35:03 +02:00
Michael Vetter
ff6038fe32
Rejoin all MUCs on reconnect
...
Should fix https://github.com/profanity-im/profanity/issues/1120
2019-06-10 23:18:43 +02:00
Michael Vetter
c4fcc0c3cb
Merge pull request #1125 from profanity-im/fix/519-logrotate
...
Iterate logfiles until 100 are reached
2019-06-10 14:20:29 +02:00
Michael Vetter
60d8d7e93a
Merge pull request #1124 from paulfariello/feature/remove_session_when_untrusting_omemo_device
...
Remove OMEMO session when untrusting a fingerprint
2019-06-08 00:25:43 +02:00
Michael Vetter
bb4dd47a01
Iterate logfiles until 100 are reached
...
Fix https://github.com/profanity-im/profanity/issues/519
2019-06-07 23:48:44 +02:00
Paul Fariello
5731a7c472
Remove OMEMO session when untrusting a fingerprint
...
We have to store known_devices in a long term fashion otherwise we might
not be able to delete session if it is remove from device list server
side.
2019-06-07 23:43:40 +02:00
Michael Vetter
1f3d61e9f7
Merge pull request #1123 from profanity-im/fix/1093-already-started-message
...
Print omemo start related msgs into correct window
2019-06-07 22:16:33 +02:00
Michael Vetter
9516324248
Refactor cmd_omemo_start
...
Some code was duplicated/similar.
The parts about using a chatwin while being started from another window
(recipient provided) and being a chatwin were the same.
Like this it should be easier to read and less code.
2019-06-07 21:14:53 +02:00
Michael Vetter
2eb2bf3508
Print omemo start related msgs into correct window
...
Print them in the window of the contact. Not just the current window.
Fix https://github.com/profanity-im/profanity/issues/1093
2019-06-07 21:14:44 +02:00
Michael Vetter
1772236178
Merge pull request #1118 from profanity-im/fix/1117-omemo-autocompletion-crash
...
Only complete certain omemo commands if connected
2019-06-07 19:49:08 +02:00
Michael Vetter
bee7846ea0
Merge pull request #1121 from profanity-im/feature/notify-plugin-fail
...
Improve plugin load/install failure message
2019-06-07 12:17:56 +02:00
Michael Vetter
cc697de051
Improve plugin load/install failure message
...
In case Python or C plugins are disabled install/load failed silently.
Notify the user that we can't load them because profanity was built
without support for plugins.
2019-06-07 11:30:46 +02:00
Michael Vetter
1e723970de
Only complete certain omemo commands if connected
...
Some of the omemo commands depend on the roster being present.
Several of those functions call `assert()` if that's not the case.
Modify omemo autocompletion in such a way that only things that don't
need the roster will be completed. Only works on first level.
When typing `/omemo` it will still complete to `/omemo start` but not
offer suggestions for that, but print a message that you need to be
connected.
Fix https://github.com/profanity-im/profanity/issues/1117
2019-06-06 16:01:19 +02:00
Michael Vetter
4e972f8aef
Check for sane argument in autoconnect set
...
Check that user doesnt do `/autoconnect set `.
Which would result in: `Account '(null)' does not exist`.
2019-06-05 14:41:09 +02:00
Michael Vetter
53ef209272
Check if valid account before setting autoconnect
...
Fixes https://github.com/profanity-im/profanity/issues/1112
2019-06-05 14:19:41 +02:00
Michael Vetter
c57d0b8c8e
Add omemo.char theme option
...
Thanks to @kaffekanne for noticing this!
2019-06-05 11:01:08 +02:00
Michael Vetter
ce5a4ed77c
Only show MUC subject on first connect
...
For #704 we don't show the room history upon reconnect.
Now we also don't show the room subject in the channel
upon re-established connection.
2019-06-05 10:05:12 +02:00
Michael Vetter
d53c477e4e
Reduce timestamp call when saving last muc message
...
Let's test for mucwin earlier.
2019-06-05 09:56:00 +02:00
Michael Vetter
13675fbf06
Only print room history for new messages upon reconnect
...
If re-establish a connection don't print the room history again.
In case there there happened nothing at all since we got the room
history on the last connection.
And in case there were no new messages during the time we have been
disconnected.
Instead of printing the room history again we now print 'Re-established
Connection'.
This adds a bit of overhead since we save the timestamp upon every MUC
message.
See: https://github.com/profanity-im/profanity/issues/704
2019-06-05 09:49:50 +02:00
Michael Vetter
b210fb3603
statusbar: check if roster exists
...
We destory the roster in ev_disconnect_cleanup().
Adding a function to test if the roster has been destroyed and testing
for it in the statusbar.
So now when the connection is lost 'Lost connection' is printed in all
open windows.
We can then reconnect with `/connect accountname`.
Should fix https://github.com/profanity-im/profanity/issues/1083
2019-06-04 16:19:04 +02:00
Michael Vetter
2d00444702
statusbar: reduce duplicate code
...
status_bar_new() and status_bar_active() are almost identical.
Let's use one helper function to not duplicate code.
I thought about renaming both functions into one and adding another
parameter but didn't come up with a good name for the function that
clearly describes what it does. So staying with current names + helper
functions.
2019-06-04 14:50:25 +02:00
Michael Vetter
ea62c3f293
Determine chat window names beforehand
...
Save the name for displaying the windows in the statusbar inside the tab
object.
So far we calculated them repeatedly and this created issues when we
lost the connection.
Regards https://github.com/profanity-im/profanity/issues/1083
2019-06-04 12:33:57 +02:00
Michael Vetter
48013f8d43
Merge pull request #1106 from profanity-im/saved-account
...
Don't clear saved account data in session_disconnect()
2019-06-03 14:11:00 +02:00
Dmitry Podgorny
6138a5f79b
Cancel autoping timer on disconnect or connection loss
...
If Profanity is disconnected in any way before ping response is
received, the autoping timer will expire after the next connection
is established. As result, user will be disconnected immediately.
Cancel autoping timer in ev_disconnect_cleanup(), so it is done
for all kind of disconnections.
2019-06-03 13:28:00 +03:00
Dmitry Podgorny
4344ee2a5a
Don't clear saved account data in session_disconnect()
...
If connection loss occurs, it calls session_disconnect() eventually.
This function clears saved account data which is required for
reconnection. Therefore, when reconnect timer expires, we get errors:
02/06/2019 04:53:42: stderr: ERR: (profanity:17115): GLib-CRITICAL **:
04:53:42.305: g_key_file_has_group: assertion
'group_name != NULL' failed
02/06/2019 04:53:43: prof: ERR: Unable to reconnect, account no longer
exists: (null)
To solve it, don't clear the saved data in session_disconnect(). It will
be cleared properly on connection loss if reconnect timer is not
configured. But won't be cleared with /disconnect command.
So, after /disconnect the data will live in memory until the next
/connect.
Also, remove some copy-paste in connection loss path.
2019-06-03 13:21:52 +03: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
Michael Vetter
bfa4a2ef1f
Close windows on connection loss not general disc.
...
Call `ui_close_all_wins();` only if we disconnect on purpose not when
connection is lost.
Otherwise users might miss messages.
This partly reverts 6ac73db876
.
Regards https://github.com/profanity-im/profanity/issues/1083
2019-05-27 12:52:04 +02:00
Michael Vetter
eb16c674ae
Merge pull request #1092 from frnky/remove_mblen
...
Don't call mblen() to not depend on locale
2019-05-23 21:18:46 +02:00
Paul Fariello
04cd1b4409
Correctly handle malformed OMEMO messages
...
Fix #1101
2019-05-23 13:12:02 +02:00
Frank Zschockelt
56e925ed03
Don't call mblen() to not depend on locale
...
mblen will fail with return code -1 if the locale used by the unit tests
isn't available on the machine. This will lead to an off by one error in some
tests where the needle is at the end of the haystack.
Since prof_occurrences expect null-terminated strings, the character after
the needle can simply be found by incrementing the address of the found needle
with strlen(needle).
2019-05-22 19:57:52 +02:00
Michael Vetter
91d17edcb4
Merge pull request #1098 from optmzr/fix-omemo-gen-message
...
Force UI update before generating OMEMO crypto materials
The message wouldn't show up before the generation of OMEMO crypto materials started.
2019-05-22 09:52:29 +02:00
William Wennerström
e07a06d1a2
Force UI update before generating OMEMO crypto materials
2019-05-21 22:32:06 +02:00
Michael Vetter
883dbe1911
Create seperate function for disconnect cleanup
...
Duplicate code in client_events.c and server_events.c. Let's have
events/common.c and a function containing that code.
2019-05-19 22:57:51 +02:00
Michael Vetter
c94f3d0b4a
Fix ifdef guard (should have been OMEMO)
2019-05-06 16:11:22 +02:00
Michael Vetter
9ecc14c95d
Merge pull request #1090 from jubalh/fix/connection-loss-1089
...
Reset things on connection loss
2019-05-06 16:06:41 +02:00
Michael Vetter
6ac73db876
Reset things on connection loss
...
Remove the windows, clear tls certs, clean omemo.
Regards https://github.com/profanity-im/profanity/issues/1089
2019-05-06 12:30:33 +02:00
Michael Vetter
4a165b81e6
Merge pull request #1084 from jubalh/occupants-char
...
Add occupants char
2019-05-03 11:11:40 +02:00
Michael Vetter
a28f0d9e74
Update tests with new URL
...
https://github.com/profanity-im/profanity/issues/1085
2019-05-03 10:46:41 +02:00
Michael Vetter
ebbacec667
Update profanity URL in entity capabilities stanza
...
Regards https://github.com/profanity-im/profanity/issues/1085
2019-05-03 10:36:26 +02:00
Michael Vetter
9288621320
Update profanity URL in /tiny example
...
Regards https://github.com/profanity-im/profanity/issues/1085
2019-05-03 10:33:52 +02:00
Michael Vetter
1446ac15cb
Check for new profanity version using new URL
...
Regards https://github.com/profanity-im/profanity/issues/1085
2019-05-03 10:33:46 +02:00
Michael Vetter
f082563bf2
Add occupants char
...
`/occupants char` now sets a character that is displayed before the nick
in MUCs. Similar like `/roster char` is displaying a char for the roster.
Regards #690
2019-05-02 17:01:55 +02:00
Michael Vetter
722cb5fdc3
OMEMO: Initialize result in omemo_automatic_start
...
This is actually not needed because result will always be set.
hartmann had problems building profanity on OpenBSD and he proposed this
patch.
Let's use it to make the compiler happy there.
2019-04-29 11:32:22 +02:00
Michael Vetter
a794dadfa9
OMEMO: Check if ID is present before using it
...
Fixes https://github.com/boothj5/profanity/issues/1079
2019-04-24 15:20:54 +02:00
Michael Vetter
1d2c0ddc69
Fix statusbar number in theme
...
There is a typo here. So this actually never worked ;-)
2019-04-24 14:48:24 +02:00
Michael Vetter
a666f0deae
Fix formatting for privileges on
...
`/privileges on` lists `Moderator`, `Visitor` etc. Formatting was wrong
here. Printing privilige followed by nickaname in the same line.
2019-04-24 10:28:27 +02:00
Michael Vetter
30f9de61d0
Occupantswin: handle newline correctly
2019-04-24 09:49:14 +02:00
Michael Vetter
98f768bdc2
Add occupants wrap to help
2019-04-24 09:49:14 +02:00
Michael Vetter
259c5801cf
Fix occupants header char message
2019-04-24 09:49:14 +02:00
Michael Vetter
125ca2f0d2
Add occupants wrap option
...
Wrapping for the occupants panel like already exists for the roster
panel. See `/occupants wrap on`.
Regards https://github.com/boothj5/profanity/issues/690
2019-04-24 09:49:14 +02:00
kaffeekanne
f8640019f3
Update copyright years
2019-04-24 01:08:38 +02:00
Michael Vetter
028839e35a
Put occupants update into own function
2019-04-23 14:13:08 +02:00
Michael Vetter
566022786d
Add occupants header char
...
`/occupants header char` now sets a character that is displayed before
the role (moderator, visitor..) in a room. Similar to `/roster header
char` is displaying a char for the roster.
Regards https://github.com/boothj5/profanity/issues/690
2019-04-23 14:13:03 +02:00
kaffeekanne
49e2838a98
Fix indentation for time config
2019-04-23 12:39:05 +02:00
Michael Vetter
d520667935
Adjust jid for occupants indent
...
Indent the jid one more space than nick.
2019-04-20 20:35:45 +02:00
Michael Vetter
2b0e75ce35
Add occupants indent autocompletion
2019-04-20 20:35:45 +02:00
Michael Vetter
62c23233f7
Allow setting occupants indent outside of MUC
...
And when not connected.
2019-04-20 20:35:37 +02:00
Michael Vetter
0c248a0b16
Add /occupants indent command
...
Roster has a `/roster contact indent` option.
Now we have the same for occupants. So contacts in roster and in MUC can
have configurable indentation.
Regards https://github.com/boothj5/profanity/issues/690
2019-04-18 20:53:02 +02:00
Michael Vetter
7e4e9e6688
Fix typo in /help roster
2019-04-18 17:05:10 +02:00
Michael Vetter
199e8752ca
Merge pull request #1063 from paulfariello/hotfix/presence-before-roster
...
Handle presence received before roster
2019-04-17 20:47:54 +02:00
Michael Vetter
2f6387f3fa
Set correct year in copyright display
...
Fixes https://github.com/boothj5/profanity/issues/1069
2019-04-17 20:44:39 +02:00
Paul Fariello
db55e01dce
Follow OMEMO policy even when opening window on message and carbon reception
...
This should close #1052
2019-04-17 15:54:15 +02:00
Paul Fariello
973a05d15a
Handle presence received before roster
...
Presence of contact not found in roster are filtered out.
But sometimes roster is received after a first few presences.
We choose to store presences until we receive roster and then process
this presences.
Fixes #1050
2019-04-17 14:19:31 +02:00
Paul Fariello
21ae946896
Handle MUC anonymous state when auto starting OMEMO
...
When auto joining a MUC we don't have access to required information so
we just don't start OMEMO at this time.
Once we receive disco info we then try to start OMEMO.
2019-04-17 14:03:14 +02:00
Paul Fariello
a6eb0d2c43
Handle missing real jid in OMEMO encrypted MUC
...
This should never happens since we should ensure MUC is Non-Anonymous
before enabling OMEMO.
But we should neither segfault if this happens.
2019-04-17 14:03:14 +02:00
Paul Fariello
5f015e32b2
Add OMEMO policy
...
There is 3 policy:
- manual: OMEMO session are only started manually
- automatic: OMEMO session are only started if they have been started
manually before
- always: OMEMO session are always started unless they have been ended
manually before
Closes #1040 and fixes #1052
2019-04-17 14:03:14 +02:00
Michael Vetter
9574127177
Merge pull request #1066 from paulfariello/hotfix/OMEMO-ensure-muc-is-nonanonymous
...
Ensure MUC is Non-Anonymous before starting OMEMO
2019-04-17 13:58:45 +02:00
Paul Fariello
8c71a74afe
Ensure MUC is Non-Anonymous before starting OMEMO
...
Store MUC anonymous type in mucwin for that purpose.
Fixes #1065
2019-04-17 13:56:27 +02:00
Paul Fariello
fc8dc328a4
Alert about long OMEMO cryptographic generation
...
Fixes #1055
2019-04-17 09:55:16 +02:00
Michael Vetter
02d0f7fc38
Merge pull request #1061 from paulfariello/hotfix/handle-message-without-id-in-muc
...
Handle message without id in MUC
2019-04-15 10:43:39 +02:00
Paul Fariello
9c0a395408
Don't persist OMEMO {signed,}prekey cleaning on disconnect
...
We should not remove signed prekey and prekey from persistent storage
when cleaning OMEMO store on disconnect.
2019-04-14 22:03:16 +02:00
Paul Fariello
94a39b2e9b
Handle malformed OMEMO identity.txt
...
If OMEMO identity.txt is malformed just abort loading.
User should be able to call `/omemo gen` again.
2019-04-14 22:03:16 +02:00
Paul Fariello
c33d8e5f0b
Don't unload OMEMO cryto on disconnect if OMEMO wasn't loaded
...
If OMEMO wasn't loaded, removing key would create empty identity.txt
file. Then at load time it would segfault profanity.
Another commit should fix load of malformed identity.txt.
2019-04-14 22:03:16 +02:00
Paul Fariello
cdc0290a59
Handle message without id in MUC
...
Some clients seems to send message without id.
2019-04-14 21:53:26 +02:00
Paul Fariello
9714d1d867
Add random string at the end of the default resource
...
When connecting for the first time or when creating a new account don't
use only 'profanity' as default resource.
Some server don't support having 2 connection with same resource. Using
profanity as default lead to deconnections.
2019-04-12 15:49:54 +02:00
Paul Fariello
f75e1d7a7b
Support contact name in /omemo fingerprint command
2019-04-10 17:24:56 +02:00
Paul Fariello
ad21021ce7
Fix issue with first encrypted message
...
When decrypting first message with prekey, libsignal wants to remove
used prekey from storage. Return value on success should be 0.
We used to return number of deleted keys. Thus libsignal was considering
we failed to remove the key and we were ignoring plaintext.
2019-04-10 17:24:56 +02:00
Paul Fariello
df648ba959
Try to start sessions with every jid in roster
2019-04-10 17:24:56 +02:00
Paul Fariello
f9b2fdc7db
OMEMO should be written uppercase
2019-04-10 17:24:56 +02:00
Paul Fariello
381d85bcca
Fix build on travis
2019-04-10 17:24:56 +02:00
Paul Fariello
277e8dc901
Add /omemo char command
2019-04-10 17:24:56 +02:00
Paul Fariello
0bc660400b
Automatically starts OMEMO if one identity is trusted
2019-04-10 17:24:56 +02:00
Paul Fariello
25eb138d0b
Rework trusted fingerprint storage
...
Stop using "jid:device_id" keys. And move long term storage to its own
file: trust.txt.
2019-04-10 17:23:46 +02: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
Paul Fariello
01e96769c2
Prefix static function with _
2019-04-10 17:23:46 +02:00
Paul Fariello
0f4dd61776
Ensure pre keys are generated if missing from long term storage
2019-04-10 17:23:46 +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
e7be3a605b
Add OMEMO in prefs command
2019-04-10 17:23:46 +02:00
Paul Fariello
65b3f82c5f
Fix devicelist notification handler
...
devicelist handler should be kept after trigger
2019-04-10 17:23:46 +02:00
Paul Fariello
898302243e
Add clear_device_list command
2019-04-10 17:23:46 +02:00
Paul Fariello
5cd2b8dc9d
Permanently store pre keys
2019-04-10 17:23:46 +02:00
Paul Fariello
0d0e2b246a
Add support for missing from in bundle iq
2019-04-10 17:23:45 +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
904528b490
Ensure signal context is built on connection
...
We can't keep it between two connection because signal context is
specific to a given account.
2019-04-10 17:23:45 +02:00
Paul Fariello
075d4cf35b
Don't use glib 2.58 func
2019-04-10 17:23:45 +02:00
Paul Fariello
2015ba201d
Ensure encrypted carbon of own message are marked as encrypted
2019-04-10 17:23:45 +02:00
Paul Fariello
4a1c3c8c1e
Show all device fingerprint for current account
2019-04-10 17:12:31 +02:00
Paul Fariello
ba9679a706
Print fingerprint after trust and untrust command
2019-04-10 17:12:31 +02:00
Paul Fariello
bc16ba1669
Temporarly disable check for publish-options support
2019-04-10 17:12:31 +02:00
Paul Fariello
678bff9169
Add fingerprint autocompletion
2019-04-10 17:12:31 +02:00
Paul Fariello
3d8f47a724
Use /omemo fingerprint to show contact fingerprints
...
Don't print fingerprints when they are received
2019-04-10 17:12:31 +02:00
Paul Fariello
2fd2ca208c
Use connection_support to check for publish-options support
2019-04-10 17:12:31 +02:00
Paul Fariello
306706bd2e
Add OMEMO log command
2019-04-10 17:12:31 +02:00
Paul Fariello
dadd0c0590
Add missing preferences for OMEMO logs
2019-04-10 17:12:31 +02:00
Paul Fariello
91ee289c77
Add support for disconnect in OMEMO
2019-04-10 17:12:31 +02:00
Paul Fariello
bc541cb8ac
Add OMEMO end command
2019-04-10 17:12:31 +02:00
Paul Fariello
9a66e74986
Handle absent muc member
2019-04-10 17:12:31 +02:00
Paul Fariello
70109953ec
Revert "Ensure room isn't anonymous"
...
This reverts commit 733e1a24c7e08dde6aa2c15ec4528220aa360845.
2019-04-10 17:12:31 +02:00
Paul Fariello
d8f0bcef94
Add publish option to OMEMO device list and bundle
2019-04-10 17:12:31 +02:00
Paul Fariello
9044e3732c
Ensure room isn't anonymous
2019-04-10 17:12:31 +02:00
Paul Fariello
e5b01ed71b
Add OMEMO state in titlebar in MUC
2019-04-10 17:12:31 +02:00
Paul Fariello
88670a7f0b
Add OMEMO state in titlebar
2019-04-10 17:12:31 +02:00
Paul Fariello
4e1ffa6bdb
Log and print outgoing encrypted message
2019-04-10 17:12:31 +02:00
Paul Fariello
a9d55dec92
Add support for sending encrypted message in MUC
2019-04-10 17:12:31 +02:00
Paul Fariello
f7ce1607f9
Ensure saved_account is set before calling sv_ev_login_account_success
2019-04-10 17:12:31 +02:00
Paul Fariello
031e906035
Cosmetics rename variable barejid into roomjid
2019-04-10 17:12:31 +02:00
Paul Fariello
cf528383bd
Allow to start OMEMO in MUC
2019-04-10 17:12:31 +02:00
Paul Fariello
21f247d0eb
Handle window type MUC in OMEMO start command
2019-04-10 17:12:31 +02:00
Paul Fariello
a3897abba1
Add MUC message decryption
2019-04-10 17:12:31 +02:00
Paul Fariello
33b0b46420
Fix prekey handling after first use
...
libsignal will remove prekey on its own.
2019-04-10 17:12:31 +02:00
Paul Fariello
319fb856e0
Handle decrypted OMEMO messages as such
2019-04-10 17:12:31 +02:00
Paul Fariello
3e325a61c3
Add support for OMEMO, OTR, PGP built together
2019-04-10 17:12:31 +02:00
Paul Fariello
0dd5441f92
device_list iq should be from barejid or none
...
Ensure we request device_list and remove non conforming handling of
responses.
Move initialisation of iq_handlers before call to sv_ev_login_account_success
2019-04-10 17:12:31 +02:00
Paul Fariello
6bb7deeb9c
Add logs about crypto generation
2019-04-10 17:12:31 +02:00
Paul Fariello
197e098f4b
Log device_id on startup
2019-04-10 17:12:31 +02:00
Paul Fariello
4826da3aa6
Don't rely on account name being jid
2019-04-10 17:12:31 +02:00
Paul Fariello
8952684472
Add hints about trust command when printing fingerprints
2019-04-10 17:12:31 +02:00
Paul Fariello
2455bcc28a
Avoid using xmpp_jid_bare
2019-04-10 17:12:31 +02:00
Paul Fariello
5d90199a41
Avoid opening win if crypto materials are missing
2019-04-10 17:12:31 +02:00
Paul Fariello
89ece4f235
Add UI feedback for OMEMO gen command
2019-04-10 17:12:31 +02:00
Paul Fariello
2622c2d21a
Add OMEMO untrust command
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
dbf96dcfc6
Allow to trust own device id
2019-04-10 17:12:31 +02:00
Paul Fariello
063a5d1c52
Add trust command
2019-04-10 17:12:31 +02:00
Paul Fariello
23485eb4e7
Don't trust unknown identity keys
...
Also add long terme storage of known identity keys.
If a key is stored it means it is trusted.
2019-04-10 17:12:31 +02:00
Paul Fariello
249701fe7a
Add OMEMO status in build information
2019-04-10 17:12:31 +02:00
Paul Fariello
97c661271b
Add support for libsignal-protocol-c 2.3.2
2019-04-10 17:12:31 +02:00
Paul Fariello
b3be504e84
Add OMEMO fingerprint command
2019-04-10 16:31:45 +02:00
Paul Fariello
55407ee15f
Add OMEMO session long term storage
2019-04-10 16:31:45 +02:00
Paul Fariello
5eb66aea26
Replace used prekey in bundle
2019-04-10 16:31:45 +02:00
Paul Fariello
1b5848fb23
Start new session upon prekey reception
2019-04-10 16:31:45 +02:00
Paul Fariello
bf8b89c568
Randomly choose a prekey on session build
2019-04-10 16:31:45 +02:00
Paul Fariello
ba0fa6e536
Add OMEMO commands autocompletion
2019-04-10 16:31:45 +02:00
Paul Fariello
2718183d27
Enable start of OMEMO in existing chat win
2019-04-10 16:31:45 +02:00
Paul Fariello
da0376a6a9
Check received gcm tag
2019-04-10 16:31:45 +02:00
Paul Fariello
b0c52f84ab
Follow xep by putting gcm tag on encrypted key
2019-04-10 16:31:45 +02:00
Paul Fariello
605e06411c
Get rid of libsodium
2019-04-10 16:31:45 +02:00
Paul Fariello
695694051e
Remove hints preventing carbons to work properly
2019-04-10 16:31:45 +02:00
Paul Fariello
1309405d28
Add log on OMEMO session start
2019-04-10 16:31:45 +02:00
Paul Fariello
3d8c928e53
Use profanity logs for OMEMO logs
2019-04-10 16:31:45 +02:00
Paul Fariello
bcd582be42
Don't explicitely disable carbons for OMEMO messages
2019-04-10 16:31:45 +02:00
Paul Fariello
9b8c1d7d2c
Add support for encrypted carbon
...
Fix {signed,}_pre_key store
2019-04-10 16:31:45 +02:00
Paul Fariello
20ed86c58c
Handle requested device list for session start
2019-04-10 16:31:45 +02:00
Paul Fariello
421d1b1560
Add OMEMO identity materials long term storage
2019-04-10 16:31:39 +02:00
Paul Fariello
810ea32223
Follow normal workflow for OMEMO message reception
...
We try to decrypt all messages, if it's successful we use
sv_ev_incoming_message even for OMEMO messages. We pass an OMEMO
boolean to let UI be aware that message were encrypted.
2019-04-10 16:03:50 +02:00
Paul Fariello
d871efdcf9
Add chat session state to OMEMO message stanza
2019-04-10 16:03:50 +02:00
Paul Fariello
904904d74e
Add default body on OMEMO message
2019-04-10 16:03:50 +02:00
Paul Fariello
0fb27dc496
Add OMEMO message encryption and decryption
2019-04-10 16:03:50 +02:00
Paul Fariello
b1ae220aa4
Create signal session
2019-04-10 16:03:50 +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
95da03ac28
Ensure received devicelist contains our own device id
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
79bb5016c2
Ensure not to generate omemo crypto twice
2019-04-10 16:03:50 +02:00
Paul Fariello
d8d7a5348c
Ensure OMEMO isn't started before starting OTR
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
2d28725c85
Rename ProfIdCallback into ProfIqCallback
...
Goal is to create other kind of callback no based on id cmp
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
Paul Fariello
2602cbf785
Move OMEMO initialization to profanity intialization
...
Also store identity keys into account
2019-04-10 15:37:22 +02:00
Paul Fariello
519cf295f3
Add signal-protocol locking
2019-04-08 11:50:12 +02:00
Paul Fariello
bfbc8edcad
Add crypto backend for signal-protocol
2019-04-08 11:50:12 +02:00
Paul Fariello
4a5b672f95
Link against libsignal-protocol-c
2019-04-08 11:50:12 +02:00
Paul Fariello
aa9dcf7b3a
Avoid use after free on default account
...
Fix 1046
2019-04-08 11:20:14 +02:00
David Baer
a1ec80e194
Fix use after free bug
2019-03-22 09:10:54 -04:00
Philip Flohr
73549dc751
Don't stop plugin installation if given path points to a directory
...
The command "/plugins install <path_to_folder> should install all
plugins in the given folder. This commit removes the check if the path
points to a file (which is repeated in the section installing a plugin
from file) and makes the existing code installing multiple plugins accessible
2019-02-26 14:17:59 +01:00
Michael Vetter
d0a1cae8e8
Fix /me display when highlighting user in MUCs
...
Fixes https://github.com/boothj5/profanity/issues/950
Closes https://github.com/boothj5/profanity/pull/992
2019-02-26 12:02:32 +01:00
Philip Flohr
5b7f9dffbc
Fix broken support for case-sensitive account names
...
Don't lower account name before calling accounts_get_account().
Only lower if there is no account with the given name and the name is
interpreted as a jid.
Updated unittests to test this behaviour.
Fixes #725
.
2019-02-22 13:08:08 +01:00
Michael Vetter
6034b833be
Redraw screen after entry of PGP secret key
...
After specifying the PGP key ID with pgp.keyid within the accounts file on startup profanity asks for the secret key passphrase. It then doesn't redraw the screen, leaving it in an odd looking state.
This probably only happens with pinentry-curses since it draws in
screen.
We need this fix for cli only environments.
Fixes https://github.com/boothj5/profanity/issues/906 reported by Bob
Mottram.
Based on https://github.com/boothj5/profanity/pull/908 by Bob Mottram
Bob removed his GitHub account, so GitHub created a ghost placeholder
user for him, which unfortunately makes it impossible to cherry-pick
this commit. To more or less preserve authorship I added him as
co-author.
Commit picked and message edited by jubalh.
Co-authored-by: Bob Mottram <bob@freedombone.net>
2019-02-20 12:03:23 +01:00
Viachaslau Khalikin
289b05ea50
Restoration of correct GPG encryption
...
Fixes https://github.com/boothj5/profanity/issues/997
Proposed as https://github.com/boothj5/profanity/pull/1008
Related to XEP-0027.
Message edited and commit cherry picked by jubalh.
2019-02-20 11:53:40 +01:00
Michael Vetter
4792984f1e
XEP-0027: Mention XEP in message body
...
With all the different kinds of encryption (OMEMO, OTR3 OTR4, PGP in XEP-0027 and XEP-0373) it might be helpful to know which kind of encryption is used.
2019-02-20 10:48:28 +01:00
Michael Vetter
c8f55ed338
Merge pull request #994 from philipflohr/master
...
Fail plugin unloading if plugin does not exist
2019-02-20 10:31:34 +01:00
Michael Vetter
fbbf920e2a
Merge pull request #995 from philipflohr/plugins_unload_all
...
let plugins_unload_all fail if one plugin unload operation fails
2019-02-20 10:22:49 +01:00
Philip Flohr
d1c54e9aaa
Fail plugin unload operation if plugin does not exist
2019-02-20 10:21:17 +01:00
Michael Vetter
0c07b7cf50
Fix autoaway typo
2019-02-19 23:01:53 +01:00
Michael Vetter
706af9a900
Update copyright to include 2019
2019-01-22 11:31:45 +01:00
Paul Fariello
ac2d1c07fa
Fix optionnal sessionid in xep 0050
2019-01-21 15:02:54 +01:00
twardziejszy
ca29638f2c
Add prof_win_close ( #1017 )
2019-01-10 12:44:52 +01:00
Michael Vetter
a97202ace6
Merge branch 'nick'
...
See https://github.com/boothj5/profanity/pull/1023
2018-11-22 11:00:18 +01:00
Raf Czlonka
b4739b328e
Nicks containig spaces need to be quoted
...
For example "FirstName LastName", need to be quoted.
2018-11-22 10:59:18 +01:00
Raf Czlonka
fb2ca00f93
Splash logo improvements ( #1022 )
...
* Splash logo improvements
* Use straight/flat, instead or rounded, outer edges on `o` and `a`
2018-11-21 10:03:37 +01:00
Dmitry Podgorny
3fd6f70bd9
Override account options with connect options
...
With this feature user can configure TLS policy for an account and
override it for a single login with /connect command.
Example:
/account set <jid> tls force
/connect <jid> tls trust
The example shows how to trust server's certificate only once.
Fixes #1021 .
2018-11-07 15:02:30 +02: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
47f90d7a39
Merge pull request #991 from paulfariello/feature/xep-0050
...
Add support for xep 0050 ad-hoc commands, without multi-step
2018-09-27 17:27:37 +02:00
Paul Fariello
2e0bc27bf0
Make _get_groups_from_item and roster _compare_* public
...
In order to avoid duplication with xep 0133 support in command execution
2018-09-26 14:34:52 +02:00
Michael Vetter
bb87122af9
Merge pull request #1011 from jubalh/sha1
...
Get rid of p_sha1 dependency
2018-09-19 11:45:19 +02:00
Paul Fariello
01428eb858
Add special handling for xep-0133 get-user-roster
2018-09-10 13:09:23 +02:00
Paul Fariello
371b64a842
Don't show submit help on form if there is no submit callback
...
Could be missleading for user.
2018-09-10 12:50:01 +02:00
Paul Fariello
6de60e7efc
Add support for ad-hoc response with forms
2018-09-10 12:28:28 +02:00
Paul Fariello
b7556b4e41
Add missing command name for completion log
2018-09-10 11:30:46 +02:00
Michael Vetter
82f8083b85
Move p_sha1_hash() to stanza.c
...
Move `p_sha1_hash()` from `common.c` to `xmpp/stanza.c` as it is only
used in this file and now depends on libstrophe so xmpp is a better
namespace folder.
Renaming it as `_stanza_create_sha1_hash()`. And making static since
only used here.
The function cannot be tested in the unit tests anymore.
Once functional tests are working again we should write a test for the
sha1 functionality.
2018-09-06 20:40:09 +02:00
Philip Flohr
054267d738
Fix extended plugin handling PR
...
Fixes problems found in PR #999
2018-09-06 19:54:29 +03:00
Philip Flohr
a5a7db9e2b
implemented plugin updates
2018-09-06 19:28:02 +03:00
Philip Flohr
cd86f5bc28
added the possibility to uninstall a plugin
2018-09-06 19:28:02 +03:00
Philip Flohr
e4ddced420
use gio functions for file copy
2018-09-06 19:28:02 +03:00
Philip Flohr
2795dc487c
removed unreachable code: if plugin is loaded it is also installed and therefore installation will fail. -> The unload code is not needed
2018-09-06 19:28:02 +03:00
Philip Flohr
1f66c08567
provide feedback on failure cause if plugin installation fails
2018-09-06 19:28:02 +03:00
Philip Flohr
adb4955c34
Fail plugin installation if the target file already exists
2018-09-06 19:28:02 +03:00
Paul Fariello
3c70972610
Add default jid for cmd commands on WIN_CONSOLE
2018-09-05 14:37:26 +02:00
Paul Fariello
db1ffae3bd
Fix command exec error output
2018-09-05 14:17:26 +02:00
Paul Fariello
771d90c766
Fix comment about config windows
2018-09-05 13:52:20 +02:00
Paul Fariello
4d703c7eb0
Fix description for config commands
2018-09-05 13:52:20 +02:00
Paul Fariello
1d3baa99a7
Ensure cmd commands are run on the right type of window
2018-09-05 13:52:20 +02:00
Paul Fariello
afd4fc4ea1
Fix bad english sentence
2018-09-05 13:52:20 +02:00
Paul Fariello
ec5fc3612f
Allow to use cmd without being in a window
2018-09-05 13:52:20 +02:00
Paul Fariello
e555e41eaf
Fix cmd command synopsis
2018-09-05 13:52:20 +02:00
Paul Fariello
71c9cbf8a8
Conform to Section 3.2.2.1 of XML Schema Part 2: Datatypes
...
In accordance with Section 3.2.2.1 of XML Schema Part 2: Datatypes, the
allowable lexical representations for the xs:boolean datatype are the
strings "0" and "false" for the concept 'false' and the strings "1" and
"true" for the concept 'true'; implementations MUST support both styles
of lexical representation.
2018-09-05 13:52:20 +02:00
Paul Fariello
233e076be9
Add support for command config execution
2018-09-05 13:52:19 +02:00
Paul Fariello
b11d3a79df
Add conf win callback
2018-09-05 13:51:00 +02:00
Paul Fariello
a952776b89
Rename mucconf wins into conf wins
...
Configuration windows are now being used by both muc and cmd.
2018-09-05 13:51:00 +02:00
Paul Fariello
7123e94e82
Add support for form edition in command execution
...
Also change wins_get_by_string prototype in order to handle const str.
2018-09-05 13:51:00 +02:00
Paul Fariello
40eee1caab
Add command exec error handling
2018-09-05 13:51:00 +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
Michael Vetter
33e9af4100
Fix command 'group' description
2018-09-05 13:38:17 +02:00
Michael Vetter
9e021d5c8f
Remove p_sha1 source files
...
And delete from Makefile.am
2018-09-05 11:45:31 +02:00
Michael Vetter
dcc249a616
Use libstrophe sha1 functions
...
Using libstrophes sha1 functions in p_sha1_hash() to get rid of the
p_sha1.c dependency.
Relates to https://github.com/boothj5/profanity/issues/882
2018-09-05 11:31:33 +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
Michael Vetter
f4fb61b0c8
Use uuid in create_unique_id instead of counter
...
Message IDs should be unique so they can be used by XEPs like delivery receipts, chat markers, message correction.
So far it used a counter so restarting profanity will cause the counter
to be 0 again.
Let's rather use an UUID since we have such a function in the
xmpp/xmpp.h already.
Closes https://github.com/boothj5/profanity/issues/998
2018-08-14 15:51:18 +02:00
Michael Vetter
811b3ba857
Merge pull request #926 from msantos/null-pointer-dereference
...
server_events: fix potential NULL pointer deref
2018-07-30 12:23:53 +02:00
Dominik Heidler
86a9ef7b5c
Use correct macro
...
XMPP_FEATURE_PING insted of STANZA_NS_PING
2018-07-30 11:04:54 +02:00
Michael Vetter
64d5f938fd
Fix gcc8 error about strncpy
...
With gcc8 we get the following error when stringop-truncation is on:
```
In function ‘_rotate_log_file’,
inlined from ‘log_msg.part.2’ at src/log.c:201:17:
src/log.c:231:5: error: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
strncpy(log_file_new, log_file, len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/log.c: In function ‘log_msg.part.2’:
src/log.c:228:18: note: length computed here
size_t len = strlen(log_file);
^~~~~~~~~~~~~~~~
```
Using memcpy instead of strncpy.
2018-07-06 11:31:20 +02:00
Philip Flohr
7861c8c03c
plugins_unload_all fails if one plugin unload operation fails
2018-04-21 16:47:58 +02:00
James Booth
70c70fcdf9
Fix theme load max tab length
2018-03-11 01:21:36 +00:00
James Booth
d6e7f389d1
Add max tab length to statusbar
2018-03-11 01:18:46 +00:00
James Booth
9f24f6083b
Fix utf8 chars in statusbar
2018-03-11 00:46:27 +00:00
James Booth
b01dd7c48b
Default tab name to false
2018-03-10 23:31:02 +00:00
James Booth
aa520f4f7c
Add statusbar pref to themes
2018-03-10 23:22:58 +00:00
James Booth
8718b368a1
Statusbar render at start of small window
2018-03-10 23:01:51 +00:00
James Booth
b0e70e6caa
Dont show extended tabs when max 0
2018-03-10 22:54:02 +00:00
James Booth
4bf67fb35a
Use jid prefs in statusbar
2018-03-10 22:41:55 +00:00
James Booth
95b639a21f
WIP add self prefs for statusbar
2018-03-10 22:16:52 +00:00
James Booth
b38f6ba512
Do not highlight room tab on subject change
2018-03-10 16:58:52 +00:00
James Booth
b7cb527608
Tidy windows when closing room config
2018-03-10 01:48:43 +00:00
James Booth
5dbddf4d43
Show extended tabs
2018-03-10 01:30:28 +00:00
James Booth
73bb628fd8
Refactor statusbar
2018-03-10 00:32:56 +00:00
James Booth
6f5c0eb525
Preference to show/hide tab number
2018-03-09 23:44:28 +00:00
James Booth
e96af8537c
Only allow swapping active windows
2018-03-09 22:59:38 +00:00
James Booth
136b975b6c
Remove empty tabs
2018-03-09 22:42:20 +00:00
James Booth
59382984c0
Add preferences for tab display
2018-03-09 21:15:27 +00:00
James Booth
a957c545d3
Add max tabs preference for statusbar
2018-03-08 23:11:49 +00:00
James Booth
720dce866e
Add prefs for empty tabs and tab names
2018-03-08 22:27:49 +00:00
James Booth
119c5650cf
Show name in statusbar tabs WIP
2018-03-08 20:01:36 +00:00
James Booth
1215ec9bc8
Add message to status bar
2018-03-07 22:22:53 +00:00
James Booth
be8ff9fdcd
Set background in _status_bar_draw
2018-03-07 21:37:29 +00:00
James Booth
105c9c2943
Add time to status bar
2018-03-07 21:29:41 +00:00
James Booth
fcdddf11c0
Draw empty status bar
2018-03-07 20:58:07 +00:00
James Booth
d152c48d6f
Do not colour room as joined when error joining
...
fixes #984
2018-03-07 19:43:24 +00:00
James Booth
44cff47668
Merge branch 'master' into autocomplete-clear
2018-03-05 20:50:05 +00:00
James Booth
ecd0736a09
Remove redundant window->type checks
2018-03-04 21:15:24 +00:00
James Booth
7c5ece24c5
Use jid argument for /bookmark when in room
...
fixes #983
2018-03-04 00:35:53 +00:00
James Booth
f4759cf337
Update themes
2018-02-10 00:01:26 +00:00
James Booth
ad76495267
Clear autocompletes on line edits
2018-02-09 22:48:55 +00:00
James Booth
d65fc24658
Fix muc nick autocomplete colon mid message
2018-02-09 20:47:41 +00:00
James Booth
bea815cc73
Update help for /rooms
2018-02-05 21:51:14 +00:00
James Booth
cba17faf3d
Add /rooms service autocompletion
2018-02-05 21:40:32 +00:00
James Booth
e6d9a243cd
Clear rooms cache on disconnect
2018-02-05 20:30:20 +00:00
James Booth
26a182945f
Add /rooms cache
2018-02-05 20:01:54 +00:00
James Booth
8db2389df6
Filter rooms by simple case insensitive text
2018-02-04 21:59:33 +00:00
James Booth
a04b02c928
Include filter string in no rooms message
2018-01-28 00:13:36 +00:00
James Booth
e571ccd8ea
Fix tests, move glob creation
2018-01-27 23:51:03 +00:00
James Booth
2e414797a4
Allow filtering rooms list by glob
2018-01-27 22:42:31 +00:00
James Booth
d4f06ac300
Show roster room server by defailt
2018-01-27 19:39:33 +00:00
James Booth
4c7396e77d
Allow hiding room server in roster
2018-01-21 18:56:20 +00:00
James Booth
250e972b7a
Update copyright
2018-01-21 15:00:02 +00:00
James Booth
ca1dcdda6c
Show libotr and libgpgme versions on --version
...
issue #956
2017-08-10 22:47:17 +01:00
James Booth
17b4e45c57
Show Python version on --version
...
issue #956
2017-08-10 22:17:05 +01:00
Pavel Anosov
380e6f2b58
Fixed a typo in an error message ("This build does not support python plugins.")
2017-07-31 15:06:23 +02:00
James Booth
fc42e15789
Merge remote-tracking branch 'pasis/legacy-ssl'
2017-07-13 22:28:32 +01:00
Dmitry Podgorny
da51d99831
Fix memory leak in cmd_init()
...
_cmd_index() returns string allocated by glib.
2017-07-01 17:01:49 +03: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
4a6bf68727
Merge remote-tracking branch 'asdil12/ping'
2017-06-17 21:49:19 +01:00
Dominik Heidler
29f84ea3d4
Disable autoping if server doesn't support it
...
fixes #859
2017-06-16 12:11:44 +02:00
James Booth
f189dbc687
Only send ping requests to client that support it
2017-06-16 00:59:21 +01:00
James Booth
6511d61b13
Show message when server does not support ping
2017-06-15 23:27:30 +01:00
James Booth
b0a989a17f
Recreate chat log when removed
...
fixes #210
2017-06-13 23:22:58 +01:00
James Booth
d52355d72c
Set locale in unit tests
...
issue #901
2017-04-29 20:33:28 +01:00
James Booth
3e18aab9f3
Use g_utf8_find_ functions for prof_occurrences
...
issue #901
2017-04-28 21:41:55 +01:00
Michael Santos
db18ba8bdf
server_events: fix potential NULL pointer deref
2017-04-12 10:20:22 -04:00
James Booth
2fafaec8a7
Allow search_any and search_all for help
2017-04-07 00:51:29 +01:00
James Booth
a39440b61d
Match all terms on help search
2017-04-07 00:36:36 +01:00
James Booth
6cba96fdd1
Update /help help
2017-04-07 00:10:58 +01:00
James Booth
68cb8c9a8e
Free cmd search index
2017-04-07 00:08:54 +01:00
James Booth
fd6620a950
Add basic help search
2017-04-06 23:36:50 +01:00
James Booth
6b830277a6
Allow previous autocompletion with shift tab
2017-04-01 00:27:11 +01:00
James Booth
97edebadcb
Update Glib dependency to 2.40
2017-03-25 02:07:27 +00:00
James Booth
131c98b305
Add missing header
2017-03-25 01:48:40 +00:00
James Booth
b5e0106526
Autocomplete accent and case insensitive
2017-03-25 01:40:20 +00:00
Lukasz Marcinowski
91bc302acf
Add theme option for time in a status bar
2017-03-22 19:56:00 +01:00
James Booth
f1a5d12950
Autotidy windows on /leave
...
fixes #917
2017-03-21 21:13:44 +00:00
James Booth
5f1ba08f55
Add plugins sourcepath property
2017-02-05 22:37:48 +00:00
James Booth
286fecf38d
Allow installing plugins from directory
2017-02-05 21:09:03 +00:00
James Booth
c405367dfe
Update plugins help
2017-02-05 19:23:16 +00:00
James Booth
dd42c3de6a
Allow loading all plugins
2017-02-05 19:16:14 +00:00
James Booth
a9fab9ed2d
Allow unloading all plugins
2017-02-05 18:54:33 +00:00
James Booth
68a3daedb9
Update Copyright
2017-01-28 17:24:22 +00:00
James Booth
8978f809f2
Fix alias help
...
fixes #899
2017-01-28 16:39:04 +00:00
James Booth
6679b890a0
Fix multibyte chars in prof_occurrences
...
issue #901
2017-01-26 00:52:13 +00:00
James Booth
b712820c99
Check barejid in carbons
2017-01-24 13:37:28 +00:00
James Booth
8e75437a7e
Add carbons from check
2017-01-23 22:25:36 +00:00
James Booth
c073418306
Check roster contact before displayng typing notification
...
fixes #896
2017-01-23 20:56:05 +00:00
James Booth
83385cdbc0
Add pre chat and room message blocking
2017-01-22 18:09:04 +00:00
James Booth
7090f85d85
Add chat and room show calls to plugins api
2017-01-21 20:23:28 +00:00
James Booth
9cfd17821c
Allow room display properies to be set by plugins
2017-01-20 23:26:14 +00:00
James Booth
c8874cd2e0
Allow chat prefix char to be set by plugins
2017-01-20 21:03:55 +00:00
James Booth
1b25aa84cb
Add titlebar encryption text to plugins api
2017-01-19 22:33:29 +00:00
James Booth
68496db0b4
Fix conditional compile
2017-01-18 23:16:23 +00:00
James Booth
fccf56be10
Add prof.encryption_reset to Plugins API
...
issue #885
2017-01-18 22:46:29 +00:00
James Booth
0d0578b625
Fix compile
2017-01-16 00:07:17 +00:00
James Booth
2b7894ccff
Remove status from cl_ev_presence_send
...
fixes #888
2017-01-15 23:59:31 +00:00
James Booth
b64646979e
Remove unused function
2016-11-24 00:09:14 +00:00
James Booth
926d935e26
Fix help tags for /account
2016-11-23 00:17:50 +00:00
James Booth
e043029a50
Allow clearing account resource
...
issue #880
2016-11-22 00:39:52 +00:00
James Booth
c441dbfa42
Fix typo
2016-11-20 02:21:22 +00:00
James Booth
609d05366c
Use server features for account muc service
...
issue #878
2016-11-20 02:09:34 +00:00
Spiridonov Alexander
fd2346ccb4
Makes /clear behavior configurable.
2016-11-07 03:26:15 +03:00
James Booth
8008d8c3c6
Add get_room_nick to plugins api
2016-11-06 23:01:16 +00:00
Frank Zschockelt
c0f099cb84
Added main.help.header theme option
2016-10-29 18:19:12 +02:00
James Booth
eac6b52e05
Fix typo
2016-10-29 13:06:50 +01:00
Spiridonov Alexander
0d6aef68e7
Change /clear behaviour. Closes issue #855 .
2016-10-22 00:08:55 +03:00
James Booth
5b464f4cb0
Add /tls certpath default
...
issue #871
2016-10-17 23:48:03 +01:00
James Booth
04e0a53381
Remove unused functions
2016-10-16 22:34:27 +01:00
James Booth
333403d2e5
Remove ui_current_print_formatted_line
2016-10-16 22:13:49 +01:00
James Booth
769e71b17b
Remove ui_current_print_line
2016-10-16 21:45:48 +01:00
James Booth
257d2d4f4f
Remove unused function prototypes
2016-10-16 20:12:49 +01:00
James Booth
8fd9f9e201
Remove unused function prototype
2016-10-16 19:51:56 +01:00
James Booth
721dd050df
Remove cons_show_word
2016-10-16 19:48:41 +01:00
James Booth
2032978ff6
Remove cons_show_time
2016-10-16 19:45:06 +01:00
James Booth
651541d7ec
Rename buffer functions
2016-10-16 19:40:43 +01:00
James Booth
7ad722ae28
Fix win_append buffer push
2016-10-15 22:17:16 +01:00
James Booth
bb6540f7d8
Add win highlight fuctions
2016-10-15 22:12:07 +01:00
James Booth
f3aebd547c
Use varargs in win_println_indent
2016-10-15 21:05:26 +01:00
James Booth
c814cb44b8
Add win_print_history
2016-10-15 20:55:45 +01:00
James Booth
f761d403b3
Use win_print_outgoing for carbons
2016-10-15 20:13:21 +01:00
James Booth
80309462ca
Rename win_print_incoming_message -> win_print_incoming
2016-10-15 20:09:14 +01:00
James Booth
3b2ceee89b
Add win_print_outgoing
2016-10-15 20:07:33 +01:00
James Booth
ce5f07a012
Add win_append
2016-10-15 19:53:49 +01:00
James Booth
711c5b8e45
Add win_appendln
2016-10-15 19:19:44 +01:00
James Booth
8f1d3ab55c
Add win_print
2016-10-15 18:29:02 +01:00
James Booth
3612270e90
Rename win_println -> win_println_indent
2016-10-15 17:23:02 +01:00
James Booth
5488fd6e72
Remove win_vprintln_ch
2016-10-15 17:17:17 +01:00
James Booth
478c749ff9
Remove ui_current_error_line
2016-10-15 17:08:29 +01:00
James Booth
9d075c9805
Remove ui_win_error_line
2016-10-15 17:07:15 +01:00
James Booth
864939b809
Use win_printf_line instead of win_println
2016-10-15 17:03:30 +01:00
James Booth
e29e532d87
Remove whitespace
2016-10-15 16:42:23 +01:00
James Booth
6ed04d87b3
Rename win_get_string -> win_to_string
2016-10-15 16:41:37 +01:00
James Booth
8cf9e0cccc
Use win_printf_line where appropriate
2016-10-15 16:31:54 +01:00
James Booth
33b4b79f2e
Add ch arg to win_printf_line
2016-10-15 00:04:57 +01:00
James Booth
2f888979c5
Use THEME_DEFAULT
2016-10-14 23:56:51 +01:00
James Booth
54cf1dbec4
Add win_printf_line
2016-10-14 23:38:39 +01:00
James Booth
24f0dc2734
Always use string format in win_printf
2016-10-12 00:40:41 +01:00
James Booth
97898ee082
Add win_printf_line
2016-10-12 00:14:55 +01:00
James Booth
7b31af3060
Remove args from win_print_with_receipt
2016-10-11 23:47:13 +01:00
James Booth
af42bc4434
Add win_print_http_upload
2016-10-11 23:40:15 +01:00
James Booth
0890179fc4
Remove win_print, use win_printf instead
2016-10-11 23:38:59 +01:00
James Booth
0337c5b22c
Rename win_vprint -> win_printf
2016-10-11 23:10:48 +01:00
James Booth
dcc2123ec4
Allow filepath autocompletion in plugins
...
closes #858
2016-10-10 22:28:23 +01:00
James Booth
d485588a07
Remove hash table replace entry when adding plugin timed callbacks
...
fixes #869
2016-10-09 23:37:36 +01:00
James Booth
40116db7c5
Fix /tls revoke message
...
fixes #868
2016-10-06 00:45:55 +01:00
James Booth
82a8f5f10b
Minor code tidy cmd_ac.h
2016-10-06 00:20:20 +01:00
James Booth
4ba496a466
Minor code tidy cmd_ac.c
2016-10-06 00:19:06 +01:00
James Booth
c40660b0d8
Use current room for /bookmark add and /bookmark remove
2016-10-05 00:52:57 +01:00
James Booth
94fd116ef8
Reduce scope of GString in autocompleters
...
fixes #867
2016-10-03 21:44:40 +01:00
James Booth
772a72b6e6
Add config.h to http_upload.c
2016-10-02 22:52:17 +01:00
Jack Henschel
4b2f9448f7
Correct minor spelling errors
2016-09-27 16:20:37 +02:00
James Booth
b087f84d95
Allow setting /occupants properties when no connected
2016-09-26 00:46:09 +01:00
James Booth
da437642a5
Merge branch 'master' into win-order
2016-09-25 23:32:15 +01:00
James Booth
a48df40138
Fix assertion errors in unit tests
2016-09-25 23:30:44 +01:00
James Booth
b8bec9fce6
Merge branch 'master' into win-order
2016-09-25 22:58:04 +01:00
James Booth
9796b23cfd
Use caps_lookup when checking for feature
2016-09-25 22:57:43 +01:00
James Booth
83974728af
Remove verbose output on window move
2016-09-25 21:47:00 +01:00
James Booth
72f6b2db71
Tidy window position prefs
2016-09-25 21:24:29 +01:00
James Booth
3bf383cec6
Fix defaulting win positions
2016-09-25 20:49:54 +01:00
James Booth
6c8def367c
Fix /inputwin up
2016-09-23 01:04:41 +01:00
James Booth
d3cc5bd7ed
Allow vertical positioning of all windows
2016-09-23 00:56:53 +01:00
James Booth
3983ee1d6b
Rename /titlebar -> /wintitle
2016-09-22 21:42:00 +01:00
James Booth
0aa758cbfb
Add /inputwin top|bottom command
...
closes #853
2016-09-19 23:40:45 +01:00
James Booth
4647fd8a4f
Free stanzas on stanza_create_http_upload_request()
2016-09-05 23:27:56 +01:00
James Booth
77ef4de29e
Free hashtable key list in connection_jid_for_feature()
2016-09-05 23:19:22 +01:00
James Booth
74148dd6a2
Fix string frees in _complete_filepath
2016-09-05 23:10:09 +01:00
James Booth
2613d23f8b
Free string on /plugins install
2016-09-05 22:55:23 +01:00
James Booth
9e59571f84
Free strings in _complete_filepath
2016-09-05 22:27:30 +01:00
Tim Nieradzik
74942da0ff
cmd_defs: Fix typo
2016-09-05 09:34:00 +03:00
James Booth
f6e9ff5b9b
Fix missing params
2016-09-03 22:53:32 +01:00
James Booth
0fe35d5f05
Merge pull request #845 from pasis/tray
...
Fix implicit declaration of function free
2016-09-03 22:39:16 +01:00
Dmitry Podgorny
6090f76f72
Add missed argument
2016-09-02 20:56:20 +03:00
Dmitry Podgorny
5be8f5f560
Fix implicit declaration of function free
2016-09-02 20:53:41 +03:00
James Booth
47a1a62009
Add sv_ev_bookmark_autojoin
2016-08-28 22:42:09 +01:00
James Booth
ea98a8b04a
Rename Bookmark->jid to Bookmark->barejid
2016-08-28 22:12:50 +01:00
James Booth
6a18dedca8
Fixed typos
2016-08-28 17:30:15 +01:00
James Booth
fca59a3110
log_info on private carbons
2016-08-28 17:27:26 +01:00
James Booth
ea9216f054
Change autoping timeout default to 20 seconds
2016-08-22 22:22:43 +01:00
James Booth
f14a3e075e
Update help
2016-08-22 00:34:35 +01:00
James Booth
0886062806
Use hash table for bookmarks
2016-08-21 15:25:49 +01:00
James Booth
a52230978f
Tidy presence.c
2016-08-20 23:31:27 +01:00
James Booth
948d63d855
Tidy _handle_carbons
2016-08-20 21:37:20 +01:00
James Booth
583fb2b8c6
Use libstrophe xmpp_presence_new convenience function
2016-08-20 20:37:48 +01:00
James Booth
27263508c7
Use libstrophe xmpp_iq_new convenience function
2016-08-20 20:20:38 +01:00
James Booth
d61abd3577
Use libstrophe xmpp_message_get_body convenience function
2016-08-20 19:23:32 +01:00
James Booth
39ff399626
Use libstrophe xmpp_message_new convenience function
2016-08-20 19:08:13 +01:00
James Booth
45048e3ac8
Replace stanza_create_message with libstrophe convenience functions
2016-08-20 18:51:19 +01:00
James Booth
24c3eff428
Use libstrophe convenience functions for stanza attributes
2016-08-20 18:16:51 +01:00
James Booth
a978bb12bf
Send receipt request only when receiver supports feature
...
issue #829
2016-08-18 22:53:23 +01:00
James Booth
71dcb2e427
Only include lastactivity feature in disco responses when enabled
2016-08-18 00:29:33 +01:00
James Booth
4de570b1ee
Only include receipts feature in disco responses when enabled
...
issue #829
2016-08-18 00:10:15 +01:00
James Booth
41acaee955
Use hashtable to store profanity disco features
2016-08-17 23:49:20 +01:00
James Booth
7b22c813c8
Copy feature strings on caps_get_features
2016-08-17 23:32:43 +01:00
James Booth
9945246a64
Use hashtables for plugin disco features
2016-08-17 23:21:48 +01:00
James Booth
8b6549b36c
Add caps_create
2016-08-14 01:06:13 +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
9c4e02db77
Move caps static functions
2016-08-13 23:53:41 +01:00
James Booth
e776ef9b68
Rename caps_contains -> caps_cache_contains
2016-08-13 23:45:58 +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
9ce59b1589
Free DiscoIdentity and SoftwareVersion
2016-08-13 17:49:19 +01:00
James Booth
ed75f1ec71
Use SoftwareVersion in EntityCapabilities
2016-08-13 17:43:43 +01:00
James Booth
0bd5b5200a
Use DiscoIdentity in EntityCapabilities
2016-08-13 17:19:24 +01:00
James Booth
80eb5bee90
Rename Capabilties -> EntityCapabilities
2016-08-13 16:39:25 +01:00
James Booth
e949114284
Reduce variable scope in caps_create_sha1_str
2016-08-13 16:21:25 +01:00
James Booth
5c6e75fa06
Merge branch 'master' into caps
2016-08-13 00:17:23 +01:00
James Booth
4f5281bff0
Refactor stanza.c
2016-08-13 00:12:46 +01:00
James Booth
6ec159737b
Use list for profanity service discovery features
2016-08-12 22:25:35 +01:00
James Booth
a65403c54a
Remove disco features added by plugins on unload
2016-08-11 23:20:59 +01:00
James Booth
bb676cc0fc
Check return values from python plugin hooks
2016-08-11 00:27:14 +01:00
James Booth
5d6b2d0b04
Add resource to chat message plugin hooks
2016-08-10 21:37:22 +01:00
James Booth
a948d741d9
Rename plugin jid arguments
2016-08-10 20:45:14 +01:00
James Booth
efeb2fcfcd
Rename plugins settings functions
2016-08-07 00:16:57 +01:00
James Booth
350c121e26
Return int on c_api_settings_string_list_remove_all
2016-08-01 22:40:47 +01:00
James Booth
b2508be8f4
Return boolean on prof_settings_string_list_remove_all()
2016-08-01 22:09:25 +01:00
James Booth
b72bb3a157
Remove log debugs
2016-08-01 21:59:12 +01:00
James Booth
2518aa5078
Add string lists settings to plugins
2016-08-01 21:34:38 +01:00
James Booth
51a7588bc4
Add typedefs to C plugin API
2016-07-30 21:22:45 +01:00
James Booth
3396e75d23
Handle NULL saved_status
2016-07-27 23:35:49 +01:00
James Booth
a1f48f8457
Copy curr_status and free original in session.c
2016-07-27 22:07:11 +01:00
James Booth
6c1fef522a
Use g_strndup in c_api.c
2016-07-27 21:32:44 +01:00
James Booth
ae003e62fb
Remove copied char* in groupchat_log_chat
2016-07-26 00:40:29 +01:00
James Booth
8602ede65e
Tidy rosterwin memory handling
2016-07-25 23:28:04 +01:00
James Booth
6777919d96
Rename rooms vars in _send_room_presence
2016-07-25 23:13:09 +01:00
James Booth
5f8ef3816c
Free rooms list in sv_ev_login_account_success
2016-07-25 23:11:41 +01:00
James Booth
71730e9d99
Unreference GDateTime
2016-07-25 23:09:51 +01:00
James Booth
8633cd6e29
Free ProfAccount
2016-07-25 22:38:23 +01:00
James Booth
d5d04756ce
Fix memory leaks
2016-07-25 22:23:54 +01:00
James Booth
943e91268c
Fix memory leaks
2016-07-25 21:56:38 +01:00
James Booth
139e53f388
Decrement reference count on python hook args objects
2016-07-25 21:48:00 +01:00
James Booth
130e753aac
Use Py_RETURN_NONE
2016-07-25 21:13:47 +01:00
Dominik Heidler
5d354defca
Fix indentation in http_upload.c
2016-07-25 12:28:33 +02:00
James Booth
fcbf56657d
Remove unused function prototype
2016-07-25 02:06:55 +01:00
James Booth
0ffb441cad
Store GTimeZone in statusbar
...
fixes #785
2016-07-25 01:29:09 +01:00
James Booth
33172cb917
Free pgpdir
2016-07-25 01:03:44 +01:00
James Booth
1437c360b5
Free old hash table on wins_tidy
2016-07-25 00:57:42 +01:00
James Booth
8f9f018d5a
Free python_str_or_unicode_to_string results
2016-07-25 00:41:34 +01:00
James Booth
923256b8bb
Free icon dir path name
2016-07-25 00:18:52 +01:00
James Booth
cbfc34f7c3
Remove debug on plugin win create
2016-07-24 22:32:39 +01:00
James Booth
a3a73cf003
Move all filepath handling to files.c
2016-07-24 21:49:35 +01:00
James Booth
29452f8f1b
Move xgd functions
2016-07-24 17:12:09 +01:00
James Booth
6cc4abedc5
Move window functions to window_list.c
2016-07-24 17:02:09 +01:00
James Booth
37742d71b6
Move resource conversions
2016-07-24 16:27:39 +01:00
James Booth
ef942bd27a
Add config/files.c
2016-07-24 16:22:15 +01:00
James Booth
e7bfaa643f
Move autoaway check
2016-07-24 16:06:24 +01:00
James Booth
0a57c4de78
Tidy headers
2016-07-24 15:43:51 +01:00
James Booth
5bc38b6bc2
Moved window_list.c
2016-07-24 15:14:46 +01:00