summaryrefslogtreecommitdiffstats
path: root/redhat/kdelibs/kdelibs-3.5.13-add_readonly_to_tde_application.patch
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/kdelibs/kdelibs-3.5.13-add_readonly_to_tde_application.patch')
-rw-r--r--redhat/kdelibs/kdelibs-3.5.13-add_readonly_to_tde_application.patch248
1 files changed, 0 insertions, 248 deletions
diff --git a/redhat/kdelibs/kdelibs-3.5.13-add_readonly_to_tde_application.patch b/redhat/kdelibs/kdelibs-3.5.13-add_readonly_to_tde_application.patch
deleted file mode 100644
index dcdbd4e99..000000000
--- a/redhat/kdelibs/kdelibs-3.5.13-add_readonly_to_tde_application.patch
+++ /dev/null
@@ -1,248 +0,0 @@
-commit d3a9d56143cf668c7d29b26a324a424d02036371
-Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
-Date: 1337109016 -0500
-
- Add the ability to force read-only configuration file access in a TDE application
- Force kde-config to use read-only access
- This closes Bug 293
-
-diff --git a/kdecore/kconfigbackend.cpp b/kdecore/kconfigbackend.cpp
-index 9ee9dd6..4ad0e5f 100644
---- a/kdecore/kconfigbackend.cpp
-+++ b/kdecore/kconfigbackend.cpp
-@@ -247,17 +247,22 @@ void KConfigBackEnd::changeFileName(const TQString &_fileName,
- mfileName = _fileName;
- resType = _resType;
- useKDEGlobals = _useKDEGlobals;
-- if (mfileName.isEmpty())
-+ if (mfileName.isEmpty()) {
- mLocalFileName = TQString::null;
-- else if (!TQDir::isRelativePath(mfileName))
-+ }
-+ else if (!TQDir::isRelativePath(mfileName)) {
- mLocalFileName = mfileName;
-- else
-- mLocalFileName = KGlobal::dirs()->saveLocation(resType) + mfileName;
-+ }
-+ else {
-+ mLocalFileName = KGlobal::dirs()->saveLocation(resType, TQString(), false) + mfileName;
-+ }
-
-- if (useKDEGlobals)
-+ if (useKDEGlobals) {
- mGlobalFileName = KGlobal::dirs()->saveLocation("config", TQString(), false) + TQString::fromLatin1("kdeglobals");
-- else
-+ }
-+ else {
- mGlobalFileName = TQString::null;
-+ }
-
- d->localLastModified = TQDateTime();
- d->localLastSize = 0;
-diff --git a/kdecore/kconfigbase.cpp b/kdecore/kconfigbase.cpp
-index 9ad6600..c5c0a4e 100644
---- a/kdecore/kconfigbase.cpp
-+++ b/kdecore/kconfigbase.cpp
-@@ -1139,16 +1139,18 @@ static TQString translatePath( TQString path )
-
- // return original path, if it refers to another type of URL (e.g. http:/), or
- // if the path is already relative to another directory
-- if (!startsWithFile && path[0] != '/' ||
-- startsWithFile && path[5] != '/')
-+ if (((!startsWithFile) && (path[0] != '/')) || (startsWithFile && (path[5] != '/'))) {
- return path;
-+ }
-
-- if (startsWithFile)
-+ if (startsWithFile) {
- path.remove(0,5); // strip leading "file:/" off the string
-+ }
-
- // keep only one single '/' at the beginning - needed for cleanHomeDirPath()
-- while (path[0] == '/' && path[1] == '/')
-+ while (path[0] == '/' && path[1] == '/') {
- path.remove(0,1);
-+ }
-
- // we can not use KGlobal::dirs()->relativeLocation("home", path) here,
- // since it would not recognize paths without a trailing '/'.
-diff --git a/kdecore/kinstance.cpp b/kdecore/kinstance.cpp
-index fe0a515..5b3aa86 100644
---- ./kdecore/kinstance.cpp.orig 2011-08-11 04:30:15.000000000 +0200
-+++ ./kdecore/kinstance.cpp 2012-06-19 21:14:21.569741870 +0200
-@@ -70,7 +70,7 @@
- : _dirs (0L),
- _config (0L),
- _iconLoader (0L),
-- _name( name ), _aboutData( new KAboutData( name, "", 0 ) )
-+ _name( name ), _aboutData( new KAboutData( name, "", 0 ) ), m_configReadOnly(false)
- {
- DEBUG_ADD
- Q_ASSERT(!name.isEmpty());
-@@ -88,7 +88,7 @@
- : _dirs (0L),
- _config (0L),
- _iconLoader (0L),
-- _name( aboutData->appName() ), _aboutData( aboutData )
-+ _name( aboutData->appName() ), _aboutData( aboutData ), m_configReadOnly(false)
- {
- DEBUG_ADD
- Q_ASSERT(!_name.isEmpty());
-@@ -107,7 +107,7 @@
- : _dirs ( src->_dirs ),
- _config ( src->_config ),
- _iconLoader ( src->_iconLoader ),
-- _name( src->_name ), _aboutData( src->_aboutData )
-+ _name( src->_name ), _aboutData( src->_aboutData ), m_configReadOnly(false)
- {
- DEBUG_ADD
- Q_ASSERT(!_name.isEmpty());
-@@ -174,6 +174,11 @@
- extern bool kde_kiosk_exception;
- extern bool kde_kiosk_admin;
-
-+void KInstance::setConfigReadOnly(bool ro)
-+{
-+ m_configReadOnly = ro;
-+}
-+
- KConfig *KInstance::config() const
- {
- DEBUG_CHECK_ALIVE
-@@ -198,10 +203,12 @@
-
- if ( d->sharedConfig == 0 )
- {
-- if ( !_name.isEmpty() )
-- d->sharedConfig = KSharedConfig::openConfig( _name + "rc");
-- else
-+ if ( !_name.isEmpty() ) {
-+ d->sharedConfig = KSharedConfig::openConfig( _name + "rc", m_configReadOnly );
-+ }
-+ else {
- d->sharedConfig = KSharedConfig::openConfig( TQString::null );
-+ }
- }
-
- // Check if we are excempt from kiosk restrictions
-@@ -211,7 +218,7 @@
- d->sharedConfig = 0;
- return config(); // Reread...
- }
--
-+
- _config = d->sharedConfig;
- if (_dirs)
- if (_dirs->addCustomized(_config))
-diff --git a/kdecore/kinstance.h b/kdecore/kinstance.h
-index 75cc4b4..444a2d8 100644
---- a/kdecore/kinstance.h
-+++ b/kdecore/kinstance.h
-@@ -69,7 +69,7 @@ class kdecore_EXPORT KInstance
- * Only for K(Unique)Application
- * Initialize from src and delete it.
- */
--
-+
- KInstance( KInstance* src );
-
- /**
-@@ -96,6 +96,14 @@ class kdecore_EXPORT KInstance
- KSharedConfig *sharedConfig() const;
-
- /**
-+ * Set a read-only flag on the configuration files
-+ * This must be called before config() or dirs() to have any effect
-+ * Defaults to FALSE
-+ * @param ro read only if TRUE
-+ */
-+ void setConfigReadOnly(bool ro);
-+
-+ /**
- * Returns an iconloader object.
- * @return the iconloader object.
- */
-@@ -162,6 +170,7 @@ protected:
- virtual void virtual_hook( int id, void* data );
- private:
- KInstancePrivate *d;
-+ bool m_configReadOnly;
- };
-
- #endif
-diff --git a/kdecore/kstandarddirs.cpp b/kdecore/kstandarddirs.cpp
-index bce4bf4..bb8ae97 100644
---- a/kdecore/kstandarddirs.cpp.orig 2011-08-21 06:15:32.000000000 +0200
-+++ b/kdecore/kstandarddirs.cpp 2012-06-19 21:17:34.550007910 +0200
-@@ -451,13 +450,17 @@
- bool KStandardDirs::exists(const TQString &fullPath)
- {
- KDE_struct_stat buff;
-- if (access(TQFile::encodeName(fullPath), R_OK) == 0 && KDE_stat( TQFile::encodeName(fullPath), &buff ) == 0)
-+ if ((access(TQFile::encodeName(fullPath), R_OK) == 0) && (KDE_stat( TQFile::encodeName(fullPath), &buff ) == 0)) {
- if (fullPath.tqat(fullPath.length() - 1) != QChar('/')) {
- if (S_ISREG( buff.st_mode ))
- return true;
-- } else
-- if (S_ISDIR( buff.st_mode ))
-+ }
-+ else {
-+ if (S_ISDIR( buff.st_mode )) {
- return true;
-+ }
-+ }
-+ }
- return false;
- }
-
-@@ -767,17 +770,23 @@
- srv = findExe(TQString::tqfromLatin1("lnusertemp"));
- if (!srv.isEmpty())
- {
-- system(TQFile::encodeName(srv)+" "+type);
-- result = readlink(TQFile::encodeName(dir).data(), link, 1023);
-+ if (system(TQFile::encodeName(srv)+" "+type) < 0 ) {
-+ result = readlink(TQFile::encodeName(dir).data(), link, 1023);
-+ }
-+ else {
-+ result = -1;
-+ }
- }
- }
- if (result > 0)
- {
- link[result] = 0;
-- if (link[0] == TQChar('/').latin1())
-+ if (link[0] == TQChar('/').latin1()) {
- dir = TQFile::decodeName(link);
-- else
-+ }
-+ else {
- dir = TQDir::cleanDirPath(dir+TQFile::decodeName(link));
-+ }
- }
- #endif
- addResourceDir(type, dir+QChar('/'));
-@@ -1139,8 +1148,9 @@
- }
- dircache.remove(type);
- }
-- if (!fullPath.endsWith("/"))
-+ if (!fullPath.endsWith("/")) {
- fullPath += "/";
-+ }
- return fullPath;
- }
-
-diff --git a/kdecore/kde-config.cpp.in b/kdecore/kde-config.cpp.in
-index 90c5dae..c988b00 100644
---- a/kdecore/kde-config.cpp.in
-+++ b/kdecore/kde-config.cpp.in
-@@ -120,6 +120,7 @@ int main(int argc, char **argv)
- KCmdLineArgs::addCmdLineOptions( options ); // Add my own options.
-
- KInstance a("kde-config");
-+ a.setConfigReadOnly(TRUE);
- (void)KGlobal::dirs(); // trigger the creation
- (void)KGlobal::config();
-