diff options
| author | Mike Buland <eichlan@xagasoft.com> | 2011-08-15 17:33:40 +0000 |
|---|---|---|
| committer | Mike Buland <eichlan@xagasoft.com> | 2011-08-15 17:33:40 +0000 |
| commit | bc6952f06b9d1cff7417d3f71ce5a65704ebbb02 (patch) | |
| tree | 88c4e4527669b258015c076a02ad0c084cba015a /src | |
| parent | bc9e6678f6b917f67317a2987866bf1787a3e076 (diff) | |
| download | libbu++-bc6952f06b9d1cff7417d3f71ce5a65704ebbb02.tar.gz libbu++-bc6952f06b9d1cff7417d3f71ce5a65704ebbb02.tar.bz2 libbu++-bc6952f06b9d1cff7417d3f71ce5a65704ebbb02.tar.xz libbu++-bc6952f06b9d1cff7417d3f71ce5a65704ebbb02.zip | |
You can setgid now too.
Diffstat (limited to '')
| -rw-r--r-- | src/process.cpp | 4 | ||||
| -rw-r--r-- | src/process.h | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/process.cpp b/src/process.cpp index b3f2801..e6b9f3d 100644 --- a/src/process.cpp +++ b/src/process.cpp | |||
| @@ -154,6 +154,10 @@ void Bu::Process::gexec( Flags eFlags, const char *sName, char *const argv[] ) | |||
| 154 | ::close( iaStdErr[0] ); | 154 | ::close( iaStdErr[0] ); |
| 155 | dup2( iaStdErr[1], 2 ); | 155 | dup2( iaStdErr[1], 2 ); |
| 156 | } | 156 | } |
| 157 | if( (opt.eFlags&Options::SetGid) ) | ||
| 158 | { | ||
| 159 | setgid( opt.iGid ); | ||
| 160 | } | ||
| 157 | if( (opt.eFlags&Options::SetUid) ) | 161 | if( (opt.eFlags&Options::SetUid) ) |
| 158 | { | 162 | { |
| 159 | setuid( opt.iUid ); | 163 | setuid( opt.iUid ); |
diff --git a/src/process.h b/src/process.h index f3d84b1..6295b49 100644 --- a/src/process.h +++ b/src/process.h | |||
| @@ -40,12 +40,14 @@ namespace Bu | |||
| 40 | { | 40 | { |
| 41 | None = 0x00, | 41 | None = 0x00, |
| 42 | SetUid = 0x01, | 42 | SetUid = 0x01, |
| 43 | SetGid = 0x02, | ||
| 43 | }; | 44 | }; |
| 44 | 45 | ||
| 45 | Options() : eFlags( None ) {} | 46 | Options() : eFlags( None ) {} |
| 46 | 47 | ||
| 47 | OptFlags eFlags; | 48 | int eFlags; |
| 48 | int iUid; | 49 | int iUid; |
| 50 | int iGid; | ||
| 49 | }; | 51 | }; |
| 50 | 52 | ||
| 51 | Process( Flags eFlags, const char *sName, char *const argv[] ); | 53 | Process( Flags eFlags, const char *sName, char *const argv[] ); |
