Package: smb4k
Version: 0.9.1-1
Severity: normal
Tags: patch

Smb4k sends system username and system hostname instead of a neutral 
account name and the user configured netbios name when mounting shares.

This is bad behaviour.

I attached a simple patch.


Best Regards,

Walter



-- System Information:
Debian Release: lenny/sid
Architecture: i386

Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages smb4k depends on:
ii  kdelibs4c2a            4:3.5.8.dfsg.1-6  core libraries and binaries for al
ii  konqueror              4:3.5.8.dfsg.1-7  KDE's advanced file manager, web b
ii  libacl1                2.2.45-1          Access control list shared library
ii  libart-2.0-2           2.3.19-3          Library of functions for 2D graphi
ii  libattr1               1:2.4.39-1        Extended attribute shared library
ii  libaudio2              1.9.1-1           Network Audio System - shared libr
ii  libc6                  2.7-6             GNU C Library: Shared libraries
ii  libfam0                2.7.0-13.1        Client library to control the FAM 
ii  libfontconfig1         2.5.0-2           generic font configuration library
ii  libfreetype6           2.3.5-1+b1        FreeType 2 font engine, shared lib
ii  libgcc1                1:4.3-20080116-1  GCC support library
ii  libice6                2:1.0.4-1         X11 Inter-Client Exchange library
ii  libidn11               1.1-1             GNU libidn library, implementation
ii  libjpeg62              6b-14             The Independent JPEG Group's JPEG 
ii  libpng12-0             1.2.15~beta5-3    PNG library - runtime
ii  libqt3-mt              3:3.3.7-9         Qt GUI Library (Threaded runtime v
ii  libsm6                 2:1.0.3-1+b1      X11 Session Management library
ii  libstdc++6             4.3-20080116-1    The GNU Standard C++ Library v3
ii  libx11-6               2:1.0.3-7         X11 client-side library
ii  libxcursor1            1:1.1.9-1         X cursor management library
ii  libxext6               1:1.0.3-2         X11 miscellaneous extension librar
ii  libxft2                2.1.12-2          FreeType-based font drawing librar
ii  libxi6                 2:1.1.3-1         X11 Input extension library
ii  libxinerama1           1:1.0.2-1         X11 Xinerama extension library
ii  libxrandr2             2:1.2.2-1         X11 RandR extension library
ii  libxrender1            1:0.9.4-1         X Rendering Extension client libra
ii  libxt6                 1:1.0.5-3         X11 toolkit intrinsics library
ii  samba-common           3.0.28-2+b1       Samba common files used by both th
ii  smbclient              3.0.28-2+b1       a LanManager-like simple client fo
ii  smbfs                  3.0.28-2+b1       mount and umount commands for the 
ii  zlib1g                 1:1.2.3.3.dfsg-11 compression library - runtime

Versions of packages smb4k recommends:
ii  sudo                       1.6.9p11-1+b1 Provide limited super user privile
ii  super                      3.30.0-1      Execute commands setuid root

-- no debconf information
--- smb4k-0.9.1/smb4k/core/smb4kmounter.cpp	2008-01-28 01:36:45.000000000 +0100
+++ smb4k-0.9.1-new/smb4k/core/smb4kmounter.cpp	2008-01-28 01:40:31.000000000 +0100
@@ -614,73 +619,81 @@ void Smb4KMounter::mount( const QString 
 
   // Compile the mount command:
   switch ( filesystem )
   {
     case Smb4KSettings::EnumFilesystem::CIFS:
     {
       command.append( Smb4KSettings::alwaysUseSuperUser() ?   // FIXME: Check if suid program is installed
                       QString( "%1 smb4k_mount -s -t cifs " ).arg( suid_program ) :
                       "smb4k_mount -n -t cifs " );
 
       command.append( "-o " );
 
       command.append( optionsHandler()->mountOptions( QString( "//%1/%2" ).arg( m_priv->host(), m_priv->share() ) ) );
 
+      command.append( !Smb4KSettings::netBIOSName().isEmpty() ? 
+                      QString( "netbiosname='%1'," ).arg(Smb4KSettings::netBIOSName()) :
+                      "" );
+
       command.append( !m_priv->workgroup().stripWhiteSpace().isEmpty() ?
                       QString( "domain='%1'," ).arg( m_priv->workgroup() ) :
                       "" );
 
       command.append( !m_priv->ip().stripWhiteSpace().isEmpty() ?
                       QString( "ip=%1," ).arg( m_priv->ip() ) :
                       "" );
 
       command.append( !auth->user().isEmpty() ?
                       QString( "user=%1" ).arg( auth->user() ) :
-                      "guest" );
+                      "user=guest%" );
 
       command.append( " -- " );
 
       command.append( QString( "//'%1'/'%2' '%3'" ).arg( m_priv->host(), m_priv->share(), m_priv->path() ) );
 
       m_priv->setCIFSLogin( !auth->user().isEmpty() ?
                       auth->user() :
                       "guest" );
 
       m_priv->setFileSystem( "cifs" );
 
       break;
     }
     case Smb4KSettings::EnumFilesystem::SMBFS:
     {
       command.append( Smb4KSettings::alwaysUseSuperUser() ?   // FIXME: Check if suid program is installed
                       QString( "%1 smb4k_mount -s -t smbfs " ).arg( suid_program ) :
                       "smb4k_mount -n -t smbfs " );
 
       command.append( "-o " );
 
       command.append( optionsHandler()->mountOptions( QString( "//%1/%2" ).arg( m_priv->host(), m_priv->share() ) ) );
 
+      command.append( !Smb4KSettings::netBIOSName().isEmpty() ? 
+                      QString( "netbiosname='%1'," ).arg(Smb4KSettings::netBIOSName()) :
+                      "" );
+
       command.append( !m_priv->workgroup().stripWhiteSpace().isEmpty() ?
                       QString( "workgroup='%1'," ).arg( m_priv->workgroup() ) :
                       "" );
 
       command.append( !m_priv->ip().stripWhiteSpace().isEmpty() ?
                       QString( "ip=%1," ).arg( m_priv->ip() ) :
                       "" );
 
       command.append( !auth->user().isEmpty() ?
                       QString( "username=%1" ).arg( auth->user() ) :
-                      "guest" );
+                      "username=guest%" );
 
       command.append( " -- " );
 
       command.append( QString( "//'%1'/'%2' '%3'" ).arg( m_priv->host(), m_priv->share(), m_priv->path() ) );
 
       m_priv->setFileSystem( "smbfs" );
 
       break;
     }
     default:
     {
       return;
     }
   }

Reply via email to