logstash-input-netldap 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/logstash/inputs/netldap.rb +24 -3
- data/logstash-input-netldap.gemspec +3 -2
- metadata +16 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 637cea3d2175940f42682ba1ff42787bd861a0fcf54ab4d278c2f135bde72e16
|
4
|
+
data.tar.gz: 2afec45c1756ed32102b7af24fe97cf9bea368c0b37afb2f1957f9ab8a5a98f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2d45d6ca2c1f37919a9dd7dcd2185fae016a9c8ad261663d0ada6435c6874b0b0c880a7c4f4a44d122716d1e5cd95afb4b2e568ca535811fcd41c9b210c8770
|
7
|
+
data.tar.gz: 8f1c031c0eb234a6e94dc39224c063c7ae80d2c02deee52c9e723e75a64547bc0e4062a472ab8bd8d8d6d16f39e825bbe27367a0e2d195a3be84906140100f5a
|
data/CHANGELOG.md
CHANGED
@@ -5,7 +5,7 @@ require "stud/interval"
|
|
5
5
|
require "socket" # for Socket.gethostname
|
6
6
|
require "base64"
|
7
7
|
require "rubygems"
|
8
|
-
|
8
|
+
|
9
9
|
|
10
10
|
# Performs a LDAP search using net-ldap.
|
11
11
|
#
|
@@ -56,8 +56,13 @@ class LogStash::Inputs::NetLdap < LogStash::Inputs::Base
|
|
56
56
|
# Specify the attributes you wanna get for each entry
|
57
57
|
config :attrs, :validate => :array, :default => ["uid", "mail"]
|
58
58
|
|
59
|
+
# Use of rufus-scheduler
|
60
|
+
config :schedule, :validate => :string
|
61
|
+
|
59
62
|
public
|
60
63
|
def register
|
64
|
+
require "net/ldap"
|
65
|
+
require "rufus/scheduler"
|
61
66
|
@host = Socket.gethostname
|
62
67
|
|
63
68
|
if @anonymous
|
@@ -78,7 +83,19 @@ class LogStash::Inputs::NetLdap < LogStash::Inputs::Base
|
|
78
83
|
end
|
79
84
|
|
80
85
|
def run(queue)
|
81
|
-
|
86
|
+
if @schedule
|
87
|
+
@scheduler = Rufus::Scheduler.new(:max_work_threds => 1)
|
88
|
+
@scheduler.cron @schedule do
|
89
|
+
execute_search(queue)
|
90
|
+
end
|
91
|
+
@scheduler.join
|
92
|
+
else
|
93
|
+
execute_search(queue)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
def execute_search(queue)
|
98
|
+
# Filters def
|
82
99
|
finalFilter = "" # need to initialize this outside the each
|
83
100
|
@filters.each.with_index do |hashFilter, index|
|
84
101
|
tmpFilter = Net::LDAP::Filter.eq(hashFilter['field'], hashFilter['value'])
|
@@ -104,5 +121,9 @@ class LogStash::Inputs::NetLdap < LogStash::Inputs::Base
|
|
104
121
|
end
|
105
122
|
queue << event
|
106
123
|
end
|
107
|
-
end
|
124
|
+
end
|
125
|
+
|
126
|
+
def stop
|
127
|
+
@scheduler.shutdown(:wait) if @scheduler
|
128
|
+
end
|
108
129
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'logstash-input-netldap'
|
3
|
-
s.version = '1.0.
|
3
|
+
s.version = '1.0.4'
|
4
4
|
s.licenses = ['Apache-2.0']
|
5
5
|
s.summary = "Logstash input plugin that performs an LDAP search."
|
6
6
|
s.description = "This gem is a Logstash input plugin allowing to retrieve entries from a LDAP directory. This gem has to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
|
@@ -16,12 +16,13 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
17
17
|
|
18
18
|
# Special flag to let us know this is actually a logstash plugin
|
19
|
-
s.metadata = { "logstash_plugin" => "true", "logstash_group" => "input" }
|
19
|
+
s.metadata = { "logstash_plugin" => "true", "logstash_group" => "input", "documentation_uri" => "https://github.com/damterroba/logstash-input-netldap/blob/master/docs/index.asciidoc" }
|
20
20
|
|
21
21
|
# Gem dependencies
|
22
22
|
s.add_runtime_dependency "logstash-core-plugin-api", ">= 1.60", "<= 2.99"
|
23
23
|
s.add_runtime_dependency 'logstash-codec-plain'
|
24
24
|
s.add_runtime_dependency 'stud', '>= 0.0.22'
|
25
25
|
s.add_runtime_dependency 'net-ldap', '>= 0.16.1'
|
26
|
+
s.add_runtime_dependency 'rufus-scheduler'
|
26
27
|
s.add_development_dependency 'logstash-devutils'
|
27
28
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-input-netldap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- damterroba
|
@@ -72,6 +72,20 @@ dependencies:
|
|
72
72
|
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: 0.16.1
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
requirement: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0'
|
81
|
+
name: rufus-scheduler
|
82
|
+
prerelease: false
|
83
|
+
type: :runtime
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
75
89
|
- !ruby/object:Gem::Dependency
|
76
90
|
requirement: !ruby/object:Gem::Requirement
|
77
91
|
requirements:
|
@@ -109,6 +123,7 @@ licenses:
|
|
109
123
|
metadata:
|
110
124
|
logstash_plugin: 'true'
|
111
125
|
logstash_group: input
|
126
|
+
documentation_uri: https://github.com/damterroba/logstash-input-netldap/blob/master/docs/index.asciidoc
|
112
127
|
post_install_message:
|
113
128
|
rdoc_options: []
|
114
129
|
require_paths:
|