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