fix(xmpp): obfuscate client identity in protocol exchanges

Modify version responses to return a generic client name and omit
version strings. Drop the "profanity." prefix from dynamically
generated JID resources. Spoof the XEP-0115 capabilities node URI to
prevent service discovery/presence fingerprinting. These adjustments
reduce the client's attack surface by minimizing identifiable metadata.
This commit is contained in:
2026-07-09 15:23:16 +00:00
parent b34faa2099
commit c5dd0cf9df
14 changed files with 101 additions and 58 deletions

View File

@@ -280,9 +280,13 @@ jid_fulljid_or_barejid(Jid* jid)
gchar*
jid_random_resource(void)
{
auto_gchar gchar* rand = get_random_string(4);
gchar* rand = g_malloc0(29);
const gchar* digits = "0123456789";
gchar* result = g_strdup_printf("profanity.%s", rand);
for (int i = 0; i < 28; i++) {
rand[i] = digits[g_random_int_range(0, 10)];
}
rand[28] = '\0';
return result;
return rand;
}