/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to plugbasedclient.c

plugbasedclient
        change uid to nobody:nogroup as default for all plugins

mandosclient
        Takes up the interface if needed

Show diffs side-by-side

added added

removed removed

Lines of Context:
120
120
  fd_set rfds_orig;
121
121
  int ret, maxfd = 0;
122
122
  process *process_list = NULL;
123
 
 
 
123
  uid_t uid = 65534;
 
124
  gid_t gid = 65534;
124
125
  /* The options we understand. */
125
126
  struct argp_option options[] = {
126
127
    { .name = "global-options", .key = 'g',
135
136
    { .name = "plugin-dir", .key = 128,
136
137
      .arg = "Directory", .flags = 0,
137
138
      .doc = "Option to change directory to search for plugins" },
 
139
    { .name = "userid", .key = 129,
 
140
      .arg = "Id", .flags = 0,
 
141
      .doc = "Option to change which user id the plugins will run as" },
 
142
    { .name = "groupid", .key = 130,
 
143
      .arg = "Id", .flags = 0,
 
144
      .doc = "Option to change which group id the plugins will run as" },
138
145
    { .name = NULL }
139
146
  };
140
147
  
175
182
    case 128:
176
183
      plugindir = arg;
177
184
      break;
 
185
    case 129:
 
186
      uid = (uid_t)strtol(arg, NULL, 10);
 
187
      break;
 
188
    case 130:
 
189
      gid = (gid_t)strtol(arg, NULL, 10);
 
190
      break;
178
191
    case ARGP_KEY_ARG:
179
192
      argp_usage (state);
180
193
      break;
202
215
  
203
216
/*   return 0; */
204
217
 
 
218
  ret = setuid(uid);
 
219
  if (ret == -1){
 
220
    perror("setuid");
 
221
  }
 
222
 
 
223
  setgid(gid);
 
224
  if (ret == -1){
 
225
    perror("setuid");
 
226
  }
 
227
  
205
228
  dir = opendir(plugindir);
206
229
  
207
230
  if(dir == NULL){