diff options
| author | Mattias Andrée <m@maandree.se> | 2026-02-22 14:02:07 +0100 |
|---|---|---|
| committer | Mattias Andrée <m@maandree.se> | 2026-02-22 14:02:07 +0100 |
| commit | 65220abc14724130b559d35bb418c28e1133ec01 (patch) | |
| tree | 56d0f6856018b6d5ff682ed7b77201fc44bb81a6 /src | |
| parent | enable more warnings (diff) | |
| download | got-diminished-65220abc14724130b559d35bb418c28e1133ec01.tar.gz got-diminished-65220abc14724130b559d35bb418c28e1133ec01.tar.bz2 got-diminished-65220abc14724130b559d35bb418c28e1133ec01.tar.xz | |
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'src')
| -rw-r--r-- | src/got-diminished | 10 | ||||
| -rw-r--r-- | src/got-diminished-cerberus.c | 74 | ||||
| -rw-r--r-- | src/got-diminished-login.c | 72 | ||||
| -rw-r--r-- | src/got-diminished-ssh.c | 53 |
4 files changed, 99 insertions, 110 deletions
diff --git a/src/got-diminished b/src/got-diminished index 618f63b..b675c49 100644 --- a/src/got-diminished +++ b/src/got-diminished @@ -1,10 +1,9 @@ # -*- shell-script -*- -# This module minimising memory usage, when when you are entering -# your passphrase in and is logged in, of gates-of-tartaros, by -# replacing the gates-of-tartaros process with a smaller C program -# that does not have anything for before you have entered your -# username. +# This module minimises memory usage while you are entering your +# passphrase and logging in to gates-of-tartaros, by replacing the +# gates-of-tartaros process with a smaller C program that does not do +# anything before you have entered your username. _use_ssh () @@ -17,4 +16,3 @@ _use_login () exec "/usr/libexec/got-diminished-login" "${user}" "${tty_settings}" # exec "/usr/libexec/got-diminished-cerberus" "${user}" "${tty_settings}" } - diff --git a/src/got-diminished-cerberus.c b/src/got-diminished-cerberus.c index 8237c69..7f10d29 100644 --- a/src/got-diminished-cerberus.c +++ b/src/got-diminished-cerberus.c @@ -1,7 +1,7 @@ /** * got-diminished – Extension for gates-of-tartaros to minimise memory usage after logging in * - * Copyright © 2013, 2014 Mattias Andrée (maandree@member.fsf.org) + * Copyright © 2013, 2014 Mattias Andrée (m@maandree.se) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,43 +22,39 @@ #include <stdio.h> -int main(int argc, char** argv) +int +main(int argc, char *argv[]) { - pid_t pid = vfork(); - if (pid == -1) - { - perror("vfork"); - return 1; - } - - if (pid) - { - waitpid(pid, &pid, 0); - { - size_t n = 0, i; - char* stty = *(argv + 2); - char* stty_cmd; - - while (*(stty + n++)) - ; - - stty_cmd = malloc((5 + n) * sizeof(char)); - for (i = 0; i < 5; i++) - *(stty_cmd + i) = *("stty " + i); - stty_cmd += 5; - for (i = 0; i < n; i++) - *(stty_cmd + i) = *(stty + i); - stty_cmd -= 5; - - system(stty_cmd); - free(stty_cmd); - } - } - else - execlp("setsid", "setsid", "-c", "cerberus", "--", *(argv + 1), NULL); - - return 0; - - (void) argc; -} + pid_t pid = vfork(); + if (pid == -1) { + perror("vfork"); + return 1; + } + + if (pid) { + size_t n = 0, i; + char *stty = argv[2]; + char *stty_cmd; + + waitpid(pid, &pid, 0); + + while (stty[n++]); + stty_cmd = malloc((5 + n) * sizeof(char)); + for (i = 0; i < 5; i++) + stty_cmd[i] = "stty "[i]; + stty_cmd += 5; + for (i = 0; i < n; i++) + stty_cmd[i] = stty[i]; + stty_cmd -= 5; + + system(stty_cmd); + free(stty_cmd); + } else { + execlp("setsid", "setsid", "-c", "cerberus", "--", *(argv + 1), NULL); + } + + return 0; + + (void) argc; +} diff --git a/src/got-diminished-login.c b/src/got-diminished-login.c index 28c70fd..e4df8f2 100644 --- a/src/got-diminished-login.c +++ b/src/got-diminished-login.c @@ -1,7 +1,7 @@ /** * got-diminished – Extension for gates-of-tartaros to minimise memory usage after logging in * - * Copyright © 2013, 2014 Mattias Andrée (maandree@member.fsf.org) + * Copyright © 2013, 2014 Mattias Andrée (m@maandree.se) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,43 +22,39 @@ #include <stdio.h> -int main(int argc, char** argv) +int +main(int argc, char *argv[]) { - pid_t pid = vfork(); - if (pid == -1) - { - perror("vfork"); - return 1; - } - - if (pid) - { - waitpid(pid, &pid, 0); - { - size_t n = 0, i; - char* stty = *(argv + 2); - char* stty_cmd; - - while (*(stty + n++)) - ; - - stty_cmd = malloc((5 + n) * sizeof(char)); - for (i = 0; i < 5; i++) - *(stty_cmd + i) = *("stty " + i); - stty_cmd += 5; - for (i = 0; i < n; i++) - *(stty_cmd + i) = *(stty + i); - stty_cmd -= 5; + pid_t pid = vfork(); + if (pid == -1) { + perror("vfork"); + return 1; + } + + if (pid) { + size_t n = 0, i; + char *stty = argv[2]; + char *stty_cmd; + + waitpid(pid, &pid, 0); - system(stty_cmd); - free(stty_cmd); - } - } - else - execlp("setsid", "setsid", "-c", "login", "--", *(argv + 1), NULL); - - return 0; - - (void) argc; -} + while (stty[n++]); + stty_cmd = malloc((5 + n) * sizeof(char)); + for (i = 0; i < 5; i++) + stty_cmd[i] = "stty "[i]; + stty_cmd += 5; + for (i = 0; i < n; i++) + stty_cmd[i] = stty[i]; + stty_cmd -= 5; + + system(stty_cmd); + free(stty_cmd); + } else { + execlp("setsid", "setsid", "-c", "login", "--", *(argv + 1), NULL); + } + + return 0; + + (void) argc; +} diff --git a/src/got-diminished-ssh.c b/src/got-diminished-ssh.c index df74738..788917f 100644 --- a/src/got-diminished-ssh.c +++ b/src/got-diminished-ssh.c @@ -1,7 +1,7 @@ /** * got-diminished – Extension for gates-of-tartaros to minimise memory usage after logging in * - * Copyright © 2013, 2014 Mattias Andrée (maandree@member.fsf.org) + * Copyright © 2013, 2014 Mattias Andrée (m@maandree.se) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,31 +20,30 @@ #include <unistd.h> -int main(int argc, char** argv) +int +main(int argc, char *argv[]) { - size_t n = 0, i; - char* user = *(argv + 1); - char* command; - - while (*(user + n++)) - ; - - command = malloc((14 + n) * sizeof(char)); - for (i = 0; i < 14; i++) - *(command + i) = *("setsid -c ssh " + i); - command += 14; - for (i = 0; i < n; i++) - *(command + i) = *(user + i); - command -= 14; - - if (system(command)) - sleep(3); - free(command); - - execlp("stty", "stty", *(argv + 2), NULL); - - return 0; - - (void) argc; -} + size_t n = 0, i; + char *user = argv[1]; + char *command; + + while (user[n++]); + + command = malloc((14 + n) * sizeof(char)); + for (i = 0; i < 14; i++) + *(command + i) = "setsid -c ssh "[i]; + command += 14; + for (i = 0; i < n; i++) + command[i] = user[i]; + command -= 14; + + if (system(command)) + sleep(3); + free(command); + execlp("stty", "stty", argv[2], NULL); + + return 0; + + (void) argc; +} |
