Always choose highest requested debug level
Update man pages about debugging Actually apply the patch from the last one
This commit is contained in:
		
							parent
							
								
									c783ca786a
								
							
						
					
					
						commit
						8a37c8459f
					
				
							
								
								
									
										107
									
								
								Always-choose-highest-requested-debug-level.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								Always-choose-highest-requested-debug-level.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,107 @@ | |||||||
|  | From d284ec7dc9fe0a824b177873078aeb36a25b7878 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Robbie Harwood <rharwood@redhat.com> | ||||||
|  | Date: Wed, 11 Apr 2018 16:15:00 -0400 | ||||||
|  | Subject: [PATCH] Always choose highest requested debug level | ||||||
|  | 
 | ||||||
|  | Allowing the CLI to lower the debug level specified in a config file | ||||||
|  | is dubious, and previously broken since we don't distinguish "default | ||||||
|  | value" from "explicitly requested value of 0" in popt.  This resulted | ||||||
|  | in "Debug Enabled (level: 0)" even when the log level was not actually | ||||||
|  | 0, which is confusing for users. | ||||||
|  | 
 | ||||||
|  | Remove the gp_debug_args() function since it is no longer used. | ||||||
|  | 
 | ||||||
|  | Signed-off-by: Robbie Harwood <rharwood@redhat.com> | ||||||
|  | Reviewed-by: Simo Sorce <simo@redhat.com> | ||||||
|  | Merges: #229 | ||||||
|  | (cherry picked from commit 5a714768aec776dc875237dd729c85389932a688) | ||||||
|  | ---
 | ||||||
|  |  src/gp_debug.c | 34 ++++++++-------------------------- | ||||||
|  |  src/gp_debug.h |  3 +-- | ||||||
|  |  src/gssproxy.c |  2 +- | ||||||
|  |  3 files changed, 10 insertions(+), 29 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/src/gp_debug.c b/src/gp_debug.c
 | ||||||
|  | index 4a141fc..a0f51f0 100644
 | ||||||
|  | --- a/src/gp_debug.c
 | ||||||
|  | +++ b/src/gp_debug.c
 | ||||||
|  | @@ -1,4 +1,4 @@
 | ||||||
|  | -/* Copyright (C) 2011 the GSS-PROXY contributors, see COPYING for license */
 | ||||||
|  | +/* Copyright (C) 2011,2018 the GSS-PROXY contributors, see COPYING for license */
 | ||||||
|  |   | ||||||
|  |  #include "config.h" | ||||||
|  |  #include <stdbool.h> | ||||||
|  | @@ -7,35 +7,17 @@
 | ||||||
|  |  #include "gp_log.h" | ||||||
|  |   | ||||||
|  |  /* global debug switch */ | ||||||
|  | -int gp_debug;
 | ||||||
|  | -
 | ||||||
|  | -int gp_debug_args(int level) {
 | ||||||
|  | -    static int args_level = 0;
 | ||||||
|  | -
 | ||||||
|  | -    if (level != 0) {
 | ||||||
|  | -        args_level = level;
 | ||||||
|  | -    }
 | ||||||
|  | -    return args_level;
 | ||||||
|  | -}
 | ||||||
|  | +int gp_debug = 0;
 | ||||||
|  |   | ||||||
|  |  void gp_debug_toggle(int level) | ||||||
|  |  { | ||||||
|  | -    static bool krb5_trace_set = false;
 | ||||||
|  | +    if (level <= gp_debug)
 | ||||||
|  | +        return;
 | ||||||
|  |   | ||||||
|  | -    /* Command line and environment options override config file */
 | ||||||
|  | -    gp_debug = gp_debug_args(0);
 | ||||||
|  | -    if (gp_debug == 0) {
 | ||||||
|  | -        gp_debug = level;
 | ||||||
|  | -    }
 | ||||||
|  | -    if (level >= 3) {
 | ||||||
|  | -        if (!getenv("KRB5_TRACE")) {
 | ||||||
|  | -            setenv("KRB5_TRACE", "/dev/stderr", 1);
 | ||||||
|  | -            krb5_trace_set = true;
 | ||||||
|  | -        }
 | ||||||
|  | -    } else if (krb5_trace_set) {
 | ||||||
|  | -        unsetenv("KRB5_TRACE");
 | ||||||
|  | -        krb5_trace_set = false;
 | ||||||
|  | -    }
 | ||||||
|  | +    if (level >= 3 && !getenv("KRB5_TRACE"))
 | ||||||
|  | +        setenv("KRB5_TRACE", "/dev/stderr", 1);
 | ||||||
|  | +
 | ||||||
|  | +    gp_debug = level;
 | ||||||
|  |      GPDEBUG("Debug Enabled (level: %d)\n", level); | ||||||
|  |  } | ||||||
|  |   | ||||||
|  | diff --git a/src/gp_debug.h b/src/gp_debug.h
 | ||||||
