abaddrc, abaddrd - address-range database client and server for abmail

[戻る]

形式

abaddrc [-S server_host] [-f path_to.bdb] [-Z|-C|-R|-W|-s [-rc code] [-lt life_minutes] [-c comment] addr ...|-g addr ...]
abaddrd [-C] [-R] [-W] [-w wait_sec] [-f path_to.bdb]

オプション

abaddrc

-S server_host
RPC abaddrd デーモンを起動しているサーバホスト名を指定します。既定値 NULL や空文字の場合、RPC は経由せずに、直接データベースファイルと読み書きします。
-f path_to.bdb
RPC は経由せずに、直接データベースファイルと読み書きする際に、そのデータベースファイルを指定します。既定値は ./abaddr.bdb です。
-Z
アドレスレンジデータベースにて、寿命が尽きたエントリをすべて削除します。RPC 経由では、サーバにそれを要求します。
-C
アドレスレンジデータベースにて、データベースファイルを新規作成します。RPC 経由では、サーバにそれを要求します。
-R
アドレスレンジデータベースにて、エントリを ams_trusted.lst, ams_reliable.lst, ams_unreliable.lst から登録します。RPC 経由では、サーバにそれを要求します。
-W
アドレスレンジデータベースにて、エントリを ams_trusted.lst.out, ams_reliable.lst.out, ams_unreliable.lst.out へ書き出します。RPC 経由では、サーバにそれを要求します。
-s addr ...
IPv4/IPv6 アドレス(マスク形式、CIDR 形式、レンジ形式)をアドレスレンジデータベースへ登録します。RPC 経由では、サーバにそれを要求します。
-rc code
登録する IPv4/IPv6 アドレスの属性を指定します。code は任意の符合付き整数ですが、abmail では -1: ams_trusted.lst, 0: ams_reliable.lst, 1: ams_unreliable.lst に対応します。
-lt life_minutes
登録する IPv4/IPv6 アドレスの寿命(分)を指定します。life_minutes は任意の符合無し整数ですが、零以下を指定すると特別の作用、0: 寿命が無限大, -1: 寿命が負=消去, -2: code が一致するエントリのみ消去、を意味します。
-c comment
登録する IPv4/IPv6 アドレスのコメントを指定します。文字列の長さは128-1までです。
-g addr ...
IPv4/IPv6 アドレス(マスク形式、CIDR 形式、レンジ形式)をアドレスレンジデータベースから検索し、存在すれば属性を表示します。RPC 経由では、サーバにそれを要求します。

abaddrd

-C
アドレスレンジデータベースにて、データベースファイルを新規作成します。
-R
アドレスレンジデータベースにて、エントリを ams_trusted.lst, ams_reliable.lst, ams_unreliable.lst から登録します。
-W
アドレスレンジデータベースにて、エントリを ams_trusted.lst.out, ams_reliable.lst.out, ams_unreliable.lst.out へ書き出します。
-w wait_sec
アドレスレンジデータベースにて、寿命が尽きたエントリをすべて削除する周期(秒)を指定します。「-W」が指定されていれば、その都度 ams_*.lst.out が書き出されます。
-f path_to.bdb
アドレスレンジデータベースにて、そのデータベースファイルを指定します。既定値は ./abaddr.bdb です。

戻り値

成功すれば0、失敗すれば0以外を返します。

説明

abaddrc, abaddrd は abmail 用アドレスレンジデータベースマネージャーとしてのRPCサーバ/クライアントプログラムです。RPC サーバを経由せずに、一般ユーザが直接データベースファイルを扱うことも可能です。

実行例

RPC サーバを起動し、登録には RPC クライアント、検索には直接データベースを扱う例です。
# abaddrd -f /var/abmail/abaddr.bdb -C -R &

