DKIMで「body hash did not verify」というエラーが出る。

 未分類  DKIMで「body hash did not verify」というエラーが出る。 はコメントを受け付けていません。
5月 192015
 
LINEで送る

DKIMで「body hash did not verify」というエラーが出る。

Centos6.6、postfix2.6.6、opendkimの環境で、phpからメール送信している際に、dkimの署名に失敗している場合があることに気がつきました。失敗している際のメールヘッダは以下のようになっています。

dkim=neutral (body hash did not verify) header.i=@

いろいろ調べてみると、改行コードが「\n」でなく「\r\n」になっていると、このエラーになるらしい。
で、メール本文を作成しているスクリプトを確認してみると、

$contents = chunk_split(base64_encode$contents));

となっており、chunk_splitの引数に問題があることがわかりました。
(デフォルトの行末の区切り文字は「\r\n」)

$contents = chunk_split(base64_encode$contents), 75 , "\n");

のようにすると問題は解消しました。

なお、今回は、postfix2.6.6だったので、スクリプトを修正しましたが、postfix2.9以降であれば、sendmail_fix_line_endingsの設定で回避できたんじゃないかと思います。

 Posted by at 11:12 AM

RedmineのエディタをHTMLエディタに変更してみた

 redmine  RedmineのエディタをHTMLエディタに変更してみた はコメントを受け付けていません。
3月 042015
 
LINEで送る

プロジェクト管理にRedmineを利用していますが、HTMLメールでもらう修正内容をチケットとして発行しようと思うと、なかなか手間がかかります。

で、HTMLメールをコピペしてチケットを作成できないかとプラグインを探していたところ、Redmine CKeditorというプラグインを見つけました。名前のとおり、RedmineのエディタをCKeditorに置き換えるプラグインです。

使っていたRedmineが2.0.3だったので、古いバージョンを入れたのですが、画像については期待どおりに動きませんでした。
最新版を試すためにRedmineを2.3にバージョンアップ。(バージョンアップの手順はこのページが詳しいです。)
最新版はほぼ期待どおりなんですが、現時点でわかっている難点が2つ。

  • 1つ目は、Redmineのデフォルトのエディタで作成したチケット内容を表示すると改行がなくなってとても見にくくなること。
  • 2つ目は、チケットの内容を引用して更新しようとすると、引用した内容が綺麗にサニタイズされて改行コードやHTMLタグがすべてなくなってること。

です。

1つ目については、すでにDBにある内容を変更するなどの方法も考えられるのですが、そこまでするのも大変なので、CKeditor用のプロジェクトを新規に用意して、このプロジェントのみCKeditorを利用するようにしました。なお、プロジェクトごとにエディタを設定するにはredmine_per_project_formattingプラグインを利用します。

2つ目については、edmine CKeditorプラグインの
lib/redmine_ckeditor/journals_controller_patch.rb
の30行目の

@content << "<blockquote>#{ActionView::Base.full_sanitizer.sanitize(text)}</blockquote><p/>"

#@content << "<blockquote>#{ActionView::Base.full_sanitizer.sanitize(text)}</blockquote><p/>"
@content << "<blockquote><p>#{text}</p></blockquote>"

とすることで解消しました。
(blockquoteタグのあとにpタグがないとCKeditorの引用ボタンを押せなくなるのでpタグを追記しています。)
ただ、サニタイズなしなので不安がなくもないですが、まぁ、投稿された際にサニタイズはされているだろうと信じて。(^^;)

あと、引用して更新する際、引用中にコメントをはさみたい場合があります。
この場合、コメントをはさみたい箇所で、以下のボタンを押すとよいです。

ckeditor

 Posted by at 6:30 PM

Centosのタイムゾーンを変更するには。

 centos  Centosのタイムゾーンを変更するには。 はコメントを受け付けていません。
2月 022015
 
LINEで送る

利用できるタイムゾーンは/usr/share/zoneinfo/以下に入っている。
例えば、タイムゾーンをソウル(韓国)に設定するには、

rm -f /etc/localtime
cp -p /usr/share/zoneinfo/Asia/Seoul /etc/localtime

とする。

 Posted by at 3:22 PM

「error: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID xxx BAD」で困った。

 centos  「error: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID xxx BAD」で困った。 はコメントを受け付けていません。
1月 262015
 
LINEで送る

久しぶりにyumでパッケージをインストールしようとしたところ、

error: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID xxx BAD

というようなエラーがでてインストールできない自体に陥った。
調べてみると原因は、2015/01/16にアップデートしたnss-softokn-3.14.3-19
に問題があるとのこと。

http://mcvictech.blogspot.jp/2015/01/header-v3-rsasha1-signature-key-id-bad.html

解決するには、64bit環境であれば、以下の手順を実行すればよいとのこと。

yumdownloader nss-softokn-freebl

rpm2cpio nss-softokn-freebl-3.14.3-19.el6_6.x86_64.rpm | cpio -idmv

cp ./lib64/libfreeblpriv3.* /lib64

yum update

助かりました。

 Posted by at 4:51 PM

centos5でtomahawkを使えるようにする。

 centos  centos5でtomahawkを使えるようにする。 はコメントを受け付けていません。
11月 272014
 
LINEで送る

centos5でtomahawkをインストールしようとしたところ、
pythonのバージョンが2.4.3のため、
モジュールの依存関係をうまく解消できず、インストールに失敗した。

いろいろ調べてみるとCentos5ではpythonの2.6がpython26としてEpelで
公開されていて、これをインストールするとよいとのこと。
(インストールするとpython2.4と2.6が共存することになる)

yum install python26

python26用のeasy_installは、python26-distributeに含まれているという
ことなので、これもインストール。

yum install python26-distribute

あとは、

easy_install-2.6 tomahawk

でtomahawkをインストールできます。

 Posted by at 2:57 PM