Senin içinde .muttrc
eklenti aşağıdaki satırı:
set display_filter="exec sed -r \"s/^Date:\\s*(([F-Wa-u]{3},\\s*)?[[:digit:]]{1,2}\\s+[A-Sa-y]{3}\\s+[[:digit:]]{4}\\s+[[:digit:]]{1,2}:[[:digit:]]{1,2}(:[[:digit:]]{1,2})?\\s+[+-][[:digit:]]{4})/date +'Date: %a, %d %b %Y %H:%M:%S %z' -d '\\1'/e\""
Bu, Date:
başlık geçerli bir RFC biçimli tarih içeriyorsa iletideki üstbilgiyi (yalnızca görüntüleme için) yerel saat diliminize değiştirir. Sağlanan tarih biçimi yanlışsa (sonuçta güvenilmeyen kullanıcı girişi ile ilgileniyoruz) korunacaktır. Kabuk kodunu başlıktan enjekte etmek için olası bir girişimle mücadele etmek için, sed
desen RFC 5322'ye dayalı bir beyaz liste uygular (bu RFC Date:
alanın biçimini tanımlar ).
Not mutt
en fazla 255 karakter olmak için komut satırını sınırlar uzun, dolayısıyla ben orijinal optimize sed
255 bayt sığmayacak beyaz listesi sıkı vardı komutu. İletiyle başka şeyler yapmayı planlıyorsanız sed
, bir komut dosyasına koyabileceğiniz tam komut:
sed -r "s/^Date:\s*(((Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s*)?[[:digit:]]{1,2}\s+(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+[[:digit:]]{4}\s+[[:digit:]]{1,2}:[[:digit:]]{1,2}(:[[:digit:]]{1,2})?\s+[+-][[:digit:]]{4})/date +'Date: %a, %d %b %Y %H:%M:%S %z' -d '\1'/e"
filter.sed
. Teşekkürler!