diff --git a/ChangeLog b/ChangeLog
index 098bd72..a1981d2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-02-21  Jean-Paul Calderone  <exarkun@twistedmatrix.com>
+
+	* src/ssl/connection.c: Expose SSL_get_shutdown and
+	  SSL_set_shutdown. (patch from James Knight)
+	* src/ssl/ssl.c: Expose SSL_SENT_SHUTDOWN and SSL_RECEIVED_SHUTDOWN.
+	  (patch from James Knight)
+
 2008-02-19  Jean-Paul Calderone  <exarkun@twistedmatrix.com>
 
 	* src/ssl/context.c: Expose SSL_CTX_add_extra_chain_cert.
diff --git a/doc/html/callbacks.html b/doc/html/callbacks.html
index b1cad1a..740caf2 100644
--- a/doc/html/callbacks.html
+++ b/doc/html/callbacks.html
@@ -55,7 +55,7 @@
 Python threads to be able to do other things. The real trouble is if you've
 released the thread lock to do a potentially blocking operation, and the
 operation calls a callback. Then we must take the thread lock back<A NAME="tex2html6"
-  HREF="#foot921"><SUP>5</SUP></A>.
+  HREF="#foot934"><SUP>5</SUP></A>.
 </EM></EM></EM>
 <P>
 <EM><EM><EM>There are two solutions to the first problem, both of which are necessary. The
@@ -83,7 +83,7 @@
 <P>
 <BR><HR><H4>Footnotes</H4>
 <DL>
-<DT><A NAME="foot921">... back</A><A
+<DT><A NAME="foot934">... back</A><A
  href="callbacks.html#tex2html6"><SUP>5</SUP></A></DT>
 <DD>I'm
 not sure why this is necessary, but otherwise I get a segmentation violation on
diff --git a/doc/html/intro.html b/doc/html/intro.html
index 59655f6..e57f6f2 100644
--- a/doc/html/intro.html
+++ b/doc/html/intro.html
@@ -60,9 +60,9 @@
 unfortunately its error handling system does not seem to be finished,
 especially for non-blocking I/O.  I think that much of the reason for this
 is that M2Crypto<A NAME="tex2html1"
-  HREF="#foot881"><SUP>1</SUP></A> is
+  HREF="#foot894"><SUP>1</SUP></A> is
 developed using SWIG<A NAME="tex2html2"
-  HREF="#foot882"><SUP>2</SUP></A>.  This
+  HREF="#foot895"><SUP>2</SUP></A>.  This
 makes it awkward to create functions that e.g. can return both an integer and
 NULL since (as far as I know) you basically write C functions and SWIG makes
 wrapper functions that parses the Python argument list and calls your C
@@ -71,12 +71,12 @@
 <P>
 <BR><HR><H4>Footnotes</H4>
 <DL>
-<DT><A NAME="foot881">... M2Crypto</A><A
+<DT><A NAME="foot894">... M2Crypto</A><A
  href="intro.html#tex2html1"><SUP>1</SUP></A></DT>
 <DD>See <a class="url" href="http://www.post1.com/home/ngps/m2/">http://www.post1.com/home/ngps/m2/</a>
 
 </DD>
-<DT><A NAME="foot882">... SWIG</A><A
+<DT><A NAME="foot895">... SWIG</A><A
  href="intro.html#tex2html2"><SUP>2</SUP></A></DT>
 <DD>See <a class="url" href="http://swig.sourceforge.net/">http://swig.sourceforge.net/</a>
 
diff --git a/doc/html/openssl-connection.html b/doc/html/openssl-connection.html
index fbc2313..fed4d52 100644
--- a/doc/html/openssl-connection.html
+++ b/doc/html/openssl-connection.html
@@ -205,23 +205,35 @@
 readable/writeable.
 </dl>
 <P>
