--- OpenSSL/OpenSSL.xs 2001/10/27 03:29:43 1.11 +++ OpenSSL/OpenSSL.xs 2001/10/27 04:16:35 1.12 @@ -93,7 +93,7 @@ return sv; } -long fuck_cb(struct bio_st *bm, int m, const char *ptr, int l, long x, long y) +long bio_write_cb(struct bio_st *bm, int m, const char *ptr, int l, long x, long y) { if(m == BIO_CB_WRITE) { SV *sv = (SV *) BIO_get_callback_arg(bm); @@ -115,14 +115,13 @@ // mem is completely broken for write, so we use /dev/null // and use callbacks-hooks bio = BIO_new_file("/dev/null", "wb"); - BIO_set_callback(bio, fuck_cb); + BIO_set_callback(bio, bio_write_cb); BIO_set_callback_arg(bio, (void *)sv); return bio; } static inline BIO *sv_bio_create_file(SV *filename) { - char *fn; STRLEN l; return BIO_new_file(SvPV(filename, l), "wb"); @@ -294,14 +293,16 @@ return s; } -static inline char *ol(X509_NAME *x) +static inline SV *ol(X509_NAME *x) { - // if we can't fix it, pretend at least that it works - static char buf[8192]; - X509_NAME_oneline(x, buf, 8192); - return buf; + char *p; + SV *sv = newSVpvn("",0); + X509_NAME_oneline(x, (p=SvGROW(sv,8192)), 8192); + SvCUR_set(sv, strlen(p)); + return sv; } +#if 0 static void run_sha1(char *digest, const char *msg, int msglen) { SHA_CTX ctx; @@ -312,7 +313,7 @@ SHA1_Update(&ctx, msg, msglen); SHA1_Final(digest, &ctx); } - +#endif static bool is_privkey(RSA *key) { return (key->n && key->e && key->d && key->p && key->q @@ -595,7 +596,6 @@ OpenSSL::RSA key bool cloning PREINIT: - SV *sv; STRLEN totlen; PPCODE: if(cloning) @@ -895,7 +895,7 @@ PREINIT: BIO *bio; STRLEN l; - char *p, *q = 0; + char *p; CODE: p = SvPV (thing, l); if(ix == 1) { @@ -957,7 +957,7 @@ RETVAL -char * +SV * subject_txt(x509) OpenSSL::X509 x509 CODE: @@ -966,7 +966,7 @@ RETVAL -char * +SV * issuer_txt(x509) OpenSSL::X509 x509 CODE: @@ -1370,7 +1370,6 @@ mdc2_base64 = 0x27 ripemd160_base64 = 0x28 PREINIT: - HMAC_CTX ctx; STRLEN l, keylen; char *p; char *key; @@ -1556,7 +1555,6 @@ as_file = 1 PROTOTYPE: $;$ PREINIT: - SV *sv; BIO *bio; CODE: if((ix != 1 && items > 1) || (ix == 1 && items != 2)) @@ -1596,7 +1594,7 @@ PREINIT: BIO *bio; STRLEN l; - char *p, *q = 0; + char *p; CODE: p = SvPV(thing, l); if(ix == 1) {