2009-02-10 Gonzalo Paniagua Javier - The PropertyValueCollection class doesn't mark its data as dirty/changed in - this[int index] setter - Insert() - Remove() - Value setter The DirectoryEntry class doesn't handle the clearing of an attribute (see CommitEntry()) Patch from Juraj Skripsky that fixes bug #416985. 2008-07-06 Sebastien Pouliot * DirectoryEntry.cs: Use typeof(LdapModification) instead of Type.GetType and actually use the value afterward. [Found using Gendarme AvoidTypeGetTypeForConstantStringsRule] * SearchResultCollection.cs: Avoid infinite recursion in Contains(SearchResult). [Found using Gendarme BadRecursiveInvocationRule] 2007-05-21 Adar Wesley * DirectoryEntry.cs: added missing methods InvokeGet, InvokeSet. 2006-12-28 Jon Larimer * DirectorySearcher.cs: When using System.DirectoryServices.DirectorySearcher to query a Windows Active Directory Server, the results will almost always contain referal nodes. These can probably be ignored, as there are also non-referal responses. With the below patch, the Mono DirectorySearcher can be used to query Windows AD servers. Fixes #80103. 2005-05-12 Boris Kirzner * DirectoryEntry.cs, DirectorySearcher.cs: fix object disposing. 2005-06-11 Boris Kirzner * DirectoryEntry.cs: fixes for RefreshCache() -Property names should be sent to server if only particular properties need to be updated. -Refreshing all the properties should work with separate list, so the original properties values are not damaged if the refresh fails for some reason. 2005-30-10 Boris Kirzner * DirectoryEntries.cs: fix for null base dn. * DirectorySearcher.cs: use server root authentication type for binding. 2005-28-07 Boris Kirzner * DirectoryEntry.cs: pass AuthenticationType as a parameter for LdapConnection.Bind. 2005-06-19 Boris Kirzner * DirectorySearcher.cs: - Use ADsPath property (always represents an actual url) instead of Path (may be null or empty string). - Use PropertyNamesOnly property while perfoming search, so property values retrieved only when needed. - Create parent path in more clean way. * DirectoryEntry.cs: - Use ADsPath property (always represents an actual url) instead of Path (may be null or empty string). - InitEntry takes special care about rootDse entries. - Path return empty string if assigned to null. - Added ADsPath property. This is an "actual" entry path on the server. If user does not specifies a path, it is resolved using rootDse server entry properties. We need this since the user-specified Path property should never change. - Added GetProperties,SetProperties and LoadProperties methods to handle internal properties load and assignment. - Added DefaultHost and DefaultPort properties, so user can specify the default LDAP server information using app config. If user does not specify it, the localhost:389 is the default. - Added InitToRootDse method - initializes current entry to specified server rootDse entry. - CheckEntry takes special care about rootDse entries. - CommitEntry rewrited to use .NET style iteration. In addition, the method uses entry peroperties whout enforsing their reload. - Implemented RefreshCache methods. - Added method GetLdapUrlString, returns LDAP URL string representation that omits default port (i.e. ldap://server/dn instead of ldap://server:389/dn), as .NET does. * PropertyValueCollection.cs: removed redundant MonoTodo attributes. * SearchResult.cs: if underlined result properties collection is empty, do not try to load a properties from it. 2005-06-14 Boris Kirzner * DirectorySearcher.cs : AdsPath property should not appear in the query, but it still should appear in the SearchResult properties (by initialization from result entry path). 2005-03-31 Boris Kirzner * DirectoryEntry.cs : - Implemented UsePropertyCache. - Refresh entry after Rename and MoveTo. - CommitChanges : do not send request to server if no properties changed. Drop new flag after committing newly created entry. - Disconnect only if connected in Close(). Clean up Dispose(). - Removed unnecessary console output. * PropertyCollection.cs : Hold reference to parent DirectoryEntry. * PropertyValueCollection.cs : Hold reference to parent DirectoryEntry. Call parent's CommitDeferred on collection changes. 2005-03-31 Boris Kirzner * DirectorySearcher.cs : - Use common TimeSpan object to initialize properties default values. - DoSearch uses SizeLimit and ServerTimeLimit. Do not throw if sie limit or time limit occurs on the server. - Construct ADsPath property from resulting entry path. - Implemented Dispose method. 2005-03-28 Boris Kirzner * DirectoryEntries.cs : - Removed unnecessary console output. * SearchResult.cs : - Initialize Path property in constructor. - Removed unnecessary console output. 2005-03-22 Boris Kirzner * DirectorySearcher.cs : - ClientTimeout and ServerPageTimeLimit initialized to 1 second. - SizeLimit initialized to 0. - Setting SizeLimit to negative value throws an exception. - Added private variable for ServerTime Limit. - Avoid infinite loop in CacheResults. - Removed emptycol, search result lazy evaluated intead of this. - If the search did not return results, FindOne() should returns null. - ADsPath property always loaded, or created from DN. 2005-03-22 Boris Kirzner * DirectoryEntries.cs : When adding new entry, do not set "objectclass" property to include schemaClassName value. 2005-03-14 Gonzalo Paniagua Javier * DirectoryEntry.cs: username and password are now initialized to null. Patch by Boris Kirzner (Mainsoft). 2005-03-14 Gonzalo Paniagua Javier * PropertyValueCollection.cs: the Value property for an empty collection is now null and setting Value to null clears the collection. Patch by Boris Kirzner (Mainsoft). 2005-01-26 Atsushi Enomoto * DirectoryEntry.cs, DirectoryEntries.cs : eliminate "throw new Exception". 2004-09-10 Sebastien Pouliot * DirectoryServicesPermission.cs: Completed TODO. * DirectoryServicesPermissionAttribute.cs: Added path validation and enable the creation of unrestricted permissions. * DirectoryServicesPermissionEntry.cs: Add internal method to return an ResourcePermissionBaseEntry instance. * DirectoryServicesPermissionEntryCollection.cs: Allow synchronization of elements with the base permission class (required to enable Copy). 2004-06-15 Gert Driesen * DirectoryServicesPermission.cs: renamed field to match MS.NET * DirectoryServicesPermissionEntry.cs: fixed serialization compatibility with MS.NET * DirectoryServicesPermissionEntryCollection.cs: marked serializable, added TODO for serialization compatibility * ReferralChasingOption.cs: changed enum field values to match MS.NET 2004-06-03 Gert Driesen * DirectoryEntries.cs: flagged field private to fix public API * DirectoryEntry.cs: added protected override for Dispose, marked properties TODO * DirectoryServicesPermissionEntryCollection.cs: added stubs for missing protected methods * PropertyCollection.cs: flagged field private to fix public API * PropertyValueCollection.cs: removed empty extra methods, added stub for missing methods to fix public API * SearchResult.cs: removed unused local variable * SearchResultCollection.cs: flagged field private to fix public API, added missing property Dispose method and finalizer 2004-05-16 Gert Driesen * DirectoryServicesPermission.cs: marked sealed, added Serializable attribute * SearchResultCollection: made Handle public 2004-05-14 Raja R Harinath * SearchResultCollection.cs: Add a few more stubs. * SchemaNameCollection.cs: Likewise. * DirectoryServicesPermission.cs: Fix typo. * SchemaNameCollection.cs: Revert. Add MonoTODO attributes. 2004-05-14 Raja R Harinath * DirectoryEntries.cs (SchemaFilter): New stub. * DirectoryEntry.cs: Add missing [MonoTODO] to NotImplemented classes. Remove DesignerCategory attribute. * DirectorySearcher.cs: Likewise. * PropertyValueCollection.cs (AddRange([object[]): Don't go into an infinite loop. (AddRange(PropertyValueCollection)): New. (CopyTo): New. * ResultPropertyCollection.cs (ResultPropertyCollection): Make internal. (CopyTo): New. * SchemaNameCollection.cs: Implement. * SortOption.cs (PropertyName, Direction): Add DSDescription and DefaultValue attributes. * DirectoryServicesPermission.cs: New file. * DirectoryServicesPermissionAttribute.cs: Likewise. * DirectoryServicesPermissionEntry.cs: Likewise. * DirectoryServicesPermissionEntryCollection.cs: Likewise. * TODOAttribute.cs: Likewise. 2004-01-15 Andreas Nahr * ChangeLog: Added * AssemblyInfo.cs: Removed * DirectoryEntry.cs: Added attributes, fixed warning, stubbed missing * DirectorySearcher.cs: Added attributes, stubbed missing * DirectoryServicesPermissionAccess.cs: Added, implemented * DSDescriptionAttribute.cs: Added, implemented * DSDescriptionAttribute.cs, Added implemented