Opened 10 years ago

Last modified 8 years ago

#188 reopened defect

Matching of identities appears to be case-sensitive

Reported by: Michael Roland <michael.roland@…> Owned by:
Version: 0.6.8 Keywords:
Cc: michael.roland@…, Mozilla@…

Description

Since version 0.6.0rc1 (I previously used 0.5.12) it seems as if recipient addresses are now matched against existing identities in a case-sensitive manner (i.e. Michael.Roland@... is no longer the same as michael.roland@...). The version 0.5.12 seemed to match case-insensitively.

Although, I have to admit that the new behavior complies to the RFC in that the user part of mail addresses is (or may be) case-sensitive, I would at least like to see an option to enable case-insensitive matching. (I the same way as there is an option to "ignore full name while comparing email addresses with exisiting identities".)

As I'm not sure if this is an intended change or a bug in rc1, I will leave this ticket a defect report rather than an enhancement request for the moment.

Kind regards, Michael

Change History (6)

comment:1 Changed 10 years ago by Michael Roland <michael.roland@…>

Update:

I just went though the log file and it seems as if the proper identitity is found at first but dropped in a second cycle.

Thunderbird 3.0 (20091204171430; Windows NT 5.1)
 - Deutsches Wörterbuch, erweitert für Österreich de-AT@dictionaries.addons.mozilla.org 1.0.2 [DISABLED]
 - Display Quota {c1ac4523-76c2-9995-adbd-d93bf5141bea} 0.3 [DISABLED]
 - Enigmail {847b3a00-7ab1-11d4-8f02-006008948af5} 1.0 [DISABLED]
 - GeckoTIP {b5431952-4840-11da-9502-00e08161165f} 1.0.0 [DISABLED]
 - Lightning {e2fda1a4-762b-4020-b5ad-a41df1933103} 1.0b2pre [DISABLED]
 - Lightning Nightly Updater (Unofficial) lightning-nightly-updater@olive 0.9.090618 [DISABLED]
 - Mnenhy {bf591015-b599-4125-9428-3cb746ddca31} 0.7.6 [DISABLED]
 - Quicktext {8845e3b3-e8fb-40e2-95e9-ec40294818c4} 0.9.9.9 [DISABLED]
 - Signature Switch {2ab1b709-ba03-4361-abf9-c50b964ff75d} 1.6.4 [DISABLED]
 - URL Link {139a120b-c2ea-41d2-bf70-542d9f063dfd} 2.03.3 [DISABLED]
 - Virtual Identity {dddd428e-5ac8-4a81-9f78-276c734f75b8} 0.6.0rc1
 - Xpunge {786abda0-fd14-d247-bf69-38b2fc18491b} 0.3 [DISABLED]
--------------------------------------------------------------------------------
## v_identity: composeDialog reopened. (msgType 6)
** v_identity.xml identityData setter
## v_identity: everything cleaned.
## v_identity: initSystemStage1.
** v_identity.xml fromPopupItem_clone constructor id='id1'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER1] (outgoing)'.
** v_identity.xml identityData setter
** v_identity.xml identityData setter value='id1'
** v_identity.xml identityData setter smtp='smtp1'
** v_identity.xml smtp set to 'smtp1'
** v_identity.xml fromPopupItem_clone constructor id='id2'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER1] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id3'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER1] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id4'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER1] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id7'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER2] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id8'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER2] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id9'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER3] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id10'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER3] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id11'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER3] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id12'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER4] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id13'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER3] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id23'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER5] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id24'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER5] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id20'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER6] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id17'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER6] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id19'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER6] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id14'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER7]  (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id22'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER8] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id15'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER1] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id16'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER1] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id18'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER1] (outgoing)'.
** v_identity.xml fromPopupItem_clone constructor id='id5'.
** v_identity.xml fromPopupItem_clone constructor smtp='[PROVIDER1] (outgoing)'.
## v_identity: reopen done.
## v_identity: NotifyComposeFieldsReady
## v_identity: NotifyComposeBodyReady
## v_identity: initSystemStage2.
## vI_smartIdentity: msgComposeType = 6
## vI_smartIdentity: Reply()
## vI_storage: getVIdentityFromAllRecipients()
## vI_rdfDatasource: readVIdentityFromRDF no data found.
## vI_rdfDatasource: findMatchingFilter for Doe John <John.Doe@PROVIDER5>.
## vI_rdfDatasource: findMatchingFilter no match found.
## vI_storage: found 0 address(es)
## vI_smartIdentity: __SmartReply()
## vI_smartIdentity: ----------------------------------------------------------
## vI_smartIdentity: reading header 'x-original-to': ''
## vI_smartIdentity: reading header 'to': 'Roland Michael <Michael.Roland@PROVIDER5>'
## identityCollection:   add new address to result: Roland Michael <Michael.Roland@PROVIDER5>
## identityCollection:   add new address to result: Roland Michael <Michael.Roland@PROVIDER5>
## vI_smartIdentity:   found 'Roland Michael <Michael.Roland@PROVIDER5>'
## vI_smartIdentity: reading header 'cc': ''
## vI_smartIdentity: reading header 'x-fetchmail-from': 'myuser@PROVIDER5'
## identityCollection:   add new address to result: myuser@PROVIDER5
## identityCollection:   add new address to result: myuser@PROVIDER5
## vI_smartIdentity:   found 'myuser@PROVIDER5'
## vI_smartIdentity: 2 address(es) after parsing, before filtering
## vI_smartIdentity: no filters configured
## identityCollection:   add new address to result: Roland Michael <Michael.Roland@PROVIDER5>
## identityCollection:   add new address to result: myuser@PROVIDER5
## vI_smartIdentity: filtering done, 2 address(es) left
## vI_smartIdentity: compare with existing Identities (ignoring FullNames).
## vI_identityData: isExistingIdentity: Roland Michael <Michael.Roland@PROVIDER5> found, id='id24'
## vI_smartIdentity: replaced Fullname of 'Michael.Roland@PROVIDER5' with 'Michael Roland' 
## vI_identityData: isExistingIdentity: myuser@PROVIDER5 not found
## vI_smartIdentity: ----------------------------------------------------------
## identityCollection:   add new address to result: Michael Roland <Michael.Roland@PROVIDER5>
## identityCollection:   add new address to result: myuser@PROVIDER5
## vI_smartIdentity: merged SmartReply & Storage, 2 address(es) left
** v_identity.xml fromPopupItem_clone constructor id='null'.
** v_identity.xml fromPopupItem_clone constructor smtp=''.
** v_identity.xml fromPopupItem_clone constructor id='null'.
** v_identity.xml fromPopupItem_clone constructor smtp=''.
## vI_identityData: isExistingIdentity: Michael Roland <Michael.Roland@PROVIDER5> found, id='id24'
## vI_smartIdentity: found existing Identity, use without interaction.
## changeIdentityToSmartIdentity selectedValue=0: 'Michael Roland <Michael.Roland@PROVIDER5>' (,)

