die("opening /dev/null failed");
close (devnull_fd);
- if (argc == 2 && (!strcmp(argv[1], "-v") ||
- !strcmp(argv[1], "--version"))) {
+ if (argc == 2 && (!strcmp(argv[1], "-v") || !strcmp(argv[1], "--version"))) {
fprintf(stderr, "%s\n", version);
return 0;
}
- if (argc == 1 && check_ssh_interactive(getuid())) {
+ if (argc == 1) {
+ if (!check_ssh_interactive(getuid()))
+ die("only repository access is allowed");
setuid(getuid());
argv[0] = SHELL;
execvp(argv[0], (char *const *) argv);
+ return 1;
}
if (ini_parse(CFG_FILE, ini_handler, &cfg) < 0)