about summary refs log tree commit diff stats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* sv_ev_room_message: check if message->id is not NULLMichael Vetter2019-10-181-1/+1
|
* Add connection_get_profanity_identifier stubMichael Vetter2019-10-183-3/+3
| | | | And move defintion to xmpp.h
* Add XEP-0359 to capabilitiesMichael Vetter2019-10-181-0/+1
| | | | | | | | | | | | | 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
* Log incoming MUC messages if origin-id sais they dont come from usMichael Vetter2019-10-183-12/+29
| | | | Regards https://github.com/profanity-im/profanity/issues/1201
* Remove prefix from stanza idMichael Vetter2019-10-1710-64/+64
| | | | | We sent `prof_prefix_uuid` as id. Where the prefix was also optional. We don't need this at all.
* Change algo for connection_create_stanza_id()Michael Vetter2019-10-171-7/+11
|
* Change connection_create_stanza_id()Michael Vetter2019-10-171-11/+11
| | | | | To return identifier and uuid together. We can remove the prefix later on.
* Calculate identifier upon connectMichael Vetter2019-10-161-5/+28
| | | | | | | 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
* Rename identification fileMichael Vetter2019-10-162-2/+4
|
* Use random string for random-bytes identifierMichael Vetter2019-10-161-4/+5
| | | | | | And rename `instance` to `identifier`. Regards https://github.com/profanity-im/profanity/issues/1207
* Move code from jid_random_resource() into own functionMichael Vetter2019-10-163-12/+26
| | | | | Move the code that creates a random string into it's own function +get_random_string().
* Create random-bytes fileMichael Vetter2019-10-162-0/+54
| | | | | | | | | | 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
* Null-set account structMichael Vetter2019-10-141-0/+1
| | | | Surpresses the valgrind warning about uninit. values.
* Fix memory leak in cmd_join()Dmitry Podgorny2019-10-141-1/+3
| | | | | | 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().
* Add option to hilight unread rooms in /wins commandMichael Vetter2019-10-123-1/+8
| | | | | | | 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
* Make cmd_account saferMichael Vetter2019-10-101-2/+6
|
* Sort includes in python_api.cMichael Vetter2019-10-071-5/+2
|
* Improve MUC 1:1 loggingMichael Vetter2019-10-073-25/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix typo handel -> handleMichael Vetter2019-10-061-3/+3
|
* Revert "Fix memleak in cmd_join"Michael Vetter2019-10-061-5/+0
| | | | This reverts commit 1746f5f8a80f78a02f79a9a17f29ebb0a7b179ec.
* Don't log own messages on incoming MUCMichael Vetter2019-10-061-4/+7
| | | | | | | | | | | | | | `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
* Add account clear example to helpMichael Vetter2019-10-061-1/+3
| | | | Give example on how to clear pgpkeyig.
* Free strings in autocomplete_param_no_with_funcMichael Vetter2019-10-061-0/+7
| | | | Regards https://github.com/profanity-im/profanity/issues/1019
* Fix invalid read in muc codeMichael Vetter2019-10-061-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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) ```
* Fix memleak in cmd_joinMichael Vetter2019-10-061-0/+5
| | | | | | Free `room` string in case we allocated it ourselves. Regards https://github.com/profanity-im/profanity/issues/1019
* Free strings in all cases in cmd_roomsMichael Vetter2019-10-061-0/+3
| | | | Regards https://github.com/profanity-im/profanity/issues/1019
* Free list in error case in parse_optionsMichael Vetter2019-10-061-0/+3
| | | | | | Fix memleaks. Regards https://github.com/profanity-im/profanity/issues/1019
* Fix memleak in get_start()Michael Vetter2019-10-061-0/+1
| | | | Regards https://github.com/profanity-im/profanity/issues/1019
* Destroy hash table ein autocompleters_destroy()Michael Vetter2019-10-061-0/+3
| | | | Regards https://github.com/profanity-im/profanity/issues/1019
* Free options in error case for cmd_connect()Michael Vetter2019-10-061-0/+5
| | | | Regards https://github.com/profanity-im/profanity/issues/1019
* Fix preferences memory leakMichael Vetter2019-10-051-0/+4
| | | | | | Memory leak detected through unit tests. Regards https://github.com/profanity-im/profanity/issues/1019
* Add /clear autocompletion and improve helpMichael Vetter2019-10-053-6/+60
| | | | | | | | | | | 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.
* Merge pull request #874 from spiridoncha/masterMichael Vetter2019-10-053-1/+13
|\ | | | | Change /clear behaviour. Closes issue #855.
| * Makes /clear behavior configurable.Spiridonov Alexander2016-11-073-0/+9
| |
| * Change /clear behaviour. Closes issue #855.Spiridonov Alexander2016-10-221-1/+4
| |
* | Merge remote-tracking branch 'philipflohr/master'Michael Vetter2019-10-051-10/+3
|\ \
| * | Don't stop plugin installation if given path points to a directoryPhilip Flohr2019-02-261-11/+3
| | | | | | | | | | | | | | | | | | | | | 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
* | | Check errors in is_dir() is_regular_file()Michael Vetter2019-10-041-2/+10
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Introduce /reload commandMichael Vetter2019-10-045-18/+58
| | | | | | | | | | | | | | | | | | This command reloads the configuration file. Fix https://github.com/profanity-im/profanity/issues/627
* | | Log outgoing carbons instead of incomingMichael Vetter2019-10-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Mention XEP-0191 in blocked commandMichael Vetter2019-09-301-1/+1
| | |
* | | Document how to block users in MUCsMichael Vetter2019-09-301-2/+4
| | | | | | | | | | | | Regards https://github.com/profanity-im/profanity/issues/618
* | | Bind key to switch to next active windowMichael Vetter2019-09-303-0/+41
| | | | | | | | | | | | | | | | | | alt-a brings one to the next window with unread messages. Regards https://github.com/profanity-im/profanity/issues/1114
* | | Define keybindings to switch to up to 20 windowsMichael Vetter2019-09-301-0/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Detect MUC history correctly with some Prosody versionsMichael Vetter2019-09-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Remove not needed codeMichael Vetter2019-09-291-4/+0
| | | | | | | | | | | | Was left over from refactoring a long time ago.
* | | Add comment about statusbar.currentMichael Vetter2019-09-291-0/+3
| | |
* | | Fix typo conact -> contactMichael Vetter2019-09-291-4/+4
| | |
* | | Use helper function for cmd_statusMichael Vetter2019-09-291-15/+13
| | |
* | | Allow pasing a jid to info command in chat windowMichael Vetter2019-09-291-12/+18
| | | | | | | | | | | | | | | | | | | | | 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