SVN commit 1217145 by belem: Fix net usershare acl parser, missing include and share verification. M +4 -2 ksambashare.cpp M +1 -0 ksambasharedata.h --- trunk/KDE/kdelibs/kio/kio/ksambashare.cpp #1217144:1217145 @@ -257,7 +257,7 @@ KSambaShareData::UserShareError KSambaSharePrivate::isAclValid(const QString &acl) const { - const QRegExp aclRx("((?:(\\w\\s)+\\|)(\\w\\s)+):([fFrRd])(?:,|)"); + const QRegExp aclRx("(?:(?:(\\w+\\s*)\\\\|)(\\w+\\s*):([fFrRd]{1})(?:,|))+"); // TODO: check if user is a valid smb user return aclRx.exactMatch(acl) ? KSambaShareData::UserShareAclOk : KSambaShareData::UserShareAclInvalid; @@ -286,12 +286,14 @@ QByteArray stdErr; if (data.contains(shareData.name())) { + if (data.value(shareData.name()).path() != shareData.path()) { return KSambaShareData::UserShareNameInUse; } - + } else { // It needs to be added here, otherwise another instance of KSambaShareDataPrivate // will be created and added to data. data.insert(shareData.name(), shareData); + } QString guestok = QString("guest_ok=%1").arg( (shareData.guestPermission() == KSambaShareData::GuestsNotAllowed) --- trunk/KDE/kdelibs/kio/kio/ksambasharedata.h #1217144:1217145 @@ -22,6 +22,7 @@ #define ksambasharedata_h #include +#include class QString; class KSambaShare;