From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 06 13:56:46 2014 Received: (at submit) by debbugs.gnu.org; 6 Jun 2014 17:56:46 +0000 Received: from localhost ([127.0.0.1]:39820 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WsyNh-00043c-Ad for submit@debbugs.gnu.org; Fri, 06 Jun 2014 13:56:45 -0400 Received: from eggs.gnu.org ([208.118.235.92]:45052) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1WsyJ6-0003uW-PN for submit@debbugs.gnu.org; Fri, 06 Jun 2014 13:52:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WsyIv-0006Lv-AT for submit@debbugs.gnu.org; Fri, 06 Jun 2014 13:51:55 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:44607) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WsyIv-0006Lq-8U for submit@debbugs.gnu.org; Fri, 06 Jun 2014 13:51:49 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46690) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WsyIp-0005vN-DY for bug-gnu-emacs@gnu.org; Fri, 06 Jun 2014 13:51:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WsyIj-0006H7-IT for bug-gnu-emacs@gnu.org; Fri, 06 Jun 2014 13:51:43 -0400 Received: from mail-we0-x22d.google.com ([2a00:1450:400c:c03::22d]:35482) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WsyIj-0006H1-BM for bug-gnu-emacs@gnu.org; Fri, 06 Jun 2014 13:51:37 -0400 Received: by mail-we0-f173.google.com with SMTP id u57so3200534wes.18 for ; Fri, 06 Jun 2014 10:51:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:mime-version:content-type; bh=q7M6/pq7sZRwB6QdY6MP+R+KG8X3NNqgtuKElKKuL0A=; b=D2Sf16YJB4Nt963BxkRTPikZF1Ws88y2RzKSlFyE8PWxezkD+xCRldwVZXmiP8mEL1 ufGBcBWYfWyXNTFOtiaR2R1OACahAyyMT7nZIVWDq4N6NiTcBRQot+SRtUD4/3mqkpp1 xQOxEY/iq4Ps/z5F1ZKpg3QDU0DBnGPBAqhwxSUCUw5tmwioF8j62zs7n2PMk5/nocpg NoZICJEJZr9zc2sbMdV2/GU1glSif4P/ugpYO3M97plvZgkzJ6a/Ad8KIBMz9TuktepF yUb5jpewhUPyMILIaKEp2KNaaOKdz+GQIF4urnI3rwFai8hH27xTUx4e1gBawIOT7TLx MaNg== X-Received: by 10.14.251.4 with SMTP id a4mr823025ees.20.1402077096329; Fri, 06 Jun 2014 10:51:36 -0700 (PDT) Received: from mail.quasi.internal (pD958DED8.dip0.t-ipconnect.de. [217.88.222.216]) by mx.google.com with ESMTPSA id 4sm24285574eeu.16.2014.06.06.10.51.34 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 06 Jun 2014 10:51:35 -0700 (PDT) Received: from gigli.quasi.internal (gigli.quasi.internal [192.168.0.100]) by mail.quasi.internal (Postfix) with ESMTPS id 7EC9C35B for ; Fri, 6 Jun 2014 19:51:33 +0200 (CEST) From: "Raimund Berger" To: bug-gnu-emacs@gnu.org Subject: 24.3; EUDC LDAP duplicate mail handling broken. Date: Fri, 06 Jun 2014 19:51:33 +0200 Message-ID: <87ha3yx6xm.fsf@gigli.quasi.internal> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Fri, 06 Jun 2014 13:56:43 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) Hi there, EUDC - and this seems to be a long standing issue - doesn't properly recognize and handle LDAP entries that have multiple "mail" records. Example: when having an LDAP entry with cn "John Doe" and two mail records "john@a.com" "john@b.com" the corresponding inline expansion LDAP call returns ((cn . "John Doe") (mail . "john@a.com") (mail . "john@b.com")) given the setting (eudc-protocol-set 'eudc-inline-expansion-format '("%s <%s>" cn email) 'ldap) and eudc-duplicate-attribute-handling-method having its default value ((email . duplicate)). The above list is then passed into eudc-filter-duplicate-attributes, which unfortunately fails to properly handle or even just recognize those duplicate "mail" records. This failure then results into inline expansion just inserting the first mail entry instead of offering a selection between all available mail records, like it properly happens with the bbdb backend for example. Unfortunately, I don't know enough of elisp to maybe fix the issue myself (all the mapcars, cdrs, etc make me dizzy). But it would be great if this issue could be dealt with. I've seen several complaints about this matter on the net btw, one dating back to 2005. So it seems to be an old one. Thanks, R. In GNU Emacs 24.3.1 (i686-pc-linux-gnu, GTK+ Version 2.24.10) of 2014-05-18 on gigli From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 24 01:30:12 2014 Received: (at 17720) by debbugs.gnu.org; 24 Dec 2014 06:30:12 +0000 Received: from localhost ([127.0.0.1]:56124 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y3fSV-0002ma-Cc for submit@debbugs.gnu.org; Wed, 24 Dec 2014 01:30:11 -0500 Received: from mail-ie0-f176.google.com ([209.85.223.176]:51666) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y3fSS-0002mQ-P8 for 17720@debbugs.gnu.org; Wed, 24 Dec 2014 01:30:09 -0500 Received: by mail-ie0-f176.google.com with SMTP id tr6so7287908ieb.35 for <17720@debbugs.gnu.org>; Tue, 23 Dec 2014 22:30:08 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-type; bh=KM3HTIZp0bygjadKckIZ+3J1PNNyMZZPr96ncEFYlDg=; b=e7hkDzXuu68qo+sIITuw/oEycqNyCLrNUc9PRJ3uf8ZQAyahSTBtrRKp2nEl9dLPAT 7UD0r19lNN/X6IJod9WJHr4F9oF7yrTVL5pOJbtKE/kIA7V82Bs2NSPvemr4P7JPb3Pd PRY57ouCEHeb/skn5EfdN/BcAKDDvs2gNM5oJAXtE26TrB8ms1R8+t9b55VMwLPx4XVO IpBUXCN62zFy/iv8j37dJJ6rDr7kI1vwmMzhXft2f8e5oeHouT1jtFNJykhNqFuOKH2a PciiqMNI118uuwNsnt+caCKVywCYqsbTOT6RlNwi58C+JCqbEEkjChOhgLoX18voNWqo gZFw== X-Gm-Message-State: ALoCoQlPhq9mrIneIfzxsRzSQZLQ7gy7WbHxBgGlPUr6VMPs12NVWQXl5n6CX0xv++haGZYZvL7z X-Received: by 10.50.234.194 with SMTP id ug2mr25089761igc.39.1419402608147; Tue, 23 Dec 2014 22:30:08 -0800 (PST) Received: from hp-dv5t.gateway.2wire.net (69-165-165-189.dsl.teksavvy.com. [69.165.165.189]) by mx.google.com with ESMTPSA id qa8sm2816319igb.13.2014.12.23.22.30.07 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Tue, 23 Dec 2014 22:30:07 -0800 (PST) From: Thomas Fitzsimmons To: "Raimund Berger" Subject: Re: bug#17720: 24.3; EUDC LDAP duplicate mail handling broken. References: <87ha3yx6xm.fsf@gigli.quasi.internal> Date: Wed, 24 Dec 2014 01:30:06 -0500 In-Reply-To: <87ha3yx6xm.fsf@gigli.quasi.internal> (Raimund Berger's message of "Fri, 06 Jun 2014 19:51:33 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17720 Cc: 17720@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Hi Raimund, Can you try this patch? Thanks, Thomas --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=emacs-eudc-ldap-combine-mail-fields.patch diff --git a/lisp/net/eudcb-ldap.el b/lisp/net/eudcb-ldap.el index 6c806d7..1c5bab2 100644 --- a/lisp/net/eudcb-ldap.el +++ b/lisp/net/eudcb-ldap.el @@ -74,16 +74,28 @@ '(eudc-ldap-check-base) 'ldap) +(defun eudc-ldap-combine-mail-fields (record) + "Combine mail fields in RECORD." + (let (result) + (dolist (element record) + (let ((result-element (assoc (car element) result))) + (if (and result-element (eq (car element) 'mail)) + (setf (cdr result-element) + (list (cdr result-element) (cdr element))) + (setq result (append result (list element)))))) + result)) + (defun eudc-ldap-cleanup-record-simple (record) "Do some cleanup in a RECORD to make it suitable for EUDC." - (mapcar - (function - (lambda (field) - (cons (intern (car field)) - (if (cdr (cdr field)) - (cdr field) - (car (cdr field)))))) - record)) + (eudc-ldap-combine-mail-fields + (mapcar + (function + (lambda (field) + (cons (intern (car field)) + (if (cdr (cdr field)) + (cdr field) + (car (cdr field)))))) + record))) (defun eudc-filter-$ (string) (mapconcat 'identity (split-string string "\\$") "\n")) @@ -92,18 +104,19 @@ ;; Make the record a cons-cell instead of a list if it is single-valued ;; Filter the $ character in addresses into \n if not done by the LDAP lib (defun eudc-ldap-cleanup-record-filtering-addresses (record) - (mapcar - (function - (lambda (field) - (let ((name (intern (car field))) - (value (cdr field))) - (if (memq name '(postaladdress registeredaddress)) - (setq value (mapcar 'eudc-filter-$ value))) - (cons name - (if (cdr value) - value - (car value)))))) - record)) + (eudc-ldap-combine-mail-fields + (mapcar + (function + (lambda (field) + (let ((name (intern (car field))) + (value (cdr field))) + (if (memq name '(postaladdress registeredaddress)) + (setq value (mapcar 'eudc-filter-$ value))) + (cons name + (if (cdr value) + value + (car value)))))) + record))) (defun eudc-ldap-simple-query-internal (query &optional return-attrs) "Query the LDAP server with QUERY. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 05 22:26:32 2015 Received: (at 17720) by debbugs.gnu.org; 6 Mar 2015 03:26:32 +0000 Received: from localhost ([127.0.0.1]:36643 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YTiuG-0003v1-7t for submit@debbugs.gnu.org; Thu, 05 Mar 2015 22:26:32 -0500 Received: from mail-ie0-f182.google.com ([209.85.223.182]:41223) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YTiuE-0003un-Mp for 17720@debbugs.gnu.org; Thu, 05 Mar 2015 22:26:31 -0500 Received: by iecrd18 with SMTP id rd18so82328139iec.8 for <17720@debbugs.gnu.org>; Thu, 05 Mar 2015 19:26:25 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-type; bh=OQxRyhi5eBdm8DZaH27dyWwisRaNOYE22znkXtXBkGc=; b=QkyQwh6SsoqtrTINc/EpOtyHQXt5mJIc7bv6y3W4CVKyRiyd+UVrzIdqgC9YHQhTeS XwPaat0QxhIRnu749dz1gSuhcDtR0Nr3st0I5Q2rLamYI3NPxN0Z5UX5fWXFt4TqYaLk pkJFdt0+P2ztaeQegCyCTESxzGyfQJ4BTpU70/lLt66LlrUfwiFnswSx8A650kQyHbZL byoPQmi9To8d04Fcbn7ZeYS++EFlRkWYG+DUyQuuxISPqvguJrjwv+zkkF9W4kdg8RZ4 R7/D34MqFE/cQbwdTt2XKRKMaZUoLJKwDOfK6rV8I+cqvSCC6SBYMkh9IuHuuJEph04r GB+g== X-Gm-Message-State: ALoCoQnopjihLCJuzUmS3mQA+WurD01m7E6DKI1IpLBxqXKADhMGbR7UmFOMdnHPVhTDyCspWFIn X-Received: by 10.42.235.78 with SMTP id kf14mr5043990icb.8.1425612385149; Thu, 05 Mar 2015 19:26:25 -0800 (PST) Received: from hp-dv5t (69-165-165-189.dsl.teksavvy.com. [69.165.165.189]) by mx.google.com with ESMTPSA id t41sm6315092ioi.0.2015.03.05.19.26.24 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 05 Mar 2015 19:26:24 -0800 (PST) From: Thomas Fitzsimmons To: "Raimund Berger" Subject: Re: bug#17720: 24.3; EUDC LDAP duplicate mail handling broken. References: <87ha3yx6xm.fsf@gigli.quasi.internal> Date: Thu, 05 Mar 2015 22:26:23 -0500 In-Reply-To: (Thomas Fitzsimmons's message of "Wed, 24 Dec 2014 01:30:06 -0500") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17720 Cc: 17720@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) fixed 17720 25.1 thanks I pushed a fix for this. Thomas From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 06 03:05:55 2015 Received: (at 17720-done) by debbugs.gnu.org; 6 Mar 2015 08:05:55 +0000 Received: from localhost ([127.0.0.1]:36728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YTnGd-00031B-CI for submit@debbugs.gnu.org; Fri, 06 Mar 2015 03:05:55 -0500 Received: from mail-ie0-f169.google.com ([209.85.223.169]:33225) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YTnGb-00030y-Rw for 17720-done@debbugs.gnu.org; Fri, 06 Mar 2015 03:05:54 -0500 Received: by iecar1 with SMTP id ar1so83596133iec.0 for <17720-done@debbugs.gnu.org>; Fri, 06 Mar 2015 00:05:48 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id:user-agent :mime-version:content-type; bh=pgmPt67o6CrORzlyT6jdvSiPhaecW+ukFDv7GEX5C7I=; b=ax2wSzTAmxYJJh+Hvzd0qVmby3mkxsviEPcjHnHuixli8CRmsmYYGnekJzJZqAKEca qAnDjW1YltDmXjIe1EYmT4icGr39rTsAgTWcr1Lie0ro6jOxJ5Fv4NKvFFdAiApsOdOH DFzctvhOsdmHIj2eWseJCdsycMbJ1kM4USochxFqNc/o3l4g3clbr8lw/f1hxAW6OlqE f324RYGMd/lmuF3Gb1horIR0guyeHHFz/3VDGZsMfGwC5HaxO0/3sbW9+NqLCX9lNZ9b 5OJ74hAvzmyHiJPK0ZGOCAh/JTF5ogldh6G2GmzvT8I1oGSLJSCPOioBY0uC3Dv5Fhq2 dd3w== X-Gm-Message-State: ALoCoQkByIyHXzluk9EJ3kYaUvht7xegBBHVBIOAEgnTN+d54hs88TX2q5qgCTMJgElVSwXHt81M X-Received: by 10.43.13.200 with SMTP id pn8mr8930110icb.0.1425629148303; Fri, 06 Mar 2015 00:05:48 -0800 (PST) Received: from hp-dv5t (69-165-165-189.dsl.teksavvy.com. [69.165.165.189]) by mx.google.com with ESMTPSA id d1sm541351igl.9.2015.03.06.00.05.47 for <17720-done@debbugs.gnu.org> (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Fri, 06 Mar 2015 00:05:47 -0800 (PST) From: Thomas Fitzsimmons To: 17720-done@debbugs.gnu.org Subject: 24.3; EUDC LDAP duplicate mail handling broken. Date: Fri, 06 Mar 2015 03:05:46 -0500 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 17720-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) This is fixed by the following commit: commit bfebebbc72c6a6ea375c6e8ed7f8641b25439770 Author: Thomas Fitzsimmons Date: Thu Mar 5 21:53:37 2015 -0500 Fix EUDC LDAP duplicate mail handling Fixes: debbugs:17720 * net/eudcb-ldap.el (eudc-ldap-cleanup-record-simple): Mark as obsolete. (eudc-ldap-cleanup-record-filtering-addresses): Add docstring. Don't clean up postal addresses if ldap-ignore-attribute-codings is set. Combine mail addresses into one field. (Bug#17720) (eudc-ldap-simple-query-internal): Call eudc-ldap-cleanup-record-filtering-addresses instead of eudc-ldap-cleanup-record-simple. (eudc-ldap-get-field-list): Likewise. Closing. Thomas From unknown Sun Sep 07 01:05:54 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 03 Apr 2015 11:24:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator