X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=repo_shell.c;h=1b06ec3eefbee2c2c49968db9ef61fc5f05af5f7;hb=8684056349dcadb86b2bf47a5538df90022ab094;hp=b51c0add25039ca49e31b232a50a9f3add431fa8;hpb=209ef6909e8aa0ab075f85fd3062c2ee34ff4d4d;p=repo_shell.git diff --git a/repo_shell.c b/repo_shell.c index b51c0ad..1b06ec3 100644 --- a/repo_shell.c +++ b/repo_shell.c @@ -19,6 +19,8 @@ typedef struct { char *owner; } cfg_t; +static const char* shell_argv[] = { "/bin/bash", NULL }; + #undef USE_DEFAULTS #ifdef USE_DEFAULTS /* perhaps we want defaults? Not sure */ static cfg_t cfg { @@ -344,9 +346,10 @@ int main(int argc, char **argv) !strcmp(argv[1], "--version"))) { fprintf(stderr, "%s\n", version); return 0; - } - if (argc < 3) - die("invalid arguments"); + } + + if (argc == 1 && check_ssh_interactive(getuid())) + execvp(shell_argv[0], (char *const *) shell_argv); #ifdef USE_DEFAULTS ini_parse("repo_shell.cfg", handler, &cfg);