View Issue Details

IDProjectCategoryView StatusLast Update
0001389Main CAcert Websitemiscpublic2021-08-25 13:38
ReporterStefanT Assigned ToBenBE  
PriorityurgentSeverityminorReproducibilityalways
Status solved?Resolutionfixed 
Product Version2015 Q3 
Target Version2015 Q3Fixed in Version2015 Q3 
Summary0001389: Wrong encoding for mails sent with function sendmail()
DescriptionWhile preparing an event mailing in Danish there were problems to properly transcript Danish to ASCII. Thus sending full UTF-8 is required. When testing the mailing it was found that special characters outside the ASCII range were encoded wrong, even when UTF-8 was explicity set in the mailing script.

TagsNo tags attached.
Reviewed byNEOatNHNG, BenBE
Test Instructionshttps://bugs.cacert.org/view.php?id=1389#c5421

Relationships

related to 0001390 solved?BenBE test.cacert.org Wrong encoding used to display mails 
related to 0000769 needs workTed Main CAcert Website Client certificate broken with unicode 

Activities

felixd

2015-07-21 20:28

updater   ~0005420

A patch is available here: https://github.com/yellowant/cacert-devel/tree/bug-1389

felixd

2015-07-21 20:28

updater   ~0005421

Test instructions:
Test various events where mail is sent to the user. Make sure the first name in the account contains a special character. Examples for functions to test include:
- Mail to assurer
- Mail to assuree
- Changing primary email address
- Changing password
- Changing password from SE console
- Looking at secret questions
- Looking at secret questions from SE console
- Disputing email and domain

Test any other event where you know that a special character is used while sending a mail.
Also check that sending mails in languages other than English (e.g. German, Finnish, Russian, Swedish, ...) are displayed correctly. BEWARE: The test management server uses UTF-8 by default passing the mail through without re-encoding it according to the Content-Type header. In case of doubt ask someone with access to the raw mail files to check/for a transcript of the raw mail.

StefanT

2015-07-22 16:38

updater   ~0005422

Scenario:
New User: karl.coyote@looney.org Pass: Testing12
Link in Email: http://cacert1.it-sls.de/verify.php?type=3Demail&emailid=3D305465&hash=3D31=bbeb7759707a89a9a56c5677a9b0b5
At my try to acknowledge the Account i became this Error:
"Fehler!
Parameter fehlen. Bitte benutzen Sie die komplette URL." (in german of course)

felixd

2015-07-22 18:53

updater   ~0005424

yes, this problem is due to the test management server not being able to display "quoted-printable"-content correctly.

The link was initially:
http://cacert1.it-sls.de/verify.php?type=email&emailid=305465&hash=31bbeb7759707a89a9a56c5677a9b0b5

Where there was a line break after the "hash=31" due to the line being too ling. The other "=3D"s are literal "="s. I am pretty sure that an ordinary email client will display the link so that it can be copied out correctly.

BenBE

2015-07-22 19:28

updater   ~0005425

Please see 0001390 for the explanation. Basically just like felixd said: The test management system is kinda broken in regards to display of mails.

ATM only a nl2br is performed, thus you need to decode the quoted printable in your head ;-) Or rather: If the decoding indicates proper UTF8, the mail is sent correctly ;-)

INOPIAE

2015-08-09 15:12

updater   ~0005443

The problems from the test management server are fixed.

StefanT

2015-08-11 20:38

updater   ~0005447

The Test Mail (Danish Part) on Testaccount "paul.panter@pink.org":
*****
     

Read Mail
[Danish]
Gennem det sidste års tid er der sket mange ændringer hos CAcert. Mange
mundtlige regler er blevet skrevet ned i politikker. Nye procedurer (f.eks.
Assurer Challenge) og forpligtelser (f.eks. CAcert Community Agreement) har
set dagens lys.
Assurandør trænings events (ATE) forsøger at udbrede disse informationer.
- Hvad mangler på den gamle CAP formular?
- Hvorfor skal jeg huske R/L/O?
- Hvad kan du gøre hvis en person fremviser ID dokumenter jeg ikke
kender?
Disse og flere spørgsmål vil blive besvaret under en Assurandør trænings
event (ATE)
Yderligere, træner man på ATE, hvordan man verificere og kontrollere
verificeringer for at måle kvaliteten af verificeringsprocessen i det
daglige. Der er en del fejl, som er nemme at falde i. Assurandører får
mulighed for at se disse fejl og hvordan man undgår dem.
Som IanG sagde: ATE eller Assurandør Træningens events er klart anbefalet
til alle assurandører og indeholder dele som hjælper direkte med vores
godkendelseskontrol. Kom og find ud af hvordan du også kan hjælpe.

