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
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
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
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
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
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
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
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
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
Maximilian Wuttke
8481698705
Logging [OMEMO]
2021-03-09 17:47:27 +01:00
Stefan
637c2c2d62
Logging [CONNECTION]
2021-03-09 17:47:22 +01:00
Stefan
fb4aec752f
Changes logging format to [OMEMO]
2021-03-09 17:47:22 +01:00
Stefan
b460d427bc
OMEMO - Removed start session after roster received
...
Reduce the request during startup of profanity
Removed omemo_start_sessions from sv_ev_roster_received
2021-03-09 17:47:22 +01:00
Thorben Günther
2dd909babb
Cmd definitions: Add offline option to occupants
2021-03-08 19:15:24 +01:00
Michael Vetter
c8dba32760
Merge pull request #1495 from xenrox/offline-members
...
MUC: Show offline members in sidebar
2021-03-08 15:35:28 +01:00
Thorben Günther
f1780f0017
MUC: Show offline members in sidebar
2021-03-08 14:34:59 +01:00
Michael Vetter
8190301a67
Prevent segfault in sv_ev_incoming_message()
...
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 dd566d8d56
.
2021-03-05 12:31:27 +01:00
Akce
f3e080e268
Draw wintitle using fputs and fprintf instead of /bin/echo.
2021-02-28 07:43:26 +11:00
Michael Vetter
b170fcb55f
Merge pull request #1484 from kaffeekanne/calm-openbsd-syslog
...
Calm OpenBSD syslog
2021-02-15 17:13:03 +01:00
kaffeekanne
49dc9c5755
Calm OpenBSD syslog
...
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
2021-02-15 15:58:35 +01:00
Michael Vetter
69e923df3b
Remove forgotten debug line
2021-02-15 09:58:37 +01:00
Stefan
45e4d26296
Bugfix: Titlebar show name without room name
...
Error log:
GLib-CRITICAL - g_string_insert_len: assertion 'len == 0 || val != NULL' failed
Check if a room name exists, before adding the name into the title bar.
2021-02-14 21:00:05 +01:00
Michael Vetter
79fbd403a7
Correct command synopsis for mam
2021-02-09 11:31:08 +01:00
Michael Vetter
1435c7ae14
Use correct time for MAM messages
...
We need the delay value from the <forward> element.
Regards https://github.com/profanity-im/profanity/issues/660
2021-02-04 21:13:31 +01:00
Michael Vetter
44fc3f0506
Add /mam command
...
Regards https://github.com/profanity-im/profanity/issues/660
2021-01-28 15:11:50 +01:00
Michael Vetter
c2ec3e7033
Enable error logging on MAM RSM
2021-01-28 14:44:53 +01:00
Michael Vetter
840238b126
Get MAM from last 7 days
...
Probably should make this configurable later.
2021-01-28 14:44:53 +01:00
Michael Vetter
d3303517f7
MAM: Request more pages via RSM
...
Send another request with same jid and last id we got.
2021-01-28 14:44:53 +01:00
Michael Vetter
6e1e01dbb8
Adapt MAM RSM code to latest functions
...
Some functions changed in the meantime.
stanza_get_child_by_name_and_ns() got dropped and
xmpp_stanza_get_child_by_name_and_ns() from newer libstrophe is used.
2021-01-28 14:44:53 +01:00
Michael Vetter
db65255a5a
wip: add rsm after we get the first couple of mam messages
2021-01-28 14:44:53 +01:00
Michael Vetter
69e35e86b2
mam: Use correct ID in rsm handler
...
Thanks to DebXWoody for the help.
2021-01-28 14:44:53 +01:00
Michael Vetter
d06ca64098
mam: fix logging message
2021-01-28 14:44:53 +01:00
Michael Vetter
014e03c72e
Start working on MAM RSM to get more pages
...
Regards https://github.com/profanity-im/profanity/issues/660
2021-01-28 14:44:35 +01:00
Michael Vetter
6a17e9d50e
Dont reload theme when disconnecting on purpose
...
I don't see why would need to.
Also this only happens upon `/disconnect` not on a network outage or
server related disconnect.
Fixes https://github.com/profanity-im/profanity/issues/1472
2021-01-22 13:17:49 +01:00
Michael Vetter
a01c963b46
Simplify console notification code
...
Functions had some duplicate code:
* cons_show_incoming_room_message()
* cons_show_incoming_message()
* cons_show_incoming_private_message()
2021-01-21 10:20:34 +01:00
Michael Vetter
1038b97a7d
Fix old chlog reference in help
...
Fixes https://github.com/profanity-im/profanity/issues/1470
2021-01-17 11:31:05 +01:00
Michael Vetter
8c08e64f37
Update copyright
2021-01-08 16:36:30 +01:00
William Wennerström
01e8f01ed3
Add /executable (urlsave|urlopen)
migrations
2020-12-18 16:05:11 +01:00
Michael Vetter
881b99c062
Remove not needed include
2020-12-16 14:46:01 +01:00
Michael Vetter
916b33b096
Merge pull request #1459 from wstrm/issue-1359
...
Restore old behavior when executing eval_password command
2020-12-15 16:38:24 +01:00
William Wennerström
0437fae1a8
Do not inherit stdin of main process
...
I see no reason to inherit the stdin, so let's have it disabled.
2020-12-15 15:48:51 +01:00
William Wennerström
695a1d3c8c
Use popen for eval_password (reintroduce old behavior)
...
Old commit that implemented the old behavior:
bc9e6b79cd
2020-12-15 15:45:16 +01:00
kaffeekanne
97dd1cb0c2
Set input window size to max window size
...
Input window size was one cell off, therefore terminal themes with background color set were rendered incorrectly, fixes #1458
2020-12-11 20:33:01 +01:00
kaffeekanne
4e999283f0
Remove blank line after trackbar
...
Remove added blank line after trackbar, introduced by 606c1e51e6
2020-12-11 16:10:26 +01:00
William Wennerström
32cfea4bd2
Refactor call_external
2020-12-11 15:51:01 +01:00
Michael Vetter
63843342c3
Remove old TODO
...
It was added in f7fe87dd4e
when I rewrote
window functions to include more infos (not just char* but whole jid
struct I think).
The same todo was added to win_print_outgoing_muc() but removed in
f3d9de133e
.
This TODO should have been removed in
f3d9de133e
since there we added the myjid
parameter.
2020-12-11 13:47:40 +01:00
Michael Vetter
d5415b99a6
Fix color for win_print_outgoing()
...
Discovered by @aba-hollerer.
Mistake was introduced in b6b7dd5ad4
probably due to a wrong copy/paste.
First wasn't reproducible because I had `/receipts request on` and thus
win_print_outgoing_receipts() is used which has the correct
THEME_TEXT_ME.
Fixes https://github.com/profanity-im/profanity/issues/1441
2020-12-11 12:14:27 +01:00
Michael Vetter
46e938b638
Adapt profanity --help output
2020-12-11 11:56:45 +01:00
Michael Vetter
0277ffe6ae
Only rotate logs if user didn't specify a log file
2020-12-11 11:33:34 +01:00
Michael Vetter
57666bcb77
Remove log_reinit()
...
Not needed anymore.
2020-12-11 11:18:24 +01:00
Michael Vetter
47a447bf73
Shared log file needs a restart
...
Tell user about this change.
2020-12-11 11:17:44 +01:00
Michael Vetter
a8990014e2
Use whole path as logfile when defined via -f
...
`profanity -f my` created ~/.local/share/profanity/logs/my.log`.
It would be nicer if one could define the actual path, so one can choose
another directory or even use /dev/null.
Fixes https://github.com/profanity-im/profanity/issues/1442
2020-12-11 10:40:10 +01:00
William Wennerström
42a0518ff4
Fix deadlock on error before HTTP download has begun
2020-12-10 19:26:06 +01:00
William Wennerström
e70c64b74a
Create download directory under XDG data path
...
* If the downloads directory does not exist, create it.
* Change some cons_show to cons_show_error (because they log errors).
2020-12-10 19:04:32 +01:00
Michael Vetter
3b093553e1
Set default color for trackbar
...
Fix https://github.com/profanity-im/profanity/issues/1453
2020-12-10 15:07:55 +01:00
Michael Vetter
b12183aa1a
Remove empty line
2020-12-10 14:40:25 +01:00
Michael Vetter
3703879a1c
Remove not needed initialization in chatwin_new()
...
00dbc1ba7c
attempted to fix
https://github.com/profanity-im/profanity/issues/1449 .
Here we revert the part about initializing is_omemo in chatwin_new()
since this is done in win_create_chat() already.
The actual mistake was the wrong cast of the muc window which is fixed
by the same commit. The mistake was introduced in in 3370418d71
.
While being at it we also remove the is_ox initialization since this is
handled in win_create_chat()/win_create_muc() too.
2020-12-10 14:23:47 +01:00
Michael Vetter
a94378f206
Fix various typos
2020-12-10 09:24:32 +01:00
Michael Vetter
f0bfa69296
Merge pull request #1450 from wstrm/issue-1449
...
Cast chat/muc window to correct type and refactor cmd_sendfile
2020-12-10 09:17:12 +01:00
Michael Vetter
aa1f907125
Merge pull request #1451 from timgates42/bugfix_typo_certain
...
docs: fix simple typo, certian -> certain
2020-12-10 08:43:31 +01:00
Michael Vetter
150ce3520b
Merge pull request #1446 from profanity-im/fix/1439-chatlogs
...
Fix chatlogs for outgoing carbons
2020-12-10 08:41:57 +01:00
William Wennerström
a1486012d2
Fix build failure (unused variable)
2020-12-09 19:37:35 +01:00
Tim Gates
93480bed09
docs: fix simple typo, certian -> certain
...
There is a small typo in src/config/theme.c.
Should read `certain` rather than `certian`.
2020-12-10 05:25:37 +11:00
William Wennerström
073412b845
Remove stray +2 for path string in get_expanded_path
2020-12-09 19:24:15 +01:00
William Wennerström
00dbc1ba7c
Cast chat/muc window to correct type and refactor cmd_sendfile
...
Fixes #1449
2020-12-09 19:02:37 +01:00
Michael Vetter
b525befe67
Allocate memory for realpath in both cases
...
Forgot about that :(
2020-12-09 16:22:06 +01:00
Michael Vetter
ad7366994a
Simplify notify()
2020-12-09 11:01:16 +01:00
Michael Vetter
22b923018f
Log incoming carbons if they are no MUCPM
...
Regards https://github.com/profanity-im/profanity/pull/1446
2020-12-09 10:49:19 +01:00
Michael Vetter
606c1e51e6
Expand trackbar to whole line
...
Fix https://github.com/profanity-im/profanity/issues/1448
2020-12-09 10:21:32 +01:00
Michael Vetter
5179b253c4
Purge omemo sendfile from config
...
https://github.com/profanity-im/profanity/pull/1375 added omemo media sharing support.
Thus the protection
(https://github.com/profanity-im/profanity/pull/1270 ) to sending files plainly in an omemo chat isn't
needed anymore and got removed.
Lets clean it from the config file.
2020-12-09 08:44:44 +01:00
Michael Vetter
55f09b6152
Use get_expanded_path() in cmd_senfile()
2020-12-09 08:44:44 +01:00
Michael Vetter
a2291b36c4
Expand ~ in unique_filename_from_url()
...
unique_filename_from_url() is used for `/url save`.
It doesn't recognize ~ by itself, we need to expand it first.
Mentioned in
https://github.com/profanity-im/profanity/pull/1375#pullrequestreview-547892462
2020-12-09 08:44:26 +01:00
Michael Vetter
7a319df6c8
Merge pull request #1375 from wstrm/feature/omemo-sendfile
...
Send and retrieve encrypted files when using OMEMO
2020-12-09 08:09:09 +01:00
William Wennerström
d7848e38bc
Remove scheme and filetype matching for url (save|open)
2020-12-08 20:01:17 +01:00
Michael Vetter
3e26364579
Fix chatlogs for outgoing carbons
...
Doesn't make sense to log if plain is not set in all cases.
Regards https://github.com/profanity-im/profanity/issues/1439
2020-12-08 12:26:36 +01:00
Michael Vetter
1bbdaec8e7
Print man page arguments bold
2020-12-07 17:25:22 +01:00
Michael Vetter
377a7b8e83
Generate date for manpage
2020-12-07 16:58:09 +01:00
William Wennerström
7f0165a912
Fix segfault for urlopen[1]
2020-12-07 16:46:44 +01:00