Fix for 128535. Used case sensitive hashing on email address when locating the associated card. r=ducarroz, sr=sspitzer, a=asa.

This commit is contained in:
cavin%netscape.com 2002-03-08 02:26:59 +00:00
Родитель cf1e007f02
Коммит aeaf4de050
3 изменённых файлов: 13 добавлений и 5 удалений

Просмотреть файл

@ -134,7 +134,9 @@ NS_IMETHODIMP nsAbAddressCollecter::CollectAddress(const char *address)
nsCOMPtr <nsIAbCard> existingCard;
nsCOMPtr <nsIAbCard> cardInstance;
rv = m_historyAB->GetCardFromAttribute(m_historyDirectory, kPriEmailColumn, curAddress, PR_TRUE /* caseInsensitive */, getter_AddRefs(existingCard));
// Please DO NOT change the 3rd param of GetCardFromAttribute() call to
// PR_TRUE (ie, case insensitive) without reading bugs #128535 and #121478.
rv = m_historyAB->GetCardFromAttribute(m_historyDirectory, kPriEmailColumn, curAddress, PR_FALSE /* retain case */, getter_AddRefs(existingCard));
if (!existingCard)
{

Просмотреть файл

@ -1390,7 +1390,9 @@ nsresult nsAddrDatabase::AddListCardColumnsToRow
if (email)
{
nsIMdbRow *pCardRow = nsnull;
err = GetRowFromAttribute(kPriEmailColumn, NS_ConvertUCS2toUTF8(email).get(), PR_TRUE /* caseInsensitive */, &pCardRow);
// Please DO NOT change the 3rd param of GetRowFromAttribute() call to
// PR_TRUE (ie, case insensitive) without reading bugs #128535 and #121478.
err = GetRowFromAttribute(kPriEmailColumn, NS_ConvertUCS2toUTF8(email).get(), PR_FALSE /* retain case */, &pCardRow);
PRBool cardWasAdded = PR_FALSE;
if (NS_FAILED(err) || !pCardRow)
{
@ -2036,8 +2038,10 @@ NS_IMETHODIMP nsAddrDatabase::AddLdifListMember(nsIMdbRow* listRow, const char*
emailPos += strlen("mail=");
valueString.Right(email, valueString.Length() - emailPos);
char* emailAddress = ToNewCString(email);
nsIMdbRow *cardRow = nsnull;
nsresult result = GetRowFromAttribute(kPriEmailColumn, emailAddress, PR_TRUE /* lower case */, &cardRow);
nsIMdbRow *cardRow = nsnull;
// Please DO NOT change the 3rd param of GetRowFromAttribute() call to
// PR_TRUE (ie, case insensitive) without reading bugs #128535 and #121478.
nsresult result = GetRowFromAttribute(kPriEmailColumn, emailAddress, PR_FALSE /* retain case */, &cardRow);
if (cardRow)
{
mdbOid outOid;

Просмотреть файл

@ -3667,7 +3667,9 @@ NS_IMETHODIMP nsMsgCompose::CheckAndPopulateRecipients(PRBool populateMailList,
/* Then if we have a card for this email address */
nsCAutoString emailStr; emailStr.AssignWithConversion(recipient->mEmail);
rv = abDataBase->GetCardFromAttribute(abDirectory, kPriEmailColumn, emailStr.get(), PR_TRUE /* caseInsensitive */, getter_AddRefs(existingCard));
// Please DO NOT change the 3rd param of GetCardFromAttribute() call to
// PR_TRUE (ie, case insensitive) without reading bugs #128535 and #121478.
rv = abDataBase->GetCardFromAttribute(abDirectory, kPriEmailColumn, emailStr.get(), PR_FALSE /* retain case */, getter_AddRefs(existingCard));
if (NS_SUCCEEDED(rv) && existingCard)
{
recipient->mPreferFormat = nsIAbPreferMailFormat::unknown;