Compare commits

..

3 Commits

Author SHA1 Message Date
Philipp Crocoll
98e31942e1 remove potential password in logs 2024-01-02 12:40:39 +01:00
Philipp Crocoll
ad6ced3aad addition to last commit: this refers to #2396 2023-11-21 13:33:37 +01:00
Philipp Crocoll
6ef8b8fc3b replace usage of IoConnectionInfo::GetDisplayName() to avoid passwords (as part of the URL) appearing in logfiles 2023-11-21 13:31:54 +01:00
9 changed files with 14 additions and 69 deletions

View File

@@ -185,7 +185,7 @@ namespace KeePassLib.Serialization
byte[] pbFile = StrUtil.Utf8.GetBytes(sb.ToString()); byte[] pbFile = StrUtil.Utf8.GetBytes(sb.ToString());
s = IOConnection.OpenWrite(iocLockFile); s = IOConnection.OpenWrite(iocLockFile);
if(s == null) throw new IOException(iocLockFile.GetDisplayName()); if(s == null) throw new IOException(UrlUtil.GetFileName(iocLockFile.Path));
s.Write(pbFile, 0, pbFile.Length); s.Write(pbFile, 0, pbFile.Length);
} }
finally { if(s != null) s.Close(); } finally { if(s != null) s.Close(); }
@@ -205,8 +205,7 @@ namespace KeePassLib.Serialization
if(lfiEx != null) if(lfiEx != null)
{ {
m_iocLockFile = null; // Otherwise Dispose deletes the existing one m_iocLockFile = null; // Otherwise Dispose deletes the existing one
throw new FileLockException(iocBaseFile.GetDisplayName(), throw new FileLockException(UrlUtil.GetFileName(iocBaseFile.Path), lfiEx.GetOwner());
lfiEx.GetOwner());
} }
LockFileInfo.Create(m_iocLockFile); LockFileInfo.Create(m_iocLockFile);

View File

@@ -28,6 +28,7 @@ using System.Diagnostics;
using KeePassLib.Resources; using KeePassLib.Resources;
using KeePassLib.Serialization; using KeePassLib.Serialization;
using Android.Webkit;
namespace KeePassLib.Utility namespace KeePassLib.Utility
{ {
@@ -411,7 +412,7 @@ Clipboard.SetText(ObjectsToMessage(vLines, true));*/
public static void ShowLoadWarning(IOConnectionInfo ioConnection, Exception ex) public static void ShowLoadWarning(IOConnectionInfo ioConnection, Exception ex)
{ {
if (ioConnection != null) if (ioConnection != null)
ShowLoadWarning(ioConnection.GetDisplayName(), ex, false); ShowLoadWarning(UrlUtil.GetFileName(ioConnection.Path), ex, false);
else ShowWarning(ex); else ShowWarning(ex);
} }
@@ -444,7 +445,7 @@ Clipboard.SetText(ObjectsToMessage(vLines, true));*/
bool bCorruptionWarning) bool bCorruptionWarning)
{ {
if (ioConnection != null) if (ioConnection != null)
ShowSaveWarning(ioConnection.GetDisplayName(), ex, bCorruptionWarning); ShowSaveWarning(UrlUtil.GetFileName(ioConnection.Path), ex, bCorruptionWarning);
else ShowWarning(ex); else ShowWarning(ex);
} }

View File

