[Python-bugs-list] [ python-Bugs-576711 ] Windows binary missing SSL

noreply@sourceforge.net noreply@sourceforge.net
Mon, 22 Jul 2002 22:46:30 -0700


Bugs item #576711, was opened at 2002-07-03 12:10
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=576711&group_id=5470

Category: Windows
Group: Platform-specific
Status: Open
Resolution: None
Priority: 5
Submitted By: Dave Schuyler (parameter)
>Assigned to: Tim Peters (tim_one)
Summary: Windows binary missing SSL

Initial Comment:
The Windows binary build from www.python.org appears to 
be missing SSL support (-DUSE_SSL ?).  Please consider 
including SSL/HTTPS support "out of the box" for Windows 
users.

Here's an example of what I tried (although I changed the 
server name):

Python 2.2.1 (#34, Apr  9 2002, 19:34:33) [MSC 32 bit 
(Intel)] on win32
Type "copyright", "credits" or "license" for more information.
IDLE 0.8 -- press F1 for help
>>> import httplib
>>> conn=httplib.HTTPSConnection
("some.secure.server.com")
>>> conn.request("GET", "/index.php")
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in ?
    conn.request("GET", "/index.php")
  File "C:\Python22\lib\httplib.py", line 537, in request
    self._send_request(method, url, body, headers)
  File "C:\Python22\lib\httplib.py", line 553, in _send_request
    self.putrequest(method, url)
  File "C:\Python22\lib\httplib.py", line 453, in putrequest
    self.send(str)
  File "C:\Python22\lib\httplib.py", line 395, in send
    self.connect()
  File "C:\Python22\lib\httplib.py", line 688, in connect
    ssl = socket.ssl(realsock, self.key_file, self.cert_file)
AttributeError: 'module' object has no attribute 'ssl'


----------------------------------------------------------------------

>Comment By: Mark Hammond (mhammond)
Date: 2002-07-23 15:46

Message:
Logged In: YES 
user_id=14198

Sorry Tim, but you are the Windows build god <wink>.  I
assume this wont be looked at until closer to an RC, which
is fine by me.

----------------------------------------------------------------------

Comment By: Mark Hammond (mhammond)
Date: 2002-07-09 15:22

Message:
Logged In: YES 
user_id=14198

OK - here we go :)

Attaching a hack to try and get SSL working without too much
pain!

There is a .py file that attempts to locate an OpenSSL
installation to use.  As these seem to be released often,
the script looks for the latest non-beta OpenSSL directory.

If the OpenSSL directory does not have makefiles, it
attempts to generate these makefiles (which uses Perl). 
Unfortunately, you need ActivePerl for this to work, and I
try and make some effort towards ensuring a working perl is
found and is used.

Once done, this script then simply invokes a makefile to
build the SSL module itself.

An integrated patch will come after feedback.  But for now,
to test this you can:

* Download and install OpenSSL, and install this in the same
place other libs used by Python are installed, such as zlib.
 This should be in the "..\.." directory relative to the
"PCBuild" directory.

* Ensure ActivePerl is installed on your box, and is either
on your path, or in "\perl\bin" or "c:\perl\bin"

* Install the 3 files in this patch (_ssl.mak, build_ssl.py
and _ssl.dsp) in the "PCBuild" directory.

* In your Python MSVC workspace, add this new "_ssl.dsp" as
a project, and make it depend on the "pythoncore" project.

* Build the new project.

If all goes well, OpenSSL will be configured and have
makefiles generated, be built, and then have the _ssl.pyd
module built.

Lemme know how it goes!


----------------------------------------------------------------------

Comment By: Gerhard Häring (ghaering)
Date: 2002-07-04 15:28

Message:
Logged In: YES 
user_id=163326

I've successfully built socket.pyd against OpenSSL on win32:

Build OpenSSL: read the README that's included. You
basically need Perl and I also use NASM to build the highly
optimized version of it.

Add the OpenSSL include path (inc32, IIRC) for the socket
module.
Add the OpenSSL library path (lib32, IIRC) for the socket
module.
Add the two .lib files that can be found in lib32 to the
libraries to link against.

I think this is all that's involved.

----------------------------------------------------------------------

Comment By: Tim Peters (tim_one)
Date: 2002-07-03 12:50

Message:
Logged In: YES 
user_id=31435

Mark, does this interest you?

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=576711&group_id=5470