Commit Graph

56 Commits

Author SHA1 Message Date
58dd89be40 refactor: optimize hash table iterations and fix security issues #58
Some checks failed
CI Code / Check coding style (pull_request) Successful in 38s
CI API Docs / Test Python API Documentation Generation (pull_request) Has been cancelled
CI API Docs / Test C API Documentation Generation (pull_request) Has been cancelled
CI Code / Check spelling (pull_request) Successful in 49s
CI Code / Linux (ubuntu) (pull_request) Successful in 6m22s
CI Code / Linux (debian) (pull_request) Successful in 9m3s
CI Code / Code Coverage (pull_request) Successful in 9m16s
CI Code / Linux (arch) (pull_request) Successful in 11m20s
- refactor(core): replace g_hash_table_get_keys with g_hash_table_iter_init
  * Eliminates temporary GList allocations
  * Improves iteration performance
  * Affected: connection.c, cmd_defs.c, cmd_funcs.c, omemo.c, gpg.c,
    disco.c, form.c, autocompleters.c, capabilities.c, callbacks.c

- fix(xmpp): correct queued_messages loop in connection.c:1031
  * Remove incorrect NULL check that prevented message storage
  * calloc zeros array, causing loop to skip immediately
  * Fixes dropped messages during reconnection with SM enabled

- fix(ui): prevent format string vulnerabilities in cons_show calls
  * Replace cons_show(variable) with cons_show("%s", variable)
  * Protects against format string attacks if variables contain %
  * Updated instances across cmd_funcs.c, connection.c, ox.c,
    console.c, core.c
2026-02-04 16:19:41 +03:00
Steffen Jaeckel
ffc0b49ab1 first step to remove libmesode
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
2021-10-27 22:45:44 +02:00
Michael Vetter
ebb1be9e58 form.c: fix memleak in form_tag_exists 2021-03-17 16:18:56 +01:00
Michael Vetter
a2726b6a7d Apply coding style 2020-07-07 14:18:57 +02:00
Michael Vetter
a4cadf78fa Revert "Apply coding style"
This reverts commit 9b55f2dec0.

Sorting the includes creates some problems.
2020-07-07 13:53:30 +02:00
Michael Vetter
9b55f2dec0 Apply coding style
Regards https://github.com/profanity-im/profanity/issues/1396
2020-07-07 09:43:28 +02:00
Michael Vetter
46fd7150e5 Add vim modeline 2019-11-13 12:11:05 +01:00
Michael Vetter
6c8e567328 Reduce codelines in form.c
Let's use calloc instead of malloc and then setting almost all fields to
NULL.
2019-07-10 12:53:45 +02:00
Michael Vetter
706af9a900 Update copyright to include 2019 2019-01-22 11:31:45 +01:00
James Booth
250e972b7a Update copyright 2018-01-21 15:00:02 +00:00
James Booth
68a3daedb9 Update Copyright 2017-01-28 17:24:22 +00:00
James Booth
24c3eff428 Use libstrophe convenience functions for stanza attributes 2016-08-20 18:16:51 +01:00
James Booth
0a57c4de78 Tidy headers 2016-07-24 15:43:51 +01:00
James Booth
e8fc80f5c1 Update GPL link in headers 2016-07-24 01:14:49 +01:00
James Booth
88f423afea Rename jabber_ functions 2016-05-06 00:53:03 +01:00
James Booth
f6fa63b374 Renamed connection.c -> session.c 2016-05-05 22:10:10 +01:00
Dmitry Podgorny
efbf233c85 Define stanza's attributes as const char*
In most get-like funcitons libstrophe returns pointer to a string
that resides in an internal structure (e.g. xmpp_stanza_t). Hence,
Profanity must not change such strings. Define respective variables
as 'const char*' to reduce a chance of error and conform future
libstrophe's interface.

