Skip Menu |

This queue is for tickets about the Net-SSH2 CPAN distribution.

Report information
The Basics
Id: 36614
Status: resolved
Priority: 0/
Queue: Net-SSH2

People
Owner: Nobody in particular
Requestors: rkitover [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 0.18
Fixed in: (no value)



Subject: Patch for 5.10
No IV slot in GVs anymore. -- Rafael
Subject: net-ssh2-0.18-perl5.10.patch
diff -ruN Net-SSH-0.18.orig/SSH2.xs Net-SSH-0.18/SSH2.xs --- Net-SSH-0.18.orig/SSH2.xs 2007-11-10 17:53:25.000000000 -0800 +++ Net-SSH-0.18/SSH2.xs 2008-06-10 03:38:52.000000000 -0700 @@ -1006,7 +1006,7 @@ debug("- [%d] = channel\n", i); pollfd[i].type = LIBSSH2_POLLFD_CHANNEL; pollfd[i].fd.channel = - ((SSH2_CHANNEL*)SvIVX(SvRV(*handle)))->channel; + ((SSH2_CHANNEL*)SvIVX(GvSV((GV*)SvRV(*handle))))->channel; } else if(strEQ(package, "Net::SSH2::Listener")) { debug("- [%d] = listener\n", i); pollfd[i].type = LIBSSH2_POLLFD_LISTENER; diff -ruN Net-SSH-0.18.orig/typemap Net-SSH-0.18/typemap --- Net-SSH-0.18.orig/typemap 2007-02-24 07:15:23.000000000 -0800 +++ Net-SSH-0.18/typemap 2008-06-10 01:42:42.000000000 -0700 @@ -29,9 +29,9 @@ const char* name = form("_GEN_%ld", (long)net_ch_gensym++); SvUPGRADE((SV*)gv, SVt_PVGV); SvUPGRADE((SV*)io, SVt_PVIO); - SvIVX(gv) = PTR2IV($var); gv_init(gv, gv_stashpv("Net::SSH2::Channel", 0/*create*/), name, strlen(name), 0/*multi*/); + GvSV(gv) = newSViv(PTR2IV($var)); GvIOp(gv) = io; sv_magic((SV*)io, newRV((SV*)gv), PERL_MAGIC_tiedscalar, Nullch, 0); } @@ -49,9 +49,9 @@ const char* name = form("_GEN_%ld", (long)net_fi_gensym++); SvUPGRADE((SV*)gv, SVt_PVGV); SvUPGRADE((SV*)io, SVt_PVIO); - SvIVX(gv) = PTR2IV($var); gv_init(gv, gv_stashpv("Net::SSH2::File", 0/*create*/), name, strlen(name), 0/*multi*/); + GvSV(gv) = newSViv(PTR2IV($var)); GvIOp(gv) = io; sv_magic((SV*)io, newRV((SV*)gv), PERL_MAGIC_tiedscalar, Nullch, 0); } @@ -80,7 +80,7 @@ O_CHANNEL if(sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVGV)) - $var = ($type)SvIVX((SV*)SvRV($arg)); + $var = ($type)SvIVX(GvSV((GV*)SvRV($arg))); else croak(\"${Package}::$func_name() - invalid channel object\"); @@ -98,7 +98,7 @@ O_FILE if(sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVGV)) - $var = ($type)SvIVX((SV*)SvRV($arg)); + $var = ($type)SvIVX(GvSV((GV*)SvRV($arg))); else croak(\"${Package}::$func_name() - invalid SFTP file object\");
I would just like to know if we can get this patch applied and a new release based on it. I've tried it and it does work and it does solve the issue. I'm completely willing and able to give shell access on either Linux or Mac (or anything Free in VirtualBox) for testing purposes.
On Wed Nov 19 22:08:39 2008, APEIRON wrote: Show quoted text
> I would just like to know if we can get this patch applied and a new > release based on it. I've tried it and it does work and it does solve > the issue. I'm completely willing and able to give shell access on > either Linux or Mac (or anything Free in VirtualBox) for testing purposes.
Any news on this?
Applied long ago, closing ticket.