|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
Patch sent upstream (to Stephan Kulow) on 2009-04-06. -- Michal
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
commit e5dcc8beda99ffb4cb19b8eef024dbc22b010d54
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
Author: Michal Schmidt <mschmidt@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
Date: Sun Apr 5 23:32:32 2009 +0200
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
fix permissions in the cache dir
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
The way icecream changes permissions of /var/cache/icecream is buggy.
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
When the daemon initializes, it creates the directory owned by root:root
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
and readable for everyone. As soon as it installs a foreign environment,
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
it changes the owner to root:icecream and removes access for everyone
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
else. This causes trouble for locally run icecc which wants read access
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
to /var/cache/icecream/native. As a result, local compile jobs can no
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
longer determine the native environment and fail to get distributed to
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
other nodes.
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
This patch assigns the owners and permissions like this:
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
0755 root:root /var/cache/icecream/
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
0775 root:icecream /var/cache/icecream/native/
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
0770 root:icecream /var/cache/icecream/target=<target>/
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
0770 root:icecream /var/cache/icecream/target=<target>/<hash>/
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
It also sets the umask in the initialization of the daemon so that we
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
can depend on it being sane and we no longer need some of the chmods.
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
The access() check in start_install_environment() can be dropped,
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
because if we don't have access, we'll soon find out anyway.
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
diff --git a/daemon/environment.cpp b/daemon/environment.cpp
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
index 9dc2831..979da91 100644
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
--- a/daemon/environment.cpp
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+++ b/daemon/environment.cpp
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
@@ -180,8 +180,6 @@ bool cleanup_cache( const string &basedir )
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
log_perror( "mkdir in cleanup_cache() failed" );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- chown( basedir.c_str(), 0, 0 );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- chmod( basedir.c_str(), 0755 );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
return ret;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
@@ -219,14 +217,14 @@ size_t setup_env_cache(const string &basedir, string &native_environment, uid_t
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
if ( ::access( "/usr/bin/gcc", X_OK ) || ::access( "/usr/bin/g++", X_OK ) )
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- if ( mkdir( nativedir.c_str(), 0755 ) )
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ if ( mkdir( nativedir.c_str(), 0775 ) )
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- if ( chown( nativedir.c_str(), nobody_uid, nobody_gid) ) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ if ( chown( nativedir.c_str(), 0, nobody_gid ) ||
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ chmod( nativedir.c_str(), 0775 ) ) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
rmdir( nativedir.c_str() );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- chmod( nativedir.c_str(), 0755 );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
flush_debug();
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
pid_t pid = fork();
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
@@ -251,7 +249,6 @@ size_t setup_env_cache(const string &basedir, string &native_environment, uid_t
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
// else
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- umask(022);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
if ( setgid( nobody_gid ) < 0) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
log_perror("setgid failed");
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
@@ -313,30 +310,28 @@ pid_t start_install_environment( const std::string &basename, const std::string
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
compression = BZip2;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- if( ::access( basename.c_str(), W_OK ) ) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- log_error() << "access for basename " << basename.c_str() << " gives " << strerror(errno) << endl;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- return 0;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- }
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
-
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- chown( basename.c_str(), 0, nobody_gid );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- chmod( basename.c_str(), 0770 );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
-
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- if ( mkdir( dirname.c_str(), 0755 ) && errno != EEXIST ) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ if ( mkdir( dirname.c_str(), 0770 ) && errno != EEXIST ) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
log_perror( "mkdir target" );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- chown( dirname.c_str(), 0, nobody_gid );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- chmod( dirname.c_str(), 0770 );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ if ( chown( dirname.c_str(), 0, nobody_gid ) ||
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ chmod( dirname.c_str(), 0770 ) ) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ log_perror( "chown,chmod target" );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ return 0;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
dirname = dirname + "/" + name;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- if ( mkdir( dirname.c_str(), 0700 ) ) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ if ( mkdir( dirname.c_str(), 0770 ) ) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
log_perror( "mkdir name" );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- chown( dirname.c_str(), 0, nobody_gid );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
- chmod( dirname.c_str(), 0770 );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ if ( chown( dirname.c_str(), 0, nobody_gid ) ||
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ chmod( dirname.c_str(), 0770 ) ) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ log_perror( "chown,chmod name" );
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ return 0;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
int fds[2];
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
if ( pipe( fds ) )
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
diff --git a/daemon/main.cpp b/daemon/main.cpp
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
index 17fc761..7a6498f 100644
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
--- a/daemon/main.cpp
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+++ b/daemon/main.cpp
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
@@ -1598,6 +1598,8 @@ int main( int argc, char ** argv )
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+ umask(022);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
+
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
if ( !logfile.length() && detach)
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
logfile = "/var/log/iceccd";
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
7934e6f |
|