return '';␊ |
}␊ |
␊ |
if (preg_match('#^ssh\-[a-z]{3}\s\S+(\s\S+)?$#', $key)) {␊ |
$key = str_replace(array("\n", "\r"), '', $key);␊ |
$keysearch = '';␊ |
if (preg_match('#^(ssh\-(?:dss|rsa)\s+\S+)(.*)#', $key, $m)) {␊ |
$basekey = preg_replace('/\s+/', ' ', $m[1]);␊ |
$comment = trim(preg_replace('/[\r\n]/', ' ', $m[2]));␊ |
␊ |
$keysearch = $basekey.'%';␊ |
$key = $basekey;␊ |
if (!empty($comment))␊ |
$key .= ' '.$comment;␊ |
␊ |
if (Pluf::f('idf_strong_key_check', false)) {␊ |
␊ |
|
}␊ |
}␊ |
}␊ |
else if (preg_match('#^\[pubkey [^\]]+\]\s*\S+\s*\[end\]$#', $key)) {␊ |
else if (preg_match('#^\[pubkey [^\]]+\]\s*(\S+)\s*\[end\]$#', $key, $m)) {␊ |
$keysearch = '%'.$m[1].'%';␊ |
␊ |
if (Pluf::f('idf_strong_key_check', false)) {␊ |
␊ |
// if monotone can read it, it should be valid␊ |
|
if ($user) {␊ |
$ruser = Pluf::factory('Pluf_User', $user);␊ |
if ($ruser->id > 0) {␊ |
$sql = new Pluf_SQL('content=%s', array($key));␊ |
$sql = new Pluf_SQL('content LIKE %s AND user=%s', array($keysearch, $ruser->id));␊ |
$keys = Pluf::factory('IDF_Key')->getList(array('filter' => $sql->gen()));␊ |
if (count($keys) > 0) {␊ |
throw new Pluf_Form_Invalid(␊ |