| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
The strings have to be dup'ed, otherwise we'll free them twice.
Fixes #1855
Introduced by b6bb50ceb28250317351fd5115e3f187f0c56fba
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
| |
|
|
|
|
|
|
|
|
| |
introduced in 8d3c1f79ac7cc2b0830f0afed48dc1fb9008ab0e
This fixes #1852
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
|
|
|
|
|
|
| |
Tell the user that a MAM request will be issued delayed instead of showing
a warning that MAM isn't supported by the server.
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
|
|
|
|
|
| |
introduced in 5d3c8ce7c164f74f606ff06d1adf849821591a51
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When compiling with `CFLAGS="-O2 -fexceptions -Wp,-D_FORTIFY_SOURCE=2"`, as
done per default when creating an AUR package e.g. via `makepkg`, this
error is produced.
Refactor `stanza_create_mam_iq()` in order to fix said warning-turned-into-
an-error.
Edit by jubalh:
I still think the error message is a false positive. But this commit improves the
code a lot.
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`MB_CUR_MAX` looks like a macro, but it's a function call and therefore
creates a VLA. We don't want that.
Also this array being uninitialized created the following Valgrind error
```
==503529== Conditional jump or move depends on uninitialised value(s)
==503529== at 0x619F15E: waddnstr (lib_addstr.c:67)
==503529== by 0x1929B7: _inp_write (inputwin.c:353)
==503529== by 0x1937D5: _inp_redisplay (inputwin.c:619)
==503529== by 0x61511B1: rl_forced_update_display (display.c:2693)
==503529== by 0x193F9D: _inp_rl_send_to_editor (inputwin.c:957)
==503529== by 0x614642F: _rl_dispatch_subseq (readline.c:916)
==503529== by 0x6146C85: _rl_dispatch_callback (readline.c:823)
==503529== by 0x616739F: rl_callback_read_char (callback.c:241)
==503529== by 0x1923DB: inp_readline (inputwin.c:188)
==503529== by 0x149860: prof_run (profanity.c:117)
==503529== by 0x2283E8: main (main.c:186)
==503529== Uninitialised value was created by a stack allocation
==503529== at 0x1928B1: _inp_write (inputwin.c:334)
```
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`data_dir` would have been leaked if directory creation failed.
`editor_argv` was leaked at some point, no idea why.
```
==1244734== 118 (32 direct, 86 indirect) bytes in 1 blocks are definitely lost in loss record 6,299 of 7,824
==1244734== at 0x4846CC3: realloc (vg_replace_malloc.c:1451)
==1244734== by 0x5E85AD0: g_realloc (in /usr/lib/libglib-2.0.so.0.7600.1)
==1244734== by 0x5E4A004: ??? (in /usr/lib/libglib-2.0.so.0.7600.1)
==1244734== by 0x5E4A7B1: g_ptr_array_add (in /usr/lib/libglib-2.0.so.0.7600.1)
==1244734== by 0x5EA4235: g_strsplit (in /usr/lib/libglib-2.0.so.0.7600.1)
==1244734== by 0x1F143C: get_message_from_editor (editor.c:92)
==1244734== by 0x193F6B: _inp_rl_send_to_editor (inputwin.c:950)
==1244734== by 0x614642F: _rl_dispatch_subseq (readline.c:916)
==1244734== by 0x6146C85: _rl_dispatch_callback (readline.c:823)
==1244734== by 0x616739F: rl_callback_read_char (callback.c:241)
==1244734== by 0x1923DB: inp_readline (inputwin.c:188)
==1244734== by 0x149860: prof_run (profanity.c:117)
==1244734== by 0x2283E8: main (main.c:186)
```
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
|
|
|
| |
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
|
|
|
|
|
| |
introduced in 8d3c1f79ac7cc2b0830f0afed48dc1fb9008ab0e
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
|\ |
|
| |\
| | |
| | | |
Minor improvements
|
| | |
| | |
| | |
| | | |
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes #1846
Issue introduced by a0aa26b6fa65ba625f4a6d3495a345c7120ff16d
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There were multiple reports where after a reconnect the window of the
MUC that was last opened, was empty.
`muc_join()` creates an instance of a MUC, `presence_join_room()` works
with this instance. Therefore the instance has to exist before working on
it.
I'm not sure if this really fixes the issue, but at least it didn't
happen anymore after I applied this modification.
I can't remember how I stumbled over this, either while looking at debug
logs or while looking at Valgrind output while a reconnect happened, but
something went wrong. Then I came to the conclusion that this may fix
the issue and for now it did ... maybe it comes back, then my RCA was
wrong.
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Each of the cmd_executable_editor(), cmd_executable_urlopen() etc calls
this helper function since they were all doing the same just for
different configurations.
|
| | |
| | |
| | |
| | |
| | | |
We autocompleted `/executable` to `avatar`, `vcard_photo`, `editor` etc.
But didn't autocomplete the next parameter. Namely `set` and `default`.
|
| | |
| | |
| | |
| | |
| | | |
All the other commands (avatar, vcard_photo, urlsave, urlopen) have the
ability to reset to default already.
|
| | |
| | |
| | |
| | | |
Was forgotten in f934c5b59.
|
| | |
| | |
| | |
| | |
| | |
| | | |
`/executable avatar` now also uses cmdtemplate and parse %p.
It seems to me that the `/avatar` command was actually completely broken
on master.
|
| |/
| |
| |
| |
| |
| | |
This is done in `/executable avatar set` since d7848e38b.
The command help also didn't mention this anymore.
Seems like it was forgotten to remove the actual parsing of this.
|
|/
|
|
|
|
|
|
| |
Use gchar instead of char in most of the cases where gchar is intended.
Reason: improve compatibility and stability. Issue #1819
Minor refactoring.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add "/avatar disable" to comply with point "3.5 Publisher Disables
Avatar Publishing" in XEP-0084.
src/command/cmd_defs.c:2416
Add "disable" argument. Reword the "/avatar" command description
so it flows better.
src/command/cmd_ac.c:1101
Add "disable" to the "/avatar" autocomplete dictionary.
src/command/cmd_funcs.c:9277
Split "/avatar" commands into two groups with an if statement; those
with a parameter and those without. "cons_bad_cmd_usage()" is in both
groups, which is messy. "disable" has similar logic to "set", but it
includes a failure message.
src/xmpp/avatar.c:152
"avatar_publishing_disable()" uses the same logic to publish metadata
as in "avatar_set()".
src/xmpp/avatar.c:238
Add a message to inform users when they do not receive an avatar after
using "/avatar get" and "/avatar open". In case of a failure, the user
will be subscribed to future avatar updates as long as they continue
to use their current instance of profanity. Adding
"caps_remove_feature()" after "cons_show()" will unsubscribe the user
from avatar updates and prevent the user from downloading an avatar
unexpectedly hours later without issuing an "/avatar" command.
src/xmpp/stanza.c:2698
The new "disable" function follows the same logic as
"stanza_create_avatar_metadata_publish_iq()".
|
|\
| |
| | |
Improve OMEMO messages
|
| | |
|
|\ \
| | |
| | | |
Fix `/plugins update`
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before it tried to unload the plugin first and check the output.
But if broken plugin was loaded, then it couldn't unload it,
so before it require uninstall and install after it,
making update useless for plugin development purposes.
Unload is part of the uninstall so no unload is needed inside of the cmd function.
Refactoring of cmd_plugins_update.
|
| |
| |
| |
| | |
Introduced in 59b99fece.
|
|/
|
|
| |
Got introduced with 5d3c8ce7c.
|
|
|
|
|
|
|
| |
Since MUC private messages are not logged by design,
part where this logging happening is removed to add consistency.
Add explanation in comment.
|
|
|
|
|
|
| |
Fix crash caused by `/log level` command.
Minor refactoring of command function.
|
|\
| |
| | |
New Feature: Session Alarm
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce new feature: sessions_alarm.
Added new account setting: max_connections. On exceeding this number,
user will get an alert. If number is less than 1, no alert will happen.
Tests altered to fit new feature.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Expected behaviour
When you type
/command
/command
it should be just 1 entry in the history.
Behaviour
All the entries were saved.
Behaviour is changed by introducing check. Before adding to history,
entry now is compared to the last history entry.
|
|/ |
|
|\
| |
| | |
Fix memory corruption crash
|
| |
| |
| |
| |
| |
| | |
In OX implementation gpgme's buffer remains untouched, thus not leading to the crash.
But code can be shorter and more concise.
|
| |
| |
| |
| |
| |
| |
| | |
Under certain circumstances setting plain_str[len] to 0 might lead to crash
and it does not follow the best practices as well.
This change allows better handling of buffer copying and prevents crash.
|
|/
|
|
|
|
| |
Add support of name/nickname instead of only JID for `/roster remove` command.
Add tests for it as well.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Let's set this to NULL.
Someone was using `picaur` and got an error about potential
uninitialization. Even though the code is fine let's set this to NULL to
make the compiler happy.
The strange thing was that building manually on the same system worked.
Related to 2e43b0ae62478bede34f6f52f73d22d671425f85.
|
|\
| |
| | |
Hotfix stanza release
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If custom client is not set and include_os is true,
stanzas might be released without initializiting.
This commit fixes it by introducing an additional check
on usage of custom client.
Related to commit e52ca2fbaa02acec3b2b757369ef5740e7a103da
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While testing https://github.com/profanity-im/profanity/pull/1817
we found that:
```
/statusbar show name (I have this off by default
/msg someone where I chose someone in my roster that has a nick assigned
/statusbar chat jid
```
Will only take effect upon creation or redraw of that tab.
Reason is that we do this in create_tab to limit building this
dynamically.
Let's leave it like it is but add a note to users.
Not worth build that string all the time.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Fixes statusbar tabs.
Bug: Statusbar used nickname if it was set in roster,
irrelevant to /statusbar chat setting.
Expected behaviour would be using this setting set as "user" to show nickname,
and to show jid with "jid" setting.
Other solution is to give a user control over it with another settings.
- _status_bar_draw_maintext cleaned up, no changes to behaviour
|
|/
|
|
|
|
|
| |
Before this change, only nickname or JID (if no nickname set) is shown in the titlebar.
Change allows to alter nickname/JID preference
using already implemented /titlebar show jid|name setting.
If both are set to "show", then it is displayed in "nickname <JID>" format.
|
| |
|
|\
| |
| | |
Feature: Allow setting client identification name/version manually
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add changes allowing user to switch client name and version.
Useful for enhancing user privacy.
Minor cleanup.
|
| |
| |
| |
| |
| |
| |
| | |
As stated in
https://github.com/profanity-im/profanity/pull/1820#issuecomment-1498083383
profanity uses "..." (three dots) in a lot of places instead the proper
ellipsis char "…".
|