UTF8, MIME::Encoding Subject Line, troubles again/still

Hi!

I find that ‘Subject’ field of mail header still encoded to utf8 twice.

Here ‘debug trace’ of ${RT_PATH}/lib/RT/Action/SendEmail.pm

[Thu Jan 24 09:53:25 2008] [crit]: BEFORE
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:955)
[Thu Jan 24 09:53:25 2008] [crit]: Charset is ‘utf-8’.
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:956)
[Thu Jan 24 09:53:25 2008] [crit]: Value is ‘[rtname #43] AutoReply: РaС%Рч
Р?Р?РёР? С’РчС?С’РёР?’. (/usr/local/newrt/local/lib/RT/Action/Sen
dEmail.pm:957)
[Thu Jan 24 09:53:25 2008] [crit]: UFT8 flags is ON.
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:960)
[Thu Jan 24 09:53:25 2008] [crit]: String UTF8 format is OK
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:962)
[Thu Jan 24 09:53:25 2008] [crit]: AFTER
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:978)
[Thu Jan 24 09:53:25 2008] [crit]: Charset is ‘utf-8’.
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:980)
[Thu Jan 24 09:53:25 2008] [crit]: Value is ‘[rtname #43] AutoReply:
Г?ВaГ’В%Г?Вч Г?В?Г?В?Г?ВёГ?В? Г’В’Г?ВчГ’В?Г’В’Г?ВёГ?В?’.
(/usr/local/newrt/local/lib/
RT/Action/SendEmail.pm:981)
[Thu Jan 24 09:53:25 2008] [crit]: UFT8 flags is OFF.
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:992)

Some remarks
BEFORE - mean before
sub MIMEEncodeString
Line_num 952 ( of original SendMail.pm )
Line code “Encode::_utf8_off($value);”

AFTER - mean after
sub MIMEEncodeString
Line_num 953 ( of original SendMail.pm )
Line code “my $res = Encode::from_to( $value, “utf-8”, $charset );”

Charset - value of variable $charset
Value - values of variable $value

Any Ideas how to correctly fix troubles???

=== some information about RT
Perl v5.8.5 under linux Apache2::Const v2.000003; Apache2::Log v2.000003;
Apache2::Module v2.000003; Apache2::RequestIO v2.000003;
Apache2::RequestRec v2.000003; Apache2::RequestUtil v2.000003;
Apache2::Response v2.000003; Apache2::ServerUtil v2.000003;
Apache2::Status v4.00; Apache::DBI v1.06; Apache::Session v1.85;
Apache::Session::File v1.54; Apache::Session::Generate::MD5 v2.1;
Apache::Session::lock::File v1.04; Apache::Session::Serialize::Storable
v1.01; Apache::Session::Store::File v1.03; APR v0.009000; APR::Pool
v0.009000; APR::Table v0.009000; AutoLoader v5.60; base v2.06; bytes
v1.01; Cache::Simple::TimedExpiry v0.27; capitalization v0.03; Carp
v1.03; CGI v3.33; CGI::Cookie v1.28; CGI::Util v1.5; Class::Container
v0.12; Class::Data::Inheritable v0.06; Class::ReturnValue v0.55; Clone
v0.28; constant v1.04; Cwd v3.27; Data::Dumper v2.121; Date::Format
v2.22; Date::Parse v2.27; DBD::Oracle v1.20; DBI v1.601;
DBIx::SearchBuilder v1.51; DBIx::SearchBuilder::Union v0;
DBIx::SearchBuilder::Unique v0.01; Devel::StackTrace v1.15;
Devel::StackTraceFrame v0.6; Devel::Symdump v2.08; Digest::base v1.00;
Digest::MD5 v2.36; DynaLoader v1.05; Encode v2.01; Encode::Alias v2.00;
Encode::Config v2.00; Encode::Encoding v2.00; Encode::Guess v2.00;
Encode::Unicode v2.00; Errno v1.09; Exception::Class v1.23;
Exception::Class::Base v1.2; Exporter v5.58; Exporter::Heavy v5.58; Fcntl
v1.05; File::Basename v2.73; File::Glob v1.03; File::Path v1.06;
File::Spec v3.27; File::Spec::Unix v3.27; File::Temp v0.20; FileHandle
v2.01; HTML::Element v3.23; HTML::Entities v1.35; HTML::Formatter v2.04;
HTML::FormatText v2.04; HTML::Mason v1.38; HTML::Mason::ApacheHandler
v1.69; HTML::Mason::Exception v1.1; HTML::Mason::Exception::Abort v1.1;
HTML::Mason::Exception::Compilation v1.1;
HTML::Mason::Exception::Compilation::IncompatibleCompiler v1.1;
HTML::Mason::Exception::Compiler v1.1; HTML::Mason::Exception::Decline
v1.1; HTML::Mason::Exception::Params v1.1; HTML::Mason::Exception::Syntax
v1.1; HTML::Mason::Exception::System v1.1;
HTML::Mason::Exception::TopLevelNotFound v1.1;
HTML::Mason::Exception::VirtualMethod v1.1; HTML::Mason::Exceptions v1.43;
HTML::Parser v3.56; HTML::Scrubber v0.08; HTML::Tagset v3.10;
HTML::TreeBuilder v3.23; HTTP::Date v1.47; I18N::LangTags v0.33;
I18N::LangTags::Detect v1.03; integer v1.00; IO v1.23; IO::File v1.14;
IO::Handle v1.27; IO::InnerFile v2.110; IO::Lines v2.110; IO::ScalarArray
v2.110; IO::Seekable v1.1; IO::WrapTie v2.110; IPC::Open2 v1.01;
IPC::Open3 v1.0106; lib v0.5565; List::Util v1.19; Locale::Maketext
v1.09; Locale::Maketext::Fuzzy v0.10; Locale::Maketext::Lexicon v0.65;
Locale::Maketext::Lexicon::Gettext v0.16; Log::Dispatch v2.20;
Log::Dispatch::Base v1.09; Log::Dispatch::Output v1.26;
Log::Dispatch::Screen v1.17; Log::Dispatch::Syslog v1.18; Mail::Address
v2.02; Mail::Field v2.02; Mail::Field::AddrList v2.02; Mail::Field::Date
v2.02; Mail::Field::Generic v2.02; Mail::Header v2.02; Mail::Internet
v2.02; Mail::Util v2.02; MIME::Base64 v3.07; MIME::Body v5.425;
MIME::Decoder v5.425; MIME::Decoder::NBit v5.425; MIME::Entity v5.425;
MIME::Field::ContDisp v5.425; MIME::Field::ConTraEnc v5.425;
MIME::Field::ContType v5.425; MIME::Field::ParamVal v5.425; MIME::Head
v5.425; MIME::Parser v5.425; MIME::QuotedPrint v3.07; MIME::Tools v5.425;
MIME::Words v5.425; mod_perl v2.000003; mod_perl2 v2.000003;
ModPerl::Const v2.000003; Module::Refresh v0.13; Module::Versions::Report
v1.03; overload v1.01; Params::Validate v0.89; PerlIO v1.03;
PerlIO::scalar v0.02; POSIX v1.08; re v0.04; Regexp::Common v2.120;
Regexp::Common::delimited v2.104; RT v3.6.5; RT::Interface::Email v2;
Scalar::Util v1.19; SelectSaver v1.00; Socket v1.77; Storable v2.13;
strict v1.03; Symbol v1.05; Sys::Hostname v1.11; Sys::Syslog v0.08;
Text::Autoformat v1.13; Text::Quoted v2.03; Text::Reform v1.11;
Text::Tabs v98.112801; Text::Template v1.44; Text::Wrapper v1.01;
Time::HiRes v1.9711; Time::JulianDay v2003.1125; Time::Local v1.1;
Time::ParseDate v2006.0814; Time::Timezone v2006.0814; Time::Zone v2.22;
UNIVERSAL v1.01; UNIVERSAL::require v0.11; URI v1.35; URI::Escape v3.28;
URI::URL v5.03; URI::WithBase v2.19; utf8 v1.04; vars v1.01; warnings
v1.03; warnings::register v1.00; XSLoader v0.02;

