[cl-plus-ssl-cvs] CVS cl+ssl

dlichteblau dlichteblau at common-lisp.net
Fri Mar 7 21:28:49 UTC 2008


Update of /project/cl-plus-ssl/cvsroot/cl+ssl
In directory clnet:/tmp/cvs-serv24392

Modified Files:
	index.css index.html 
Log Message:
updated documented for new argument UNWRAP-STREAM-P, mention deadline
in news.  removed ancient, irrelevant parts of the documentation.


--- /project/cl-plus-ssl/cvsroot/cl+ssl/index.css	2005/11/09 22:10:44	1.1.1.1
+++ /project/cl-plus-ssl/cvsroot/cl+ssl/index.css	2008/03/07 21:28:49	1.2
@@ -21,11 +21,14 @@
 }
 
 h1,h2 {
-  background-color: darkred;
-  color: white;
   margin-left: -30px;
 }
 
+h3 {
+  margin-top: 2em;
+  margin-left: -20px;
+}
+
 th {
   background-color: darkred;
   color: white;
@@ -40,8 +43,11 @@
 }
 
 .def {
-  background-color: #ddddff;
+  background-color: #eeeeee;
+  width: 90%;
   font-weight: bold;
+  border: solid 1px #d0d0d0;
+  padding: 3px;
 }
 
 .nomargin {
--- /project/cl-plus-ssl/cvsroot/cl+ssl/index.html	2007/07/14 11:49:29	1.14
+++ /project/cl-plus-ssl/cvsroot/cl+ssl/index.html	2008/03/07 21:28:49	1.15
@@ -6,54 +6,35 @@
     <link rel="stylesheet" type="text/css" href="index.css"/>
   </head>
   <body>
-    <h1>CL<em style="font-weight: normal">plus</em>SSL</h1>
+    <h1>CL+SSL</h1>
 
-    <h3>Subprojects</h3>
-    <ul>
-      <li><a href="#cl+ssl">CL+SSL</a></li>
-      <li><a href="#trivial-https">trivial-https</a></li>
-      <li><a href="#trivial-gray-streams">trivial-gray-streams</a></li>
-    </ul>
-
-    <h3>News</h3>
     <p>
-      2007-xx-yy
+      A Common Lisp interface to OpenSSL.
     </p>
-    <ul>
-      <li>
-	Fixed windows support, thanks to Matthew Kennedy and Vodonosov Anton.
-      </li>
-    </ul>
+
+    <h3>About</h3>
+
     <p>
-      2007-07-07
+      This library is a fork
+      of <a href="http://www.cliki.net/SSL-CMUCL">SSL-CMUCL</a>.  The
+      original SSL-CMUCL source code was written by Eric Marsden and
+      includes contributions by Jochen Schmidt. Development into CL+SSL
+      was done by David Lichteblau.  License: MIT-style.
     </p>
-    <ul>
-      <li>
-	Improved clisp support, thanks
-	to <a
-	      href="http://web.kepibu.org/code/lisp/cl+ssl/">Pixel
-	  // pinterface</a>, as well as client certificate support.
-      </li>
-      <li>
-	Re-introduced support for direct access to file descriptors as
-	an optimization.  New function <tt>stream-fd</tt>.  New keyword
-	argument <tt>close-callback</tt>.
-      </li>
-    </ul>
+
     <p>
-      2007-01-16: CL+SSL is now available under an MIT-style license.
+      Distinguishing features: CL+SSL is portable code based on CFFI and
+      gray streams.  It defines its own libssl BIO method, so that SSL
+      I/O can be written over portable Lisp streams instead of bypassing
+      the streams and sending data over Unix file descriptors directly.
+      (But the traditional approach is still used if possible.)
     </p>
 
     <h3>Download</h3>
     <p>
       Anonymous CVS (<a href="http://common-lisp.net/cgi-bin/viewcvs.cgi/?cvsroot=cl-plus-ssl">browse</a>):
     </p>
-    <pre>$ export CVSROOT=:pserver:anonymous at common-lisp.net:/project/cl-plus-ssl/cvsroot
-$ cvs login
-password: anonymous
-$ cvs co cl+ssl
-$ cvs co trivial-gray-streams
-$ cvs co trivial-https</pre>
+    <pre>$ cvs -d :pserver:anonymous:anonymous at common-lisp.net:/project/cl-plus-ssl/cvsroot cl+ssl</pre>
     <p>
       <a
       href="http://common-lisp.net/project/cl-plus-ssl/download/">Tarballs</a>
@@ -72,31 +53,7 @@
       information</a>).
     </p>
 
