line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Net::Whois::Object::FilterSet; |
2
|
|
|
|
|
|
|
|
3
|
1
|
|
|
1
|
|
76489
|
use strict; |
|
1
|
|
|
|
|
10
|
|
|
1
|
|
|
|
|
30
|
|
4
|
1
|
|
|
1
|
|
5
|
use warnings; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
25
|
|
5
|
1
|
|
|
1
|
|
5
|
use base qw/Net::Whois::Object/; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
583
|
|
6
|
|
|
|
|
|
|
|
7
|
|
|
|
|
|
|
####################################################################################### |
8
|
|
|
|
|
|
|
# The following lines where auto-generated by 'perl whois_to_attribute.pl FilterSet' |
9
|
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
# % This is the RIPE Database query service. |
11
|
|
|
|
|
|
|
# % The objects are in RPSL format. |
12
|
|
|
|
|
|
|
# % |
13
|
|
|
|
|
|
|
# % The RIPE Database is subject to Terms and Conditions. |
14
|
|
|
|
|
|
|
# % See http://www.ripe.net/db/support/db-terms-conditions.pdf |
15
|
|
|
|
|
|
|
# |
16
|
|
|
|
|
|
|
# filter-set: [mandatory] [single] [primary/lookup key] |
17
|
|
|
|
|
|
|
# descr: [optional] [multiple] [ ] |
18
|
|
|
|
|
|
|
# filter: [optional] [single] [ ] |
19
|
|
|
|
|
|
|
# mp-filter: [optional] [single] [ ] |
20
|
|
|
|
|
|
|
# remarks: [optional] [multiple] [ ] |
21
|
|
|
|
|
|
|
# org: [optional] [multiple] [inverse key] |
22
|
|
|
|
|
|
|
# tech-c: [mandatory] [multiple] [inverse key] |
23
|
|
|
|
|
|
|
# admin-c: [mandatory] [multiple] [inverse key] |
24
|
|
|
|
|
|
|
# notify: [optional] [multiple] [inverse key] |
25
|
|
|
|
|
|
|
# mnt-by: [mandatory] [multiple] [inverse key] |
26
|
|
|
|
|
|
|
# mnt-lower: [optional] [multiple] [inverse key] |
27
|
|
|
|
|
|
|
# created: [generated] [single] [ ] |
28
|
|
|
|
|
|
|
# last-modified: [generated] [single] [ ] |
29
|
|
|
|
|
|
|
# source: [mandatory] [single] [ ] |
30
|
|
|
|
|
|
|
# |
31
|
|
|
|
|
|
|
# % This query was served by the RIPE Database Query Service version 1.99 (BLAARKOP) |
32
|
|
|
|
|
|
|
# |
33
|
|
|
|
|
|
|
# |
34
|
|
|
|
|
|
|
__PACKAGE__->attributes( 'primary', [ 'filter_set' ] ); |
35
|
|
|
|
|
|
|
__PACKAGE__->attributes( 'mandatory', [ 'filter_set', 'tech_c', 'admin_c', 'mnt_by', 'source' ] ); |
36
|
|
|
|
|
|
|
__PACKAGE__->attributes( 'optional', [ 'descr', 'filter', 'mp_filter', 'remarks', 'org', 'notify', 'mnt_lower', 'created', 'last_modified' ] ); |
37
|
|
|
|
|
|
|
__PACKAGE__->attributes( 'single', [ 'filter_set', 'filter', 'mp_filter', 'created', 'last_modified', 'source' ] ); |
38
|
|
|
|
|
|
|
__PACKAGE__->attributes( 'multiple', [ 'descr', 'remarks', 'org', 'tech_c', 'admin_c', 'notify', 'mnt_by', 'mnt_lower' ] ); |
39
|
|
|
|
|
|
|
|
40
|
|
|
|
|
|
|
# End of auto-generated lines |
41
|
|
|
|
|
|
|
####################################################################################### |
42
|
|
|
|
|
|
|
|
43
|
|
|
|
|
|
|
=head1 NAME |
44
|
|
|
|
|
|
|
|
45
|
|
|
|
|
|
|
Net::Whois::Object::FilterSet - an object representation of a RPSL FilterSet block |
46
|
|
|
|
|
|
|
|
47
|
|
|
|
|
|
|
=head1 DESCRIPTION |
48
|
|
|
|
|
|
|
|
49
|
|
|
|
|
|
|
A FilterSet object defines a set of routes that match the criteria that you |
50
|
|
|
|
|
|
|
specify in your 'filter', in other words it filters out routes that you do |
51
|
|
|
|
|
|
|
not want to see. |
52
|
|
|
|
|
|
|
|
53
|
|
|
|
|
|
|
=head1 METHODS |
54
|
|
|
|
|
|
|
|
55
|
|
|
|
|
|
|
=head2 new ( @options ) |
56
|
|
|
|
|
|
|
|
57
|
|
|
|
|
|
|
Constructor for the Net::Whois::Object::FilterSet class |
58
|
|
|
|
|
|
|
|
59
|
|
|
|
|
|
|
=cut |
60
|
|
|
|
|
|
|
|
61
|
|
|
|
|
|
|
sub new { |
62
|
1
|
|
|
1
|
1
|
5
|
my ( $class, @options ) = @_; |
63
|
|
|
|
|
|
|
|
64
|
1
|
|
|
|
|
3
|
my $self = bless {}, $class; |
65
|
1
|
|
|
|
|
10
|
$self->_init(@options); |
66
|
|
|
|
|
|
|
|
67
|
1
|
|
|
|
|
3
|
return $self; |
68
|
|
|
|
|
|
|
} |
69
|
|
|
|
|
|
|
|
70
|
|
|
|
|
|
|
=head2 B |
71
|
|
|
|
|
|
|
|
72
|
|
|
|
|
|
|
Accessor to the filter_set attribute. |
73
|
|
|
|
|
|
|
Accepts an optional filter_set value, always return the current filter_set value. |
74
|
|
|
|
|
|
|
|
75
|
|
|
|
|
|
|
The filter_set attribute defines the name of the filter. It is an RPSL |
76
|
|
|
|
|
|
|
name that starts with "fltr-". |
77
|
|
|
|
|
|
|
|
78
|
|
|
|
|
|
|
The name of a filter_set object can be hierarchical: |
79
|
|
|
|
|
|
|
|
80
|
|
|
|
|
|
|
A hierarchical filter_set name is a sequence of filter_set names and AS |
81
|
|
|
|
|
|
|
Numbers separated by colons. At least one component of the name must be an |
82
|
|
|
|
|
|
|
actual filter_set name (i.e. start with "fltr-"). All the set name |
83
|
|
|
|
|
|
|
components of a hierarchical filter-name have to be filter_set names. |
84
|
|
|
|
|
|
|
|
85
|
|
|
|
|
|
|
=cut |
86
|
|
|
|
|
|
|
|
87
|
|
|
|
|
|
|
sub filter_set { |
88
|
5
|
|
|
5
|
1
|
14
|
my ( $self, $filter_set ) = @_; |
89
|
5
|
50
|
66
|
|
|
41
|
if ( $filter_set and $filter_set !~ /^fltr-/i ) { |
90
|
0
|
|
|
|
|
0
|
warn "Incorrect FilterSet's name ($filter_set) : Should start with 'FLTR-'"; |
91
|
|
|
|
|
|
|
} |
92
|
|
|
|
|
|
|
|
93
|
5
|
|
|
|
|
17
|
return $self->_single_attribute_setget( 'filter_set', $filter_set ); |
94
|
|
|
|
|
|
|
} |
95
|
|
|
|
|
|
|
|
96
|
|
|
|
|
|
|
=head2 B |
97
|
|
|
|
|
|
|
|
98
|
|
|
|
|
|
|
Accessor to the descr attribute. |
99
|
|
|
|
|
|
|
Accepts an optional descr value to be added to the descr array, |
100
|
|
|
|
|
|
|
always return the current descr array. |
101
|
|
|
|
|
|
|
|
102
|
|
|
|
|
|
|
A short description related to the object's purpose. |
103
|
|
|
|
|
|
|
|
104
|
|
|
|
|
|
|
=head2 B |
105
|
|
|
|
|
|
|
|
106
|
|
|
|
|
|
|
Accessor to the filter attribute. |
107
|
|
|
|
|
|
|
Accepts an optional filter value, always return the current filter. |
108
|
|
|
|
|
|
|
|
109
|
|
|
|
|
|
|
The filter attribute defines the policy filter of the set. |
110
|
|
|
|
|
|
|
|
111
|
|
|
|
|
|
|
A policy filter is a logical expression which, when applied to a |
112
|
|
|
|
|
|
|
set of routes, returns a subset of these routes, the ones that |
113
|
|
|
|
|
|
|
you have said you want to see. |
114
|
|
|
|
|
|
|
|
115
|
|
|
|
|
|
|
=head2 B |
116
|
|
|
|
|
|
|
|
117
|
|
|
|
|
|
|
Accessor to the mp_filter attribute. |
118
|
|
|
|
|
|
|
Accepts an optional mp_filter value, always return the current mp_filter. |
119
|
|
|
|
|
|
|
|
120
|
|
|
|
|
|
|
Logical expression which when applied to a set of IPv4 or IPv6 routes returns |
121
|
|
|
|
|
|
|
a subset of these routes. |
122
|
|
|
|
|
|
|
|
123
|
|
|
|
|
|
|
=head2 B |
124
|
|
|
|
|
|
|
|
125
|
|
|
|
|
|
|
Accessor to the remarks attribute. |
126
|
|
|
|
|
|
|
Accepts an optional remark to be added to the remarks array, |
127
|
|
|
|
|
|
|
always return the current remarks array. |
128
|
|
|
|
|
|
|
|
129
|
|
|
|
|
|
|
General remarks. May include a URL or email address. |
130
|
|
|
|
|
|
|
|
131
|
|
|
|
|
|
|
=head2 B |
132
|
|
|
|
|
|
|
|
133
|
|
|
|
|
|
|
Accessor to the tech_c attribute. |
134
|
|
|
|
|
|
|
Accepts an optional contact to be added to the tech_c array, |
135
|
|
|
|
|
|
|
always return the current tech_c array. |
136
|
|
|
|
|
|
|
|
137
|
|
|
|
|
|
|
The NIC-handle of a technical contact 'person' or 'role' object. As more than |
138
|
|
|
|
|
|
|
one person often fulfills a role function, there may be more than one tech_c |
139
|
|
|
|
|
|
|
listed. |
140
|
|
|
|
|
|
|
|
141
|
|
|
|
|
|
|
A technical contact (tech_c) must be a person responsible for the |
142
|
|
|
|
|
|
|
day-to-day operation of the network, but does not need to be |
143
|
|
|
|
|
|
|
physically located at the site of the network. |
144
|
|
|
|
|
|
|
|
145
|
|
|
|
|
|
|
=head2 B |
146
|
|
|
|
|
|
|
|
147
|
|
|
|
|
|
|
Accessor to the admin_c attribute. |
148
|
|
|
|
|
|
|
Accepts an optional contact to be added to the admin_c array, |
149
|
|
|
|
|
|
|
always return the current admin_c array. |
150
|
|
|
|
|
|
|
|
151
|
|
|
|
|
|
|
The NIC-handle of an on-site contact 'person' object. As more than one person |
152
|
|
|
|
|
|
|
often fulfills a role function, there may be more than one admin_c listed. |
153
|
|
|
|
|
|
|
|
154
|
|
|
|
|
|
|
An administrative contact (admin_c) must be someone who is physically |
155
|
|
|
|
|
|
|
located at the site of the network. |
156
|
|
|
|
|
|
|
|
157
|
|
|
|
|
|
|
=head2 B |
158
|
|
|
|
|
|
|
|
159
|
|
|
|
|
|
|
Accessor to the org attribute. |
160
|
|
|
|
|
|
|
Accepts an optional org value to be added to the org array, |
161
|
|
|
|
|
|
|
always return the current org array. |
162
|
|
|
|
|
|
|
|
163
|
|
|
|
|
|
|
The organisation responsible for this FilterSet object. |
164
|
|
|
|
|
|
|
|
165
|
|
|
|
|
|
|
=head2 B |
166
|
|
|
|
|
|
|
|
167
|
|
|
|
|
|
|
Accessor to the notify attribute. |
168
|
|
|
|
|
|
|
Accepts an optional notify value to be added to the notify array, |
169
|
|
|
|
|
|
|
always return the current notify array. |
170
|
|
|
|
|
|
|
|
171
|
|
|
|
|
|
|
The email address of who last updated the database object and the date it |
172
|
|
|
|
|
|
|
occurred. |
173
|
|
|
|
|
|
|
|
174
|
|
|
|
|
|
|
Every time a change is made to a database object, this attribute will show |
175
|
|
|
|
|
|
|
the email address of the person who made those changes. |
176
|
|
|
|
|
|
|
Please use the address format specified in RFC 822 - Standard for |
177
|
|
|
|
|
|
|
the Format of ARPA Internet Text Message and provide the date |
178
|
|
|
|
|
|
|
format using one of the following two formats: YYYYMMDD or YYMMDD. |
179
|
|
|
|
|
|
|
|
180
|
|
|
|
|
|
|
=head2 B |
181
|
|
|
|
|
|
|
|
182
|
|
|
|
|
|
|
Accessor to the mnt_by attribute. |
183
|
|
|
|
|
|
|
Accepts an optional mnt_by value to be added to the mnt_by array, |
184
|
|
|
|
|
|
|
always return the current mnt_by array. |
185
|
|
|
|
|
|
|
|
186
|
|
|
|
|
|
|
Lists a registered 'mntner' used to authorize and authenticate changes to this |
187
|
|
|
|
|
|
|
object. |
188
|
|
|
|
|
|
|
|
189
|
|
|
|
|
|
|
When the database details are protected by a Mntner object, then |
190
|
|
|
|
|
|
|
only persons with access to the security information of that Mntner |
191
|
|
|
|
|
|
|
object will be able to change details. |
192
|
|
|
|
|
|
|
|
193
|
|
|
|
|
|
|
=head2 B |
194
|
|
|
|
|
|
|
|
195
|
|
|
|
|
|
|
Accessor to the mnt_lower attribute. |
196
|
|
|
|
|
|
|
Accepts an optional mnt_lower value to be added to the mnt_lower array, |
197
|
|
|
|
|
|
|
always return the current mnt_lower array. |
198
|
|
|
|
|
|
|
|
199
|
|
|
|
|
|
|
Sometimes there is a hierarchy of maintainers. In these cases, mnt_lower is |
200
|
|
|
|
|
|
|
used as well as mnt_by. |
201
|
|
|
|
|
|
|
|
202
|
|
|
|
|
|
|
=head2 B |
203
|
|
|
|
|
|
|
|
204
|
|
|
|
|
|
|
Accessor to the changed attribute. |
205
|
|
|
|
|
|
|
Accepts an optional changed value to be added to the changed array, |
206
|
|
|
|
|
|
|
always return the current changed array. |
207
|
|
|
|
|
|
|
|
208
|
|
|
|
|
|
|
The email address of who last updated the database object and the date it |
209
|
|
|
|
|
|
|
occurred. |
210
|
|
|
|
|
|
|
|
211
|
|
|
|
|
|
|
Every time a change is made to a database object, this attribute will show |
212
|
|
|
|
|
|
|
the email address of the person who made those changes. |
213
|
|
|
|
|
|
|
Please use the address format specified in RFC 822 - Standard for |
214
|
|
|
|
|
|
|
the Format of ARPA Internet Text Message and provide the date |
215
|
|
|
|
|
|
|
format using one of the following two formats: YYYYMMDD or YYMMDD. |
216
|
|
|
|
|
|
|
|
217
|
|
|
|
|
|
|
=head2 B |
218
|
|
|
|
|
|
|
|
219
|
|
|
|
|
|
|
Accessor to the source attribute. |
220
|
|
|
|
|
|
|
Accepts an optional source, always return the current source. |
221
|
|
|
|
|
|
|
|
222
|
|
|
|
|
|
|
The database where the object is registered. |
223
|
|
|
|
|
|
|
|
224
|
|
|
|
|
|
|
=cut |
225
|
|
|
|
|
|
|
|
226
|
|
|
|
|
|
|
1; |