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 | ||||
| 
 | ||||
| Version:	0.8.0 | ||||
| Release:	2%{?dist} | ||||
| Release:	3%{?dist} | ||||
| Summary:	GSSAPI Proxy | ||||
| 
 | ||||
| Group:		System Environment/Libraries | ||||
| @ -14,6 +14,9 @@ Source0:	https://releases.pagure.org/%{name}/%{name}-%{version}.tar.gz | ||||
| %global gpstatedir %{_localstatedir}/lib/gssproxy | ||||
| 
 | ||||
| ### 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 ### | ||||
| Requires: krb5-libs >= 1.12.0 | ||||
| @ -108,6 +111,10 @@ mkdir -p %{buildroot}%{gpstatedir}/rcache | ||||
| %systemd_postun_with_restart gssproxy.service | ||||
| 
 | ||||
| %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 | ||||
| - Always use the encype we selected | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user