dkimstatus/0000755000004100000040000000000011430612474012305 5ustar www-dataadmdkimstatus/localization/0000755000004100000040000000000011430467725015004 5ustar www-dataadmdkimstatus/localization/de_DE.inc0000644000004100000040000000062111430201052016411 0ustar www-dataadm dkimstatus/localization/es_ES.inc0000644000004100000040000000054411430201052016453 0ustar www-dataadm dkimstatus/localization/cs_CZ.inc0000644000004100000040000000070411430201052016454 0ustar www-dataadm dkimstatus/localization/ro_RO.inc0000644000004100000040000000071311430201051016472 0ustar www-dataadm dkimstatus/localization/en_US.inc0000644000004100000040000000054211430201052016464 0ustar www-dataadm dkimstatus/localization/pl_PL.inc0000644000004100000040000000054411430201052016463 0ustar www-dataadm dkimstatus/localization/fr_FR.inc0000644000004100000040000000060211430201051016445 0ustar www-dataadm dkimstatus/dkimstatus.php0000644000004100000040000000706511430612367015217 0ustar www-dataadmaction == 'show' || $rcmail->action == 'preview') { $this->add_hook('imap_init', array($this, 'imap_init')); $this->add_hook('message_headers_output', array($this, 'message_headers')); } else if ($rcmail->action == '') { // with enabled_caching we're fetching additional headers before show/preview $this->add_hook('imap_init', array($this, 'imap_init')); } } function imap_init($p) { $rcmail = rcmail::get_instance(); $p['fetch_headers'] = trim($p['fetch_headers'].' ' . strtoupper('Authentication-Results').' '. strtoupper('X-DKIM-Authentication-Results')); return $p; } function image($image, $alt, $title) { return ''.$this->gettext($alt).' '; } function message_headers($p) { $this->add_texts('localization'); /* First, if dkimproxy did not find a signature, stop here */ if($p['headers']->others['x-dkim-authentication-results'] || $p['headers']->others['authentication-results']){ $results = $p['headers']->others['x-dkim-authentication-results']; if(preg_match("/none/", $results)) { $image = 'nosiginfo.png'; $alt = 'nosignature'; } else { /* Second, check the authentication-results header */ if($p['headers']->others['authentication-results']) { $results = $p['headers']->others['authentication-results']; if(preg_match("/dkim=([a-zA-Z0-9]*)/", $results, $m)) { $status = ($m[1]); } if(preg_match("/domainkeys=([a-zA-Z0-9]*)/", $results, $m)) { $status = ($m[1]); } if($status == 'pass') { /* Verify if its an author's domain signature or a third party */ if(preg_match("/[@][a-zA-Z0-9]+([.][a-zA-Z0-9]+)?\.[a-zA-Z]{2,4}/", $p['headers']->from, $m)) { $authordomain = $m[0]; if(preg_match("/header\.i=(([a-zA-Z0-9]+[_\.\-]?)+)?($authordomain)/", $results) || preg_match("/header\.from=(([a-zA-Z0-9]+[_\.\-]?)+)?($authordomain)/", $results)) { $image = 'authorsign.png'; $alt = 'verifiedsender'; $title = $results; } else { $image = 'thirdpty.png'; $alt = 'thirdpartysig'; $title = $results; } } } /* If signature proves invalid, show appropriate warning */ else if ($status) { $image = 'invalidsig.png'; $alt = 'invalidsignature'; $title = $results; } /* If no status it can be a spf verification */ else { $image = 'nosiginfo.png'; $alt = 'nosignature'; } } } } else { $image = 'nosiginfo.png'; $alt = 'nosignature'; } if ($image && $alt) { $p['output']['from']['value'] = $this->image($image, $alt, $title) . $p['output']['from']['value']; } return $p; } } dkimstatus/images/0000755000004100000040000000000011430201053013535 5ustar www-dataadmdkimstatus/images/authorsign.png0000644000004100000040000000127311430201052016430 0ustar www-dataadmPNG  IHDR sRGBbKGD pHYs  tIMEtEXtCommentCreated with GIMPWIDAT(ϝOHq?ީs{5ɵA[jVҡCy :xNQC ])j, 6jBR{QP??r%: ;Y̢ !h!3_y87}NhZ%B 6R*8e+ɛ '>lgZ\dx9 s#ѩSt XV8B%eMIENDB`dkimstatus/images/thirdpty.png0000644000004100000040000000132211430201053016110 0ustar www-dataadmPNG  IHDR 7sRGBbKGD pHYs  tIME(ڠtEXtCommentCreated with GIMPW-IDAT(eMHqǿtmIqZ,ceHlKQP.Yt2. P(Z, )|hP|>4U;n+)˩o? CD.JƒJ19erjC!8c⅞sg9c6"gI%G}݁m- ']gNOΑ(9geְ$ u'%{~_=g ^l:vʮq@䠛s-E%PJ^cͷrI"h>C3 ds |η:vb: i a3 *TM"qseg"kbtnMǒ5cln۽nDJ=f$VcewxQ-+Yv9\ @Q5bQS^EaХ6IVy2.-[v-(evr` ~P IENDB`dkimstatus/images/bigicons.tar0000644000004100000040000002400011430201053016036 0ustar www-dataadmauthorsign.png0000644000175000017500000000213411331546166013313 0ustar julienjulienPNG  IHDRFΨsRGBbKGD pHYs  tIME +!tEXtCommentCreated with GIMPWIDAT8ՔO\Us|fDRoXtU.W]颡ƴ1MJV]hX`\VэhN*A(r=.&or7Owya7ֿmq.y*pڢ'=Wʎѐ+l&C)!^yMҗԃs׃EYw@U+g >CYH\|=8znٜo<"9*pbOB6DEN H.{(Ũf6+ǃB@z%0 W#| F jb?.տӿʑ՝W`]@d/@j z6PT! -!4 t4 =A"YS/01@ @,0@4#5)&i3@bԵ𤿎 T!('Ex G+3epf ,K/OA[DNV0sR.O시P`>=H| o '4:0&fMʸp*cx~PwF!T*ľ04Ao Ł}$@ÌeZ•>Btrl,DXE蹻|zVO Q p%o +'"[ZUG#TZ)d ;# t2T*!.0R痒,iSIQ H3 ܴZVyB)B-nKnLn68bO99D9!= YȌp=t7k/%>~ lFp3 /ko)]'8@j?ĿGfslEIENDB`invalidsig.png0000644000175000017500000000171011331546270013254 0ustar julienjulienPNG  IHDR sRGBbKGD pHYs  tIME ,'(,MtEXtCommentCreated with GIMPW#IDAT8˽T[hTW];3w&iDSi!IU!O)jSjC B㇕U#D|EQbA|L8s>h 뜵ޜ}Ə&6C㉶V ~{ۯ42Ǜ%W-<> )U}/IPou)ttծ}N7F?U^Zk;O,}Uepfq.Xٳ.ټ@=Ow\u`pm~Nm:vҤKi ';JW-}? n^X|Um'rW$AWx-Ãbuzg±<O 5uX_M.j =((`8\{>k3oFZn4; %b'k:pxc1@\]˗yG!ē滅ci'*| 0 L< m)'Ӡ+ƆazўE6 O[y \@ ˰1ppmsoU_}P-:żnް&Ź4L '²Pn_ͱ"9AD덯ڹ jM}?-VGù IFDE|@3 : :?l-S}[b: !'&BWd%yp* RQ'Ǹ2M@PFI/%,#R wIENDB`nosiginfo.png0000644000175000017500000000235411331546350013122 0ustar julienjulienPNG  IHDR-sRGBbKGD pHYs  tIME -i_tEXtCommentCreated with GIMPWGIDAT8}ohUuǿ9޻gNTJQ1 Rb+P3Z/ !*"7A ĜmJSgsܝs9 M]}=yEa_9^_<5COwHff۱8T*ƩF6)mtZ#M}n~wMï=׺4 z~BHtK_~8rƖ='OsaS )ud߭b9d,du4 n?$3Mv6l*(SEE$\ޢ{7pb"Պi^,\ f #+Q_EQE$p뫪^Ym""TUCwض]CH /["$s,XKa3 UQRB AS= "him ,%"-aY> fm1 E6,ZxTU3CT:N V *Y3|B: i^fmtv9ski8N2p9.\aʡ0>>Xl%%1L.?/BTJD ҙt} Dc y N$ 偱;@0! 1qr/B@X+ת%ʲ: Ba[[%נ2?nv9ucWc-Ύ>LV 2mV'ABE:cxb`)aYYZB;r2m{găΎ>L ÃDEExb`{5)cYHAi mPy[ɻwζ\j e磷g@{v_vժU/ RR0F<~ #A{{kۖ- LKP `7^@ոfnY␇Ç ݱ9Փ2S6`5*y_&'sٻw0( 4EgIENDB`thirdpty.png0000644000175000017500000000235311331546046012777 0ustar julienjulienPNG  IHDR-sRGBbKGD pHYs  tIME * tEXtCommentCreated with GIMPWFIDAT8}[le_۵ZvC mA#D"5(xaLH8+T]QA4$& 9Aq覬 UuVAK޼yЪٺgqP ?PNn=wKzbVg &@}Pч|ӊ8~N)-[P4P49a92t8n}~Kv+O7o 0.w>-%Gqz6]=~4ܓ63fx*]]{o||QedXqzFdG4glh:%kQUz1/m0*jluJBy!S]y>`|Pz7Bd!.,(+;'`:tH! ؀5R+(jIENDB`dkimstatus/images/nosiginfo.png0000644000004100000040000000130311430201053016233 0ustar www-dataadmPNG  IHDR 7sRGBbKGD pHYs  tIME(evtEXtCommentCreated with GIMPWIDAT(];LSaGߥ@ H"V!>ծLFtS CH|.`0jx IyHkR{wQS99aij&fW>Ƿ{x 5BDE1E1LNLlQR}/&?3bigiE1B_ut\LIQ~lyB RU=\n|* ۚrp e/*wjoJHScG]LƪLFB`0T\nKH" },5, Lh k,Mnlo 4M@ RBʕ&*dɤ9G8 A(m[[d|GO$cccC7fV9ϡ DD1r |~c^x/: lt6vJ}YZysT`ѧEc<%Ei}cFq_DFv|R]+?ZH\(ob"uIENDB`dkimstatus/images/BIGICONS.TXT0000644000004100000040000000043611430201052015335 0ustar www-dataadm I personnally prefer small icons (13*13pixels), but if you like them bigger, you can use the ones in the tar file, they are 30*30pixels and expend a little bit the height of the 'From' line of roundcube. Just move the small icons somewhere else and untar the archive in this folder. dkimstatus/images/invalidsig.png0000644000004100000040000000115211430201053016373 0ustar www-dataadmPNG  IHDR r|sRGBbKGD pHYs  tIME8x$tEXtCommentCreated with GIMPWIDAT(ϕ?hSQw3/%&Ķ֖\: : bkjJWyb7]E n&PH1 I~.*ZZtv]Tu{3Z#kw(O_,IͭiYK3r:x^|9gV/ zy<-{ ō5o^uh+c ?=+RGi,MPSw7cHyHy8]R k!o/>op;ӓ ^>AzpIY[0͈>n([PfVq{P~ 5|DCMxʂ#e4w.^/u) €1y9WlHy˘ƻj3:d"qxuBH~VII=25NDKwj8° K8IENDB`