$ abaddrc -S localhost              -s -rc  1 -lt -1 224.0.0.0/16
$ abaddrc -f /var/abmail/abaddr.bdb -g 224.0.141.96/28
$ abaddrc -S localhost              -s -rc -1 -lt  0 224.0.1.0/24 -rc  1 -lt  0 224.0.128.0/28 -rc 0 -lt  0 224.0.130.1/32 -rc  1 -lt  0 224.0.254.0/24
$ abaddrc -f /var/abmail/abaddr.bdb -g 224.0.1.127 224.0.128.0/28 224.0.130.1 224.0.254.128
$ abaddrc -S localhost              -s -rc -1 -lt  0 224.0.1.128-224.0.254.127
$ abaddrc -f /var/abmail/abaddr.bdb -g 224.0.1.127 224.0.128.0/28 224.0.130.1 224.0.254.128
$ abaddrc -S localhost              -s -rc  1 -lt -1 224.0.0.0/16
$ abaddrc -S localhost              -s -rc -1 -lt  0 224.0.1.0/24 -rc  1 -lt  0 224.0.128.0/28 -rc 0 -lt  0 224.0.130.1/32 -rc  1 -lt  0 224.0.254.0/24
$ abaddrc -S localhost              -s -rc -1 -lt -1 224.0.1.128-224.0.254.127
$ abaddrc -f /var/abmail/abaddr.bdb -g 224.0.1.127 224.0.128.0/28 224.0.130.1 224.0.254.128
$ abaddrc -S localhost              -s -rc  1 -lt -1 224.0.0.0/16
$ abaddrc -S localhost              -s -rc -1 -lt  0 224.0.1.0/24 -rc  1 -lt  0 224.0.128.0/28 -rc 0 -lt  0 224.0.130.1/32 -rc  1 -lt  0 224.0.254.0/24
$ abaddrc -S localhost              -s -rc -1 -lt -2 224.0.1.128-224.0.254.127
$ abaddrc -f /var/abmail/abaddr.bdb -g 224.0.1.127 224.0.128.0/28 224.0.130.1 224.0.254.128

# killall abaddrd
RPC サーバを経由せずに、一般ユーザが直接データベースファイルを扱う例です。
$ abaddrc -f ~/var/abmail/abaddr.bdb -C -R

$ abaddrc -f ~/var/abmail/abaddr.bdb -g 224.0.141.96/28
$ abaddrc -S ~/var/abmail/abaddr.bdb -s -rc -1 -lt  0 224.0.1.0/24 -rc  1 -lt  0 224.0.128.0/28 -rc 0 -lt  0 224.0.130.1/32 -rc  1 -lt  0 224.0.254.0/24
$ abaddrc -f ~/var/abmail/abaddr.bdb -g 224.0.1.127 224.0.128.0/28 224.0.130.1 224.0.254.128
$ abaddrc -S ~/var/abmail/abaddr.bdb -s -rc -1 -lt  0 224.0.1.128-224.0.254.127
$ abaddrc -f ~/var/abmail/abaddr.bdb -g 224.0.1.127 224.0.128.0/28 224.0.130.1 224.0.254.128
$ abaddrc -S ~/var/abmail/abaddr.bdb -s -rc  1 -lt -1 224.0.0.0/16
$ abaddrc -S ~/var/abmail/abaddr.bdb -s -rc -1 -lt  0 224.0.1.0/24 -rc  1 -lt  0 224.0.128.0/28 -rc 0 -lt  0 224.0.130.1/32 -rc  1 -lt  0 224.0.254.0/24
$ abaddrc -S ~/var/abmail/abaddr.bdb -s -rc -1 -lt -1 224.0.1.128-224.0.254.127
$ abaddrc -f ~/var/abmail/abaddr.bdb -g 224.0.1.127 224.0.128.0/28 224.0.130.1 224.0.254.128
$ abaddrc -S ~/var/abmail/abaddr.bdb -s -rc  1 -lt -1 224.0.0.0/16
$ abaddrc -S ~/var/abmail/abaddr.bdb -s -rc -1 -lt  0 224.0.1.0/24 -rc  1 -lt  0 224.0.128.0/28 -rc 0 -lt  0 224.0.130.1/32 -rc  1 -lt  0 224.0.254.0/24
$ abaddrc -S ~/var/abmail/abaddr.bdb -s -rc -1 -lt -2 224.0.1.128-224.0.254.127
$ abaddrc -f ~/var/abmail/abaddr.bdb -g 224.0.1.127 224.0.128.0/28 224.0.130.1 224.0.254.128

COPYRIGHT

Copyright (C) 2008 Taiji Yamada <taiji@aihara.co.jp>