Make the perl module compile and eliminate some of the warnings.
authorUlf Möller <ulf@openssl.org>
Thu, 22 Jul 1999 16:10:31 +0000 (16:10 +0000)
committerUlf Möller <ulf@openssl.org>
Thu, 22 Jul 1999 16:10:31 +0000 (16:10 +0000)
Still doesn't work (the destructor on BIO and SSL is called immediately
after creating the object. Why that??)

13 files changed:
Makefile.org
crypto/.cvsignore
crypto/ex_data.c
perl/MANIFEST
perl/Makefile.PL
perl/OpenSSL.pm
perl/OpenSSL.xs
perl/openssl.h
perl/openssl_bio.xs
perl/openssl_bn.xs
perl/openssl_cipher.xs
perl/openssl_digest.xs
perl/openssl_ssl.xs

index d53dbe6..ec50e75 100644 (file)
@@ -180,6 +180,7 @@ all: Makefile.ssl
        (cd $$i && echo "making all in $$i..." && \
        $(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' SDIRS='${SDIRS}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' all ) || exit 1; \
        done;
+       cd perl; $(PERL) Makefile.PL; make
 
 sub_all:
        @for i in $(DIRS) ;\
@@ -207,8 +208,7 @@ linux-shared:
 
 Makefile.ssl: Makefile.org
        @echo "Makefile.ssl is older than Makefile.org."
-       @echo "Reconfigure the source tree (via 'perl Configure' or 'sh config')"
-       @echo "and update the error lists (via 'make errors'), please."
+       @echo "Reconfigure the source tree (via './config' or 'perl Configure'), please."
        @false
 
 libclean:
index ce36d58..6b86a0a 100644 (file)
@@ -1,4 +1,4 @@
 lib
-date.h
+buildinf.h
 opensslconf.h
 Makefile.save
index 741bb57..1765747 100644 (file)
@@ -141,7 +141,7 @@ char *CRYPTO_get_ex_data(CRYPTO_EX_DATA *ad, int idx)
                return(sk_value(ad->sk,idx));
        }
 
-/* The callback is called with the 'object', which is the origional data object
+/* The callback is called with the 'object', which is the original data object
  * being duplicated, a pointer to the
  * 'new' object to be inserted, the index, and the argi/argp
  */
index a7046cf..80c9007 100644 (file)
@@ -12,7 +12,6 @@ openssl_digest.xs
 openssl_err.xs
 openssl_ssl.xs
 openssl_x509.xs
-openssl_cb.c
 t/01-use.t
 t/02-version.t
 t/03-bio.t
index 09eb936..2a67ad0 100644 (file)
@@ -2,7 +2,11 @@
 ##  Makefile.PL -- Perl MakeMaker specification
 ##
 
-$V = '0.9.2b';
+open(IN,"<../Makefile.ssl") || die "unable to open Makefile.ssl!\n";
+while(<IN>) {
+    $V=$1 if (/^VERSION=(.*)$/);
+}
+close(IN);
 print "Configuring companion Perl module for OpenSSL $V\n";
 
 use ExtUtils::MakeMaker;
@@ -18,7 +22,6 @@ WriteMakefile(
     'DEFINE'        => '',
     'INC'           => '-I../include',
     'H'             => ['openssl.h'],
-    'C'             => ['openssl_cb.c'],
     'OBJECT' =>
         'OpenSSL.o ' .
         'openssl_bio.o ' .
index 7711c33..ae7265a 100644 (file)
@@ -11,7 +11,7 @@ use DynaLoader;
 @ISA    = qw(Exporter DynaLoader);
 @EXPORT = qw();
 
-$VERSION = '0.922';
+$VERSION = '0.94';
 bootstrap OpenSSL;
 
 @OpenSSL::BN::ISA        = qw(OpenSSL::ERR);
index 9af3113..2267168 100644 (file)
@@ -64,6 +64,8 @@ ex_cleanup(obj, data, ad, idx, argl, argp)
 
 MODULE = OpenSSL  PACKAGE = OpenSSL
 
+PROTOTYPES: ENABLE
+
 BOOT:
     boot_bio();
     boot_cipher();
index 52e6cfc..2712324 100644 (file)
@@ -60,7 +60,7 @@ extern "C" {
 #endif
 
 #include "EXTERN.h"
-#include <openssl/perl.h>
+#include "perl.h"
 #include "XSUB.h"
 
 #ifdef __cplusplus
index 346ead4..06d61af 100644 (file)
@@ -66,6 +66,7 @@ boot_bio(void)
 
 MODULE = OpenSSL::BIO  PACKAGE = OpenSSL::BIO  PREFIX = p5_BIO_
 
+PROTOTYPES: ENABLE
 VERSIONCHECK: DISABLE
 
 void
@@ -216,7 +217,7 @@ p5_BIO_pop(b)
              * perl library, in which case it will have a perl
              * SV, otherwise it will have been created internally,
              * inside OpenSSL.  For the 'pushed in', it needs
-             * the reference count decememted. */
+             * the reference count decremented. */
             arg = (SV *)BIO_get_ex_data(bio, p5_bio_ex_bio_ptr);
             if (arg == NULL) {
                 arg = new_ref("OpenSSL::BIO",(char *)bio,0);
index 359e906..f79bf87 100644 (file)
@@ -72,6 +72,7 @@ char *arg;
 
 MODULE =  OpenSSL::BN  PACKAGE = OpenSSL::BN   PREFIX = p5_BN_
 
+PROTOTYPES: ENABLE
 VERSIONCHECK: DISABLE
 
 void
index fb4c632..e9ff2a8 100644 (file)
@@ -9,13 +9,14 @@ int boot_cipher()
 
 MODULE =  OpenSSL::Cipher      PACKAGE = OpenSSL::Cipher PREFIX = p5_EVP_C_
 
+PROTOTYPES: ENABLE
 VERSIONCHECK: DISABLE
 
 void
 p5_EVP_C_new(...)
        PREINIT:
                EVP_CIPHER_CTX *ctx;
-               EVP_CIPHER *c;
+               const EVP_CIPHER *c;
                char *name;
        PPCODE:
                if ((items == 1) && SvPOK(ST(0)))
index e4bc29e..6cd3018 100644 (file)
@@ -23,7 +23,7 @@ void
 p5_EVP_MD_new(...)
        PREINIT:
                EVP_MD_CTX *ctx;
-               EVP_MD *md;
+               const EVP_MD *md;
                char *name;
        PPCODE:
                if ((items == 1) && SvPOK(ST(0)))
index 7022c46..c7d1b17 100644 (file)
@@ -60,6 +60,7 @@ int boot_ssl()
 
 MODULE =  OpenSSL::SSL PACKAGE = OpenSSL::SSL::CTX PREFIX = p5_SSL_CTX_
 
+PROTOTYPES: ENABLE
 VERSIONCHECK: DISABLE
 
 void
@@ -75,7 +76,7 @@ p5_SSL_CTX_new(...)
                else if ((items == 2) && SvPOK(ST(1)))
                        method=SvPV(ST(1),na);
                else
-                       croak("Usage: OpenSSL::SSL_CTX::new(type)");
+                       croak("Usage: OpenSSL::SSL::CTX::new(type)");
                        
                if (strcmp(method,"SSLv3") == 0)
                        meth=SSLv3_method();
@@ -95,9 +96,15 @@ p5_SSL_CTX_new(...)
                        meth=SSLv2_client_method();
                else if (strcmp(method,"SSLv2_server") == 0)
                        meth=SSLv2_server_method();
+               else if (strcmp(method,"TLSv1") == 0)
+                       meth=TLSv1_method();
+               else if (strcmp(method,"TLSv1_client") == 0)
+                       meth=TLSv1_client_method();
+               else if (strcmp(method,"TLSv1_server") == 0)
+                       meth=TLSv1_server_method();
                else
                        {
-                       croak("Not passed a valid SSL method name, should be 'SSLv[23] [client|server]'");
+                       croak("Not a valid SSL method name, should be 'SSLv[23] [client|server]'");
                        }
                EXTEND(sp,1);
                PUSHs(sv_newmortal());
@@ -176,7 +183,6 @@ p5_SSL_new(...)
                SV *sv_ctx;
                SSL_CTX *ctx;
                SSL *ssl;
-               int i;
                SV *arg;
        PPCODE:
                pr_name("p5_SSL_new");
@@ -198,8 +204,8 @@ p5_SSL_new(...)
 
                /* Now this is being a little hairy, we keep a pointer to
                 * our perl reference.  We need to do a different one
-                * to the one we return because it will have it's reference
-                * count droped to 0 apon return and if we up its reference
+                * to the one we return because it will have its reference
+                * count dropped to 0 upon return and if we up its reference
                 * count, it will never be DESTROYED */
                arg=newSVsv(ST(0));
                SSL_set_ex_data(ssl,p5_ssl_ex_ssl_ptr,(char *)arg);
@@ -363,7 +369,9 @@ p5_SSL_DESTROY(ssl)
        SSL *ssl;
        CODE:
        pr_name_dd("p5_SSL_DESTROY",ssl->references,ssl->ctx->references);
+#ifdef DEBUG
        fprintf(stderr,"SSL_DESTROY %d\n",ssl->references);
+#endif
        SSL_free(ssl);
 
 int