This patch mostly replaces 'char *' with 'const char*', but also
fixes two memory leaks after stanza_get_reason(). Add comment within
stanza_get_reason() to fix conflict with different allocator types.
2016-04-27 10:31:28 +00:00
James Booth
9b177a9e01 Removed #AX_PREFIX_CONFIG_H 2016-03-31 21:05:02 +01:00
James Booth
1f90aca503 Merge branch 'master' into plugins-c
Conflicts:
	src/main.c
	src/ui/console.c
2016-02-14 23:00:52 +00:00
James Booth
e53e94f1e2 Updated copyright 2016-02-14 22:54:46 +00:00
James Booth
41fe8c22b1 Added C plugin code from plugins branch 2016-02-14 22:28:55 +00:00
James Booth
c8a6bdb381 Applied coding style to src/xmpp/ 2015-10-26 00:14:23 +00:00
James Booth
2b88e2f1bf Check for libmesode, fall back to libstrophe 2015-09-21 21:40:04 +01:00
James Booth
cbcf476a7c Use null check convention in form.c 2015-05-04 23:17:18 +01:00
James Booth
b3be26a214 Updated copyright 2015-02-10 23:16:09 +00:00
James Booth
9d94ac5c63 Removed function pointers 2014-12-22 22:13:42 +00:00
James Booth
c4412fe823 Fixed various memory leaks 2014-11-01 01:48:36 +00:00
James Booth
fbeb107cbe Dont check for var attribute on form fields of type fixed 2014-09-30 20:44:00 +01:00
James Booth
e8a450bc17 Sort form fields for sha-1 caps hash 2014-09-21 21:43:42 +01:00
James Booth
a905ce18a3 Added autocompletion for jid-multi form fields 2014-09-17 23:36:10 +01:00
James Booth
45ba6f1fed Added autocompletion for form text-multi values 2014-09-17 23:35:51 +01:00
James Booth
fa7b6f3000 Added autocompletion for form list-multi values 2014-09-17 23:03:03 +01:00
James Booth
e42a0847a2 Added autocompletion for form list-single values 2014-09-17 22:51:52 +01:00
James Booth
f494faac99 Show form fields after updating 2014-09-15 23:28:12 +01:00
James Booth
c5b697dba7 Dont allow unsaved form windows to be closed 2014-09-15 22:31:15 +01:00
James Booth
de0ce0b80d Allow removing data from text-multi form fields 2014-09-14 18:36:44 +01:00
James Booth
8cfe80e979 Added setting of unique form list values 2014-09-14 16:23:25 +01:00
James Booth
7a12684523 Added /room remove command, reformetted form output 2014-09-14 01:53:52 +01:00
James Booth
68b839a508 Added /room add for *-multi 2014-09-14 00:18:06 +01:00
James Booth
e13940daf4 Added form validation for list-single type 2014-09-13 23:07:52 +01:00
James Booth
b111419693 Added form type check on set 2014-09-13 22:39:06 +01:00
James Booth
c4b4cb557f form_get_field_by_var->form_get_form_type_field 2014-09-13 21:55:46 +01:00
James Booth
0a4dea55d5 Do not tag hidden form fields 2014-09-13 21:46:54 +01:00
James Booth
cbb199e06e Do not set hidden for fixed form fields 2014-09-13 21:40:16 +01:00
James Booth
d8400a5fd7 Initialise form field tag autocomplete 2014-09-13 21:36:16 +01:00
James Booth
128a4a811f Added autocomplete for setting room config form tags 2014-09-12 13:28:33 +01:00
James Booth
6c45f8ffae Check room config tag exists before setting 2014-09-12 00:39:37 +01:00
James Booth
38959e0c33 Added setting of *-single room config values 2014-09-12 00:21:28 +01:00
James Booth
42a14d0182 Added tags to form fields 2014-09-11 23:44:39 +01:00
James Booth
eba3a7cb30 Implemented /room config submit for saving room configuration 2014-09-10 23:05:35 +01:00