2009-02-10 Gonzalo Paniagua Javier <gonzalo@novell.com>

	- 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  <sebastien@ximian.com>

	* 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 <adarw@mainsoft.com>

	* DirectoryEntry.cs: added missing methods InvokeGet, InvokeSet.

2006-12-28  Jon Larimer <jlarimer@gmail.com>

	* 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 <borisk@mainsoft.com>
	* DirectoryEntry.cs, DirectorySearcher.cs: fix object disposing.

2005-06-11  Boris Kirzner <borisk@mainsoft.com>
	* 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 <borisk@mainsoft.com>
	* DirectoryEntries.cs: fix for null base dn.
	* DirectorySearcher.cs: use server root authentication type for binding.

2005-28-07  Boris Kirzner <borisk@mainsoft.com>
	* DirectoryEntry.cs: pass AuthenticationType as a parameter for
	LdapConnection.Bind.

2005-06-19 Boris Kirzner <borisk@mainsoft.coim>
	* 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 <borisk@mainsoft.com>
	* 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 <borisk@mainsoft.com>
	* 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 <borisk@mainsoft.com>

	* 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 <borisk@mainsoft.com>

	* DirectoryEntries.cs : 
		- Removed unnecessary console output.
	* SearchResult.cs :
		- Initialize Path property in constructor.
		- Removed unnecessary console output.

2005-03-22  Boris Kirzner <borisk@mainsoft.com>

	* 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 <borisk@mainsoft.com>

	* DirectoryEntries.cs : When adding new entry, do not set "objectclass" 
	property to include schemaClassName value.

2005-03-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* DirectoryEntry.cs: username and password are now initialized to null.
	Patch by Boris Kirzner (Mainsoft).

2005-03-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* 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  <atsushi@ximian.com>

	* DirectoryEntry.cs, DirectoryEntries.cs :
	  eliminate "throw new Exception".

2004-09-10  Sebastien Pouliot  <sebastien@ximian.com>

	* 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 <drieseng@users.sourceforge.net>

	* 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 <drieseng@users.sourceforge.net>

	* 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 <drieseng@users.sourceforge.net>

	* DirectoryServicesPermission.cs: marked sealed, added
	Serializable attribute
	* SearchResultCollection: made Handle public

2004-05-14  Raja R Harinath  <rharinath@novell.com>

	* 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  <rharinath@novell.com>

	* 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 <ClassDevelopment@A-SoftTech.com>

	* 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
