[Mono-bugs] [Bug 692451] New: Issues with System.Web.HttpClientCertificate
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Sun May 8 12:07:28 EDT 2011
https://bugzilla.novell.com/show_bug.cgi?id=692451
https://bugzilla.novell.com/show_bug.cgi?id=692451#c0
Summary: Issues with System.Web.HttpClientCertificate
Classification: Mono
Product: Mono: Class Libraries
Version: SVN
Platform: Other
OS/Version: Other
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Sys.Web
AssignedTo: mhabersack at novell.com
ReportedBy: kevincathcart at gmail.com
QAContact: mono-bugs at lists.ximian.com
Found By: Other
Blocker: ---
Out of curiosity I was looking through the mono source for the LAME tag, and
ran across System.Web.HttpClientCertificate.
The first thing I noticed was the IsValid property. It contains a check against
IsPresent marked lame. That check is not necessary. The Microsoft
implementation of IsValid returns false when presented with the IIS Server
Variable CERT_FLAGS set to inconstant value of 2 (0b10, i.e. the present flag
is not set, but the invalid flag is set).
---
Then I notice the Get property. This has many problems.
First of all it is marked as LAMESPEC. However the real problem is that the
Microsoft code is not consistent with the MSDN documentation. Therefore this is
not a case of LAMESPEC, but rather buggy documentation or code.
Secondly, the function as implemented in mono simply returns the empty string
in all cases. That is most definitely not what the documentation says nor what
Microsoft implementation does. The code is not marked with MonoTODO, nor it is
marked with a FIXME. That really needs to be fixed.
The Microsoft implementation has some unusual cases, none of which are
documented, so the matching the Microsoft Implementation without simply coping
it will be rather difficult. In particular the Get Property accepts many
different values that are not listed in the (inherited) Keys property.
---
Furthermore the Mono implementation does not add the list of keys to the base
class. Basically, this particular class is so poorly designed with many weird
edge cases it would really be necessary to look at Microsoft's implementation
(via decompilation, or by looking at the source) in order to accurately
implement it.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list