65 lines
2.3 KiB
Diff
65 lines
2.3 KiB
Diff
diff -up dhcp-4.3.5/omapip/errwarn.c.errwarn dhcp-4.3.5/omapip/errwarn.c
|
|
--- dhcp-4.3.5/omapip/errwarn.c.errwarn 2016-09-27 21:16:50.000000000 +0200
|
|
+++ dhcp-4.3.5/omapip/errwarn.c 2016-11-29 19:44:03.515031147 +0100
|
|
@@ -49,6 +49,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, ... )
|
|
@@ -75,11 +110,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.");
|
|
|