[kde-freebsd] Problems after latest upgrade

2014-10-27 Thread Dwayne MacKinnon
Hi all,

I was wondering if anyone here has seen (or can reproduce) the following two 
problems before I go make bug reports:

1) juk won't play ogg vorbis files. It will play mp3 just fine, but since the 
upgrade it won't play vorbis. 

2) I can't use sftp with dolphin. It gives an error message: Internal error. 
Could not set a timeout.

Thanks,
DMK
___
kde-freebsd mailing list
kde-freebsd@kde.org
https://mail.kde.org/mailman/listinfo/kde-freebsd
See also http://freebsd.kde.org/ for latest information


Re: [kde-freebsd] Problems after latest upgrade

2014-10-27 Thread Dwayne MacKinnon
Update:

I've been able to fix the sftp problem. I tracked it down to kio_sftp.cpp, in 
the sftpProtocol::sftpOpenConnection method.

From the error message, the problem was from this section of code (I wasn't 
able to figure out which one. Probably the first one.)

 int timeout_sec = 30, timeout_usec = 0;
 
  kDebug(KIO_SFTP_DB)  Creating the SSH session and setting options;
  
  // Set timeout
  int rc = ssh_options_set(mSession, SSH_OPTIONS_TIMEOUT, timeout_sec);
  if (rc  0) {
error(KIO::ERR_INTERNAL, i18n(Could not set a timeout.));
return false;
  }
  rc = ssh_options_set(mSession, SSH_OPTIONS_TIMEOUT_USEC, timeout_usec);
  if (rc  0) {
error(KIO::ERR_INTERNAL, i18n(Could not set a timeout.));
return false;
  }


So, apparently the problem was in the ssh_options_set call to libssh.so . I 
went looking at the libssh API docs. 

According to the libssh docs, the timeout values are supposed to be of type 
long. As you can see above, the values are type int. 

I looked at the history of the kio_sftp.cpp file on KDE's git repository. The 
code has always been of type int. On top of that, the author of the code is 
one of the creators of libssh. 

So what I'm wondering is this: is there something about how we're compiling 
the code now that is causing this problem? Could this be a clang vs gcc thing?

Cheers,
DMK



On October 27, 2014 02:28:53 PM Dwayne MacKinnon wrote:
 Hi all,
 
 I was wondering if anyone here has seen (or can reproduce) the following two
 problems before I go make bug reports:
 
 1) juk won't play ogg vorbis files. It will play mp3 just fine, but since
 the upgrade it won't play vorbis.
 
 2) I can't use sftp with dolphin. It gives an error message: Internal error.
 Could not set a timeout.
 
 Thanks,
 DMK
 ___
 kde-freebsd mailing list
 kde-freebsd@kde.org
 https://mail.kde.org/mailman/listinfo/kde-freebsd
 See also http://freebsd.kde.org/ for latest information

___
kde-freebsd mailing list
kde-freebsd@kde.org
https://mail.kde.org/mailman/listinfo/kde-freebsd
See also http://freebsd.kde.org/ for latest information


Re: [kde-freebsd] Problems after latest upgrade

2014-10-27 Thread Schaich Alonso
On Mon, 27 Oct 2014 16:06:50 -0400
Dwayne MacKinnon d...@ncf.ca wrote:

 Update:
 
 I've been able to fix the sftp problem. I tracked it down to kio_sftp.cpp, in 
 the sftpProtocol::sftpOpenConnection method.
 
 From the error message, the problem was from this section of code (I wasn't 
 able to figure out which one. Probably the first one.)
 
  int timeout_sec = 30, timeout_usec = 0;
  
   kDebug(KIO_SFTP_DB)  Creating the SSH session and setting options;
   
   // Set timeout
   int rc = ssh_options_set(mSession, SSH_OPTIONS_TIMEOUT, timeout_sec);
   if (rc  0) {
 error(KIO::ERR_INTERNAL, i18n(Could not set a timeout.));
 return false;
   }
   rc = ssh_options_set(mSession, SSH_OPTIONS_TIMEOUT_USEC, timeout_usec);
   if (rc  0) {
 error(KIO::ERR_INTERNAL, i18n(Could not set a timeout.));
 return false;
   }
 
 
 So, apparently the problem was in the ssh_options_set call to libssh.so . I 
 went looking at the libssh API docs. 
 
 According to the libssh docs, the timeout values are supposed to be of type 
 long. As you can see above, the values are type int. 
 
 I looked at the history of the kio_sftp.cpp file on KDE's git repository. The 
 code has always been of type int. On top of that, the author of the code is 
 one of the creators of libssh.
 

In src/options.c of security/libssh, line 587 however it is clearly
hard-casted to a long integer.

Very nice spot though.

 So what I'm wondering is this: is there something about how we're compiling 
 the code now that is causing this problem? Could this be a clang vs gcc thing?
 
 Cheers,
 DMK
 

It's clearly relying on platform and compiler- (and compiler-option-)
specific behaviour. Some lines below the poor reading access that
happens to read buffer space or a prefix of the register it is not
supposed to read (depending on calling conventions in use) the code
binary ANDs away the poor prefix, however the constant is of type
signed int which AFAIK should be value-correctly promoted to it's long
counterpart, which means all bits of a long type on all supported
architectures, so there's some space for compiler specific behaviour

Anyway, this inconsistency is a bug and should be reported.

Alonso


pgpLgV3mWTsYv.pgp
Description: PGP signature
___
kde-freebsd mailing list
kde-freebsd@kde.org
https://mail.kde.org/mailman/listinfo/kde-freebsd
See also http://freebsd.kde.org/ for latest information


[kde-freebsd] [SVN Commit] area51/KDE/x11/kde4-runtime/files

2014-10-27 Thread Alonso Schaich
SVN commit 10452 by aschai:

Fix an argument passing.

kio_sftp is currently causing libssh to do invalid call stack reads on
architectures where long int and int have different sizes. Fix this by passing
long int references just as the libssh documentation requests.

Reported by Dwayne MacKinnon via mailing list.



 AMpatch-kioslave__sftp__kio_sftp.cpp  


___
kde-freebsd mailing list
kde-freebsd@kde.org
https://mail.kde.org/mailman/listinfo/kde-freebsd
See also http://freebsd.kde.org/ for latest information