トップページunix
1001コメント309KB

Postfix(6)

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2006/09/20(水) 02:04:10
Postfixスレッド その6です。

●リンク
 本家
 http://www.postfix.org/

 Postfix のぺーじ (ドキュメントの日本語訳、MLなど)
 http://www.kobitosan.net/postfix/

過去スレ、関連スレなどは>>2-4あたり
0002名無しさん@お腹いっぱい。2006/09/20(水) 02:05:00
●前スレ
 Postfix(5)
 http://pc8.2ch.net/test/read.cgi/unix/1133344907/

●関連スレ
 sendmail
 http://pc5.2ch.net/test/read.cgi/unix/1094702772/

 qmailいろいろ(7)
 http://pc8.2ch.net/test/read.cgi/unix/1114157851/

 Exim
 http://pc8.2ch.net/test/read.cgi/unix/986398141/

 Courier-MTA
 http://pc8.2ch.net/test/read.cgi/unix/1119770156/

 Internet Mail System 総合スレ 3
 http://pc8.2ch.net/test/read.cgi/unix/1128256415/
0003名無しさん@お腹いっぱい。2006/09/20(水) 03:06:43
1乙
0004名無しさん@お腹いっぱい。2006/09/20(水) 07:14:03
>1 乙
0005名無しさん@お腹いっぱい。2006/09/20(水) 16:09:54
フィーナ姫は俺の嫁だ
0006名無しさん@お腹いっぱい。2006/09/20(水) 16:31:28
カレンは俺の嫁
0007名無しさん@お腹いっぱい。2006/09/20(水) 16:51:01
dict_openで正規表現が正しいかチェックしようとしたんだがうごかね。これどうやんの?
0008名無しさん@お腹いっぱい。2006/09/20(水) 17:01:24
>>7
どうやったの?
0009名無しさん@お腹いっぱい。2006/09/20(水) 17:11:48
./dict_open regexp:check_client_access read
127.0.0.1
usage: del key|get key|put key=value|first|next

0010名無しさん@お腹いっぱい。2006/09/20(水) 17:59:12
postmap -q を使うべきではないかと。

それはともかく麻衣は俺の嫁な。
0011名無しさん@お腹いっぱい。2006/09/20(水) 20:26:33
じゃぁミアは貰いますね
0012名無しさん@お腹いっぱい。2006/09/21(木) 07:13:56
なにこのスレ















リースは養女にもらいます
0013名無しさん@お腹いっぱい。2006/09/21(木) 11:35:07
これか・・・・・
http://august-soft.com/yoake/character.htm

とりあえずお約束で「きもっ」
0014名無しさん@お腹いっぱい。2006/09/21(木) 14:26:45
目が異様に大きくてきめぇ

・・・眼球肥大症?
0015名無しさん@お腹いっぱい。2006/09/21(木) 14:33:02
その辺でやめとけ。
0016名無しさん@お腹いっぱい。2006/09/23(土) 22:03:37
変な流れになっていますが、質問してもよいでしょうか?

alias_mapsのテーブルにPostgreSQLを使っているのですが、2.2.9から2.3.3へ移行したところ上手く動かなくなりました。
smtpd内のエイリアス処理がPostgreSQLのテーブルを引くところで失敗してしまい、Temporary lookup failureを吐いてメールが一切流れない状態になります。
ログにはwarning: dict_pgsql: cannot set the encoding to LATIN1, skipping localhost"と出ています。
調べてみるとサーバー側のデータベースのエンコーディングがLATIN1へ変更できないもの(この場合EUC_JP)だと動かないようです。

ソースとかpostfix-users MLとかを見ると、どうも問題を起こしている場所のコードはPostgreSQL側のSQLインジェクション対策を勘違いして入れた感じがしています。
http://archives.neohapsis.com/archives/postfix/2006-07/1530.html 参照)
ソースの該当箇所を削るとか、PostgreSQLのデータベースのエンコーディングをSQL_ASCIIに変えるとかの対策は思いつくのですが、どれも面倒な感じで途方に暮れています。
何か良い対策はないでしょうか?

設定ファイル
main.cf:
...
alias_maps = hash:/etc/mail/aliases pgsql:/usr/local/etc/postfix/pgsql-aliases.cf
...

pgsql-aliases.cf:
hosts = localhost
user = dbuser
password = passwd
dbname = database
query = SELECT mailaddress FROM userdb WHERE username = '%s' AND username IS NOT NULL AND mailaddress <> ''

PostgreSQLのテーブル(エンコーディングはEUC_JPを指定)
CREATE TABLE userdb (
 username TEXT,
 mailaddress TEXT
);
0017名無しさん@お腹いっぱい。2006/09/24(日) 10:05:45
dict_pgsql.c(postfix-2.4-20060903)

