]> git.proxmox.com Git - pmg-api.git/blob - PMG/RuleDB/IPAddress.pm
add more ruledb classes
[pmg-api.git] / PMG / RuleDB / IPAddress.pm
1 package PMG::RuleDB::IPAddress;
2
3 use strict;
4 use warnings;
5 use Carp;
6 use DBI;
7
8 use PMG::Utils;
9 use PMG::RuleDB::WhoRegex;
10
11 use base qw(PMG::RuleDB::WhoRegex);
12
13 sub otype {
14 return 1003;
15 }
16
17 sub otype_text {
18 return 'IP Address';
19 }
20
21 sub oicon {
22 return 'ip.gif';
23 }
24
25 sub new {
26 my ($type, $address, $ogroup) = @_;
27
28 my $class = ref($type) || $type;
29
30 $address //= '127.0.0.1';
31
32 my $self = $class->SUPER::new($address, $ogroup);
33
34 return $self;
35 }
36
37 sub who_match {
38 my ($self, $addr, $ip) = @_;
39
40 # fixme: implement me
41 # use queue->{xforward}->{addr} for from match
42 # dont know what to do in To match
43
44 return 0 if !$ip;
45
46 return $self->{address} eq $ip;
47 }
48
49 sub short_desc {
50 my $self = shift;
51
52 my $desc = $self->{address};
53
54 return $desc;
55 }
56
57 1;
58
59 __END__
60
61 =head1 PMG::RuleDB::IPAddress
62
63 A WHO object to check sender IP addresses.
64
65 =head2 Attribues
66
67 =head3 address
68
69 An IP address.
70
71 =head2 Examples
72
73 $obj = PMG::RuleDB::IPAddress->new('192.168.2.1');
74