about summary refs log tree commit diff stats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* stanza: replae strcmp with g_strcmp0Michael Vetter2021-03-251-17/+17
| | | | since its NULL safe
* message: simplify _handle_headlineMichael Vetter2021-03-251-4/+2
|
* message: make _receipt_request_handler saferMichael Vetter2021-03-251-1/+1
|
* message: make _handle_receipt_received saferMichael Vetter2021-03-251-1/+5
|
* message: make _handle_groupchat saferMichael Vetter2021-03-251-0/+6
|
* message: simplify _handle_conferenceMichael Vetter2021-03-251-7/+5
|
* message: make _handle_form saferMichael Vetter2021-03-251-0/+3
|
* message: make _message_handler saferMichael Vetter2021-03-251-7/+9
|
* mesage: make _handle_ox_chat saferMichael Vetter2021-03-251-11/+27
| | | | And on the way fix a memleak
* message: make _handle_chat saferMichael Vetter2021-03-251-0/+3
|
* message: make _handle_muc_private_message saferMichael Vetter2021-03-251-0/+7
|
* message: fix potential segfault in _receipt_request_handlerMichael Vetter2021-03-251-3/+7
|
* message: safeguard _handle_receipt_receivedMichael Vetter2021-03-251-15/+17
| | | | | | This shouldnt be necessary since we check for the receipt outside alreayd. Let's be on the safe side though in case code gets changed later.
* message: reorder _handle_groupchatMichael Vetter2021-03-251-12/+9
|
* message: fix possible segfault in _handle_conferenceMichael Vetter2021-03-251-19/+23
|
* message: fix possible segfault in _handle_muc_userMichael Vetter2021-03-251-0/+4
|
* message: fix possible segfault in _message_handlerMichael Vetter2021-03-251-3/+3
|
* Add support to register with a roomMichael Vetter2021-03-257-6/+154
| | | | | | | | | | `/affiliation register` can now be used to register a nickname with a MUC. Tested with a server without forms. Couldn't find a server which supports forms yet. Implements https://github.com/profanity-im/profanity/issues/1210
* Merge pull request #1511 from mwuttke97/doc_bookmark_joinMichael Vetter2021-03-241-6/+13
|\ | | | | Command doc: Improve description and examples of `/bookmark` and `/join`
| * Command doc: Improve description and examples of `/bookmark` and `/join`Maximilian Wuttke2021-03-211-6/+13
| |
* | form.c: fix memleak in form_tag_existsMichael Vetter2021-03-171-0/+1
| |
* | Add support to approve MUC voice requestsMichael Vetter2021-03-173-2/+52
| | | | | | | | | | | | A form will open. One can then use `/field4 on` `/form submit`. Implements https://github.com/profanity-im/profanity/issues/1507
* | profanity.c: move var into functionMichael Vetter2021-03-161-1/+2
| |
* | MUC: Add voice requestThorben Günther2021-03-127-3/+87
| | | | | | | | closes https://github.com/profanity-im/profanity/issues/1211
* | Completion: Split up role and affiliation completionThorben Günther2021-03-121-8/+15
|/ | | | Needed for affiliation request
* Dont build paths manually in cmd_funcs.cMichael Vetter2021-03-121-36/+13
| | | | | Some time ago we introduced get_expanded_path(). No need to build paths manually anymore to get ~.
* autocomplete: remove duplicate code in search functionsMichael Vetter2021-03-111-54/+16
| | | | | | _search_next and _search_prev where exactly the same except taking the nex/prev from the list. Use one function with a direction argument.
* autocomplete: Use asprintf don't calculate length twiceMichael Vetter2021-03-111-4/+9
| | | | | | | | Through asprintf() we can get rid of malloc() + sprintf(). Also we don't need to calculate the strlen() again since asprintf() returns the bytes printes. Only non UTF-8 characters. But that was true before already.
* Remove duplicate code in autocomplete_param*Michael Vetter2021-03-111-29/+22
| | | | | autocomplete_param_with_func and -autocomplete_param_with_ac had lots of duplicate code.
* Upload: Fix unused returnThorben Günther2021-03-111-4/+9
|
* Merge pull request #1501 from xenrox/change-passwordMichael Vetter2021-03-1110-6/+137
|\ | | | | Add command to change password of logged in user
| * Add command to change password of logged in userThorben Günther2021-03-118-1/+128
| |
| * Update ui_ask_password to support confirmationThorben Günther2021-03-113-5/+9
| | | | | | | | | | Just prints a different string to console. Useful for changing passwords or account registration.
* | Update to the newest version of XEP 0363 (HTTP Upload)Maximilian Wuttke2021-03-115-36/+67
|/ | | | | | | | | | | | | Main changes: 1. Attributes instead of tags 2. Read the optional <header> tags and send them in the HTTP PUT header: * Authorization * Cookie * Expires Co-authored-by: Martin Dosch <martin@mdosch.de>
* Merge pull request #1496 from mwuttke97/omemo-bugfixesMichael Vetter2021-03-106-78/+128
|\ | | | | [OMEMO]: Fix bundle publishing
| * [OMEMO]: Fix bundle publishingMaximilian Wuttke2021-03-091-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the following options in `omemo_bundle_publish()`: - "pubsub#persist_items" = "true" - "pubsub#access_model" = "open" The same options are also used in Gajim. I've tested this on two different servers. The bundle was successfully added as a new PEP node. Test cases: 1. Normal use on my main account 2. Log in into a fresh tesst account on a different server 3. `/omemo clear_device_list`. In this case, the client(s) may have to be restarted. Note: In `_omemo_bundle_publish_result`, there's a route that is taken when the bundle publish stanza failed. In this case, the node is configured manually, i.e. the access_model is set to 'open'. I have manually tested this case, but this case didn't naturally occur for me. Note: The option "pubsub#max_items=max" is REQUIRED for the bundle publication, as per XEP-0384. However, this is not done in other clients (I've checked the source code of Gajim and Conversations), and it is also not supported by Prosody. Cf. <https://github.com/xsf/xeps/pull/988>.
| * Logging [OMEMO]Maximilian Wuttke2021-03-091-1/+26
| | | | | | | | | | Also "handle" some errors in `_omemo_bundle_publish_configure` if the stanzas can't be found
| * Variadic version of `stanza_attach_publish_options`Maximilian Wuttke2021-03-092-16/+37
| |
| * Logging [OMEMO]Maximilian Wuttke2021-03-091-6/+10
| |
| * Logging [CONNECTION]Stefan2021-03-091-0/+1
| |
| * Changes logging format to [OMEMO]Stefan2021-03-091-48/+49
| |
| * OMEMO - Removed start session after roster receivedStefan2021-03-091-4/+0
| | | | | | | | | | Reduce the request during startup of profanity Removed omemo_start_sessions from sv_ev_roster_received
* | Remove "file://" from file namesMaximilian Wuttke2021-03-091-0/+3
|/ | | | | Rationale: When copying an image in some application, a URL instead of a path is copied to the clipboard.
* Cmd definitions: Add offline option to occupantsThorben Günther2021-03-081-2/+5
|
* Merge pull request #1495 from xenrox/offline-membersMichael Vetter2021-03-0810-10/+96
|\ | | | | MUC: Show offline members in sidebar
| * MUC: Show offline members in sidebarThorben Günther2021-03-0810-10/+96
| |
* | Prevent segfault in sv_ev_incoming_message()Michael Vetter2021-03-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regards https://github.com/profanity-im/profanity/issues/1488 Actually I would have loved to see the stanza that caused the segfault since I'm not entirely sure whether this actually means that we do something wrong earlier on. Right now I don't know why the to_jid should be empty. Let's prevent the segfault for now and see whether we get further bugreports later. Segfaulting issue got introduced with dd566d8d561099bbfc81b2fab22318bbad0cf3da.
* | Draw wintitle using fputs and fprintf instead of /bin/echo.Akce2021-02-281-25/+8
|/
* Merge pull request #1484 from kaffeekanne/calm-openbsd-syslogMichael Vetter2021-02-151-5/+5
|\ | | | | Calm OpenBSD syslog
| * Calm OpenBSD syslogkaffeekanne2021-02-151-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | On every write to `chatlog.db` syslog throws ``` profanity: vfprintf %s NULL in "INSERT INTO `ChatLogs` (`from_jid`, `from_resource`, `to_jid`, `to_resource`, `message`, `timestamp`, `stanza_id`, `archive_id`, `replace_id`, `type`, `encryption`) SELECT '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' WHERE NOT EXISTS (SELECT 1 FROM `ChatLogs` WHERE `archive_id` = '%s')" ``` in `/var/log/messages`. Checking for `NULL` except in the fields the DB is expected to throw errors for, satisfies OpenBSDs security measures