Skip to content
This repository was archived by the owner on Jan 11, 2023. It is now read-only.

Commit 56092a0

Browse files
committed
Redact TT-RSS passwords in logs again
1 parent 7fcb774 commit 56092a0

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

plugins/backend/ttrss/ttrssMessage.vala

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ public void add_string(string type, string val)
5656
m_request_object.set_string_member(type, val);
5757
}
5858

59-
private string request_object_to_string()
59+
private static string object_to_string(Json.Object obj)
6060
{
6161
var root = new Json.Node(Json.NodeType.OBJECT);
62-
root.set_object(m_request_object);
62+
root.set_object(obj);
6363

6464
var gen = new Json.Generator();
6565
gen.set_root(root);
@@ -87,7 +87,7 @@ public ConnectionError send_impl(bool ping)
8787

8888
var settingsTweaks = new GLib.Settings("org.gnome.feedreader.tweaks");
8989

90-
var data = request_object_to_string();
90+
var data = object_to_string(m_request_object);
9191
m_message_soup.set_request(m_contenttype, Soup.MemoryUse.COPY, data.data);
9292

9393
if(settingsTweaks.get_boolean("do-not-track"))
@@ -193,7 +193,19 @@ public uint getStatusCode()
193193
private void logError(string prefix)
194194
{
195195
var url = m_message_soup.get_uri().to_string(false);
196-
var request = request_object_to_string();
196+
var obj = m_request_object;
197+
if(obj.has_member("password"))
198+
{
199+
obj = new Json.Object();
200+
m_request_object.foreach_member((_, name, member) =>
201+
{
202+
if(name == "password")
203+
obj.set_string_member("password", "[redacted]");
204+
else
205+
obj.set_member(name, member);
206+
});
207+
}
208+
var request = object_to_string(obj);
197209
var response = (string)m_message_soup.response_body.flatten().data;
198210
Logger.error(@"$prefix\nURL: $url\nRequest object: $request\nResponse: $response");
199211
}

0 commit comments

Comments
 (0)