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

Reply via email to