You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by ru...@apache.org on 2020/11/23 02:56:13 UTC
[whimsy] branch travis-debug+ldap created (now 5a6137e)
This is an automated email from the ASF dual-hosted git repository.
rubys pushed a change to branch travis-debug+ldap
in repository https://gitbox.apache.org/repos/asf/whimsy.git.
at 5a6137e add in ONLY the tidied ldap
This branch includes the following new commits:
new 5a6137e add in ONLY the tidied ldap
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[whimsy] 01/01: add in ONLY the tidied ldap
Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rubys pushed a commit to branch travis-debug+ldap
in repository https://gitbox.apache.org/repos/asf/whimsy.git
commit 5a6137eeea04269dd93339edb7f69b8386b2e9c0
Author: Sam Ruby <ru...@intertwingly.net>
AuthorDate: Sun Nov 22 21:54:32 2020 -0500
add in ONLY the tidied ldap
---
lib/whimsy/asf/ldap.rb | 72 +++++++++++++++++++++++++-------------------------
1 file changed, 36 insertions(+), 36 deletions(-)
diff --git a/lib/whimsy/asf/ldap.rb b/lib/whimsy/asf/ldap.rb
index 22c4e1f..ca10493 100644
--- a/lib/whimsy/asf/ldap.rb
+++ b/lib/whimsy/asf/ldap.rb
@@ -189,7 +189,7 @@ module ASF
hosts = ASF::LDAP::RO_HOSTS if hosts.empty?
hosts.shuffle!
- #Wunderbar.debug "Hosts:\n#{hosts.join(' ')}"
+ # Wunderbar.debug "Hosts:\n#{hosts.join(' ')}"
@hosts = hosts
end
@@ -210,7 +210,7 @@ module ASF
cert = Dir["#{ETCLDAP}/asf*-ldap-client.pem"].first
# verify/obtain/write the cert
- if not cert
+ unless cert
cert = "#{ETCLDAP}/asf-ldap-client.pem"
File.write cert, ASF::LDAP.puppet_cert || self.extract_cert
end
@@ -451,25 +451,25 @@ module ASF
# return the collection of instances of this class, as a hash. Note the
# values are weak references, so may have already been reclaimed.
def self.collection
- @collection ||= Hash.new
+ @collection ||= {}
end
# Find an instance of this class, given a name
- def self.[] name
+ def self.[](name)
new(name)
end
# Find an instance of this class, given a name
- def self.find name
+ def self.find(name)
new(name)
end
# Create an instance of this class, given a name. Note: if an instance
# already exists, it will return a handle to the existing object.
- def self.new name
+ def self.new(name)
begin
object = collection[name]
- return object.reference if object and object.weakref_alive?
+ return object.reference if object&.weakref_alive?
rescue
end
@@ -479,7 +479,7 @@ module ASF
# create an instance of this class, returning a weak reference to the
# object for reuse. Note: self.new will check for such a reference and
# return it in favor of allocating a new object.
- def initialize name
+ def initialize(name)
self.class.collection[name] = WeakRef.new(self)
@name = name
end
@@ -530,6 +530,7 @@ module ASF
class LazyHash < Hash
# capture an initializer to be called only if necessary.
def initialize(&initializer)
+ super
@initializer = initializer
end
@@ -553,15 +554,15 @@ module ASF
@base = 'ou=role,ou=groups,dc=apache,dc=org'
# get a list of committers
- def self.list()
+ def self.list
ASF.search_one(base, 'cn=committers', 'member').flatten.
- map {|uid| Person.find uid[/uid=(.*?),/,1]}
+ map {|uid| Person.find uid[/uid=(.*?),/, 1]}
end
# get a list of committers (ids only)
- def self.listids()
+ def self.listids
ASF.search_one(base, 'cn=committers', 'member').flatten.
- map {|uid| uid[/uid=(.*?),/,1]}
+ map {|uid| uid[/uid=(.*?),/, 1]}
end
# create a new person and add as a new committer to LDAP.
@@ -625,7 +626,7 @@ module ASF
ASF::Group['committers'].remove(person) rescue nil
# remove person from 'new' committers list, ignoring exceptions
- ASF::LDAP.modify("cn=committers,#@base",
+ ASF::LDAP.modify("cn=committers,#{@base}",
[ASF::Base.mod_delete('member', [person.dn])]) rescue nil
# remove person from LDAP (should almost never be done)
@@ -641,7 +642,7 @@ module ASF
end
# add person to 'new' committers list
- ASF::LDAP.modify("cn=committers,#@base",
+ ASF::LDAP.modify("cn=committers,#{@base}",
[ASF::Base.mod_add('member', [person.dn])])
# add person to 'legacy' committers list
@@ -660,7 +661,7 @@ module ASF
ASF::Group['committers'].remove(person)
# remove person from 'new' committers list
- ASF::LDAP.modify("cn=committers,#@base",
+ ASF::LDAP.modify("cn=committers,#{@base}",
[ASF::Base.mod_delete('member', [person.dn])])
end
@@ -697,7 +698,7 @@ module ASF
filter = "(|#{people.map {|person| "(uid=#{person.name})"}.join})"
end
- zero = Hash[attributes.map {|attribute| [attribute,nil]}]
+ zero = Hash[attributes.map {|attribute| [attribute, nil]}]
data = ASF.search_one(base, filter, attributes + ['uid'])
data = Hash[data.map! {|hash| [list[hash['uid'].first], hash]}]
@@ -713,7 +714,7 @@ module ASF
end
# return person only if it actually exits
- def self.[] id
+ def self.[](id)
person = super
person.attrs['dn'] ? person : nil
end
@@ -732,7 +733,7 @@ module ASF
# Is this person listed in the committers LDAP group?
def asf_committer?
- ASF::Group.new('committers').include? self
+ ASF::Group.new('committers').include? self
end
# determine if the person is banned. If scanning a large list, consider
@@ -800,7 +801,7 @@ module ASF
# add in projects
# Get list of project names where the person is an owner
- projects = self.projects.select{|prj| prj.owners.include? self}.map(&:name)
+ projects = self.projects.select {|prj| prj.owners.include? self}.map(&:name)
committees += ASF::Committee.pmcs.select do |pmc|
projects.include? pmc.name
end
@@ -825,7 +826,7 @@ module ASF
# list of Podlings that this individual is a member (owner) of
def podlings
- ASF::Podling.current.select{|pod| project_owners.map(&:name).include? pod.name}
+ ASF::Podling.current.select {|pod| project_owners.map(&:name).include? pod.name}
end
# list of LDAP groups that this individual is a member of
@@ -921,7 +922,7 @@ module ASF
'gidNumber' => nextuid.to_s,
'asf-committer-email' => "#{availid}@apache.org",
'objectClass' => %w(person top posixAccount organizationalPerson
- inetOrgPerson asf-committer hostObject ldapPublicKey)
+ inetOrgPerson asf-committer hostObject ldapPublicKey)
})
# defaults
@@ -934,7 +935,7 @@ module ASF
attrs = ASF::Person.ldap_name(attrs['cn']).merge(attrs)
# generate a password that is between 8 and 16 alphanumeric characters
- if not attrs['userPassword']
+ unless attrs['userPassword']
while attrs['userPassword'].to_s.length < 8
attrs['userPassword'] = SecureRandom.base64(12).gsub(/\W+/, '')
end
@@ -996,7 +997,7 @@ module ASF
group = ASF::Group.find(cn)
group.modifyTimestamp = results['modifyTimestamp'].first # it is returned as an array of 1 entry
group.createTimestamp = results['createTimestamp'].first # it is returned as an array of 1 entry
- members = results['memberUid'] || []
+ members = results['memberUid'] || []
group.members = members
[group, members]
end]
@@ -1009,7 +1010,7 @@ module ASF
attr_accessor :createTimestamp
# return group only if it actually exits
- def self.[] name
+ def self.[](name)
group = super
group.dn ? group : nil
end
@@ -1096,7 +1097,7 @@ module ASF
end
# return project only if it actually exits
- def self.[] name
+ def self.[](name)
project = super
project.dn ? project : nil
end
@@ -1170,7 +1171,7 @@ module ASF
members = weakref(:members) do
ASF.search_one(base, "cn=#{name}", 'member').flatten
end
- members.map {|uid| uid[/uid=(.*?),/,1]}
+ members.map {|uid| uid[/uid=(.*?),/, 1]}
end
# list of owners on this project. Stored in LDAP as a <tt>owners</tt>
@@ -1184,10 +1185,9 @@ module ASF
owners = weakref(:owners) do
ASF.search_one(base, "cn=#{name}", 'owner').flatten
end
- owners.map {|uid| uid[/uid=(.*?),/,1]}
+ owners.map {|uid| uid[/uid=(.*?),/, 1]}
end
-
# remove people from a project as owners and members in LDAP
def remove(people)
remove_owners(people)
@@ -1251,10 +1251,10 @@ module ASF
@base = nil # not sure it makes sense to define base here
# return committee only if it actually exists
- def self.[] name
+ def self.[](name)
committee = super
# Cannot rely on presence/absence of LDAP record as projects includes podlings
- (ASF::Committee.pmcs+ASF::Committee.nonpmcs).map(&:name).include?(name) ? committee : nil
+ (ASF::Committee.pmcs + ASF::Committee.nonpmcs).map(&:name).include?(name) ? committee : nil
end
# Date this committee was last modified in LDAP.
@@ -1383,7 +1383,7 @@ module ASF
ASF.search_one(base, "cn=#{name}", 'member').flatten
end
- members.map {|uid| Person.find uid[/uid=(.*?),/,1]}
+ members.map {|uid| Person.find uid[/uid=(.*?),/, 1]}
end
# list of memberids for this service in LDAP
@@ -1392,7 +1392,7 @@ module ASF
ASF.search_one(base, "cn=#{name}", 'member').flatten
end
- members.map {|uid| uid[/uid=(.*?),/,1]}
+ members.map {|uid| uid[/uid=(.*?),/, 1]}
end
# remove people from this service in LDAP
@@ -1464,16 +1464,16 @@ end
if __FILE__ == $0
$LOAD_PATH.unshift '/srv/whimsy/lib'
require 'whimsy/asf/config'
- mem=ASF.members()
+ mem = ASF.members()
puts mem.length
puts mem.first.inspect
- memids=ASF.memberids()
+ memids = ASF.memberids()
puts memids.length
puts memids.first
- new=ASF.committers()
+ new = ASF.committers()
puts new.length
puts new.first.inspect
- newids=ASF.committerids()
+ newids = ASF.committerids()
puts newids.length
puts newids.first
ASF::RoleGroup.listcns.map {|g| puts ASF::RoleGroup.find(g).dn}