profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/0xced/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Cédric Luthi 0xced Fribourg, Switzerland

0xced/ABGetMe 145

ABGetMe implementation for iOS using undocumented APIs (safely)

0xced/APELite-arm 8

Implementation of the APE Lite API for iPhone OS (ARM) using MobileSubstrate

0xced/AQGridView 5

An grid view for iPhone/iPad, designed to look similar to NSCollectionView.

0xced/afsctool 4

Command line utility for analyzing and managing HFS+ compression.

0xced/AppSales-Mobile 3

App Sales Mobile allows iPhone developers to download and analyze their daily and weekly sales reports from iTunes Connect.

0xced/AnyJSON 2

Encode / Decode JSON By Any Means Possible

0xced/AFDownloadRequestOperation 1

A progressive download operation for AFNetworking.

0xced/AFNetworking 1

A delightful iOS and OS X networking framework

0xced/AFUrbanAirshipClient 1

An API Client for Registering and Unregistering Devices with Urban Airship

0xced/AppAuth-iOS 1

iOS and macOS SDK for communicating with OAuth 2.0 and OpenID Connect providers.

startedltrzesniewski/pcre-net

started time in 3 hours

startedbugproof/Tomlyn.Extensions.Configuration

started time in 17 hours

pull request commentNuGetPackageExplorer/NuGetPackageExplorer

Search _all_ configured NuGet package sources instead of only nuget.org

Awesome, thanks for merging! Do you plan to release a new version of dotnet-validate on NuGet anytime soon?

0xced

comment created time in a day

delete branch 0xced/NuGetPackageExplorer

delete branch : dotnet-validate-all-package-sources

delete time in a day

delete branch 0xced/Mongo2Go

delete branch : strip

delete time in 2 days

startedVerifyTests/Verify.DocNet

started time in 3 days

delete branch 0xced/Verify.DocNet

delete branch : PerceptualHash

delete time in 3 days

delete branch 0xced/Verify.DocNet

delete branch : ImageSharp

delete time in 3 days

create barnch0xced/stryker-net

branch : System.Net.Http.Json

created branch time in 3 days

PR opened VerifyTests/Verify.DocNet

Use ImageSharp instead of System.Drawing.Common

System.Drawing.Common is becoming Windows-only in .NET 6 so let's use ImageSharp instead which is a truly cross-platform solution.

+5 -18

0 comment

2 changed files

pr created time in 3 days

push event0xced/Verify.DocNet

Simon Cropp

commit sha 67c43249336487e1112df84d5cd2181d3bfc951d

Merge pull request #7 from 0xced/PreserveTransparency Add a new option to preserve transparency

view details

Simon Cropp

commit sha 3ae66471ac1f2407bdbfaa1a2027fcac10c278c2

more docs

view details

Simon Cropp

commit sha ea5b770f328fa2e55d2bc693f719f4ce1753e53e

docs

view details

Simon Cropp

commit sha 5241ea1e0c2e379725c10f805092bb6a3b999f2a

Update readme.md

view details

Cédric Luthi

commit sha efa08610a8402cfb32ea496523ae0cd6ffe7e2eb