-<dl><dt><b><a name='l2h-164'><tt class='method'>sock_shutdown</tt></a></b>(<var>how</var>)
+<dl><dt><b><a name='l2h-164'><tt class='method'>get_shutdown</tt></a></b>()
+<dd>
+Get the shutdown state of the Connection.  Returns a bitvector of either or
+both of <var>SENT_SHUTDOWN</var> and <var>RECEIVED_SHUTDOWN</var>.
+</dl>
+<P>
+<dl><dt><b><a name='l2h-165'><tt class='method'>set_shutdown</tt></a></b>(<var>state</var>)
+<dd>
+Set the shutdown state of the Connection.  <var>state</var> is a bitvector of
+either or both of <var>SENT_SHUTDOWN</var> and <var>RECEIVED_SHUTDOWN</var>.
+</dl>
+<P>
+<dl><dt><b><a name='l2h-166'><tt class='method'>sock_shutdown</tt></a></b>(<var>how</var>)
 <dd>
 Call the <tt class="method">shutdown</tt> method of the underlying socket.
 </dl>
 <P>
-<dl><dt><b><a name='l2h-165'><tt class='method'>state_string</tt></a></b>()
+<dl><dt><b><a name='l2h-167'><tt class='method'>state_string</tt></a></b>()
 <dd>
 Retrieve a verbose string detailing the state of the Connection.
 </dl>
 <P>
-<dl><dt><b><a name='l2h-166'><tt class='method'>want_read</tt></a></b>()
+<dl><dt><b><a name='l2h-168'><tt class='method'>want_read</tt></a></b>()
 <dd>
 Checks if more data has to be read from the transport layer to complete an
 operation.
 </dl>
 <P>
-<dl><dt><b><a name='l2h-167'><tt class='method'>want_write</tt></a></b>()
+<dl><dt><b><a name='l2h-169'><tt class='method'>want_write</tt></a></b>()
 <dd>
 Checks if there is data to write to the transport layer to complete an
 operation.
diff --git a/doc/html/openssl-rand.html b/doc/html/openssl-rand.html
index c958d15..8390880 100644
--- a/doc/html/openssl-rand.html
+++ b/doc/html/openssl-rand.html
@@ -59,14 +59,14 @@
 <dd>
 Mix bytes from <var>string</var> into the PRNG state. The <var>entropy</var> argument is
 (the lower bound of) an estimate of how much randomness is contained in
-<var>string</var>, measured in bytes. For more information, see e.g. <a class="rfc" name="rfcref-1784"
+<var>string</var>, measured in bytes. For more information, see e.g. <a class="rfc" name="rfcref-1801"
 href="http://www.ietf.org/rfc/rfc1750.txt">RFC 1750</a>.
 </dl>
 <P>
 <dl><dt><b><a name='l2h-83'><tt class='function'>egd</tt></a></b>(<var>path</var><big>[</big><var>, bytes</var><big>]</big>)
 <dd>
 Query the Entropy Gathering Daemon<A NAME="tex2html3"
-  HREF="#foot903"><SUP>3</SUP></A> on socket <var>path</var> for <var>bytes</var>
+  HREF="#foot916"><SUP>3</SUP></A> on socket <var>path</var> for <var>bytes</var>
 bytes of random data and and uses <tt class="function">add</tt> to seed the PRNG. The default
 value of <var>bytes</var> is 255.
 </dl>
@@ -102,7 +102,7 @@
 <P>
 <BR><HR><H4>Footnotes</H4>
 <DL>
-<DT><A NAME="foot903">... Daemon</A><A
+<DT><A NAME="foot916">... Daemon</A><A
  href="openssl-rand.html#tex2html3"><SUP>3</SUP></A></DT>
 <DD>See
 <a class="url" href="http://www.lothar.com/tech/crypto/">http://www.lothar.com/tech/crypto/</a>
diff --git a/doc/html/openssl-ssl.html b/doc/html/openssl-ssl.html
index 1d9ff6a..62e3f16 100644
--- a/doc/html/openssl-ssl.html
+++ b/doc/html/openssl-ssl.html
@@ -113,7 +113,7 @@
 <dd>
 Factory fucnction that creates a new Connection object given an SSL context and
 a socket <A NAME="tex2html5"
-  HREF="#foot906"><SUP>4</SUP></A> object.
+  HREF="#foot919"><SUP>4</SUP></A> object.
 </dl>
 <P>
 <dl><dt><b>exception <a name='l2h-98'><tt class='exception'>Error</tt></a></b>
@@ -173,7 +173,7 @@
 <P>
 <BR><HR><H4>Footnotes</H4>
 <DL>
