# # - Net_SSLeay.pm - # This spec file was automatically generated by cpan2rpm [ver: 2.028] # The following arguments were used: # Net_SSLeay.pm-1.30.tar.gz -U --tempdir=/tmp/test1 # For more information on cpan2rpm please visit: http://perl.arix.com/ # %define pkgname Net_SSLeay.pm %define filelist %{pkgname}-%{version}-filelist %define NVR %{pkgname}-%{version}-%{release} %define maketest 1 name: perl-Net_SSLeay.pm summary: Net_SSLeay.pm - Perl extension for using OpenSSL version: 1.30 release: 1 vendor: by Sampo Kellomki packager: Arix International license: Artistic group: Applications/CPAN url: http://www.cpan.org buildroot: %{_tmppath}/%{name}-%{version}-%(id -u -n) buildarch: ppc prefix: %(echo %{_prefix}) source: Net_SSLeay.pm-1.30.tar.gz %description There is a related module called Net::SSLeay::Handle included in this distribution that you might want to use instead. It has its own pod documentation. This module offers some high level convinience functions for accessing web pages on SSL servers (for symmetry, same API is offered for accessing http servers, too), a sslcat() function for writing your own clients, and finally access to the SSL api of SSLeay/OpenSSL package so you can write servers or clients for more complicated applications. For high level functions it is most convinient to import them to your main namespace as indicated in the synopsis. Case 1 demonstrates typical invocation of get_https() to fetch an HTML page from secure server. The first argument provides host name or ip in dotted decimal notation of the remote server to contact. Second argument is the TCP port at the remote end (your own port is picked arbitrarily from high numbered ports as usual for TCP). The third argument is the URL of the page without the host name part. If in doubt consult HTTP specifications at Case 2 demonstrates full fledged use of get_https(). As can be seen, get_https() parses the response and response headers and returns them as a list, which can be captured in a hash for later reference. Also a fourth argument to get_https() is used to insert some additional headers in the request. make_headers() is a function that will convert a list or hash to such headers. By default get_https() supplies Host (make virtual hosting easy) and Accept (reportedly needed by IIS) headers. Case 2b demonstrates how to get password protected page. Refer to HTTP protocol specifications for further details (e.g. RFC2617). Case 3 invokes post_https() to submit a HTML/CGI form to secure server. First four arguments are equal to get_https() (note that empty string ('') is passed as header argument). The fifth argument is the contents of the form formatted according to CGI specification. In this case the helper function make_https() is used to do the formatting, but you could pass any string. The post_https() automatically adds Content-Type and Content-Length headers to the request. Case 4 shows the fundamental sslcat() function (inspired in spirit by netcat utility :-). Its your swiss army knife that allows you to easily contact servers, send some data, and then get the response. You are responsible for formatting the data and parsing the response - sslcat() is just a transport. Case 5 is a full invocation of sslcat() which allows return of errors as well as the server (peer) certificate. The $trace global variable can be used to control the verbosity of high level functions. Level 0 guarantees silence, level 1 (the default) only emits error messages. # # This package was generated automatically with the cpan2rpm # utility. To get this software or for more information # please visit: http://perl.arix.com/ # %prep %setup -q -n %{pkgname}-%{version} chmod -R u+w %{_builddir}/%{pkgname}-%{version} %build grep -rsl '^#!.*perl' . | # grep -v '.bak$' |xargs --no-run-if-empty \ grep -v '.bak$' |xargs \ %__perl -MExtUtils::MakeMaker -e 'MY->fixin(@ARGV)' CFLAGS="$RPM_OPT_FLAGS" %{__perl} Makefile.PL `%{__perl} -MExtUtils::MakeMaker -e ' print qq|PREFIX=%{buildroot}%{_prefix}| if \$ExtUtils::MakeMaker::VERSION =~ /5\.9[1-6]|6\.0[0-5]/ '` %{__make} #%if %maketest #%{__make} test #%endif %install [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} %{makeinstall} `%{__perl} -MExtUtils::MakeMaker -e ' print \$ExtUtils::MakeMaker::VERSION <= 6.05 ? qq|PREFIX=%{buildroot}%{_prefix}| : qq|DESTDIR=%{buildroot}| '` cmd=/usr/share/spec-helper/compress_files [ -x $cmd ] || cmd=/usr/lib/rpm/brp-compress [ -x $cmd ] && $cmd # SuSE Linux # if [ -e /etc/SuSE-release -o -e /etc/UnitedLinux-release ] # then # %{__mkdir_p} %{buildroot}/var/adm/perl-modules # %{__cat} `find %{buildroot} -name "perllocal.pod"` \ # | %{__sed} -e s+%{buildroot}++g \ # > %{buildroot}/var/adm/perl-modules/%{name} # fi # remove special files find %{buildroot} -name "perllocal.pod" \ -o -name ".packlist" \ -o -name "*.bs" \ |xargs -i rm -f {} # no empty directories # find %{buildroot}%{_prefix} \ # -type d -depth \ # -exec rmdir {} \; 2>/dev/null %{__perl} -MFile::Find -le ' find({ wanted => \&wanted, no_chdir => 1}, "%{buildroot}"); print "%doc Net-SSLeay-Handle-0.50 README.Win32 Changes examples README"; for my $x (sort @dirs, @files) { push @ret, $x unless indirs($x); } print join "\n", sort @ret; sub wanted { return if /auto$/; local $_ = $File::Find::name; my $f = $_; s|^\Q%{buildroot}\E||; return unless length; return $files[@files] = $_ if -f $f; $d = $_; /\Q$d\E/ && return for reverse sort @INC; $d =~ /\Q$_\E/ && return for qw|/etc %_prefix/man %_prefix/bin %_prefix/share|; $dirs[@dirs] = $_; } sub indirs { my $x = shift; $x =~ /^\Q$_\E\// && $x ne $_ && return 1 for @dirs; } ' > %filelist [ -z %filelist ] && { echo "ERROR: empty %files listing" exit -1 } %clean [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} %files -f %filelist %defattr(-,root,root) %changelog * Thu Jun 17 2010 root@c114m4h1p04.ppd.pok.ibm.com - Initial build.