-    <a name="cl+ssl">
-    <h2>CL+SSL</h2>
-
-    <p>A simple Common Lisp interface to OpenSSL.</p>
-
-    <h3>About</h3>
-
-    <p>
-      This library is a fork of <a
-      href="http://www.cliki.net/SSL-CMUCL">SSL-CMUCL</a>.  The original
-      SSL-CMUCL source code was written by Eric Marsden and includes
-      contributions by Jochen Schmidt.  License: MIT-style.
-    </p>
-
-    <ul>
-      <li>
-        CL+SSL is portable code based on CFFI and gray streams.
-      </li>
-      <li>
-        It defines its own libssl BIO method, so that SSL I/O is
-        actually written over portable Lisp streams instead of bypassing
-	the streams and sending data over Unix file descriptors directly.
-      </li>
-    </ul>
-
+<!--
     <p>
       Comparison chart:
     </p>
@@ -133,32 +90,36 @@
       are provided
       using <a href="http://weitz.de/flexi-streams/">flexi-streams</a>.
     </p>
+-->
 
     <h3>API functions</h3>
     <p>
-      <div class="def">Function CL+SSL:STREAM-FD (stream)</div>
-      Return <tt>stream</tt>'s file descriptor as an integer, if
-      known.  Otherwise return <tt>stream</tt> itself.
-    </p>
-    <p>
-      Pass the
-      return value of this function to <tt>make-ssl-client-stream</tt>
-      or <tt>make-ssl-servre-stream</tt>, which are faster when
-      accessing file descriptors directly.
-    </p>
-    <p>
-      <div class="def">Function CL+SSL:MAKE-SSL-CLIENT-STREAM (fd-or-stream &key external-format certificate key close-callback)</div>
-      Return an SSL stream for the client socket <tt>fd-or-stream</tt>.
-      All reads and writes to this SSL stream will be pushed through the
-      SSL connection.
+      <div class="def">Function CL+SSL:MAKE-SSL-CLIENT-STREAM (fd-or-stream &key external-format certificate key close-callback (unwrap-streams-p t))<br/><br/>
+      Function CL+SSL:MAKE-SSL-SERVER-STREAM (fd-or-stream &key external-format certificate key close-callback (unwrap-streams-p t))</div>
+      Return an SSL stream for the client (server)
+      socket <tt>fd-or-stream</tt>.  All reads and writes to this
+      stream will be pushed through the OpenSSL library.
+    </p>
+    <p>
+      Keyword arguments:
+    </p>
+    <p>
+      If <tt>fd-or-stream</tt> is a lisp stream, the SSL stream will
+      close it automatically.  File descriptors are not closed
+      automatically.  However, if <tt>close-callback</tt> is non-nil, it
+      will be called with zero arguments when the SSL stream is closed.
+    </p>
+    <p>
+      If <tt>unwrap-stream-p</tt> is true (the default), a stream for a
+      file descriptor will be replaced by that file descriptor
+      automatically.  This is similar to passing the result
+      of <tt>stream-fd</tt> as an argument, except that a deadline
+      associated with the stream object will be taken into account, and
+      that the stream will be closed automatically.  As with file
+      descriptor arguments, no I/O will actually be done on the stream
+      object.
     </p>
     <p>
-      If <tt>fd-or-stream</tt> is a lisp stream, it can
-      the SSL stream will close it automatically.  File descriptors are
-      not closed automatically.  However, if <tt>close-callback</tt> is
-      non-nil, it will be called with zero arguments when the SSL stream
-      is closed.
-      
       <tt>certificate</tt> is the path to a file containing the PEM-encoded
       certificate for your client. <tt>key</tt> is the path to the PEM-encoded
       key for the client, which must not be associated with a passphrase.
@@ -171,29 +132,18 @@
       as its initial external format.
     </p>
     <p>
