1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00
Commit Graph

6390 Commits

Author SHA1 Message Date
Michael Vetter
f81ed759f5 stanza: guard mallocs
If this happens we have more serious problems :-)
But anyways..
2021-03-25 16:14:40 +01:00
Michael Vetter
d23c3dd065 stanza: simplify stanza_get_muc_destroy_alternative_room 2021-03-25 15:59:48 +01:00
Michael Vetter
caa2c7afd0 stanza: replae strcmp with g_strcmp0
since its NULL safe
2021-03-25 15:55:18 +01:00
Michael Vetter
1f96e14ce7 message: simplify _handle_headline 2021-03-25 15:43:57 +01:00
Michael Vetter
b2a02424ed message: make _receipt_request_handler safer 2021-03-25 15:38:48 +01:00
Michael Vetter
099260a4e3 message: make _handle_receipt_received safer 2021-03-25 15:37:54 +01:00
Michael Vetter
2236242407 message: make _handle_groupchat safer 2021-03-25 15:36:17 +01:00
Michael Vetter
ca9c946ddc message: simplify _handle_conference 2021-03-25 15:33:30 +01:00
Michael Vetter
2601fc5571 message: make _handle_form safer 2021-03-25 15:27:59 +01:00
Michael Vetter
b1bd1ecca8 message: make _message_handler safer 2021-03-25 15:26:16 +01:00
Michael Vetter
11382a8bf3 mesage: make _handle_ox_chat safer
And on the way fix a memleak
2021-03-25 15:20:53 +01:00
Michael Vetter
8a6d256fc1 message: make _handle_chat safer 2021-03-25 15:07:09 +01:00
Michael Vetter
ee87e5b036 message: make _handle_muc_private_message safer 2021-03-25 15:03:35 +01:00
Michael Vetter
d2dc440535 message: fix potential segfault in _receipt_request_handler 2021-03-25 11:56:38 +01:00
Michael Vetter
e396e863dd message: safeguard _handle_receipt_received
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.
2021-03-25 11:54:59 +01:00
Michael Vetter
9cfe5ec787 message: reorder _handle_groupchat 2021-03-25 11:51:42 +01:00
Michael Vetter
96b228728e message: fix possible segfault in _handle_conference 2021-03-25 11:43:42 +01:00
Michael Vetter
f21a99eaf8 message: fix possible segfault in _handle_muc_user 2021-03-25 11:38:22 +01:00
Michael Vetter
e656bdb83c message: fix possible segfault in _message_handler 2021-03-25 11:34:14 +01:00
Michael Vetter
2ea08fd994
Merge pull request #1510 from profanity-im/fix/1210-muc-register
Register nickname with MUC
2021-03-25 11:20:10 +01:00
Michael Vetter
fde0a0d1c6 Add support to register with a room
`/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
2021-03-25 11:05:58 +01:00
Michael Vetter
064174efa3 debug build: build without -fsanitize=address
Sorry :-)
Seems then we can't use valgrind since that does its own ASAN things.

So maybe developers needs to set some flags by themselves to find these
memory issues.

https://fuzzing-project.org/tutorial-cflags.html might be of help.

Regards: https://github.com/profanity-im/profanity/issues/1512
2021-03-24 17:20:54 +01:00
Michael Vetter
5f7840bc3f debug build: build with -fsanitize=address
Let's compile with this flag to detect memory erros in the debug build.

See https://clang.llvm.org/docs/AddressSanitizer.html

Regards: https://github.com/profanity-im/profanity/issues/1512
2021-03-24 17:08:19 +01:00
Michael Vetter
18172f5260
Merge pull request #1511 from mwuttke97/doc_bookmark_join
Command doc: Improve description and examples of `/bookmark` and `/join`
2021-03-24 14:31:22 +01:00
Maximilian Wuttke
b8f3e8e0ac Command doc: Improve description and examples of /bookmark and /join 2021-03-21 10:59:06 +01:00
Michael Vetter
051e31ffc0
Merge pull request #1508 from profanity-im/fix/1507-voice-accept
Support to approve MUC voice requests
2021-03-17 16:36:44 +01:00
Michael Vetter
ebb1be9e58 form.c: fix memleak in form_tag_exists 2021-03-17 16:18:56 +01:00
Michael Vetter
5cec47c86a Add support to approve MUC voice requests
A form will open. One can then use `/field4 on` `/form submit`.

Implements https://github.com/profanity-im/profanity/issues/1507
2021-03-17 16:16:59 +01:00
Michael Vetter
5d2037aa0c profanity.c: move var into function 2021-03-16 14:41:52 +01:00
Michael Vetter
0044da01ee
Merge pull request #1504 from xenrox/request-voice
MUC: Add voice request
2021-03-16 13:15:38 +01:00
Thorben Günther
ec6f9df486
MUC: Add voice request
closes https://github.com/profanity-im/profanity/issues/1211
2021-03-12 14:57:00 +01:00
Thorben Günther
dbd8657759
Completion: Split up role and affiliation completion
Needed for affiliation request
2021-03-12 14:49:20 +01:00
Michael Vetter
cb0adae63a Dont build paths manually in cmd_funcs.c
Some time ago we introduced get_expanded_path().
No need to build paths manually anymore to get ~.
2021-03-12 10:29:06 +01:00
Michael Vetter
537b14da50
Merge pull request #1503 from profanity-im/cleanup/autocomplete-1
Cleanup autocomplete
2021-03-12 09:00:34 +01:00
Michael Vetter
638a50f8d1 autocomplete: remove duplicate code in search functions
_search_next and _search_prev where exactly the same except taking the
nex/prev from the list.
Use one function with a direction argument.
2021-03-11 22:24:27 +01:00
Michael Vetter
e3133ed98f autocomplete: Use asprintf don't calculate length twice
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.
2021-03-11 22:24:02 +01:00
Michael Vetter
c1ccaee58f Remove duplicate code in autocomplete_param*
autocomplete_param_with_func and -autocomplete_param_with_ac had lots of
duplicate code.
2021-03-11 22:08:04 +01:00
Michael Vetter
7e6b9f4e0a
Merge pull request #1502 from xenrox/fix-unused-return
Upload: Fix unused return
2021-03-11 21:21:23 +01:00
Thorben Günther
c29343b811
Upload: Fix unused return 2021-03-11 21:05:35 +01:00
Michael Vetter
a7ecda7773
Merge pull request #1501 from xenrox/change-password
Add command to change password of logged in user
2021-03-11 18:18:03 +01:00
Thorben Günther
b0aea2bcff
Add command to change password of logged in user 2021-03-11 17:42:53 +01:00
Michael Vetter
7d6f01df86
Merge pull request #1500 from mwuttke97/bugfix/1499
Fix HTTP upload
2021-03-11 17:35:02 +01:00
Maximilian Wuttke
e217ed0b79 Update to the newest version of XEP 0363 (HTTP Upload)
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>
2021-03-11 17:11:22 +01:00
Thorben Günther
71236a0d5a
Update ui_ask_password to support confirmation
Just prints a different string to console.
Useful for changing passwords or account registration.
2021-03-11 14:40:17 +01:00
Michael Vetter
96580f917b
Merge pull request #1496 from mwuttke97/omemo-bugfixes
[OMEMO]: Fix bundle publishing
2021-03-10 11:01:35 +01:00
Michael Vetter
0daa7f4a82
Merge pull request #1498 from mwuttke97/send_file_remove_protocol
Remove "file://" from file names
2021-03-10 09:34:42 +01:00
Maximilian Wuttke
1576ac11cb Remove "file://" from file names
Rationale: When copying an image in some application, a URL instead of a
path is copied to the clipboard.
2021-03-09 20:45:29 +01:00
Maximilian Wuttke
2b1ada7722 [OMEMO]: Fix bundle publishing
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>.
2021-03-09 17:48:29 +01:00
Maximilian Wuttke
68469149cd Logging [OMEMO]
Also "handle" some errors in `_omemo_bundle_publish_configure` if the
stanzas can't be found
2021-03-09 17:47:43 +01:00
Maximilian Wuttke
4124856100 Variadic version of stanza_attach_publish_options 2021-03-09 17:47:37 +01:00