Переменные RT
RT::AmbiguousDayInPast 1
RT::BasePath /usr/local/newrt
RT::BinPath /usr/local/newrt/bin
RT::CORE_CONFIG_FILE /usr/local/newrt/etc/RT_Config.pm
RT::CommentAddress ${HIDDEN}
RT::CorrespondAddress ${HIDDEN}
RT::DatabaseHost localhost
RT::DatabaseName ${HIDDEN}
RT::DatabasePassword Password not printed
RT::DatabaseRTHost localhost
RT::DatabaseType Oracle
RT::DatabaseUser newrtadmin
RT::DateDayBeforeMonth 1
RT::DefaultSearchResultFormat ‘id/TITLE:#’, ‘Subject/TITLE:Subject’,
Status, QueueName, OwnerName, Priority, ‘NEWLINE’, ‘’,
Requestors’, ‘CreatedRelative’,
ToldRelative’, ‘LastUpdatedRelative’,
TimeLeft
RT::DefaultSummaryRows 10
RT::DevelMode 1
RT::EmailOutputEncoding utf-8
RT::EtcPath /usr/local/newrt/etc
RT::FriendlyFromLineFormat “%s via RT” <%s>
RT::FriendlyToLineFormat “%s of ${HIDDEN} Ticket #%s”:;
RT::LocalEtcPath /usr/local/newrt/local/etc
RT::LocalLexiconPath /usr/local/newrt/local/po
RT::LocalPath /usr/local/newrt/local
RT::LogDir /usr/local/newrt/var/log
RT::LogToFileNamed rt.log
RT::LogToScreen error
RT::LogToSyslog debug
RT::LogoURL http://${HIDDEN}/i/home/logo-big.gif
RT::LoopsToRTOwner 1
RT::MailCommand sendmailpipe
RT::MasonComponentRoot /usr/local/newrt/share/html
RT::MasonDataDir /usr/local/newrt/var/mason_data
RT::MasonLocalComponentRoot /usr/local/newrt/local/html
RT::MasonSessionDir /usr/local/newrt/var/session_data
RT::MaxAttachmentSize 10000000
RT::MaxInlineBody 13456
RT::MessageBoxWidth 72
RT::MessageBoxWrap HARD
RT::MinimumPasswordLength 5
RT::OldestTransactionsFirst 1
RT::Organization ${HIDDEN}
RT::OwnerEmail rt-errors
RT::RTAddressRegexp ^rt@example.com$
RT::RecordOutgoingEmail 1
RT::RedistributeAutoGeneratedMessages privileged
RT::SITE_CONFIG_FILE /usr/local/newrt/etc/RT_SiteConfig.pm
RT::Sendmail /usr/sbin/sendmail
RT::SendmailArguments -oi -t
RT::SendmailBounceArguments -f “<>”
RT::SendmailPath /usr/sbin/sendmail
RT::ShowTransactionImages 1
RT::StrictLinkACL 1
RT::Timezone Europe/Moscow
RT::UseFriendlyFromLine 1
RT::VERSION 3.6.5
RT::VarPath /usr/local/newrt/var
RT::WebBaseURL http://${HIDDEN}
RT::WebDefaultStylesheet 3.4-compat
RT::WebFlushDbCacheEveryRequest 1
RT::WebImagesURL http://${HIDDEN}/NoAuth/images
RT::WebPort 80
RT::WebURL http://${HIDDEN}/
RT::rtname ${HIDDEN}

