another-ldap-proxy 0.1.0 → 0.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f2e847966bbe4b21b049e7ffb11ad4f1146b6e45c29fdc3d8f976a1595d949ac
4
- data.tar.gz: b37b3c3ef4bfb8dc085f6f30ce181ed13f6247143c5dfbdaa0905ab4e92702fb
3
+ metadata.gz: 6121cd9ad2a015f64cef7428dfa0d91e6a49eb6afb854a27b50f664f7db0ade7
4
+ data.tar.gz: f034fc6cf7db2cd9bf356dee98a1025411b7b86c42b2338016acf8df38c855c8
5
5
  SHA512:
6
- metadata.gz: 8675cf5fdb9bc53341f1289f1b088ffce87fdebf3572521fe4757fcbfc001910dac0cb84d934b6be7915042ab61517107b1e163de308f5d7155066cd640d2cbf
7
- data.tar.gz: a131f32681025bfbd7206e269d0d95eea554f81fb13e7fdbe821ce5a9b7bc98cd4961ab0b9f2b08652f1fea2927e9fc5523fb2060ea514184c4870e57f3febe1
6
+ metadata.gz: 777540262c78d24935f59054c493504c846efb88ed331586cd8e76dc8a29a0a674da45bb22365bd4614abf4e44c79f293118017bd4b3400748b08739bd584fa5
7
+ data.tar.gz: bd3932576960ff10f9de32abfcc4eeac00c80fcc6e408b8fcff2d854e069c014f73619aaab4c141ce0955c272f0d043249e50137d275cdadb00089268856141a
data/examples/proxy.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
 
3
+ debug: yes
4
+
3
5
  port: 1389
4
6
  nodelay: yes
5
7
  listen: 10
@@ -71,6 +71,8 @@ module Another
71
71
  end
72
72
 
73
73
  def bind(_version, dn, password)
74
+ logger&.info "Ldap#bind : dn:#{dn}"
75
+ logger&.debug "Ldap#bind : dn:#{dn} password:#{password}"
74
76
  bind_ldap = new_client(auth: auth(username: dn, password: password))
75
77
  status = bind_ldap.bind ? true : false
76
78
  logger&.info "Ldap#bind : #{dn} => #{status}"
@@ -79,10 +81,12 @@ module Another
79
81
  end
80
82
 
81
83
  def search(basedn, scope, _deref, filter)
84
+ logger&.debug "Ldap#search : filter:#{filter}"
82
85
  results = []
83
86
  client.search(base: search_base(basedn), scope: scope, filter: filter, return_results: true) do |entry|
84
87
  results << entry
85
88
  end
89
+ logger&.info "Ldap#search : results => #{results.size}"
86
90
  results
87
91
  rescue Net::LDAP::Error => e
88
92
  logger&.warn "Ldap#search : Error querying LDAP server: #{e.message}"
@@ -16,6 +16,10 @@ module Another
16
16
  @conf = conf
17
17
  end
18
18
 
19
+ def debug
20
+ conf[:debug]
21
+ end
22
+
19
23
  def self.from_file(conf_file)
20
24
  raise "Configuration file not found: #{conf_file}" unless File.exist?(conf_file)
21
25
 
@@ -26,7 +26,8 @@ module Another
26
26
  end
27
27
 
28
28
  def simple_bind(version, dn, password)
29
- logger&.info "Operation#simple_bind ( #{version}, #{dn}, *** )"
29
+ logger&.info "Operation#simple_bind : version:#{version} dn:#{dn}"
30
+ logger&.debug "Operation#simple_bind : dn:#{dn} password:#{password}"
30
31
 
31
32
  return if _validate_root_credentials(dn, password)
32
33
 
@@ -9,12 +9,11 @@ module Another
9
9
  class Server
10
10
  SERVER_OPTIONS = %i[port nodelay listen].freeze
11
11
 
12
- attr_reader :conf, :logger
12
+ attr_reader :conf
13
13
 
14
14
  def initialize(conf:, logger: nil)
15
15
  @conf = conf
16
- @logger = logger || Logger.new($stdout)
17
- # @logger.level = Logger::DEBUG
16
+ @logger = logger
18
17
  end
19
18
 
20
19
  def server_params
@@ -57,6 +56,14 @@ module Another
57
56
  @s.join
58
57
  end
59
58
 
59
+ def logger
60
+ return @logger if @logger
61
+
62
+ $stdout.sync = true
63
+ @logger ||= Logger.new($stdout)
64
+ @logger.level = conf.debug ? Logger::DEBUG : Logger::INFO
65
+ end
66
+
60
67
  def self.run(conf:)
61
68
  new(conf: conf).run
62
69
  end
@@ -3,7 +3,7 @@
3
3
  module Another
4
4
  module Ldap
5
5
  module Proxy
6
- VERSION = '0.1.0'
6
+ VERSION = '0.2.0'
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: another-ldap-proxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Tych
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-11-28 00:00:00.000000000 Z
11
+ date: 2024-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: base64
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.2.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.2.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: gli
15
29
  requirement: !ruby/object:Gem::Requirement