Commit Graph

7666 Commits

Author SHA1 Message Date
dda8a6f722 upstream: cleanup: Wrap release handler in iq.c (12a181b5d) 2026-03-31 19:58:59 +03:00
b1aa840e06 upstream: Add types to function prototypes (a704887f1) 2026-03-31 19:58:59 +03:00
ccd6a8b3c3 upstream: Use gboolean consistently. (62fd40c51) 2026-03-31 19:58:59 +03:00
c99d852ad7 upstream: Simplify conf_string_list_{add,remove}() implementations. (b0221f614) 2026-03-31 19:58:59 +03:00
ef958772a9 upstream: Add new command /changes (24c3b5d53) 2026-03-31 19:58:59 +03:00
1c12498a1b upstream: Print PID in debug logs. (1aeb19acb) 2026-03-31 19:58:59 +03:00
a7a09a813a upstream: Minor improve theme (038f345a4) 2026-03-31 19:58:59 +03:00
e1de3eee8e upstream: Fix overwriting new accounts when running multiple instances. (81f92f1fe) 2026-03-31 19:58:59 +03:00
c1dd6b8b1a upstream: fix: Improve status reporting and filename handling for /url save (a9ef00032) 2026-03-31 19:57:35 +03:00
c67f716eb9 upstream: fix(ui): Fix custom outgoing stamp and fix stamp command help (b0a89530f) 2026-03-31 19:57:34 +03:00
b0f4590082 upstream: feat: Add command autocompletion for /stamp (9035af95c) 2026-03-31 19:57:34 +03:00
9538816bef upstream: feat: Display incoming reports (XEP-0377) (93918a20d) 2026-03-31 19:57:34 +03:00
c03d3d499b upstream: fix: Use <body> tag for spam reporting (XEP-0377) (446f28ac3) 2026-03-31 19:57:34 +03:00
7de1b52962 upstream: docs: Improve help for /blocked (030c0b799) 2026-03-31 19:57:34 +03:00
66e84a2735 upstream: fix: Check for necessary pointers in omemo_receive_message (25d2cb012) 2026-03-31 19:57:34 +03:00
19c87e74f2 upstream: Simplify accounts_get_account(). (7c04b17af) 2026-03-31 19:54:07 +03:00
dd8b62f43d upstream: When renaming an account, copy all existing keys. (c61c72f2f) 2026-03-31 19:54:07 +03:00
5fc3b41707 upstream: Fix reconnect when no account has been set up yet. (f19acc215) 2026-03-31 19:54:07 +03:00
7215aacd5e upstream: cleanup: add a defensive check in cmd_process_input() (f74501e97) 2026-03-31 19:52:25 +03:00
23436ae0aa upstream: fix: fix redundant error reporting in http download (286e563fb) 2026-03-31 19:52:25 +03:00
56488dd2f9 upstream: fix: fix api_get_current_occupants() memory problems (1ec536d34) 2026-03-31 19:52:25 +03:00
034b789f1c upstream: fix: Fix Floating Point Exception in OMEMO session building (bc13a726b) 2026-03-31 19:51:20 +03:00
f6b2347811 upstream: fix: Ignore self-presence for untracked MUC rooms (9fb45b543) 2026-03-31 19:51:20 +03:00
a8716bf8a7 perf: optimize random data generation (upstream d9a8c579) 2026-03-31 19:50:30 +03:00
6831c4a192 perf: flush OMEMO store only after encrypting for all recipients (upstream cbe6dac4) 2026-03-31 19:48:20 +03:00
e8b8a8d52e fix: don't publish OMEMO keys if server doesn't support pubsub (upstream 01c781fc) 2026-03-31 19:46:19 +03:00
1bf7324970 fix: allow adding own JID to roster (upstream 4c731f52) 2026-03-31 19:39:28 +03:00
6730719355 feat: only request receipts when supported (upstream 421bb2e2) 2026-03-31 19:37:09 +03:00
e55b1b3e9d feat(ui): implement dynamic pad resizing (upstream 3e16ae1d) 2026-03-31 19:32:18 +03:00
d7decd7f17 fix: reduce OMEMO trust check frequency + trust indicators in titlebar (upstream 62458557) 2026-03-31 19:25:06 +03:00
626f67237d fix: OTR whitespace tag detection to prevent false positives (upstream cff26a97) 2026-03-31 19:23:09 +03:00
1ffff8de33 fix: check connection state before accepting command (upstream 613df864) 2026-03-31 19:21:05 +03:00
7bc5b3cf2e fix: exit gracefully on SIGTERM and SIGHUP (upstream 7c83c260) 2026-03-31 19:19:02 +03:00
bba6bc5f76 feat: sanitize illegal XML characters from outgoing messages (upstream 189050f3) 2026-03-31 19:16:57 +03:00
3fa6542fb8 fix: OMEMO startup initialization (upstream 79ff9bad) 2026-03-31 19:10:48 +03:00
46987dee77 fix: rare memleak in roster_list (upstream 2d7426fb) 2026-03-31 19:10:03 +03:00
d4112a3efb fix: NULL deref in cmd_omemo_trust/untrust (upstream 3d2a82ad) 2026-03-31 19:09:39 +03:00
1c95446084 fix: file handle leak in cmd_sendfile on OMEMO error (upstream 156b78ad) 2026-03-31 19:09:16 +03:00
7f7e8307f4 fix: potential null pointer deref in cmd_ac_complete (upstream 16080ab9) 2026-03-31 19:08:25 +03:00
fbcb49f6d0 fix: NULL deref and memleaks in OX logic (upstream 2406413e) 2026-03-31 19:03:43 +03:00
c7c4c8da78 fix: memleaks in tlscerts and console (upstream 7f5ae430) 2026-03-31 19:02:53 +03:00
d993155c30 fix: invalid free after /omemo gen (upstream fa1c4ddd) 2026-03-31 19:02:24 +03:00
1dc1785b4c fix: memory leaks when OMEMO keys not generated yet (upstream 1d508d59) 2026-03-31 19:01:43 +03:00
a9ee765c49 fix: memory leak and crash when id is NULL in iq_id_handler_add (upstream 0218ba26) 2026-03-31 18:56:02 +03:00
0b7ec1c5b6 fix: potential segfault in log_database_get_limits_info (upstream ff65db0b) 2026-03-31 18:52:45 +03:00
f84ed1bf6a perf(functests): speedup — profrc pre-baking, pty-close shutdown, parallel port pools
All checks were successful
CI Code / Check spelling (pull_request) Successful in 18s
CI Code / Check coding style (pull_request) Successful in 32s
CI Code / Code Coverage (pull_request) Successful in 2m46s
CI Code / Linux (debian) (pull_request) Successful in 4m30s
CI Code / Linux (ubuntu) (pull_request) Successful in 4m29s
CI Code / Linux (arch) (pull_request) Successful in 4m44s
CI Code / Check spelling (push) Successful in 18s
CI Code / Check coding style (push) Successful in 33s
CI Code / Code Coverage (push) Successful in 3m4s
CI Code / Linux (ubuntu) (push) Successful in 4m29s
CI Code / Linux (debian) (push) Successful in 4m33s
CI Code / Linux (arch) (push) Successful in 4m48s
Replace 16 interactive UI setup commands with pre-written profrc file
containing [ui] and [notifications] sections (~1800ms saved per test).

