[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:25653] Re: qpopper



早間です。
> 
> > # tie を O_RDWR で実行し $accessdb{"192.168.1.1"}=90000; と言う具合
> > 生存時間を 90000 秒として書いてみました。毎日1度書き換える予定です。 
> 
> 間違っているので訂正しておきます。
>   my $tm=time() + 90000;
>   $accessdb{"192.168.1.1"}=$tm;
> です。済みません。
> 

結果報告です。
rpc.dracd が実行中に perl で /etc/postfix/dracd.db に追加・変更し
ても書き戻されて変更結果が無くなってしまいます。そこで

  /etc/rc.d/init.d/dracd stop

  (/etc/postfix/dracd.db 変更コマンド
    #! /usr/bin/perl
    use DB_File;
    $ip=$ARGV[0];
    my %accessdb;
    if (tie (my %accessdb, 'DB_File', "/etc/postfix/dracd.db", O_RDWR,0666,$DB_BTREE)) {
      $accessdb{$ip}=$time() + 90000;
      untie  %accessdb;
    }
  )

  /etc/rc.d/init.d/dracd start

と言う順序で実行しています。
瞬間、穴が開くのですが止むを得ません。また、時刻の設定は有効です。
書き込まれた時刻を越えると削除されます。
IP アドレスベースで pop 成功のホストは
    $tm=$accessdb{"192.168.1.1"};
    if (defined $tm) {
	    有効(成功している)
    } else {
	    無効
    }
で判断出来ます。

-- 早間 義博

References
[plamo:25650] Re: qpopper, 早間
[plamo:25651] Re: qpopper, 早間
[plamo:25652] Re: qpopper, 早間

[検索ページ] [メール一覧]
Plamo ML 公開システム