72f4f186da
merge: sync upstream profanity-im/profanity
...
CI Code / Check spelling (push) Successful in 18s
CI Code / Check coding style (push) Successful in 34s
CI Code / Code Coverage (push) Successful in 2m36s
CI Code / Linux (debian) (push) Successful in 4m41s
CI Code / Linux (ubuntu) (push) Successful in 4m52s
CI Code / Linux (arch) (push) Successful in 5m40s
Sync with upstream profanity-im/profanity.
Major upstream changes incorporated:
Memory management
- Replace malloc+memset with g_new0 throughout codebase
- Adopt auto_gchar / auto_gcharv / auto_gerror / auto_jid cleanup macros
- Replace free() with g_free() for GAlloc'd memory
Editor rewrite
- Remove pthread-based async editor; use GChildWatch callback API
- New launch_editor(initial_content, callback, user_data) interface
- Proper signal handling (SIGINT, SIGTSTP, SIGPIPE reset in child)
- ui_suspend()/ui_resume() integration for TTY management
OMEMO improvements
- Dual backend support: libsignal-protocol-c and libomemo-c
- Proper pre-key removal after use (XEP-0384 compliance)
- Automatic pre-key regeneration when store drops below threshold
- New functions: omemo_is_device_active(), omemo_is_jid_trusted()
- omemo_get_jid_untrusted_fingerprints() for better error messages
- Fingerprint notifications on new device identity discovery
- Deterministic pre-key ID generation tracking max_pre_key_id
- omemo_trust_changed() UI updates on trust state changes
JID validation
- RFC 6122-compliant validation in jid_is_valid()
- Character-level checks (RFC 6122 forbidden chars: & ' / : < > @)
- Length limits: 1023 per component, 3071 total
- New jid_is_valid_user_jid() for user vs. service JID distinction
Database
- Schema migration v3: UNIQUE constraint on archive_id for deduplication
- Triggers for corrected message tracking (replaces_db_id / replaced_by_db_id)
- db_history_result_t return type, _truncate_datetime_suffix()
UI / console
- win_warn_needed() / win_warn_sent() warning deduplication hash table
- PAD_MIN_HEIGHT dynamic pad sizing with PAD_THRESHOLD auto-cleanup
- Spellcheck integration in input field with Unicode word detection
- cons_spellcheck_setting() for /settings ui output
- /[command]? shortcut for command help
Account config
- Account name sanitization for GKeyFile special chars ([ ] = # \n \r)
- Replace popen() with g_spawn_sync() for eval_password
- TLS policy: add "direct" option alongside legacy
Connection
- Port validation with g_assert (0–65535)
- SHA-256 certificate fingerprint support (XMPP_CERT_PUBKEY_FINGERPRINT_SHA256)
- "direct" TLS policy alias for legacy SSL
Common utilities
- str_xml_sanitize() for XML 1.0 illegal character removal
- string_matches_one_of() with formatted error messages
- valid_tls_policy_option() helper
- prof_date_time_format_iso8601() utility
- Improved strip_arg_quotes() with backslash unescaping
- prof_occurrences() uses g_slist_prepend + reverse for performance
PGP / OX
- Proper GPGME resource cleanup with goto-cleanup pattern
- g_string_free(xmppuri) leak fix in _ox_key_lookup
CSV export
- Use GString + g_file_set_contents instead of raw write() syscalls
Tests
- Restructured into subdirectories: command/, config/, xmpp/, ui/, omemo/, otr/, pgp/
- New test_cmd_ac.c for autocompleter unit tests
- Updated stubs for new UI suspend/resume functions
License headers
- Migrate to SPDX-3.0 identifiers (GPL-3.0-or-later WITH OpenSSL-exception)
────────────────────────────────────────────────────
cproof-specific preservations:
- XEP-0308 LMC: replace_id ?: id logic in message/stanza/omemo
- Force encryption: cmd_force_encryption, test_forced_encryption
- CWE-134: format string protection (cons_show("%s", ...))
- y_start_pos-based paging in window.c
- db_history_result_t return type, _truncate_datetime_suffix()
Merge-time fixes:
- common.c: format-security (-Werror) — cons_show(errmsg) → cons_show("%s", errmsg)
- database.c: null-deref guard — !msg->timestamp → msg && !msg->timestamp
- console.c: implicit size_t → int cast — (int)(maxlen + 1)
- tlscerts.c: %d for size_t — %zu
Build system:
- Kept autotools (Makefile.am, configure.ac); upstream uses Meson
- Restored deleted files: bootstrap.sh, autogen.sh, ax_valgrind_check.m4, configure-debug
- Updated Makefile.am test paths for subdirectory structure
- Added test_cmd_ac, test_forced_encryption to test sources
Functional tests:
- Use cproof version; upstream requires stbbr_for_xmlns from updated stabber
- Not yet available in devs/stabber fork
Closes #64
Merge author: jabber.developer2
Commits authors:
Michael Vetter <jubalh@iodoru.org >
& Steffen Jaeckel <s@jaeckel.eu >
2026-05-26 17:48:14 +00:00
b4d3563b96
Cleanup ( #5 )
...
CI / Check coding style (push) Successful in 29s
CI / Check spelling (push) Successful in 16s
CI / Linux (debian) (push) Successful in 9m35s
CI / Linux (arch) (push) Successful in 11m27s
CI / Linux (fedora) (push) Successful in 13m57s
CI / Linux (ubuntu) (push) Successful in 11m21s
- Update formatting for stub files
- Update docs
While original project, Profanity, provides valuable basis for this
fork, we are not affiliated with the upstream. This commit
is updating documentation to reflect accurate information.
The docs are going to be updated further once the website is created.
Reviewed-on: devs/profanity#5
Co-authored-by: Jabber Developer <jabber.developer@jabber.space >
Co-committed-by: Jabber Developer <jabber.developer@jabber.space >
2025-06-20 18:20:47 +00:00
Michael Vetter
18f157b139
docs: mention man pages in release guide
2025-03-27 20:28:23 +01:00
Michael Vetter
fc65607f45
Add 0.14.0 release to doap and fix links
2023-08-04 08:37:54 +02:00
Michael Vetter
2cf1269b68
Typo fixes
2023-08-03 08:26:23 +02:00
Michael Vetter
9451ea7c4c
Mention DEV for doap in release guide
2023-07-12 14:09:55 +02:00
Michael Vetter
528acfb716
release guide: Use proper order
...
Otherwise version will not be correct in generated man pages.
2022-10-12 17:11:12 +02:00
Michael Vetter
b5ef917fd3
release guide: remove libmesode
...
Deprecated
2022-10-12 16:39:20 +02:00
Michael Vetter
abfef88d5f
Update release guide
...
Maybe should create a helper script for some tasks.
2022-09-13 12:19:16 +02:00
Michael Vetter
0b8b851bd6
Add doap to release guide
2022-02-22 16:12:10 +01:00
a1346054
4368a22114
Fix spelling
2021-08-26 01:17:42 +00:00
Michael Vetter
5bb2f47d45
Mention manpages in release guide
2021-01-09 08:34:44 +01:00
Michael Vetter
5e99a791e6
Create cmd to generate man pages for prof commands
...
`profanity mangen` will create for each command (`/account`, `/roster`)
an own manpage (`profanity-account.1`, `profanity-roster.1`)
See https://github.com/profanity-im/profanity/issues/1444
Needs some polishing formatting wise.
2020-12-04 17:29:31 +01:00
Michael Vetter
ec6b61c2bb
Mention profnaity_version in release guide
2020-07-09 17:03:05 +02:00
Michael Vetter
e81eea284b
Update RELEASE_GUIDE.md
...
Remove sentence about mailing James. Not needed anymore. profanity.im
links to the GitHub page.
2019-12-12 15:05:04 +01:00
Michael Vetter
d4150eb7d1
Update website info in release guide
2019-07-31 12:02:09 +02:00
Michael Vetter
8d12e3fdb9
Update release guide with libprofanity info
2019-06-11 07:45:11 +02:00
Michael Vetter
d4892b29c4
Update profanity repo URL
...
Move from github.com/boothj5/* to github.com/profanity-im/*
2019-05-03 10:51:28 +02:00
Dmitry Podgorny
0f0659aa09
autotools: fix make dist command
...
Now, `make dist` can be used for generating tarballs. It simplifies
making proper release tarballs. Also, it includes some files, that
are removed in RELEASE_GUIDE.md:
- apidocs/
- CHANGELOG
- theme_template
It is a good idea to include such a kind of documentation.
Update RELEASE_GUIDE.md.
2019-03-04 18:26:28 +02:00
James Booth
1cb045e30c
Update RELEASE_GUIDE.md
2019-01-16 11:29:24 +00:00
Michael Vetter
f3ca75d61e
Reformat RELEASE_GUIDE as md and add more info
2019-01-15 14:07:07 +01:00