Matej Habrnal 34dad7
From 0b8955a845f7a28a090bfe07d33a0acf161526e2 Mon Sep 17 00:00:00 2001
Matej Habrnal 34dad7
From: Matej Habrnal <mhabrnal@redhat.com>
Matej Habrnal 34dad7
Date: Fri, 24 Apr 2015 15:37:15 +0200
Matej Habrnal 34dad7
Subject: [PATCH] abrt-auto-reporting: require rhtsupport.conf file only on
Matej Habrnal 34dad7
 RHEL
Matej Habrnal 34dad7
Matej Habrnal 34dad7
abrt-auto-reporting required the rhtsupport.conf on Fedora and CentOS but the conf
Matej Habrnal 34dad7
file do not exists in those systems.
Matej Habrnal 34dad7
Matej Habrnal 34dad7
Resolves abrt/abrt#957
Matej Habrnal 34dad7
Matej Habrnal 34dad7
Signed-off-by: Matej Habrnal <mhabrnal@redhat.com>
Matej Habrnal 34dad7
---
Matej Habrnal 34dad7
 configure.ac                                |  11 +++
Matej Habrnal 34dad7
 doc/Makefile.am                             |  13 +++-
Matej Habrnal 34dad7
 doc/abrt-auto-reporting-authenticated.txt   | 106 ++++++++++++++++++++++++++++
Matej Habrnal 34dad7
 doc/abrt-auto-reporting-unauthenticated.txt |  71 +++++++++++++++++++
Matej Habrnal 34dad7
 doc/abrt-auto-reporting.txt                 | 106 ----------------------------
Matej Habrnal 34dad7
 src/daemon/abrt-auto-reporting.c            |  71 ++++++++++++++-----
Matej Habrnal 34dad7
 6 files changed, 254 insertions(+), 124 deletions(-)
Matej Habrnal 34dad7
 create mode 100644 doc/abrt-auto-reporting-authenticated.txt
Matej Habrnal 34dad7
 create mode 100644 doc/abrt-auto-reporting-unauthenticated.txt
Matej Habrnal 34dad7
 delete mode 100644 doc/abrt-auto-reporting.txt