Конфигурация Perl
Summary of my perl5 (revision 5 version 8 subversion 5) configuration:
Platform:
osname=linux, osvers=2.6.9-22.18.bz155725.elsmp,
archname=x86_64-linux-thread-multi
uname=‘linux hs20-bc1-3.build.redhat.com 2.6.9-22.18.bz155725.elsmp #1
smp thu nov 17 15:34:08 est 2005 x86_64 x86_64 x86_64 gnulinux ’
config_args=’-des -Doptimize=-O2 -g -pipe -m64 -Dversion=5.8.5
-Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat,
Inc. -Dinstallprefix=/usr -Dprefix=/usr -Dlibpth=/usr/local/lib64 /lib64
/usr/lib64 -Dprivlib=/usr/lib/perl5/5.8.5
-Dsitelib=/usr/lib/perl5/site_perl/5.8.5
-Dvendorlib=/usr/lib/perl5/vendor_perl/5.8.5
-Darchlib=/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi
-Dsitearch=/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi
-Dvendorarch=/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi
-Darchname=x86_64-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib
-Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun
-Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio
-Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr
-Dinc_version_list=5.8.4 5.8.3 5.8.2 5.8.1 5.8.0’
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=define use64bitall=define uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc=‘gcc’, ccflags =‘-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm’,
optimize=‘-O2 -g -pipe -m64’,
cppflags=‘-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing
-pipe -I/usr/local/include -I/usr/include/gdbm’
ccversion=‘’, gccversion=‘3.4.6 20060404 (Red Hat 3.4.6-2)’,
gccosandvers=‘’
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype=‘long’, ivsize=8, nvtype=‘double’, nvsize=8, Off_t=‘off_t’,
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld=‘gcc’, ldflags =‘’
libpth=/usr/local/lib64 /lib64 /usr/lib64
libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=/lib/libc-2.3.3.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version=‘2.3.4’
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=‘-Wl,-E
-Wl,-rpath,/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE’
cccdlflags=‘-fPIC’, lddlflags=‘-shared’

WBR, Alexey G Misyurenko ( MAG-RIPE | MMAGG-RIPN )
Phone: +7 495 3632252 Cell: +7 495 5082794

Hi!

Looks like this probles take plase if value of $value variable is mixed,
i.e. exist single byte coded chars and double byte coded chars on it.

-----Исходное сообщение-----
От: Alexey G Misyurenko [mailto:mag@caravan.ru]
Отправлено: 24 января 2008 г. 13:17
Кому: ‘rt-users@lists.bestpractical.com’
Тема: UTF8, MIME::Encoding Subject Line, troubles again/still.

Hi!

I find that ‘Subject’ field of mail header still encoded to utf8 twice.

Here ‘debug trace’ of ${RT_PATH}/lib/RT/Action/SendEmail.pm

[Thu Jan 24 09:53:25 2008] [crit]: BEFORE
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:955)
[Thu Jan 24 09:53:25 2008] [crit]: Charset is ‘utf-8’.
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:956)
[Thu Jan 24 09:53:25 2008] [crit]: use Jcode;
my $jcode = Jcode->new($str);
my @chunks = $jcode->jfold($max,‘\n’);is ‘[rtname #43] AutoReply:
РaС%Рч Р?Р?РёР? С’РчС?С’РёР?’. (/usr/local/newrt/local/lib/RT/Action/Sen
dEmail.pm:957)
[Thu Jan 24 09:53:25 2008] [crit]: UFT8 flags is ON.
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:960)
[Thu Jan 24 09:53:25 2008] [crit]: String UTF8 format is OK
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:962)
[Thu Jan 24 09:53:25 2008] [crit]: AFTER
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:978)
[Thu Jan 24 09:53:25 2008] [crit]: Charset is ‘utf-8’.
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:980)
[Thu Jan 24 09:53:25 2008] [crit]: Value is ‘[rtname #43] AutoReply:
Г?ВaГ’В%Г?Вч Г?В?Г?В?Г?ВёГ?В? Г’В’Г?ВчГ’В?Г’В’Г?ВёГ?В?’.
(/usr/local/newrt/local/lib/
RT/Action/SendEmail.pm:981)
[Thu Jan 24 09:53:25 2008] [crit]: UFT8 flags is OFF.
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:992)

Some remarks
BEFORE - mean before
sub MIMEEncodeString
Line_num 952 ( of original SendMail.pm )
Line code “Encode::_utf8_off($value);”

AFTER - mean after
sub MIMEEncodeString
Line_num 953 ( of original SendMail.pm )
Line code “my $res = Encode::from_to( $value, “utf-8”, $charset );”

Charset - value of variable $charset
Value - values of variable $value

Any Ideas how to correctly fix troubles???