|  | index 1c2f8a3..4932bfd 100644
 | ||||||
|  | --- a/src/gp_debug.h
 | ||||||
|  | +++ b/src/gp_debug.h
 | ||||||
|  | @@ -1,4 +1,4 @@
 | ||||||
|  | -/* Copyright (C) 2011 the GSS-PROXY contributors, see COPYING for license */
 | ||||||
|  | +/* Copyright (C) 2011,2018 the GSS-PROXY contributors, see COPYING for license */
 | ||||||
|  |   | ||||||
|  |  #ifndef _GP_DEBUG_H_ | ||||||
|  |  #define _GP_DEBUG_H_ | ||||||
|  | @@ -10,7 +10,6 @@
 | ||||||
|  |   | ||||||
|  |  extern int gp_debug; | ||||||
|  |   | ||||||
|  | -int gp_debug_args(int level);
 | ||||||
|  |  void gp_debug_toggle(int); | ||||||
|  |  void gp_debug_printf(const char *format, ...); | ||||||
|  |  void gp_debug_time_printf(const char *format, ...); | ||||||
|  | diff --git a/src/gssproxy.c b/src/gssproxy.c
 | ||||||
|  | index 6d36a5d..db6e89b 100644
 | ||||||
|  | --- a/src/gssproxy.c
 | ||||||
|  | +++ b/src/gssproxy.c
 | ||||||
|  | @@ -208,7 +208,7 @@ int main(int argc, const char *argv[])
 | ||||||