** v_identity.xml msgIdentityCloneElem.doCommand() 
** v_identity.xml identityData setter
** v_identity.xml set new Id: id1 'Michael Roland <michael.roland@PROVIDER1>'
** v_identity.xml checkForVirtualIdentity: id1 'Michael Roland <michael.roland@PROVIDER1>'
## vI_identityData: isExistingIdentity: Michael Roland <Michael.Roland@PROVIDER5> found, id='id24'
## vI_msgIdentityCloneTools: signatureSwitch restore signature
** v_identity.xml identityData setter value='id1'
** v_identity.xml identityData setter smtp='vI_noStoredSMTP'
** v_identity.xml smtp set to 'smtp1'
** v_identity.xml checkForVirtualIdentity: id1 'Michael Roland <michael.roland@PROVIDER1>'
## vI_identityData: isExistingIdentity: Michael Roland <Michael.Roland@PROVIDER5> not found
## vI_msgIdentityCloneTools: signatureSwitch hide/remove signatures

Line

## vI_identityData: isExistingIdentity: Michael Roland <Michael.Roland@PROVIDER5> found, id='id24'

suggests that the proper identity is found at first (id24 is the identity that I expected it to use), but then in

## vI_identityData: isExistingIdentity: Michael Roland <Michael.Roland@PROVIDER5> not found

the identity is no longer found and the default identity (id1) is used as a base for the new virtual identity "Michael Roland <Michael.Roland@PROVIDER5>".

Kind regards, Michael

comment:2 Changed 10 years ago by rene

Resolution: duplicate
Status: newclosed

Hi Michael,

rc1 was completely broken, matching should still be case-insensitive (related to #181) Please check if this issue reoccurs with rc2, closing the ticket for now.

Nice regards and thanks for the report, Rene

comment:3 Changed 10 years ago by Michael Roland <michael.roland@…>

Cc: michael.roland@… added
Resolution: duplicate
Status: closedreopened
Summary: Allow case-insensitive matching of identitiesMatching of identities appears to be case-sensitive
Version: 0.6.0rc2

Hallo Rene,

the problem still exists with rc2. When I reply to an email with the header field

From: Roland Michael <Michael.Roland@PROVIDER5>

it will not trigger the identity "Michael Roland <michael.roland@PROVIDER5>". But when I change the identity's settings to "Michael Roland <Michael.Roland@PROVIDER5>" (i.e. change case of email address to match the from field), the identity is found.

I will try to record some log files during the next week.

Kind regards, Michael

comment:4 Changed 10 years ago by rene

Resolution: fixed
Status: reopenedclosed

Hi Michael,

right, catched the problem. It is fixed in [218b2bba4f6b2c] and part of rc3.

The problem was, that in your case the first time the FullName was ignored while comparing with the existing identities. Which is right, the probably adapted FullName should have been used later - therefore the later checks for existing identities failing in your case. Which is all like it should, but the already found existing identity was not remembered, which is done now.

Happy new year, Rene

comment:5 Changed 9 years ago by Mozilla@…

Cc: Mozilla@… added
Resolution: fixed
Status: closedreopened
Version: 0.6.0rc20.6.8

It seems this bug has crept back in sometime before/as of version 0.6.8. Virtual Identity does not match existing stored entries with different case. Let me know if you need me to provide more details....

comment:6 Changed 8 years ago by anonymous

I experience the very same issue in 0.8.7. Any chance it gets fixed (again)? Thanks a lot.

Note: See TracTickets for help on using tickets.