aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2018-07-21 22:25:47 +0200
committerMichał Górny <mgorny@gentoo.org>2018-07-21 22:25:47 +0200
commita1139dc6f36a6d8db257d2daa353098976da71b0 (patch)
tree22eef7a13e0325572c27f1e6dc0682a23e8848dd /bin
parentwkd: Remove unnecessary index, dir listings are disabled (diff)
downloadwww-a1139dc6f36a6d8db257d2daa353098976da71b0.tar.gz
www-a1139dc6f36a6d8db257d2daa353098976da71b0.tar.bz2
www-a1139dc6f36a6d8db257d2daa353098976da71b0.zip
Include system users in userinfo-export
Diffstat (limited to 'bin')
-rwxr-xr-xbin/userinfo-export.rb18
1 files changed, 17 insertions, 1 deletions
diff --git a/bin/userinfo-export.rb b/bin/userinfo-export.rb
index b06ebc5..2515283 100755
--- a/bin/userinfo-export.rb
+++ b/bin/userinfo-export.rb
@@ -10,6 +10,7 @@ class GentooLDAP
LDAP_HOST = (1..5).map { |x| sprintf('ldap%d.gentoo.org', x) }.join(' ')
LDAP_PORT = 389
DEV_BASE = 'ou=devs,dc=gentoo,dc=org'
+ SYSTEM_BASE = 'ou=system,dc=gentoo,dc=org'
SCOPE = LDAP::LDAP_SCOPE_SUBTREE
DEV_FILTER = '(objectClass=gentooDev)'
@@ldap_host = LDAP_HOST
@@ -39,6 +40,16 @@ class GentooLDAP
devs
end
+
+ def get_system_users
+ users = {}
+
+ @ldap.search(SYSTEM_BASE, SCOPE, DEV_FILTER) do |entry|
+ users[entry['uid'].first] = entry.to_hash
+ end
+
+ users
+ end
end
def gpgfp_format(input, nick)
@@ -86,6 +97,7 @@ end
ldap = GentooLDAP.new
devs = ldap.get_devs
+services = ldap.get_system_users
current_devs = {}
retired_devs = {}
@@ -98,7 +110,7 @@ devs.each do |dev, data|
end
end
-data = { 'current' => {}, 'retired' => {} }
+data = { 'current' => {}, 'retired' => {}, 'system' => {} }
current_devs.keys.sort.each do |dev|
data['current'][dev] = export(current_devs[dev])
@@ -108,4 +120,8 @@ retired_devs.keys.sort.each do |dev|
data['retired'][dev] = export(retired_devs[dev])
end
+services.keys.sort.each do |user|
+ data['system'][user] = export(services[user])
+end
+
puts data.to_json