From 5e9162c5ad7aa98f7f673ac7a7f46905ba2deea4 Mon Sep 17 00:00:00 2001 From: Pavel Zhukov Date: Thu, 21 Feb 2019 10:09:57 +0100 Subject: [PATCH 01/28] change bug url --- omapip/errwarn.c | 47 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/omapip/errwarn.c b/omapip/errwarn.c index 38dd9c5..d88e392 100644 --- a/omapip/errwarn.c +++ b/omapip/errwarn.c @@ -48,6 +48,41 @@ void (*log_cleanup) (void); static char mbuf [CVT_BUF_MAX + 1]; static char fbuf [CVT_BUF_MAX + 1]; +// get BUG_REPORT_URL from /etc/os-release +char * bug_report_url(void) { + FILE * file = fopen("/etc/os-release", "r"); + size_t len; + char * line = NULL; + char * url = NULL; + size_t url_len = 256; + + url = (char *) malloc(url_len * sizeof(char)); + strcpy(url, "https://bugzilla.redhat.com/"); + + if (!file) + return url; + + while ((getline(&line, &len, file)) != -1) { + if (strstr(line, "BUG_REPORT_URL") != NULL) { + char * start = strchr(line, '='); + char * rquotes = strrchr(line, '"'); + + if (rquotes != NULL) { + *rquotes = '\0'; + strncpy(url, start+2, url_len); + } else { + strncpy(url, start+1, url_len); + } + url[url_len-1] = '\0'; + fclose(file); + return url; + } + } + fclose(file); + return url; +} + + /* Log an error message, then exit... */ void log_fatal (const char * fmt, ... ) @@ -74,11 +109,13 @@ void log_fatal (const char * fmt, ... ) } log_error ("%s", ""); - log_error ("If you think you have received this message due to a bug rather"); - log_error ("than a configuration issue please read the section on submitting"); - log_error ("bugs on either our web page at www.isc.org or in the README file"); - log_error ("before submitting a bug. These pages explain the proper"); - log_error ("process and the information we find helpful for debugging."); + log_error ("This version of ISC DHCP is based on the release available"); + log_error ("on ftp.isc.org. Features have been added and other changes"); + log_error ("have been made to the base software release in order to make"); + log_error ("it work better with this distribution."); + log_error ("%s", ""); + log_error ("Please report issues with this software via: "); + log_error ("%s", bug_report_url()); log_error ("%s", ""); log_error ("exiting."); -- 2.35.1