aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Kelvin M. Klann <kmk3.code@protonmail.com>2024-01-31 19:32:51 +0000
committerLibravatar GitHub <noreply@github.com>2024-01-31 19:32:51 +0000
commitfcde0cbb807b83ea60903b231cb8657ae1cec5a5 (patch)
tree97a977376a6d00df2a6032606f78c08393f68744
parentRELNOTES: add feature and build items (diff)
downloadfirejail-fcde0cbb807b83ea60903b231cb8657ae1cec5a5.tar.gz
firejail-fcde0cbb807b83ea60903b231cb8657ae1cec5a5.tar.zst
firejail-fcde0cbb807b83ea60903b231cb8657ae1cec5a5.zip
bugfix: print version to stderr on startup (#6172)
Unlike the rest of the normal startup output (which goes to stderr), the version number is being printed to stdout, which makes it harder to ignore all of firejail's output. Example: $ firejail --noprofile /usr/bin/true --version 2>/dev/null firejail version 0.9.73 true (GNU coreutils) 9.4 Copyright (C) 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Jim Meyering. So make the normal startup version output go to stderr and keep the other occurrences (such as in `firejail --version`) going to stdout, to make it easier to grep things in the output. Added on commit f019f0ec3 ("Print version on startup for firejail/firecfg", 2023-05-11) / PR #5829. Reported by @rusty-snake[1]. [1] https://github.com/netblue30/firejail/issues/6171#issuecomment-1912768721
-rw-r--r--src/firejail/firejail.h2
-rw-r--r--src/firejail/main.c6
-rw-r--r--src/firejail/usage.c8
3 files changed, 8 insertions, 8 deletions
diff --git a/src/firejail/firejail.h b/src/firejail/firejail.h
index d76a6c0ee..eb9287f2e 100644
--- a/src/firejail/firejail.h
+++ b/src/firejail/firejail.h
@@ -492,7 +492,7 @@ void tree(void);
492void top(void); 492void top(void);
493 493
494// usage.c 494// usage.c
495void print_version(void); 495void print_version(FILE *stream);
496void print_version_full(void); 496void print_version_full(void);
497void usage(void); 497void usage(void);
498 498
diff --git a/src/firejail/main.c b/src/firejail/main.c
index cc5345ee0..341bac058 100644
--- a/src/firejail/main.c
+++ b/src/firejail/main.c
@@ -2957,10 +2957,10 @@ int main(int argc, char **argv, char **envp) {
2957 } 2957 }
2958 EUID_ASSERT(); 2958 EUID_ASSERT();
2959 2959
2960 // Note: Only attempt to print non-debug information to stdout after 2960 // Note: Only attempt to print non-debug information after all profiles
2961 // all profiles have been loaded (because a profile may set arg_quiet) 2961 // have been loaded (because a profile may set arg_quiet)
2962 if (!arg_quiet) 2962 if (!arg_quiet)
2963 print_version(); 2963 print_version(stderr);
2964 2964
2965 // block X11 sockets 2965 // block X11 sockets
2966 if (arg_x11_block) 2966 if (arg_x11_block)
diff --git a/src/firejail/usage.c b/src/firejail/usage.c
index beedb3ce2..8598abd9d 100644
--- a/src/firejail/usage.c
+++ b/src/firejail/usage.c
@@ -320,16 +320,16 @@ static const char *const usage_str =
320 "License GPL version 2 or later\n" 320 "License GPL version 2 or later\n"
321 "Homepage: https://firejail.wordpress.com\n"; 321 "Homepage: https://firejail.wordpress.com\n";
322 322
323void print_version(void) { 323void print_version(FILE *stream) {
324 printf("firejail version %s\n\n", VERSION); 324 fprintf(stream, "firejail version %s\n\n", VERSION);
325} 325}
326 326
327void print_version_full(void) { 327void print_version_full(void) {
328 print_version(); 328 print_version(stdout);
329 print_compiletime_support(); 329 print_compiletime_support();
330} 330}
331 331
332void usage(void) { 332void usage(void) {
333 print_version(); 333 print_version(stdout);
334 puts(usage_str); 334 puts(usage_str);
335} 335}