Replace sleep(1) + blocking waitpid with close(pty fd) → SIGHUP →
polling waitpid(WNOHANG) → SIGTERM/SIGKILL fallback chain (~4900ms
saved per test).

Remove post-stbbr_start() and post-stbbr_stop() sleeps — bind+listen
completes synchronously before stbbr_start() returns, and
pthread_join() in stbbr_stop() guarantees socket cleanup (~200ms saved).

Add PORTS_PER_GROUP=50 isolated port ranges per test group to enable
safe parallel execution of 4 groups without port conflicts.
2026-03-12 18:20:35 +03:00
9ec01fa8cc fix: CWE-134 format string audit and compiler hardening
All checks were successful
CI Code / Check spelling (push) Successful in 20s
CI Code / Check coding style (push) Successful in 36s
CI Code / Code Coverage (push) Successful in 5m38s
CI Code / Linux (ubuntu) (push) Successful in 7m1s
CI Code / Linux (debian) (push) Successful in 7m5s
CI Code / Linux (arch) (push) Successful in 7m19s
Security:
Fix CWE-134 in iq.c: user-controlled string passed as format argument
Add G_GNUC_PRINTF annotations to all variadic printf-like wrappers
in ui.h, log.h and http_common.h
Compiler flags (configure.ac):

Replace basic -Wformat/-Wformat-nonliteral with -Wformat=2
Add -Wextra, -Wnull-dereference, -Wpointer-arith,
-Wimplicit-function-declaration, -Wundef, -Wfloat-equal,
-Wredundant-decls, -Walloc-zero
Add -fstack-protector-strong, -fno-common, -D_FORTIFY_SOURCE=2
Add GCC-specific flags via AC_COMPILE_IFELSE: -Wlogical-op,
-Wduplicated-cond, -Wduplicated-branches, -Wstringop-overflow,
-Warray-bounds=2
Suppress noisy -Wextra sub-warnings: -Wno-unused-parameter,
-Wno-missing-field-initializers, -Wno-sign-compare,
-Wno-cast-function-type
Remove AM_CFLAGS/CFLAGS duplication
Bug fixes found by new warnings:

