about summary refs log tree commit diff stats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | | Allow pasing a jid to status command in chat windowMichael Vetter2019-09-291-2/+10
| | | | | | | | | | | | Regards https://github.com/profanity-im/profanity/issues/1194
* | | Add coloring of statusbar.current tab in viewDaniel Lublin2019-09-244-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | log: set nonblocking mode for stderrDmitry Podgorny2019-09-131-6/+16
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Log alleged roster push to fileMichael Vetter2019-09-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Print history color in theme propertiesMichael Vetter2019-09-111-0/+1
| | | | | | | | | | | | Also print `main.text.history` setting when `/theme properties' is run.
* | | Set default color for main.text.historyMichael Vetter2019-09-111-0/+1
| | | | | | | | | | | | Might be related to https://github.com/profanity-im/profanity/issues/1186
* | | Allow colorization of history messagesMichael Vetter2019-09-103-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Log 1:1 messages from other clients also to fileMichael Vetter2019-09-041-0/+4
| | | | | | | | | | | | | | | | | | Carbons where not logged so far. Fix https://github.com/profanity-im/profanity/issues/1181
* | | Set message->plain in carbon caseMichael Vetter2019-09-041-1/+8
| | | | | | | | | | | | | | | 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.
* | | Don't crash if source jid doesn't contain the node partDmitry Podgorny2019-08-261-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Hardcode James email adress in info messageMichael Vetter2019-08-241-1/+1
| | | | | | | | | | | | Dont rely on PACKAGE_BUGREPORT being James' mail.
* | | Make sure memory in color_pair_cache_reset() was allocated.Michael Vetter2019-08-241-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Remove unused colour_string_t structMichael Vetter2019-08-231-5/+0
| | |
* | | theme: print to log not to consoleMichael Vetter2019-08-231-2/+1
| | | | | | | | | | | | Seems this can cause trouble in case we cant use the theme properly.
* | | color: set capacity in unittest caseMichael Vetter2019-08-231-0/+5
| | | | | | | | | | | | Fix https://github.com/profanity-im/profanity/issues/1178
* | | Notify trying to load 256 colour theme in incapable terminalMichael Vetter2019-08-232-1/+9
| | |
* | | Add 256 colour info to /theme coloursMichael Vetter2019-08-231-0/+7
| | |
* | | color: Include log.hMichael Vetter2019-08-231-0/+1
| | |
* | | Reset color pairs when new theme is loadedMichael Vetter2019-08-231-0/+2
| | | | | | | | | | | | | | | | | | 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.