Den næste event, som afholdes i dit område er:
- Søndag d. 20. September 2015
- Kl. 10:00 – ca. 17:00
- ShowIT Media
- Slotsbryggen 14 A-D
- 4800 Nykøbing F.
- Denmark

BEMÆRK: eventen foregår på engelsk
Detaljerne om eventen og programmet kan findes på:
Wiki [https://wiki.cacert.org/Events/2015-09-20-ATE-DK-Nykobing]
Blog [tbd]
Du kan tilmelde dig ved at besvare denne mail og i emnet feltet skrive: “I
will attend the ATE-Nykobing”
Event teamet ser frem til din deltagelse
Kontakt: events@cacert.org
*****

The Mail is displayed correct with all special Characters => OK

INOPIAE

2015-08-20 18:18

updater   ~0005450

Looking at the event mail sent on Aug 9th
the danish special characters are correst displayed. Unfortunately there were no German special charcaters in the mail body. So there is no proof from there.

=> ok

INOPIAE

2015-08-20 18:19

updater   ~0005451

please as we have two success full tests

NEOatNHNG

2015-08-23 15:55

administrator   ~0005454

Patch looks OK.

One remark though: The non-utf8 case is not used anywhere in the system now, and probably it won't work because HTML entities are encoded to utf8 while the content type says it's latin1. ==> non-utf8 case should be removed IMHO

The only place where the latin1 variant was used before, were the mailing scripts and there it especially made no sense. That was probably the reason why special characters were broken in the mailing scripts. Now the parameter they set gets interpreted as if they wanted utf8 support which makes sense and should work.

BenBE

2015-08-26 06:43

updater   ~0005458

Patch forwarded to crit.

wytze

2015-08-28 15:43

developer   ~0005459

The fix has been installed on the production server on August 28, 2015. See also:
https://lists.cacert.org/wws/arc/cacert-systemlog/2015-08/msg00007.html

Issue History

Date Modified Username Field Change
2015-07-21 19:40 StefanT New Issue
2015-07-21 20:28 felixd Note Added: 0005420
2015-07-21 20:28 felixd Note Added: 0005421
2015-07-21 20:29 felixd Test Instructions => https://bugs.cacert.org/view.php?id=1389#c5421
2015-07-21 20:29 felixd Status new => needs review & testing
2015-07-22 16:38 StefanT Note Added: 0005422
2015-07-22 18:42 INOPIAE Relationship added related to 0001390
2015-07-22 18:53 felixd Note Added: 0005424
2015-07-22 19:28 BenBE Note Added: 0005425
2015-07-29 21:00 BenBE Reviewed by => BenBE
2015-07-29 21:01 BenBE Assigned To => NEOatNHNG
2015-07-29 21:01 BenBE Priority normal => urgent
2015-07-29 21:01 BenBE Product Version => 2015 Q3
2015-07-29 21:01 BenBE Target Version => 2015 Q3
2015-08-09 15:12 INOPIAE Note Added: 0005443
2015-08-11 20:38 StefanT Note Added: 0005447
2015-08-20 18:18 INOPIAE Note Added: 0005450
2015-08-20 18:19 INOPIAE Note Added: 0005451
2015-08-20 18:19 INOPIAE Status needs review & testing => needs review
2015-08-23 15:55 NEOatNHNG Reviewed by BenBE => NEOatNHNG, BenBE
2015-08-23 15:55 NEOatNHNG Note Added: 0005454
2015-08-23 15:55 NEOatNHNG Assigned To NEOatNHNG => BenBE
2015-08-23 15:55 NEOatNHNG Status needs review => ready to deploy
2015-08-26 06:43 BenBE Note Added: 0005458
2015-08-28 15:43 wytze Note Added: 0005459
2015-08-28 15:43 wytze Status ready to deploy => solved?
2015-08-28 15:43 wytze Fixed in Version => 2015 Q3
2015-08-28 15:43 wytze Resolution open => fixed
2021-08-25 13:38 bdmc Relationship added related to 0000769