-      <div class="def">Function CL+SSL:MAKE-SSL-SERVER-STREAM (fd-or-stream &key external-format certificate key close-callback)</div>
-      Return an SSL stream for the server socket <tt>fd-or-stream</tt>.  All
-      reads and writes to this server stream will be pushed through the
-      OpenSSL library.
-    </p>
-    <p>
-      If <tt>fd-or-stream</tt> is a lisp stream, it can
-      the SSL stream will close it automatically.  File descriptors are
-      not closed automatically.  However, if <tt>close-callback</tt> is
-      non-nil, it will be called with zero arguments when the SSL stream
-      is closed.
-      
-      <tt>certificate</tt> is the path to a file containing the PEM-encoded
-      certificate for your server. <tt>key</tt> is the path to the PEM-encoded
-      key for the server, which must not be associated with a
-      passphrase.  See above for <tt>external-format</tt> handling.
-    </p>
-    <p>
       <div class="def">Function CL+SSL:RELOAD ()</div>
       Reload <tt>libssl</tt>.  Call this function after restarting a Lisp
       core with CL+SSL dumped into it on Lisp implementations that do
       not reload shared libraries automatically.
     </p>
+    <p>
+      <div class="def">Function CL+SSL:STREAM-FD (stream)</div>
+      Return <tt>stream</tt>'s file descriptor as an integer, if known.
+      Otherwise return <tt>stream</tt> itself.  The result of this
+      function can be passed to <tt>make-ssl-client-stream</tt>
+      and <tt>make-ssl-server-stream</tt>.
+    </p>
 
     <h3>Portability</h3>
     <p>
@@ -230,42 +180,47 @@
 
     <h3>TODO</h3>
     <ul>
-      <li>CNAME checking!</li>
+      <li>CNAME checking</li>
+      <li>session caching</li>
+      <li>The FFI code for all platforms except clisp needs to be
+      rewritten.</li>
     </ul>
 
-    <a name="trivial-https">
-    <h2>trivial-https</h2>
-
-    <p>
-      trivial-https is a fork of Brian
-      Mastenbrook's <a
-      href="http://www.cliki.net/trivial-http">trivial-http</a> adding
-      support for HTTPS using CL+SSL.  License: MIT-style.
-    </p>
-
+    <h3>News</h3>
     <p>
-      <b>
-	Note: The <a href="http://weitz.de/drakma/">Drakma</a> HTTP
-	client library by Weitz supports HTTPS using CL+SSL.
-	trivial-https will not be developed further; please use Drakma
-	instead.
-      </b>
+      2008-xx-yy
     </p>
-
+    <ul>
+      <li>
+	Support for I/O deadlines (Clozure CL and SBCL).
+      </li>
+    </ul>
     <p>
-      <a href="http://common-lisp.net/cgi-bin/viewcvs.cgi/*checkout*/trivial-https/README?rev=HEAD&cvsroot=cl-plus-ssl&content-type=text/plain">README</a>
+      2007-xx-yy
     </p>
-
-    <a name="trivial-gray-streams">
-    <h2>trivial-gray-streams</h2>
-
+    <ul>
+      <li>
+	Fixed windows support, thanks to Matthew Kennedy and Vodonosov Anton.
+      </li>
+    </ul>
     <p>
-      trivial-gray-streams provides an extremely thin compatibility
-      layer for gray streams.  License: MIT-style.
+      2007-07-07
     </p>
-
+    <ul>
+      <li>
+	Improved clisp support, thanks
+	to <a
+	      href="http://web.kepibu.org/code/lisp/cl+ssl/">Pixel
+	  // pinterface</a>, as well as client certificate support.
+      </li>
+      <li>
+	Re-introduced support for direct access to file descriptors as
+	an optimization.  New function <tt>stream-fd</tt>.  New keyword
+	argument <tt>close-callback</tt>.
+      </li>
+    </ul>
     <p>
-      <a href="http://common-lisp.net/cgi-bin/viewcvs.cgi/*checkout*/trivial-gray-streams/README?rev=HEAD&cvsroot=cl-plus-ssl&content-type=text/plain">README</a>
+      2007-01-16: CL+SSL is now available under an MIT-style license.
     </p>
   </body>
 </html>




More information about the cl-plus-ssl-cvs mailing list