=== some information about RT
Perl v5.8.5 under linux Apache2::Const v2.000003; Apache2::Log v2.000003;
Apache2::Module v2.000003; Apache2::RequestIO v2.000003;
Apache2::RequestRec v2.000003; Apache2::RequestUtil v2.000003;
Apache2::Response v2.000003; Apache2::ServerUtil v2.000003;
Apache2::Status v4.00; Apache::DBI v1.06; Apache::Session v1.85;
Apache::Session::File v1.54; Apache::Session::Generate::MD5 v2.1;
Apache::Session::lock::File v1.04; Apache::Session::Serialize::Storable
v1.01; Apache::Session::Store::File v1.03; APR v0.009000; APR::Pool
v0.009000; APR::Table v0.009000; AutoLoader v5.60; base v2.06; bytes
v1.01; Cache::Simple::TimedExpiry v0.27; capitalization v0.03; Carp
v1.03; CGI v3.33; CGI::Cookie v1.28; CGI::Util v1.5; Class::Container
v0.12; Class::Data::Inheritable v0.06; Class::ReturnValue v0.55; Clone
v0.28; constant v1.04; Cwd v3.27; Data::Dumper v2.121; Date::Format
v2.22; Date::Parse v2.27; DBD::Oracle v1.20; DBI v1.601;
DBIx::SearchBuilder v1.51; DBIx::SearchBuilder::Union v0;
DBIx::SearchBuilder::Unique v0.01; Devel::StackTrace v1.15;
Devel::StackTraceFrame v0.6; Devel::Symdump v2.08; Digest::base v1.00;
Digest::MD5 v2.36; DynaLoader v1.05; Encode v2.01; Encode::Alias v2.00;
Encode::Config v2.00; Encode::Encoding v2.00; Encode::Guess v2.00;
Encode::Unicode v2.00; Errno v1.09; Exception::Class v1.23;
Exception::Class::Base v1.2; Exporter v5.58; Exporter::Heavy v5.58; Fcntl
v1.05; File::Basename v2.73; File::Glob v1.03; File::Path v1.06;
File::Spec v3.27; File::Spec::Unix v3.27; File::Temp v0.20; FileHandle
v2.01; HTML::Element v3.23; HTML::Entities v1.35; HTML::Formatter v2.04;
HTML::FormatText v2.04; HTML::Mason v1.38; HTML::Mason::ApacheHandler
v1.69; HTML::Mason::Exception v1.1; HTML::Mason::Exception::Abort v1.1;
HTML::Mason::Exception::Compilation v1.1;
HTML::Mason::Exception::Compilation::IncompatibleCompiler v1.1;
HTML::Mason::Exception::Compiler v1.1; HTML::Mason::Exception::Decline
v1.1; HTML::Mason::Exception::Params v1.1; HTML::Mason::Exception::Syntax
v1.1; HTML::Mason::Exception::System v1.1;
HTML::Mason::Exception::TopLevelNotFound v1.1;
HTML::Mason::Exception::VirtualMethod v1.1; HTML::Mason::Exceptions v1.43;
HTML::Parser v3.56; HTML::Scrubber v0.08; HTML::Tagset v3.10;
HTML::TreeBuilder v3.23; HTTP::Date v1.47; I18N::LangTags v0.33;
I18N::LangTags::Detect v1.03; integer v1.00; IO v1.23; IO::File v1.14;
IO::Handle v1.27; IO::InnerFile v2.110; IO::Lines v2.110; IO::ScalarArray
v2.110; IO::Seekable v1.1; IO::WrapTie v2.110; IPC::Open2 v1.01;
IPC::Open3 v1.0106; lib v0.5565; List::Util v1.19; Locale::Maketext
v1.09; Locale::Maketext::Fuzzy v0.10; Locale::Maketext::Lexicon v0.65;
Locale::Maketext::Lexicon::Gettext v0.16; Log::Dispatch v2.20;
Log::Dispatch::Base v1.09; Log::Dispatch::Output v1.26;
Log::Dispatch::Screen v1.17; Log::Dispatch::Syslog v1.18; Mail::Address
v2.02; Mail::Field v2.02; Mail::Field::AddrList v2.02; Mail::Field::Date
v2.02; Mail::Field::Generic v2.02; Mail::Header v2.02; Mail::Internet
v2.02; Mail::Util v2.02; MIME::Base64 v3.07; MIME::Body v5.425;
MIME::Decoder v5.425; MIME::Decoder::NBit v5.425; MIME::Entity v5.425;
MIME::Field::ContDisp v5.425; MIME::Field::ConTraEnc v5.425;
MIME::Field::ContType v5.425; MIME::Field::ParamVal v5.425; MIME::Head
v5.425; MIME::Parser v5.425; MIME::QuotedPrint v3.07; MIME::Tools v5.425;
MIME::Words v5.425; mod_perl v2.000003; mod_perl2 v2.000003;
ModPerl::Const v2.000003; Module::Refresh v0.13; Module::Versions::Report
v1.03; overload v1.01; Params::Validate v0.89; PerlIO v1.03;
PerlIO::scalar v0.02; POSIX v1.08; re v0.04; Regexp::Common v2.120;
Regexp::Common::delimited v2.104; RT v3.6.5; RT::Interface::Email v2;
Scalar::Util v1.19; SelectSaver v1.00; Socket v1.77; Storable v2.13;
strict v1.03; Symbol v1.05; Sys::Hostname v1.11; Sys::Syslog v0.08;
Text::Autoformat v1.13; Text::Quoted v2.03; Text::Reform v1.11;
Text::Tabs v98.112801; Text::Template v1.44; Text::Wrapper v1.01;
Time::HiRes v1.9711; Time::JulianDay v2003.1125; Time::Local v1.1;
Time::ParseDate v2006.0814; Time::Timezone v2006.0814; Time::Zone v2.22;
UNIVERSAL v1.01; UNIVERSAL::require v0.11; URI v1.35; URI::Escape v3.28;
URI::URL v5.03; URI::WithBase v2.19; utf8 v1.04; vars v1.01; warnings
v1.03; warnings::register v1.00; XSLoader v0.02;

Переменные RT
RT::AmbiguousDayInPast 1
RT::BasePath /usr/local/newrt
RT::BinPath /usr/local/newrt/bin
RT::CORE_CONFIG_FILE /usr/local/newrt/etc/RT_Config.pm
RT::CommentAddress ${HIDDEN}
RT::CorrespondAddress ${HIDDEN}
RT::DatabaseHost localhost
RT::DatabaseName ${HIDDEN}
RT::DatabasePassword Password not printed
RT::DatabaseRTHost localhost
RT::DatabaseType Oracle
RT::DatabaseUser newrtadmin
RT::DateDayBeforeMonth 1
RT::DefaultSearchResultFormat ‘id/TITLE:#’, ‘Subject/TITLE:Subject’,
Status, QueueName, OwnerName, Priority, ‘NEWLINE’, ‘’,
Requestors’, ‘CreatedRelative’,
ToldRelative’, ‘LastUpdatedRelative’,
TimeLeft
RT::DefaultSummaryRows 10
RT::DevelMode 1
RT::EmailOutputEncoding utf-8
RT::EtcPath /usr/local/newrt/etc
RT::FriendlyFromLineFormat “%s via RT” <%s>
RT::FriendlyToLineFormat “%s of ${HIDDEN} Ticket #%s”:;
RT::LocalEtcPath /usr/local/newrt/local/etc
RT::LocalLexiconPath /usr/local/newrt/local/po
RT::LocalPath /usr/local/newrt/local
RT::LogDir /usr/local/newrt/var/log
RT::LogToFileNamed rt.log
RT::LogToScreen error
RT::LogToSyslog debug
RT::LogoURL http://${HIDDEN}/i/home/logo-big.gif
RT::LoopsToRTOwner 1
RT::MailCommand sendmailpipe
RT::MasonComponentRoot /usr/local/newrt/share/html
RT::MasonDataDir /usr/local/newrt/var/mason_data
RT::MasonLocalComponentRoot /usr/local/newrt/local/html
RT::MasonSessionDir /usr/local/newrt/var/session_data
RT::MaxAttachmentSize 10000000
RT::MaxInlineBody 13456
RT::MessageBoxWidth 72
RT::MessageBoxWrap HARD
RT::MinimumPasswordLength 5
RT::OldestTransactionsFirst 1
RT::Organization ${HIDDEN}
RT::OwnerEmail rt-errors
RT::RTAddressRegexp ^rt@example.com$
RT::RecordOutgoingEmail 1
RT::RedistributeAutoGeneratedMessages privileged
RT::SITE_CONFIG_FILE /usr/local/newrt/etc/RT_SiteConfig.pm
RT::Sendmail /usr/sbin/sendmail
RT::SendmailArguments -oi -t
RT::SendmailBounceArguments -f “<>”
RT::SendmailPath /usr/sbin/sendmail
RT::ShowTransactionImages 1
RT::StrictLinkACL 1
RT::Timezone Europe/Moscow
RT::UseFriendlyFromLine 1
RT::VERSION 3.6.5
RT::VarPath /usr/local/newrt/var
RT::WebBaseURL http://${HIDDEN}
RT::WebDefaultStylesheet 3.4-compat
RT::WebFlushDbCacheEveryRequest 1
RT::WebImagesURL http://${HIDDEN}/NoAuth/images
RT::WebPort 80
RT::WebURL http://${HIDDEN}/
RT::rtname ${HIDDEN}

