ADSI Filters May Return Incorrect Results When Text Is Inside a Filter Match (258670)



The information in this article applies to:

  • Microsoft Site Server 3.0
  • Microsoft Site Server 3.0 Commerce Edition

This article was previously published under Q258670

SYMPTOMS

When you perform queries by using Active Directory Service Interfaces (ADSI) filters, incorrect results may be returned when there is text inside a filter match. The results vary depending on the data source that is being used.

For example, when the following query is performed by using Microsoft SQL Server, no results are returned:
<LDAP://server:port/o=Org/ou=Members>;(|(cn=*user*)(mail=*user*));ADsPath, cn, mail;subtree
				
However, when you use Microsoft Access, the correct information is returned, but an additional, incorrect record is also added to the recordset.

CAUSE

No results are returned because a substring search is actually being performed, and the substring is not being searched for completely throughout the comparing string. The search only works correctly if the substring appears at the beginning of the comparing string.

In other words, for the example query in the "Symptoms" section, the results are obtained by performing a search for user* instead of querying for *user*.

WORKAROUND

For the example query in the "Symptoms" section, change:
(&(cn=*user*)(|(mail=*user*)))
				
to:
(|(cn=*user*)(mail=*user*))
				

RESOLUTION

To resolve this problem, obtain the latest service pack for Site Server version 3.0. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

219292 How to Obtain the Latest Site Server 3.0 Service Pack

STATUS

Microsoft has confirmed that this is a problem in Site Server 3.0. This problem was first corrected in Site Server 3.0 Service Pack 4.

MORE INFORMATION

For additional information about related LDAP fixes, click the article numbers below to view the articles in the Microsoft Knowledge Base:

265502 LDAP Queries That Use the ADSI NOT Character (!) in a Filter Work Incorrectly

265500 LDAP Queries That Contain the Single-Quotation Character (') Fail

252178 LDAP Search 'Not Present' Filter Does Not Work with Membership

247953 Error Message: The Object You Tried to Create Already Exists in the Directory

231732 Updating Member Properties Using ADSI May Cause Corruption


Modification Type:MinorLast Reviewed:9/26/2005
Keywords:kbHotfixServer kbQFE kbbug kbfix kbQFE kbSiteServ300sp4fix KB258670