@@ -72,13 +72,6 @@ namespace Kp2aAutofillParserTest
RunTestFromAutofillInput(resourceName, "com.expressvpn.vpn", null); RunTestFromAutofillInput(resourceName, "com.expressvpn.vpn", null);
} }
[Fact]
public void HandlesAutospillGracefully()
{
var resourceName = "Kp2aAutofillParserTest.autospill.json";
RunTestFromAutofillInput(resourceName, "com.vivaldi.browser", "m.facebook.com");
}
private void RunTestFromAutofillInput(string resourceName, string expectedPackageName = null, string expectedWebDomain = null) private void RunTestFromAutofillInput(string resourceName, string expectedPackageName = null, string expectedWebDomain = null)
{ {
var assembly = Assembly.GetExecutingAssembly(); var assembly = Assembly.GetExecutingAssembly();

View File

@@ -9,7 +9,6 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<None Remove="autospill.json" />
<None Remove="chrome-android10-amazon-it.json" /> <None Remove="chrome-android10-amazon-it.json" />
<None Remove="com-expressvpn-vpn-android13.json" /> <None Remove="com-expressvpn-vpn-android13.json" />
<None Remove="com-ifs-banking-fiid3364-android13.json" /> <None Remove="com-ifs-banking-fiid3364-android13.json" />
@@ -55,9 +54,6 @@
<EmbeddedResource Include="com-servicenet-mobile-no-focus.json"> <EmbeddedResource Include="com-servicenet-mobile-no-focus.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="autospill.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="imdb.json"> <EmbeddedResource Include="imdb.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</EmbeddedResource> </EmbeddedResource>

View File

@@ -1,48 +0,0 @@
{
"InputFields": [
{
"IdEntry": "native_username",
"ClassName": "android.widget.EditText",
"AutofillHints": null,
"IsFocused": false,
"InputType": 1,
"HtmlInfoTag": null,
"HtmlInfoTypeAttribute": null,
"ExpectedAssignedHints": ["username"]
},
{
"IdEntry": "native_password",
"ClassName": "android.widget.EditText",
"AutofillHints": null,
"IsFocused": false,
"InputType": 129,
"HtmlInfoTag": null,
"HtmlInfoTypeAttribute": null,
"ExpectedAssignedHints": []
},
{
"IdEntry": "webview_email",
"ClassName": "android.widget.EditText",
"AutofillHints": [ "email" ],
"IsFocused": true,
"InputType": 0,
"HtmlInfoTag": null,
"HtmlInfoTypeAttribute": null,
"ExpectedAssignedHints": [ "emailAddress" ]
},
{
"IdEntry": "webview_password",
"ClassName": "android.widget.EditText",
"AutofillHints": [
"password"
],
"IsFocused": false,
"InputType": 0,
"HtmlInfoTag": null,
"HtmlInfoTypeAttribute": null,
"ExpectedAssignedHints": [ "password" ]
}
],
"PackageId": "com.vivaldi.browser",
"WebDomain": "m.facebook.com"
}

View File

@@ -124,7 +124,7 @@ namespace keepass2android.Io
&& File.Exists(VersionFilePath(ioc)) && File.Exists(VersionFilePath(ioc))
&& File.Exists(BaseVersionFilePath(ioc)); && File.Exists(BaseVersionFilePath(ioc));
Kp2aLog.Log(ioc.GetDisplayName() + " isCached = " + result); Kp2aLog.Log(GetDisplayName(ioc) + " isCached = " + result);
return result; return result;
} }
@@ -598,13 +598,14 @@ namespace keepass2android.Io
public string GetBaseVersionHash(IOConnectionInfo ioc) public string GetBaseVersionHash(IOConnectionInfo ioc)
{ {
string hash = File.ReadAllText(BaseVersionFilePath(ioc)); string hash = File.ReadAllText(BaseVersionFilePath(ioc));
Kp2aLog.Log(ioc.GetDisplayName() + " baseVersionHash = " + hash); Kp2aLog.Log(GetDisplayName(ioc) + " baseVersionHash = " + hash);
return hash; return hash;
} }
public string GetLocalVersionHash(IOConnectionInfo ioc) public string GetLocalVersionHash(IOConnectionInfo ioc)
{ {
string hash = File.ReadAllText(VersionFilePath(ioc)); string hash = File.ReadAllText(VersionFilePath(ioc));
Kp2aLog.Log(ioc.GetDisplayName() + " localVersionHash = " + hash);
Kp2aLog.Log(GetDisplayName(ioc) + " localVersionHash = " + hash);
return hash; return hash;
} }
public bool HasLocalChanges(IOConnectionInfo ioc) public bool HasLocalChanges(IOConnectionInfo ioc)

View File

@@ -348,7 +348,7 @@ namespace keepass2android.Io
} }
catch (Exception e) catch (Exception e)
{ {
throw new Exception("Error finding " + filename + " in " + folderPath.GetDisplayName(), e); throw new Exception("Error finding " + filename + " in " + GetDisplayName(folderPath), e);
} }
} }

View File

@@ -68,5 +68,8 @@
<ItemGroup> <ItemGroup>
<None Include="Resources\AboutResources.txt" /> <None Include="Resources\AboutResources.txt" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\values\Strings.xml" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.CSharp.targets" />
</Project> </Project>

View File

@@ -129,7 +129,7 @@ namespace OtpKeyProv
if(!OtpInfo.Save(auxFileIoc, otpInfo)) if(!OtpInfo.Save(auxFileIoc, otpInfo))
{ {
MessageService.ShowWarning("Failed to save auxiliary OTP info file:", MessageService.ShowWarning("Failed to save auxiliary OTP info file:",
auxFileIoc.GetDisplayName()); UrlUtil.GetFileName(auxFileIoc.Path));
return false; return false;
} }