Конфигурация Perl
Summary of my perl5 (revision 5 version 8 subversion 5) configuration:
Platform:
osname=linux, osvers=2.6.9-22.18.bz155725.elsmp,
archname=x86_64-linux-thread-multi
uname=‘linux hs20-bc1-3.build.redhat.com 2.6.9-22.18.bz155725.elsmp #1
smp thu nov 17 15:34:08 est 2005 x86_64 x86_64 x86_64 gnulinux ’
config_args=’-des -Doptimize=-O2 -g -pipe -m64 -Dversion=5.8.5
-Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat,
Inc. -Dinstallprefix=/usr -Dprefix=/usr -Dlibpth=/usr/local/lib64 /lib64
/usr/lib64 -Dprivlib=/usr/lib/perl5/5.8.5
-Dsitelib=/usr/lib/perl5/site_perl/5.8.5
-Dvendorlib=/usr/lib/perl5/vendor_perl/5.8.5
-Darchlib=/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi
-Dsitearch=/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi
-Dvendorarch=/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi
-Darchname=x86_64-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib
-Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun
-Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio
-Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr
-Dinc_version_list=5.8.4 5.8.3 5.8.2 5.8.1 5.8.0’
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=define use64bitall=define uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc=‘gcc’, ccflags =‘-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm’,
optimize=‘-O2 -g -pipe -m64’,
cppflags=‘-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing
-pipe -I/usr/local/include -I/usr/include/gdbm’
ccversion=‘’, gccversion=‘3.4.6 20060404 (Red Hat 3.4.6-2)’,
gccosandvers=‘’
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype=‘long’, ivsize=8, nvtype=‘double’, nvsize=8, Off_t=‘off_t’,
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld=‘gcc’, ldflags =‘’
libpth=/usr/local/lib64 /lib64 /usr/lib64
libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=/lib/libc-2.3.3.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version=‘2.3.4’
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=‘-Wl,-E
-Wl,-rpath,/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE’
cccdlflags=‘-fPIC’, lddlflags=‘-shared’

WBR, Alexey G Misyurenko ( MAG-RIPE | MMAGG-RIPN )
Phone: +7 495 3632252 Cell: +7 495 5082794

First of all try 3.6.6. Does it depend on a way message comes into the
system? Describe how to reproduce it. or even better send a MIME
message as attachment so we can reproduce it ourself.2008/1/24 Alexey G Misyurenko mag@caravan.ru:

Hi!

Looks like this probles take plase if value of $value variable is mixed,
i.e. exist single byte coded chars and double byte coded chars on it.

-----Исходное сообщение-----
От: Alexey G Misyurenko [mailto:mag@caravan.ru]
Отправлено: 24 января 2008 г. 13:17
Кому: ‘rt-users@lists.bestpractical.com’
Тема: UTF8, MIME::Encoding Subject Line, troubles again/still.

Hi!

I find that ‘Subject’ field of mail header still encoded to utf8 twice.

Here ‘debug trace’ of ${RT_PATH}/lib/RT/Action/SendEmail.pm

[Thu Jan 24 09:53:25 2008] [crit]: BEFORE
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:955)
[Thu Jan 24 09:53:25 2008] [crit]: Charset is ‘utf-8’.
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:956)
[Thu Jan 24 09:53:25 2008] [crit]: use Jcode;
my $jcode = Jcode->new($str);
my @chunks = $jcode->jfold($max,‘\n’);is '[rtname #43] AutoReply:

