allow "-" as output file for moduli screening
authordjm <djm@openbsd.org>
Fri, 18 Oct 2024 05:37:24 +0000 (05:37 +0000)
committerdjm <djm@openbsd.org>
Fri, 18 Oct 2024 05:37:24 +0000 (05:37 +0000)
based on GHPR393

usr.bin/ssh/ssh-keygen.c

index e384ccc..8806c15 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-keygen.c,v 1.475 2024/09/15 00:47:01 djm Exp $ */
+/* $OpenBSD: ssh-keygen.c,v 1.476 2024/10/18 05:37:24 djm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -3005,7 +3005,9 @@ do_moduli_gen(const char *out_file, char **opts, size_t nopts)
                }
        }
 
-       if ((out = fopen(out_file, "w")) == NULL) {
+       if (strcmp(out_file, "-") == 0)
+               out = stdout;
+       else if ((out = fopen(out_file, "w")) == NULL) {
                fatal("Couldn't open modulus candidate file \"%s\": %s",
                    out_file, strerror(errno));
        }
@@ -3070,7 +3072,9 @@ do_moduli_screen(const char *out_file, char **opts, size_t nopts)
                }
        }
 
-       if ((out = fopen(out_file, "a")) == NULL) {
+       if (strcmp(out_file, "-") == 0)
+               out = stdout;
+       else if ((out = fopen(out_file, "a")) == NULL) {
                fatal("Couldn't open moduli file \"%s\": %s",
                    out_file, strerror(errno));
        }