Merge "Fix malformed patch on cgcs-users/ibsh"

This commit is contained in:
Zuul 2018-07-17 15:44:02 +00:00 committed by Gerrit Code Review
commit ac1aded3ed
1 changed files with 48 additions and 51 deletions

View File

@ -24,64 +24,61 @@ Index: cgcs-users-1.0-r0/main.c
+ +
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
char temp[STRING_SIZE], *buf; char temp[STRING_SIZE], *buf;
struct stat info; struct stat info;
uid_t ruid, euid; uid_t ruid, euid;
gid_t rgid, egid; gid_t rgid, egid;
+ unsigned int tout_cli = 0; + unsigned int tout_cli = 0;
+ const char* tout = getenv("TMOUT"); + const char* tout = getenv("TMOUT");
+ if (tout) + if (tout)
+ tout_cli = atoi(tout); + tout_cli = atoi(tout);
+ else + else
+ //default to 5 mins + //default to 5 mins
+ tout_cli = 300; + tout_cli = 300;
/* setuid protection */ /* setuid protection */
ruid = getuid(); ruid = getuid();
@@ -107,6 +123,7 @@ int main(int argc, char **argv) @@ -107,6 +123,7 @@ int main(int argc, char **argv)
signal( SIGQUIT, SIG_IGN ); signal( SIGQUIT, SIG_IGN );
signal( SIGTERM, SIG_IGN ); signal( SIGTERM, SIG_IGN );
signal( SIGTSTP, SIG_IGN ); signal( SIGTSTP, SIG_IGN );
+ signal( SIGALRM, ALRMhandler ); + signal( SIGALRM, ALRMhandler );
LoadConfig(); LoadConfig();
/* Command mode */ /* Command mode */
@@ -144,6 +161,7 @@ int main(int argc, char **argv) @@ -144,6 +161,7 @@ int main(int argc, char **argv)
/* will be allowed to run, unless it is mentioned in the */ /* will be allowed to run, unless it is mentioned in the */
/* config files. Files that are created with an extension */ /* config files. Files that are created with an extension */
/* that is listed in the other config file, must be deleted! */ /* that is listed in the other config file, must be deleted! */
+ alarm(tout_cli);
for ( ; ; ) {
/* Where is he ? */
getcwd(real_path, STRING_SIZE);
@@ -153,12 +171,12 @@ int main(int argc, char **argv)
}
/* We don't want the user to know where he actually is. */
/* This is the prompt! */
- printf("[%s]%% ", jail_path);
+ printf("[%s]%% ", loggedin.uname);
/* scanf("%s", user_command); */
myscanf(user_command, real_path);
+ alarm(tout_cli); + alarm(tout_cli);
for ( ; ; ) { /* Command interpretation and execution. */
/* Where is he ? */ if ( (CommandOK(user_command, loggedin.udir, jail_path, filtered_command)) == 0 ) {
getcwd(real_path, STRING_SIZE); - printf("Sorry, can't let you do that!\n");
@@ -153,12 +171,14 @@ int main(int argc, char **argv) log_attempt(loggedin.uname); /* v0.2a */
} continue;
/* We don't want the user to know where he actually is. */ }
/* This is the prompt! */
- printf("[%s]%% ", jail_path);
+ //printf("[%s]%% ", jail_path);
+ printf("[%s]%% ", loggedin.uname);
/* scanf("%s", user_command); */
myscanf(user_command, real_path);
+ alarm(tout_cli);
/* Command interpretation and execution. */
if ( (CommandOK(user_command, loggedin.udir, jail_path, filtered_command)) == 0 ) {
- printf("Sorry, can't let you do that!\n");
+ //printf("Sorry, can't let you do that!\n");
log_attempt(loggedin.uname); /* v0.2a */
continue;
}
Index: cgcs-users-1.0-r0/config.c Index: cgcs-users-1.0-r0/config.c
=================================================================== ===================================================================
--- cgcs-users-1.0-r0.orig/config.c --- cgcs-users-1.0-r0.orig/config.c
+++ cgcs-users-1.0-r0/config.c +++ cgcs-users-1.0-r0/config.c
@@ -166,7 +166,7 @@ int LoadConfig( void ) @@ -166,7 +166,6 @@ int LoadConfig( void )
// Delete '\n' // Delete '\n'
tmp2[i][strlen(tmp2[i]) - 1] = '\0'; tmp2[i][strlen(tmp2[i]) - 1] = '\0';
strncpy(extensions[i],tmp2[i],strlen(tmp2[i])); strncpy(extensions[i],tmp2[i],strlen(tmp2[i]));
- printf("EXTENSIONS %s\n",extensions[i]); - printf("EXTENSIONS %s\n",extensions[i]);
+ //printf("EXTENSIONS %s\n",extensions[i]); i++;
i++; }
} }
}