-<DT><A NAME="foot906">... socket</A><A
+<DT><A NAME="foot919">... socket</A><A
  href="openssl-ssl.html#tex2html5"><SUP>4</SUP></A></DT>
 <DD>Actually, all that is required is an object that
 <i>behaves</i> like a socket, you could even use files, even though it'd be
diff --git a/doc/pyOpenSSL.tex b/doc/pyOpenSSL.tex
index de91545..da4c19b 100644
--- a/doc/pyOpenSSL.tex
+++ b/doc/pyOpenSSL.tex
@@ -949,6 +949,16 @@
 readable/writeable.
 \end{methoddesc}
 
+\begin{methoddesc}[Connection]{get_shutdown}{}
+Get the shutdown state of the Connection.  Returns a bitvector of either or
+both of \var{SENT_SHUTDOWN} and \var{RECEIVED_SHUTDOWN}.
+\end{methoddesc}
+
+\begin{methoddesc}[Connection]{set_shutdown}{state}
+Set the shutdown state of the Connection.  \var{state} is a bitvector of
+either or both of \var{SENT_SHUTDOWN} and \var{RECEIVED_SHUTDOWN}.
+\end{methoddesc}
+
 \begin{methoddesc}[Connection]{sock_shutdown}{how}
 Call the \method{shutdown} method of the underlying socket.
 \end{methoddesc}
diff --git a/src/ssl/connection.c b/src/ssl/connection.c
index 96111aa..885f66d 100755
--- a/src/ssl/connection.c
+++ b/src/ssl/connection.c
@@ -756,6 +756,43 @@
     return Py_None;
 }
 
+static char ssl_Connection_get_shutdown_doc[] = "\n\
+Get shutdown state\n\
+\n\
+Arguments: self - The Connection object\n\
+           args - The Python argument tuple, should be empty\n\
+Returns:   The shutdown state, a bitmask of SENT_SHUTDOWN, RECEIVED_SHUTDOWN.\n\
+";
+static PyObject *
+ssl_Connection_get_shutdown(ssl_ConnectionObj *self, PyObject *args)
+{
+    if (!PyArg_ParseTuple(args, ":get_shutdown"))
+        return NULL;
+
+    return PyInt_FromLong((long)SSL_get_shutdown(self->ssl));
+}
+
+static char ssl_Connection_set_shutdown_doc[] = "\n\
+Set shutdown state\n\
+\n\
+Arguments: self - The Connection object\n\
+           args - The Python argument tuple, should be\n\
+             shutdown state - bitmask of SENT_SHUTDOWN, RECEIVED_SHUTDOWN.\n\
+Returns:   None\n\
+";
+static PyObject *
+ssl_Connection_set_shutdown(ssl_ConnectionObj *self, PyObject *args)
+{
+    int shutdown;
+
+    if (!PyArg_ParseTuple(args, "i:set_shutdown", &shutdown))
+        return NULL;
+
+    SSL_set_shutdown(self->ssl, shutdown);
+    Py_INCREF(Py_None);
+    return Py_None;
+}
+
 static char ssl_Connection_state_string_doc[] = "\n\
 Get a verbose state description\n\
 \n\
@@ -888,6 +925,8 @@
     ADD_METHOD(makefile),
     ADD_METHOD(get_app_data),
     ADD_METHOD(set_app_data),
+    ADD_METHOD(get_shutdown),
+    ADD_METHOD(set_shutdown),
     ADD_METHOD(state_string),
     ADD_METHOD(sock_shutdown),
     ADD_METHOD(get_peer_certificate),
diff --git a/src/ssl/ssl.c b/src/ssl/ssl.c
index 9d3abd2..1bd2d9e 100644
--- a/src/ssl/ssl.c
+++ b/src/ssl/ssl.c
@@ -180,6 +180,10 @@
     PyModule_AddIntConstant(module, "OP_NETSCAPE_CA_DN_BUG", SSL_OP_NETSCAPE_CA_DN_BUG);
     PyModule_AddIntConstant(module, "OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG", SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG);
 
+	/* For SSL_set_shutdown */
+    PyModule_AddIntConstant(module, "SENT_SHUTDOWN", SSL_SENT_SHUTDOWN);
+    PyModule_AddIntConstant(module, "RECEIVED_SHUTDOWN", SSL_RECEIVED_SHUTDOWN);
+
     dict = PyModule_GetDict(module);
     if (!init_ssl_context(dict))
         goto error;
