Bug 40482 - [regression][c7] Breaking changes in Mono.Security in mono 4.4.x
Summary: [regression][c7] Breaking changes in Mono.Security in mono 4.4.x
Alias: None
Product: Class Libraries
Classification: Mono
Component: Mono.Security ()
Version: 4.4.0 (C7)
Hardware: PC Mac OS
: --- major
Target Milestone: Untriaged
Assignee: Martin Baulig
Depends on:
Reported: 2016-04-18 13:36 UTC by Sebastien Pouliot
Modified: 2017-01-05 15:14 UTC (History)
4 users (show)

Is this bug a regression?: Yes
Last known good build: C6

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on GitHub or Developer Community with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description Sebastien Pouliot 2016-04-18 13:36:23 UTC
Some API signature were changed and some types were removed from Mono.Security.dll and that can break existing applications (both Mono or Xamarin based) that were using them (e.g. any binary component).

Namespace Mono.Security.Protocol.Tls

Type Changed: Mono.Security.Protocol.Tls.CertificateValidationCallback2

Removed methods:

	public virtual ValidationResult EndInvoke (System.IAsyncResult result);
	public virtual ValidationResult Invoke (Mono.Security.X509.X509CertificateCollection collection);

Added methods:

	public virtual Mono.Security.Interface.ValidationResult EndInvoke (System.IAsyncResult result);
	public virtual Mono.Security.Interface.ValidationResult Invoke (Mono.Security.X509.X509CertificateCollection collection);

Removed Type Mono.Security.Protocol.Tls.ValidationResult

Removed Namespace Mono.Security.Protocol.Ntlm

Removed Type Mono.Security.Protocol.Ntlm.ChallengeResponse

Removed Type Mono.Security.Protocol.Ntlm.ChallengeResponse2

Removed Type Mono.Security.Protocol.Ntlm.MessageBase

Removed Type Mono.Security.Protocol.Ntlm.NtlmAuthLevel

Removed Type Mono.Security.Protocol.Ntlm.NtlmFlags

Removed Type Mono.Security.Protocol.Ntlm.NtlmSettings

Removed Type Mono.Security.Protocol.Ntlm.Type1Message

Removed Type Mono.Security.Protocol.Ntlm.Type2Message

Removed Type Mono.Security.Protocol.Ntlm.Type3Message
Comment 2 Alexander Köplinger [MSFT] 2017-01-05 15:14:38 UTC
The Mono.Security.Protocol.Ntlm.* types were added back (a bit incidentally due to a refactoring) on master with https://github.com/mono/mono/commit/208dd1e9568b584851ebbd1a6987eb89087fa09a, i.e. will show up in C10.

Mono.Security.Protocol.Tls.ValidationResult was deliberately renamed in https://github.com/mono/mono/commit/25a206c6dac1cf79d91b92a279cad86428ee4d95 and we'll keep it that way.