Re: [evolution-patches] Re-sent: Patch for 318227: Change LDAP search filter [mail/addressbook]
- From: "Sushma Rai" <rsushma novell com>
- To: <Carsten Guenther scalix com>, "Carsten Guenther" <Carsten Guenther scalix com>
- Cc: evolution-patches gnome org
- Subject: Re: [evolution-patches] Re-sent: Patch for 318227: Change LDAP search filter [mail/addressbook]
- Date: Tue, 25 Oct 2005 00:28:12 -0600
mail is not a mandatory attribute, and also
it is not a mandatory field for Evolution
contacts. "mail=*" will not fetch entries
like GroupOfNames or user objects without e-mail ids.
So having a default filter with "mail=*" can not
be done.
Not having "objectclass=person" will return non user
entries also in search operation. It is not a problem
in case of autocompletion, as autocompletion
shows entries having mail ids only.
So, 2 options we have are not having, "objectclass=person" or having
"(objectclass=person)||(mail=*)"
Since there is no support for contact groups
in Evolution 2.4.x, commit the fix with
"(objectclass=person)||(mail=*)" to gnome-2-12 branch
ONLY.
In the head, search filter is now configurable,
so user can set any specific value to it.
Thanks,
Sushma.
>>> "Carsten Guenther" <Carsten Guenther scalix com> 10/25/05 10:33 AM
>>>
When picking recipients for a message you are of course only
interested in entries that have a mail attribute set, hence the
"mail=*" filter I suggested in my first patch.
Can someone please make a decision here?
Thanks,
Carsten
On Oct 20, 2005, at 5:18 AM, Sushma Rai wrote:
> Hi,
>
> Just having mail=* or as I said (|(objectclass=person)(mail=*) is not
> good I feel. For next release (2.5.x) if we plan to support contact
> lists, where the objectclass will be groupofnames (for openldap) or
> group (for Exchange), etc. will fail again, as they don't (need not)
> have mail attribute. And also if we make search filter configurable,
> then it can be set as needed.
>
> I am not sure why we need to have "objectclass=person" at all.
> I have attached the patch, where I have removed this form the search
> filter. With this group objects associated with the e-mail id will
> show up with autocompletion.
>
> Please review.
> Thanks,
> Sushma.
>
> On Mon, 2005-10-10 at 14:12 -0700, Carsten Guenther wrote:
>
>> Sure it does, that's the whole point :-)
>>
>> Maybe we are talking about two different things here. I am talking
>> about
>> mailing-lists that are resolved on the server (and that are
>> maintained
>> by the server administrator) and where the list itself has an email
>> address. For example at Scalix we have eng scalix com with alle the
>> engineers being members, but the email address eng scalix com is
>> all you
>> need to write to all the members.
>>
>> So, obviously the query "objectclass=person" does not cut it because
>> mailing-lists have objectclass "distributionList" or something
>> different, depending of the product. But by using "mail=*" you get
>> every
>> entry that is adressable, mailing-lists included. BTW, that's how
>> most
>> other clients (Thunderbird for exmaple) do it as well.
>>
>> I am aware that this does not entirely fix the issue "Evolution
>> does not
>> deal with LDAP groups", but it is a one-line fix that fixes some
>> of the
>> issues and one that can be applied to 2.4 as well (that's what we
>> actually need).
>>
>> Carsten
>>
>> Chris Toshok wrote:
>>
>>> Meaning that when sent the mail doesn't go to all the members of the
>>> ldap mailing list. Or does it?
>>>
>>> On Mon, 2005-10-10 at 12:53 -0700, Carsten Guenther wrote:
>>>
>>>
>>>> What do you mean? Changing the search filter to "(mail=*)"
>>>> allows me
>>>> to search and autocomplete mailing-lists. Autocompletion was the
>>>> main
>>>> problem for us.
>>>>
>>>> Chris Toshok wrote:
>>>>
>>>>
>>>>> Not really.. what happens when you autocomplete against them?
>>>>> The
>>>>> point is just adding (mail=*) to the query doesn't fix the actual
>>>>> problem, which is that evo doesn't deal with mailing lists on ldap
>>>>> servers.
>>>>>
>>>>> On Mon, 2005-10-10 at 12:40 -0700, Carsten Guenther wrote:
>>>>>
>>>>>
>>>>>
>>>>>> With my patch they would show up in addressbook searches. Only
>>>>>> the lists
>>>>>> email address will be displayed though, no membership
>>>>>> information, but
>>>>>> that is fine.
>>>>>>
>>>>>> Chris Toshok wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> are mailing lists from ldap reflected as contact lists in the
>>>>>>> UI. Seems
>>>>>>> like you'd want that as well.
>>>>>>>
>>>>>>> On Mon, 2005-10-10 at 12:12 -0700, Carsten Guenther wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Can I commit this?
>>>>>>>>
>>>>>>>> --
>>>>>>>> Attached patch fixes 318227. The LDAP search filter used was
>>>>>>>> limited to
>>>>>>>> entries with objectclass "person" which prevented searching for
>>>>>>>> mailing-lists, a problem many people have. The patch changes
>>>>>>>> the search
>>>>>>>> filter such that it looks for everything that has the
>>>>>>>> attribute "mail"
>>>>>>>> set ("mail=*"). That's basically what Thunderbird and other
>>>>>>>> clients do
>>>>>>>> as well.
>>>>>>>>
>>>>>>>> I think bug 311884 still is valid but can be fixed t a later
>>>>>>>> point.
>>>>>>>>
>>>>>>>> Please review for commit to gnome-2-12 and head.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Carsten
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Evolution-patches mailing list
>>>>>>>> Evolution-patches gnome org
>>>>>>>> http://mail.gnome.org/mailman/listinfo/evolution-patches
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>> _______________________________________________
>>>>> Evolution-patches mailing list
>>>>> Evolution-patches gnome org
>>>>> http://mail.gnome.org/mailman/listinfo/evolution-patches
>>>>>
>>>>>
>>>>>
>>
>> _______________________________________________
>> Evolution-patches mailing list
>> Evolution-patches gnome org
>> http://mail.gnome.org/mailman/listinfo/evolution-patches
>>
> Index: addressbook/backends/ldap/e-book-backend-ldap.c
> ===================================================================
> RCS file: /cvs/gnome/evolution-data-server/addressbook/backends/
> ldap/e-book-backend-ldap.c,v
> retrieving revision 1.50
> diff -u -p -r1.50 e-book-backend-ldap.c
> --- addressbook/backends/ldap/e-book-backend-ldap.c 4 Oct 2005
> 07:00:16 -0000 1.50
> +++ addressbook/backends/ldap/e-book-backend-ldap.c 20 Oct 2005
> 11:59:04 -0000
> @@ -3216,7 +3216,6 @@ e_book_backend_ldap_build_query (EBookBa
> gchar *retval;
> EBookBackendLDAPSExpData data;
> int i;
> - char **strings;
>
> data.list = NULL;
> data.bl = bl;
> @@ -3248,15 +3247,7 @@ e_book_backend_ldap_build_query (EBookBa
> g_list_foreach (data.list, (GFunc)g_free, NULL);
> }
> else {
> - strings = g_new0(char*, 5);
> - strings[0] = g_strdup ("(&");
> - strings[1] = g_strdup ("(objectclass=person)");
> - strings[2] = data.list->data;
> - strings[3] = g_strdup (")");
> - retval = g_strjoinv (" ", strings);
> - for (i = 0 ; i < 4; i ++)
> - g_free (strings[i]);
> - g_free (strings);
> + retval = g_strdup (data.list->data);
> }
> }
> else {
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]