diff --git a/ChangeLog b/ChangeLog index 92305c7..7ae859c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,2624 +1,2631 @@ Smb4K 3.0.4 (2020-03-xx): See the summary of changes below. For a full list of changes, please refer to the Git log at https://cgit.kde.org/smb4k.git/log/?h=3.0 -- Remove the automatic unmounting on loss of connection (BUG 415165). - Fix build with Qt 5.9 and lower. `QApplication::screenAt()` only exists since 5.10. +- Improved the mount helper. It will not freeze anymore when the + system is offline (BUG 415165). +- Fixed crashes and other problems in the mounter (BUG 398296, + BUG 415165, BUG 415726 and BUG 419658). +- Implemented inhibition of shutdown and sleep while the mounter + performs unmounts. +- Improved the handling of online and offline state in the hardware + interface. Smb4K 3.0.3 (2020-03-08): See the summary of changes below. For a full list of changes, please refer to the Git log at https://cgit.kde.org/smb4k.git/log/?h=3.0 - Exit silently when the query for domains and workgroups failed (BUG 417754). - Fixed authentication problems while mounting due to special characters in the password (BUG 367911). - Wait for 50 ms after the unmount of a share before starting the next one (BUG 417631). - Replace deprecated QApplication::desktop()->screenGeometry() function and, thus, silence a compiler warning. - Updated translations. Smb4K 3.0.2 (2019-08-15): See the summary of changes below. For a full list of changes, please refer to the Git log at https://cgit.kde.org/smb4k.git/log/?h=3.0 - Fixed and improved handling of custom options, especially the remount options. Removed the "RemountNever" enum entry, since it is actually not needed for a proper operation. - Updated home page address. - Updated translations. Smb4K 3.0.1 (2019-06-15): See the summary of changes below. For a full list of changes, please refer to the Git log at https://cgit.kde.org/smb4k.git/log/?h=3.0 - Implemented safe defaults to fix the "Smb4K mounts shares read- only" issue reported by Forolinux. - Updated handbook. - Updated translations. Smb4K 3.0.0 (2019-06-10): See the summary of changes below. For a full list of changes, please refer to the Git log at https://cgit.kde.org/smb4k.git/log/?h=3.0 - Moved to libsmbclient for network related communication. Removed the old scan, search, preview and print classes. Adjusted the rest of the code accordingly. - Removed periodic scanning capabilities and other obsolete settings. - Only start a network scan, if the computer is online. - Removed the search tab from the main window. Searches can now be done directly in the browser window. - Use the display string 'SHARE on HOST' instead of the UNC in the GUI. - Added several more mount options under Linux. - Added several new custom options and reworked the custom options dialog. - Improved support for NetBSD and added Dragonfly BSD as supported operating system. - Reworked the configuration dialog on many pages. Moved several settings around. - Added more rsync options: - Compression level: --compress-level=NUM - Skip compression: --skip-compress=LIST - Munge symlinks: --munge-links - Copy directory symlinks: --copy-dirlinks - Set bandwidth limit: --bwlimit=RATE - Got rid of KParts. The dock widgets are now direct children of the main window. - Changed the system tray icon. - Overhauled the notifications. - Improved plasmoid: - Added 'Configuration' page. - Introduced sorting of items. - Reworked the layout. - Introduced more actions that can be performed on single items. - Fixed restoring the window sizes. - Cleaned up code. - Changed many things under the hood (see Git log if you wish to learn more about this). - Updated handbook. - And much, much more. Smb4K 2.1.1 (2018-07-22): See the summary of changes below. For a full list of changes, please refer to the Git log at https://cgit.kde.org/smb4k.git/log/?h=2.1 - Fixed auto mounting of shares (BUG 396342). - Fixed missing rsync arguments in the synchronizer. - Fixed resetting of changes made to the bookmarks list. For this, clear the list of bookmarks in the read function. Smb4K 2.1.0 (2018-04-02): See the summary of changes below. For a full list of changes, please refer to the Git log at https://cgit.kde.org/smb4k.git/log/?h=2.1 - Ported the plasmoid to Plasma 5 and extended its functionality. Among others: - Added ability to synchronize shares. - Added ability to preview shares. - Added sorting to the list views. - Added a compact representation of the plasmoid. - Use the location ('SHARE on SERVER') instead of the UNC in most widgets. - Made suffixes in the configuration dialog translatable (BUG 386434). - Fixed a crash in the bookmarks menu that was triggered by a null pointer access (BUG 391424). - Only start the domain lookup job when the computer is online (BUG 391150). - Fix mounting of shares with a UNC like //server/share/$user (BUG 390558). - Fixed several more bugs. - Improved the code responsible for mounting. - Improved the code responsible for the handling of profiles. - Improved the code responsible for handling the custom options. - Removed the undo option for changes made to the custom options in the configuration dialog. - Improved code responsible for the handling of bookmarks. - Did some major rewrites of the code of the core classes. - Use smart pointers for shares, hosts, workgroups, etc. - Continue to replace normal for loops by range-based for loops where appropriate. - Cleaned up code where necessary. - Improved handbook. - And many other changes ... Smb4K 2.0.2 (2017-08-22): See the summary of changes below. For a full list of changes, please refer to the Git log at https://cgit.kde.org/smb4k.git/log/?h=2.0 - cmake: set the policy CMP0063 only if existing - cmake: lower required version to 3.2. - Add a remark regarding denied privilege escalation to the handbook. - Fixed removal of remounts in Smb4KMounter::slotStatResult(). Smb4K 2.0.1 (2017-05-13): See the summary of changes below. For a full list of changes, please refer to the Git log at https://cgit.kde.org/smb4k.git/log/?h=2.0 - Fix a logic flaw in the mount helper (CVE-2017-8849). - Fix build system. Smb4K 2.0.0 (2017-03-11): See the summary of changes below. For a full list of changes, please refer to the Git log at https://cgit.kde.org/smb4k.git/log/?h=2.0 - Ported Smb4K to Qt5 and KF5. - Removed the plasmoid from this release, because it has not been ported yet. - Added migration of config and XML files. - Bumped required CMake version to 3.3. Set policies for CMP0037 and CMP0063 to NEW. - Implemented new org.kde.appname format for desktop and xml files. - Added support for high DPI screens. - Removed the IP scan job and setting, since that method did not to work properly. - Got rid of all dependencies to other shell programs except the Samba ones. - Revised the shares view: - The old list view was removed and replaced by a new one based on the default icon widget. - A new 'Shares View' action menu to was added to the shares view and the dynamic main tool bar. - The mount point is not shown anymore in the shares view. - Make sure no drops can be performed if either the computer is offline or the share is inaccessible. - Revised the mounter and the mount helper: - Rely on Solid to nofify the application that a share was added or removed. - Under Linux, the /proc/mounts file for imports is not needed anymore, because all the needed information is present in the KMountPoint::mountOptions() string list. - However, under FreeBSD/NetBSD a workaround for detecting mounts and unmounts had to be implemented for now, since on my FreeBSD system Solid was not able to detect mounts and unmounts of Samba shares. - Replaced the choice of the view mode of the shares view by a combo box in the configuration dialog. - Removed the setting for showing the mount point instead of the UNC. - Removed the protocol hint, since it is not needed anymore. Adjust the code accordingly. As a consequence, we are now using the RPC protocol when listing the shares of a server. - Removed obsolete configuration option that was used to determine an interval between checks for mounted shares. - The smbclient program of Samba 4.x does not report the server and operating system anymore. The support of this extra information has now been removed. - Suppress error messages and warnings when a browse/hosts/shares list could be retrieved. - Do not report those shares that were initially imported as being mounted. - Close all notifications on timeout. - Changed some status bar texts. - Fixed several issues in the preview dialog. - Improved hardware support. - Changed overlay for the icon of a foreign share. - Added a donator to the about dialog. - Remove "for KDE" in the description of SmbK as suggested by Burkhard Lück. - Updated handbook. - Removed CPack support. - And many other changes under the hood ... Smb4K 1.2.3 (2017-02-05): See the summary of changes below. For a full list of changes, please refer to the Git log at https://cgit.kde.org/smb4k.git/log/?h=1.2 - Fix Smb4KSharesMenu::refreshMenu() function. Backported from master. - Fix Smb4KBookmarkMenu::refreshMenu() and simplify Smb4KBookmarkMenu::setupMenu() functions. Backported from master. - Introduce workaround to search code so that network search is also working with option 'client max protocol = SMB3' defined in smb.conf. Backported fix from master. Smb4K 1.2.2 (2016-11-12): See the summary of changes below. For a full list of changes, please refer to the Git log at https://quickgit.kde.org/?p=smb4k.git&a=shortlog&h=49babc09bf94b732c5bce85c9d825ca14e1eb138 - Improved error message handling in the scanner. Mostly backported changes from master. - Accept the drop events (QEvent::accept()) in the shares views. - Added remarks regarding the regession introduced by the security fixes released on April 12, 2016 to the handbook. Changed URL of the bug tracker to the KDE Bugtracking System. Bumped version number (and modification date) of the handbook. - Now that Smb4K is on bugs.kde.org, remove the custom bug report address. Smb4K 1.2.1 (2015-09-04): See the summary of changes below. For a full list of changes, please refer to the Git log at https://projects.kde.org/projects/extragear/network/smb4k/repository/revisions/1.2/changes - Fixed the "authentication dialog is missing the host name" error (closes SF ticket #37). - Fixed scanning of broadcast areas (added missing pipe). - Updated license text to the current version of GPL v2 (closes SF ticket #40). - Make Smb4K also useful with operating systems that are not supported. You can now do anything with it except mounting. - Fixed code under FreeBSD/NetBSD. - Split the mount options off the other options. Adjusted the code accordingly. The reason for this is that we want to support more operating systems and that is is now easier to deal with different mount options. - Use KIO::convertSize() instead self written code. - Refactored and improved code responsible for mounting. - Fix out-of-source builds when po is present. When building out-of-source, ALLOW_DUPLICATE_CUSTOM_TARGETS never gets turned on because the po directory doesn't exist in the build directory, causing a build failure. This ensures that the correct source directory is always checked. Smb4K 1.2.0 (2015-02-21): See the summary of changes below. For a full list of changes, please refer to the Git log at https://projects.kde.org/projects/extragear/network/smb4k/repository/revisions/1.2/changes - Added support for NetBSD. - Added support for profiles. - Added appdata file. Closes SF ticket #35. - Updated handbook. - Do not clean up the mount prefix in Smb4KMounter::timerEvent(), but do it when a share was unmounted (and, naturally, on exit). - Fix the Smb4KMounter::cleanup() function. - Removed Smb4KNotification::systemCallFailed() and also removed the systemCallFailed event from smb4k.notifyrc file. are reserved variables, so they were replaced by 'stdOut' and 'stdErr'. - Get rid of platform dependend functions and replace them by Qt, KDE or C++ includes. - Added Smb4KDeclarative::isMasterBrowser() and Smb4KDeclarative::setMasterBrowser() functions. - Fixed non-functional editing capabilities of the bookmark dialog. - Added share name to the homes user dialog. - Implemented profiles page in the plasmoid. - Added a second argument to initCore() function with that you can determine whether the core classes (at the moment scanner and mounter) should be started or not. - Removed old CTRL+R shortcut for rescanning the network neighborhood. - Implemented use of Kerberos with net command. - Improved handling of sleep states. Smb4K now reacts on changes of the network connection instead of on button press events. So, we are also able to properly unmount and remount shares when the computer is suspended by software. Since the button press events are not checked anymore, the respective settings and the 'Laptop Support' configuration page were removed. These changes should fix SF ticket #38. - If the smb.conf file is missing, notify the user (ideally only once) that it is missing and recommend him/her to create one. Since we do not want to spam the user, remove any warnings/error messages about a missing smb.conf file from stderr. - Fixed compilation errors under FreeBSD. - Fixed synchronization: rsync needs trailing slashes to operate correctly. Make sure they are present. Also, ignore the "sending incremental file list" output when compiling file urls. - Implemented more CIFS mount options under Linux as well as a whitelist of mount.cifs options that are save to be entered via the "Additional options" line edit in the configuration dialog. The new (and removed) mount options are: - 'cache=none|strict|loose' replacing 'directio' that is deprecated as of kernel 3.7 and was thus removed. In the configuration dialog the respective setting is named 'Cache mode'. - 'vers=1.0|2.0|2.1|3.0'. In the configuration dialog the respective setting is named 'SMB protocol version'. - 'forceuid'. In the configuration dialog the respective setting is named 'Definitely assign the UID'. - 'forcegid'. In the configuration dialog the respective setting is named 'Definitely assign the GID'. To ensure a seamless transition, configuration updates are provided. To enforce proper checking of the additional options provided by the user, the "Additional options" line edit has been set read-only and the user must use the new edit button to be able to enter the options. All options that are not whitelisted - i.e. they have already been defined elsewhere or they pose a potential security risk - will be removed from the list upon commit. This is, among others, the proper fix to the security issue reported by Heiner Markert (aka CVE-2014-2581) and initially fixed in version 1.1.2. - Use the "-e" (--encrypt) and "--use-ccache" options with the net command where appropriate. - Add the ability to lookup the IP addresses of the hosts with the 'net' command. You can choose to either use the 'nmblookup' command or the 'net' command on the 'Network' configuration page. - Reorganized the tabs in the User Interface configuration page. There is now a 'Miscellaneous Settings' tab that currently contains the bookmark settings. - Moved and partly renamed four settings. They all were located under "User Inferface" and were now moved to the "Network" and "Shares" sections in smb4k.kcfg, respectively. - Implemented notifications correctly. Part of the rewrite is the transformation of the Smb4KNotification class into a namespace. Since now the notifications can be edited via system settings, there is no need for the "Show notifications" setting anymore that was removed accordingly. - Implemented selection of multiple items in the browser: You can select multiple items in the browser by pressing either the CTRL or Shift key. However, only share items can be selected this way. All others are automatically deselected. - Implement permanent (re)mounting of shares. This closes SF ticket #33. - Require CMake version 2.8 and make it a fatal error if it is not present. - Due to the API changes the version number of the core library was increased. - Smb4KWalletManager now opens the wallet asynchronously. This fixes the problem thatarose because of the timeout of KWallet::Wallet::openWallet() in synchronous mode where the password dialog for the host/share was shown before the wallet was opened. Addtionally, some functions were removed and added. - Remove setting for temporal storage of the login information. Now, the user either stores the passwords in the wallet or needs to enter the login information each time it is needed. Although it might be a regression for a few users, I decided to do this because the code can be better maintained. - Do not use custom bookmark labels in the plasmoid. - Fix crash that might happen due to a (misconfigured) smb.conf file that does not contain a global section. Many thanks go to Michael Rohde for reporting this issue. - Remove the ability to exclude IPC$ and/or ADMIN$ shares from being displayed when hidden shares should be listed. This change also includes the removal of Smb4KShare::isIPC() and Smb4KShare::isADMIN(). - Fix i18n handling in smb4k (split into 3 catalogs) + Added a new catalog plasma_applet_smb4k-qml with messages extracted from plasmoid/ subdir + Spitted existing message extraction: * catalog smb4k with messages extracted from smb4k/ and helpers/ subdirs loaded via KAboutData/KComponentData * catalog smb4k-core with messages extracted from core/ subdir loaded via KCatalogLoader in core/smb4kglobal.cpp - Actually, Smb4K does not need to be a kdeinit executable. So, the modification introduced in Smb4K 1.1.0 was reverted. Thanks go to Albert Alstals Cid for pointing this out. - ... Smb4K 1.1.4 (2015-01-01): - Hopefully fixed a crash reported by Ingo Ratsdorf that happened when the user used the "Master browsers need authentication" setting and an authentication error occurred. - Fix a potential crash in Smb4KMainWindow. Thanks go to Mounty One for reporting this issue. - When the user cancels the homes user dialog, don't show the custom options dialog. Smb4K 1.1.3 (2014-06-17): - Make mounting of a password protected share work under FreeBSD, if no password has been defined yet. - Fixed compilation errors under FreeBSD. Smb4K 1.1.2 (2014-05-03): - Fixed a crash that could happen during the loading of bookmarks into the bookmark editor's tree widget. - Fixed the enabling and disabling of the "Up" action in the preview dialog. - Fixed two crashes in the previewer: The first occurred when authentication data was requested and the password dialog was just closed and the other one occurred when a recurring authentication error happened. - Improved 'Command Reference' section in the handbook. Smb4K 1.1.1 (2014-03-22): - Fixed a string in the handbook. - Set date when documentation was updated to 2014-03-16. - Fixed potential security issue reported by Heiner Markert. Do not allow the cruid option to be entered via the "Additional options" line edit. Also, implement a check in Smb4KMountJob::createMountAction() that removes the cruid option from the custom options returned by Smb4KSettings::customCIFSOptions(). - Fix crash that might happen due to a (misconfigured) smb.conf file that does not contain a global section. Many thanks go to Michael Rohde for reporting this issue. Smb4K 1.1.0 (2014-01-06): - Smb4K needs KDE SC version 4.8 or later. - Fixed many issues reported by krazy2. On the way several minor changes to the core classes were applied. - Made Smb4K a kdeinit executable. - Renamed the mount helper to net.sourceforge.smb4k.mounthelper. - Added a plasmoid. It needs KDE 4.10.0 or later. If this requirement is not met, its installation will be skipped. - Added Smb4KNetworkObject class that derives from QObject and encapsulates a network item (workgroup, host, or share). - Added Smb4KBookmarkObject class that derives from QObject and encapsulates a bookmark. - Introduced a new dynamic main tool bar. If you do not like it, you can enable old tool bars via the 'Shown Toolbars' menu item. - Added Wake-On-LAN (WOL) feature (closes SF ticket #27). - Introduced Smb4KDeclarative class that provides an interface for Plasma/ QtQuick to the core classes. - Improved mounting under FreeBSD. We do not need the ~/.nsmbrc file anymore because the mount helper will feed the password to the mount process. - Revised Smb4KGlobal namespace: + Merged Smb4KCore class. + Added Process enumeration in favor of per class solutions. - Revised Smb4KHost class: + The unc() function now only returns the UNC in the form //HOST. If you also need the username, password or port in the string, use the url() function. + Removed ipChecked() function. + Removed infoChecked() function. + Added hasIP() function. + Added hasInfo() function. - Revised Smb4KShare class: + The unc() function now only returns the UNC in the form //HOST/Share. If you also need the username, password or port in the string, use the url() function. + Added setURL() function that takes a string as argument. - Revised Smb4KCustomOptions class: + Added functions for Wake-On-LAN. + Added functions for defining the security mode used by mount.cifs. - Revised Smb4KBookmark class: + Renamed function group() to groupName(). + Renamed function setGroup() to setGroupName(). - Removed Smb4KIPAddressScanner class. IP addresses are now looked up by Smb4KScanner using a private job. - Revised Smb4KBookmarkHandler class: + Renamed the bookmarks() functions to bookmarksList() to unify the naming. + Added addBookmark() function that takes an URL as argument. + Added two removeBookmark() functions, one taking a pointer to a Smb4KBookmark object and one taking an URL. + Added private addBookmarks() function that takes a list of Smb4KBookmark objects and optionally a boolean that indicates if the internal list of shares should be replaced by the new one. + Improved bookmark editor. - Revised Smb4KProcess class: + Explicitly set the language to "C", because Samba might be localized (closes SF ticket #34). - Revised Smb4KScanner class: + Added workgroups(), hosts(), and shares() functions that return lists of type QDeclarativeListProperty. + Added workgroupsListChanged() and sharesListChanged() signals. + Renamed hostListChanged() signal to hostsListChanged(). + Added lookup() function that takes a QUrl as argument and initiates a network lookup according to the URL. The URL must already be known to Smb4K otherwise this function will not do anything. + Added find() function that takes a QUrl as argument and searches for a network item with the given URL. The URL must already be known to Smb4K otherwise this function will not do anything. + IP addresses are looked up every 60 s and when new hosts were discovered. + Improved periodic scanning. + Reimplemented usage of WINS server when looking up IP addresses. + Removed additional error code handling from Smb4KLookupSharesJob::processShares() since auth errors should be reported with a NTSTATUS* error message via stderr (closes SF ticket #25). - Revised Smb4KMounter class: + Added mountedShares() functions that returns a list of type QDeclarativeListProperty. + Added mountedSharesListChanged() signal. + Added mount() function that takes a QUrl as argument and mounts the corresponding share. The URL must already be known to Smb4K otherwise this function will not do anything. + Added unmount() function that takes a QUrl as argument (the path) and unmounts the corresponding share. The mounted share must already be known to Smb4K otherwise this function will do nothing. + Added find() function. It takes a QUrl and a boolean and returns the mounted share, if it could be found. + Added ability to make several attempts to remount shares. Many thanks go to Ettore Atalan for the suggestion. + Improved handling of notifications. + Improved handling of timer based events. + Fixed mounting with Kerberos. The location of the ticket is propagated to the root environment in which the mounting is done and the 'cruid' argument to mount.cifs is set to the users uid (closes SF ticket #32). + Adjusted command line under FreeBSD, so that the password can be passed to the mount process by the mount helper. + Under Linux, the error message "Unable to find suitable address." is now suppressed. - Revised Smb4KWalletManager class: + When prompting for a password for a 'homes' share, use the UNC of the user's home directory and not //SERVER/homes. + Removed obsolete writeToConfigFile() function under FreeBSD. - Revised Smb4KCustomOptionsManager class: + The customOptions() function now takes a boolean that determines if also entries that are only meant to be remounted are also returned. + The findOptions() functions take either a QUrl object or an Smb4KBasicNetworkItem object and a boolean. + Added wolEntries() function that returns a list of custom options objects that have Wake-On-LAN features defined. + Custom options that are defined for a host object are propagated to its shares (if there are custom options for its shares are defined). The options for the host overwrite the ones defined for its shares. - Revised Smb4KSolidInterface class: + Removed custom code that determined that the computer woke up. + Connected wokeUp() signal to Solid::PowerManagement::Notifier::resumingFromSuspend(). + The sleep cookie is not handled internally anymore. So, the function beginSleepSuppression() returns a cookie and endSleepSuppression() takes a cookie. + Renamed Smb4KSolidInterface::NetworkStatus::Unknown to Smb4KSolidInterface::NetworkStatus::UnknownStatus. - Revised Smb4KSynchronizer class (and helper classes): + Make synchronizer work with rsync 3.1. - Changed the way tooltip are handled. They are not owned by the widgets anymore, but by the items. - Revised mount helper: + Simplified names for the arguments that can/must be passed. + Under FreeBSD, the password is passed to the mount utility. - Revised network browser: + Removed wrong checks that caused tooltips not being updated properly. + Added ability to select multiple shares and process them accordingly. + Improved tool bar. + Added ability to unmount shares. Many thanks go to Ettore Atalan for the suggestion. + Files can be printed if there are still other print jobs running. - Revised configuration dialog: + Added options for advanced remounting behavior. + Implemented shortcuts for all entries. (Labels have now their buddies set.) + Moved custom options to own page, since they are no longer only related to Samba. Wake On LAN settings and the ability to - basically - switch off remounting have been added. Further improvements were implemented. + Renamed all classes that represent a page in the configuration dialog. + Added security modes 'ntlmssp' and 'ntlmsspi' for mount.cifs used with Linux kernel >= 3.8. + Set the default security mode for mount.cifs to 'ntlmssp'. - ... and more ... Smb4K 1.0.9 (2013-11-03): - With non-English languages the change introduced in version 1.0.8 might not work correctly, because e.g. umlauts are not recognized and the shell output is truncated. Setting the language to "en_US.UTF-8" fixes this problem. Smb4K 1.0.8 (2013-10-19): - Explicity set language to "C" in Smb4KProcess, because Samba might be localized (closes SF ticket #34). Smb4K 1.0.7 (2013-05-13): - Fixed remounting of shares. - Fixed Smb4KCustomOptionsManager::hasCustomOptions(). The default options defined via the configuration dialog are honored now. - Fixed "Ignoring unknown parameter" error messages (closes SF ticket #29). - Fixed command line argument when a master browser is queried for the browse list. Smb4K 1.0.6 (2013-03-03): - Fixed crash in Smb4KMounter::slotAuthError() due to signals being emitted from Smb4KMountJob::slotActionFinished() too often (closes SF ticket #25). - Fixed unmounting of selected shares. Thanks go to Ettore Atalan for reporting this issue. - Removed faulty and useless clean-up code from read function of Smb4KCustomOptionsManager. Smb4K 1.0.5 (2012-12-26): - Fixed hanging of Smb4K if a custom mount prefix without a trailing slash was entered (closes SF ticket #28). Thanks go to Ettore Atalan for reporting this issue and PhobosK for the patch. Smb4K 1.0.4 (2012-08-19): - Fixed erroneously shown error notifications when searching. Thanks to Alexander Willand for reporting this issue. - Make sure that "tdb_log" messages are not shown as error notifications to the user. - Wait until unmounting all shares on exit finished before closing down. - Make sure that the mount prefix and all its subdirectories correctly inherit their permissions. Smb4K 1.0.3 (2012-06-23): - Make sure that output from the mount and unmount process is trimmed, so that there are no false error messages. - Fixed error notifications being shown although mounting and unmounting shares was successful. Smb4K 1.0.2 (2012-05-30): - Fixed two potential crashes in class Smb4KHomesSharesHandler. - Fixed a wrong comparision between QString and QByteArray in Smb4KMountJob::slotActionFinished(). - Fixed a wrong comparision between QString and QByteArray and a double declaration in Smb4KUnmountJob::slotActionFinished(). - Fixed wrong assumption that qreal equals double in Smb4KShare class. Patch by Rex Dieter from the Fedora Project. - Fixed missing assignments of the IP address in Smb4KAuthInfo::setHost() and Smb4KAuthInfo::setShare(). - When prompting for a password for a 'homes' share, use the UNC of the user's home directory and not //SERVER/homes. - When mounting a 'homes' share, show the UNC of the user's home directory in the mainwindow's status bar instead of //SERVER/homes. - Fixed a crash in Smb4KMountJob::slotActionFinished() reported by Peter Trenholme. - Fixed unmounting on exit. Many thanks go to Peter Trenholme for reporting this issue. Smb4K 1.0.1 (2012-03-11): - Fixed potential crash in Smb4KWalletManager::init(). - Fixed KDEInit complaining when Smb4K is started from a desktop icon (closes SF ticket #23). - Fixed periodic scanning. Smb4K 1.0.0 (2012-02-01): - KDE SC 4.4.0 and Qt 4.7.0 or later are required. - We now use Utf8 throughout the whole application (closes #14674 and #17535). - Unified the function names of the core classes that set and return the workgroup name, host name, and share name. - Made the core container classes use QUrls internally where appropriate. - Added ability to install core header files by passing the new -DINSTALL_HEADER_FILES=true configuration option to cmake. By default, no header files will be installed. - Revised Smb4KSettings class: + Removed the program entries from this class. Each core class that needs an external program searches for itself. + Added entries for handling notifications. + Removed all entries related to the old mounting/unmounting implementation. - Revised Smb4KAuthInfo class: + Removed old constructor. + Added two new constructors. + Added type enumeration and function. + Added setUNC() and unc() functions. + Renamed user() and setUser() functions login() and setLogin(). + Removed the setHomesUser() function. Use setLogin() instead. + Removed setHomesUsers() and homesUsers() functions. + setShare() now automatically uses Smb4KShare::homeUNC() to set the UNC, if you pass a homes share. + Added equals() function. + Added "==" operator. + Added setIP() and ip() functions. + Renamed setDefaultAuthInfo() to useDefaultAuthInfo(). - Revised Smb4KWalletManager: + Fixed several bugs. + The IP address is now also saved to the wallet. + Also return correct authentication information if only the IP address is given (hosts only). + Introduced readDefaultAuthInfo() and writeDefaultAuthInfo() functions. + Rewrote readAuthInfo() and writeAuthInfo() functions. Among other things, they now take a Smb4KBasicNetworkItem object as argument. + showPasswordDialog() function now takes a Smb4KBasicNetworkItem object as argument. - Introduced Smb4KBasicNetworkItem class. Smb4KWorkgroup, Smb4KHost and Smb4KShare inherit this class. - Revised Smb4KWorkgroup class: + Added equals() function. + Added hasMasterBrowserIP() function. + Added "==" operator. + Remove setMasterBrowser() convenience function. - Revised Smb4KHost class: + Added setAuthInfo() function. You can set the user info of the UNC/URL with it. + Added setURL() and url() functions. + Added unc() function. + Added setLogin() and login() function. They store the login that was used to authenticate to a host. + Added setPort() and port() function. + Added equals() function. + Added hasIP() function. + Removed the protocol functions. + Added "==" operator. - Revised Smb4KShare class: + Replaced setCIFSLogin() and cifsLogin() with setLogin() and login(). + Removed cifsLoginIsSet() function. + The equals() function now takes a pointer instead of a reference. + Removed setUNC() function because it caused a lot of trouble. + The setMountData() function does not set and the resetMountData() function does not reset the login anymore. + The login is now empty by default. + Added setAuthInfo() function. You can set the user info of the UNC/URL with it. + Added hasHostIP() function. + Added homeUNC() function that returns the UNC of the user's home repository in case of a 'homes' share. + Renamed type() to typeString(), setType() to setTypeString() and translatedType() to translatedTypeString() to avoid problems with Smb4KBasicNetworkItem::type(). + The default value for typeString() is now "Disk". + Removed uidIsSet() function. + Removed gidIsSet() function. + Added "==" operator. + Removed setHomesUsers() and homesUsers() functions. + The path() and canonicalPath() functions return a QString. - Revised Smb4KCore class: + Removed all *State() convenience functions. + setDefaultSettings() will only set the first entry of the interfaces option from smb.conf as default broadcast address, if it is recognized as IP address. That means entries like "eth0", "192.168.2.10/24", etc. are neglected. - Added Smb4KSolidInterface class that notifies Smb4K about hardware related changes. - Added Smb4KProcess class that is used to execute all processes of the core. It inherits KProcess and comes with a few extensions. - Revised Smb4KMounter class: + Completely rewrote this class. + We are using KJobs and a KAuth inplementation. The utility programs are no longer needed and were removed! + Added mountShares() function that mounts a list of shares at once. + Added openMountDialog() function that opens the mount dialog. + The mount dialog is a private helper class now. It has been revised. + Added unmountShares() function that unmounts a list of shares at once. Made unmountAllShares() call this function with Smb4KGlobal::mountedSharesList() as one of the arguments. + Added slotHardwareButtonPressed() slot that initiates the unmounting of all shares when the computer enters one of the sleep states. + Added slotComputerWokeUp() slot that triggers the remounting of shares when the computer woke up from a sleep state. + Added saveSharesForRemount() function that is used when the application exits or when the computer goes to sleep to save the currently mounted shares. + Rewrote slotAboutToQuit() slot. + The import() function has been rewritten (closes #16169). Among other things, shares that were mounted under Linux with the obsolete SMBFS file system are no longer imported. + Added 'servern' and 'netbiosname' mount options. They are only used, if a connection to a remote host is attempted via port 139. + Added aboutToStart() signal that is emitted when a mount process is about to start. + Added finished() signal that is emitted when a mount process finished. + Replaced old updated() signal with one that emits the share that was updated. + Before the mounted() and unmounted() signals are emitted, we check if the (un)mounting was successful. + Added 'sec' argument for mount.cifs under non-FreeBSD operating systems. + Removed all state functions. + A warning message is shown when the user attempts the unmounting of a share that is owned by another user. - Removed Smb4KSambaOptionsInfo class. - Removed Smb4KSambaOptionsHandler class. - Added Smb4KCustomOptions class as a replacement for Smb4KSambaOptionsInfo class. - Added Smb4KCustomOptionsManager class as a replacement for Smb4KSambaOptionsHandler class. Among other changes, the custom options dialog is now a private helper class. - Revised Smb4KSynchronizer class: + Completely rewrote this class and its private helpers. + Introduced Smb4KSynchronizer::self(). + Made constructor and destructor private. + Improved abort() function. It takes a share item and you can abort the corresponding synchronization process with it. + Incoming synchronization request are now executed in parallel, because we are using KJobs. + Added abortAll() function that aborts all running synchronization processes at once. + Added isRunning( Smb4KShare * ) function. You can test with it if a certain synchronization process is running. + Added aboutToStart( const QString & ) signal that is emitted when a synchronization process is about to start. + Added finished( const QString & ) signal that is emitted when a synchronization process finished. + The synchronization dialog is now a private helper class. + By default, the destination directory offered by the synchronization dialog is now RSYNC_PREFIX/HOST/Share. - Removed Smb4KSynchronizationInfo class. It is not needed anymore. - Removed Smb4KPrintInfo class. It is not needed anymore. - Revised Smb4KPrint class: + Completely rewote this class and its private helpers. + Dependencies on dvips and enscript are gone. + Introduced Smb4KPrint::self(). + Made constructor and destructor private. + Improved abort() function. It takes a share item and you can abort the corresponding print process with it. + Incoming print requests can now be processed in parallel, because we are using KJobs. + Added abortAll() function that aborts all running print processes at once. + Added new isRunning( Smb4KShare * ) function. You can test with it if a print process using a certain printer is running. + Added aboutToStart( Smb4KShare * ) signal that is emitted when a print process is about to be started. + Added finished( Smb4KShare * ) signal that is emitted when a print process finished. + The print dialog is now a private helper class. - Revised Smb4KScanner class: + Completely rewrote this class and its private helpers. + Introduced Smb4KScanner::self(). + Made constructor and destructor private. + Removed old abort() function. + Incoming scan requests can now be processes in parallel, because we are using KJobs. + Added abortAll() function that aborts all running scanning processes at once. + Added new abort() function. You can abort a certain process or process group with it. + Added new isRunning() function. + Renamed all public functions that retrieve information from the network neighborhood. Have a look at the class documentation to find out more. + Removed private appendWorkgroup() function. + Removed state() signal. + Renamed members() signal to hosts(). + Removed deprecated ipAddress() signal. + Fixed minor issues on the command lines. In some situations this should improve the accessibility. + The login that was used to authenticate is now passed to each host object. + Misconfigured master browsers that do not belong to a workgroup are ignored. + The workgroup entry with id <1d> is recognized. + A workgroup will be ignored if the master browser could not be determined. + Added aboutToStart() signal that is emitted when a scan process is about to start. + Added finished() signal that is emitted when a scan process finished. + When looking up shares, the port defined for the host passed to the scanner is honored. + Added ability to scan the network neighborhood periodically (closes #15829). + Fixed 'Invalid command: net rap share list' error by removing the ability to auto detect the protocol when scanning a server for its shared resources. - Removed Smb4KPreviewItem class. It is not needed anymore. - Revised Smb4KPreviewer class: + Completely rewrote this class and its private helpers. + Introduced Smb4KPreviewer::self() class. + Made constructor and destructor private. + Improved abort() function. It takes a share item and you can abort the corresponding preview process with it. + Introduced isRunning( Smb4KShare * ) function. + Added aboutToStart( Smb4KShare *, const QUrl & ) signal. + Added finished( Smb4KShare *, const QUrl & ) signal. + Incoming preview requests can now be processed in parallel, because we are using KJobs. + The preview dialog is a private helper class now. During the transition it was improved significantly. - Revised Smb4KSearch class: + Completely rewrote this class and its private helpers. + Introduced Smb4KSearch::self() class. + Made constructor and destructor private. + Incoming search requests can now be processed in parallel, because we are using KJobs. + Improved abort() function. It takes the search item and you can abort the corresponding search process with it. + Introduced isRunning( const QString & ) function. + Introduced abortAll() function. + Added aboutToStart( const QString & ) signal. + Added finished( const QString & ) signal. - Revised Smb4KIPAddressScanner class: + Completely rewrote this class and its helpers. + Introduced lookup(), getHost() and getWorkgroup() functions. + Removed the auto scan ability, because it was not needed. + Incoming lookup requests can now be processed in parallel, because we are using KJobs. + Added isRunning() function. + Added abortAll() function. + Added aboutToStart( Smb4KHost * ) signal. + Added finished( Smb4KHost * ) signal. - Revised Smb4KHomesSharesHandler class: + Moved homes user dialog to an own class. + The dialog can now be resized and text completion has been added. + Removed setHomesUsers() functions. + Added homesUsers( Smb4KShare * ) function. + Refactored code. + Added ability to define whether a user name for a homes share should be overwritten or not. - Revised Smb4KBookmark class: + Added setLogin() and login() function. + Added equals() function. + Added "==" operator. + Added setURL() and url() functions. + Added setIcon() and icon() functions. - Revised Smb4KBookmarkHandler class: + Did a major revision. + Added the ability to assign a group to the bookmark(s) (closes #18001). + Modified the addBookmark() function that takes a Smb4KShare object and removed the one that took a Smb4KBookmark object. + Added addBookmarks() function. + Made writeBookmarkList() private. + Removed getBookmarks() function and replaced it with bookmarks() and bookmarks( const QString & ) functions. The former one returns all bookmarks, the latter one all bookmarks belonging to the specified group. + Added editBookmarks() function. All editing is now done by this core class. Thus the bookmark editor is now private helper functions. + Added a private dialog to add bookmarks. + The login is now stored in the bookmark.xml file. + Removed code that dealt with old bookmark files. + Added check if the UNC is valid. If it is not, the bookmark will be ignored. - Revised Smb4KGlobal namespace: + Removed tempDir() function, since we do not need it anymore. + Added addWorkgroup(), removeWorkgroup() and clearWorkgroupsList() functions. + Added addHost(), removeHost(), clearHostsList() and workgroupMembers() functions. + Added addMountedShare(), removeMountedShare(), clearMountedSharesList() and onlyForeignMountedShares() functions. + Functions that manipulate the lists have now mutexes to serialize the access. + All functions that add or remove items to the global lists return a boolean. + Removed all replaceXXX() functions. + All functions returning one of the global lists return constant references instead of pointers. + Added globalSambaOptions() and winsServer() functions. They were moved from the removed Smb4KSambaOptionsHandler class. + Added Smb4KEvent class that handles Smb4K specific events. - Added Smb4KNotification class. It shows notifications to the user. - Removed Smb4KCoreMessage class in favor of Smb4KNotification. - Added Smb4KToolTip class that is to replace all other tooltip implementations. - Revised shares view: + Adjusted the code so that the new abilities that the reworked synchronizer offers can be used. + Added "Add Bookmark" action (closes #14217). + Multiple shares can now be selected. + The tool tips are now shown when the QEvent::ToolTip event occurrs and not by our own implementation. + Replaced slotMountedShares() by three slots: slotShareMounted(), slotShareUnmounted() and slotShareUpdated(). + Revised Smb4KShares*ViewItem classes. This includes the removal of the Smb4KSharesViewItemData class. + Removed Smb4KSharesViewToolTip class. We are now using Smb4KToolTip. + Honor KDE's icon size settings. + Shares that are owned by other users are now marked with a red flag. + The "Unmount All" action gets disabled when only shares are shown that are owned by other users and the user is not allowed to unmount them (i.e. Smb4KSettings::unmountForeignShares() returns false). + Removed the "Force Unmounting" action. Instead, you can enable the forced unmounting of inaccessible shares on the "Shares" page in the configuration dialog. - Revised network browser: + Adjusted the code so that the new abilities that the reworked print code offers can be used. + Adjusted the code so that the new wallet manager can be used. + The type of the share is now translated. + The tool tips are now shown when the QEvent::ToolTip event occurrs and not by our own implementation. + If during an IP scan no workgroup master browsers could be found, all discovered hosts of that workgroup will be shown nontheless. + The default short cut for rescanning is now F5. CTRL+R is still valid. + Revised Smb4KNetworkBrowserItem class. + Removed Smb4KNetworkBrowserToolTip class. We are now using Smb4KToolTip. + Honor KDE's icon size settings. + Only rescan the network item if the user executes the item. Previously also expanding the item had the same effect. - Revised search widget: + Renamed widget class to Smb4KNetworkSearch. + Honor KDE's icon size settings. + Hosts are no longer displayed. Only shares are shown. + Removed ability to add hosts to the browser. The user will be given a complete list of shares when searching for the host name, so that there is no need to add the host to the browser. + Searches with IP addresses are no longer supported. + Added search and abort tool buttons next to the search item input. - Revised configuration dialog: + Added "Laptop Support" page where the user can set options that are important when you use a laptop. + Reintroduced scroll capabilities to the pages of the configuration dialog, so that the configuration dialog is fully visible also with small screens. + Added ability to define the security mode for mounting to the Samba page. + Removed the edit lines for the default username and password. If you choose to use a default login, a password dialog will pop up where you can enter the needed information. This way, the password dialog for the wallet will only be shown when it is actually needed. + Added editor for the wallet entries. There is no need for KWalletManager anymore to edit or remove logins. + Improved editor for the custom options. + Improved checks for empty entries. + Removed settings related to the system tray icon. + Added settings related to notifications. + Removed obsolete "Super User" settings page. + Improved buttons of the user and group input widgets of the Samba page. + Renamed "Client Programs" tab to "Utility Programs". + Added setting to automatically expand network items in the network browser. + Added setting to force the unmounting of inaccessible shares to "Shares" configuration page. It is disabled by default. - Added new bookmark menu. - Revised main window: + The icon in the status bar, that indicates the status of the authentication system now shows a key if the wallet system is not used, i.e. we are in password dialog mode. + Added an improved "Add Bookmark" action. + Improved visual (mount) feedback (closes #15899). + Fixed saving and restoring of the dock widgets (closes #15899). + Improved status messages. + Use new bookmark menu. - Revised system tray icon: + Smb4KSystemTray inherits KStatusNotifierItem class. + Removed functions for embedding the system tray window. The icon will now always reside in the tray. + The system tray icon will be set passive (will be hidden) if no workgroups could be found and no shares were mounted. + Use new bookmark menu. - Removed utility programs in favor of the new KAuth implementation. - Updated handbook. - ... and more ... Smb4K 0.10.12 (2011-12-04): - Fixed wrong QString to char conversion in the mounter. - Adjusted author's e-mail address and the project's home page and bug report mailing list addresses due to the relocation of Smb4K to Sourceforge.net. Smb4K 0.10.11 (2011-11-13): - The application is using UTF8 now. This should fix the incompatibility with non-Latin1 languages. - Smb4KAuthInfo::login() and Smb4KAuthInfo::password() return a QString. - Smb4KShare::path() and Smb4KShare::canonicalPath() return a QString. - Connect configuration dialog with system tray widget, so that changes can directly be applied. - Fixed KLibrary warnings during runtime. Smb4K 0.10.10 (2011-03-08): - Fixed "Invalid command: net rap share list" error. - Improved smb4k_sudowriter utility program. Version has been bumped to 0.4. Smb4K 0.10.9 (2010-09-11): - Fixed restoring of wrong file permissions for sudoers file (closes #17481). Smb4K 0.10.8 (2010-08-21): - Cope with trailing slashes in the UNC. Needed for cifs-utils package under Linux. - Fixed crashes in Smb4KSystemTray::slotSetupSharesMenu(). - Fixed crashes in Smb4KScanner::scanForWorkgroupMembers(). Smb4K 0.10.7 (2010-04-07): - Replace broken backported smb4k_umount binary with a fixed one from the 0.10 branch. This way you won't get the "unknown argument" errors anymore. Smb4K 0.10.6 (2010-03-24): - Include files are no longer installed. - Added updated portugese translation. Thanks to Fathi Boudra for sending the link and Américo Monteiro for the translation. - Fixed missing of shares that have no comment (closes #16837 and presumably also #3009 and #7949). - Fixed listing of shares when a "creating lame ..." message appears on stderr (closes #16849). - Backported smb4k_umount from SVN HEAD. Under non-FreeBSD operating systems it falls back to use umount directly if umount.cifs could not be found. - Removed check for mount and umount binaries from Smb4KCore::searchPrograms(). smb4k_mount and smb4k_umount will complain if they do not find them. Smb4K 0.10.5 (2010-02-13): - Fixed a crash in Smb4KSambaOptionsHandler::addItem(). - The copy constructor of Smb4KAuthInfo class now takes a constant reference. Smb4K 0.9.10 (2010-01-30): - Prevent the scanner from trying to do something before the application has completely started up. - Replaced Smb4KPasswordHandler class with the backported Smb4KWalletManager class (should close #14703). - Smb4KHomesSharesHandler class has to be accessed via a static pointer now. - Fixed problems with Samba 3.3 (among others closes #15276). - Revised Smb4KGlobal namespace: + Removed passwordHandler() function. Use Smb4KWalletManager::self() instead. + Removed homesHandler() function. Use Smb4KHomesSharesHandler::self() instead. + Removed timer() function. It was long deprecated and not used anymore. - Adjusted code to use the new infrastructure. - Fixed compilation errors under CentOS 4.8. - Bumped version of the core library to 2.1.0. Smb4K 0.10.4 (2009-10-01): - Fixed crash in the main window that made Smb4K unusable when no bookmarks were defined. Smb4K 0.10.3 (2009-09-30): - Fixed failing of error recognition when mounting shares with Samba >= 3.3. - Backported Smb4KAuthInfo class from CVS HEAD. This should close the crash in Smb4KAuthInfo::unc() under KDE 4.3. - Fixed network search code so that no comment shows up in the UNC with longer share names. - Silenced enscript, so that no erroneous error messages are shown when printing. - Bumped soname of core library to version 3.2.0. - Fixed crash in system tray and a potential one in the main window (closes #15970). - Fixed saving and restoring of main window layout. Smb4K 0.10.2 (2009-02-22): - Revised Smb4KMounter class: + Under Linux, the import function does not insert a share with SMBFS file system twice anymore. + Prevent the mounter from trying to do something before the application has completely started up. + Replaced the file system port with the SMB port under FreeBSD. - Revised Smb4KScanner class: + Fixed wrong error handling in Smb4KScanner::processWorkgroupMembers() when an authentication error occurred. - Revised Smb4KSambaOptionsHandler: + Fixed "Invalid command:" bugs with Samba 3.3 (closes #15276). + Replaced all occurences of the file system port by the SMB port. - Added missing function declaration of Smb4KPrintInfo::setShareItem(). - Revised Smb4KCore class: + Fixed wrong connection to the previewer. - Fixed potentially missing comma at the end of the string that is passed by Smb4KSambaOptionsHandler::mountOptions() under Linux. - Backported the new wallet manager from CVS (closes #14703). - Backported improved Smb4KAuthInfo class. - Backported Smb4KHomesSharesHandler::setHomesUsers( Smb4KAuthInfo * ). - Bumped version of core library to 3.1.0. - Reintroduced editing of the IP address in the bookmark editor. - Fixed removing of 'homes' users list from the "Specify User" dialog. - Backported wallet usage indicator in the main window. - Modified the Samba configuration page: + Fixed a crash in the "Custom Options" tab. + Removed the file system port entry under FreeBSD. Smb4K 0.9.9 (2008-11-05): - Prevent the mounter from trying to do something before the application has completely started up (closes #14703). Smb4K 0.10.1 (2008-10-12): - Fixed compilation errors due to missing #include statements. - Fixed a wrong test string in Smb4KMounter::processMount(). - Fixed a crash and a bug in the smb4k_sudowriter utility program. Bumped version to 0.2. - Fixed an infinite loop in Smb4KSambaOptionsHandler::readCustomOptions(). Smb4K 0.9.8 (2008-10-10): - Backported smb4k_sudowriter utility program. It directly writes to the /etc/sudoers file and thus finally fixes the messed-up-sudoers-file bug. - Removed smb4k_cat utility program. It's not needed anymore. - Removed smb4k_mv utility program. It's not needed anymore. - Removed the support for the program 'super'. If you used it before, you need to reconfigure Smb4K. - Completely rewrote Smb4KFileIO class to support smb4k_sudowriter. - Removed the "Programs" widget from the "Super User" configuration page. It is not needed anymore. Smb4K 0.10.0 (2008-08-30): - Ported Smb4K to KDE4 only. - Moved the build system to cmake. - Applied lots of small optimizations. - Fixed many GCC 4.3 related warnings. - Removed support for IRIX and Solaris. If you want to have it back, please join the Smb4K project and help with development. - Removed Franck Babin from the list of authors because Smb4K does not contains any code from him anymore. - Did a major rewrite of all KProcess related functions in the core classes, because the API of the KProcess class changed. - Replaced Smb4KError by Smb4KCoreMessage class: - Moved error codes from smb4kdefs.h to here. - Added several error codes. - Removed unused error codes. - Modified Smb4KSettings class: + Renamed several configuration entries. Transition will be seamless due to automatic updating. + Removed support for deprecated SMBFS file system (Linux). + Added port for the file system. Its default value is 445 (CIFS). - Modified Smb4KGlobal class: + Removed Smb4KGlobal::timer(). It is replaced by per-class solutions. + Removed Smb4KHomesShareHandler class. Use Smb4KHomesSharesHandler::self() instead. + Removed Smb4KPasswordHandler class. Use Smb4KPasswordHandler::self() instead. + Removed Smb4KSambaOptionsHandler class. Use Smb4KSambaOptionsHandler::self() instead. + Added workgroupsList() function that returns the list of all discovered workgroups. + Added hostsList() function that returns the list of all discovered hosts. + Added mountedSharesList() function that returns the list of all discovered mounted shares. + Added findWorkgroup() function. It replaces all previous per-class solutions. + Added findHost() function. It replaces all previous per-class solutions. + Added findShareByUNC() function. It replaces all previous per-class solutions. + Added findShareByPath() function. It replaces all previous per-class solutions. + Added findInaccessibleShares() function. It replaces all previous per-class solutions. - Revised Smb4KAuthInfo class: + Added setWorkgroup() function. + Added setHost() function. - Rewrote Smb4KBookmark class and introduced several improvements. - Revised Smb4KBookmarkHandler class: + Improved addBookmark() function. It now also takes a second argument that determines if an existing bookmark should be overwritten/updated. + The bookmarks are now saved in an XML file. The old data will be imported automatically. + Replaced Smb4KBookmarkHandler::findBookmarkByName() function by Smb4KBookmarkHandler::findBookmarkByUNC(). + Removed obsolete code. - Replaced Smb4KWorkgroupItem class with the new Smb4KWorkgroup container class. - Replaced Smb4KHostItem class with the new Smb4KHost container class. - Rewrote Smb4KShare class and merged Smb4KShareItem class with it. Please consult the class documentation for information about changes. - Revised Smb4KPreviewer class: + Removed isInitialized() function. + Added getPreview() function. - Revised Smb4KPreviewItem class: + Removed several functions. + Introduced shareItem() function. Through it you can access information about the share. - Revised Smb4KPrintInfo class: + The constructor now only takes a Smb4KShare object. You have to set the path to the file and the number of copies by the other functions provided by the class. + Removed ipIsValid() function, because the check was already done in the Smb4KShare constructor. - Modified Smb4KSynchronizer class: + Removed support of old rsync versions. - Revised Smb4KSynchronizationInfo class: + Renamed setIndividualProgress() function setCurrentProgress(). + Renamed individualProgress() function currentProgress(). - Revised Smb4KMounter class: + Renamed the mountedShare() signal to mounted(). + Optimized the import() function. + Renamed getBrokenShares() function to getInaccessibleShares(). + Improved check for the share's file system, accessibility and free and total disk space. + Revised Smb4KMounterPrivate private class and adjusted the code accordingly. + Renamed findShareByName() function findShareByUNC(). It now returns a list of pointers. + Smb4KMounter now makes use of Smb4KGlobal::mountedSharesList(). + The findShareByPath() function now takes a QByteArray as argument. + Improved remounting. Smb4K will try on every start-up to remount the share until the server becomes available (closes #13217). + Improved remounting. The IP address and the workgroup are now used. + Removed support for the suid program super. - Revised the Smb4KSambaOptionsInfo class: + Added setHasCustomOptions() function. + Added hasCustomOptions() function. + Added two constructors, one taking a Smb4KHost item and the empty one. + Removed the constructor taking the UNC string. Use the empty constructor and the setUNC() function instead (if needed). + Added workgroup() and setWorkgroup() functions. + Added ip() and setIP() functions. + The protocol functions use an enumeration instead of strings. + The file system functions use an enumeration instead of strings. + The write access functions use an enumeration instead of booleans. + The kerberos functions use an enumeration indead of booleans. + Added update() function. + The UID functions now use uid_t instead of QString. + The GID functions now use gid_t instead of QString. + Added uidIsSet() function. + Added gidIsSet() function. + Added setProfile() and profile() function for future extension. - Revised Smb4KSambaOptionsHandler: + Added static self() function and made the constructor and destructor private. + Improved check if the custom options are different from the default values. Because of this, less data needs to be written to the config file. + Improved the read_smb_conf() function. + There are three netOptions() functions, each taking different arguments. + Added sharesToRemount() function that only returns information for those shares that are to be remounted. + Added private function get_host() that searches a host in the global hosts list. + The options handler now reads and writes the host's IP address and workgroup as well. + The options are now saved to an XML file. The old data will be imported automatically. + Removed support for the deprecated SMBFS file system (Linux). - Revised Smb4KScanner class: + The constructor now takes a QObject as only argument. Smb4KScanner makes now use of the new global workgroups and hosts lists. + The getShares() function now takes a Smb4KHostItem object. + The getWorkgroupMembers() function now takes a Smb4KWorkgroupItem object. + The getInfo() function now takes a Smb4KHostItem object. + Moved IP address check from searchForHost() to search() function. + The internal workgroup and host list are never cleared but updated. + Revised processWorkgroups() function. + Revised processWorkgroupMembers() function. + Revised processShares() function. It now checks if the share is mounted. + Removed code that looks up IP addresses. + Removed code that searches for hosts. - Revised the Smb4KPasswordHandler class: + Added static self() function and made the constructor and destructor private. + Added init() function that attempts to open the wallet asynchronously. + Added canReadAuthInfo() function that returns TRUE if you can retrieve authentication information upon request. + Added readyReadAuthInfo() signal that is emitted when the password handler enters a state where you can retrieve authentication information upon request. - Revised Smb4KPrint class: + Added a queue where the print jobs are stored as long as they are processed. + Added startTimer(), killTimer(), timerEvent() combo to process the incoming print requests. + Removed slotRetry() because it was obsolete. - Introduced new Smb4KIPAddressScanner class, that operates on the global host list and looks up the IP address for each host. - Introduced Smb4KSearch class, that looks up the search strings the user provided through the search dialog. This now also includes remote shares. The search program to use will determined automatically (smbtree or nmblookup). - Revised Smb4KCore class: + The open() convenience function has been revised. + Rewrote searchPrograms() function so that only those utility programs are found that belong to the current release and we do not run into problems with parallel KDE 3 installations of Smb4K. - Revised Smb4KHomesSharesHandler class: + The user names for the homes shares are now saved to an XML file. The old data will be imported automatically. + Replaced private read_names() and write_names() functions by readUserNames() and writeUserNames(). + The specifyUser() function now takes a pointer to an Smb4KShare object as argument and returns a boolean. - Removed Smb4KFileIO class. - Introduced Smb4KSudoWriterInterface class that handles writing to the sudoers file from within Smb4K. - Bumped version of core library to 3.0.0. - Revised bookmark editor: + Removed actionCollection() function because it is not used. + Removed the "Delete All" menu entry because you can now select multiple bookmarks and remove them with the redesigned "Delete" menu entry. + Added the "Edit" action to the popup menu. - Revised custom options dialog: + The dialog is now resizeable. + Reverted to combo boxes for the UID and GID entries. The entries are now more informative since besides the UID/GID the user/group name is shown. - Revised preview dialog: + If the mimetype is known, the files will have the appropriate icons. - Revised print dialog: + The dialog is now resizeable. - Revised synchronization dialog: + The dialog is now resizeable. + The URL requesters now support squeezed text. - Revised configuration dialog: + All labels are now taken from Smb4KSettings entries. + Tidied up the Custom Options dialog. + Several entries are now arranged in combo boxes. + Removed "Network Search" group box from "Network" configuration page since with the new search method there is no need to choose a program for searching. + Merged Samba client programs tabs. The new one is named "Client Programs". + Redesigned the "Custom Settings" tab on the "Samba" configuration page. + Improved writing/removing of super user entries. + The (global) UID and GID input widgets were changed. The displayed UID and GID are now read-only and you have to choose the new values from a context menu. + Removed "Drag & Drop" box from the "User Interface" page. Drag and drop is now always enabled where implemented. + Removed all options that belonged to the deprecated SMBFS file system (Linux and similar operating systems). + Added port for use with the file system. + Moved the "Shares View" box from "User Interface"->"Main Window & System Tray" to "User Interface"->"View" and merged it with the "List View" box. + Removed "Programs" box from the "Super User" page. - Revised the network browser: + Items are expanded after the search process ended and not before. + Removed several obsolete functions from Smb4KNetworkBrowserItem class. + Removed Smb4KNetworkBrowser::closeToolTip() and ::aboutToShowToolTip() signals. The tool tip now emits similar signals. + Implemented Smb4KNetworkBrowser::enterEvent() and Smb4KNetworkBrowser::leaveEvent() to keep track of the mouse. + Added Smb4KNetworkBrowser::mouseInside() and Smb4KNetworkBrowser::mouseOutside() signals that are emitted when the mouse entered and left the network browser, respectively. + The behavior of the rescan action changed slightly. If you move the mouse outside the widget, the rescan will be affected by the selected item and not by the fact that the mouse is outside. + Revised and improved the tool tip management. + Removed Smb4KNetworkBrowser::blockToolTips(), because it is not needed anymore. + Added several functions to Smb4KNetworkBrowser to make it comply with KDE's global settings. + Added ability to move columns and save their positions. - Revised search dialog: + Adjusted search dialog to the requirements of the new search core class. It now displays servers and shares. + Added ability to mount shares. + Removed push buttons next to the combo box from the widget. + Added search menu and tool bar. + Added popup menu. + The list widget is automatically cleared when a new search was started. + Moved all slots from Smb4KSearchDialog to Smb4KSearchDialogPart class. + The Smb4KSearchDialogItem::setupItem() function replaces the previous Smb4KSearchDialogItem::setIcon(), because it collided with KListWidget::setIcon(). - Revised shares view: + Merged list view and icon view into one KPart (Smb4KSharesViewPart). + Added Smb4KSharesViewItemData container class that carries the information needed by the items and the tool tips. + The units used to display the disk usage were corrected. Smb4K has always shown values with radix 2, so we have to use KiB, MiB, GiB, ... + The list view and the tool tips now show the owner and group also with the CIFS file system. + Added ability to move columns and save their positions when the list view is used. + With foreign shares the unmount actions are only enabled when the user is allowed to unmount those (see configuration dialog). + Removed usage bar from the list view, since with the methods available for the QTreeWidgetItem class this either cannot be achieved (?) or looks very ugly. The usage in percent is still shown. + Drag and Drop support is now always enabled. You can drop URLs onto items and drag a share outside Smb4K. - Rewrote main window: + Smb4KMainWindow replaces Smb4KApp class. + The KParts are now organized in tabs by default. + The main tool bar has been extended, but it is hidden by default. The user can reach its functions through the menu. - Modified utility programs: + Introduced smb4k_sudowriter utility program that writes to the sudoers file. This finally fixes the corrupted-sudoers-file issues that were reported by several users. + Removed smb4k_cat utility program because its not needed anymore. + Removed smb4k_mv utility program because its not needed anymore. - Updated handbook. Smb4K 0.9.7 (2008-08-29): - Backported rewritten Smb4KCore::searchPrograms() function that garantees that the correct utility programs are found and we do not run into trouble with another Smb4K installation on the system (i.e. in KDE 4). - Fixed error message box in Smb4KConfigDialog::checkSettings(). - Fixed Smb4KPasswordHandler::writeAuth(). Incorrect login data is now properly overwritten in no-wallet mode. - Backported improved Smb4KAuthInfo class. - Added hicolor fall back icons. They are actually copies of the crystal ones. - Updated Swedish translation. Thanks go to Leslie Jensen for the update. Smb4K 0.9.6 (2008-06-15): - Fixed crash when the search item was empty: Pressing RETURN instead of activating the search action will not start a search and Smb4KScanner::search() now just returns when the search string is empty. - Revised synchronization. + Rewrote Smb4KSynchronizer::slotReceivedStdout(). + Fixed missing total file number in the synchronization dialog. + Fixed error message when the cancel button was pressed. + Removed obsolete code for old rsync versions. - Fixed unquoted path in Smb4KCore::open(), so that also paths ending with '$' are opened correctly in Konsole. Smb4K 0.9.5 (2008-06-01): - Fixed an authentication issue that occurred when the master browser was queried for the workgroup members. - Added a configuration entry that must be enabled when authentication information needs to be send to the workgroup master browser when querying it for the browse list. Smb4K 0.9.4 (2008-04-27): - Smb4KGlobal::timer() is now deprecated. - The core classes now use QObject::timerEvent() instead of a connection to Smb4KGlobal::timer(). - Smb4K will try to launch the wallet manager before it opens the wallet. This should prevent it from hanging on start-up (closes #12707). - If the digital wallet could not be opened, KWallet support won't be disabled completely but only for the current session. - Fixed blocking of tooltips in the network browser. - Fixed invalid check in the network browser's tool tip code. - Simplified code in smb4k_cat. Bumped version to 0.8. - Fixed disabled configuration dialog when another user edited the same system file. - Fixed wrong path when the strings "cifs" or "smbfs" were part of the mount point name (closes #13342). - Fixed unrecognized authentication error when querying the workgroup master browser for the workgroup members (closes #12830). - Fixed flickering of items in the shares views. - Applied patch by Dirk Mueller that installs the configuration dialog as KDE module. Smb4K 0.9.3 (2008-02-24): - Revised and optimized the code of the password handler. One consequence is, that the format of the wallet entries is not compatible with previous versions. The old entries will be converted automatically. - Fixed a regression in the browser, where the list of shares was not deleted when an host item was collapsed. - Fixed an unmount problem that occurred when mount.smbfs is indeed a symlink to or a copy of mount.cifs. - The mount command now includes the NetBIOS name of the local host, which is at least needed when using port 139. Smb4K 0.9.2 (2008-01-20): - Added a few "What's this?" help texts to the "Shares" configuration page. - Updated translations. - The preview dialog does not show the "." and ".." directories if the user chose to see hidden directories. - The bookmark folder in the system tray widget now has a bookmark folder icon. - Applied patch provided by Carsten Lohrke so that Smb4K's desktop file complies with freedesktop.org's specifications. - Fixed double declaration in Smb4KSystemTray class. - Removed Smb4KConfigDialogFactory::setConfigObject() function that was not used. - Fixed poor IP address check in Smb4KScanner::searchForHost(). - Fixed saving of default login data when the wallet was closed. - Updated handbook. Smb4K 0.9.1 (2007-12-31): - Replaced all occurences of getenv("USER") by getpwuid(getuid())->pw_name. - Corrected spelling mistakes in German translation. - Fixed compilation error under FreeBSD. - Fixed fails-to-build-from-source bugs with upcoming GCC 4.3. Smb4K 0.9.0 (2007-12-16): - Cleaned up the code and updated the copyright statements (class descriptions, e-mail address and year). - Smb4K now uses KConfig XT throughout the whole application. This breaks compatibility with older versions of Smb4K. - Replaced the old configuration dialog with a new one based on KConfigDialog to take advantange of the KConfig XT infrastructure. It is a KDE module library: libsmb4kconfigdialog. - Added some configuration options: + The '-S ' (signing state) and '-P' (use machine account) arguments of smbclient are now supported. + Added several advanced mount.cifs options and the ability to pass custom options to mount.cifs (closes #10249). You will need Linux kernel >= 2.6.15 to take advantage of most of them. + Added the ability to remove all options at once in the "Custom" tab of the Samba configuration page. - Changed some configuration options: + The hidden files and directories are not displayed in the preview dialog by default. + Rsync's '--existing' and '--ignore-existing' option can be active at the same time. + The default UID and GID are now those of the user. - Removed obsolete Smb4KUser class. - Implemented validity checks into the core container classes, so that only IPv4 and IPv6 IP addresses are used (closes #11470). - Modified Smb4KGlobal namespace: + Removed Smb4KGlobal::kernelVersion() function. + Removed Smb4KGlobal::systemName() function. + Removed Smb4KGlobal::config() function. + Removed Smb4KGlobal::getUMASK(). - Removed Smb4KHomesShareHandler::convert() function. - Revised Smb4KCore class: + Rewrote Smb4KCore::searchPrograms(). + Removed Smb4KCore::smb4k_core() static pointer and replaced it with a better approach (Smb4KCore::self() and static pointers to the core classes). + Added Smb4KCore::init() function, that initializes the core, i.e. starts the scanning of the network and the import and remounting of shares. - Improved Smb4KSambaOptionsHandler class: + The constructor does not take a KConfig object anymore. + The client charset and server codepage will be auto-detected if the 'unix charset' and 'dos charset' options are present in smb.conf, respectively (closes #10805). - Modified Smb4KShare class: + Moved to KUser and KUserGroup to retrieve information about the user and the group of the mounted share. This sets the minimum requirement to KDE 3.3. + Added Smb4KShare::setUID() and Smb4KShare::setGID() functions. + Smb4KShare::equals() now takes a constant reference instead of a pointer. - Improved Smb4KMounter class: + Removed legacy code from mountRecent() function and renamed it to remount(). + Renamed Smb4KMounter::State::MountRecent to Smb4KMounter::State::Remount. + Smb4KMounter::findShareByName() now returns a list of all mounts of the specified share that are present on the system. This way the checks for mounted shares etc. could be improved. + Rewrote Smb4KMounter::mount() function. + Cleaned up Smb4KMounter::unmount() and improved the remaining checks. + Removed check for correct Linux kernel if the "Force Unmounting" feature is used. The operating system will throw an error if the wrong kernel is used. + Added a new function Smb4KMounter::checkAccessibilty( Smb4KShare *share ). It replaces code in Smb4KMounter::import() and Smb4KMounter::processMount() and simplifies maintenance. + The "bad user name" and "bad group name" messages that are returned by mount.cifs if a bad UID/GID are provided are recognized as errors. + Improved Smb4KMounter::isMounted(). It takes now a boolean as second argument that determines whether all or only user mounts should be considered. - Modified Smb4KScanner class: + Removed preview code from class. + Improved code for custom search requests. + Renamed Smb4KScanner::addHost() function to Smb4KScanner::insertHost() and improved it. + Added hostAdded() signal that is emitted when a single host has been added via the insertHost() function to the list of known hosts. - Moved Smb4KMounterPrivate and Smb4KScannerPrivate classes to own files. Now the users can use the --enable-final configure option without problems. - Introduced Smb4KPreviewer core class that takes care of previews of remote shares. - Rewrote Smb4KPreviewItem class and moved it into own files. - Introduced new Smb4KSynchronizationInfo container class. - Modified Smb4KSynchronizer class: + Replaced the "--devices" option by the "--devices --specials" options, so that also fifos, etc. can be preserved. + Replaced the "--remove-sent-files" option by "--remove-source-files". This makes rsync 2.6.9 a requirement, if you want to take advantage of this option. + Removed the URL requester and the progress dialog. + Added new signals: progress() and finished(). + Make use of the new Smb4KSynchronizationInfo container class. + A new synchronization request won't be taken if one is already processed. - Modified Smb4KPasswordHandler class: + Removed import() function which imported authentication data from old password file (versions prior to Smb4K 0.6.0). + The constructor does not take a KConfig object anymore. + The descriptive text in the askpass dialog now distinguishes between a server and a share. - Did a major revision of Smb4KFileIO class: + Removed Smb4KFileIO::getUsers(). + Removed Smb4KFileIO::writeSuperUserEntries(). + Removed Smb4KFileIO::removeSuperUserEntries(). + Removed Smb4KFileIO::processOutput(). + Removed obsolete compatibility code. + Introduced Smb4KFileIO::writeSudoers(). + Introduced Smb4KFileIO::writeSuperTab(). + Introduced Smb4KFileIO::processSudoers(). + Introduced Smb4KFileIO::processSuperTab(). + The env_keep list will not be replaced, but PASSWD and USER are appended to it. - Modified definitions in smb4kdefs.h. For changes see the file itself. - Improved Smb4KBookmark class: + Added ability to define an alternative label that can be used to identify the bookmark in a custom way. + Added constructor that takes a Smb4KHostItem object. - Improved Smb4KBookmarkHandler class: + Implemented support for the new label feature. + Replaced findBookmark() by findBookmarkByName() and findBookmarkByLabel() functions. + Rewrote addBookmark() function. - Smb4KPrint now supports the "application/x-shellscript" mime type. - Unified API of the network item classes. - Bumped version of the core library to 2.0.0. - Rewrote main window: + Smb4KApp now inherits KParts::DockMainWindow. + Removed labels that gave information about the WINS server and the look-up method. + Made the status bar messages a bit more informative. - Redesigned shares icon view: + Removed Smb4KShareWidget, Smb4KShareWidgetItem, Smb4KShareActionMenu, and Smb4KShareTooltip classes. + Introduced new classes: Smb4KSharesIconView, Smb4KSharesIconViewItem, Smb4KSharesIconViewPart, and Smb4KSharesIconViewToolTip. + The shares iconview is now a KParts KDE module: libsmb4ksharesiconview. + Removed the fake list view feature. + Added ability to open a mounted share with Konsole. This is useful for people who need to execute shell scripts on the share. - Added new shares list view: + The features of the new list view are similar to the ones of the icon view. + The new list view consists of the classes: Smb4KSharesListViewPart, Smb4KSharesListView, Smb4KSharesListViewItem and Smb4KSharesListViewToolTip. - Redesigned network browser: + Removed Smb4KBrowserWidget, Smb4KBrowserWidgetItem, Smb4KBrowserActionMenu, and Smb4KNetworkItemTooltip classes. + Introduced new classes: Smb4KNetworkBrowser, Smb4KNetworkBrowserItem, Smb4KNetworkBrowserPart and Smb4KNetworkBrowserToolTip. + The network browser is now a KParts KDE module: libsmb4knetworkbrowser. - Redesigned search dialog: + Applied a major revision to the Smb4KSearchDialog class. Among other things, the widget that shows the search results is now a KListView. + Introduced new Smb4KSearchDialogItem class for easier handling of the items in the list view. + Introduced Smb4KSearchDialogPart class that manages the communication with the core and the rest of the application. + The search dialog is now a KParts KDE module: libsmb4ksearchdialog. (An rc file is not provided because it's not needed.) - Introduced a new synchronization dialog (Smb4KSynchronizationDialog) where the old URL requester and the progress dialog from Smb4KSynchronizer were merged. - Redesigned the print dialog. - Revised the preview dialog. It now uses the new Smb4KPreviewer class and the reworked Smb4KPreviewItem class. - Modified and improved the bookmark editor: + It is now possible to define a custom label to identify a bookmark. + The workgroup is not editable anymore. - Rewrote Smb4KSystemTray class from scratch: + The old functionality has been preserved. + Added the ability to unmount all mounted shares at once. - Ported the Konqueror plugin to the new widgets. - Modified utility programs: + Removed deprecated arguments from smb4k_mount. + Removed deprecated arguments from smb4k_umount. + Adjusted help screens where necessary. + Bumped versions where appropriate. Smb4K 0.8.7 (2007-11-28): - Fixed smb4k_cat utility program: + Enlarged the allowed length per line to 1024 (instead of 255) characters (closes #12262). + Fixed a bug that could lead to corrupted files. - Fixed Smb4KPasswordHandler::readDefaultAuth() that returned a pointer that was freed when the function exited. - Fixed Smb4KMounter: + Smb4K won't consider foreign shares for remounting on start-up. This also seems to solve the crash bug initially reported in #11973 (closes #11467 and #12369). + Fixed unmount command line in slotShutdown() function under FreeBSD. + Fixed unmount command line in unmount() function under FreeBSD. Smb4K 0.8.6 (2007-10-15): - Fixed a crash in Smb4KMounter::findShareByPath() (closes #11499, #11543 and #11973). Smb4K 0.8.5 (2007-09-23): - Updated the handbook. - Fixed compile errors in Smb4KMounter class under FreeBSD. Smb4K 0.8.4 (2007-07-14): - Reintroduced Polish translation provided by Jerzy Trzeciak. - Updated Turkish translation and improved smb4k_add.desktop file. Thanks go to Serdar Soytetir for providing the patches. - Fixed missing functionality of the --ignore-existing argument of rsync. - Fixed 'net rap server domain' command that is incompatible with Samba 3.0.25 (and later?). - Fixed Smb4KPasswordHandler::readAuth() that returned a pointer that was freed when the function exited. - Fixed broken Smb4KPrint::print() function. - Fixed a bug in the preview dialog that led to the hanging of the whole application. - Fixed DCOP-related hanging of Smb4K during KDE start-up (closes #11189): + Added 'X-DCOP-ServiceType=Unique' entry to smb4k.desktop file. + Implemented KUniqueApplication::start() in main.cpp. - Fixed a potential memory leak in the bookmark editor. Smb4K 0.8.3 (2007-05-02): - Fixed command lines in Smb4KMounter:unmount() that provoked smb4k_umount to complain about a deprecated argument. - Applied Turkish translation patch provided by Ismail Donmez. Smb4K 0.8.2 (2007-05-01): - Modified utility programs: + Fixed the "No mode was specified" bug in smb4k_mount/smb4k_umount and related issues in the other utility programs. + Modified the help screens of the utility programs with respect to clarity and better readability. + Warnings are shown if deprecated arguments are used. + Increased all versions by 0.1. - Worked around a bug where shares where remounted with UID=0 and GID=0 when using the CIFS file system. - Improved the 'Trouble Shooting' section of the handbook and bumped its version to 1.1.2. Smb4K 0.8.1 (2007-04-08): - Rewrote smb4k_mount, smb4k_umount, smb4k_kill, smb4k_cat, and smb4k_mv from scratch in order to fix the following security weaknesses discovered by Ben Hutchings (should finally close #9631): + Due to insufficient sanitation, smb4k_mount allowed an user to mount any (local) device if the program was used in combination with sudo or super. + The function findprog(), which was present in smb4k_mount, smb4k_umount, and smb4k_kill, returned a pointer to memory that was freed when the function exited. + The function replace_special_characters(), that was present in smb4k_mount and smb4k_umount, returned a pointer to memory that was freed after the function exited. Additionally, it didn't replace the hyphen. - Changes in smb4k_mount: + Moved to getopt_long() to parse the command line options. + Added '-n' and '-s' switches (not under FreeBSD) as short forms of the '--suid' and '--no-suid' arguments, respectively. + Added '--version' argument. + Out of the many arguments that may be passed to the 'mount' binary, only '-t ' and '-o ' are still supported with smb4k_mount. + All file systems except 'smbfs' and 'cifs' will result in an error. + Fixed order of the arguments that were passed to 'mount.cifs' and 'smbmount' (the '-o ' argument must be placed at the end). + Added check if a share in the form //HOST/SHARE is supplied. If this is not the case, smb4k_mount will error out. + Improved FreeBSD support. - Changes in smb4k_umount: + Moved to getopt_long() to parse the command line arguments. + Added '-n' and '-s' switches (not under FreeBSD) as short forms of the '--suid' and '--no-suid' arguments, respectively. + Added '--version' argument. + Added check if a mount point is supplied at all. + Improved FreeBSD support. + The '--smbfs' and '--cifs' arguments have been deprecated and are now inoperable. They are still present for backward compatibility, but may be removed any time soon. - Changes in smb4k_kill: + Moved to getopt_long() to parse the command line arguments. + Added '--version' argument. + smb4k_kill does not take a signal number anymore. You can only terminate a process with the SIGTERM signal. - Changes in smb4k_cat: + Moved to getopt_long() to parse the command line arguments. + Added '--version' argument. - Changes in smb4k_mv: + Moved to getopt_long() to parse the command line arguments. + Added '--version' argument. + Added a check if the source and destination files are regular files. If they are not, smb4k_mv will error out. - Adjusted Smb4KMounter class to the slightly changed behavior of the utility programs: + Removed SIGTERM signal from command line in Smb4KMounter::abort() because of the changes made to smb4k_kill. + Changed the command lines for smb4k_mount and smb4k_umount. - Started to address the browsing problems experienced by users in Active Directory environments: If the NT_STATUS_ACCOUNT_DISABLED error is encountered (which actually seems to be an authentication issue), Smb4K won't error out anymore but ask the user for the user name and password (closes #10280). - Fixed two bugs in Smb4KFileIO: + The search for the lock file directory will not return a directory that is not readable and writeable anymore (except /var and /tmp are mounted ro). + If the lock file does not exist when Smb4KFileIO::removeLockFile() wants to delete it, no error will be shown anymore. - Fixed a compilation error under SUSE (10.2) and with the upcoming GCC 4.3. - Smb4K now uses the CIFS file system by default (closes #10804). - The handbook was updated to reflect the changes made to the utility programs. Smb4K 0.8.0 (2006-12-21): - smb4k_konqplugin: implemented working toolbar code + search dialog connected to toolbar - smb4k_konqplugin: fixed unmount all shares on exit - Moved source files of the Konqueror plugin to own directory. - Improved the build system: + Added '--with-konqplugin=ARG' argument which allows the user to disable the compilation of the Konqueror plugin. + Added a check for Konqueror plugin header file if '--with-konqplugin=yes' (default) was supplied. The configuration will be aborted with an error message if the check fails (closes #8755). - Updated admin/ directory. - Utility programs: + Removed file search function from smb4k_cat. + Exchanged all occurrences of strcpy() by strncpy() (closes #9631). + Implemented several other security releated fixes proposed by Kees Cook after a security audit (closes #9631). They include the elimination of stack overflows and a design error in smb4k_kill. - Removed the Smb4KDataItem class again, because its introduction was not a good idea. - Revised Smb4KShare: + Now references to strings are returned instead of copies of these strings. + Smb4KShare::path() and Smb4KShare::canonicalPath() are now QCStrings. - Made Smb4KUser, Smb4KPrintInfo return references to strings instead of copies of those strings. - Logins with umlauts and other special characters are now supported. - Introduced the ability to define custom options for mounting and browsing (closes #3822, #6490). Changes in detail: + Added a new container class: Smb4KOptionsInfo + Added a new core class that manages all Samba related options: Smb4KSambaOptionsHandler + Custom options are stored in ~/.kde/share/apps/custom_options. + Added new dialog were the options can be defined. + Added new "Custom" tab to the Samba configuration tab. Here you can edit and delete the custom options. - Introduced a new class named Smb4KHomesSharesHandler that handles the homes shares: + Moved the list of 'homes' shares and the user names defined for them to the file ~./kde/share/apps/smb4k/homes_shares. + Added new read and write functions for the data. + Moved the "Specify User" dialog to this class. + Improved "Specify User" dialog by adding a "Clear List" button that enables the user to clear all names from the combo box. - Introduced new Smb4KError class which handles the error messages: + Renamed and removed several error codes. + Adjusted code to use the new error codes. + Improved error messages. - Revised Smb4KGlobal namespace: + Moved Smb4KPasswordHandler here. + Added Smb4KSambaOptionsHandler. + Added Smb4KHomesSharesHandler. + Smb4KGlobal now provides a function that creates a temporary directory. The core classes were ported to use it. - Revised Smb4KMounter class: + Optimized code in Smb4KMounter::import(). + Merged Smb4KMounter::unmount() and Smb4KMounter::forceUnmount() into a more powerful Smb4KMounter::unmount() function. Accordingly, the public function forceUnmountingShare() has been removed and replaced by an enhanced version of unmountShare(). + Fixed missing port statement in the mount command under FreeBSD. - Revised Smb4KScanner class: + Improved code in Smb4KScanner::init(). + Rewrote code for retrieving IP addresses. + Added a new 'IP scan' method to retrieve the browse list (closes #7933). + Adjusted code in Smb4KScanner::processHosts(). In case of an IP scan, the hosts won't be deleted from the list but only additional info we be added to existing host items. + The constructor now takes a list for workgroups and one for hosts. Both are provided by Smb4KCore and are used to make all discovered workgroups and hosts available to the core classes. + Replaced Smb4KScanner::authFailed() signal with Smb4KScanner::failed() and implemented it more places. + Revised the shell command for previewing shares. + /bin/sh is not required to be present on your system anymore, but you need a shell that understands the '-c command' option. - Added update functionality to Smb4KBookmarkHandler class (closes #8832): + The constructor now takes a pointer to the global host list provided by Smb4KCore. + Added Smb4KBookmarkHandler::update() which searches the hosts list for changes of the IP address and updates the bookmarks, if necessary. - Completely rewrote the Smb4KFileIO class: + The automatic conversion of old super.tab entries has been dropped now. + Implemented several security fixes proposed by Kees Cook after a security audit: Moved the lock file to /var/lock, fixed a race vulneribility with the lock file, and moved to mkstemp (closes #9630). - Revised print code: + Rewrote Smb4KPrint class. + Improved Smb4KPrintDialog class. - Improved the network item container classes: + Smb4KShareItem: Added isHidden(), isPrinter(), isIPC(), and isADMIN(). + Smb4KPreviewItem: Added isHidden(). - Revised Smb4KShareWidget class: + Disabled the ability to move the items around. + Added Drag 'n' Drop support (closes #3027). It must be enabled in the configuration dialog in order to use it. + The tool tips will be displayed in a distance of 5 points away from the mouse pointer. + Enhanced overall handling of tooltips. - Revised Smb4KBrowserWidget class: + Made the browser behave much smarter. + The tool tips will be displayed in a distance of 5 points away from the mouse pointer. + Enhanced overall handling of tooltips. + The current network item will be collapsed if the Smb4KScanner::failed() signal is received. - Smb4KBrowserWidgetItem class now inherits KListViewItem instead of QListViewItem. - Revised Smb4KPreviewDialog class: + The constructor now takes a pointer to an Smb4KShareItem object and looks up the IP address of the host by itself. + Added Smb4KPreviewDialog::initialized(). It returns a boolean and can be used to only show the dialog if the preview dialog was initialized properly. + Added a 'Back' and a 'Forward' button. + Code clean-ups and optimizations. + Preview of hidden files and directories may be switched off in the configuration dialog. + Added scrollbars to the combobox's listbox. - Configuration dialog: + Renamed several settings in network options tab. + Replaced 'Appearance' by 'User Interface' configuration page and added several new settings. + Some widgets won't appear under operating systems anymore where they are useless. - The bookmark editor will reload the bookmarks if the bookmark handler emitted the updatedBookmarks() signal. Smb4K 0.7.5 (2006-11-25): - Fixed a serious bug in Smb4KFileIO that could cause a corrupted /etc/sudoers file if debug or error output was received via stderr while reading the file for subsequent processing. Many thanks go to h-gent-o who reported this issue to the Ubuntu bug tracker and to Richard Johnson from the Ubuntu project who brought it to our attention (closes #9527). Smb4K 0.7.4 (2006-11-11): - Fixed error handling in Smb4KMounter::processMount() under FreeBSD. - Fixed a bug in Smb4KSearchDialog::slotCheckItemInBrowser() that occurred when a server item had no IP address displayed. - Fixed a bug in the shell code that was used to retrieve the list of workgroup/domain members from the master browser. Under certain circum- stances the bug caused the master browser not to return the browse list. Please note, that you need the 'sh' command being present now! On most systems, this is a symlink to a sh-compatible shell, which is fine. - Improved error handling in Smb4KScanner::processHosts(). - Implemented better error handling in Smb4KSynchronizer: The synchronization is canceled if an error occurrs. This prevents the user from being flooded with error dialogs. - Fixed disabled "Linux charset" and "Server codepage" combo boxes in the configuration dialog under operating systems different from Linux. - Fixed a bug that occurred when reading or writing the file and directory mask. - Changed the address used for reporting bugs via Help->Report Bugs. - Updated several translations. Smb4K 0.7.3 (2006-09-24): - Rewrote help texts of the utility programs and added version info. - Updated handbook to version 1.0.0. - Updated README file. - Fixed several issues in Smb4KFileIO: + Added a missing signal in Smb4KFileIO::write_lock_file(). + Fixed writing of /etc/sudoers under Ubuntu. - A host item will be closed (collapsed) if the authentication failed (closes #8325). - Fixed insertion of a host from the search dialog to the browser window when the host has no IP address displayed. - Added missing error code to Smb4KGlobal::showCoreError(). - The preview dialog won't accept the contents of a wrong address anymore. - The wallet will be reopened if it was closed by the user, the screensaver, etc. (closes #8558). - Reintroduced Chinese Traditional (zh_TW) translation. Many thanks go to Wei-Lun Chao for providing it. - Updated several translations. - The text streams are now aware of the locale. Smb4K 0.7.2 (2006-08-03): - Fixed another crash in Smb4KNetworkItemTooltip class. - Fixed missing header file in smb4kcore.cpp. - Shares having special characters in their names do not appear broken anymore (closes #8036, #8108). - Updated handbook. - Fixed removal of temporary files after printing. - Updated admin directory for autoconf 2.60 support. - Fixed a minor bug in search routine of the smb4k_cat utility. - Fixed potential crash in Smb4KApp::readOptions(). - Fixed compilation error of smb4k_umount.cpp on IRIX (closes #7927). - Fixed memory leak in Smb4KPrint::init(). - Updated several translations. Smb4K 0.7.1 (2006-06-18): - Fixed compilation error occurring with Smb4KBrowserWidgetItem::update() (closes #7261, #7263). - Fixed compilation error(s) in smb4k_umount.cpp under Solaris (closes #4419, #7269). - Updated translations. - Updated handbook. However, it's still work-in-progress. - Introduced the possibility to modify the length of the interval between checks for external mounts/umounts and dead shares. This is especially useful on systems with many mounted shares and/or to reduce the load on remote servers (closes #6907). - The timer will be disconnected from Smb4KScanner::start() if the scanner is idle (closes #6907). This drastically reduces the CPU load! - Fixed input validation when using smbclient for searching (closes #7429). - Fixed a bug that prevented the correct saving of updated authentication information. - Fixed smb4k.desktop file. - Removed two queries for a non-existent config entry. So, using Kerberos with smbclient works again and the domain is included in the argument string for nmblookup. - Made the synchronization progress dialog work correctly with the latest version of rsync. - Fixed broken translation in the Konqueror plugin. - Fixed a crash in the network browser's tooltip code. - Fixed several small issues in Smb4KFileIO. Smb4K 0.7.0 (2006-04-23): - KonqSidebar_Smb4K: hang up the new alreadyMountedShare signal from mounter. No error dialogs of "already been mounted share" anymore (partially closes #5636). - The old tab widget in the main window has been removed. - Added shortcuts to the main window that allow jumping to each dock widget: CTRL+1: Network Browser, CTRL+2/CTRL+S: Search Dialog, CTRL+3: Shares View. - Unified look of dialogs. - Did a major revision of the browser widget (GUI): + Introduced tooltips that carry information about the network item underneath the mouse pointer. + The master browser will be displayed with blue color. + The popup menu has the highlighted network item as title. + Improved the "Rescan" action. If you open the popup menu, the selected workgroup or server will be scanned. If you use the rescan action on the empty viewport or from the toolbar/menu, the old behavior will be preserved. + Moved "Mount Manually" action here. + Removed obsolete "This computer is already in the list." error message box. - Did a major revision of the search dialog (GUI): + Redesigned the widget and made it a stand-alone dock widget. + Hosts can be added by simply double clicking them (closes #2247). + A host that is already in the browse list is underlaid with the "button_ok" pixmap. This makes the "This computer is already in the list." message box obsolete (see above). - Did several changes to the shares view (GUI): + The popup menu has the share name as title. + Introduced tooltips that carry the information about the mounted share. + Replaced the old icon for broken shares by a a new combined icon (mounted hard drive overlayed by a semi-transparent cancel icon). + The item width of the share icons has been enlarged to 500 pixels in list mode. - The bookmark editor allows editing of the IP address and workgroup. - Put Smb4KShareWidgetItem class in own files. - Removed obsolete options "This master browser needs authentication" and "Use authentication when querying the workgroup master browsers" from the configuration dialog. - When closing the configuration dialog, the root password is only asked, if the user changed one of the super user options (partially closes #5636). - The removal of the super user entries from super.tab and/or sudoers is now determined by the choice in the configuration dialog. - Rewrote Smb4KSharesMenuWidget class. - Added new Smb4KShareActionMenu and Smb4KBrowserActionMenu classes. They contain the actions that were defined in Smb4KShareWidget and Smb4KBrowserWidget before,respectively. The use of Smb4KShareActionMenu in the system tray icon closes #5622. - Replaced deprecated KStdActions. - Introduced new Smb4KDataItem container for the core classes. - Revised bookmark handling: + The bookmark handler does not use KConfig anymore but has its own read and write functions. Thus, you won't be able to read the bookmark file with prior versions once you ran Smb4K 0.7.0. + The bookmarks are now stored with workgroup/domain and IP address (closes #6316). - The scanner class underwent a major revision: + The net command now replaces most of the smbclient command lines. This substantially simplifies the code and also seems to speed up the look-up processes. As a consequence, however, the support of Samba 2.2 has been dropped. + Implemented list of all discovered hosts in Smb4KScanner. This significantly reduces the network traffic. + Moved IP address look-up code to the scanner (and thus removed Smb4KIPFinder class). + Introduced a "background process" which processes the IP address look-up and the gathering of additional information (OS and server string). + An automatic rescan using the RAP protocol will be initiated if the query for the shares of a certain host failed because of the wrong protocol (closes #4417). + Added possibility to query the current workgroup master browser to retrieve the browse list. - Massively changed the entries and groups in the configuration file. As consequence, Smb4K will be incompatible with prior versions. - Added ability to synchronize a local copy with a remote share and vice versa (closes #1940). This feature uses Rsync. A few of the many options have been stripped, because they are used for transfer from remote hosts, which is no the case here. - Information of any share will now be collected by the mounter. Smb4KCore has been tidied up accordingly. Information of the number of files and directories has been dropped (for now). - Removed Catalan, Norwegian Nynorsk, Chinese Traditional (zh_TW) and Simplified (zh_CN), Russian and Polish translation because they were unmaintained and hopelessly out-dated. - Removed the Smb4KShellIO class, because its only purpose was to provide the Samba version. This is not necessary anymore, because we switched to Samba 3. - Introduced smb4k_cat and smb4k_mv utilities to read and copy/move system config files. - The handbook shipping with this release actually contains useful information. However, it is still work in progress. The license of the handbook has been changed from GFDL to GPL. - If a user tries to mount an already mounted share, no error message will be displayed anymore. - Renamed the global namespace to Smb4KGlobal and several functions inside. - Centralized the application's timer in the Smb4KGlobal namespace. As a side effect, this seems to fix the very-fast-vanishing-tooltips problem. - If the user canceled the writing to /etc/super.tab or /etc/sudoers, the previous state will be re-established. - Removed "Specify User" dialog from Smb4KBrowserWidget and moved it to Smb4KGlobal namespace. Now only core classes are using it. - Reworked and cleaned up Linux specific code in Smb4KMounter::import(). - Moved error handling to Smb4KGlobal namespace. The reason is, that the previous signal/slot model was not able to handle errors during the initialization of the core. - Removed Smb4KPasswordHandler::AskPass class and integrated its functionality into Smb4KPasswordHandler::askpass(). This should fix the compilation errors encountered when using MIPSpro Compilers on IRIX/MIPS (closes #6811). - When reading the smb.conf file, a line beginning with a semicolon is valued as comment. - Reduced CPU load by stretching the interval between checks for externally mounted and broken shares from 1000 ms to 2500 ms. Smb4K 0.6.10 (2006-04-17): - Fixed a bug in smb4k_umount that did not allow the unmounting of a share when the mount point was quoted. - Fixed a bug in smb4k_umount that did not allow the unmounting of a broken share. - [Patch 0.6.10a] Fixed input validation when using smbclient for searching (backport from 0.7 branch, closes #7429). - [Patch 0.6.10a] Fixed broken translations in Konqueror plugin. - [Patch 0.6.10a] Updated admin directory for autoconf 2.60 support. - [Patch 0.6.10a] Fixed removal of temporary files after printing. - [Patch 0.6.10a] Fixed smb4k.desktop file. - [Patch 0.6.10a] Fixed memory leak in Smb4KPrint::init(). - [Patch 0.6.10a] Fixed occurrence of annoying error dialog on start-up when a share had already been mounted. - [Patch 0.6.10a] Fixed a potential crash in Smb4KBrowserWidget::insertItem(). - [Patch 0.6.10a] The preview dialog won't accept the contents of a wrong address anymore. Smb4K 0.6.9 (2006-03-24): - Integrated startup fix for Samba 2.2 users by Chris Clayton and extented it. - Updated French and Czech translation. - The "Remove Entries" button in the "Super User" configuration tab will now be disabled together with the "Apply" and "OK" button if Smb4K writes to a system configuration file. Smb4K 0.6.8 (2006-02-24): - Fixed another bug in the bookmark menu widget. It will again be properly updated during run time, when bookmarks are added or removed. - Fixed enabling of "Authentication" action in browser widget. - Fixed a crash (NULL pointer access) in Smb4KShareWidget::slotMountedShares(), that was found by Glen Masgai, who also sent the patch. - Added support of mount.cifs and umount.cifs. This should enable users to mount CIFS shares as normal user depending on the configuration of the system and on the presence of these two utilities. NOTE: You have to set the setuid root bit for both binaries. - Revised start-up: Smb4K will run on systems where either only smbmount/ smbumount or mount.cifs/umount.cifs are present. Smb4K 0.6.7 (2006-02-05): - Fixed a crash in Smb4KBookmarkMenuWidget::insertBookmarks(), that was introduces by the "fix" in 0.6.6. - Updated Turkish translation. Smb4K 0.6.6 (2006-02-04): - Fixed too small buffer size in Smb4KUser on systems with many users and groups (closes #6070). - Fixed crash in Smb4KNetworkTab::slotKilled() (closes #3125). - Fixed these issues found by Marc Hansen (Thanks!): + crash in Smb4KBrowserWidget::slotMembers() + searching for illegal strings such as #, ', () shows search command as search result + the application might crash if you press "Apply" and "OK" successively in the configuration dialog and system files have to be written (As consequence, the OK and the Apply button will be disabled while the configuration is written to disk.) + shares are displayed although the user has to supply a password + printer shares are displayed although they are disabled in the configuration dialog + crash in Smb4KBookmarkMenuWidget::insertBookmarks() (closes #6146) + unusable entries were written when the user bookmarked a 'homes' share without providing a user name - Fixed the broken writing to the configuration file and the popping up of multiple information dialogs in Smb4KPasswordHandler. Smb4K 0.6.5 (2006-01-07): - Fixed writing to ~/.nsmbrc file under FreeBSD. - Fixed freezing of Smb4K when a share went offline (closes #3676). Smb4K will lock-up for a short amount of time if it encounters a broken share and will then continue its work without any problems. - Fixed the generation of wrong file permissions for /etc/sudoers and /etc/super.tab, respectively. The permissions are no longer hard coded, but the stat() system call is used to read the original permissions that will then be preserved. - Introduced global KConfig object and ported all classes to use it. - Fixed login problem when trying to preview a WinXP share or similar. - Added support of the 'include' directive in the smb.conf file (closes #5948). NOTE: The file that is to be included *must* be given with its full path! - Moved from getgrgid() to getgrgid_r() in Smb4KUser. This should close the "Smb4KUser: Could not get group name!" issue also known as #4914. - KonqSidebar_Smb4K: switched to global config system. Now parameters changed from the option dialog have effect into the konqueror plugin. - Executing a network item in the browser by clicking its name (not the [+]) will show/hide its contents (closes #3352). Smb4K 0.6.4 (2005-10-30): - REALLY fixed the security issues in Smb4KFileIO. Now, temporary files and directories are used to copy and modify sensitive data and the lock file is checked to be not a symlink. - Fixed unmount-all-shares-on-exit functionality, that was broken due to changes that were applied to the smb4k_umount utility program in earlier versions of Smb4K. - Fixed forced unmounting of shares. - Fixed running progress bar after you denied the forced unmounting of a share. - Fixed missing exit( EXIT_FAILURE ) statement in smb4k_umount utility. - Fixed several memory leaks. - Fixed compilation error under FreeBSD. - The PASSWD environment variable will be preserved when the 'env_reset' flag has been set in /etc/sudoers (closes #4945). The user needs to rewrite the entries, though. See FAQ for details. Smb4K 0.6.3 (2005-08-31): - Fixed security issue: An attacker could get access to the full contents of the /etc/super.tab or /etc/sudoers file by linking a simple text file FILE to /tmp/smb4k.tmp and /tmp/sudoers, respectively, because Smb4K didn't check for the existance of these files before writing any contents. When using super, the attack also resulted in /etc/super.tab being a symlink to FILE. - Included three patches by Montel Laurent, that + add moc file inclusion to the bookmark editor, + fix a memory leak in the Konqueror plugin, + fix ./smb4k/Makefile.am, + disable the OK button of the mount dialog if the input line is empty. Smb4K 0.6.2 (2005-08-29): - Fixed security issue: When ignoring the kdesu dialog a copy of the super.tab file was left under /tmp. - Error messages won't pop up anymore when ignoring the kdesu dialog. The reporting of unknown errors has been disabled in Smb4KFileIO::slotReceivedStderr() (closes #4309). - Fixed reading of authentication data. - Removed check for mount.smbfs (under Linux) which is actually needless because it is either a symlink to smbmount or nonexistent. - Updated ./admin directory. Smb4K now needs automake 1.9. - Fixed command line for mount.cifs (closes #4854). The 'domain' instead of the 'workgroup' option is used. - Fixed crash when the user clicked the "Show search dialog" action and the tab group widget wasn't shown. Smb4K 0.6.1 (2005-07-31): - Improved lock file handling (closes #4310). Now the editing of a system file is only denied, if another instance of Smb4K (i. e. another user) is modifying the same system file. Additionally, the lock file will now be removed (or processed), if the application emits the shutDown() signal. - Fixed a bug in the code that removes the entries from the sudoers file. - Fixed wrong assignment of RAP protocol config entry to RPC radio button in configuration dialog. - Moved to QString::compare() to compare strings, because "==" caused crashes under certain circumstances (closes #3604). - The wallet won't be opened on start-up but when a password is actually needed. Smb4K 0.6.0 (2005-06-17): - Rewrote password handling: Added KWallet support as default method (closes #3695). If you do not want to use KWallet, login information won't be saved but only stored temporarily. There is also the possibility to deny the password storage altogether. ATTENTION: If you deny access to the wallet on the first start-up, all passwords stored in the passwords file will be lost! - Improved FreeBSD support. The passwords will now be stored encrypted in the ~/.nsmbrc file. - Added Dutch translation. - Put the core and (most of) the widget classes into shared libraries. - The DNS won't be queried anymore when doing an IP lookup. - Added Konqueror plugin by Massimo Callegari (closes #2731). An installation of KDE Base is necessary to make it compile. - Moved to default KDE icons for the network items. - Added support of the 'net' command (closes #2227). This adds the advantage of the ADS and RPC protocol being used and even very large share names will be displayed. Additionally, it seems to significantly speed up the lookup process. Smb4K will automatically use the 'net' command if found on the system. There is a disadvantage though: A valid login and password are necessary to logon to a server. If neither is known, Smb4K will try to authenticate with the 'guest' user and an empty password. This will work with (almost all) Windows machines and with Samba servers that have set the security option to SHARE. For all others you will have to provide a login and password. - Added namespace Smb4K_Global which contains functions used by several classes. - Improved KAction handling in popup menus. - Added a patch by Nuts Mueller that adds /usr/local/bin and /usr/local/sbin to the paths that are searched by the utility programs. - Added a patch by Steven Lawrance that fixes buffer size problems in the Smb4KUser constructor. - Fixed mounting via bookmarks (ampersand issue). - Added FAQ file. - Redesigned some widgets in the configuration dialog. - Cleaned many strings from full stops and exclamation marks (closes #2869). - Fixed crash in Smb4KBrowserWidget::slotAddIPAddress() that occurred when opening a workgroup (closes #3351). Thanks go to Nuts Mueller who helped me finding the problem. - Implemented 'iocharset' option for CIFS mounts (closes #4071). - Fixed mounting of CIFS shares. The file_mode and dir_mode options were not provided in octal which resulted in broken mounts that could not be accessed. - Fixed the "probably not smb-filesystem" issue (closes #1837). Smb4K 0.5.2 (2005-03-27): - Fixed naming of Norwegian translations. - Fixed crash that appeared when trying to determine the disk usage. Thanks go to Bamfox who helped me finding the problem. - Added Icelandic and Danish translation; updated Chinese Simplified translation. - Added additional cleaning of the mount prefix on exit. - Added patch by Yura Pakhuchiy that fixes wrong IP address resolution for hosts starting with a hyphen. - Fixed problems with special characters in passwords (closes #3444, #3728). - The warning that Konqueror might hang if you open CIFS shares will only be shown with KDE <= 3.3.92. Thanks go to Stefan Gehn (aka mETz) who send a patch. - Fixed compilation errors under FreeBSD. - Improved printing by switching to smbspool. Smb4K 0.5.1 (2005-01-30): - Reduced CPU load by using QDir::isReadable() and QDir::exists() instead of QDir::entryList() to determine if a share is broken and by increasing the check interval for external mounts/unmounts. - Fixed crash that occurred when trying to forcibly unmount a (broken) share (should close #3029). - Fixed mandatory password input for browsing (unprotected) WinXP shares. - Added patch #303 by Ian Abbott that fixes the failure of smb4k_mount, smb4k_umount and smb4k_kill in the case the user does not have read access to mount/umount/smbmount/smbumount/kill (closes #3094). - Updated French translation. - Added Chinese (Taiwan) translation. Thanks go to Jack Liu. - Fixed unmounting of hidden shares. Smb4K 0.5.0 (2005-01-11): - Only one instance of Smb4K can be started (closes #2636). - The hide/close behavior is now KDE compliant. - Removed Smb4KStarter class and distributed its duties to the Smb4KCore class and the main() function. - Added support of sudo (closes #2222). - Added support of the CIFS file system (closes #1874). Samba 3 is required. - Introduced smb4k_mount, smb4k_umount, and smb4k_kill utilities and ported classes to use them. This fixes several security concerns regarding the use of mount and umount with super (and sudo). - Closed several memory leaks. - Replaced the QSplitters in the main window by KDockWidgets. Now, you can move the network browser and tab widget around or even detach them. - Removed the Smb4KView class. - Moved to nice KActionMenus. This included a complete rewrite of the Smb4KSystemTray and Smb4KBookmarkMenuWidget classes (closes #2007). - Mounted shares are optically advertized in the browser widget. - If the mountpoint can't be created, an error message will be emitted and the mounter will exit. - Every mountpoint within the mount prefix will automatically be removed after the share was unmounted. This made the "Clean up default directory on exit." option obsolete. - Share names containing blanks are fully supported. LIMITATION: If Smb4K cannot figure out, that the share contains a blank instead of an underscore, the latter one will be shown. - Removed the readOptions() functions from the core classes. Options are now read when they are needed (i.e. at the beginning of a function). - Changed the format of the entries in the super.tab file. It's not compatible with the old one and will be converted on the first program start. - Revised Smb4KBookmarkHandler class and moved the bookmark editor to its own class. - Disk usage information is now provided by the statvfs() system call. *** Program freezes may still happen if the network connection is bad or the share vanishes. Help is wanted to fix this issue! *** - Improved Smb4KShareWidgetItem class and cleaned up Smb4KShareWidget class. - Added Czech and Turkish translations. Thanks go to Alois Nespor and G�kem Cetin. - Added "Super User" tab to configuration dialog and moved the "Super User Privileges" options there. - Reorganized and cleaned up the configuration file. - Restricted the "Unmount all shares on exit." option to those shares that are owned by the user. - Removed "obsolete" '-N' options from smbclient commands. Instead '-U %' is used which serves the same purpose. - Fixed searching for hosts via smbclient. Hosts that are not available are no longer reported as existent. - Added the ability to mount shares manually (closes #1640, #2546). - Redesigned the askpass dialog and added information why it is shown (closes #2226). - IP addresses are now also assigned correctly if host names are partly the same (closes #2769). - Improved support of FreeBSD. - Included patch #286 by Andrei Bulava to add codepage cp1251 to Linux charset selection (closes #2962). - Enhanced source code documentation. - Broken shares (i.e. empty CDROM shares, etc.) are marked as such and the user will only be able to unmount them. No other actions may be performed. (closes #2998, #3000) REMARK: This feature does not include shares that got unavailable due to the shut-down of a server. This issue is still NOT solved. Smb4K 0.4.1a (2004-09-04): - Fixed severe bug in Smb4KMounter::unmountAll(), which led under certain circumstances to complete data loss on remote shares. Thanks go to Jeremy Shaw for informing us and sending a patch. - Updated French and Polish translations. - Added missing connection to Smb4KApp::slotQuit() to system tray. Smb4K 0.4.1 (2004-08-29): - Fixed multiple occurrences of workgroups in the browser widget. - Fixed malfunction when super program was chosen and became deinstalled. - Fixed handling of passwords with special characters (closes #2146). - Fixed problems opening shares with Konqueror by moving from KApplication::invokeBrowser() to KRun. - Fixed two potential crashes by adding NULL pointers to the return statements of Smb4KMounter::findShareByName() and Smb4KMounter::findShareByPath(). - Fixed blocking of KDE's logout if the main window was open. - Added Smb4KCore class as container for all core classes. - Centralized error message handling in Smb4KCore. - Added error messages for errors that might occur while trying to mount a share. - Added ability to print PS and PDF files directly over the net (closes #1737). This is still experimental. To have full functionality, you'll have to have the programs 'dvips' and 'enscript' installed. - Added error codes to smb4kdefs.h file and ported core classes to use them. - Added Japanese, Bulgarian and Norwegian translations. Thanks go to Toyohiro Asukai, Atanas Mavrov and Nils Kristian Tomren for providing them. - Removed abandoned Russian and Catalan translations. - Added several codepages (closes #2094). - Added Smb4KShellIO class, that takes care of all shell IO operations, that are not connected to mounting and unmounting of shares and network operations. Moved Smb4KShareTab's shell operations there. - Printer shares are shown by default. - Changed default behavior if a WINS server was found: The network instead of the WINS will be queried to get the browse list. - Revised the configuration dialog. Most important change is, that the config dialog does not need that much space anymore. - Sped up the retrieval of IP addresses in the Smb4KIPFinder class. - Revised mouse handling in Smb4KShareWidget class. - Smb4K can detect the IP address also with Samba pre-releases correctly. - Ported Smb4KScanner, Smb4KBrowserWidget and Smb4KBrowserWidgetItem classes to use Smb4K*Item containers. - Revised code in Smb4KPasswdReader class and renamed several functions. - Rewrote program detection in Smb4KStarter (closes #1861). - Major revision of Smb4KMounter class. Many functions have been modified and many bugs fixed. Smb4K 0.4.0 (2004-05-02): - This version REQUIRES KDE 3.2.0 or higher. - Fixed unmounting of all shares upon exit. - Fixed several memory leaks (closes #1144). - Fixed layout problem with Plastik theme in the network tab of the configuration dialog. - Fixed unmounting of shares that contain parentheses. - Added ability to execute mount and umount SUID root. This feature requires the program super [ftp://ftp.ucolick.org/pub/users/will/]. - Added ability to force the unmounting of dead shares (closes #764). This feature requires Linux kernel 2.4.11 or later, a recent util-linux package and the program super. - Added the ability to bookmark shares (closes #1319). - Added special handling of 'homes' shares. - Added system tray icon for the application with the ability to open mounted shares and to open the configuration dialog. It shows also available bookmarks. - With the implementation of the system tray, the application is started minimized. - Added support of advanced Samba options (closes #1359 and #1488). - Added ability to authenticate to master browsers when retrieving browse lists (closes #1439). - Added ability to select the program used for network searches (closes #1501). - Added searching for hosts via IP addresses. - Added detection, displaying and usage of IP addresses. - Added user and group information to the "Share" tab. - Added the ability to allow the user to unmount shares that are not owned by him/her. This feature is off by default. - Added "Quit" and "Configure Smb4K..." action to toolbar. - Added French, Slovak and Spanish translation. Thanks go to Nicolas Ternisien Michal Sulek and Quique for providing them. - Revised the Smb4KStarter class: added detection of mandatory programs and Samba's version; added error message box that reports missing programs; removed the splash screen; moved the mounting of recently used shares to the Smb4KMounter class. - Revised the Smb4KPasswdReader class and removed some bugs. - Revised the Smb4KShareWidget and Smb4KShareWidgetItem classes. - Improved the error messages of the configuration dialog. - Improved the status bar message handling and made Smb4K more communicative. - Revised the process of handling the list of mounted shares centralizing it with Smb4KShare - Moved error dialogs to the core classes. - Moved desktop entry to category "Utilities". Smb4K 0.3.2 (2004-01-16): - Fixed crash in Smb4KBrowserWidget class (closes #1145). - Fixed hanging when exiting after long use. - Fixed generation of wrong address entry after using the combo box to switch directories in the preview dialog. - Fixed a bug in search tab, that led to an insertion attempt of a non-existent share when clicking 'Add' after clearing. - Fixed handling of passwords containing special characters (closes #1182). - Fixed compilation error with KDE 3.2 pre-releases. - Added ability to force the generated subdirectories to be lower case. - Added weak password obfuscation. NOTE: After the first use the authentication info won't be usable for prior version of Smb4K. - Added ability to hide shares that are not owned by the user. - Added Brazilian Portuguese, Ukrainian, and Hungarian translation. Thanks go to Giovanni Degani, Ivan Petrouchtchak, and Karoly Barcza for providing them. - Added ability to navigate through the main window's tabs by pressing the shortscuts CTRL+1/2/3. - Added OS and version detection. - Added credits. - Added default login (closes #1133). - Added support for empty passwords (closes #1268 and #1269). - Removed the preview's info dialog. - Revised shares view: major feature enhancements and new look. - Revised the Smb4KMounter class: major improvements and bug fixes. - Revised the Smb4KScanner class: major improvements and bug fixes. - Revised share tab. - Revised network browser widget. - Revised configuration dialog; renamed and added pages; options will also be reread when pressing "Apply"; moved some configuration entries. - Rewrote Smb4KStarter class and added major enhancements. - Rewrote internal communication infrastructure. - Renamed some pages of the configuration dialog (and their classes too). - All buttons now respect KDE's global option "Show icons on buttons". - Unified error message boxes. Smb4K 0.3.1 (2003-11-14): - Fixed a crash in the browse window. - Fixed duplicate share entries. - Added status messages for the mount process. - Added titles to the pop-up menus. - Added progress bar to the splash screen. - Added Chinese (zh_CN) and Russian translation. Thanks go to Nick Chen and Yudin Stanislav for providing them. - Added monitoring of selected share to "Share" tab. - Added ability to open a share by executing it. - Revised internal communication of the program parts. - Revised core classes: many changes and bug fixes were done; source code documentation has been improved. - Improved the authentication tab of the configuration dialog. - Improved preview dialog and fixed handling of hidden files/directories. - Improved error handling of the browse code. - Improved status bar and added progress bar to it. - Improved WINS server support. - The search function now uses nmblookup, which makes it more reliable. - The "ERRDOS - ERRnoaccess" error message is now respected by the mounter. - Only one global password reader instance is used. - And, as always: Some more improvements and minor bug fixes. Smb4K 0.3.0a (2003-09-21): - Fixed crash upon start-up. Smb4K 0.3.0 (2003-09-19): - Fixed faulty checking during mount process. - Fixed the host-in-wrong-workgroup problem. - Fixed truncated workgroup entries, if the WINS server was queried. - Fixed crash, if the user pressed CTRL+U and no share was highlighted. - Fixed bug in the "Unmount All" routine. - Fixed bug #765: Shares that contain spaces (e. g. "Shared Files") are handled correctly. - Added popup menu to the browser window. - Added preview of network shares. - Added authentication dialog. - Added request buffering to the browse and mount code. - Added selection of the look-up method. - Added directory info to "Share" tab; made overall improvements. - Added type info to the "Network" tab. - Added nice caption. - Added Polish translation. Thanks go to Radoslaw Zawartko for providing it. - Added detection of external mounts/unmounts during program run. - Improved "splash screen". - /usr/local/etc (FreeBSD) is searched for smb.conf, too. - Merged Smb4KSearch and Smb4KScanner core classes. - Removed KProcess::setEnvironment() stuff from the browse and mount code. It only caused problems. - Changed password handling. Passwords for single shares can be defined. Unfortunaltelly, it is INCOMPATIBLE with the old one. Sorry, folks! - Scanning for Server and OS info is only done, if it is necessary. - Clicking onto an empty space in the browser window will hide the entries in the "Network" tab. - And, as always: Some more improvements and minor bug fixes. Smb4K 0.2.1 (2003-06-28): - Fixed hanging of Smb4K when exiting via File->Quit. - Fixed wrong master entry for hosts, that were added by a network search. - Fixed duplicate workgroup entries. - Fixed several problems in the browse code. - Fixed a crash in the "Logins" config tab. - Improved the "Network" and "Share" tab. - Improved the share view's popup menu. - Redesigned the configuartion dialog. Now it complies with KDE standards. - Added Catalan translation. Many thanks go to Leopold Palomo Avellaneda for providing it. - Added Swedish translation. - Added experimental WINS server support. - Separated KProcess stuff from the widget classes. - Login information is stored in a separate file with strict permissions. - Many more improvements, bug fixes and code clean-ups. Smb4K 0.2.0a (2003-06-11): - Fixed truncated kde_qt_dirs variable in the configure script. The compilation problems with Red Hat and other distributions should be gone now. - Fixed a bug in the browse code, that made the browse lists of some hosts inaccessible under certain circumstances. - Fixed a bug in the mount routine, that prevented a share from being displayed, if output appeared on stdout/stderr during mounting. Smb4K 0.2.0 (2003-05-31): - Fixed two bugs, that prevented the "Abort" action from being disabled after a network scan. - Fixed the annoying disappearance of the type and comment entries in the browser window after the configuration dialog was closed. - Fixed a bug in the "Network" and "Share" tab, that made the entries appear clustered in the upper left corner. - Fixed wrong nmblookup command line, that made Smb4K not work with Samba >=3.0alpha24. - Added possibility to unmount all shares at once (even on exit). - Added option to mount recently used shares on start-up. - Added basic network search. - Added icons to all tabs. - Added shortcuts. - Redesigned the tabs in the configuration dialog. - The "Network" tab now shows the comment at all times. - The widget sizes can freely be adjusted and will be restored on start-up. There are no hard coded values anymore. - Many other bug fixes, internal changes and code clean-ups. Smb4K 0.1.1 (2003-04-20): - Actions are only enabled, when they are needed. - New program icon. It comes from the Crystal 0.85 icon set. - Added explanation to the "Logins" tab of the configuration dialog. - Labels were shortened and unified. - Printer shares can be hidden now. - Added comment to the network info tab. Whether the comment will be shown depends on your choice in the configuration dialog. - A few more bug fixes and improvements I can't remember exactly. Smb4K 0.1.0 (2003-04-14): - Initial release.