continue; } elseif ($returnval) { $handle = popen("myproxy-logon -v -l {$proxyusername} -s {$escproxyserver} -S -o {$escfullproxyfile} >/dev/null 2>&1", 'w'); fwrite($handle, $proxypassword); if (pclose($handle)) { @unlink($fullproxyfile); Portal_MySQL::real_query(<<<EOS UPDATE `User` SET `proxy_server` = NULL, `proxy_username` = NULL, `proxy_password` = NULL WHERE `user_dn_md5` = {$escuserdnmd5}; EOS ); continue; } } $topos = new Topos(); $pools = $topos->getPools(); foreach ($pools as $pool => $ntokens) { $poolURL = $topos->realmURL() . "pools/{$pool}"; if (!preg_match('@^todo_for_vo_([-\\w.]+)/$@', $pool, $matches)) { Portal::debug("Strange pool URL {$poolURL}"); continue; } $vo = $matches[1]; putenv("X509_USER_PROXY={$fullproxyfile}"); $vomsproxy = "{$TEMPNAM}.{$vo}.pem"; $output = ''; exec("voms-proxy-init -noregen -out {$vomsproxy} -voms {$vo} 2>&1", $output); if (!file_exists($vomsproxy)) { $output = implode("\n", $output); Portal::debug("VO {$vo} unknown, and/or user {$userdn} isn't in it!\n{$output}"); exec("curl -k -X DELETE '{$poolURL}'");