Michael Vetter
4a0d1d2108
Fix formatting for invite command help
2019-11-05 22:17:22 +01:00
Michael Vetter
c1a9736232
Merge /invite, /invites and /decline commands
...
`/invite <contact>` became `/invite send <contact>.
`/invites` became `/invite list`.
`/decline` became `/invite decline`.
Accept is still done via `/join`.
Regards https://github.com/profanity-im/profanity/issues/1116
2019-11-05 22:06:19 +01:00
Michael Vetter
40dc5932f7
Add /titlebar show presence
command
...
Additionally to `/presence titlebar on` we now allow the setting via
/titlebar show|hide presence` since it's about the titlebar.
Regards https://github.com/profanity-im/profanity/issues/1116
2019-11-05 21:06:07 +01:00
Michael Vetter
68843f2448
Display resource information in /titlebar
2019-11-05 21:01:30 +01:00
Michael Vetter
3d272f02bc
Add /titlebar show resource
command
...
Additionally to `/resource titlebar on` we now allow the setting via
/titlebar show|hide resource` since it's about the titlebar.
But makes sense to have it in `/resource` too because there is
`/resource message on|off` too. And this one doesnt have an setting of
it's own.
Regards https://github.com/profanity-im/profanity/issues/1116
2019-11-05 20:51:27 +01:00
Michael Vetter
fc6f2755c1
Move /encwarn command into /titlebar
...
Instead of `/encwarn on|off` we now have `/titlebar show|hide encwarn`.
Regards https://github.com/profanity-im/profanity/issues/1116
2019-11-05 20:39:33 +01:00
Michael Vetter
ba0f925222
Fix add_history usage in down arrow handler
...
[Programming with GNU
History](http://www.math.utah.edu/docs/info/hist_2.html ) mentions
using_history().
Chet, maintainer of readline told me about it. (Thanks Chet!)
Seems like we need to call this so that the history offset is at the
right end of the list. I assume it's called in the linehandler
automatically.
Fix https://github.com/profanity-im/profanity/issues/200
2019-11-05 17:19:51 +01:00
Michael Vetter
330ef3bcf3
Store current input line in history
...
Regards https://github.com/profanity-im/profanity/issues/200
This doesn't work yet. And I have no idea why.
Weird behaviour:
- start profanity
- type 'ASDF'
- ctrl+arrow down
-> text vanishes (like intended)
- arrow up
-> nothing happens (intended is that the last history item [ASDF]
appears)
- type 'ABC'
- press enter
- arrow up
-> ABC appears
- enter
- type 'UUU'
- ctrl+arrow down
- type 'ZZZ'
- enter
- arrow up
- ZZZ appears
- arrow up
- UUU appears
So in the latter case we added to history and deleted from the input
line and then immediately entered new text and pressed enter, to add
this to the history too.
When we do this the not sent text succesfully was stored in history.
2019-11-05 17:18:42 +01:00
Michael Vetter
643d12af44
Move tls show
to titlebar command
...
Previously we had `/tls show on|off` to manipulate the UI setting for
the title bar. To decide whether to show TLS info there or not.
This should go into `/titlebar`.
Now we have `/titlebar show|hide tls` for this.
Regards https://github.com/profanity-im/profanity/issues/1116
2019-11-05 13:48:26 +01:00
Michael Vetter
8d2b1b05e7
Initialize ProfBufEntry->id correctly
2019-11-01 18:31:19 +01:00
Michael Vetter
bc282ef569
Move id from DeliveryReceipt to ProfBuffEntry struct
...
XEP-0184: Message Delivery Receipts, *requires* the id attribute.
Generally this is not the case.
For this reason the id was only present in the DeliveryReceipt struct
since it was only used for XEP-0184.
For https://github.com/profanity-im/profanity/issues/660 XEP-0313 MAM
and https://github.com/profanity-im/profanity/issues/805 XEP-0308 Last Message Correction
we will also need the id.
So in preparation for further work let's move the id to the general
ProfBuffEntry.
We will need to adapt code so that we actually always write the ID if we
receive one.
2019-11-01 17:53:59 +01:00
Michael Vetter
d5212d8593
Remove not needed if blocks
2019-11-01 17:35:17 +01:00
Michael Vetter
f71de61b9d
Don't override ProfMessage Id with origin-id
...
Profanity sends the same value for both. Other clients might not.
Safe both since we could need them later.
Once we implement Last Message Correction we will need the regular id.
If we override it with origin-id and another client chooses to not use
the same value for id and origin-id then we can't interpret the id sent
with the LMC request correctly.
2019-10-31 13:45:44 +01:00
Michael Vetter
4ecd4dea6a
Replace sent_messages list with algo
...
For OMEMO we had a list with our sent messages.
It was used so that we don't decrypt our own messages in MUCs that come
in via reflection.
Recently for https://github.com/profanity-im/profanity/pull/1209 we
started to use origin-id and use an algorithm so we can detect our own
sent messages via checking origin-id.
Profanity uses the same id for the message ID and origin-id.
With 06f300a42c
we added the
message_is_sent_by_us() function.
We implemented XEP-0359 this way to fix
https://github.com/profanity-im/profanity/issues/1201 so that we don't
log our own messages in MUCs twice.
We can now check whether the message was sent by us using this function
and can get rid of the list.
Probably we could also put many parts of the sv_ev_room_message()
function inside (else) part of `if (!(g_strcmp0(mynick,
message->jid->resourcepart) == 0 && message_is_sent_by_us(message))) {`.
Have to look more closely whether any of this needs to be run in case
the message actually comes from us.
2019-10-31 12:56:48 +01:00
aszlig
b1e960cfae
omemo: Check stanza names when iterating nodes
...
Some clients (eg. PSI) are sending the stanzas delimited by whitespace
text nodes, which will fail while looping through the <prekeys/>
children and also print weird errors when iterating through the <list/>
of devices.
When debugging this, I was looking at the XML of Gajim and PSI and first
was somehow confused why Profanity printed "OMEMO: received device
without ID" while the XML looked identical (minus the actual IDs and the
JIDs of course).
However, Gajim was sending the XML without whitespace nodes in between
and PSI did not, so for example the following (with the relevant
whitespace nodes marked with X):
<message type="headline" to="..." from="...">
<event xmlns="http://jabber.org/protocol/pubsub#event ">
<items type="headline" node="eu.siacs.conversations.axolotl.devicelist">
<item id="...">
<list xmlns="eu.siacs.conversations.axolotl">
X <device id="..."/>
X <device id="..."/> X
</list>
</item>
</items>
</event>
<delay xmlns="urn:xmpp:delay" stamp="..." from="..."/>
</message>
... would result in three times the "OMEMO: received device without ID"
error, because we actually have three XML text nodes here that obviously
don't have an "id" attribute.
Now since the <list/> children above aren't really a problem and only
annoying, text nodes in the <prekeys/> stanza actually cause
omemo_start_device_session_handle_bundle to return failure.
I've fixed this by explicitly matching the stanza names we are
interested in, skipping everything else.
Signed-off-by: aszlig <aszlig@nix.build>
Reported-by: @devhell
2019-10-29 23:10:07 +01:00
Michael Vetter
900426025e
Put ifdef around tray.h functions
...
Only define in case we built with GTK support.
2019-10-29 21:03:39 +01:00
Michael Vetter
f5afedd171
Remove not neede gtk_init() in tray.c
...
gtk_init_check() already has that functionality.
2019-10-29 21:00:56 +01:00
Michael Vetter
81253cd2ca
Remove comments
2019-10-29 20:59:54 +01:00
Michael Vetter
5d6cb3c741
Dont use clipboard_init yet
...
For now we initialize gtk in tray_init().
Should maybe use a general function and check in tray_init and
clipboard_init whether gtk was already initialized.
2019-10-29 15:20:57 +01:00
Michael Vetter
291f9de1e9
Send clipboard via /paste
...
New command `/paste` that sends the clipboard in MUC, Chat etc windows.
Fix https://github.com/profanity-im/profanity/issues/156
2019-10-29 15:20:57 +01:00
Michael Vetter
b46dbcc363
Add clipboard feature
...
Use GTK to take the text from the clipboard.
Add `/paste` command which pastes this text now to console window.
2019-10-29 15:20:57 +01:00
Michael Vetter
aa0c638394
Update chat_log_pgp_msg_out() usage
...
Fix build
2019-10-29 15:20:24 +01:00
Michael Vetter
5a0a6c97e2
Two carbon logging changes
...
Add resourcepart to the outgoing carbon that is logged, so we use the
correct filenames for MUC PMs.
Dont log incoming carbons of MUC PMs as a workaround to faulty server
behaviour.
See https://wiki.xmpp.org/web/Multi-Session_Nicks#Private_Messages under
'Client-side workaround behavior'.
Regards https://github.com/profanity-im/profanity/issues/1214
2019-10-29 11:46:01 +01:00
Michael Vetter
9788410aaf
Also log sv_ev_delayed_private_message
2019-10-29 10:52:11 +01:00
Michael Vetter
7dd747b58d
Set mucuser in carbon case
...
Also we initialize mucuser properly.
Now in case of a carbon of a MUC PM we sv_ev_incoming_carbon() which
calls _sv_ev_incoming_plain() and then we log it via chat_log_msg_in()
in there.
But we also get the sv_ev_incoming_private_message() and call
chat_log_msg_in() in there too. So the incoming message get's logged
twice.
2019-10-29 10:41:07 +01:00
Michael Vetter
8c8c18c6fd
Actually log MUC PM messages
...
If I'm not mistaken MUC PMs have not been logged at all if there was no
other client sending carbons.
This should add MUC PM logging functionality.
We still need to make sure carbons log to the same file.
Regards https://github.com/profanity-im/profanity/issues/1214
2019-10-28 23:36:42 +01:00
Michael Vetter
f186eb94da
Remove not neede free
...
It's in the def == NULL case. So will always be noop.
2019-10-25 14:06:03 +02:00
Michael Vetter
6a88af6bc6
Remove /leave command
...
We have `/close` which does the same and more.
Regards https://github.com/profanity-im/profanity/issues/1116
2019-10-22 15:33:54 +02:00
Michael Vetter
22bf281399
Make prof_identifier const
2019-10-22 12:47:32 +02:00
Michael Vetter
6b75848f96
Display ownership of connection_get_profanity_identifier
2019-10-22 12:04:16 +02:00
Michael Vetter
ba18752405
Use UUID in origin-id and id
...
Let's use UUID to have a more random string then just 10 alphanumeric
values.
2019-10-22 11:10:37 +02:00
Martin
b16426f66d
Change default text colors to default ( #1213 )
...
Change default themes text color
Using "default" instead of white makes the default better readable
when using a black/dark font on white/light background.
May fix #535
2019-10-22 08:13:39 +02:00
Michael Vetter
2292f15633
Make sure date vars are initialized
2019-10-21 16:19:35 +02:00
Michael Vetter
40d9dcae87
Properly display chatwin history
...
So far if one had enabled `/history` and did `/msg somenick` the history
was loaded from file and displayed like this:
```
04-04-17 15:23 - 3/4/2017:
01-01-00 10:30 - me: ....
01-01-00 10:31 - somebody: ....
01-01-00 10:32 - somebody: ....
```
So the first line contained the actual date. But the date used in each
line was always 01-01-2000. This date was for some reason hardcoded.
This commit now actually uses that date to build the proper GDateTime
instead of just printing it.
Fix https://github.com/profanity-im/profanity/issues/922
2019-10-21 15:26:40 +02:00
Michael Vetter
ef19b45e64
Remove old comment
...
It's not up to date.
Some time ago we changed from individual handlers to general ones.
2019-10-21 10:28:29 +02:00
Michael Vetter
c4a52b13e8
Merge pull request #1209 from jubalh/feature/xep-0359
...
XEP-0359
2019-10-21 09:56:15 +02:00
Michael Vetter
963ab841b4
Set prof_ident to NULL after free
...
This caused the bug mentioned in the PR comment:
```
It seems with the changes done here we get a crash in: src/xmpp/message.c message_handlers_init() when looking up handlers: ProfMessageHandler *handler = g_hash_table_lookup(pubsub_event_handlers, curr->data);.
Steps to reproduce:
open Profanity and connect
/autoping set 10
/autoping timeout 10
stop WiFi/connection
wait for Lost connection
restart wifi
/connect
```
2019-10-21 09:50:13 +02:00
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
31014b5e51
Fix which message we want to log
2019-10-19 23:24:33 +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
c3912df05b
Move ProfMessage and message_is_sent_by_us to xmpp
...
Not meant for internal usage only.
2019-10-19 06:36:47 +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
06f300a42c
Move message sent by us logic in own function
2019-10-18 14:50:25 +02:00
Michael Vetter
dfead6415f
sv_ev_room_message: log in all cases if not our client
...
Forgot to check what happens if the length is <= 10.
2019-10-18 11:59:39 +02:00
Michael Vetter
f7474cd72c
sv_ev_room_message: check if message->id is not NULL
2019-10-18 11:43:30 +02:00
Michael Vetter
5c6f5ba0f7
Add connection_get_profanity_identifier stub
...
And move defintion to xmpp.h
2019-10-18 11:23:30 +02:00
Michael Vetter
33083662d1
Add XEP-0359 to capabilities
...
We implement </origin-id> from [XEP-0359](https://xmpp.org/extensions/xep-0359.html ).
We already had this implemented for OMEMO. And now use it to check
whether MUC messages were sent from us
(https://github.com/profanity-im/profanity/issues/1201 ).
We don't implement </stanza-id> yet, but probably need to do so for MAM.
Anyways let's flag this as implementing the XEP.
Fix https://github.com/profanity-im/profanity/issues/1207
2019-10-18 10:46:06 +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
f9eb302a59
Move code from jid_random_resource() into own function
...
Move the code that creates a random string into it's own function
+get_random_string().
2019-10-16 10:39:35 +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
Dmitry Podgorny
69bba3ea4e
plugins/python: fix double _XOPEN_SOURCE definition
...
ncursesw defines _XOPEN_SOURCE macro via command-line. In particular, it
is defined in ncursesw.pc and extracted via pkg-config. From other side,
Python defines the same macro unconditionally in pyconfig.h. Python-3.x
defines the macro with value different than ncursesw does. In turn, this
causes a warning that the macro is redefined. And warnings are treated
as errors.
Since both entities define the mecro unconditionally, we can't simply
reorder headers as Python developers suggest. So, undefine the macro
just before the <Python.h> to fix this silly issue.
2019-10-15 12:30:38 +00:00
Michael Vetter
d0c3d3fd6b
Null-set account struct
...
Surpresses the valgrind warning about uninit. values.
2019-10-14 11:35:18 +02:00
Dmitry Podgorny
6d11cd2db3
Fix memory leak in cmd_join()
...
room is either argv[0] or allocated by GString. We have to free memory
in the 2nd case. Replace argv[0] with g_strdup(argv[0]) in order to
make unconditional g_free().
2019-10-14 00:19:08 +03:00
Michael Vetter
5c53e02d86
Add option to hilight unread rooms in /wins command
...
In the theme we can now set `cmd.wins.unread` to hvae a special color
for the lines of the `/wins` output that have unread messages.
Fix https://github.com/profanity-im/profanity/issues/895
2019-10-12 13:03:14 +02:00
Michael Vetter
87b66d0816
Make cmd_account safer
2019-10-10 18:06:28 +02:00
Michael Vetter
d3dd95963e
Sort includes in python_api.c
2019-10-07 15:53:17 +02:00
Michael Vetter
b3ed213668
Improve MUC 1:1 logging
...
If we get a private message from a user in a MUC profanity shows this
like:
`profanity@roomsASDF.dismail.de/Martin: Hi`
This was so far logged at:
`~/.local/share/profanity/chatlogs/my-account-at-server/profanity_at_rooms.dismail.de/2019_09_04.log` as:
```
10:48:13 - profanity@rooms.dismail.de: Hi
```
So the nickname was not saved anywhere. This is due to us not knowing
whether we got a regular message from user@server.org/resource or a MUC
PM from room@server.org/user.
We now check for `<x xmlns='http://jabber.org/protocol/muc#user ' />` and
add the resourcepart to the logging if we get it.
The file will be created at
`~/.local/share/profanity/chatlogs/my-account-at-server/profanity_at_rooms.dismail.de_nick` and look like:
```
23:59:43 - nick: Hi
```
Fix https://github.com/profanity-im/profanity/issues/1184
2019-10-07 00:05:37 +02:00
Michael Vetter
f1d31e024c
Fix typo handel -> handle
2019-10-06 23:00:08 +02:00
Michael Vetter
7684cf64f0
Revert "Fix memleak in cmd_join"
...
This reverts commit 1746f5f8a8
.
2019-10-06 22:44:35 +02:00
Michael Vetter
147be3afdf
Don't log own messages on incoming MUC
...
`sv_ev_room_message()` called `groupchat_log_msg_in()` to log all
incoming MUC messages.
`cl_ev_send_muc_msg()` calls `groupchat_log_msg_out()`.
So messages sent by the user himself was logged two times.
Filter the incoming messages and only log the ones not from our occupant
jid/nick.
Fix https://github.com/profanity-im/profanity/issues/1201
2019-10-06 22:32:58 +02:00
Michael Vetter
7d7997e93c
Add account clear example to help
...
Give example on how to clear pgpkeyig.
2019-10-06 20:46:50 +02:00
Michael Vetter
9b3517c21e
Free strings in autocomplete_param_no_with_func
...
Regards https://github.com/profanity-im/profanity/issues/1019
2019-10-06 19:05:27 +02:00
Michael Vetter
94b401ab96
Fix invalid read in muc code
...
We didn't set the variables to NULL, but the rest of the code depends on
this check.
```
==22201== Invalid read of size 8
==22201== at 0x44E560: autocomplete_clear (autocomplete.c:69)
==22201== by 0x427B2C: muc_invites_clear (muc.c:190)
==22201== by 0x461328: ev_disconnect_cleanup (common.c:59)
==22201== by 0x463FB5: cl_ev_disconnect (client_events.c:91)
==22201== by 0x431252: cmd_disconnect (cmd_funcs.c:1234)
==22201== by 0x47E883: clears_chat_sessions
(test_cmd_disconnect.c:28)
==22201== by 0x487E9E1: _run_test (in /usr/lib64/libcmocka.so.0.7.0)
==22201== by 0x487ECCC: _run_tests (in /usr/lib64/libcmocka.so.0.7.0)
==22201== by 0x47F1BE: main (unittests.c:629)
==22201== Address 0x814b690 is 0 bytes inside a block of size 24 free'd
==22201== at 0x48379AB: free (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==22201== by 0x44E5F7: autocomplete_free (autocomplete.c:90)
==22201== by 0x4278A0: muc_close (muc.c:97)
==22201== by 0x47DBAA: cmd_join_uses_password_when_supplied
(test_cmd_join.c:169)
==22201== by 0x487E9E1: _run_test (in /usr/lib64/libcmocka.so.0.7.0)
==22201== by 0x487ECCC: _run_tests (in /usr/lib64/libcmocka.so.0.7.0)
==22201== by 0x47F1BE: main (unittests.c:629)
==22201== Block was alloc'd at
==22201== at 0x483677F: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==22201== by 0x44E51B: autocomplete_new (autocomplete.c:57)
==22201== by 0x427837: muc_init (muc.c:88)
==22201== by 0x47DA77: cmd_join_uses_password_when_supplied
(test_cmd_join.c:154)
==22201== by 0x487E9E1: _run_test (in /usr/lib64/libcmocka.so.0.7.0)
==22201== by 0x487ECCC: _run_tests (in /usr/lib64/libcmocka.so.0.7.0)
==22201== by 0x47F1BE: main (unittests.c:629)
```
2019-10-06 19:00:46 +02:00
Michael Vetter
1746f5f8a8
Fix memleak in cmd_join
...
Free `room` string in case we allocated it ourselves.
Regards https://github.com/profanity-im/profanity/issues/1019
2019-10-06 18:53:16 +02:00
Michael Vetter
3ce27b47ad
Free strings in all cases in cmd_rooms
...
Regards https://github.com/profanity-im/profanity/issues/1019
2019-10-06 18:51:04 +02:00
Michael Vetter
b591f0cf2b
Free list in error case in parse_options
...
Fix memleaks.
Regards https://github.com/profanity-im/profanity/issues/1019
2019-10-06 18:12:50 +02:00
Michael Vetter
897dfbb3c1
Fix memleak in get_start()
...
Regards https://github.com/profanity-im/profanity/issues/1019
2019-10-06 17:42:44 +02:00
Michael Vetter
57ebb7cfa6
Destroy hash table ein autocompleters_destroy()
...
Regards https://github.com/profanity-im/profanity/issues/1019
2019-10-06 17:29:35 +02:00
Michael Vetter
10f2715ea9
Free options in error case for cmd_connect()
...
Regards https://github.com/profanity-im/profanity/issues/1019
2019-10-06 17:19:17 +02:00
Michael Vetter
4e8f0c90b5
Fix preferences memory leak
...
Memory leak detected through unit tests.
Regards https://github.com/profanity-im/profanity/issues/1019
2019-10-05 20:45:07 +02:00
Michael Vetter
684a9b1a56
Add /clear autocompletion and improve help
...
Regards https://github.com/profanity-im/profanity/issues/855
https://github.com/profanity-im/profanity/pull/874 brought us the
`/clear` command. The author of that patch couldn't follow up with the
review boothj5 did.
So the autocompletion and updated help was missing.
This commit adds it.
2019-10-05 16:19:53 +02:00
Michael Vetter
d7c00360ea
Merge pull request #874 from spiridoncha/master
...
Change /clear behaviour. Closes issue #855 .
2019-10-05 15:12:44 +02:00
Michael Vetter
4637a7a23b
Merge remote-tracking branch 'philipflohr/master'
2019-10-05 15:04:46 +02:00
Michael Vetter
c135f989ec
Check errors in is_dir() is_regular_file()
...
In case of error print the error. And return right value.
Improvement based on @pasis advice in https://github.com/profanity-im/profanity/pull/1036
Applying in preparation to merge that PR.
2019-10-04 23:29:10 +02:00
Michael Vetter
5c77b97c35
Introduce /reload command
...
This command reloads the configuration file.
Fix https://github.com/profanity-im/profanity/issues/627
2019-10-04 14:06:25 +02:00
Michael Vetter
523681a642
Log outgoing carbons instead of incoming
...
Incoming carbons are logged as normal message already.
So we had this logged twice but didn't log outgoing carbons,
send from our account but by another client, at all.
Fix https://github.com/profanity-im/profanity/issues/1181
2019-10-04 13:22:14 +02:00
Michael Vetter
7da2a444da
Mention XEP-0191 in blocked command
2019-09-30 19:12:47 +02:00
Michael Vetter
53c4c8548b
Document how to block users in MUCs
...
Regards https://github.com/profanity-im/profanity/issues/618
2019-09-30 19:11:30 +02:00
Michael Vetter
e8420e7235
Bind key to switch to next active window
...
alt-a brings one to the next window with unread messages.
Regards https://github.com/profanity-im/profanity/issues/1114
2019-09-30 18:28:05 +02:00
Michael Vetter
d6c638c70f
Define keybindings to switch to up to 20 windows
...
alt-2 brings one ot the window.
irssi supports alt + 1234567890qwertyuio to easily switch to 20 windows
instead of just ten.
Hardcode this too.
Regards https://github.com/profanity-im/profanity/issues/1114
2019-09-30 17:42:32 +02:00
Michael Vetter
6ab6fe8649
Detect MUC history correctly with some Prosody versions
...
Some versions of prosody send the domainpart.
See https://issues.prosody.im/1416
Workaround to handle those cases.
Thanks to Holger Weiss for helping with this!
Fix https://github.com/profanity-im/profanity/issues/1190
2019-09-30 10:01:19 +02:00
Michael Vetter
6161235733
Remove not needed code
...
Was left over from refactoring a long time ago.
2019-09-29 15:47:24 +02:00
Michael Vetter
d1f388cbd7
Add comment about statusbar.current
2019-09-29 15:47:11 +02:00
Michael Vetter
30875a9069
Fix typo conact -> contact
2019-09-29 15:07:32 +02:00
Michael Vetter
a4e9d9b9e2
Use helper function for cmd_status
2019-09-29 15:07:08 +02:00
Michael Vetter
b961ad29c7
Allow pasing a jid to info command in chat window
...
If we pass a jid/nick to `/info` in a chat window we will still get the
output. But on the console window.
Regards https://github.com/profanity-im/profanity/issues/1194
2019-09-29 15:04:19 +02:00
Michael Vetter
0f732466f8
Allow pasing a jid to status command in chat window
...
Regards https://github.com/profanity-im/profanity/issues/1194
2019-09-29 14:58:25 +02:00
Daniel Lublin
641410f6bd
Add coloring of statusbar.current tab in view
...
This theme color applies to the tab title text of the statusbar tab that
is currently shown.
The (somewhat confusingly named) `statusbar.active` theme color now
applies to all other tabs (before, it applied to all tabs).
Coloring of a tab that is highlighted/has new messages is done as before
using the `statusbar.new` theme color.
The default color is set to `cyan`, and thus causes no visible change
for users -- until modified.
2019-09-24 10:35:30 +02:00
Dmitry Podgorny
3ecb5424ae
log: set nonblocking mode for stderr
...
Glib can print error messages to stderr and blocking write freezes
Profanity if the buffer is full. Move stderr to nonblocking mode
in hope that glib will skip printing on EWOULDBLOCK error. In this
case we lose some error messages, but Profanity continues working.
2019-09-13 11:48:31 +00:00
Michael Vetter
6cf06dc516
Log alleged roster push to file
...
https://gultsch.de/dino_multiple.html mentions CVE-2019-16235, CVE-2019-16236 and CVE-2019-16237.
CVE-2019-16235: Is checking the from in carbon messages. We do that.
CVE-2019-16236: Is checking the from in roster pushes. We do that but
didn't log it yet.
CVE-2019-16237: Is checking the form in MAM messages. We don't support
them yet.
2019-09-12 20:55:16 +02:00
Michael Vetter
2c97a48418
Print history color in theme properties
...
Also print `main.text.history` setting when `/theme properties' is run.
2019-09-11 13:21:02 +02:00
Michael Vetter
e10f4d4bb0
Set default color for main.text.history
...
Might be related to https://github.com/profanity-im/profanity/issues/1186
2019-09-11 13:20:32 +02:00
Michael Vetter
aa0f497975
Allow colorization of history messages
...
History was always printed with `THEME_DEFAULT` we now use
`THEME_TEXT_HISTORY` which is accesible in theme files via
`main.text.history`.
Fix https://github.com/profanity-im/profanity/issues/1170
2019-09-10 11:22:30 +02:00
Michael Vetter
09b6fc9aaa
Log 1:1 messages from other clients also to file
...
Carbons where not logged so far.
Fix https://github.com/profanity-im/profanity/issues/1181
2019-09-04 10:28:52 +02:00
Michael Vetter
09c5f38f11
Set message->plain in carbon case
...
message->plain should always contain something. In the case of the
carbons we forgot to set if rom the body in case it's empy.
2019-09-04 10:27:03 +02:00
Dmitry Podgorny
8c69d7105b
Don't crash if source jid doesn't contain the node part
...
Profanity uses the node part of a JID as display name for a tab. If such
a JID doesn't contain the node part, Profanity crashes on NULL pointer
dereference.
In the above case, use barejid which is just a domain. Fixes #1153 .
2019-08-26 12:46:30 +03:00
Michael Vetter
c100897c9d
Hardcode James email adress in info message
...
Dont rely on PACKAGE_BUGREPORT being James' mail.
2019-08-24 18:07:24 +02:00
Michael Vetter
726eee2a66
Make sure memory in color_pair_cache_reset() was allocated.
...
Just to be on the safe side.
Probably only relevant for unit tests where ncurses vars are not
initialized with real values.
Fix unit tests on all platforms.
2019-08-24 18:04:02 +02:00
Michael Vetter
03fbf2e77a
Remove unused colour_string_t struct
2019-08-23 14:59:26 +02:00
Michael Vetter
7d7a49f132
theme: print to log not to console
...
Seems this can cause trouble in case we cant use the theme properly.
2019-08-23 14:56:29 +02:00
Michael Vetter
e408e988a7
color: set capacity in unittest case
...
Fix https://github.com/profanity-im/profanity/issues/1178
2019-08-23 14:54:55 +02:00
Michael Vetter
c2a565c2ec
Notify trying to load 256 colour theme in incapable terminal
2019-08-23 14:24:44 +02:00
Michael Vetter
42fb1935c4
Add 256 colour info to /theme colours
2019-08-23 14:08:00 +02:00
Michael Vetter
56c77678f2
color: Include log.h
2019-08-23 14:07:41 +02:00
Michael Vetter
023e2dc387
Reset color pairs when new theme is loaded
...
We only need the colour pairs initialized that the theme actually uses.
It's otherwise possible that we run over the max value of initialzed
pairs.
2019-08-23 13:54:09 +02:00
Michael Vetter
df1b19ecec
Reformat color.c
2019-08-23 13:48:42 +02:00
Michael Vetter
8a04496c79
Add header to color.h
2019-08-23 13:47:41 +02:00
Michael Vetter
0b9880f7a0
Use log_error() instead of g_warning()
2019-08-23 13:46:14 +02:00
Aurelien Aptel
269afa53b4
Add 256 colors support
...
Themes can now use color names from the xterm color name list [1].
1: https://jonasjacek.github.io/colors/
2019-08-23 13:25:45 +02:00
Michael Vetter
ab60a61fb9
omemo: use lower case to log info
2019-08-23 10:18:20 +02:00
Michael Vetter
976c2ec524
Fix typo in OMEMO materials log
2019-08-23 10:14:04 +02:00
Michael Vetter
d43bd8f253
Add comment about dead assignment in callback_add_timed
2019-08-23 10:13:45 +02:00
Michael Vetter
62103665e2
Remove unused code in cmd_room() about win num
...
There is actually no reason to get the window number here.
2019-08-23 10:04:54 +02:00
Michael Vetter
dacbe25d93
Remove duplicate code in roster_update
...
Part of what `roster_update()` does manually is actually done in
`roster_change_name()`.
2019-08-23 09:50:53 +02:00
Michael Vetter
13088e0a1a
Use fixed email instead of PACKAGE_BUGREPORT
2019-08-23 09:40:54 +02: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
Michael Vetter
d8d6aa4b88
Merge pull request #1167 from profanity-im/feature/specify-config-file
...
Possibility to specify alternative config file
2019-08-02 16:22:12 +02:00
Michael Vetter
10ca3e8c31
Possibility to specify alternative config file
...
Introduce `profanity -c` to specify an alternative config file.
2019-08-02 15:55:47 +02:00
Michael Vetter
25501a5d8a
Improve sv_ev_roster_received() last activity check
...
We don't need to do all the timing stuff if last activity is disabled
anyways.
2019-08-02 15:52:49 +02:00
Michael Vetter
5d711639b0
Merge pull request #1166 from profanity-im/fix/1165-subscribed-msg
...
Don't print subscribed message if contact is already in roster
2019-08-02 12:48:01 +02:00
Michael Vetter
658e36a066
Add 'save' command to save preferences
...
Most applications have an 'apply changes' button. This makes testing
easier too.
Implement https://github.com/profanity-im/profanity/issues/1164
2019-08-02 10:23:13 +02:00
Michael Vetter
53c3115976
Don't print subscribed message if contact is already in roster
...
This occured with a user running Cisco Jabber. It seems this server
sends repeated presence subscribed stanzas. And although I find this
strange according to RFC this seems to be ok.
So let's filter them and only display in the console output and to the
log. But don't open seperate windows.
Fix https://github.com/profanity-im/profanity/issues/1165
2019-08-01 20:48:23 +02:00
Michael Vetter
ad0a1efd8c
Merge pull request #1163 from paulfariello/hotfix/command-exec
...
Fix memleak in /cmd exec
2019-07-30 13:50:25 +02:00
Paul Fariello
b3e59e1fb6
Fix memleak in /cmd exec
2019-07-30 13:35:08 +02:00
Michael Vetter
1ec87ffd8f
Merge pull request #1161 from profanity-im/fix/omemo-leak
...
Fix memleaks in OMEMO
2019-07-30 11:22:41 +02:00
Paul Fariello
5e61bc08dd
Fix command form submit
...
Command form userdata were freed by iq_id_handler.
We should now free the command ourself.
2019-07-30 10:22:57 +02:00
Michael Vetter
1b2e71faac
Fix memleak in save_identity()
...
I don't see a reason for strdupping here.
2019-07-23 08:34:46 +02:00
Michael Vetter
a9db705faa
Fix potential leak in omemo_untrust()
2019-07-23 08:34:46 +02:00
Michael Vetter
fade378fee
Dont use not needed strdup() in save_identity()
...
I don't see a reason for strdupping here.
2019-07-23 08:34:46 +02:00
Michael Vetter
bb08c7270d
Make sure result is always set for otr_get_policy()
2019-07-23 08:03:39 +02:00
Michael Vetter
41bf7f4b22
Merge pull request #1160 from profanity-im/fix/1159-groupaddsegfault
...
Fix segfault in group add/remove command
2019-07-22 20:16:27 +02:00
Michael Vetter
9f0a40819f
Fix memleak in roster_change_name()
2019-07-22 15:37:41 +02:00
Michael Vetter
41b54a5c14
Fix 3 leaks in cmd_funcs
2019-07-22 15:26:32 +02:00
Michael Vetter
27952cb16c
Fix several memleaks im cmd_ac.c
...
Exiting without freeing in some cases.
2019-07-22 14:59:20 +02:00
Michael Vetter
46ddf2c2f4
Fix memleak in roster_remove
...
strdup() is not needed here but will actually lead to a memleak.
2019-07-22 14:47:45 +02:00
Michael Vetter
41267ae1c5
Fix memory leak in roster_update()
...
current_name should not be const and should be freed.
2019-07-22 14:42:43 +02:00
Michael Vetter
e540ccd50e
Remove dead assignments
2019-07-22 14:27:14 +02:00
Michael Vetter
137d128af2
Remove unused assignments
2019-07-22 14:16:10 +02:00
Michael Vetter
e75cc41164
Fix double initialization of loop iterator
2019-07-22 14:02:33 +02:00
Michael Vetter
16174727f4
Guard against arg being NULL in cmd_funcs
...
This should actually never happen because we have the mechanism that
checks the commands. But let's do it in case we break something in that
mechanism and to make clang happy.
Fixes clangs: 'Argument with 'nonnull' attribute passed null'
2019-07-22 13:47:52 +02:00
Michael Vetter
d004891a29
Reduce scope of num in ui_print_system_msg_from_recipient()
2019-07-22 13:25:52 +02:00
Michael Vetter
fa27ab9561
Fix segfault in group add/remove command
...
Also regarding destructor.
Fix https://github.com/profanity-im/profanity/issues/1159
2019-07-22 11:54:05 +02:00
Michael Vetter
4a0fa1cf9e
Merge pull request #1154 from optmzr/issue-1099
...
Always check for directory changes with sendfile auto completion
2019-07-20 19:36:59 +02:00
William Wennerström
0c10a699f2
Always check for directory changes with sendfile auto completion
...
Instead of only checking for files when 'last_directory' has changed, do
it every time.
Add autocomplete_update function that updates the items while retaining
last_found and search_str.
Fixes #1099
2019-07-20 10:38:22 +02:00
Michael Vetter
d3828cf24e
Fix segfault in block command
...
Another case of double free() due to new destructor.
Fixes https://github.com/profanity-im/profanity/issues/1156
2019-07-19 12:38:33 +02:00
Michael Vetter
c07d533ec1
Fixup for last commit
2019-07-12 11:11:45 +02:00
Michael Vetter
68b6deefbf
Fix segfault in iq_{submit,cancel}_command_config
...
Taken care of by the destructor.
2019-07-12 10:57:07 +02:00
Michael Vetter
04988ab4ba
Fix segfault in /cmd exec
...
Test for correct number of arguments before using argument.
2019-07-12 10:36:17 +02:00
Michael Vetter
ad41959cc6
Merge pull request #1150 from paulfariello/hotfix/omemo-memleaks
...
Hotfix/omemo memleaks
Regards https://github.com/profanity-im/profanity/issues/1131
2019-07-11 16:19:31 +02:00
Michael Vetter
f32827d70d
Fix some more potential double frees
...
Regards https://github.com/profanity-im/profanity/issues/1148
2019-07-11 16:15:57 +02:00
Paul Fariello
c22df13d95
Dirty fix libgcrypt memleak
2019-07-11 14:25:42 +02:00
Paul Fariello
b7144d82fe
Enable secure memory in gcrypt initialisation
2019-07-11 11:01:07 +02:00
Paul Fariello
b110da9a92
Fix various OMEMO memleaks
2019-07-10 17:32:23 +02:00
Michael Vetter
eb14ae5f03
Fix jump depending on uninit. value in statusbar
2019-07-10 12:55:49 +02:00
Michael Vetter
6c8e567328
Reduce codelines in form.c
...
Let's use calloc instead of malloc and then setting almost all fields to
NULL.
2019-07-10 12:53:45 +02:00
Michael Vetter
a8b3de7016
Fix double free in roster_process_pending_presence
...
This is taken care of now in the destructor _pendingPresence_free().
2019-07-10 12:08:09 +02:00
Michael Vetter
38edc1c325
Add destructor for roster_pending_presence
...
Fix:
```
==18682== 408 bytes in 17 blocks are definitely lost in loss record
3,279 of 3,632
==18682== at 0x483677F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==18682== by 0x42F602: roster_update_presence (roster_list.c:129)
==18682== by 0x448AA3: sv_ev_contact_online (server_events.c:906)
==18682== by 0x43D2BA: _available_handler (presence.c:674)
==18682== by 0x43C81B: _presence_handler (presence.c:398)
==18682== by 0x5AF118E: handler_fire_stanza (handler.c:124)
==18682== by 0x5AEDBDA: _handle_stream_stanza (conn.c:1253)
==18682== by 0x5AFA43E: _end_element (parser_expat.c:190)
==18682== by 0x6818AA4: doContent (xmlparse.c:2977)
==18682== by 0x681A3AB: contentProcessor (xmlparse.c:2552)
==18682== by 0x681D7EB: XML_ParseBuffer (xmlparse.c:1988)
==18682== by 0x681D7EB: XML_ParseBuffer (xmlparse.c:1957)
==18682== by 0x5AF0A63: xmpp_run_once (event.c:255)
==18682== by 0x432E5D: connection_check_events (connection.c:104)
==18682== by 0x4323B3: session_process_events (session.c:255)
==18682== by 0x42C097: prof_run (profanity.c:128)
==18682== by 0x4B25B9: main (main.c:172)
```
2019-07-09 16:04:27 +02:00
Michael Vetter
89d8fc846e
Fix double free in room id handler
...
Free is done in destructor now.
Regards https://github.com/profanity-im/profanity/issues/1148
2019-07-09 09:47:35 +02:00
Michael Vetter
7af85d0fe0
Fix double free in omemo_start_device_session_handle_bundle()
...
omemo_key_free() was called to free the key.
It free the key->data too. But in same cases this was not set yet. So
we need to set the data to NULL (or use calloc) at initialization so
that omemo_key_free() only frees it if it was actually allocated.
Regards https://github.com/profanity-im/profanity/issues/1148
2019-07-08 16:36:05 +02:00
Michael Vetter
b3bb62dcbd
Fix double free regarding iq handlers
2019-07-08 15:58:40 +02:00
Michael Vetter
6355272091
Merge pull request #1146 from profanity-im/fix/omemoleaks-autocompl
...
Fix several OMEMO related leaks
2019-07-04 18:01:59 +02:00
Michael Vetter
9aad2aa487
Free iq_id_handlers correctly
...
so far only the key part was freed. We also need to free the actual
handler.
Fix:
```
==21171== 1,128 bytes in 47 blocks are definitely lost in loss record
3,476 of 3,670
==21171== at 0x483677F: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==21171== by 0x434248: iq_id_handler_add (iq.c:265)
==21171== by 0x4B122E: omemo_devicelist_request (omemo.c:46)
==21171== by 0x4AC411: omemo_start_session (omemo.c:409)
==21171== by 0x4AC37C: omemo_start_sessions (omemo.c:396)
==21171== by 0x447881: sv_ev_roster_received (server_events.c:189)
==21171== by 0x444019: roster_result_handler (roster.c:312)
==21171== by 0x433FC2: _iq_handler (iq.c:202)
==21171== by 0x5AF118E: ??? (in /usr/lib64/libmesode.so.0.0.0)
==21171== by 0x5AEDBDA: ??? (in /usr/lib64/libmesode.so.0.0.0)
==21171== by 0x5AFA43E: ??? (in /usr/lib64/libmesode.so.0.0.0)
==21171== by 0x6818AA4: ??? (in /usr/lib64/libexpat.so.1.6.8)
==21171== by 0x681A3AB: ??? (in /usr/lib64/libexpat.so.1.6.8)
==21171== by 0x681D7EB: XML_ParseBuffer (in
/usr/lib64/libexpat.so.1.6.8)
==21171== by 0x5AF0A63: xmpp_run_once (in
/usr/lib64/libmesode.so.0.0.0)
==21171== by 0x432E5D: connection_check_events (connection.c:104)
==21171== by 0x4323B3: session_process_events (session.c:255)
==21171== by 0x42C097: prof_run (profanity.c:128)
==21171== by 0x4B2627: main (main.c:172)
```
2019-07-04 14:25:53 +02:00
Paul Fariello
c0e8f72276
Fix plaintext private message handling
2019-07-04 14:02:42 +02:00
Michael Vetter
482138feff
Free key on error in omemo_start_device_session_handle_bundle()
...
Fix:
```
==20561== 32 bytes in 1 blocks are definitely lost in loss record 1,467
of 3,678
==20561== at 0x483677F: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==20561== by 0x4B16C9: omemo_start_device_session_handle_bundle
(omemo.c:167)
==20561== by 0x43405E: _iq_handler (iq.c:214)
==20561== by 0x5AF118E: ??? (in /usr/lib64/libmesode.so.0.0.0)
==20561== by 0x5AEDBDA: ??? (in /usr/lib64/libmesode.so.0.0.0)
==20561== by 0x5AFA43E: ??? (in /usr/lib64/libmesode.so.0.0.0)
==20561== by 0x6818AA4: ??? (in /usr/lib64/libexpat.so.1.6.8)
==20561== by 0x681A3AB: ??? (in /usr/lib64/libexpat.so.1.6.8)
==20561== by 0x681D7EB: XML_ParseBuffer (in
/usr/lib64/libexpat.so.1.6.8)
==20561== by 0x5AF0A63: xmpp_run_once (in
/usr/lib64/libmesode.so.0.0.0)
==20561== by 0x432E5D: connection_check_events (connection.c:104)
==20561== by 0x4323B3: session_process_events (session.c:255)
==20561== by 0x42C097: prof_run (profanity.c:128)
==20561== by 0x4B260D: main (main.c:172)
```
2019-07-04 11:55:53 +02:00
Michael Vetter
e3443f5c9a
Rework omemo_start_device_session_handle_bundle exit
...
In some conditions we just returned without freeing allocated variables.
Should fix following valgrind reported leak:
```
==17941== 19 bytes in 1 blocks are definitely lost in loss record 613 of
3,674
==17941== at 0x483677F: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==17941== by 0x5BB0DAA: strdup (strdup.c:42)
==17941== by 0x4B1592: omemo_start_device_session_handle_bundle
(omemo.c:126)
==17941== by 0x43405E: _iq_handler (iq.c:214)
==17941== by 0x5AF118E: ??? (in /usr/lib64/libmesode.so.0.0.0)
==17941== by 0x5AEDBDA: ??? (in /usr/lib64/libmesode.so.0.0.0)
==17941== by 0x5AFA43E: ??? (in /usr/lib64/libmesode.so.0.0.0)
==17941== by 0x6818AA4: ??? (in /usr/lib64/libexpat.so.1.6.8)
==17941== by 0x681A3AB: ??? (in /usr/lib64/libexpat.so.1.6.8)
==17941== by 0x681D7EB: XML_ParseBuffer (in
/usr/lib64/libexpat.so.1.6.8)
==17941== by 0x5AF0A63: xmpp_run_once (in
/usr/lib64/libmesode.so.0.0.0)
==17941== by 0x432E5D: connection_check_events (connection.c:104)
==17941== by 0x4323B3: session_process_events (session.c:255)
==17941== by 0x42C097: prof_run (profanity.c:128)
==17941== by 0x4B2610: main (main.c:172)
```
2019-07-04 11:46:32 +02:00
Michael Vetter
0410802753
Free omemo_ctx.device_list_handler
2019-07-04 10:47:50 +02:00
Michael Vetter
d0047c8376
Dont initialize omemo autocompleter twice
...
We already do this in omemo_init() no need to do it again in
omemo_on_connect().
2019-07-04 10:38:24 +02:00
Michael Vetter
199162b11a
Add omemo_close function
...
We call omemo_init() when starting profanity and should have an
omemo_close() at exit.
For now we free the fingerprint autocompleter in there.
Fixes valgrind:
```
==13226== 24 bytes in 1 blocks are definitely lost in loss record 2,855
of 6,958
==13226== at 0x483677F: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==13226== by 0x48AD39: autocomplete_new (autocomplete.c:57)
==13226== by 0x4AB89F: omemo_init (omemo.c:127)
==13226== by 0x42C283: _init (profanity.c:206)
==13226== by 0x42BFF3: prof_run (profanity.c:98)
==13226== by 0x4B25E6: main (main.c:172)
```
Regards https://github.com/profanity-im/profanity/issues/1131
2019-07-04 10:30:56 +02:00
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
James Booth
8f213f22e7
Moved tray.c
2016-07-24 15:10:58 +01:00
James Booth
90b9b48ab9
Moved roster_list.c
2016-07-24 15:08:47 +01:00
James Booth
cc32bb7738
Moved resource.c
2016-07-24 15:05:24 +01:00
James Booth
2af0d38e3d
Moved muc.c
2016-07-24 15:02:43 +01:00
James Booth
1c5efaeb58
Moved jid.c
2016-07-24 14:59:28 +01:00
James Booth
c23506f453
Moved contact.c
2016-07-24 14:55:32 +01:00
James Booth
9cff37352a
Make header defines consistent
2016-07-24 14:51:39 +01:00
James Booth
310abd401d
Moved chat_state.c
2016-07-24 14:28:25 +01:00
James Booth
25a6252a28
Moved chat_session.c
2016-07-24 14:23:55 +01:00
James Booth
0649aad80d
Move event timeout to connection module
2016-07-24 14:08:30 +01:00
James Booth
8d8f2f290d
Moved chat state handling code to chat_state.c
2016-07-24 13:56:11 +01:00
James Booth
7c593c2780
Reorder headers
2016-07-24 02:16:57 +01:00
James Booth
4209b1cf45
Add /plugins python_version command
2016-07-24 02:12:56 +01:00
James Booth
b48a3d2f6a
Python plugins: Free string values
2016-07-24 01:53:13 +01:00
James Booth
47dfa6c3fc
Merge branch 'master' into python3
...
Conflicts:
.gitignore
2016-07-24 01:22:29 +01:00
James Booth
4ecb4019a6
Add missing include
2016-07-24 01:19:59 +01:00
James Booth
e8fc80f5c1
Update GPL link in headers
2016-07-24 01:14:49 +01:00
James Booth
d44472049b
Allow str and unicode in python api
2016-07-24 01:09:18 +01:00
James Booth
d2e237203c
Check for win callback hash before removing
2016-07-21 22:23:28 +01:00
Pete Maynard
14c8f53f85
Updated GPL URL
2016-07-21 11:49:52 +01:00
James Booth
376811a960
Tidy python3 conditional code
2016-07-19 01:02:33 +01:00
James Booth
71ccfcc09f
Add python_init_prof()
2016-07-18 23:24:26 +01:00
James Booth
269b8ce832
Merge branch 'master' into python3
2016-07-18 22:55:05 +01:00
James Booth
feb50ea411
capabilities: use free instead of g_free
2016-07-18 22:32:58 +01:00
James Booth
d4b3a05678
Use g_path_get_basename when installing plugin
2016-07-18 20:55:50 +01:00
James Booth
7d742f704f
Fix prof module init for python3
2016-07-18 01:27:23 +01:00
James Booth
ace2715cf7
Added PYTHON3 define
2016-07-14 00:00:46 +01:00
James Booth
10814b044d
Fix plugin install output
2016-07-13 01:06:03 +01:00
James Booth
9af921f260
Remove redundant plugin dir function
2016-07-13 00:49:53 +01:00
James Booth
7abf506261
Free memory when plugin windows closed
2016-07-13 00:25:45 +01:00
James Booth
0991699ae6
Add /plugins install command
2016-07-12 23:50:21 +01:00
James Booth
5f393a6d9f
Remove plugin window on /close
2016-07-12 02:16:12 +01:00
James Booth
1a7eb00763
Check for plugin win before creating
2016-07-12 01:51:27 +01:00
James Booth
9a0111c10a
Allow reloading all plugins with /plugin reload
2016-07-10 01:28:30 +01:00
James Booth
448bef247b
Add /plugin reload command
2016-07-10 01:07:41 +01:00
James Booth
44862fe842
Remove string allocation for conflists
2016-07-10 00:43:53 +01:00
James Booth
d24a0508f4
Store python modules on load
2016-07-09 23:42:09 +01:00
James Booth
7776c1494a
Reaload python module if previous loaded on /plugin load
2016-07-09 23:13:36 +01:00
James Booth
1926ceea3d
Plugin unload remove cmd_acs and close window
2016-07-05 22:46:00 +01:00
James Booth
82458c9d96
Revert "Move adding plugins commands to autocompleters"
...
This reverts commit 97f7997025
.
2016-07-05 22:11:58 +01:00
James Booth
97f7997025
Move adding plugins commands to autocompleters
2016-07-05 22:10:41 +01:00
James Booth
99598e7d57
Add plugins on_unload hook
2016-07-05 22:03:14 +01:00
James Booth
71178b3696
Store plugin completers by plugin name
2016-07-05 21:46:36 +01:00
James Booth
fd218ac3e4
Pass plugin name to all autocompleter functions
2016-07-04 23:14:08 +01:00
James Booth
03c7ac73fd
Move prefs_remove_plugin to plugins_unload
2016-07-04 23:00:41 +01:00
James Booth
c8d09083a8
Remove plugin callbacks in plugin_destroy functions
2016-07-04 22:54:55 +01:00
James Booth
0d7b4cb4a7
Store plugin window callbacks by plugin name
2016-07-04 22:42:15 +01:00
James Booth
a779ad0764
Use hash table for plugin timed functions
2016-07-04 21:48:04 +01:00
James Booth
71879a3f64
Free plugins commands on quit
2016-07-04 00:41:29 +01:00
James Booth
606a860bdc
Rename callback execte and destroy functions
2016-07-03 01:03:05 +01:00
James Booth
70a79abd3b
Add plugin name to win_create api call
2016-07-03 00:48:22 +01:00
James Booth
31c66bf857
Move plugin theme and settings init
2016-07-01 00:01:07 +01:00
James Booth
3bd3de036f
Use hash table to store plugins
2016-06-30 23:58:04 +01:00
James Booth
bb33522e4d
Fix plugin load prefs
2016-06-30 23:18:30 +01:00
James Booth
0cd1b50122
Move plugin config add on load
2016-06-30 23:16:54 +01:00
James Booth
ef6bad483e
/plugins unload command and completer
2016-06-30 23:14:05 +01:00
James Booth
56480ce9ea
Pass plugin name to api layer
2016-06-30 22:54:46 +01:00
James Booth
29eb843d56
Revert "WIP - Unload plugin commands"
...
This reverts commit a01eb5d08e
.
2016-06-30 22:37:52 +01:00
James Booth
a01eb5d08e
WIP - Unload plugin commands
2016-06-29 23:35:57 +01:00
James Booth
61a09476c5
Add macro for plugins completer add
2016-06-23 00:44:52 +01:00
James Booth
1e37b755fe
Add macro for C plugins register_timed
2016-06-23 00:36:26 +01:00
James Booth
c6288d89f9
Add function to get C plugin name
2016-06-23 00:26:50 +01:00
James Booth
620e6a5a37
Add function to get plugin name
2016-06-22 01:09:39 +01:00
James Booth
3a3933eff6
Add ProfIdFreeCallback to free stale id handlers on connect
2016-06-08 23:25:51 +01:00
James Booth
d79364358a
Fix memory leaks
2016-06-08 22:23:00 +01:00
James Booth
4c03ee6066
Free string on connect autocomplete
2016-06-08 21:29:15 +01:00
James Booth
086fd30e23
Check for NULL before clearing connection data
2016-06-01 22:41:17 +01:00
James Booth
784d9642bc
Complete no arg for /account properties
2016-06-01 00:41:27 +01:00
James Booth
78785fa7e6
Complete no arg for /join properties
2016-06-01 00:15:01 +01:00
James Booth
28cc04ca7d
Complete no arg for /connect properties
2016-06-01 00:04:35 +01:00
James Booth
3215418296
Merge branch 'master' into complete-empty
2016-05-31 23:29:46 +01:00
James Booth
e758f74e48
Update /notify help
2016-05-31 23:26:30 +01:00
James Booth
705e3dc7d8
Remove commented code
2016-05-31 23:22:07 +01:00
James Booth
383e601f25
Move /statuses options to /presence command
2016-05-31 23:21:19 +01:00
James Booth
52c01a8ee8
Add /presence titlebar subcommand
2016-05-31 22:46:03 +01:00
James Booth
1d5cc33279
Merge branch 'master' into complete-empty
2016-05-25 00:22:51 +01:00
James Booth
94212cd01c
Update window navigation help
2016-05-25 00:21:27 +01:00
James Booth
5c15f95646
Complete no arg for /bookmark properties
2016-05-24 23:39:27 +01:00
James Booth
b574919738
Complete no arg for /role set
2016-05-24 23:39:09 +01:00
James Booth
e8b2578039
Complete no arg for /affiliation set
2016-05-24 01:43:45 +01:00
James Booth
492c1bfa14
Complete no arg for /script run|show
2016-05-24 01:39:16 +01:00
James Booth
78c23dce58
Complete no arg for /theme load
2016-05-24 01:37:25 +01:00
James Booth
d1ece21b5f
Complete no arg for /plugins load
2016-05-24 01:36:21 +01:00
James Booth
e183fd9186
Allow empty autocomplete for /otr policy
2016-05-24 01:28:04 +01:00
James Booth
f377e0329e
Allow autocomplete for basic compelters when no input
2016-05-24 00:32:53 +01:00
James Booth
6559263b2f
Option to bookmark room invites
...
issue #813
2016-05-23 23:53:44 +01:00
James Booth
0edd430925
Merge branch 'cmd-tidy'
2016-05-23 22:34:45 +01:00
James Booth
3aa788772e
Updated console output for room invites
2016-05-23 22:27:29 +01:00
James Booth
d0117cdabe
Remove unneeded functions from cmd headers
2016-05-23 00:40:10 +01:00
James Booth
eb105e9172
Move functions from cmd_defs to cmd_funcs
2016-05-23 00:31:00 +01:00
James Booth
dfe613418f
Fix command headers
2016-05-23 00:06:01 +01:00
James Booth
fb34785566
Rename command sources
2016-05-22 23:59:52 +01:00
James Booth
eaf2901b01
Add cmd_autocomplete.c
2016-05-20 00:19:03 +01:00
James Booth
a04e34fddc
Fix output for tray timer setting
2016-05-15 02:15:45 +01:00
James Booth
c6a6e3a51c
Add /tray timer <seconds>
...
closes #787
2016-05-15 01:41:34 +01:00
James Booth
d00615beba
Add /tray read on|off command
...
issue #786
2016-05-15 00:55:19 +01:00
James Booth
cf8452d95f
Reorder headers in inputwin.c
...
Fixes unknown type name '_fpos64_t' error on Cygwin
2016-05-11 22:50:19 +01:00
James Booth
598b2b3235
Add missing string.h include in blocking.c
2016-05-11 22:32:22 +01:00
James Booth
5439317ba1
Reorder headers in common.c
...
Fixes unknown type name '_fpos64_t' error on Cygwin
2016-05-11 22:30:39 +01:00
James Booth
d805d0c886
Added missing header in ui.h
2016-05-11 22:22:59 +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
030ac9e4e1
Fixed compile
2016-05-08 23:48:29 +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
James Booth
7f1beadea9
Rename xmpp types
2016-05-06 02:31:55 +01:00
James Booth
81e95966cf
Remove redundant tls secured function
2016-05-06 02:18:31 +01:00
James Booth
c009144b3d
Tidy connect function
2016-05-06 02:08:10 +01:00
James Booth
3cb60399a1
Move connection_connect
2016-05-06 02:02:23 +01:00
James Booth
579d062063
Move send stanza function
2016-05-06 01:51:58 +01:00
James Booth
b6c4a2029f
Move conn is secure function
2016-05-06 01:49:27 +01:00
James Booth
8950dbb768
Move tls peer cert function
2016-05-06 01:47:19 +01:00
James Booth
31b0f0b0c8
Move uuid functions
2016-05-06 01:16:13 +01:00
James Booth
d1c71e98f4
Move connection fulljid function
2016-05-06 01:12:54 +01:00
James Booth
cc485ed338
Tidy session.c
2016-05-06 01:10:12 +01:00
James Booth
88f423afea
Rename jabber_ functions
2016-05-06 00:53:03 +01:00
James Booth
3bb1f12410
Add session.c
2016-05-05 23:51:49 +01:00
James Booth
f6fa63b374
Renamed connection.c -> session.c
2016-05-05 22:10:10 +01:00
James Booth
ccabc08fef
Tidy xmpp headers
2016-05-04 01:19:51 +01:00
James Booth
2e1eb9210a
Remove userdata from _blocklist_result_handler
2016-05-02 22:49:30 +01:00
James Booth
aabe3afff8
Rename stanza handler init functions
2016-05-02 22:34:43 +01:00
James Booth
39fb05577a
Rename id_handler_add -> iq_id_handler_add
2016-05-02 21:50:39 +01:00
James Booth
92780f3e6e
Remove free DiscoInfo values
2016-05-02 00:59:37 +01:00
James Booth
31ab43ea2d
Free stanza text and DiscoInfo features
2016-05-02 00:40:16 +01:00
James Booth
2bacd43a16
Free stanza text on plugin send hooks
2016-05-01 23:41:57 +01:00
James Booth
6df6fed305
Disable tray icon by default
2016-05-01 20:33:42 +01:00
James Booth
d2df850f38
Update /blocked help
2016-05-01 20:20:15 +01:00
James Booth
5a48b7b7d5
Use current jid for /blocked add in chat win
2016-05-01 20:06:34 +01:00
James Booth
b8c94376aa
Add /blocked command
2016-05-01 19:39:39 +01:00
James Booth
a2efda19cc
Merge remote-tracking branch 'pasis/const-char'
2016-05-01 00:39:16 +01:00
James Booth
623fbe9e47
Plugins: Added prof_disco_add_feature()
2016-04-30 23:00:07 +01:00
James Booth
a718e6f91b
Refactored /account set commands
2016-04-28 01:13:42 +01:00
James Booth
d4789ac375
Fixed compiler errors
2016-04-27 22:10:27 +01:00
James Booth
df30d4ba52
Check first entry in command sub_funcs
2016-04-27 21:52:58 +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
James Booth
5687c3e419
Free inputrc string
...
fixes #797
2016-04-27 01:36:14 +01:00
James Booth
ce32814679
Updated Command structure comments
2016-04-27 00:03:24 +01:00
James Booth
d4aa73159e
Merge branch 'master' into subcmds
2016-04-26 23:56:12 +01:00
James Booth
043a673fe1
Merge remote-tracking branch 'asdil12/xep_0363_http_file_upload'
2016-04-26 23:30:26 +01:00
James Booth
4ca6296fb7
Fix OSX compile
2016-04-26 23:50:56 +02:00
James Booth
65960dfbb2
Fixed cygwin compile (again)
2016-04-26 23:50:56 +02:00
James Booth
9d263d7c83
Fixed cygwin compile
2016-04-26 23:50:55 +02:00
Dominik Heidler
1b0ce852bb
Implement XEP-0363: HTTP File Upload
2016-04-26 23:50:55 +02:00
James Booth
0ff29b3d2e
Added sub commands to command structure
2016-04-26 20:29:45 +01:00
Dominik Heidler
28e260c7da
Cache all disco items and features on connect
2016-04-20 00:19:40 +02:00
James Booth
20a0313d17
Show correct tray icon immediately on enable
2016-04-18 00:35:03 +01:00
James Booth
12727744ab
Load/destroy tray icons on init/shutdown
2016-04-18 00:26:17 +01:00
James Booth
de65f505a8
Moved gtk specific code to tray.c
2016-04-18 00:07:15 +01:00
James Booth
507ea5746c
Grouped tray icon initialisation code
2016-04-17 23:57:05 +01:00
James Booth
153552ed07
Remove redundant return value from _cmd_set_boolean_preference
2016-04-17 23:46:29 +01:00
James Booth
2daa02cb60
Merge remote-tracking branch 'asdil12/tray_config'
2016-04-17 23:17:43 +01:00
Dominik Heidler
4cb1d73a83
Make tray icon configurable using /tray cmd
2016-04-16 16:29:32 +02:00
James Booth
6cc04bc3ba
Merge branch 'muc-hooks'
2016-04-15 22:58:32 +01:00
James Booth
feeac48cf3
Merge remote-tracking branch 'asdil12/help'
2016-04-15 22:50:00 +01:00
James Booth
8f009c3c8d
Plugins fixed return values for python stanza hooks
2016-04-15 22:37:44 +01:00
James Booth
d90c47f287
Plugins: Added more muc hooks
2016-04-15 22:24:50 +01:00
Dominik Heidler
02bad7af28
Add /command? shortcut to view /help command
2016-04-13 10:47:53 +02:00
James Booth
b3a3351a35
Plugins: Added account_name and fulljid to prof_init hook
2016-04-13 00:10:37 +01:00
James Booth
46687aeced
Only complete unloaded plugins on /plugins load
2016-04-12 23:25:31 +01:00
James Booth
8ff9fd7091
Execute python string to append plugin path
2016-04-12 02:31:28 +01:00
James Booth
697db019d5
Merge remote-tracking branch 'Dav1d23/master'
...
Conflicts:
Makefile.am
install-all.sh
2016-04-11 00:23:36 +01:00
David
b300fa5baf
Use log facilities instead of printing on the stderr
2016-04-10 15:44:37 +02:00
David
92a50000c2
Re-introduce gtk_use boolean
...
This param is still actual, in case the environemnt does not
support gtk initialization.
Fix a GTK assert on the way (GTKStatusIcon is not a Widget, but a plain
GObject).
2016-04-10 15:44:37 +02:00
James Booth
5ddde3e59a
Fixed /plugins help
2016-04-10 01:23:35 +01:00
James Booth
03ab8baf4d
Added /plugins load command
2016-04-10 01:15:11 +01:00
James Booth
21aa08fdb1
Fixed typos
2016-04-09 20:19:50 +01:00
James Booth
699e08b238
Fixed timestamp for on_room_history_message
2016-04-08 01:17:22 +01:00
James Booth
93672eba9f
Plugins: Added on_room_history_message
2016-04-08 00:11:33 +01:00
James Booth
2f432a942d
Plugins: Added completer_clear
2016-04-07 23:25:47 +01:00
James Booth
7ca6084657
Plugins: Added on_room_win_focus
2016-04-07 22:15:03 +01:00
James Booth
271278dd20
Plugins: Added on_chat_win_focus
2016-04-07 22:06:14 +01:00
James Booth
bfdc3b8807
Plugins: Added completer_remove
2016-04-07 21:25:12 +01:00
James Booth
a328367eb4
Plugins: Renamed register_ac->completer_add
2016-04-07 20:49:23 +01:00
James Booth
2ba121aef3
Room mention case insensitive by default
2016-04-07 01:37:04 +01:00
James Booth
bdb1287a4f
Free mentions list
2016-04-07 01:14:12 +01:00
James Booth
f243e333fc
Added whole word matches for room mention
2016-04-07 01:01:27 +01:00
James Booth
6edf3b3f94
Merge branch 'master' into mention-config
2016-04-04 23:44:04 +01:00
James Booth
1de11678dc
Added reset to /notify help
2016-04-04 23:41:30 +01:00
James Booth
afa2c0f5ba
Added mention match preferences
2016-04-03 23:33:21 +01:00
James Booth
d9344b00fe
Added prof_strstr function
2016-04-03 22:30:24 +01:00
Dominik Heidler
4b1481987d
Fix typo: diso -> disco
2016-04-01 12:09:35 +02:00
James Booth
6f81f2b845
Removed newline handling code from rosterwin.c
2016-03-31 23:14:51 +01:00
James Booth
9b177a9e01
Removed #AX_PREFIX_CONFIG_H
2016-03-31 21:05:02 +01:00
James Booth
c91ce78a04
Added missing include in callbacks.c
2016-03-31 20:16:53 +01:00
James Booth
759d9ccb8d
Added plugins presence hooks
2016-03-30 23:18:12 +01:00
David
1e60d17d7c
libgtk is now optional
...
Having the lib is no more needed.
2016-03-30 23:21:41 +02:00
James Booth
194c53c4fa
Plugins: Added basic incoming message function
2016-03-29 23:44:54 +01:00
James Booth
94b9b1d8e4
Merge branch 'master' into stanza-hooks
2016-03-29 21:44:18 +01:00
James Booth
66467f976f
PGP: Fixed array size for encryption keys
2016-03-29 21:30:41 +01:00
James Booth
7b138b71db
PGP: Also encrypt using sender public key
2016-03-29 21:24:37 +01:00
James Booth
c6730783bf
Removed duplicate typedef
2016-03-28 15:44:03 +01:00
James Booth
d39e48ba18
Use one stanza handler per type (message, iq, presence)
...
Allows plugins to stop stanza processing
2016-03-28 01:25:48 +01:00
James Booth
8933d59b03
Added basic stanza receive eooks
2016-03-27 21:36:29 +01:00
James Booth
18555ffcb4
Allow sending stanzas in xml console
2016-03-26 17:11:19 +00:00
James Booth
7b34f72007
Use xmpp_send_raw_string instead of xmpp_send_raw
2016-03-26 16:44:02 +00:00
James Booth
d0397f3da5
Added stanza send hooks for plugins
2016-03-26 15:50:16 +00:00
James Booth
ce9b0836a0
Added integer settings for plugins
2016-03-26 02:19:30 +00:00
James Booth
e2b02733df
Added plugin string settings
2016-03-26 01:48:42 +00:00
James Booth
a4e6d50a40
Added boolean settings for plugins
2016-03-25 22:06:24 +00:00
James Booth
4c913aa08b
Added prof_send_stanza to plugins API
2016-03-23 22:57:03 +00:00
James Booth
503fc9e393
Update roster count on carbons
2016-03-22 00:28:22 +00:00
James Booth
6f537c3818
Add PGP decryption for incoming/outgoing carbons
2016-03-22 00:20:29 +00:00
James Booth
1075f07ff5
Parse plugin args with freetext parser
...
Also allow adding to plugin autocompleters
2016-03-15 22:32:44 +00:00
David
bdad30b2d9
This case was clearly not tested locally, so many failures here.
...
I guess now this should be fine, at least for the no gui case.
Locally it is working fine btw.
I miss Gerrit and the ability to test before pushing right now... :'(
2016-03-13 17:52:49 +01:00
David
028d24283e
fix no gtk init
2016-03-13 17:50:42 +01:00
David
72856f9b6c
typo
2016-03-13 17:12:01 +01:00
David
e43f3e95c0
fix possible free(NULL)
2016-03-13 17:09:58 +01:00
David
098d84ef73
Merge branch 'tray_icon' into HEAD
...
Let's thanks Aline <linuxine@gmail.com> for the icons.
Enjoy!
2016-03-12 17:37:46 +01:00
David
520eee23a9
fixing leakings
2016-03-12 16:55:52 +01:00
James Booth
11356fec01
Merge branch 'master' into plugins-python
2016-03-10 22:23:56 +00:00
James Booth
185405b9d1
Fixed PLATFORM_CYGWIN references
2016-03-10 22:21:56 +00:00
David
82de077b02
read icons from local dir
...
if desired, icons could be put in the .config dir.
In this case, these icons will be read, instead of the other ones.
2016-03-10 22:45:16 +01:00
James Booth
d157e9bf71
Plugins: Fix python threading
...
Release global interpreter lock during api calls
2016-03-09 23:36:22 +00:00
David
4abdad03ec
Fix icons when installed in share... it is working now!
2016-03-09 20:09:31 +01:00
James Booth
85abab6bf9
Merge branch 'master' into plugins-python
2016-03-08 20:28:51 +00:00
James Booth
1ddfa47313
Free TLSCertificate memory
2016-03-08 20:25:36 +00:00
David
718a708b93
Use a folder to add icons
...
NOTE: it is not working in this release, I have to get how to retrieve
icons from folder.
2016-03-07 22:26:48 +01:00
James Booth
9850e041c8
Merge branch 'master' into plugins-python
2016-03-07 20:44:18 +00:00
James Booth
5cabcf9b79
Plugins: Added callbacks init and close functions
...
Included destroy function in PluginWindowCallback
2016-03-07 20:36:25 +00:00
David
d1177d3ade
better icons
2016-03-07 20:10:59 +01:00
James Booth
e4071015ea
Merge branch 'master' into plugins-python
2016-03-07 18:42:02 +00:00
James Booth
72f940360d
Free GLists in plugin autocompleters
2016-03-07 18:32:32 +00:00
James Booth
958dc6b184
Free GList in wins_get_plugin
2016-03-07 18:30:13 +00:00
James Booth
355adb117c
Added WIN_PLUGIN case to win_free()
2016-03-07 18:24:04 +00:00
James Booth
35e456aebd
Merge branch 'master' into plugins-python
2016-03-07 17:15:48 +00:00
Klement Sekera
e1b15182a4
Fix typo maxinum->maximum
2016-03-07 14:06:10 +01:00
David
dc0c3cc699
Introduce Tray Icon for Profanity
...
Add tray icon for profanity based on Gtk StatusIcon.
Different icon is displayed in case the user has unread messages.
2016-03-06 19:10:46 +01:00
James Booth
581b6e2cf1
Merge branch 'master' into plugins-python
2016-03-03 00:32:48 +00:00
James Booth
09cfbb7e05
Fixed /help group formatting
2016-03-03 00:31:27 +00:00
James Booth
5ddf379ffd
Merge branch 'master' into plugins-python
2016-03-01 00:04:38 +00:00
James Booth
7fdf50eb31
Add plugin wins to /win and /close autocompletion
2016-03-01 00:03:11 +00:00
James Booth
da7e59bc86
Merge remote-tracking branch 'origin/master'
2016-02-28 23:18:50 +00:00
James Booth
21f6e88c3b
Added current_win_is_console to python API
2016-02-28 23:12:53 +00:00
James Booth
c81b05b919
Merge branch 'master' into plugins-python
2016-02-28 23:08:32 +00:00
James Booth
ab08d0a378
Added current_win_is_console to plugins api
2016-02-28 23:06:45 +00:00
James Booth
25c9b19562
Merge branch 'master' into plugins-python
2016-02-28 19:06:13 +00:00
James Booth
accde2a61c
Fixed cygwin compile
2016-02-28 19:05:26 +00:00
James Booth
d458e930d1
Merge branch 'master' into plugins-python
2016-02-25 01:52:32 +00:00
James Booth
fbd913ec62
Remove default from plugin theme NULL checks
2016-02-25 01:51:33 +00:00
James Booth
f507a6f541
Merge branch 'master' into plugins-python
2016-02-25 01:18:48 +00:00
James Booth
c562702ab9
Check for NULLs before testing plugin theme
2016-02-25 01:17:47 +00:00
James Booth
661cda3b10
Merge branch 'master' into plugins-python
2016-02-25 00:14:06 +00:00
James Booth
51c6cefafd
Call plugin disconnect hook before disconnecting on autoping fail
...
fixes #746
2016-02-25 00:10:22 +00:00
James Booth
f18fbe333a
Merge branch 'master' into plugins-python
2016-02-24 23:54:25 +00:00
James Booth
5b34e11e45
Added missing string.h include to plugins/api.c
2016-02-24 23:52:59 +00:00
James Booth
e3130dbe82
Merge branch 'master' into plugins-python
2016-02-24 01:00:39 +00:00
James Booth
9d31ce49c3
Added missing stdlib.h include
2016-02-24 00:59:28 +00:00
James Booth
d6e85e5cd6
Added python_api_cons_bad_cmd_usage
2016-02-24 00:48:34 +00:00
James Booth
2783c84a13
Added python support to -v
2016-02-24 00:36:23 +00:00
James Booth
0fc0b3eeec
Added python plugins code
2016-02-24 00:31:55 +00:00
James Booth
ac91e7ef85
Added theme support to plugins
2016-02-21 23:58:13 +00:00
James Booth
1654f16a2f
Return result from plugin calls
...
closes #739
2016-02-21 02:06:09 +00:00
James Booth
3705437a60
Removed plugin hook call for MUC history
2016-02-18 22:59:00 +00:00
James Booth
412dc13629
Added prof_cons_bad_cmd_usage plugin function
2016-02-18 22:25:43 +00:00
James Booth
0ed3b53bd2
Integrated plugins with /help command
2016-02-18 21:53:20 +00:00
James Booth
a152d7fb8e
Added cmd_help_autocomplete_add
2016-02-18 21:14:12 +00:00
James Booth
0654aa1151
Added plugin commands to /help autocompletion
2016-02-18 21:06:21 +00:00
James Booth
639623d625
Tidied cons_show_help
2016-02-18 20:52:52 +00:00
James Booth
a14b7815ae
Added new help format to c plugins WIP
2016-02-18 01:20:37 +00:00
James Booth
2ac911618a
Fix call to plugins_post_chat_message_send
2016-02-16 23:48:47 +00:00
James Booth
7945ef5277
Fix plugin command memleak
2016-02-15 00:09:51 +00:00
James Booth
bd928f0f29
Removed non c plugin code
2016-02-14 23:52:04 +00:00
James Booth
3dd5c3b2c3
Updated copyright
2016-02-14 23:12:01 +00: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
f887a35c0c
Fixed memory deallocations
2016-02-14 01:59:53 +00:00
James Booth
d7b331874a
Fix memory leaks
2016-02-14 01:49:57 +00:00
James Booth
7a19ee822b
Fixed theme defaults memory release
2016-02-14 01:37:13 +00:00
James Booth
87e3530e22
Added missing prefs_free_string()
2016-02-14 01:34:34 +00:00
James Booth
c3dfd6d35a
Highlight longer triggers first
2016-02-13 22:55:57 +00:00
James Booth
1a3dc91e11
Highlight room trigger terms
2016-02-13 22:46:25 +00:00
James Booth
2f82f50a35
Added roommention.term theme option
2016-02-10 23:03:23 +00:00
James Booth
71679a3159
Added mention and trigger themes for console
2016-02-10 21:38:28 +00:00
James Booth
6d518327a3
Fixed /role and /affiliation help
2016-02-07 19:32:23 +00:00
James Booth
62b0cdd8fd
Fix room notification reminders
2016-02-07 01:15:40 +00:00
James Booth
abc2f0de39
Added /roster show|hide unsubscribed
2016-02-07 00:49:48 +00:00
James Booth
6702bb9739
Don't show notification reminders for messages the user does not want notifications for
2016-02-04 01:24:37 +00:00
James Booth
e1962261a9
Tidy notify_room_message()
2016-02-04 00:45:37 +00:00
James Booth
c14ef33906
Tidy notify_message()
2016-02-04 00:41:53 +00:00
James Booth
f8f9ad5197
Tidy prefs_do_chat_notify()
2016-02-04 00:35:10 +00:00
James Booth
8342265607
Removed unused arg: prefs_do_chat_notify()
2016-02-04 00:21:38 +00:00
James Booth
bab75cae15
Implemented /console private setting
2016-02-03 23:39:20 +00:00
James Booth
19a3066e28
Implemented /console chat setting
2016-02-03 23:16:42 +00:00
James Booth
72c1c49695
Added console.chat preference
2016-02-03 23:02:52 +00:00
James Booth
003cdcf3fb
Added /console chat autocompletion
2016-02-03 22:47:22 +00:00
James Booth
30116dd922
Update autocompleters on roster nick change/clear
...
fixes #720
2016-02-03 22:19:29 +00:00
James Booth
46b27bcbd8
Fixed help formatting
2016-02-03 00:37:05 +00:00
James Booth
77e819e81a
Handle self leaving room in private wins
2016-02-03 00:11:38 +00:00
James Booth
292c9cf454
Handle occupant nick change in private wins
2016-02-02 23:25:26 +00:00
James Booth
3ddef99dfe
Handle occupant kicked/banned in private chat wins
2016-02-02 22:25:55 +00:00
James Booth
150015fa3d
Show message in private windows when user offline
2016-02-02 21:52:13 +00:00
James Booth
f91b21a1d6
Allow splitting roster rooms by conference server
2016-02-01 01:11:01 +00:00
James Booth
08c1e62e3c
Colour private chats by presence in roster panel
2016-01-31 23:08:14 +00:00
James Booth
431913127c
Roster panel colour fixes
2016-01-31 22:02:04 +00:00
James Booth
3805fcfbd1
Fixed /pref ui formatting
2016-01-31 20:26:49 +00:00
James Booth
a00095c8a9
Added roster.rooms.private.char setting
2016-01-31 20:17:20 +00:00
James Booth
dd250c6799
Show orphaned private chats
2016-01-31 19:38:06 +00:00
James Booth
a0f43adf5b
Only add private chats to Rooms unread count in roster when room active
2016-01-31 18:52:53 +00:00
James Booth
1c65c36cb6
Show offline contacts with unread messages in roster
2016-01-31 02:47:50 +00:00
James Booth
e816b124ee
Removed unused arg from roster_get_ functions
2016-01-31 02:33:44 +00:00
James Booth
369aa5e8a8
Added filter functions to roster
2016-01-31 02:27:02 +00:00
James Booth
f17ecb77d2
Added functions for rooms and private chat headers
2016-01-31 00:34:44 +00:00
James Booth
5bbb3ef413
Added _rosterwin_contacts_header function
2016-01-30 23:53:46 +00:00
James Booth
3f3182a7de
Reorganise rosterwin.c
2016-01-30 23:11:31 +00:00
James Booth
20659b9841
Added _rosterwin_contacts_all function
2016-01-30 22:54:52 +00:00
James Booth
2092273474
Removed _rosterwin_contacts_by_no_group function
2016-01-30 22:39:08 +00:00
James Booth
7c4a63f3c2
Moved offline check logic in roster panel
2016-01-30 22:23:59 +00:00
James Booth
b801a605a7
Show private chat unread message count in roster panel
2016-01-28 01:08:16 +00:00
James Booth
27adf0311b
Updated themes
2016-01-28 00:43:50 +00:00
James Booth
fbe8c1e345
Added unread counts to roster
2016-01-28 00:26:20 +00:00
James Booth
d4f1384b85
Store /roster count setting
2016-01-27 23:02:28 +00:00
James Booth
dbc52de043
Added /roster count command
2016-01-27 22:34:22 +00:00
James Booth
0501e49623
Fix handling of unknown characters with word wrap
2016-01-26 00:25:13 +00:00
James Booth
38dfdb9d84
Added missing header
2016-01-25 22:54:34 +00:00
James Booth
45a1c66e87
Themes: Tidy foreground colour loading
2016-01-25 00:27:56 +00:00
James Booth
0ae975c27f
Added themes for roster room mention and triggers
...
closes #718
2016-01-25 00:19:26 +00:00
James Booth
b6e9a09c64
Show console messages for room mention and triggers
...
closes #719
2016-01-24 23:47:17 +00:00
James Booth
5ff9fbd810
Tidy handling room mention and room triggers
2016-01-24 23:06:22 +00:00
James Booth
5ff36c14c0
Added roomtrigger colour theme
...
closes #717
2016-01-24 17:33:26 +00:00
James Booth
2a8da892aa
Roster private chat preferences
2016-01-24 02:28:22 +00:00
James Booth
7cacee8781
Added private chat roster group
2016-01-24 01:30:02 +00:00
James Booth
6d8a3e2020
Added /roster private command
2016-01-24 01:04:21 +00:00
James Booth
67abfaa21e
Added private chat to roster rooms
2016-01-24 00:33:24 +00:00
James Booth
2df622f9fd
Formatting of /theme properties command output
2016-01-23 22:55:04 +00:00
James Booth
6ec3f71a54
Pad theme settings
2016-01-23 21:47:23 +00:00
James Booth
53fc89f711
Added account theme property
2016-01-22 01:06:28 +00:00
James Booth
72bbb5c2b9
Keep cache of default theme properties
2016-01-21 23:59:45 +00:00
James Booth
37171fe692
Show theme colour value
2016-01-21 02:00:12 +00:00
James Booth
6b65a9be15
Tidied theme properties
2016-01-21 01:30:18 +00:00
James Booth
adb470c454
WIP: Add /theme properties command
2016-01-21 00:50:55 +00:00
James Booth
5bccee93cc
Added /roster show|hide contacts
2016-01-20 01:48:41 +00:00
James Booth
10507b687b
Added sys/select.h header includes
2016-01-19 22:55:43 +00:00
James Booth
519b10d105
Added /roster rooms position preference
2016-01-19 22:38:00 +00:00
James Booth
7b982f383c
Fixed theme load roster rooms unread setting
2016-01-17 21:20:00 +00:00
James Booth
cce01f1d75
Added /roster unread preferrence
...
closes #712
2016-01-17 02:17:12 +00:00
James Booth
e58be44f81
Added /roster room unread preference
...
closes ##708
2016-01-17 01:49:16 +00:00
James Booth
aab6a52eee
Show unread message count for contacts in roster
2016-01-15 00:44:47 +00:00
James Booth
fbc302317a
Added roster contact themes
2016-01-14 22:54:50 +00:00
James Booth
042ad4758f
Fix compile error on Cygwin
2016-01-14 00:05:12 +00:00
James Booth
2e99df1ac2
Added window title autocomplete to /close command
2016-01-13 23:19:11 +00:00
James Booth
7938db0a25
Use offline presence for software version responses from non contacts
...
fixes #714
2016-01-13 22:25:29 +00:00
James Booth
850ac3c6c0
Allow unlimited theme items
2016-01-10 03:11:05 +00:00
James Booth
de90243401
Added roster rooms order preference
2016-01-09 22:21:09 +00:00
James Booth
cd2458c019
Added roster room themes
2016-01-09 21:37:59 +00:00
James Booth
fcbd2592cf
Use different colour for roster chat rooms with unread messages
2016-01-09 20:40:13 +00:00
James Booth
51f033ae42
End OTR sessions on lost server connection
2016-01-08 00:22:17 +00:00
James Booth
a90e109f7e
Destroy roster after updating UI in server disconnect
2016-01-08 00:13:12 +00:00
James Booth
e5447cf37b
Added /win navigation by jid, win title
2016-01-07 00:38:17 +00:00
James Booth
393e690165
Merge branch 'master' into roster-struct
2016-01-05 01:38:31 +00:00
James Booth
e1e0fda8b3
Call UI disconnect functions before disconnecting with /disconnect
...
fixes #703
2016-01-05 01:30:32 +00:00
James Booth
055a5f71ce
Added roster struct, create and destroy roster on connect/disconnect
2016-01-05 00:06:50 +00:00
James Booth
8e9bf08389
Add cl_ev_disconnect
2016-01-03 17:23:36 +00:00
James Booth
03f63a912e
Close all windows on /disconnect
2016-01-03 02:20:17 +00:00
James Booth
a713654f93
Fixed compilation without libotr
2016-01-03 02:01:01 +00:00
James Booth
4f35b11471
End OTR session when recipient goes offline
2016-01-03 01:32:37 +00:00
James Booth
3d9e860574
Set autoping timeout default to 10 seconds, added null checks
2016-01-02 16:45:20 +00:00
James Booth
523c35c375
Fix roster rooms checks
2016-01-02 02:50:17 +00:00
James Booth
8ca3fe4ea8
Sort roster rooms
2016-01-02 02:41:51 +00:00
James Booth
f9d89d564f
Check for mucwin before showing room in roster
2016-01-02 01:45:02 +00:00
James Booth
254c83d2d1
Added /roster show|hide rooms
2016-01-02 01:37:03 +00:00
James Booth
cf80fdc329
Added roster rooms preference
2016-01-02 01:29:12 +00:00
James Booth
22a14e1240
Show rooms in roster panel
2016-01-02 01:22:19 +00:00
James Booth
f27cae68c5
Added autoping timeout preference
2016-01-01 19:50:13 +00:00
James Booth
94b0d2c6da
Added hardcoded autoping timeout
2015-12-31 01:48:04 +00:00
James Booth
08d30a4a83
Abort autping when existing attempt already in progress
2015-12-31 00:33:05 +00:00
James Booth
2847e39659
Tidy ping handlers
2015-12-31 00:11:58 +00:00
James Booth
a0c9b0cb70
Renamed autoping handler
2015-12-30 23:50:39 +00:00
James Booth
fb7001cffb
Added console muc message setting to themes
2015-12-30 00:48:37 +00:00
James Booth
6a8656a06b
Added /console command
2015-12-29 23:32:32 +00:00
James Booth
8ea228480c
Added console MUC message preference
2015-12-29 23:00:49 +00:00
Dmitry Podgorny
bea246d81b
Don't compile pgp code with --disable-pgp
2015-12-21 12:53:41 +02:00
James Booth
d9f5a2bda6
Updated console new message text
2015-12-20 23:26:05 +00:00
James Booth
1b88b5706e
Change console incoming message text to include "win"
2015-12-20 22:50:03 +00:00
James Booth
e3471fbfaa
Fixed /charset help
2015-12-20 03:15:00 +00:00
James Booth
1f56c12377
Added cons_show_incoming_room_message()
2015-12-20 00:54:17 +00:00
James Booth
8f6b37f650
Added /charset command
2015-12-19 23:32:58 +00:00
James Booth
a02c89a8e8
Use MB_CUR_MAX when calculating cursor position
2015-12-19 23:21:07 +00:00
James Booth
e1f674eca3
Fixed PGP error message
2015-12-19 22:55:33 +00:00
James Booth
88fd2a25ee
Show PGP error strings
2015-12-15 00:38:16 +00:00
James Booth
482eea4fcf
Moved sending of initial presence to sv_ev_roster_received
2015-12-14 23:57:06 +00:00
Steven Erenst
29bc58f53c
Fix spelling and grammatical mistakes in command help text
...
Signed-off-by: Steven Erenst <stevenerenst@gmail.com>
2015-12-06 00:58:51 -08:00
James Booth
53fd2b3534
Read ~/.config/profanity/inputrc
2015-12-06 02:12:20 +00:00
James Booth
e9e54dca44
Renamed readline handlers
2015-12-06 01:33:53 +00:00
James Booth
0d25de9459
Added readline function definitions
2015-12-06 01:33:36 +00:00
James Booth
1093737c62
Updated version in CHANGELOG and comments
2015-12-02 00:34:27 +00:00
James Booth
1e6a1f9921
readline: set rl_outstream to /dev/null
2015-12-01 22:24:43 +00:00
James Booth
d35f30f382
Merge remote-tracking branch 'kiethandi/master'
2015-11-30 23:58:29 +00:00
U-DIR\kieran.thandi
d288291e49
Include string take 2
2015-11-30 23:16:33 +00:00
U-DIR\kieran.thandi
a78dba0ced
resolve strdup dec
2015-11-30 22:57:10 +00:00
U-DIR\kieran.thandi
b818dddb32
Inclued stdlib
2015-11-30 22:34:24 +00:00
James Booth
0920b65ddf
Added /wins unread
2015-11-30 00:17:44 +00:00
James Booth
d9435d3b65
Tidy wins_create_summary()
2015-11-29 23:58:52 +00:00
James Booth
6e304bb867
Disable readline completion
2015-11-29 22:23:31 +00:00
James Booth
921ce6ec7d
Changed /bookmark list output to show text "win"
2015-11-29 01:13:00 +00:00
James Booth
b404663847
Tidied output for /notify command
2015-11-29 00:34:53 +00:00
James Booth
3fbee4023e
Renamed /notify message -> /notify chat
2015-11-29 00:08:49 +00:00
James Booth
04ad003e11
Added /notify reset to autocompletion
2015-11-28 23:47:08 +00:00
James Booth
2fc984e673
Removed regular chat message triggers
2015-11-28 23:43:02 +00:00
James Booth
60305de0d9
Added room specific notify settings
2015-11-28 00:15:53 +00:00
James Booth
ff2b19e3f9
Merge branch 'master' into notifications
2015-11-27 21:09:24 +00:00
Alex Jordan
29a2de332c
Fix typo
2015-11-27 03:42:55 -08:00
James Booth
d3389db233
Only show reminder notifications when notifications are enabled
2015-11-25 22:33:26 +00:00
James Booth
20e63e364b
Finished basic /notify triggers
2015-11-25 21:24:21 +00:00
James Booth
b9794361f7
Implemented regular chat notify triggers
2015-11-25 01:42:27 +00:00
James Booth
01682a7594
Merge branch 'master' into notifications
2015-11-25 00:43:26 +00:00
James Booth
c14d5b77e0
Merge remote-tracking branch 'incertia/export-command'
2015-11-25 00:41:37 +00:00
Will Song
df2726bdf5
add spaces after constructs such as if/for/while
2015-11-24 18:24:48 -06:00