This is an automated email from the ASF dual-hosted git repository.
sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git
The following commit(s) were added to refs/heads/master by this push:
new a142bd86 Use ldap library bind
a142bd86 is described below
commit a142bd86a8c65891cefdc29443e160472a713f7c
Author: Sebb <[email protected]>
AuthorDate: Thu Jan 5 15:19:30 2023 +0000
Use ldap library bind
Simpler and safer
---
.../workbench/views/actions/icla2.json.rb | 36 ++++------------------
1 file changed, 6 insertions(+), 30 deletions(-)
diff --git a/www/secretary/workbench/views/actions/icla2.json.rb
b/www/secretary/workbench/views/actions/icla2.json.rb
index 6ba8b0e0..afc19394 100644
--- a/www/secretary/workbench/views/actions/icla2.json.rb
+++ b/www/secretary/workbench/views/actions/icla2.json.rb
@@ -156,23 +156,11 @@ if person.public_name != @pubname and @id != 'notinavail'
form do
_input value: @pubname, name: 'pubname'
end
-
complete do
- ldap = ASF.init_ldap(true)
-
- ldap.bind("uid=#{env.user},ou=people,dc=apache,dc=org",
- env.password)
-
- ldap.modify person.dn, [ASF::Base.mod_replace('cn', @pubname.strip)]
-
- log = ["LDAP modify: #{ldap.err2string(ldap.err)} (#{ldap.err})"]
- if ldap.err == 0
- _transcript log
- else
- _backtrace log
+ ASF::LDAP.bind(env.user, env.password) do
+ person.modify('cn', @pubname.strip)
+
end
-
- ldap.unbind
end
end
end
@@ -182,7 +170,7 @@ end
########################################################################
# send confirmation email
-task "email #@email" do
+task "email #{@email}" do
cc = person.all_mail.map {|email| "#{@pubname.inspect} <#{email}>"}
cc << '[email protected]'
@@ -217,21 +205,9 @@ if @id != 'notinavail'
end
complete do
- ldap = ASF.init_ldap(true)
-
- ldap.bind("uid=#{env.user},ou=people,dc=apache,dc=org",
- env.password)
-
- ldap.modify person.dn, [ASF::Base.mod_replace('mail', @email.strip)]
-
- log = ["LDAP modify: #{ldap.err2string(ldap.err)} (#{ldap.err})"]
- if ldap.err == 0
- _transcript log
- else
- _backtrace log
+ ASF::LDAP.bind(env.user, env.password) do
+ person.modify('mail', @email.strip)
end
-
- ldap.unbind
end
end
end