Р С%Рч Р?Р?РёР? С’РчС?С’РёР?'. (/usr/local/newrt/local/lib/RT/Action/Sen
dEmail.pm:957)
[Thu Jan 24 09:53:25 2008] [crit]: UFT8 flags is ON.
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:960)
[Thu Jan 24 09:53:25 2008] [crit]: String UTF8 format is OK
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:962)
[Thu Jan 24 09:53:25 2008] [crit]: AFTER
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:978)
[Thu Jan 24 09:53:25 2008] [crit]: Charset is ‘utf-8’.
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:980)
[Thu Jan 24 09:53:25 2008] [crit]: Value is ‘[rtname #43] AutoReply:
Г?В Г’В%Г?Вч Г?В?Г?В?Г?ВёГ?В? Г’В’Г?ВчГ’В?Г’В’Г?ВёГ?В?’.
(/usr/local/newrt/local/lib/
RT/Action/SendEmail.pm:981)
[Thu Jan 24 09:53:25 2008] [crit]: UFT8 flags is OFF.
(/usr/local/newrt/local/lib/RT/Action/SendEmail.pm:992)

Some remarks
BEFORE - mean before
sub MIMEEncodeString
Line_num 952 ( of original SendMail.pm )
Line code “Encode::_utf8_off($value);”

AFTER - mean after
sub MIMEEncodeString
Line_num 953 ( of original SendMail.pm )
Line code “my $res = Encode::from_to( $value, “utf-8”, $charset );”

Charset - value of variable $charset
Value - values of variable $value

Any Ideas how to correctly fix troubles???

=== some information about RT
Perl v5.8.5 under linux Apache2::Const v2.000003; Apache2::Log v2.000003;
Apache2::Module v2.000003; Apache2::RequestIO v2.000003;
Apache2::RequestRec v2.000003; Apache2::RequestUtil v2.000003;
Apache2::Response v2.000003; Apache2::ServerUtil v2.000003;
Apache2::Status v4.00; Apache::DBI v1.06; Apache::Session v1.85;
Apache::Session::File v1.54; Apache::Session::Generate::MD5 v2.1;
Apache::Session::lock::File v1.04; Apache::Session::Serialize::Storable
v1.01; Apache::Session::Store::File v1.03; APR v0.009000; APR::Pool
v0.009000; APR::Table v0.009000; AutoLoader v5.60; base v2.06; bytes
v1.01; Cache::Simple::TimedExpiry v0.27; capitalization v0.03; Carp
v1.03; CGI v3.33; CGI::Cookie v1.28; CGI::Util v1.5; Class::Container
v0.12; Class::Data::Inheritable v0.06; Class::ReturnValue v0.55; Clone
v0.28; constant v1.04; Cwd v3.27; Data::Dumper v2.121; Date::Format
v2.22; Date::Parse v2.27; DBD::Oracle v1.20; DBI v1.601;
DBIx::SearchBuilder v1.51; DBIx::SearchBuilder::Union v0;
DBIx::SearchBuilder::Unique v0.01; Devel::StackTrace v1.15;
Devel::StackTraceFrame v0.6; Devel::Symdump v2.08; Digest::base v1.00;
Digest::MD5 v2.36; DynaLoader v1.05; Encode v2.01; Encode::Alias v2.00;
Encode::Config v2.00; Encode::Encoding v2.00; Encode::Guess v2.00;
Encode::Unicode v2.00; Errno v1.09; Exception::Class v1.23;
Exception::Class::Base v1.2; Exporter v5.58; Exporter::Heavy v5.58; Fcntl
v1.05; File::Basename v2.73; File::Glob v1.03; File::Path v1.06;
File::Spec v3.27; File::Spec::Unix v3.27; File::Temp v0.20; FileHandle
v2.01; HTML::Element v3.23; HTML::Entities v1.35; HTML::Formatter v2.04;
HTML::FormatText v2.04; HTML::Mason v1.38; HTML::Mason::ApacheHandler
v1.69; HTML::Mason::Exception v1.1; HTML::Mason::Exception::Abort v1.1;
HTML::Mason::Exception::Compilation v1.1;
HTML::Mason::Exception::Compilation::IncompatibleCompiler v1.1;
HTML::Mason::Exception::Compiler v1.1; HTML::Mason::Exception::Decline
v1.1; HTML::Mason::Exception::Params v1.1; HTML::Mason::Exception::Syntax
v1.1; HTML::Mason::Exception::System v1.1;
HTML::Mason::Exception::TopLevelNotFound v1.1;
HTML::Mason::Exception::VirtualMethod v1.1; HTML::Mason::Exceptions v1.43;
HTML::Parser v3.56; HTML::Scrubber v0.08; HTML::Tagset v3.10;
HTML::TreeBuilder v3.23; HTTP::Date v1.47; I18N::LangTags v0.33;
I18N::LangTags::Detect v1.03; integer v1.00; IO v1.23; IO::File v1.14;
IO::Handle v1.27; IO::InnerFile v2.110; IO::Lines v2.110; IO::ScalarArray
v2.110; IO::Seekable v1.1; IO::WrapTie v2.110; IPC::Open2 v1.01;
IPC::Open3 v1.0106; lib v0.5565; List::Util v1.19; Locale::Maketext
v1.09; Locale::Maketext::Fuzzy v0.10; Locale::Maketext::Lexicon v0.65;
Locale::Maketext::Lexicon::Gettext v0.16; Log::Dispatch v2.20;
Log::Dispatch::Base v1.09; Log::Dispatch::Output v1.26;
Log::Dispatch::Screen v1.17; Log::Dispatch::Syslog v1.18; Mail::Address
v2.02; Mail::Field v2.02; Mail::Field::AddrList v2.02; Mail::Field::Date
v2.02; Mail::Field::Generic v2.02; Mail::Header v2.02; Mail::Internet
v2.02; Mail::Util v2.02; MIME::Base64 v3.07; MIME::Body v5.425;
MIME::Decoder v5.425; MIME::Decoder::NBit v5.425; MIME::Entity v5.425;
MIME::Field::ContDisp v5.425; MIME::Field::ConTraEnc v5.425;
MIME::Field::ContType v5.425; MIME::Field::ParamVal v5.425; MIME::Head
v5.425; MIME::Parser v5.425; MIME::QuotedPrint v3.07; MIME::Tools v5.425;
MIME::Words v5.425; mod_perl v2.000003; mod_perl2 v2.000003;
ModPerl::Const v2.000003; Module::Refresh v0.13; Module::Versions::Report
v1.03; overload v1.01; Params::Validate v0.89; PerlIO v1.03;
PerlIO::scalar v0.02; POSIX v1.08; re v0.04; Regexp::Common v2.120;
Regexp::Common::delimited v2.104; RT v3.6.5; RT::Interface::Email v2;
Scalar::Util v1.19; SelectSaver v1.00; Socket v1.77; Storable v2.13;
strict v1.03; Symbol v1.05; Sys::Hostname v1.11; Sys::Syslog v0.08;
Text::Autoformat v1.13; Text::Quoted v2.03; Text::Reform v1.11;
Text::Tabs v98.112801; Text::Template v1.44; Text::Wrapper v1.01;
Time::HiRes v1.9711; Time::JulianDay v2003.1125; Time::Local v1.1;
Time::ParseDate v2006.0814; Time::Timezone v2006.0814; Time::Zone v2.22;
UNIVERSAL v1.01; UNIVERSAL::require v0.11; URI v1.35; URI::Escape v3.28;
URI::URL v5.03; URI::WithBase v2.19; utf8 v1.04; vars v1.01; warnings
v1.03; warnings::register v1.00; XSLoader v0.02;

Переменные RT
RT::AmbiguousDayInPast 1
RT::BasePath /usr/local/newrt
RT::BinPath /usr/local/newrt/bin
RT::CORE_CONFIG_FILE /usr/local/newrt/etc/RT_Config.pm
RT::CommentAddress ${HIDDEN}
RT::CorrespondAddress ${HIDDEN}
RT::DatabaseHost localhost
RT::DatabaseName ${HIDDEN}
RT::DatabasePassword Password not printed
RT::DatabaseRTHost localhost
RT::DatabaseType Oracle
RT::DatabaseUser newrtadmin
RT::DateDayBeforeMonth 1
RT::DefaultSearchResultFormat ‘id/TITLE:#’, ‘Subject/TITLE:Subject’,
Status, QueueName, OwnerName, Priority, ‘NEWLINE’, ‘’,
Requestors’, ‘CreatedRelative’,
ToldRelative’, ‘LastUpdatedRelative’,
TimeLeft
RT::DefaultSummaryRows 10
RT::DevelMode 1
RT::EmailOutputEncoding utf-8
RT::EtcPath /usr/local/newrt/etc
RT::FriendlyFromLineFormat “%s via RT” <%s>
RT::FriendlyToLineFormat “%s of ${HIDDEN} Ticket #%s”:;
RT::LocalEtcPath /usr/local/newrt/local/etc
RT::LocalLexiconPath /usr/local/newrt/local/po
RT::LocalPath /usr/local/newrt/local
RT::LogDir /usr/local/newrt/var/log
RT::LogToFileNamed rt.log
RT::LogToScreen error
RT::LogToSyslog debug
RT::LogoURL http://${HIDDEN}/i/home/logo-big.gif
RT::LoopsToRTOwner 1
RT::MailCommand sendmailpipe
RT::MasonComponentRoot /usr/local/newrt/share/html
RT::MasonDataDir /usr/local/newrt/var/mason_data
RT::MasonLocalComponentRoot /usr/local/newrt/local/html
RT::MasonSessionDir /usr/local/newrt/var/session_data
RT::MaxAttachmentSize 10000000
RT::MaxInlineBody 13456
RT::MessageBoxWidth 72
RT::MessageBoxWrap HARD
RT::MinimumPasswordLength 5
RT::OldestTransactionsFirst 1
RT::Organization ${HIDDEN}
RT::OwnerEmail rt-errors
RT::RTAddressRegexp ^rt@example.com$
RT::RecordOutgoingEmail 1
RT::RedistributeAutoGeneratedMessages privileged
RT::SITE_CONFIG_FILE /usr/local/newrt/etc/RT_SiteConfig.pm
RT::Sendmail /usr/sbin/sendmail
RT::SendmailArguments -oi -t
RT::SendmailBounceArguments -f “<>”
RT::SendmailPath /usr/sbin/sendmail
RT::ShowTransactionImages 1
RT::StrictLinkACL 1
RT::Timezone Europe/Moscow
RT::UseFriendlyFromLine 1
RT::VERSION 3.6.5
RT::VarPath /usr/local/newrt/var
RT::WebBaseURL http://${HIDDEN}
RT::WebDefaultStylesheet 3.4-compat
RT::WebFlushDbCacheEveryRequest 1
RT::WebImagesURL http://${HIDDEN}/NoAuth/images
RT::WebPort 80
RT::WebURL http://${HIDDEN}/
RT::rtname ${HIDDEN}

Конфигурация Perl
Summary of my perl5 (revision 5 version 8 subversion 5) configuration:
Platform:
osname=linux, osvers=2.6.9-22.18.bz155725.elsmp,
archname=x86_64-linux-thread-multi
uname=‘linux hs20-bc1-3.build.redhat.com 2.6.9-22.18.bz155725.elsmp #1
smp thu nov 17 15:34:08 est 2005 x86_64 x86_64 x86_64 gnulinux ’
config_args=’-des -Doptimize=-O2 -g -pipe -m64 -Dversion=5.8.5
-Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat,
Inc. -Dinstallprefix=/usr -Dprefix=/usr -Dlibpth=/usr/local/lib64 /lib64
/usr/lib64 -Dprivlib=/usr/lib/perl5/5.8.5
-Dsitelib=/usr/lib/perl5/site_perl/5.8.5
-Dvendorlib=/usr/lib/perl5/vendor_perl/5.8.5
-Darchlib=/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi
-Dsitearch=/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi
-Dvendorarch=/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi
-Darchname=x86_64-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib
-Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun
-Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio
-Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr
-Dinc_version_list=5.8.4 5.8.3 5.8.2 5.8.1 5.8.0’
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=define use64bitall=define uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc=‘gcc’, ccflags =‘-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm’,
optimize=‘-O2 -g -pipe -m64’,
cppflags=‘-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing
-pipe -I/usr/local/include -I/usr/include/gdbm’
ccversion=‘’, gccversion=‘3.4.6 20060404 (Red Hat 3.4.6-2)’,
gccosandvers=‘’
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype=‘long’, ivsize=8, nvtype=‘double’, nvsize=8, Off_t=‘off_t’,
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld=‘gcc’, ldflags =‘’
libpth=/usr/local/lib64 /lib64 /usr/lib64
libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=/lib/libc-2.3.3.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version=‘2.3.4’
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=‘-Wl,-E
-Wl,-rpath,/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE’
cccdlflags=‘-fPIC’, lddlflags=‘-shared’


WBR, Alexey G Misyurenko ( MAG-RIPE | MMAGG-RIPN )
Phone: +7 495 3632252 Cell: +7 495 5082794


The rt-users Archives

Community help: http://wiki.bestpractical.com
Commercial support: sales@bestpractical.com

Discover RT’s hidden secrets with RT Essentials from O’Reilly Media.
Buy a copy at http://rtbook.bestpractical.com

Best regards, Ruslan.

Hi!

Ruslan ss you asked for
RT now is 3.6.6 but bug still present.

First situation when it is seen is modification of subject by template.

If subject is not modified by template all is okSubject: =?UTF-8?B?W2NhcmF2YW4gIzIwMDQ2NDZdINCi0JXQodCi?=

If subject is modified by template by next one line on template

Subject: AutoReplay: {$Ticket->Subject()}

The final Subject line is broken

Subject: =?UTF-8?B?W2NhcmF2YW4gIzIwMDQ2NzldIEF1dG9SZXBsYXk6IMOQwqLDkMKVw5DCocOQ?=
=?UTF-8?B?wqI=?=

In this to tests I use single Russian word ТЕСТ (4 chars. Word id equivalent to English word test).

Next bug is in showing transactions.
For test is, I reply to the first ticked created upper.
It’s subject line is

Subject: =?UTF-8?B?W2NhcmF2YW4gIzIwMDQ2NDZdINCi0JXQodCi?=

Without next changes Subject displayed on transaction history, showed broken.

*** share/html/Ticket/Elements/ShowMessageHeaders 2007-04-24 21:21:42.000000000 +0400
— local/html/Ticket/Elements/ShowMessageHeaders 2008-01-25 17:46:27.000000000 +0300
*************** $content = $m->interp->apply_escapes($co
*** 67,76 ****
my @lines = split /\n/, $content;
my $in_header = 0;
my @headers;

for (@lines) {
if (/^(\S+):\s+(.*)$/) {
! push @headers, { Tag => $1, Value => $2 };
}
elsif (/^\s+/) {
$headers[-1]->{‘Value’} .= $_;
— 67,84 ----
my @lines = split /\n/, $content;
my $in_header = 0;
my @headers;

  • my $msgtag;

  • my $msgval;

    for (@lines) {
    if (/^(\S+):\s+(.*)$/) {
    ! $msgtag = $1;
    ! $msgval = $2;
    ! Encode::_utf8_on($msgval);
    ! eval { $msgval = Encode::decode_utf8($msgval) };
    ! if ( !length($msgval) ) { Encode::utf8_off($msgval); $msgval = $2; };
    !
    ! push (@headers, { Tag => $msgtag, Value => $msgval} );
    }
    elsif (/^\s+/) {
    $headers[-1]->{‘Value’} .= $
    ;

If it’s needed I can send information stored if datebase…

-----Исходное сообщение-----
От: ruslan.zakirov@gmail.com [mailto:ruslan.zakirov@gmail.com] От имени Ruslan Zakirov
Отправлено: 26 января 2008 г. 12:13
Кому: Alexey G Misyurenko
Копия: rt-users@lists.bestpractical.com
Тема: Re: [rt-users] UTF8, MIME::Encoding Subject Line, troubles again/still.

First of all try 3.6.6. Does it depend on a way message comes into the
system? Describe how to reproduce it. or even better send a MIME
message as attachment so we can reproduce it ourself.

Some addition info about this one bug

Next bug is in showing transactions.
For test is, I reply to the first ticked created upper.
It’s subject line is

Subject: =?UTF-8?B?W2NhcmF2YW4gIzIwMDQ2NDZdINCi0JXQodCi?=

To the /REST/1.0/NoAuth/mail-gateway is posted next data

But in oracle DB (ATTACHMENTS.HEADERS) is stored

  1. for web created = MIME Encoded
  2. for mail replay = MEME Decoded

My opinion is that Subject is several times encoded/dencoded and one time is Superfluous.
My bee this Superfluous encoded/decoded is a reason of “template based bug”.

Best regards, Alexey.

Hi!

Ruslan as you asked for
RT now is 3.6.6 but bug still present.

First situation when bug can be simulated is to modify subject by template.

If subject is not modified by template all is okSubject: =?UTF-8?B?W2NhcmF2YW4gIzIwMDQ2NDZdINCi0JXQodCi?=

If subject is modified by template by next one line on template

Subject: AutoReplay: {$Ticket->Subject()}

The final Subject line is broken

Subject: =?UTF-8?B?W2NhcmF2YW4gIzIwMDQ2NzldIEF1dG9SZXBsYXk6IMOQwqLDkMKVw5DCocOQ?=
=?UTF-8?B?wqI=?=

In this to tests I use single Russian word ТЕСТ (4 chars. Word id equivalent to English word test).

Next bug is in showing transactions.
For simulate it, I reply to the first ticked created upper.
It’s subject line is

Subject: =?UTF-8?B?W2NhcmF2YW4gIzIwMDQ2NDZdINCi0JXQodCi?=

Without next changes Subject displayed on transaction history, showed broken.

*** share/html/Ticket/Elements/ShowMessageHeaders 2007-04-24 21:21:42.000000000 +0400
— local/html/Ticket/Elements/ShowMessageHeaders 2008-01-25 17:46:27.000000000 +0300
*************** $content = $m->interp->apply_escapes($co
*** 67,76 ****
my @lines = split /\n/, $content;
my $in_header = 0;
my @headers;

for (@lines) {
if (/^(\S+):\s+(.*)$/) {
! push @headers, { Tag => $1, Value => $2 };
}
elsif (/^\s+/) {
$headers[-1]->{‘Value’} .= $_;
— 67,84 ----
my @lines = split /\n/, $content;
my $in_header = 0;
my @headers;

  • my $msgtag;

  • my $msgval;

    for (@lines) {
    if (/^(\S+):\s+(.*)$/) {
    ! $msgtag = $1;
    ! $msgval = $2;
    ! Encode::_utf8_on($msgval);
    ! eval { $msgval = Encode::decode_utf8($msgval) };
    ! if ( !length($msgval) ) { Encode::utf8_off($msgval); $msgval = $2; };
    !
    ! push (@headers, { Tag => $msgtag, Value => $msgval} );
    }
    elsif (/^\s+/) {
    $headers[-1]->{‘Value’} .= $
    ;

If it’s needed I can send information stored if datebase…

-----Исходное сообщение-----
От: ruslan.zakirov@gmail.com [mailto:ruslan.zakirov@gmail.com] От имени Ruslan Zakirov
Отправлено: 26 января 2008 г. 12:13
Кому: Alexey G Misyurenko
Копия: rt-users@lists.bestpractical.com
Тема: Re: [rt-users] UTF8, MIME::Encoding Subject Line, troubles again/still.

First of all try 3.6.6. Does it depend on a way message comes into the
system? Describe how to reproduce it. or even better send a MIME
message as attachment so we can reproduce it ourself.

Some addition info about this one bug

Next bug is in showing transactions.
For test is, I reply to the first ticked created upper.
It’s subject line is

Subject: =?UTF-8?B?W2NhcmF2YW4gIzIwMDQ2NDZdINCi0JXQodCi?=

To the /REST/1.0/NoAuth/mail-gateway is posted next data

But in oracle DB (ATTACHMENTS.HEADERS) is stored

  1. for web created = MIME Encoded
  2. for mail replay = MEME Decoded

My opinion is that Subject is several times encoded/dencoded and one time is Superfluous.
Mybee this Superfluous encoded/decoded is a reason of “template based bug”.

Best regards, Alexey.