Hello community, here is the log from the commit of package kdebase4-runtime for openSUSE:Factory checked in at Mon Jul 4 15:23:09 CEST 2011.
-------- --- KDE/kdebase4-runtime/kdebase4-runtime.changes 2011-06-02 19:53:37.000000000 +0200 +++ /mounts/work_src_done/STABLE/kdebase4-runtime/kdebase4-runtime.changes 2011-07-01 11:41:57.000000000 +0200 @@ -1,0 +2,8 @@ +Fri Jul 1 11:41:54 CEST 2011 - [email protected] + +- update to 4.6.5 + * Bugfixes over KDE 4.6.5 + * see http://kde.org/announcements/changelogs/changelog4_6_4to4_6_5.php for details + + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- kdebase-runtime-4.6.4.tar.bz2 New: ---- kdebase-runtime-4.6.5.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdebase4-runtime.spec ++++++ --- /var/tmp/diff_new_pack.gW9BOW/_old 2011-07-04 15:21:00.000000000 +0200 +++ /var/tmp/diff_new_pack.gW9BOW/_new 2011-07-04 15:21:00.000000000 +0200 @@ -22,7 +22,7 @@ Group: System/GUI/KDE Summary: The KDE Runtime Components Url: http://www.kde.org/ -Version: 4.6.4 +Version: 4.6.5 Release: 1 BuildRequires: libkde4-devel >= %version BuildRequires: NetworkManager-devel bluez-devel libqimageblitz-devel openslp-devel ++++++ kdebase-runtime-4.6.4.tar.bz2 -> kdebase-runtime-4.6.5.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdebase-runtime-4.6.4/CMakeLists.txt new/kdebase-runtime-4.6.5/CMakeLists.txt --- old/kdebase-runtime-4.6.4/CMakeLists.txt 2011-06-02 19:27:35.000000000 +0200 +++ new/kdebase-runtime-4.6.5/CMakeLists.txt 2011-06-30 23:48:52.000000000 +0200 @@ -10,8 +10,8 @@ endif(WINCE) #search packages used by KDE -set(KDE_MIN_VERSION "4.6.4") # for the < 4.2 macro -find_package(KDE4 4.6.4 REQUIRED) +set(KDE_MIN_VERSION "4.6.5") # for the < 4.2 macro +find_package(KDE4 4.6.5 REQUIRED) find_package(Strigi REQUIRED) include(KDE4Defaults) Files old/kdebase-runtime-4.6.4/doc/documentationnotfound/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/documentationnotfound/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/attica/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/attica/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/bookmarks/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/bookmarks/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/cache/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/cache/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/componentchooser/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/componentchooser/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/cookies/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/cookies/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/ebrowsing/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/ebrowsing/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/emoticons/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/emoticons/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/filemanager/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/filemanager/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/filetypes/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/filetypes/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/history/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/history/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/icons/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/icons/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/kcmcgi/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/kcmcgi/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/kcmcss/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/kcmcss/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/kcmlaunch/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/kcmlaunch/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/kcmnotify/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/kcmnotify/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/kded/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/kded/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/khtml-adblock/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/khtml-adblock/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/khtml-behavior/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/khtml-behavior/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/khtml-java-js/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/khtml-java-js/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/khtml-plugins/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/khtml-plugins/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/language/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/language/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/nepomuk/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/nepomuk/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/netpref/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/netpref/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/performance/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/performance/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/phonon/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/phonon/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/proxy/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/proxy/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/smb/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/smb/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/solid-device-automounter/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/solid-device-automounter/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/spellchecking/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/spellchecking/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/trash/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/trash/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kcontrol/useragent/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kcontrol/useragent/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kdebugdialog/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kdebugdialog/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kdesu/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kdesu/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/khelpcenter/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/khelpcenter/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/kioslave/nepomuksearch/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/kioslave/nepomuksearch/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/knetattach/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/knetattach/index.cache.bz2 differ Files old/kdebase-runtime-4.6.4/doc/onlinehelp/index.cache.bz2 and new/kdebase-runtime-4.6.5/doc/onlinehelp/index.cache.bz2 differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdebase-runtime-4.6.4/kioslave/info/kde-info2html new/kdebase-runtime-4.6.5/kioslave/info/kde-info2html --- old/kdebase-runtime-4.6.4/kioslave/info/kde-info2html 2011-02-25 22:54:12.000000000 +0100 +++ new/kdebase-runtime-4.6.5/kioslave/info/kde-info2html 2011-06-30 23:48:52.000000000 +0200 @@ -938,7 +938,7 @@ $prev = $Line; $Line =~ s{- (Variable|Function|Macro|Command|Special Form|User Option):.*$}{<strong>$&</strong>}; $Line =~ s/`([^']*)'/`<span class="option">$1<\/span>'/g; #' - $Line =~ s/((news|ftp|http):\/\/[A-Za-z0-9\.\/\#\-_\~]*)/<a href="$1">$1<\/a>/g; + $Line =~ s/((news|ftp|http):\/\/[A-Za-z0-9\.\/\#\-_\~\?\=\%]*)/<a href="$1">$1<\/a>/g; $Line =~ s/([A-Za-z0-9\.\/\#\-_\~]*\@[A-Za-z0-9\.\/\#\-_\~]*\.[A-Za-z]{2,3})/<a href="mailto:$1">$1<\/a>/g; $Par = $Par . $Line; $ParLines[$ParLine] = $Line; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdebase-runtime-4.6.4/kioslave/thumbnail/imagethumbnail.desktop new/kdebase-runtime-4.6.5/kioslave/thumbnail/imagethumbnail.desktop --- old/kdebase-runtime-4.6.4/kioslave/thumbnail/imagethumbnail.desktop 2011-04-28 15:15:29.000000000 +0200 +++ new/kdebase-runtime-4.6.5/kioslave/thumbnail/imagethumbnail.desktop 2011-06-30 23:48:52.000000000 +0200 @@ -63,6 +63,6 @@ Name[zh_CN]=图像 (GIF、PNG、BMP ...) Name[zh_TW]=影像(GIF、PNG、BMP...) X-KDE-ServiceTypes=ThumbCreator -MimeType=image/cgm;image/fax-g3;image/gif;image/jp2;image/png;image/tiff;image/bmp;image/x-dds;image/x-ico;image/x-jng;image/x-pcx;image/x-photo-cd;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-rgb;image/x-tga;image/x-wmf;image/x-xbitmap;image/x-xcf;image/x-xfig;image/x-xpixmap;image/x-sun-raster;image/vnd.adobe.photoshop;image/x-psd;image/x-hdr;image/x-pic; +MimeType=image/cgm;image/fax-g3;image/gif;image/jp2;image/png;image/tiff;image/bmp;image/x-dds;image/x-ico;image/x-jng;image/x-pcx;image/x-photo-cd;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-rgb;image/x-tga;image/x-wmf;image/x-xbitmap;image/x-xcf;image/x-xfig;image/x-xpixmap;image/x-sun-raster;image/vnd.adobe.photoshop;image/x-psd;image/x-hdr;image/x-pic;image/vnd.microsoft.icon;image/x-icon; X-KDE-Library=imagethumbnail CacheThumbnail=true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdebase-runtime-4.6.4/kurifilter-plugins/ikws/searchproviders/fr2en.desktop new/kdebase-runtime-4.6.5/kurifilter-plugins/ikws/searchproviders/fr2en.desktop --- old/kdebase-runtime-4.6.4/kurifilter-plugins/ikws/searchproviders/fr2en.desktop 2011-02-25 22:54:12.000000000 +0100 +++ new/kdebase-runtime-4.6.5/kurifilter-plugins/ikws/searchproviders/fr2en.desktop 2011-06-30 23:48:52.000000000 +0200 @@ -63,7 +63,7 @@ Name[pa]=WordReference.com ਟਰਾਂਸਲੇਸ਼ਨ:ਫਰੈਂਚ ਤੋਂ ਅੰਗਰੇਜ਼ੀ Name[pl]=WordReference.com: francuski -> angielski Name[pt]=Tradução do WordReference.com: Francês para Inglês -Name[pt_BR]=WordReference.com - Tradução: francês para inglês +Name[pt_BR]=WordReference.com - Tradução: francês para inglês Name[ro]=Traducere WordReference.com: franceză la engleză Name[ru]=Переводчик WordReference.com: французско-английский Name[se]=WordReference.com – jorgaleapmi: fránskkagielas eŋgelasgillii diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdebase-runtime-4.6.4/kurifilter-plugins/ikws/searchproviders/rfc.desktop new/kdebase-runtime-4.6.5/kurifilter-plugins/ikws/searchproviders/rfc.desktop --- old/kdebase-runtime-4.6.4/kurifilter-plugins/ikws/searchproviders/rfc.desktop 2011-02-25 22:54:12.000000000 +0100 +++ new/kdebase-runtime-4.6.5/kurifilter-plugins/ikws/searchproviders/rfc.desktop 2011-06-30 23:48:52.000000000 +0200 @@ -145,7 +145,6 @@ Query[oc]=http://www.ietf.org/rfc/rfc\\{@}.txt Query[or]=http://www.ietf.org/rfc/rfc\\{@}.txt Query[pa]=http://www.ietf.org/rfc/rfc\\{@}.txt -Query[pl]=http://www.ietf.org/rfc/rfc\\{@}.txt Query[pt]=http://www.ietf.org/rfc/rfc\\{@}.txt Query[pt_BR]=http://www.ietf.org/rfc/rfc\\{@}.txt Query[ro]=http://www.ietf.org/rfc/rfc\\{@}.txt @@ -154,10 +153,10 @@ Query[si]=http://www.ietf.org/rfc/rfc\\{@}.txt Query[sk]=http://www.ietf.org/rfc/rfc\\{@}.txt Query[sl]=http://www.ietf.org/rfc/rfc\\{@}.txt -Query[sr]=http://www.ietf.org/rfc/rfc\\{@}.txt -Query[sr@ijekavian]=http://www.ietf.org/rfc/rfc\\{@}.txt -Query[sr@ijekavianlatin]=http://www.ietf.org/rfc/rfc\\{@}.txt -Query[sr@latin]=http://www.ietf.org/rfc/rfc\\{@}.txt +Query[sr]=http://tools.ietf.org/html/rfc\\{@} +Query[sr@ijekavian]=http://tools.ietf.org/html/rfc\\{@} +Query[sr@ijekavianlatin]=http://tools.ietf.org/html/rfc\\{@} +Query[sr@latin]=http://tools.ietf.org/html/rfc\\{@} Query[sv]=http://www.ietf.org/rfc/rfc\\{@}.txt Query[ta]=http://www.ietf.org/rfc/rfc\\{@}.txt Query[te]=http://www.ietf.org/rfc/rfc\\{@}.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdebase-runtime-4.6.4/kurifilter-plugins/shorturi/kshorturifilter.cpp new/kdebase-runtime-4.6.5/kurifilter-plugins/shorturi/kshorturifilter.cpp --- old/kdebase-runtime-4.6.4/kurifilter-plugins/shorturi/kshorturifilter.cpp 2011-02-25 22:54:12.000000000 +0100 +++ new/kdebase-runtime-4.6.5/kurifilter-plugins/shorturi/kshorturifilter.cpp 2011-06-30 23:48:52.000000000 +0200 @@ -23,15 +23,7 @@ #include "kshorturifilter.h" -#include <stdlib.h> -#include <unistd.h> -#include <pwd.h> -#include <sys/stat.h> - -#include <QDir> -#include <QRegExp> -#include <QList> - +#include <QtCore/QDir> #include <QtDBus/QtDBus> #include <kdebug.h> @@ -43,11 +35,8 @@ #include <kconfiggroup.h> #include <kauthorized.h> #include <kmimetype.h> - -#define FQDN_PATTERN "(?:[a-zA-Z0-9][a-zA-Z0-9+-]*\\.[a-zA-Z]+)" -#define IPv4_PATTERN "[0-9]{1,3}\\.[0-9]{1,3}(?:\\.[0-9]{0,3})?(?:\\.[0-9]{0,3})?" -#define IPv6_PATTERN "^\\[.*\\]" -#define ENV_VAR_PATTERN "\\$[a-zA-Z_][a-zA-Z0-9_]*" +#include <kuser.h> +#include <kde_file.h> #define QL1S(x) QLatin1String(x) #define QL1C(x) QLatin1Char(x) @@ -63,59 +52,21 @@ typedef QMap<QString,QString> EntryMap; -#if 0 -static QString stringDetails( const QString& str ) -{ - if ( str.isNull() ) - return QL1S( "<null>" ); - else if ( str.isEmpty() ) - return QL1S( "<empty>" ); - else - return str; -} -#endif +static QRegExp sEnvVarExp (QL1S("\\$[a-zA-Z_][a-zA-Z0-9_]*")); -static bool isValidShortURL( const QString& cmd ) +static bool isPotentialShortURL(const QString& cmd) { - // Examples of valid short URLs: - // "kde.org", "foo.bar:8080", "[email protected]:3128" - // "192.168.1.0", "127.0.0.1:3128" - // "[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]" - QRegExp exp; - - // Match FQDN_PATTERN - exp.setPattern( QL1S(FQDN_PATTERN) ); - if ( cmd.contains( exp ) ) - { - //kDebug(7023) << cmd << " matches FQDN_PATTERN" << endl; -#if 0 - // something like wallpaper.png also matches a the FQDN pattern - // but is very unlikely to be meant as such - if (KMimeType::findByPath(cmd) != KMimeType::defaultMimeTypePtr()) - return false; -#endif - - return true; - } - - // Match IPv4 addresses - exp.setPattern( QL1S(IPv4_PATTERN) ); - if ( cmd.contains( exp ) ) - { - //kDebug(7023) << cmd << " matches IPv4_PATTERN" << endl; - return true; - } + // Host names and IPv4 address... + if (cmd.contains(QLatin1Char('.'))) { + return true; + } - // Match IPv6 addresses - exp.setPattern( QL1S(IPv6_PATTERN) ); - if ( cmd.contains( exp ) ) - { - //kDebug(7023) << cmd << " matches IPv6_PATTERN" << endl; - return true; - } + // IPv6 Address... + if (cmd.startsWith(QLatin1Char('[')) && cmd.contains(QLatin1Char(':'))) { + return true; + } - //kDebug(7023) << cmd << "' is not a short URL." << endl; - return false; + return false; } static QString removeArgs( const QString& _cmd ) @@ -167,6 +118,22 @@ KUrl url = data.uri(); QString cmd = data.typedString(); + + // WORKAROUND: Allow the use of '@' in the username component of a URL since + // other browsers such as firefox in their infinite wisdom allow such blatant + // violations of RFC 3986. BR# 69326/118413. + if (!url.isValid() && cmd.count(QLatin1Char('@')) > 1) { + const int lastIndex = cmd.lastIndexOf(QLatin1Char('@')); + // Percent encode all but the last '@'. + QString encodedCmd = QUrl::toPercentEncoding(cmd.left(lastIndex), ":/"); + encodedCmd += cmd.mid(lastIndex); + KUrl u (encodedCmd); + if (u.isValid()) { + cmd = encodedCmd; + url = u; + } + } + const bool isMalformed = !url.isValid(); QString protocol = url.protocol(); @@ -287,17 +254,19 @@ } else // ~username/ { - QString user = path.mid( 1, slashPos-1 ); - struct passwd *dir = getpwnam(user.toLocal8Bit().data()); - if( dir && strlen(dir->pw_dir) ) + const QString userName (path.mid( 1, slashPos-1 )); + KUser user (userName); + if( user.isValid() && user.homeDir().isEmpty()) { - path.replace (0, slashPos, QString::fromLocal8Bit(dir->pw_dir)); + path.replace (0, slashPos, user.homeDir()); } else { - QString msg = dir ? i18n("<qt><b>%1</b> does not have a home folder.</qt>", user) : - i18n("<qt>There is no user called <b>%1</b>.</qt>", user); - setErrorMsg( data, msg ); + if (user.isValid()) { + setErrorMsg(data, i18n("<qt><b>%1</b> does not have a home folder.</qt>", userName)); + } else { + setErrorMsg(data, i18n("<qt>There is no user called <b>%1</b>.</qt>", userName)); + } setUriType( data, KUriFilterData::Error ); // Always return true for error conditions so // that other filters will not be invoked !! @@ -308,13 +277,12 @@ } else if ( path[0] == '$' ) { // Environment variable expansion. - QRegExp r (QL1S(ENV_VAR_PATTERN)); - if ( r.indexIn( path ) == 0 ) + if ( sEnvVarExp.indexIn( path ) == 0 ) { - const char* exp = getenv( path.mid( 1, r.matchedLength() - 1 ).toLocal8Bit().data() ); + const char* exp = getenv( path.mid( 1, sEnvVarExp.matchedLength() - 1 ).toLocal8Bit().data() ); if(exp) { - path.replace( 0, r.matchedLength(), QString::fromLocal8Bit(exp) ); + path.replace( 0, sEnvVarExp.matchedLength(), QString::fromLocal8Bit(exp) ); expanded = true; } } @@ -355,7 +323,7 @@ << "canBeLocalAbsolute=" << canBeLocalAbsolute << "isLocalFullPath=" << isLocalFullPath;*/ - struct stat buff; + KDE_struct_stat buff; if ( canBeLocalAbsolute ) { QString abs = QDir::cleanPath( abs_path ); @@ -367,7 +335,7 @@ abs = QDir::cleanPath(abs + '/' + path); //kDebug(7023) << "checking whether " << abs << " exists."; // Check if it exists - if( stat( QFile::encodeName(abs).data(), &buff ) == 0 ) + if( KDE::stat( abs, &buff ) == 0 ) { path = abs; // yes -> store as the new cmd exists = true; @@ -376,7 +344,7 @@ } if (isLocalFullPath && !exists && !isMalformed) { - exists = ( stat( QFile::encodeName(path).data() , &buff ) == 0 ); + exists = ( KDE::stat( path, &buff ) == 0 ); if ( !exists ) { // Support for name filter (/foo/*.txt), see also KonqMainWindow::detectNameFilter @@ -387,7 +355,7 @@ QString fileName = path.mid( lastSlash + 1 ); QString testPath = path.left( lastSlash + 1 ); if ( ( fileName.indexOf( '*' ) != -1 || fileName.indexOf( '[' ) != -1 || fileName.indexOf( '?' ) != -1 ) - && stat( QFile::encodeName(testPath).data(), &buff ) == 0 ) + && KDE::stat( testPath, &buff ) == 0 ) { nameFilter = fileName; //kDebug(7023) << "Setting nameFilter to " << nameFilter; @@ -441,21 +409,25 @@ kDebug(7023) << "File found, but not a regular file nor dir... socket?"; } - // Let us deal with possible relative URLs to see - // if it is executable under the user's $PATH variable. - // We try hard to avoid parsing any possible command - // line arguments or options that might have been supplied. - QString exe = removeArgs( cmd ); - //kDebug(7023) << "findExe with" << exe; - if( data.checkForExecutables() && !KStandardDirs::findExe( exe ).isNull() ) - { - //kDebug(7023) << "EXECUTABLE exe=" << exe; - setFilteredUri( data, KUrl::fromPath( exe )); - // check if we have command line arguments - if( exe != cmd ) - setArguments(data, cmd.right(cmd.length() - exe.length())); - setUriType( data, KUriFilterData::Executable ); - return true; + if( data.checkForExecutables()) + { + // Let us deal with possible relative URLs to see + // if it is executable under the user's $PATH variable. + // We try hard to avoid parsing any possible command + // line arguments or options that might have been supplied. + QString exe = removeArgs( cmd ); + //kDebug(7023) << "findExe with" << exe; + + if (!KStandardDirs::findExe( exe ).isNull() ) + { + //kDebug(7023) << "EXECUTABLE exe=" << exe; + setFilteredUri( data, KUrl::fromPath( exe )); + // check if we have command line arguments + if( exe != cmd ) + setArguments(data, cmd.right(cmd.length() - exe.length())); + setUriType( data, KUriFilterData::Executable ); + return true; + } } // Process URLs of known and supported protocols so we don't have @@ -464,7 +436,7 @@ if ( !isMalformed && !isLocalFullPath && !protocol.isEmpty() ) { //kDebug(7023) << "looking for protocol " << protocol; - if ( KProtocolInfo::protocols().contains( protocol ) ) + if ( KProtocolInfo::isKnownProtocol( protocol ) ) { setFilteredUri( data, url ); if ( protocol == QL1S("man") || protocol == QL1S("help") ) @@ -475,52 +447,56 @@ } } - // Okay this is the code that allows users to supply custom matches for - // specific URLs using Qt's regexp class. This is hard-coded for now. - // TODO: Make configurable at some point... + // Short url matches if ( !cmd.contains( ' ' ) ) { - QList<URLHint>::ConstIterator it = m_urlHints.begin(); - QList<URLHint>::ConstIterator itEnd = m_urlHints.end(); - for( ; it != itEnd; ++it ) + // Okay this is the code that allows users to supply custom matches for + // specific URLs using Qt's regexp class. This is hard-coded for now. + // TODO: Make configurable at some point... + Q_FOREACH(const URLHint& hint, m_urlHints) { - QRegExp match( (*it).regexp ); - if ( match.indexIn( cmd ) == 0 ) + if (hint.regexp.indexIn(cmd) == 0) { //kDebug(7023) << "match - prepending" << (*it).prepend; - QString cmdStr = (*it).prepend; - cmdStr += cmd; - KUrl url ( cmdStr ); + const QString cmdStr = hint.prepend + cmd; + KUrl url(cmdStr); if (KProtocolInfo::isKnownProtocol(url)) { setFilteredUri( data, url ); - setUriType( data, (*it).type ); + setUriType( data, hint.type ); return true; } } } - // If cmd is NOT a local resource, check if it is a valid "shortURL" - // candidate and append the default protocol the user supplied. (DA) - if ( protocol.isEmpty() && isValidShortURL(cmd) ) + // No protocol and not malformed means a valid short URL such as kde.org or + // [email protected]. However, it might also be valid only because it lacks + // the scheme component, e.g. www.kde,org (illegal ',' before 'org'). The + // check below properly deciphers the difference between the two and sends + // back the proper result. + if (protocol.isEmpty() && isPotentialShortURL(cmd)) { QString urlStr = data.defaultUrlScheme(); if (urlStr.isEmpty()) urlStr = m_strDefaultUrlScheme; const int index = urlStr.indexOf(QL1C(':')); - if (index == -1) + if (index == -1 || !KProtocolInfo::isKnownProtocol(urlStr.left(index))) urlStr += QL1S("://"); - urlStr += cmd; KUrl url (urlStr); - if (KProtocolInfo::isKnownProtocol(url)) + if (url.isValid()) { setFilteredUri(data, url); setUriType(data, KUriFilterData::NetProtocol); - return true; } + else if (KProtocolInfo::isKnownProtocol(url.protocol())) + { + setFilteredUri(data, data.uri()); + setUriType(data, KUriFilterData::Error); + } + return true; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdebase-runtime-4.6.4/kurifilter-plugins/shorturi/kshorturifilter.h new/kdebase-runtime-4.6.5/kurifilter-plugins/shorturi/kshorturifilter.h --- old/kdebase-runtime-4.6.4/kurifilter-plugins/shorturi/kshorturifilter.h 2011-02-25 22:54:12.000000000 +0100 +++ new/kdebase-runtime-4.6.5/kurifilter-plugins/shorturi/kshorturifilter.h 2011-06-30 23:48:52.000000000 +0200 @@ -23,8 +23,11 @@ #ifndef KSHORTURIFILTER_H #define KSHORTURIFILTER_H +#include <QtCore/QList> +#include <QtCore/QRegExp> + #include <kurifilter.h> -#include <QList> + /** * This is short URL filter class. @@ -91,8 +94,8 @@ URLHint() {} URLHint( QString r, QString p, KUriFilterData::UriTypes t = KUriFilterData::NetProtocol ) - : regexp(r), prepend(p), type(t) {} - QString regexp; // if this matches, then... + : regexp(QRegExp(r)), prepend(p), type(t) {} + QRegExp regexp; // if this matches, then... QString prepend; // ...prepend this to the url KUriFilterData::UriTypes type; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdebase-runtime-4.6.4/kurifilter-plugins/tests/kurifiltertest.cpp new/kdebase-runtime-4.6.5/kurifilter-plugins/tests/kurifiltertest.cpp --- old/kdebase-runtime-4.6.4/kurifilter-plugins/tests/kurifiltertest.cpp 2011-02-25 22:54:12.000000000 +0100 +++ new/kdebase-runtime-4.6.5/kurifilter-plugins/tests/kurifiltertest.cpp 2011-06-30 23:48:52.000000000 +0200 @@ -246,18 +246,29 @@ filter( "cr.yp.to", "http://cr.yp.to", KUriFilterData::NetProtocol ); filter( "www.kde.org:21", "http://www.kde.org:21", KUriFilterData::NetProtocol ); filter( "foobar.local:8000", "http://foobar.local:8000", KUriFilterData::NetProtocol ); - filter( "[email protected]:3128", "http://[email protected]:3128", KUriFilterData::NetProtocol ); - filter( "127.0.0.1", "http://127.0.0.1", KUriFilterData::NetProtocol ); - filter( "127.0.0.1:3128", "http://127.0.0.1:3128", KUriFilterData::NetProtocol ); filter( "[email protected]", "mailto:[email protected]", KUriFilterData::NetProtocol ); filter( "[email protected]", "mailto:[email protected]", KUriFilterData::NetProtocol ); filter( "www.123.foo", "http://www.123.foo", KUriFilterData::NetProtocol ); filter( "[email protected]:3128", "http://[email protected]:3128", KUriFilterData::NetProtocol ); + filter( "ftp://user@[email protected]:3128", "ftp://user%[email protected]:3128", KUriFilterData::NetProtocol ); + filter( "user@[email protected]:3128", "http://user%[email protected]:3128", KUriFilterData::NetProtocol ); - // Exotic IPv4 address formats... + // IPv4 address formats... + filter( "[email protected]:3128", "http://[email protected]:3128", KUriFilterData::NetProtocol ); + filter( "127.0.0.1", "http://127.0.0.1", KUriFilterData::NetProtocol ); + filter( "127.0.0.1:3128", "http://127.0.0.1:3128", KUriFilterData::NetProtocol ); filter( "127.1", "http://127.1", KUriFilterData::NetProtocol ); filter( "127.0.1", "http://127.0.1", KUriFilterData::NetProtocol ); + // IPv6 address formats (taken from RFC 2732)... + filter("[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html", "http://[fedc:ba98:7654:3210:fedc:ba98:7654:3210]:80/index.html", KUriFilterData::NetProtocol ); + filter("[1080:0:0:0:8:800:200C:417A]/index.html", "http://[1080:0:0:0:8:800:200c:417a]/index.html", KUriFilterData::NetProtocol ); + filter("[3ffe:2a00:100:7031::1]", "http://[3ffe:2a00:100:7031::1]", KUriFilterData::NetProtocol ); + filter("[1080::8:800:200C:417A]/foo", "http://[1080::8:800:200c:417a]/foo", KUriFilterData::NetProtocol ); + filter("[::192.9.5.5]/ipng", "http://[::192.9.5.5]/ipng", KUriFilterData::NetProtocol ); + filter("[::FFFF:129.144.52.38]:80/index.html", "http://[::ffff:129.144.52.38]:80/index.html", KUriFilterData::NetProtocol ); + filter("[2010:836B:4179::836B:4179]", "http://[2010:836b:4179::836b:4179]", KUriFilterData::NetProtocol ); + // Local domain filter - If you uncomment these test, make sure you // you adjust it based on the localhost entry in your /etc/hosts file. // filter( "localhost:3128", "http://localhost.localdomain:3128", KUriFilterData::NetProtocol ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdebase-runtime-4.6.4/nepomuk/services/backupsync/service/nepomukbackupsync.desktop new/kdebase-runtime-4.6.5/nepomuk/services/backupsync/service/nepomukbackupsync.desktop --- old/kdebase-runtime-4.6.4/nepomuk/services/backupsync/service/nepomukbackupsync.desktop 2011-06-02 19:27:34.000000000 +0200 +++ new/kdebase-runtime-4.6.5/nepomuk/services/backupsync/service/nepomukbackupsync.desktop 2011-06-30 23:48:52.000000000 +0200 @@ -71,7 +71,7 @@ Comment[ia]=Servicio de Nepomuk que manea retrocopia e sync. Comment[it]=Servizio di Nepomuk che gestisce le copie di sicurezza e la sincronizzazione. Comment[ja]=バックアップと同期を行う Nepomuk サービス -Comment[kk]=Cақтық көшірмелеу және қадамдастыруды басқаратын Nepomuk қызметі.ыы +Comment[kk]=Cақтық көшірмелеу және қадамдастыруды басқаратын Nepomuk қызметі. Comment[km]=សេវា Nepomuk ដែលគ្រប់គ្រងការធ្វើសមកាលកម្ម និងបម្រុងទុក Comment[ko]=백업과 동기화를 담당하는 Nepomuk 서비스입니다. Comment[lt]=Nepamok tarnyba, valdanti atsargines kopijas ir sinchronizavimą diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdebase-runtime-4.6.4/nepomuk/servicestub/main.cpp new/kdebase-runtime-4.6.5/nepomuk/servicestub/main.cpp --- old/kdebase-runtime-4.6.4/nepomuk/servicestub/main.cpp 2011-02-25 22:54:12.000000000 +0100 +++ new/kdebase-runtime-4.6.5/nepomuk/servicestub/main.cpp 2011-06-30 23:48:52.000000000 +0200 @@ -65,7 +65,8 @@ int main( int argc, char** argv ) { - KAboutData aboutData( "nepomukservicestub", "nepomuk", + KAboutData aboutData( "nepomukservicestub", + "nepomukservicestub", ki18n("Nepomuk Service Stub"), "0.2", ki18n("Nepomuk Service Stub"), @@ -102,6 +103,7 @@ app.disableSessionManagement(); installSignalHandler(); QApplication::setQuitOnLastWindowClosed( false ); + KGlobal::locale()->insertCatalog( serviceName ); // check if NepomukServer is running diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdebase-runtime-4.6.4/plasma/scriptengines/javascript/data/plasma-scriptengine-applet-declarative.desktop new/kdebase-runtime-4.6.5/plasma/scriptengines/javascript/data/plasma-scriptengine-applet-declarative.desktop --- old/kdebase-runtime-4.6.4/plasma/scriptengines/javascript/data/plasma-scriptengine-applet-declarative.desktop 2011-04-28 15:15:29.000000000 +0200 +++ new/kdebase-runtime-4.6.5/plasma/scriptengines/javascript/data/plasma-scriptengine-applet-declarative.desktop 2011-06-30 23:48:52.000000000 +0200 @@ -24,6 +24,7 @@ Name[nb]=Deklarativt skjermelement Name[nds]=Stüerelement för Verkloren Name[nl]=Widget voor declaratie +Name[pl]=Deklaratywny element interfejsu Name[pt]=Item declarativo Name[pt_BR]=Widget declarativo Name[ro]=Control declarativ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdebase-runtime-4.6.4/platforms/win/kwinshutdown/kwinshutdown.desktop new/kdebase-runtime-4.6.5/platforms/win/kwinshutdown/kwinshutdown.desktop --- old/kdebase-runtime-4.6.4/platforms/win/kwinshutdown/kwinshutdown.desktop 2011-06-02 19:27:34.000000000 +0200 +++ new/kdebase-runtime-4.6.5/platforms/win/kwinshutdown/kwinshutdown.desktop 2011-06-30 23:48:52.000000000 +0200 @@ -18,6 +18,7 @@ Name[nb]=KDE avslutting Name[nds]=KDE utmaken Name[nl]=KDE afsluiten +Name[pl]=Zamknięcie KDE Name[pt]=Encerramento do KDE Name[pt_BR]=Encerramento do KDE Name[ro]=Oprire KDE @@ -36,6 +37,7 @@ Comment[ca@valencia]=Mata totes les aplicacions i processos en execució del KDE Comment[cs]=zabít bežící aplikace a procesy KDE Comment[da]=Dræb kørende KDE-programmer og -processer +Comment[de]=Laufende KDE-Anwendungen und -Prozesse abschießen Comment[es]=Matar las aplicaciones y procesos de KDE en ejecución Comment[et]=Töötavate KDE rakenduste ja protsesside töö lõpetamine Comment[fi]=tapa kaikki käynnissä olevat KDE-sovellukset ja prosessit @@ -48,6 +50,7 @@ Comment[nb]=drep KDE-programmer og prosesser som kjører Comment[nds]=Lopen KDE-Programmen un Perzessen afscheten Comment[nl]=actieve KDE toepassingen en processen afbreken +Comment[pl]=zniszcz uruchomione programy i procesy KDE Comment[pt]=matar as aplicações e processos do KDE em execução Comment[pt_BR]=finaliza todos os aplicativos e processos do KDE em execução Comment[ro]=Omoară aplicațiile și procesele KDE active ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
