Fix LocalJumpError in arvados-login-sync. Arvados-DCO-1.1-Signed-off-by: Pavel Mikhai...
authorstrangepleasures <pavel@thehyve.nl>
Fri, 20 Apr 2018 14:06:58 +0000 (16:06 +0200)
committerstrangepleasures <pavel@thehyve.nl>
Fri, 20 Apr 2018 14:06:58 +0000 (16:06 +0200)
services/login-sync/bin/arvados-login-sync

index 475ab98196fe5983048579829efea2c842255c1f..b42c784323e68f06fd8fc831c0cfa4293088fceb 100755 (executable)
@@ -57,18 +57,21 @@ begin
 
   pwnam = Hash.new()
   logins.reject! do |l|
-    return false if pwnam[l[:username]]
-    begin
-      pwnam[l[:username]] = Etc.getpwnam(l[:username])
-    rescue
-      if skip_missing_users
-        STDERR.puts "Account #{l[:username]} not found. Skipping"
-        true
-      end
+    if pwnam[l[:username]]
+      false
     else
-      if pwnam[l[:username]].uid < uid_min
-        STDERR.puts "Account #{l[:username]} uid #{pwnam[l[:username]].uid} < uid_min #{uid_min}. Skipping"
-        true
+      begin
+        pwnam[l[:username]] = Etc.getpwnam(l[:username])
+      rescue
+        if skip_missing_users
+          STDERR.puts "Account #{l[:username]} not found. Skipping"
+          true
+        end
+      else
+        if pwnam[l[:username]].uid < uid_min
+          STDERR.puts "Account #{l[:username]} uid #{pwnam[l[:username]].uid} < uid_min #{uid_min}. Skipping"
+          true
+        end
       end
     end
   end