updated host list M.Z.
This commit is contained in:
@@ -4,15 +4,32 @@
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <netdb.h>
|
||||
#include <ctype.h>
|
||||
#include "myc_str.h"
|
||||
#include "instr_hosts.h"
|
||||
|
||||
int rexec(char **host, int port, char *user, char *passwd, char *command, int *err_file_desc);
|
||||
|
||||
char *secure_arg(char *cmd, int size, char *arg) {
|
||||
int i;
|
||||
/* make sure that argument is a harmless identifier and no hacker code */
|
||||
for (i=0; i<size-strlen(cmd)-2; i++) {
|
||||
if (arg[i]=='\0') { /* end of arg reached */
|
||||
strcat(cmd, " ");
|
||||
strcat(cmd, arg);
|
||||
return cmd;
|
||||
}
|
||||
if (! isalnum(arg[i]) && arg[i] != '_') {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
int port, i, j, l, fd;
|
||||
char inst[32], cmd[256], host[256], user[64], pcod[64];
|
||||
char *hostp;
|
||||
char *hostp, *arg;
|
||||
struct tm tim;
|
||||
time_t t;
|
||||
|
||||
@@ -32,10 +49,23 @@ int main(int argc, char *argv[]) {
|
||||
str_copy(cmd, "");
|
||||
for (i=2; i<argc; i++) {
|
||||
if (0==strcmp(argv[i], "sics")) {
|
||||
str_append(cmd, "bin/startsics\n");
|
||||
if (i<argc) {
|
||||
i++; arg=argv[i];
|
||||
} else {
|
||||
arg="";
|
||||
}
|
||||
str_append(cmd, "bin/startsics");
|
||||
secure_arg(cmd, sizeof(cmd), arg);
|
||||
str_append(cmd, "\n");
|
||||
} else if (0==strcmp(argv[i], "tecs")) {
|
||||
if (i<argc) i++; /* skip argument */
|
||||
str_append(cmd, "bin/startecs\n");
|
||||
if (i<argc) {
|
||||
i++; arg=argv[i];
|
||||
} else {
|
||||
arg="";
|
||||
}
|
||||
str_append(cmd, "bin/startecs");
|
||||
secure_arg(cmd, sizeof(cmd), arg);
|
||||
str_append(cmd, "\n");
|
||||
} else {
|
||||
printf("unknown server %s\n", argv[i]);
|
||||
return 0;
|
||||
@@ -47,6 +77,7 @@ int main(int argc, char *argv[]) {
|
||||
if (fd<0) {
|
||||
perror("rexec"); return -1;
|
||||
}
|
||||
puts(cmd);
|
||||
close(fd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user