5.2.0-git
2014-07-24

[#7957] Unable to send smime encrypted mail unless 'email' attribute is set
Summary Unable to send smime encrypted mail unless 'email' attribute is set
Queue IMP
Queue Version 4.3.3
Type Enhancement
State Accepted
Priority 1. Low
Owners
Requester johannes.nilsson (at) sorch (dot) se
Created 2009-02-06 (1994 days ago)
Due
Updated 2009-02-10 (1990 days ago)
Assigned
Resolved
Milestone
Patch No

History
2009-02-10 00:40:32 Jan Schneider Type ⇒ Enhancement
State ⇒ Accepted
Priority ⇒ 1. Low
 
2009-02-10 00:21:28 johannes (dot) nilsson (at) sorch (dot) se Comment #7 Reply to this comment
So it wouldn't be guaranteed to work, but what harm could it cause (to 
use the same attributes in addition to email)?



Anyhow, could it rather than a bug be considered as an enhancement 
request to either be able to specify which fields too search (perhaps 
using the search array from Turba here as well) or to add workMail and 
homeMail to the hardcoded attributes?



While setting up sync with my phone I actually tidied up all contacts 
to use home- and work-attributes instead of the generic ones. Kind of 
an anti-climax to find out that encrypted mail stopped working... ;)
2009-02-09 18:05:09 Jan Schneider Comment #6 Reply to this comment
Because in your preferences, you might not even have the email address 
selected as an attribute to use for searching contacts.
2009-02-08 11:02:59 johannes (dot) nilsson (at) sorch (dot) se Comment #5 Reply to this comment
Because the email address is the identifier for a certificate.
Sure, but what problems can arise from searching the same attributes 
(using the complete email address) when searching for the certificate 
as when searching for the address in the first place (using part of eg 
the name or address)?
2009-02-08 10:07:37 Jan Schneider Comment #4 Reply to this comment
Because the email address is the identifier for a certificate.
2009-02-07 22:10:18 johannes (dot) nilsson (at) sorch (dot) se Comment #3 Reply to this comment
This is not a bug because IMP and Turba are separate applications and
IMP doesn't know which attributes a Turba address book has, and which
of these attributes are email fields.
Does IMP really need to know which attributes are email fields?



In IMP's addressbook settings, the attributes available for address 
expansion seems to be read from the search array in Turba's 
sources.php. Why not simply use these chosen attributes when searching 
for the certificate as well instead of an hardcoded single attribute?
2009-02-06 23:31:31 Jan Schneider Comment #2
State ⇒ Not A Bug
Reply to this comment
This is not a bug because IMP and Turba are separate applications and 
IMP doesn't know which attributes a Turba address book has, and which 
of these attributes are email fields.
2009-02-06 12:25:15 johannes (dot) nilsson (at) sorch (dot) se Comment #1
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Queue ⇒ IMP
Summary ⇒ Unable to send smime encrypted mail unless 'email' attribute is set
Type ⇒ Bug
Priority ⇒ 2. Medium
Reply to this comment
I have turba set up with ldap as backend. For email addresses the 
three attributes email, homemail and workmail are available. When 
trying to send smime encrypted mails using imp it seems as only the 
email attribute is 'valid'. If email isn't set sending the mail fails 
with an error about not beeing able to find smimePublicKey. The user 
I'm testing with has his mail set in homemail, and the address is 
found and autocompleted when starting to type in the 'to' field.



The logs below is from right after pressing 'send' with encryption set.



horde.log:



Feb 06 12:47:14 HORDE [debug] [imp] SQL Query by 
DataTree_sql::_exists(): SELECT datatree_id FROM horde_datatree WHERE 
group_uid = ? AND datatree_name = ? AND datatree_parents = ?, array (

   0 => 'horde.perms',

   1 => 'imp',

   2 => '',

) [pid 17311 on line 398 of "/usr/share/horde/lib/Horde/DataTree/sql.php"]

Feb 06 12:47:14 HORDE [debug] [turba] LDAP query by 
Turba_Driver_ldap::_search(): user = myuser, root = 
ou=myuser,ou=AddressBook,dc=domain,dc=com (localhost); filter = 
"(&(note=*other.user@domain.com*))"; attributes = "dn, uid, turbaType, 
turbaMembers, givenname, sn, mozillaNickname, birthDate, anniversary, 
spouseName, jpegPhoto, audio, mozillaHomeStreet, mozillaHomeStreet2, 
mozillaHomeLocalityName, mozillaHomeState, mozillaHomePostalCode, 
mozillaHomeCountryName, street, mozillaWorkStreet2, l, st, postalCode, 
c, note, homePhone, telephoneNumber, otherPhone, 
facsimileTelephoneNumber, pager, title, businessrole, 
businessCategory, o, ou, roomNumber, description, labeledURI, 
freeBusyURI, userCertificate, userSMIMECertificate, category, 
initials, mozillaSecondEmail, mail, primaryPhone, 
otherFacsimileTelephoneNumber, homeFacsimileTelephoneNumber, carPhone, 
mobile, mozillaCustom1, mozillaCustom2, mozillaCustom3, 
mozillaCustom4, mozillaWorkUrl, mozillaHomeUrl"; deref = "0"  ; 
sizelimit = 0 [pid 17311 on line 186 of 
"/usr/share/horde/turba/lib/Driver/ldap.php"]

