diff options
author | James <> | 2015-11-04 11:49:21 +0000 |
---|---|---|
committer | James <> | 2015-11-04 11:49:21 +0000 |
commit | 716ca530e1c4515d8683c9d5be3d56b301758b66 (patch) | |
tree | 700eb5bcc1a462a5f21dcec15ce7c97ecfefa772 /package/network/services/lldpd/patches | |
download | trunk-47381-master.tar.gz trunk-47381-master.tar.bz2 trunk-47381-master.zip |
Diffstat (limited to 'package/network/services/lldpd/patches')
-rw-r--r-- | package/network/services/lldpd/patches/100-os-release.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/package/network/services/lldpd/patches/100-os-release.patch b/package/network/services/lldpd/patches/100-os-release.patch new file mode 100644 index 0000000..a906f39 --- /dev/null +++ b/package/network/services/lldpd/patches/100-os-release.patch @@ -0,0 +1,39 @@ +Index: lldpd-0.7.15/src/daemon/lldpd.c +=================================================================== +--- lldpd-0.7.15.orig/src/daemon/lldpd.c ++++ lldpd-0.7.15/src/daemon/lldpd.c +@@ -736,6 +736,10 @@ lldpd_get_os_release() { + fp = fopen("/usr/lib/os-release", "r"); + } + if (!fp) { ++ log_debug("localchassis", "could not open /usr/lib/os-release"); ++ fp = fopen("/etc/openwrt_release", "r"); ++ } ++ if (!fp) { + log_info("localchassis", + "could not open either /etc/os-release or /usr/lib/os-release"); + return NULL; +@@ -745,7 +749,8 @@ lldpd_get_os_release() { + key = strtok(line, "="); + val = strtok(NULL, "="); + +- if (strncmp(key, "PRETTY_NAME", sizeof(line)) == 0) { ++ if (strncmp(key, "PRETTY_NAME", sizeof(line)) == 0 || ++ strncmp(key, "DISTRIB_DESCRIPTION", sizeof(line)) == 0) { + strlcpy(release, val, sizeof(line)); + break; + } +@@ -755,11 +760,11 @@ lldpd_get_os_release() { + /* Remove trailing newline and all " in the string. */ + ptr1 = release + strlen(release) - 1; + while (ptr1 != release && +- ((*ptr1 == '"') || (*ptr1 == '\n'))) { ++ ((*ptr1 == '"') || (*ptr1 == '\n') || (*ptr1 == '\''))) { + *ptr1 = '\0'; + ptr1--; + } +- if (release[0] == '"') ++ if (release[0] == '"' || release[0] == '\'') + return release+1; + return release; + } |