Matej Habrnal 34dad7
Matej Habrnal 34dad7
diff --git a/configure.ac b/configure.ac
Matej Habrnal 34dad7
index acd0d32..6962d2c 100644
Matej Habrnal 34dad7
--- a/configure.ac
Matej Habrnal 34dad7
+++ b/configure.ac
Matej Habrnal 34dad7
@@ -296,6 +296,17 @@ AC_ARG_ENABLE(suggest-autoreporting,
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
 AM_CONDITIONAL(SUGGEST_AUTOREPORTING, test "$enable_suggest_autoreporting" = "yes")
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
+# Authenticated autoreporting
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+AC_ARG_ENABLE(authenticated-autoreporting,
Matej Habrnal 34dad7
+    AS_HELP_STRING([--enable-authenticated-autoreporting],
Matej Habrnal 34dad7
+    [enable authenticated autoreporting]),
Matej Habrnal 34dad7
+    [enable_authenticated_autoreporting=$enableval],
Matej Habrnal 34dad7
+    [enable_authenticated_autoreporting=no]
Matej Habrnal 34dad7
+)
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+AM_CONDITIONAL(AUTHENTICATED_AUTOREPORTING, test "$enable_authenticated_autoreporting" = "yes")
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
 # Make satyr use GDB or elfutils/libunwind for unwinding?
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
 AC_ARG_ENABLE([native-unwinder],
Matej Habrnal 34dad7
diff --git a/doc/Makefile.am b/doc/Makefile.am
Matej Habrnal 34dad7
index 6efd6d6..3e7499c 100644
Matej Habrnal 34dad7
--- a/doc/Makefile.am
Matej Habrnal 34dad7
+++ b/doc/Makefile.am
Matej Habrnal 34dad7
@@ -78,6 +78,17 @@ man1_MANS = ${MAN1_TXT:%.txt=%.1}
Matej Habrnal 34dad7
 man5_MANS = ${MAN5_TXT:%.txt=%.5} ${MAN5_PREFORMATTED}
Matej Habrnal 34dad7
 man8_MANS = ${MAN8_TXT:%.txt=%.8}
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
+MAN_SOURCE =
Matej Habrnal 34dad7
+MAN_SOURCE = abrt-auto-reporting-authenticated.txt
Matej Habrnal 34dad7
+MAN_SOURCE = abrt-auto-reporting-unauthenticated.txt
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+if AUTHENTICATED_AUTOREPORTING
Matej Habrnal 34dad7
+abrt-auto-reporting.txt: abrt-auto-reporting-authenticated.txt
Matej Habrnal 34dad7
+else
Matej Habrnal 34dad7
+abrt-auto-reporting.txt: abrt-auto-reporting-unauthenticated.txt
Matej Habrnal 34dad7
+endif
Matej Habrnal 34dad7
+	cp $< $@
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
 %.1 %.5 %.8: %.xml
Matej Habrnal 34dad7
 	$(XMLTO_SILENT) xmlto man $< 2>&1 | sed '/Note/d'
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
@@ -86,6 +97,6 @@ man8_MANS = ${MAN8_TXT:%.txt=%.8}
Matej Habrnal 34dad7
                            --conf-file ../asciidoc.conf \
Matej Habrnal 34dad7
                            -aabrt_version=$(PACKAGE_VERSION) -o $@ $<
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
-EXTRA_DIST = $(MAN1_TXT) $(MAN5_TXT) $(MAN8_TXT) $(MAN5_PREFORMATTED)
Matej Habrnal 34dad7
+EXTRA_DIST = $(MAN1_TXT) $(MAN5_TXT) $(MAN8_TXT) $(MAN5_PREFORMATTED) $(MAN_SOURCE)
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
 CLEANFILES = ${MAN1_TXT:%.txt=%.1} ${MAN5_TXT:%.txt=%.5} ${MAN8_TXT:%.txt=%.8}
Matej Habrnal 34dad7
diff --git a/doc/abrt-auto-reporting-authenticated.txt b/doc/abrt-auto-reporting-authenticated.txt
Matej Habrnal 34dad7
new file mode 100644
Matej Habrnal 34dad7
index 0000000..2a27945
Matej Habrnal 34dad7
--- /dev/null
Matej Habrnal 34dad7
+++ b/doc/abrt-auto-reporting-authenticated.txt
Matej Habrnal 34dad7
@@ -0,0 +1,106 @@
Matej Habrnal 34dad7
+abrt-auto-reporting(1)
Matej Habrnal 34dad7
+======================
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+NAME
Matej Habrnal 34dad7
+----
Matej Habrnal 34dad7
+abrt-auto-reporting - Get or modify the auto reporting option values
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+SYNOPSIS
Matej Habrnal 34dad7
+--------
Matej Habrnal 34dad7
+'abrt-auto-reporting' [-v] [ enabled | yes | 1 | on | disabled | no | 0 | off ]
Matej Habrnal 34dad7
+                      [ [--anonymous] |
Matej Habrnal 34dad7
+                        [--username USERNAME [--password PASSWORD] ] |
Matej Habrnal 34dad7
+                        [--certificate SOURCE] ]
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+DESCRIPTION
Matej Habrnal 34dad7
+-----------
Matej Habrnal 34dad7
+Reads the configuration from abrt.conf and saves the changes to the same file.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+The changes will take effect immediately without necessity to restart any ABRT
Matej Habrnal 34dad7
+process and will be persistent.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+'disabled'::
Matej Habrnal 34dad7
+   User have to report the detect problems manually
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+'enabled'::
Matej Habrnal 34dad7
+   ABRT uploads an uReport which was generated for a detected problem
Matej Habrnal 34dad7
+   immediately after the detection phase.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+Reads and saves the authentication configuration options in
Matej Habrnal 34dad7
+/etc/libreport/plugins/ureport.conf and /etc/libreport/plugins/rhtsupport.conf
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+uReport description
Matej Habrnal 34dad7
+~~~~~~~~~~~~~~~~~~~
Matej Habrnal 34dad7
+ABRT supports uReports for four types of crashes: crashes of C/C++ programs
Matej Habrnal 34dad7
+that result in a core dump, uncaught Python exceptions, uncaught Java
Matej Habrnal 34dad7
+exceptions and kernel oopses.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+Each uReport generally contains a stack trace, or multiple stack traces in the
Matej Habrnal 34dad7
+case of multi-threaded C/C++ and Java programs. The stack trace only describes
Matej Habrnal 34dad7
+the call stack of the program at the time of the crash and does not contain
Matej Habrnal 34dad7
+contents of any variables.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+Every uReport also contains identification of the operating system, versions of
Matej Habrnal 34dad7
+the RPM packages involved in the crash, and whether the program ran under a
Matej Habrnal 34dad7
+root user.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+There are also items specific to each crash type:
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+C/C++ crashes::
Matej Habrnal 34dad7
+    these are path to the executable and signal delivered to the program,
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+Python exceptions::
Matej Habrnal 34dad7
+    there is the type of the exception (without the error message, which may
Matej Habrnal 34dad7
+    contain sensitive data),
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+for kernel oopses::
Matej Habrnal 34dad7
+    these are list of loaded kernel modules, list of taint flags, and full text
Matej Habrnal 34dad7
+    of the kernel oops.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+The authenticated uReports also contains *hostname* and *machineid* to enable a
Matej Habrnal 34dad7
+server side filtering at https://access.redhat.com/.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+The authenticated uReports have the benefit of rich server replies which may
Matej Habrnal 34dad7
+include a solution for the submitted crash. The authentication is done using
Matej Habrnal 34dad7
+either Red Hat Subscription Certificates or Red Hat Customer Portal
Matej Habrnal 34dad7
+credentials.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+'Warning':
Matej Habrnal 34dad7
+The full text of a kernel oops might contain information like the
Matej Habrnal 34dad7
+identification of the host hardware type. You should disable the autoreporting
Matej Habrnal 34dad7
+feature if you do not want to share this information with Red Hat.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+OPTIONS
Matej Habrnal 34dad7
+-------
Matej Habrnal 34dad7
+-v, --verbose::
Matej Habrnal 34dad7
+   Be more verbose. Can be given multiple times.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+-a, --anonymous::
Matej Habrnal 34dad7
+   Turns the authentication off by clearing both 'SSLClientAuth' and 'HTTPAuth'
Matej Habrnal 34dad7
+   configuration options in /etc/libreport/plugins/ureport.conf
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+-u, --username USERNAME::
Matej Habrnal 34dad7
+   Turns HTTP Authentication on by setting 'HTTPAuth' configuration option to
Matej Habrnal 34dad7
+   *rhts-credentials* in /etc/libreport/plugins/ureport.conf and storing
Matej Habrnal 34dad7
+   USERNAME and PASSWORD in /etc/libreport/plugins/rhtsupport.conf
Matej Habrnal 34dad7
+   Also turns the SSL Client Authentication off, because these methods cannot
Matej Habrnal 34dad7
+   be used together.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+-p, --password PASSWORD::
Matej Habrnal 34dad7
+   Password for HTTP Authentication. If not provided, a prompt asking for it
Matej Habrnal 34dad7
+   will be issued.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+-c, --certificate SOURCE::
Matej Habrnal 34dad7
+   Turns SSL Client Authentication on by setting 'SSLClientAuth' configuration
Matej Habrnal 34dad7
+   option to SOURCE in /etc/libreport/plugins/ureport.conf.
Matej Habrnal 34dad7
+   Also turns the HTTP Authentication off, because these methods cannot
Matej Habrnal 34dad7
+   be used together.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+SEE ALSO
Matej Habrnal 34dad7
+--------
Matej Habrnal 34dad7
+abrt.conf(5), ureport.conf(5), rhtsupport.conf(5)
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+AUTHORS
Matej Habrnal 34dad7
+-------
Matej Habrnal 34dad7
+* ABRT team
Matej Habrnal 34dad7
diff --git a/doc/abrt-auto-reporting-unauthenticated.txt b/doc/abrt-auto-reporting-unauthenticated.txt
Matej Habrnal 34dad7
new file mode 100644
Matej Habrnal 34dad7
index 0000000..320c803
Matej Habrnal 34dad7
--- /dev/null
Matej Habrnal 34dad7
+++ b/doc/abrt-auto-reporting-unauthenticated.txt
Matej Habrnal 34dad7
@@ -0,0 +1,71 @@
Matej Habrnal 34dad7
+abrt-auto-reporting(1)
Matej Habrnal 34dad7
+======================
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+NAME
Matej Habrnal 34dad7
+----
Matej Habrnal 34dad7
+abrt-auto-reporting - Get or modify the auto reporting option values
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+SYNOPSIS
Matej Habrnal 34dad7
+--------
Matej Habrnal 34dad7
+'abrt-auto-reporting' [-v] [ enabled | yes | 1 | on | disabled | no | 0 | off ]
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+DESCRIPTION
Matej Habrnal 34dad7
+-----------
Matej Habrnal 34dad7
+Reads the configuration from abrt.conf and saves the changes to the same file.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+The changes will take effect immediately without necessity to restart any ABRT
Matej Habrnal 34dad7
+process and will be persistent.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+'disabled'::
Matej Habrnal 34dad7
+   User have to report the detect problems manually
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+'enabled'::
Matej Habrnal 34dad7
+   ABRT uploads an uReport which was generated for a detected problem
Matej Habrnal 34dad7
+   immediately after the detection phase.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+uReport description
Matej Habrnal 34dad7
+~~~~~~~~~~~~~~~~~~~
Matej Habrnal 34dad7
+ABRT supports uReports for four types of crashes: crashes of C/C++ programs
Matej Habrnal 34dad7
+that result in a core dump, uncaught Python exceptions, uncaught Java
Matej Habrnal 34dad7
+exceptions and kernel oopses.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+Each uReport generally contains a stack trace, or multiple stack traces in the
Matej Habrnal 34dad7
+case of multi-threaded C/C++ and Java programs. The stack trace only describes
Matej Habrnal 34dad7
+the call stack of the program at the time of the crash and does not contain
Matej Habrnal 34dad7
+contents of any variables.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+Every uReport also contains identification of the operating system, versions of
Matej Habrnal 34dad7
+the RPM packages involved in the crash, and whether the program ran under a
Matej Habrnal 34dad7
+root user.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+There are also items specific to each crash type:
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+C/C++ crashes::
Matej Habrnal 34dad7
+    these are path to the executable and signal delivered to the program,
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+Python exceptions::
Matej Habrnal 34dad7
+    there is the type of the exception (without the error message, which may
Matej Habrnal 34dad7
+    contain sensitive data),
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+for kernel oopses::
Matej Habrnal 34dad7
+    these are list of loaded kernel modules, list of taint flags, and full text
Matej Habrnal 34dad7
+    of the kernel oops.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+'Warning':
Matej Habrnal 34dad7
+The full text of a kernel oops might contain information like the
Matej Habrnal 34dad7
+identification of the host hardware type. You should disable the autoreporting
Matej Habrnal 34dad7
+feature if you do not want to share this information with Red Hat.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+OPTIONS
Matej Habrnal 34dad7
+-------
Matej Habrnal 34dad7
+-v, --verbose::
Matej Habrnal 34dad7
+   Be more verbose. Can be given multiple times.
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+SEE ALSO
Matej Habrnal 34dad7
+--------
Matej Habrnal 34dad7
+abrt.conf(5)
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
+AUTHORS
Matej Habrnal 34dad7
+-------
Matej Habrnal 34dad7
+* ABRT team
Matej Habrnal 34dad7
diff --git a/doc/abrt-auto-reporting.txt b/doc/abrt-auto-reporting.txt
Matej Habrnal 34dad7
deleted file mode 100644
Matej Habrnal 34dad7
index 2a27945..0000000
Matej Habrnal 34dad7
--- a/doc/abrt-auto-reporting.txt
Matej Habrnal 34dad7
+++ /dev/null
Matej Habrnal 34dad7
@@ -1,106 +0,0 @@
Matej Habrnal 34dad7
-abrt-auto-reporting(1)
Matej Habrnal 34dad7
-======================
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-NAME
Matej Habrnal 34dad7
-----
Matej Habrnal 34dad7
-abrt-auto-reporting - Get or modify the auto reporting option values
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-SYNOPSIS
Matej Habrnal 34dad7
---------
Matej Habrnal 34dad7
-'abrt-auto-reporting' [-v] [ enabled | yes | 1 | on | disabled | no | 0 | off ]
Matej Habrnal 34dad7
-                      [ [--anonymous] |
Matej Habrnal 34dad7
-                        [--username USERNAME [--password PASSWORD] ] |
Matej Habrnal 34dad7
-                        [--certificate SOURCE] ]
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-DESCRIPTION
Matej Habrnal 34dad7
------------
Matej Habrnal 34dad7
-Reads the configuration from abrt.conf and saves the changes to the same file.
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-The changes will take effect immediately without necessity to restart any ABRT
Matej Habrnal 34dad7
-process and will be persistent.
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-'disabled'::
Matej Habrnal 34dad7
-   User have to report the detect problems manually
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-'enabled'::
Matej Habrnal 34dad7
-   ABRT uploads an uReport which was generated for a detected problem
Matej Habrnal 34dad7
-   immediately after the detection phase.
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-Reads and saves the authentication configuration options in
Matej Habrnal 34dad7
-/etc/libreport/plugins/ureport.conf and /etc/libreport/plugins/rhtsupport.conf
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-uReport description
Matej Habrnal 34dad7
-~~~~~~~~~~~~~~~~~~~
Matej Habrnal 34dad7
-ABRT supports uReports for four types of crashes: crashes of C/C++ programs
Matej Habrnal 34dad7
-that result in a core dump, uncaught Python exceptions, uncaught Java
Matej Habrnal 34dad7
-exceptions and kernel oopses.
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-Each uReport generally contains a stack trace, or multiple stack traces in the
Matej Habrnal 34dad7
-case of multi-threaded C/C++ and Java programs. The stack trace only describes
Matej Habrnal 34dad7
-the call stack of the program at the time of the crash and does not contain
Matej Habrnal 34dad7
-contents of any variables.
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-Every uReport also contains identification of the operating system, versions of
Matej Habrnal 34dad7
-the RPM packages involved in the crash, and whether the program ran under a
Matej Habrnal 34dad7
-root user.
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-There are also items specific to each crash type:
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-C/C++ crashes::
Matej Habrnal 34dad7
-    these are path to the executable and signal delivered to the program,
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-Python exceptions::
Matej Habrnal 34dad7
-    there is the type of the exception (without the error message, which may
Matej Habrnal 34dad7
-    contain sensitive data),
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-for kernel oopses::
Matej Habrnal 34dad7
-    these are list of loaded kernel modules, list of taint flags, and full text
Matej Habrnal 34dad7
-    of the kernel oops.
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-The authenticated uReports also contains *hostname* and *machineid* to enable a
Matej Habrnal 34dad7
-server side filtering at https://access.redhat.com/.
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-The authenticated uReports have the benefit of rich server replies which may
Matej Habrnal 34dad7
-include a solution for the submitted crash. The authentication is done using
Matej Habrnal 34dad7
-either Red Hat Subscription Certificates or Red Hat Customer Portal
Matej Habrnal 34dad7
-credentials.
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-'Warning':
Matej Habrnal 34dad7
-The full text of a kernel oops might contain information like the
Matej Habrnal 34dad7
-identification of the host hardware type. You should disable the autoreporting
Matej Habrnal 34dad7
-feature if you do not want to share this information with Red Hat.
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-OPTIONS
Matej Habrnal 34dad7
--------
Matej Habrnal 34dad7
--v, --verbose::
Matej Habrnal 34dad7
-   Be more verbose. Can be given multiple times.
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
--a, --anonymous::
Matej Habrnal 34dad7
-   Turns the authentication off by clearing both 'SSLClientAuth' and 'HTTPAuth'
Matej Habrnal 34dad7
-   configuration options in /etc/libreport/plugins/ureport.conf
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
--u, --username USERNAME::
Matej Habrnal 34dad7
-   Turns HTTP Authentication on by setting 'HTTPAuth' configuration option to
Matej Habrnal 34dad7
-   *rhts-credentials* in /etc/libreport/plugins/ureport.conf and storing
Matej Habrnal 34dad7
-   USERNAME and PASSWORD in /etc/libreport/plugins/rhtsupport.conf
Matej Habrnal 34dad7
-   Also turns the SSL Client Authentication off, because these methods cannot
Matej Habrnal 34dad7
-   be used together.
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
--p, --password PASSWORD::
Matej Habrnal 34dad7
-   Password for HTTP Authentication. If not provided, a prompt asking for it
Matej Habrnal 34dad7
-   will be issued.
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
--c, --certificate SOURCE::
Matej Habrnal 34dad7
-   Turns SSL Client Authentication on by setting 'SSLClientAuth' configuration
Matej Habrnal 34dad7
-   option to SOURCE in /etc/libreport/plugins/ureport.conf.
Matej Habrnal 34dad7
-   Also turns the HTTP Authentication off, because these methods cannot
Matej Habrnal 34dad7
-   be used together.
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-SEE ALSO
Matej Habrnal 34dad7
---------
Matej Habrnal 34dad7
-abrt.conf(5), ureport.conf(5), rhtsupport.conf(5)
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
-AUTHORS
Matej Habrnal 34dad7
--------
Matej Habrnal 34dad7
-* ABRT team
Matej Habrnal 34dad7
diff --git a/src/daemon/abrt-auto-reporting.c b/src/daemon/abrt-auto-reporting.c
Matej Habrnal 34dad7
index 0fffeb6..b608c9b 100644
Matej Habrnal 34dad7
--- a/src/daemon/abrt-auto-reporting.c
Matej Habrnal 34dad7
+++ b/src/daemon/abrt-auto-reporting.c
Matej Habrnal 34dad7
@@ -64,6 +64,7 @@ set_abrt_reporting(map_string_t *conf, const char *opt_value)
Matej Habrnal 34dad7
     return 1;
Matej Habrnal 34dad7
 }
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
+#if AUTHENTICATED_AUTOREPORTING != 0
Matej Habrnal 34dad7
 static int
Matej Habrnal 34dad7
 set_ureport_http_auth(map_string_t *conf, const char *opt_value)
Matej Habrnal 34dad7
 {
Matej Habrnal 34dad7
@@ -134,6 +135,7 @@ set_rhts_credentials(map_string_t *conf, const char *username, const char *passw
Matej Habrnal 34dad7
     /* No changes needed -> success */
Matej Habrnal 34dad7
     return 1;
Matej Habrnal 34dad7
 }
Matej Habrnal 34dad7
+#endif
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
 static const char *
Matej Habrnal 34dad7
 get_abrt_reporting(map_string_t *conf)
Matej Habrnal 34dad7
@@ -143,6 +145,7 @@ get_abrt_reporting(map_string_t *conf)
Matej Habrnal 34dad7
     return REPORTING_STATES[index][0];
Matej Habrnal 34dad7
 }
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
+#if AUTHENTICATED_AUTOREPORTING != 0
Matej Habrnal 34dad7
 static const char *
Matej Habrnal 34dad7
 get_ureport_http_auth(map_string_t *conf)
Matej Habrnal 34dad7
 {
Matej Habrnal 34dad7
@@ -154,6 +157,7 @@ get_ureport_client_auth(map_string_t *conf)
Matej Habrnal 34dad7
 {
Matej Habrnal 34dad7
     return get_map_string_item_or_NULL(conf, UREPORT_CLIENT_AUTH_OPTION);
Matej Habrnal 34dad7
 }
Matej Habrnal 34dad7
+#endif
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
 int main(int argc, char *argv[])
Matej Habrnal 34dad7
 {
Matej Habrnal 34dad7
@@ -171,57 +175,78 @@ int main(int argc, char *argv[])
Matej Habrnal 34dad7
     textdomain(PACKAGE);
Matej Habrnal 34dad7
 #endif
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
+#define PROGRAM_USAGE_MIDDLE_PART \
Matej Habrnal 34dad7
+            "\n" \
Matej Habrnal 34dad7
+            "Get or modify a value of the auto-reporting option. The changes will take\n" \
Matej Habrnal 34dad7
+            "effect immediately and will be persistent.\n" \
Matej Habrnal 34dad7
+            "\n" \
Matej Habrnal 34dad7
+            ""STATE_MANUAL":\n" \
Matej Habrnal 34dad7
+            "User have to report the detect problems manually\n" \
Matej Habrnal 34dad7
+            "\n" \
Matej Habrnal 34dad7
+            ""STATE_AUTO":\n" \
Matej Habrnal 34dad7
+            "ABRT uploads an uReport which was generated for a detected problem\n" \
Matej Habrnal 34dad7
+            "immediately after the detection phase. uReport generally contains a stack\n" \
Matej Habrnal 34dad7
+            "trace which only describes the call stack of the program at the time of the\n" \
Matej Habrnal 34dad7
+            "crash and does not contain contents of any variables.  Every uReport also\n" \
Matej Habrnal 34dad7
+            "contains identification of the operating system, versions of the RPM packages\n" \
Matej Habrnal 34dad7
+            "involved in the crash, and whether the program ran under a root user.\n" \
Matej Habrnal 34dad7
+            "\n"
Matej Habrnal 34dad7
+
Matej Habrnal 34dad7
     abrt_init(argv);
Matej Habrnal 34dad7
+#if AUTHENTICATED_AUTOREPORTING != 0
Matej Habrnal 34dad7
     const char *program_usage_string = _(
Matej Habrnal 34dad7
             "& [ "STATE_MANUAL" | "STATE_AUTO" | yes | no | 1 | 0 ] \\\n"
Matej Habrnal 34dad7
             "  [[--anonymous] | [--username USERNAME [--password PASSWORD]] | [--certificate SOURCE]]\n"
Matej Habrnal 34dad7
-            "\n"
Matej Habrnal 34dad7
-            "Get or modify a value of the auto-reporting option. The changes will take\n"
Matej Habrnal 34dad7
-            "effect immediately and will be persistent.\n"
Matej Habrnal 34dad7
-            "\n"
Matej Habrnal 34dad7
-            ""STATE_MANUAL":\n"
Matej Habrnal 34dad7
-            "User have to report the detect problems manually\n"
Matej Habrnal 34dad7
-            "\n"
Matej Habrnal 34dad7
-            ""STATE_AUTO":\n"
Matej Habrnal 34dad7
-            "ABRT uploads an uReport which was generated for a detected problem\n"
Matej Habrnal 34dad7
-            "immediately after the detection phase. uReport generally contains a stack\n"
Matej Habrnal 34dad7
-            "trace which only describes the call stack of the program at the time of the\n"
Matej Habrnal 34dad7
-            "crash and does not contain contents of any variables.  Every uReport also\n"
Matej Habrnal 34dad7
-            "contains identification of the operating system, versions of the RPM packages\n"
Matej Habrnal 34dad7
-            "involved in the crash, and whether the program ran under a root user.\n"
Matej Habrnal 34dad7
-            "\n"
Matej Habrnal 34dad7
+            PROGRAM_USAGE_MIDDLE_PART
Matej Habrnal 34dad7
             "See abrt-auto-reporting(1), reporter-ureport(1) and reporter-rhtsupport(1)\n"
Matej Habrnal 34dad7
             "for more details.\n"
Matej Habrnal 34dad7
     );
Matej Habrnal 34dad7
+#else
Matej Habrnal 34dad7
+    const char *program_usage_string = _(
Matej Habrnal 34dad7
+            "& [ "STATE_MANUAL" | "STATE_AUTO" | yes | no | 1 | 0 ]\n"
Matej Habrnal 34dad7
+            PROGRAM_USAGE_MIDDLE_PART
Matej Habrnal 34dad7
+            "See abrt-auto-reporting(1) and reporter-ureport(1) for more details.\n"
Matej Habrnal 34dad7
+    );
Matej Habrnal 34dad7
+#endif
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
     enum {
Matej Habrnal 34dad7
         OPT_v = 1 << 0,
Matej Habrnal 34dad7
+#if AUTHENTICATED_AUTOREPORTING != 0
Matej Habrnal 34dad7
         OPT_a = 1 << 1,
Matej Habrnal 34dad7
         OPT_u = 1 << 2,
Matej Habrnal 34dad7
         OPT_p = 1 << 3,
Matej Habrnal 34dad7
         OPT_c = 1 << 4,
Matej Habrnal 34dad7
+#endif
Matej Habrnal 34dad7
     };
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
+#if AUTHENTICATED_AUTOREPORTING != 0
Matej Habrnal 34dad7
     int anonymous = 0;
Matej Habrnal 34dad7
     const char *username = NULL;
Matej Habrnal 34dad7
     const char *password = NULL;
Matej Habrnal 34dad7
     const char *certificate = NULL;
Matej Habrnal 34dad7
+#endif
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
     /* Keep enum above and order of options below in sync! */
Matej Habrnal 34dad7
     struct options program_options[] = {
Matej Habrnal 34dad7
         OPT__VERBOSE(&g_verbose),
Matej Habrnal 34dad7
+#if AUTHENTICATED_AUTOREPORTING != 0
Matej Habrnal 34dad7
         OPT_BOOL  (  'a', "anonymous",   &anonymous,               _("Turns the authentication off")),
Matej Habrnal 34dad7
         OPT_STRING(  'u', "username",    &username,    "USERNAME", _("Red Hat Support user name")),
Matej Habrnal 34dad7
         OPT_STRING(  'p', "password",    &password,    "PASSWORD", _("Red Hat Support password, if not given, a prompt for it will be issued")),
Matej Habrnal 34dad7
         OPT_STRING(  'c', "certificate", &certificate, "SOURCE",   _("uReport SSL certificate paths or certificate type")),
Matej Habrnal 34dad7
+#endif
Matej Habrnal 34dad7
         OPT_END()
Matej Habrnal 34dad7
     };
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
-    const unsigned opts = parse_opts(argc, argv, program_options, program_usage_string);
Matej Habrnal 34dad7
+#if AUTHENTICATED_AUTOREPORTING != 0
Matej Habrnal 34dad7
+    const unsigned opts =
Matej Habrnal 34dad7
+#endif
Matej Habrnal 34dad7
+    parse_opts(argc, argv, program_options, program_usage_string);
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
     argv += optind;
Matej Habrnal 34dad7
     argc -= optind;
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
+#if AUTHENTICATED_AUTOREPORTING != 0
Matej Habrnal 34dad7
     if ((opts & OPT_p) && !(opts & OPT_u))
Matej Habrnal 34dad7
     {
Matej Habrnal 34dad7
         error_msg(_("You also need to specify --username for --password"));
Matej Habrnal 34dad7
@@ -246,6 +271,7 @@ int main(int argc, char *argv[])
Matej Habrnal 34dad7
         show_usage_and_die(program_usage_string, program_options);
Matej Habrnal 34dad7
     }
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
+#endif
Matej Habrnal 34dad7
     if (argc > 1)
Matej Habrnal 34dad7
     {
Matej Habrnal 34dad7
         error_msg(_("Invalid number of arguments"));
Matej Habrnal 34dad7
@@ -275,20 +301,25 @@ int main(int argc, char *argv[])
Matej Habrnal 34dad7
     int exit_code = EXIT_FAILURE;
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
     map_string_t *conf = new_map_string();
Matej Habrnal 34dad7
+#if AUTHENTICATED_AUTOREPORTING != 0
Matej Habrnal 34dad7
     map_string_t *rhts_conf = new_map_string();
Matej Habrnal 34dad7
     map_string_t *rhts_conf_bck = NULL;
Matej Habrnal 34dad7
+#endif
Matej Habrnal 34dad7
     map_string_t *ureport_conf = new_map_string();
Matej Habrnal 34dad7
     map_string_t *ureport_conf_bck = NULL;
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
     if (!load_abrt_conf_file(CONF_NAME, conf))
Matej Habrnal 34dad7
         goto finito;
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
+#if AUTHENTICATED_AUTOREPORTING != 0
Matej Habrnal 34dad7
     if (!load_plugin_conf_file(RHTS_NAME, rhts_conf, false))
Matej Habrnal 34dad7
         goto finito;
Matej Habrnal 34dad7
+#endif
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
     if (!load_plugin_conf_file(UREPORT_NAME, ureport_conf, false))
Matej Habrnal 34dad7
         goto finito;
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
+#if AUTHENTICATED_AUTOREPORTING != 0
Matej Habrnal 34dad7
     if ((opts & OPT_a))
Matej Habrnal 34dad7
     {
Matej Habrnal 34dad7
         ureport_conf_bck = clone_map_string(ureport_conf);
Matej Habrnal 34dad7
@@ -334,11 +365,13 @@ int main(int argc, char *argv[])
Matej Habrnal 34dad7
             goto finito;
Matej Habrnal 34dad7
     }
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
+#endif
Matej Habrnal 34dad7
     if (argc == 0)
Matej Habrnal 34dad7
     {
Matej Habrnal 34dad7
         printf("%s", get_abrt_reporting(conf));
Matej Habrnal 34dad7
         exit_code = EXIT_SUCCESS;
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
+#if AUTHENTICATED_AUTOREPORTING != 0
Matej Habrnal 34dad7
         if (g_verbose >= 1)
Matej Habrnal 34dad7
         {
Matej Habrnal 34dad7
             const char *tmp = get_ureport_http_auth(ureport_conf);
Matej Habrnal 34dad7
@@ -350,7 +383,7 @@ int main(int argc, char *argv[])
Matej Habrnal 34dad7
             else
Matej Habrnal 34dad7
                 printf(" %s", _("anonymous auto reporting"));
Matej Habrnal 34dad7
         }
Matej Habrnal 34dad7
-
Matej Habrnal 34dad7
+#endif
Matej Habrnal 34dad7
         putchar('\n');
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
         goto finito;
Matej Habrnal 34dad7
@@ -363,16 +396,20 @@ int main(int argc, char *argv[])
Matej Habrnal 34dad7
         if (ureport_conf_bck != NULL)
Matej Habrnal 34dad7
             save_plugin_conf_file(UREPORT_NAME, ureport_conf_bck);
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
+#if AUTHENTICATED_AUTOREPORTING != 0
Matej Habrnal 34dad7
         if (rhts_conf_bck != NULL)
Matej Habrnal 34dad7
             save_plugin_conf_file(RHTS_NAME, rhts_conf_bck);
Matej Habrnal 34dad7
+#endif
Matej Habrnal 34dad7
     }
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
 
Matej Habrnal 34dad7
 finito:
Matej Habrnal 34dad7
     free_map_string(ureport_conf);
Matej Habrnal 34dad7
     free_map_string(ureport_conf_bck);
Matej Habrnal 34dad7
+#if AUTHENTICATED_AUTOREPORTING != 0
Matej Habrnal 34dad7
     free_map_string(rhts_conf);
Matej Habrnal 34dad7
     free_map_string(rhts_conf_bck);
Matej Habrnal 34dad7
+#endif
Matej Habrnal 34dad7
     free_map_string(conf);
Matej Habrnal 34dad7
     return exit_code;
Matej Habrnal 34dad7
 }
Matej Habrnal 34dad7
-- 
Matej Habrnal 34dad7
2.4.1
Matej Habrnal 34dad7