Feb 06 12:47:14 HORDE [debug] [imp] S/MIME-fel:Post smimePublicKey 
saknas för other.user@domain.com [pid 17311 on line 176 of 
"/usr/share/horde/lib/Horde/Notification.php"]

Feb 06 12:47:14 HORDE [debug] [imp] SQL query by 
Horde_Alarm_sql::_list(): SELECT alarm_id, alarm_uid, alarm_start, 
alarm_end, alarm_methods, alarm_params, alarm_title, alarm_text, 
alarm_snooze, alarm_internal FROM horde_alarms WHERE alarm_dismissed = 
0 AND ((alarm_snooze IS NULL AND alarm_start <= ?) OR alarm_snooze <= 
?) AND (alarm_end IS NULL OR alarm_end >= ?) AND (alarm_uid = ? OR 
alarm_uid = ?) ORDER BY alarm_start, alarm_end [pid 17311 on line 148 
of "/usr/share/horde/lib/Horde/Alarm/sql.php"]

Feb 06 12:47:14 HORDE [debug] [imp] Max memory usage: 11534336 bytes 
[pid 17311 on line 339 of "/usr/share/horde/lib/Horde/Registry.php"]







ldap.log:



Feb  6 12:47:14 mettemauge slapd[4568]: conn=3930 fd=34 ACCEPT from 
IP=127.0.0.1:44332 (IP=0.0.0.0:389)

Feb  6 12:47:14 mettemauge slapd[4568]: conn=3930 op=0 BIND 
dn="mail=my.user@domain.com,ou=MailAccounts,dc=domain,dc=com" method=128

Feb  6 12:47:14 mettemauge slapd[4568]: conn=3930 op=0 BIND 
dn="mail=my.user@domain.com,ou=MailAccounts,dc=domain,dc=com" 
mech=SIMPLE ssf=0

Feb  6 12:47:14 mettemauge slapd[4568]: conn=3930 op=0 RESULT tag=97 
err=0 text=

Feb  6 12:47:14 mettemauge slapd[4568]: conn=3930 op=1 SRCH 
base="ou=myuser,ou=AddressBook,dc=domain,dc=com" scope=1 deref=0 
filter="(&(note=*other.user@domain.com*))"

Feb  6 12:47:14 mettemauge slapd[4568]: conn=3930 op=1 SRCH attr=dn 
uid turbaType turbaMembers givenname sn mozillaNickname birthDate 
anniversary spouseNamejpegPhoto audio mozillaHomeStreet 
mozillaHomeStreet2 mozillaHomeLocalityName mozillaHomeState 
mozillaHomePostalCode mozillaHomeCountryName street mozillaWorStreet2 
l st postalCode c note homePhone telephoneNumber otherPhone 
facsimileTelephoneNumber pager title businessrole businessCategory o 
ou roomNumber descrption labeledURI freeBusyURI userCertificate 
userSMIMECertificate category initials mozillaSecondEmail mail 
primaryPhone otherFacsimileTelephoneNumber homeFcsimileTelephoneNumber 
carPhone mobile mozillaCustom1 mozillaCustom2 mozillaCustom3 
mozillaCustom4 mozillaWorkUrl mozillaHomeUrl

Feb  6 12:47:14 mettemauge slapd[4568]: <= bdb_substring_candidates: 
(note) not indexed

Feb  6 12:47:14 mettemauge slapd[4568]: conn=3930 op=1 SEARCH RESULT 
tag=101 err=0 nentries=0 text=

Feb  6 12:47:14 mettemauge slapd[4568]: conn=3930 op=2 UNBIND

Feb  6 12:47:14 mettemauge slapd[4568]: conn=3930 fd=34 closed







From turba/sources.php



'map' => array(

<...>

         'email' => 'note',

<...>

         'smimePublicKey' => 'userSMIMECertificate',

<...>

         'workEmail' => 'mozillaSecondEmail',

         'homeEmail' => 'mail',





[root@mettemauge johnilx]# rpm -qa "horde*"

horde-ingo-1.2.1-1mdv2008.1

horde-imp-4.3.3-1mdv2008.1

horde-kronolith-2.3-1mdv2008.1

horde-3.3.3-1mdv2008.1

horde-turba-2.3.1-1mdv2008.1