chatlog.c: non-MUCPM redact path passed resourcepart instead of NULL
rosterwin.c: merge duplicated if/else branches into single condition
omemo.c: redundant else-if in omemo_automatic_start; remove
unnecessary scope block and goto, use early return
console.c: pointer compared to integer 0 instead of NULL
stanza.c: increase pri_str/idle_str buffers from 10 to 12 bytes
(INT_MIN = -2147483648 needs 12 bytes including NUL)
vcard.c: NULL guard for filename before g_file_set_contents
api.c: broken log_warning() calls with extra format argument
Format mismatch fixes:

chatwin.c: Jid* → char* for %s
connection.c: %x → %lx for long flags
cmd_funcs.c: %d → %zu for size_t; cast gpointer to char* for %s
cmd_defs.c: %d → %u for g_list_length() return (guint)
iq.c: barejid → fulljid for from_jid
console.c, mucwin.c, privwin.c, account.c, omemo.c, presence.c:
gpointer → (char*) casts for %s
Const-correctness and cleanup:

database.c: const for type, query, sort variables
form.c/xmpp.h: const for form_set_value parameter
files.c: refactor to early return, eliminating NULL logfile path
muc.c/muc.h: remove meaningless top-level const on return type
common.c: const for URL string literal
Remove stale declarations: cons_show_desktop_prefs (ui.h),
connection_set_priority (connection.h),
omemo_devicelist_configure_and_request (omemo.h)
test_common.c: add currb NULL check to silence -Wnull-dereference
Tooling (check-cwe134.sh):

Reduce from 5 checks to 2 (checks 1-3 redundant with -Wformat=2)
Check 1: verify known wrappers have G_GNUC_PRINTF attribute
Check 2: auto-detect unannotated variadic printf-like functions
Match both const char* and const gchar* in variadic patterns

Author: jabber.developer2 <jabber.developer2@jabber.space>
2026-03-07 11:55:50 +01:00
1508f27e73 Merge branch 'ci/separate-build-step'
All checks were successful
CI Code / Check spelling (push) Successful in 21s
CI Code / Check coding style (push) Successful in 37s
CI Code / Code Coverage (push) Successful in 5m35s
CI Code / Linux (debian) (push) Successful in 6m56s
CI Code / Linux (ubuntu) (push) Successful in 7m2s
CI Code / Linux (arch) (push) Successful in 7m24s
2026-03-05 18:36:13 +01:00
d4254db814 CI: Separate build and test steps
All checks were successful
CI Code / Check coding style (pull_request) Successful in 32s
CI Code / Check spelling (pull_request) Successful in 24s
CI Code / Code Coverage (pull_request) Successful in 4m46s
CI Code / Linux (debian) (pull_request) Successful in 6m5s
CI Code / Linux (ubuntu) (pull_request) Successful in 6m11s
CI Code / Linux (arch) (pull_request) Successful in 6m25s
2026-03-04 23:04:51 +03:00
9e1b95a814 test(disco): remove disco_items_error_handling test
All checks were successful
CI Code / Check spelling (pull_request) Successful in 22s
CI Code / Check coding style (pull_request) Successful in 40s
CI Code / Linux (debian) (pull_request) Successful in 6m59s
CI Code / Linux (arch) (pull_request) Successful in 7m21s
CI Code / Linux (ubuntu) (pull_request) Successful in 7m13s
CI Code / Code Coverage (pull_request) Successful in 10m59s
CI Code / Check spelling (push) Successful in 20s
CI Code / Check coding style (push) Successful in 36s
CI Code / Code Coverage (push) Successful in 5m43s
CI Code / Linux (ubuntu) (push) Successful in 7m9s
CI Code / Linux (debian) (push) Successful in 10m5s
CI Code / Linux (arch) (push) Successful in 12m0s
This test requires the fix from fix/xep-0030-disco-items-error-handling
branch. Moved there along with the source code fix.
2026-03-03 16:57:35 +01:00