|  |   | ||||||
|  |      if (opt_debug || opt_debug_level > 0) { | ||||||
|  |          if (opt_debug_level == 0) opt_debug_level = 1; | ||||||
|  | -        gp_debug_args(opt_debug_level);
 | ||||||
|  | +        gp_debug_toggle(opt_debug_level);
 | ||||||
|  |      } | ||||||
|  |   | ||||||
|  |      if (opt_daemon && opt_interactive) { | ||||||
							
								
								
									
										74
									
								
								Clarify-debug-and-debug_level-in-man-pages.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								Clarify-debug-and-debug_level-in-man-pages.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,74 @@ | |||||||
|  | From d71d354f1020a7deac57f26cc7c2cafb3fa675a3 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Robbie Harwood <rharwood@redhat.com> | ||||||
|  | Date: Wed, 11 Apr 2018 16:01:21 -0400 | ||||||
|  | Subject: [PATCH] Clarify debug and debug_level in man pages | ||||||
|  | 
 | ||||||
|  | In particular, add debug_level to gssproxy(5) since it was previously | ||||||
|  | accepted but not documented. | ||||||
|  | 
 | ||||||
|  | Signed-off-by: Robbie Harwood <rharwood@redhat.com> | ||||||
|  | Reviewed-by: Simo Sorce <simo@redhat.com> | ||||||
|  | Merges: #229 | ||||||
|  | (cherry picked from commit e0e96e46be03102903533a9816b4deefe1adfaf8) | ||||||
|  | ---
 | ||||||
|  |  man/gssproxy.8.xml      | 24 +++++++++++++++++++++++- | ||||||
|  |  man/gssproxy.conf.5.xml |  5 ++++- | ||||||
|  |  2 files changed, 27 insertions(+), 2 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/man/gssproxy.8.xml b/man/gssproxy.8.xml
 | ||||||
|  | index 1df4b0d..21f7e6a 100644
 | ||||||
|  | --- a/man/gssproxy.8.xml
 | ||||||
|  | +++ b/man/gssproxy.8.xml
 | ||||||
|  | @@ -118,13 +118,35 @@
 | ||||||
|  |                      </para> | ||||||
|  |                  </listitem> | ||||||
|  |              </varlistentry> | ||||||
|  | +
 | ||||||
|  |              <varlistentry> | ||||||
|  |                  <term> | ||||||
|  |                      <option>-d</option>,<option>--debug</option> | ||||||
|  |                  </term> | ||||||
|  |                  <listitem> | ||||||
|  |                      <para> | ||||||
|  | -                        Turn on debugging.
 | ||||||
|  | +                        Turn on debugging.  This option is identical to
 | ||||||
|  | +                        --debug-level=1.
 | ||||||
|  | +                    </para>
 | ||||||
|  | +                </listitem>
 | ||||||
|  | +            </varlistentry>
 | ||||||
|  | +
 | ||||||
|  | +            <varlistentry>
 | ||||||
|  | +                <term>
 | ||||||
|  | +                    <option>--debug-level=</option>
 | ||||||
|  | +                </term>
 | ||||||
|  | +                <listitem>
 | ||||||
|  | +                    <para>
 | ||||||
|  | +                        Turn on debugging at the specified level.  0
 | ||||||
|  | +                        corresponds to no logging, while 1 turns on basic
 | ||||||
|  | +                        debug logging.  Level 2 increases verbosity, including
 | ||||||
|  | +                        more detailed credential verification.
 | ||||||
|  | +                    </para>
 | ||||||
|  | +                    <para>
 | ||||||
|  | +                        At level 3 and above, KRB5_TRACE output is logged.  If
 | ||||||
|  | +                        KRB5_TRACE was already set in the execution
 | ||||||
|  | +                        environment, trace output is sent to its value
 | ||||||
|  | +                        instead.
 | ||||||
|  |                      </para> | ||||||
|  |                  </listitem> | ||||||
|  |              </varlistentry> | ||||||
|  | diff --git a/man/gssproxy.conf.5.xml b/man/gssproxy.conf.5.xml
 | ||||||
|  | index de846b4..21c9653 100644
 | ||||||
|  | --- a/man/gssproxy.conf.5.xml
 | ||||||
|  | +++ b/man/gssproxy.conf.5.xml
 | ||||||
|  | @@ -192,7 +192,10 @@
 | ||||||
|  |                  <varlistentry> | ||||||
|  |                      <term>debug (boolean)</term> | ||||||
|  |                      <listitem> | ||||||
|  | -                        <para>Enable debugging to syslog.</para>
 | ||||||
|  | +                        <para>
 | ||||||
|  | +                            Enable debugging to syslog.  Setting to true is
 | ||||||
|  | +                            identical to setting debug_level to 1.
 | ||||||
|  | +                        </para>
 | ||||||
|  |                          <para>Default: debug = false</para> | ||||||
|  |                      </listitem> | ||||||
|  |                  </varlistentry> | ||||||
| @ -1,7 +1,7 @@ | |||||||
| Name:		gssproxy | Name:		gssproxy | ||||||
| 
 | 
 | ||||||
| Version:	0.8.0 | Version:	0.8.0 | ||||||
| Release:	2%{?dist} | Release:	3%{?dist} | ||||||
| Summary:	GSSAPI Proxy | Summary:	GSSAPI Proxy | ||||||
| 
 | 
 | ||||||
| Group:		System Environment/Libraries | Group:		System Environment/Libraries | ||||||
| @ -14,6 +14,9 @@ Source0:	https://releases.pagure.org/%{name}/%{name}-%{version}.tar.gz | |||||||
| %global gpstatedir %{_localstatedir}/lib/gssproxy | %global gpstatedir %{_localstatedir}/lib/gssproxy | ||||||
| 
 | 
 | ||||||
| ### Patches ### | ### Patches ### | ||||||
|  | Patch0: Always-use-the-encype-we-selected.patch | ||||||
|  | Patch1: Clarify-debug-and-debug_level-in-man-pages.patch | ||||||
|  | Patch2: Always-choose-highest-requested-debug-level.patch | ||||||
| 
 | 
 | ||||||
| ### Dependencies ### | ### Dependencies ### | ||||||
| Requires: krb5-libs >= 1.12.0 | Requires: krb5-libs >= 1.12.0 | ||||||
| @ -108,6 +111,10 @@ mkdir -p %{buildroot}%{gpstatedir}/rcache | |||||||
| %systemd_postun_with_restart gssproxy.service | %systemd_postun_with_restart gssproxy.service | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Thu Apr 12 2018 Robbie Harwood <rharwood@redhat.com> - 0.8.0-3 | ||||||
|  | - Always choose highest requested debug level | ||||||
|  | - Update man pages about debugging | ||||||
|  | 
 | ||||||
| * Tue Feb 27 2018 Robbie Harwood <rharwood@redhat.com> - 0.8.0-2 | * Tue Feb 27 2018 Robbie Harwood <rharwood@redhat.com> - 0.8.0-2 | ||||||
| - Always use the encype we selected | - Always use the encype we selected | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user