about summary refs log tree commit diff stats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Set mucuser in carbon caseMichael Vetter2019-10-291-0/+8
| | | | | | | | | | | 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.
* Actually log MUC PM messagesMichael Vetter2019-10-285-28/+33
| | | | | | | | | | 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
* Remove not neede freeMichael Vetter2019-10-251-1/+0
| | | | It's in the def == NULL case. So will always be noop.
* Remove /leave commandMichael Vetter2019-10-222-27/+0
| | | | | | We have `/close` which does the same and more. Regards https://github.com/profanity-im/profanity/issues/1116
* Make prof_identifier constMichael Vetter2019-10-221-1/+1
|
* Display ownership of connection_get_profanity_identifierMichael Vetter2019-10-222-2/+2
|
* Use UUID in origin-id and idMichael Vetter2019-10-222-11/+11
| | | | | Let's use UUID to have a more random string then just 10 alphanumeric values.
* Change default text colors to default (#1213)Martin2019-10-221-8/+8
| | | | | | | | 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
* Make sure date vars are initializedMichael Vetter2019-10-211-3/+3
|
* Properly display chatwin historyMichael Vetter2019-10-212-5/+10
| | | | | | | | | | | | | | | | | | | | 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
* Remove old commentMichael Vetter2019-10-211-1/+0
| | | | | It's not up to date. Some time ago we changed from individual handlers to general ones.
* Merge pull request #1209 from jubalh/feature/xep-0359Michael Vetter2019-10-2118-117/+263
|\ | | | | XEP-0359
| * Set prof_ident to NULL after freeMichael Vetter2019-10-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ```
| * Rename _calculate_identifier to _compute_identifierMichael Vetter2019-10-201-3/+3
| |
| * Rename random_bytes to profanity_instance_idMichael Vetter2019-10-191-6/+6
| |
| * Fix which message we want to logMichael Vetter2019-10-191-5/+3
| |
| * Free hmac and msgidMichael Vetter2019-10-192-3/+7
| |
| * Free prof_identifier in case of reconnectMichael Vetter2019-10-191-0/+3
| | | | | | | | Bedore we assign it new.
| * Move ProfMessage and message_is_sent_by_us to xmppMichael Vetter2019-10-192-23/+24
| | | | | | | | Not meant for internal usage only.
| * Change origin-id/id algoMichael Vetter2019-10-182-14/+29
| | | | | | | | | | Hash twice. Use HMAC SHA256 from glib.
| * Move message sent by us logic in own functionMichael Vetter2019-10-183-12/+21
| |
| * sv_ev_room_message: log in all cases if not our clientMichael Vetter2019-10-181-14/+13
| | | | | | | | Forgot to check what happens if the length is <= 10.
| * 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
* | plugins/python: fix double _XOPEN_SOURCE definitionDmitry Podgorny2019-10-152-0/+2
|/ | | | | | | | | | | | | 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.
* 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