44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/logstash/filters/cidr.rb', line 44
def filter(event)
address = @address.collect do |a|
begin
IPAddr.new(event.sprintf(a))
rescue ArgumentError => e
@logger.warn("Invalid IP address, skipping", :address => a, :event => event)
nil
end
end
address.compact!
network = @network.collect do |n|
begin
IPAddr.new(event.sprintf(n))
rescue ArgumentError => e
@logger.warn("Invalid IP network, skipping", :network => n, :event => event)
nil
end
end
network.compact!
address.product(network).each do |a, n|
@logger.debug("Checking IP inclusion", :address => a, :network => n)
if n.include?(a)
filter_matched(event)
return
end
end
end
|