Return-Path: X-Original-To: apmail-directory-dev-archive@www.apache.org Delivered-To: apmail-directory-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 27E916BA6 for ; Thu, 16 Jun 2011 11:16:39 +0000 (UTC) Received: (qmail 40056 invoked by uid 500); 16 Jun 2011 11:16:39 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 40014 invoked by uid 500); 16 Jun 2011 11:16:39 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 40007 invoked by uid 99); 16 Jun 2011 11:16:38 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Jun 2011 11:16:38 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of pajbam@gmail.com designates 74.125.82.178 as permitted sender) Received: from [74.125.82.178] (HELO mail-wy0-f178.google.com) (74.125.82.178) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Jun 2011 11:16:32 +0000 Received: by wyf22 with SMTP id 22so324972wyf.37 for ; Thu, 16 Jun 2011 04:16:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:sender:content-type:mime-version:subject:from :in-reply-to:date:content-transfer-encoding:message-id:references:to :x-mailer; bh=KGww2tBREPKe42KG4f5IZr9Fz4cfVcL5KL1Ot3LGUrY=; b=NCVjIsHmJaQY1n5KWvPpz7pPRD1QfZkUg6e/ynL1jqq+o0+jUNKsNcj+70Bopy3v8j 5S6LkwgEh8DIMUxQykFBoB9gGVVfDfcPXsHygMlPMDUuPOPX7LaMPR4OKwucKR6x7V3m WLAt7iJbbcnbY7xIRexiLI52ouEjWwE0SGQZ8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:content-type:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to:x-mailer; b=yAGAGq+G73g3GyHiPyOWTXkfbBx9asMGG3BfQQsItqOkQh9K4TtGNZaxG4DMiTzJ+c uz5/w2FhVM2ntekZBtmQNSTYlGkcaeLyW0pjTE500cMZPpOfEOU+sNzBwyIZTGlboBtc AEY8VLzVu8By5JI2RkVBQC7zON/ySBBrPDlNc= Received: by 10.216.55.193 with SMTP id k43mr756401wec.51.1308222971173; Thu, 16 Jun 2011 04:16:11 -0700 (PDT) Received: from [192.168.0.52] (lon92-10-78-226-4-211.fbx.proxad.net [78.226.4.211]) by mx.google.com with ESMTPS id z22sm773159weq.26.2011.06.16.04.16.09 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 16 Jun 2011 04:16:10 -0700 (PDT) Sender: Pierre-Arnaud Marcelot Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 (Apple Message framework v1084) Subject: Re: Morning thoughts about alias handling... From: Pierre-Arnaud Marcelot In-Reply-To: Date: Thu, 16 Jun 2011 13:16:08 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <83EC49D6-793A-45E8-8FCB-E1252E63FF6E@marcelot.net> References: <4DF9CB33.8000008@gmail.com> To: "Apache Directory Developers List" X-Mailer: Apple Mail (2.1084) On 16 juin 2011, at 13:00, Kiran Ayyagari wrote: > On Thu, Jun 16, 2011 at 2:51 PM, Emmanuel Lecharny = wrote: >> Hi, >>=20 >> so I slept on the problem, and here are a few thoughts I had this = morning : >> - first, the alias handling can't be done in the doSimpleSearch() as = I >> thought, because if we do so, alias dereferencing won't be handled = when >> using the coreSession. It must be handled by the = EntryFilteringCursor. >> Remains to see how to implement that there. >> - second, we may have some issue when an alias points to a non = existing >> entry. What will the cursor.next() return in this case ? The alias = exists, >> so the cursor.next() will move forward, to something that does not = exist >> (this is a Pierre-Arnaud thought). > hmm, if the aliased entry doesn't exist the cursor shouldn't move = forward Yeah, what I meant in our face to face discussion with Emmanuel was that = if you're calling the cursor.next() method after all standard entries = have already been processed, it should not return true only because the = next entry to process is an alias. It should at least verify that this target entry pointed by the alias = really exists. This is to prevent a situation where the cursor.next() method would = return true (based on the fact that we have an alias without checking if = the pointed alias entry exists) and, then a call to the cursor.get() = method could return (if the pointed alias entry actually does not = exist). I hope it clarifies a little bit. Regards, Pierre-Arnaud >> - third, we have to fix the reverter, which doe snot handle correctly = alias >> removal, if the entry which is pointed doe snot exist anymore. There = is a >> JIRA for that issue. >>=20 >> I'll do my best today to get something done. >>=20 >> -- >> Regards, >> Cordialement, >> Emmanuel L=E9charny >> www.iktek.com >>=20 >>=20 >=20 >=20 >=20 > --=20 > Kiran Ayyagari