Thursday, October 29, 2009

Build OpenSSL on Windows XP

After days of not being able to build OpenSSL on Windows XP, I found this great article:
A Free OpenSSL Visual C++ Object: Part 2 by Stephen Rives.

First, I installed Microsoft Visual C++ 9.0 Express Edition which you can find it here: Visual C++ Express Edition

Second, I have downloaded OpenSSL version 0.9.8j. You can find OpenSSL for download from different mirrors, in here Download OpenSSL. After download, extract the files in a folder on your hard disk. I used C:\openssl-0.9.8j directory for extraction.

Third, you will need also Perl. I have installed Strawberry Perl 5.10.0.6, which has an executable for Windows, thanks to Larry Wall. Just take it from here: Perl for Windows

Then, Mr. Rives provides us with a great file for building OpenSSL. Download VC_BUILD.CMD here.

You must put VC_BUILD.CMD where you installed OpenSSL. In my case, it is here:

C:\openssl-0.9.8j\vc_build.cmd

You will need to change two lines. One path will point to your OpenSSL folder, where you extracted the files in the first place and one path will point to the folder where you installed visual C++. These are the two paths that you need to modify:

set MY_PATH=C:/openssl-0.9.8j

set VCVARS="C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"

After this, open up the command prompt window and browse to your openssl folder, where you put the vc_build.cmd file . Now, just run vc_build:

vc_build

Go get a coffee :)
If everything works well, after the building finishes, you will find all the DLLs and LIBs in the out32dll folder (inside your openssl directory).

Wednesday, October 21, 2009

How to view full screen in Acrobat reader

You can use Acrobat Reader for presentations (the same as you use PPT)

So, here is the command: CTRL+L
If you wanna exit the full screen mode just press Esc

Fatal:Unable to execute command: /usr/bin/perl.exe

As part of trying to build OpenSSL using Cygwin on Windows XP
As per the install file of the OpenSSL distribution:

To build OpenSSL using Cygwin:

* Install Cygwin (see http://cygwin.com/)

* Install Perl and ensure it is in the path. Both Cygwin perl
(5.6.1-2 or newer) and ActivePerl work.
...............

So I have downloaded ActivePerl (the msi file) and install it using the default location C:\Perl which was wrong.

Solution: install ActivePerl in C:\usr\ if you want to get rid of the problem.

Wednesday, July 29, 2009

Wonder why Apache Web server is not working

Whether you are using Xamp, or Wamp and it does not work.

For example,
you get from Wamp: "Could not execute menu item (internal error) [Exception] Could not perform service action: the service has not been started."

Common mistake: Skype or IIS is running and it's occupying the 443 or 80 port.

You don't have to uninstall Skype, just
1) exit Skype
2) start wamp
3) start Skype again

Or setup skype using different port as follows Tools -> Options -> Advanced -> Connection -> Uncheck "Use port 80 or 443 as an alternative for..."

Wednesday, July 15, 2009

Generate WADL from API request and generate PHP, Ruby, Python, Java or C# code from WADL

Wonderful tool, you can find it in here:

http://tomayac.de/rest-describe/latest/RestDescribe.html

I get no response when using curl with SSL

PHP 5.2.9-2/Windows XP SP2

Fix:

add curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

Example:

Get all posts from Delicious:

$fetch_url ="https://api.del.icio.us/v1/posts/all?";
$curl = curl_init();
curl_setopt( $curl, CURLOPT_URL, $fetch_url );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt( $curl, CURLOPT_USERPWD,"username:password");
curl_setopt( $curl, CURLOPT_CONNECTTIMEOUT, 30 );
curl_setopt( $curl, CURLOPT_TIMEOUT,5 );
curl_setopt( $curl, CURLOPT_POST, 1 );
$response = curl_exec( $curl );
curl_close( $curl );
header("Content-Type:text/xml");
echo $response;