blob: e57f6f2f4de48b92ba99915b066e6a64fe490504 [file] [log] [blame]
Jean-Paul Calderone897bc252008-02-18 20:50:23 -05001<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html>
3<head>
4<title>1 Introduction </title>
5<META NAME="description" CONTENT="1 Introduction ">
6<META NAME="keywords" CONTENT="pyOpenSSL">
7<META NAME="resource-type" CONTENT="document">
8<META NAME="distribution" CONTENT="global">
9<link rel="STYLESHEET" href="pyOpenSSL.css">
10<LINK REL="next" href="building.html">
11<LINK REL="previous" href="contents.html">
12<LINK REL="up" HREF="pyOpenSSL.html">
13<LINK REL="next" href="building.html">
14</head>
15<body>
16<DIV CLASS="navigation">
17<table align="center" width="100%" cellpadding="0" cellspacing="2">
18<tr>
19<td><A href="contents.html"><img src="previous.gif"
20border="0" height="32"
21 alt="Previous Page" width="32"></A></td>
22<td><A HREF="pyOpenSSL.html"><img src="up.gif"
23border="0" height="32"
24 alt="Up One Level" width="32"></A></td>
25<td><A href="building.html"><img src="next.gif"
26border="0" height="32"
27 alt="Next Page" width="32"></A></td>
28<td align="center" width="100%">Python OpenSSL Manual</td>
29<td><A href="contents.html"><img src="contents.gif"
30border="0" height="32"
31 alt="Contents" width="32"></A></td>
32<td><img src="blank.gif"
33 border="0" height="32"
34 alt="" width="32"></td>
35<td><img src="blank.gif"
36 border="0" height="32"
37 alt="" width="32"></td>
38</tr></table>
39<b class="navlabel">Previous:</b> <a class="sectref" href="contents.html">Contents</A>
40<b class="navlabel">Up:</b> <a class="sectref" HREF="pyOpenSSL.html">Python OpenSSL Manual</A>
41<b class="navlabel">Next:</b> <a class="sectref" href="building.html">2 Building and Installing</A>
42<br><hr>
43</DIV>
44<!--End of Navigation Panel-->
45
46<H1><A NAME="SECTION000200000000000000000">&nbsp;</A>
47<BR>
481 Introduction
49</H1>
50
51<P>
52The reason this module exists at all is that the SSL support in the socket
53module in the Python 2.1 distribution (which is what we used, of course I
54cannot speak for later versions) is severely limited.
55
56<P>
57When asking about SSL on the comp.lang.python newsgroup (or on
58python-list@python.org) people usually pointed you to the M2Crypto package.
59The M2Crypto.SSL module does implement a lot of OpenSSL's functionality but
60unfortunately its error handling system does not seem to be finished,
61especially for non-blocking I/O. I think that much of the reason for this
62is that M2Crypto<A NAME="tex2html1"
Jean-Paul Calderone72b8f0f2008-02-21 23:57:40 -050063 HREF="#foot894"><SUP>1</SUP></A> is
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050064developed using SWIG<A NAME="tex2html2"
Jean-Paul Calderone72b8f0f2008-02-21 23:57:40 -050065 HREF="#foot895"><SUP>2</SUP></A>. This
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050066makes it awkward to create functions that e.g. can return both an integer and
67NULL since (as far as I know) you basically write C functions and SWIG makes
68wrapper functions that parses the Python argument list and calls your C
69function, and finally transforms your return value to a Python object.
70
71<P>
72<BR><HR><H4>Footnotes</H4>
73<DL>
Jean-Paul Calderone72b8f0f2008-02-21 23:57:40 -050074<DT><A NAME="foot894">... M2Crypto</A><A
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050075 href="intro.html#tex2html1"><SUP>1</SUP></A></DT>
76<DD>See <a class="url" href="http://www.post1.com/home/ngps/m2/">http://www.post1.com/home/ngps/m2/</a>
77
78</DD>
Jean-Paul Calderone72b8f0f2008-02-21 23:57:40 -050079<DT><A NAME="foot895">... SWIG</A><A
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050080 href="intro.html#tex2html2"><SUP>2</SUP></A></DT>
81<DD>See <a class="url" href="http://swig.sourceforge.net/">http://swig.sourceforge.net/</a>
82
83</DD>
84</DL>
85<DIV CLASS="navigation">
86<p><hr>
87<table align="center" width="100%" cellpadding="0" cellspacing="2">
88<tr>
89<td><A href="contents.html"><img src="previous.gif"
90border="0" height="32"
91 alt="Previous Page" width="32"></A></td>
92<td><A HREF="pyOpenSSL.html"><img src="up.gif"
93border="0" height="32"
94 alt="Up One Level" width="32"></A></td>
95<td><A href="building.html"><img src="next.gif"
96border="0" height="32"
97 alt="Next Page" width="32"></A></td>
98<td align="center" width="100%">Python OpenSSL Manual</td>
99<td><A href="contents.html"><img src="contents.gif"
100border="0" height="32"
101 alt="Contents" width="32"></A></td>
102<td><img src="blank.gif"
103 border="0" height="32"
104 alt="" width="32"></td>
105<td><img src="blank.gif"
106 border="0" height="32"
107 alt="" width="32"></td>
108</tr></table>
109<b class="navlabel">Previous:</b> <a class="sectref" href="contents.html">Contents</A>
110<b class="navlabel">Up:</b> <a class="sectref" HREF="pyOpenSSL.html">Python OpenSSL Manual</A>
111<b class="navlabel">Next:</b> <a class="sectref" href="building.html">2 Building and Installing</A>
112<hr>
113<span class="release-info">Release 0.6.</span>
114</DIV>
115<!--End of Navigation Panel-->
116
117</BODY>
118</HTML>