Use ImageSharp instead of System.Drawing.Common System.Drawing.Common is [becoming Windows-only](https://github.com/dotnet/designs/blob/main/accepted/2021/system-drawing-win-only/system-drawing-win-only.md) in .NET 6 so let's use ImageSharp instead which is a truly cross-platform solution.

view details

push time in 3 days

push event0xced/Verify.DocNet

Simon Cropp

commit sha f03789a841b8762a3ed76368ba4adbc60f0f232f

Merge pull request #6 from 0xced/PerceptualHash Compare images with a perceptual hash

view details

Cédric Luthi

commit sha 07a46fb38f98ab718222172f3438c9b4cf41588f

Add a new option to preserve transparency

view details

Cédric Luthi

commit sha 079b7f8736e061715e47ce4e26671fc6aef1366d

Use ImageSharp instead of System.Drawing.Common System.Drawing.Common is [becoming Windows-only](https://github.com/dotnet/designs/blob/main/accepted/2021/system-drawing-win-only/system-drawing-win-only.md) in .NET 6 so let's use ImageSharp instead which is a truly cross-platform solution.

view details

push time in 4 days

push event0xced/Verify.DocNet

Simon Cropp

commit sha f03789a841b8762a3ed76368ba4adbc60f0f232f

Merge pull request #6 from 0xced/PerceptualHash Compare images with a perceptual hash

view details

Cédric Luthi

commit sha 07a46fb38f98ab718222172f3438c9b4cf41588f

Add a new option to preserve transparency

view details

push time in 4 days

delete branch serilog-contrib/serilog-formatting-log4net

delete branch : test-reporter

delete time in 4 days

push eventserilog-contrib/serilog-formatting-log4net

Cédric Luthi

commit sha ae81378da1cf5ca092d1d66e2889239aa8c62e38

Add a test report step to GitHub actions with dorny/test-reporter

view details

push time in 4 days

push eventserilog-contrib/serilog-formatting-log4net

Cédric Luthi

commit sha ae81378da1cf5ca092d1d66e2889239aa8c62e38

Add a test report step to GitHub actions with dorny/test-reporter

view details

push time in 4 days

create barnchserilog-contrib/serilog-formatting-log4net

branch : test-reporter

created branch time in 4 days

issue commentdotnet/SqlClient

Mono: System.TypeInitializationException: The type initializer for 'Microsoft.Data.SqlClient.InOutOfProcHelper'

I don't copy any files manually. Here's what I'm doing, i.e. running a unit test targeting net472 on macOS or Linux:

mono --version >/dev/null && echo "✅ mono is installed" || echo "❌ mono must be installed"
docker info >/dev/null && echo "✅ docker is running" || echo "❌ docker must be running"
git clone https://github.com/0xced/DockerRunner
cd DockerRunner
git checkout Microsoft.Data.SqlClient-v4
dotnet test --framework net472 --filter DisplayName~SqlServer2019Test tests/SqlServer/DockerRunner.Tests.SqlServer.csproj

And here are some relevant stack traces resulting from using Microsoft.Data.SqlClient on macOS under Mono.

---- System.TypeInitializationException : The type initializer for 'Microsoft.Data.SqlClient.TdsParser' threw an exception.
-------- System.TypeInitializationException : The type initializer for 'Microsoft.Data.SqlClient.SNILoadHandle' threw an exception.
------------ System.DllNotFoundException : Microsoft.Data.SqlClient.SNI.x64.dll assembly:<unknown assembly> type:<unknown type> member:(null)
--- End of stack trace from previous location where exception was thrown ---

  at Microsoft.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover (Microsoft.Data.SqlClient.ServerInfo serverInfo, System.String newPassword, System.Security.SecureString newSecurePassword, System.Boolean redirectedUserInstance, Microsoft.Data.SqlClient.SqlConnectionString connectionOptions, Microsoft.Data.SqlClient.SqlCredential credential, Microsoft.Data.ProviderBase.TimeoutTimer timeout) [0x0013c] in <7be59b55362e4015909477dd5db67609>:0 
  at Microsoft.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist (Microsoft.Data.ProviderBase.TimeoutTimer timeout, Microsoft.Data.SqlClient.SqlConnectionString connectionOptions, Microsoft.Data.SqlClient.SqlCredential credential, System.String newPassword, System.Security.SecureString newSecurePassword, System.Boolean redirectedUserInstance) [0x000fa] in <7be59b55362e4015909477dd5db67609>:0 
  at Microsoft.Data.SqlClient.SqlInternalConnectionTds..ctor (Microsoft.Data.ProviderBase.DbConnectionPoolIdentity identity, Microsoft.Data.SqlClient.SqlConnectionString connectionOptions, Microsoft.Data.SqlClient.SqlCredential credential, System.Object providerInfo, System.String newPassword, System.Security.SecureString newSecurePassword, System.Boolean redirectedUserInstance, Microsoft.Data.SqlClient.SqlConnectionString userConnectionOptions, Microsoft.Data.SqlClient.SessionData reconnectSessionData, Microsoft.Data.SqlClient.ServerCertificateValidationCallback serverCallback, Microsoft.Data.SqlClient.ClientCertificateRetrievalCallback clientCallback, Microsoft.Data.ProviderBase.DbConnectionPool pool, System.String accessToken, Microsoft.Data.SqlClient.SqlClientOriginalNetworkAddressInfo originalNetworkAddressInfo, System.Boolean applyTransientFaultHandling) [0x00195] in <7be59b55362e4015909477dd5db67609>:0 
  at Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnection (Microsoft.Data.Common.DbConnectionOptions options, Microsoft.Data.Common.DbConnectionPoolKey poolKey, System.Object poolGroupProviderInfo, Microsoft.Data.ProviderBase.DbConnectionPool pool, System.Data.Common.DbConnection owningConnection, Microsoft.Data.Common.DbConnectionOptions userOptions) [0x001aa] in <7be59b55362e4015909477dd5db67609>:0 
  at Microsoft.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection (System.Data.Common.DbConnection owningConnection, Microsoft.Data.ProviderBase.DbConnectionPoolGroup poolGroup, Microsoft.Data.Common.DbConnectionOptions userOptions) [0x00015] in <7be59b55362e4015909477dd5db67609>:0 
  at Microsoft.Data.ProviderBase.DbConnectionFactory+<>c__DisplayClass31_0.<TryGetConnection>b__1 (System.Threading.Tasks.Task`1[TResult] _) [0x00020] in <7be59b55362e4015909477dd5db67609>:0 
----- Inner Stack Trace -----
  at (wrapper managed-to-native) Microsoft.Data.SqlClient.SNINativeManagedWrapperX64.SNIInitialize(bool,intptr)
  at Microsoft.Data.SqlClient.SNINativeMethodWrapper.SNIInitialize (System.Boolean useSystemDefaultSecureProtocols, System.IntPtr pmo) [0x0000f] in <7be59b55362e4015909477dd5db67609>:0 
  at Microsoft.Data.SqlClient.SNINativeMethodWrapper.SNIInitialize () [0x00005] in <7be59b55362e4015909477dd5db67609>:0 
  at Microsoft.Data.SqlClient.SNILoadHandle..ctor () [0x0003e] in <7be59b55362e4015909477dd5db67609>:0 
  at Microsoft.Data.SqlClient.SNILoadHandle..cctor () [0x00000] in <7be59b55362e4015909477dd5db67609>:0 

You can get the full stack traces in the TestResults-Linux file the that just ran on GitHub actions.

Note that running the same unit test on net5.0 fails with another error:

---- Microsoft.Data.SqlClient.SqlException : A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 35 - An internal exception was caught)
-------- System.Security.Authentication.AuthenticationException : The remote certificate was rejected by the provided RemoteCertificateValidationCallback.
  Stack Trace:
     at DockerRunner.Database.DockerDatabaseContainerRunner.StartAsync(DockerDatabaseContainerConfiguration configuration, EventHandler`1 runningCommand, EventHandler`1 ranCommand, EventHandler`1 sqlCommandExecuting, Boolean waitOnDispose, CancellationToken cancellationToken) in DockerRunner/src/DockerRunner/Database/DockerDatabaseContainerRunner.cs:line 91
   at DockerRunner.Database.DockerDatabaseContainerRunner.StartAsync(DockerDatabaseContainerConfiguration configuration, EventHandler`1 runningCommand, EventHandler`1 ranCommand, EventHandler`1 sqlCommandExecuting, Boolean waitOnDispose, CancellationToken cancellationToken) in DockerRunner/src/DockerRunner/Database/DockerDatabaseContainerRunner.cs:line 99
   at DockerRunner.Tests.DockerDatabaseContainerRunnerTest`1.StartDockerDatabaseContainer() in DockerRunner/tests/Base/DockerDatabaseContainerRunnerTest.cs:line 23
--- End of stack trace from previous location ---
----- Inner Stack Trace -----
   at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at Microsoft.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at Microsoft.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at Microsoft.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry, SqlConnectionOverrides overrides)
   at Microsoft.Data.SqlClient.SqlConnection.InternalOpenAsync(CancellationToken cancellationToken)
--- End of stack trace from previous location ---
   at DockerRunner.Database.DockerDatabaseContainerRunner.StartAsync(DockerDatabaseContainerConfiguration configuration, EventHandler`1 runningCommand, EventHandler`1 ranCommand, EventHandler`1 sqlCommandExecuting, Boolean waitOnDispose, CancellationToken cancellationToken) in DockerRunner/src/DockerRunner/Database/DockerDatabaseContainerRunner.cs:line 81
----- Inner Stack Trace -----
   at System.Net.Security.SslStream.SendAuthResetSignal(ProtocolToken message, ExceptionDispatchInfo exception)
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](TIOAdapter adapter, Boolean receiveFirst, Byte[] reAuthenticationData, Boolean isApm)
   at System.Net.Security.SslStream.ProcessAuthentication(Boolean isAsync, Boolean isApm, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.AuthenticateAsClient(SslClientAuthenticationOptions sslClientAuthenticationOptions)
   at System.Net.Security.SslStream.AuthenticateAsClient(String targetHost, X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, Boolean checkCertificateRevocation)
   at Microsoft.Data.SqlClient.SNI.SNITCPHandle.EnableSsl(UInt32 options)
lillo42

comment created time in 4 days

create barnch0xced/DockerRunner

branch : Microsoft.Data.SqlClient-v4

created branch time in 4 days

issue commentdotnet/SqlClient

Mono: System.TypeInitializationException: The type initializer for 'Microsoft.Data.SqlClient.InOutOfProcHelper'

System.DllNotFoundException: Microsoft.Data.SqlClient.SNI.x64.dll assembly:<unknown assembly> type:<unknown type> member:(null)

I'm getting the same error. See my comment here: https://github.com/dotnet/SqlClient/pull/1120#issuecomment-926089574

lillo42

comment created time in 4 days

pull request commentdotnet/SqlClient

Fix EntryPointNotFoundException in InOutOfProcHelper constructor

After upgrading to the v4 preview package, I tried again. After disabling shadow copy to make sure that Microsoft.Data.SqlClient.SNI.x64.dll were found, I kept getting a DllNotFoundException:

System.DllNotFoundException : Microsoft.Data.SqlClient.SNI.x64.dll assembly:<unknown assembly> type:<unknown type> member:(null)

So I ran the tests again with mono debug logs: MONO_LOG_LEVEL=debug dotnet test --framework net472 […]. Then I spotted this:

Mono: DllImport attempting to load: 'Microsoft.Data.SqlClient.SNI.x64.dll'.
Mono: DllImport error loading library '~/Projects/DockerRunner/tests/SqlServer/bin/Debug/net472/Microsoft.Data.SqlClient.SNI.x64.dll': 'dlopen(~/Projects/DockerRunner/tests/SqlServer/bin/Debug/net472/Microsoft.Data.SqlClient.SNI.x64.dll, 9): no suitable image found.  Did find:
	~/Projects/DockerRunner/tests/SqlServer/bin/Debug/net472/Microsoft.Data.SqlClient.SNI.x64.dll: unknown file type, first eight bytes: 0x4D 0x5A 0x90 0x00 0x03 0x00 0x00 0x00
	~/Projects/DockerRunner/tests/SqlServer/bin/Debug/net472/Microsoft.Data.SqlClient.SNI.x64.dll: unknown file type, first eight bytes: 0x4D 0x5A 0x90 0x00 0x03 0x00 0x00 0x00'.

Of course! The Microsoft.Data.SqlClient.SNI.x64.dll file is a Windows-only (PE32+) dll, there is no Linux nor macOS native SNI dll (.so/.dylib) so there is absolutely no way for SNI to work on those platforms.

Now the question is: why does the SNI initialization code path is triggered on Mono running Linux/macOS? I guess it's not triggered at all on .NET Core running Linux/macOS, am I right?

0xced

comment created time in 4 days

starteddotnet/SqlClient

started time in 4 days

create barnch0xced/Verify.DocNet

branch : ImageSharp

created branch time in 4 days

push event0xced/Verify.DocNet

Cédric Luthi

commit sha 4eaf9ba78865e3d9c955b5bf77c86e15a049d7aa

Add a new option to preserve transparency

view details

push time in 4 days

push event0xced/Verify.DocNet

Cédric Luthi

commit sha cc7ec006837bd1839ff9b187be90d5a826592f1e

Add a new option to preserve transparency

view details

push time in 4 days

create barnch0xced/Verify.DocNet

branch : PreserveTransparency

created branch time in 4 days

push event0xced/Verify.DocNet

Cédric Luthi

commit sha 85da1240c4c8300b8dad663270cd3f49ac2a8e79

Compare images with a perceptual hash Rendering PDF to PNG is not pixel perfect across different operating systems. Comparing the resulting images with a perceptual has accounts for those small rendering differences. This makes the test pass on macOS.

view details

push time in 4 days

PR opened VerifyTests/Verify.DocNet

Compare images with a perceptual hash

Rendering PDF to PNG is not pixel perfect across different operating systems. Comparing the resulting images with a perceptual has accounts for those small rendering differences.

This makes the test pass on macOS.

+5 -2

0 comment

3 changed files

pr created time in 4 days