638 /*
639 * XXX Postfix does not send multi-byte characters. The following
640 * piece of code is an explicit statement of this fact, and the
641 * database server should not accept multi-byte information after
642 * this point.
643 */
644 if (PQsetClientEncoding(host->db, "LATIN1") != 0) {
645 msg_warn("dict_pgsql: cannot set the encoding to LATIN1, skipping %s",
646 host->hostname);
647 plpgsql_down_host(host);
648 return;
649 }

現状ではソース変更ぐらいしかPostfix側でできることはないと思われ。
0018名無しさん@お腹いっぱい。2006/09/24(日) 13:07:14
LATIN1とEUC_JPって
文字数同じだからバイナリ書き換えたら?
0019名無しさん@お腹いっぱい。2006/09/24(日) 14:20:37
>>16 でもバックエンドがEUC-JPでフロントエンドがLATIN1という設定も
可能なんじゃなかったっけ? なんで PQsetClientEncoding()そのものが
失敗するんだろう。
ttp://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/multibyte.html#AEN13623
0020名無しさん@お腹いっぱい。2006/09/24(日) 15:53:22
> 2.2.9から2.3.3へ移行したところ上手く動かなくなりました。
そもそも、何が理由で移行しようとしたの?
これってRHEL4を使っていて、RHの勝手なversion upに巻き込まれたわけ?
もしそうなら、RHに修正依頼を出せばいいんじゃないの。
そうすれば、そのテスト機で動くようになるだろうし、それから本番機を
version upすれば何も問題ないわけで。
0021名無しさん@お腹いっぱい。2006/09/24(日) 17:48:22
書き忘れていましたが、動かしているOSはFreeBSD 5.4, PostgreSQLは7.4.13を使っていて、Postfix, PostgreSQLともにportsを用いてインストールしています。

>>17
やっぱりそのくらいしか手がなさそうですね。

>>19
7.4のマニュアルを見ると同じような文面があるのですが、EUC_JPの場合でAutomatic Character Set Conversionが効くのはEUC_JP, SJIS, UNICODE, MULE_INTERNALのみとなっているので、LATIN1にできないのも仕方がないのかもしれません。
http://www.postgresql.org/docs/7.4/interactive/multibyte.html#AEN18389
自力でCREATE CONVERSIONすればちゃんと動くような気もしますが、さすがにそれだけの気力がありません。

>>20
本番機上でportsをコンパイルするのはまずいと思い、新たにpackage作成用のマシンを用意してそちらでコンパイルしたものを持ち込むことにしました。
が、最新のportsでコンパイルしたためPostfixのバージョンが上がってしまいました。
テスト機でpgsqlまわりでテストをするのを忘れたままPostfixをバージョンアップしてしまったために、今頃になって苦労する羽目に陥っています。

皆さんの意見を参考にがんばって修正してみます。
0022名無しさん@お腹いっぱい。2006/09/24(日) 18:33:12
アカウント入れてるデータベースを alter database で latin1 と上位互換な
文字セットに変えれば?
0023名無しさん@お腹いっぱい。2006/09/24(日) 20:26:03
爺-Worksに害虫汁
0024名無しさん@お腹いっぱい。2006/09/26(火) 09:34:50
遅まきながらテンプレ

初代 Postfix スレ ttp://makimo.to/2ch/pc_unix/994/994289303.html
Postfix(2) ttp://makimo.to/2ch/pc3_unix/1053/1053097579.html
Postfix(3) ttp://makimo.to/2ch/pc5_unix/1086/1086462636.html
Postfix(4) ttp://makimo.to/2ch/pc8_unix/1110/1110850215.html
Postfix(5) ttp://makimo.to/2ch/pc8_unix/1133/1133344907.html
0025名無しさん@お腹いっぱい。2006/09/27(水) 18:34:07
vmailbox内に

foo@example.com    example.com/foo/
hoge@example.com   example.com/foo/

と書けばhoge@example.comという宛先のメールもfooのメールボックス内にはいるのでしょうか?
0026名無しさん@お腹いっぱい。2006/09/27(水) 22:36:40
何をやろうとしてるのか書かずに、いったい何のことなんだか。

% postconf | fgrep vmailbox
%
0027名無しさん@お腹いっぱい。2006/09/27(水) 22:46:42
やりたいことはhoge@example.comをfoo@example.comのエイリアスにしたいのですが
0028名無しさん@お腹いっぱい。2006/09/27(水) 23:50:41
/etc/aliases に
hoge: foo
と書くか、virtual_alias_mapsのテーブルに
hoge@example.com foo@example.com
と書く。
0029名無しさん@お腹いっぱい。2006/09/29(金) 14:16:21
/etc/sasldb2って暗号化されないのですか?
0030名無しさん@お腹いっぱい。2006/09/29(金) 17:37:54
dbに依存するのかもしれないけど、
おいらの環境(BerkeleyDB4)ではされないお
だからパーミッションだけが、パスワードを守る術


そんなことより、久々に爺がmlで吠えてるね
まあ、あれは質問者に問題ありありだけど
■ このスレッドは過去ログ倉庫に格納されています