--- Request.java 2010-06-17 19:23:22.000000000 +0300 +++ patch/Request.java 2010-07-19 13:36:35.000000000 +0300 @@ -170,6 +170,7 @@ * The attributes associated with this Request, keyed by attribute name. */ protected HashMap attributes = new HashMap(); + protected boolean sslAttributesRead = false; /** @@ -412,6 +413,7 @@ localName = null; attributes.clear(); + sslAttributesRead = false; notes.clear(); cookies = null; @@ -912,6 +914,8 @@ attributes.put(Globals.SSL_SESSION_ID_ATTR, attr); } attr = attributes.get(name); + + sslAttributesRead = true; } return attr; } @@ -955,7 +959,7 @@ * attributes and may also support additional attributes. */ public Enumeration getAttributeNames() { - if (isSecure()) { + if (isSecure() && !sslAttributesRead) { getAttribute(Globals.CERTIFICATES_ATTR); } return new Enumerator(attributes.keySet(), true);