Sha256: 2eec24d2690041a28b36c6d1d6a7dd6731fc9bd0deca5fa156622b0bb9274b34
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
module ActiveSambaLdap class UnixIdPool < Base include Reloadable::Subclasses class << self def ldap_mapping(options={}) default_options = { :dn_attribute => "sambaDomainName", :prefix => "", :classes => ["top", "sambaDomain", "sambaUnixIdPool"], } options = default_options.merge(options) super options end end def find_available_uid_number(account_class) find_available_number(account_class, "uidNumber", uid_number) do account_class.configuration[:start_uid] end end def find_available_gid_number(group_class) find_available_number(group_class, "gidNumber", gid_number) do group_class.configuration[:start_gid] end end private def find_available_number(klass, key, start_value) number = Integer(start_value || yield) 100.times do |i| return number if klass.search(:filter => "(#{key}=#{number})").empty? number += 1 end nil end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
activesambaldap-0.0.1 | lib/active_samba_ldap/unix_id_pool.rb |