--- framework/Crypt/Crypt/pgp.php Thu Jan 1 16:14:14 2004 +++ framework/Crypt/Crypt/pgp.php Wed Apr 7 16:33:36 2004 @@ -312,11 +312,17 @@ } elseif (stristr($line, ':user ID packet:')) { $uid_idx++; $line = preg_replace_callback('/\\\\x([0-9a-f]{2})/', create_function('$a', 'return chr(hexdec($a[1]));'), $line); - if (preg_match("/\"([^\(\<]+)\s+(?:\(([^\)]*)\))*\s*\<([^\>]+)\>\"/", $line, $matches)) { + if (preg_match("/\"([^\<]+)\<([^\>]+)\>\"/", $line, $matches)) { $header = 'id' . $uid_idx; - $data_array['signature'][$header]['name'] = $matches[1]; - $data_array['signature'][$header]['comment'] = $matches[2]; - $data_array['signature'][$header]['email'] = $matches[3]; + if (preg_match('/([^\(]+)\((.+)\)$/', trim($matches[1]), $comment_matches)) { + $data_array['signature'][$header]['name'] = trim($comment_matches[1]); + $data_array['signature'][$header]['comment'] = $comment_matches[2]; + + } else { + $data_array['signature'][$header]['name'] = trim($matches[1]); + $data_array['signature'][$header]['comment'] = ''; + } + $data_array['signature'][$header]['email'] = $matches[2]; $data_array['signature'][$header]['fingerprint'] = $fingerprint; } } elseif (stristr($line, ':signature packet:')) {