diff options
Diffstat (limited to 'debian/patches')
| -rw-r--r-- | debian/patches/0001-hurd.patch | 2 | ||||
| -rw-r--r-- | debian/patches/0005-build.patch | 25 | ||||
| -rw-r--r-- | debian/patches/0100-ansi-c.patch | 18 | ||||
| -rw-r--r-- | debian/patches/0105-dmidecode-avoid-sigbus.patch | 50 | ||||
| -rw-r--r-- | debian/patches/0110-nosysfs.patch | 32 | ||||
| -rw-r--r-- | debian/patches/0115-no_smbios_DMI_entry_point.patch | 55 | ||||
| -rw-r--r-- | debian/patches/0120-return_actual_data_size.patch | 103 | ||||
| -rw-r--r-- | debian/patches/0125-use_read_file_to_read_DMI_table_from_sysfs.patch | 78 | ||||
| -rw-r--r-- | debian/patches/0130-use_DWORD_for_table_max_size.patch | 27 | ||||
| -rw-r--r-- | debian/patches/0135-hide_fixup_msg.patch | 46 | ||||
| -rw-r--r-- | debian/patches/0140-Fix_scan_entry_point.patch | 54 | ||||
| -rw-r--r-- | debian/patches/0145-Fix_condition_error_in_ascii_filter.patch | 18 | ||||
| -rw-r--r-- | debian/patches/0150-Fix_crash.patch | 21 | ||||
| -rw-r--r-- | debian/patches/0155-use_read_file.patch | 43 | ||||
| -rw-r--r-- | debian/patches/0160-HPE_OEM_Firmware_change.patch | 32 | ||||
| -rw-r--r-- | debian/patches/0600-Fix-groff-error.patch | 16 | ||||
| -rw-r--r-- | debian/patches/0605-man.patch | 319 | ||||
| -rw-r--r-- | debian/patches/series | 16 |
18 files changed, 321 insertions, 634 deletions
diff --git a/debian/patches/0001-hurd.patch b/debian/patches/0001-hurd.patch index 0abfea9..6df550a 100644 --- a/debian/patches/0001-hurd.patch +++ b/debian/patches/0001-hurd.patch @@ -5,7 +5,7 @@ Index: trunk/Makefile =================================================================== --- trunk.orig/Makefile +++ trunk/Makefile -@@ -45,7 +45,7 @@ INSTALL_PROGRAM := $(INSTALL) -m 755 +@@ -42,7 +42,7 @@ INSTALL_PROGRAM := $(INSTALL) -m 755 RM := rm -f # BSD make provides $MACHINE, but GNU make doesn't diff --git a/debian/patches/0005-build.patch b/debian/patches/0005-build.patch deleted file mode 100644 index b9361eb..0000000 --- a/debian/patches/0005-build.patch +++ /dev/null @@ -1,25 +0,0 @@ -Author: Daniel Baumann <daniel.baumann@progress-technologies.net> -Description: Avoid overwriting build environment rather than to just extend it. - -Index: trunk/Makefile -=================================================================== ---- trunk.orig/Makefile -+++ trunk/Makefile -@@ -13,7 +13,7 @@ - # - - CC = gcc --CFLAGS = -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \ -+CFLAGS += -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \ - -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef - - # Let lseek and mmap support 64-bit wide offsets -@@ -27,7 +27,7 @@ CFLAGS += -O2 - #CFLAGS += -g - - # Pass linker flags here --LDFLAGS = -+#LDFLAGS = - - DESTDIR = - prefix = /usr/local diff --git a/debian/patches/0100-ansi-c.patch b/debian/patches/0100-ansi-c.patch deleted file mode 100644 index 9a2345c..0000000 --- a/debian/patches/0100-ansi-c.patch +++ /dev/null @@ -1,18 +0,0 @@ -Author: Petter Reinholdtsen <pere@hungry.com> -Description: - Make sure the code compiles when using -ansi. Renames non-ANSI C 'inline' to - '__inline'. - -Index: trunk/types.h -=================================================================== ---- trunk.orig/types.h -+++ trunk/types.h -@@ -31,7 +31,7 @@ typedef struct { - #endif - - #if defined(ALIGNMENT_WORKAROUND) || defined(BIGENDIAN) --static inline u64 U64(u32 low, u32 high) -+static __inline u64 U64(u32 low, u32 high) - { - u64 self; - diff --git a/debian/patches/0105-dmidecode-avoid-sigbus.patch b/debian/patches/0105-dmidecode-avoid-sigbus.patch deleted file mode 100644 index 518d972..0000000 --- a/debian/patches/0105-dmidecode-avoid-sigbus.patch +++ /dev/null @@ -1,50 +0,0 @@ -Description: Avoid SIGBUS on mmap failure - mmap will fail with SIGBUS if trying to map a non-existent portion of - a file. While this should never happen with /dev/mem, it can happen if - passing a regular file with option -d. While people should no longer - do that, failure gracefully seems better than crashing. So check for - the file size before calling mmap. -Author: Jean Delvare <jdelvare@suse.de> -Origin: https://savannah.nongnu.org/bugs/download.php?file_id=35008 -Bug: https://savannah.nongnu.org/bugs/index.php?46066 -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=796963 -Last-Update: 2015-10-01 ----- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ ---- dmidecode.orig/util.c 2015-09-29 11:27:02.136566009 +0200 -+++ dmidecode/util.c 2015-09-29 11:37:24.746191083 +0200 -@@ -152,6 +152,7 @@ void *mem_chunk(off_t base, size_t len, - void *p; - int fd; - #ifdef USE_MMAP -+ struct stat statbuf; - off_t mmoffset; - void *mmp; - #endif -@@ -169,6 +170,26 @@ void *mem_chunk(off_t base, size_t len, - } - - #ifdef USE_MMAP -+ if (fstat(fd, &statbuf) == -1) -+ { -+ fprintf(stderr, "%s: ", devmem); -+ perror("stat"); -+ free(p); -+ return NULL; -+ } -+ -+ /* -+ * mmap() will fail with SIGBUS if trying to map beyond the end of -+ * the file. -+ */ -+ if (S_ISREG(statbuf.st_mode) && base + (off_t)len > statbuf.st_size) -+ { -+ fprintf(stderr, "mmap: Can't map beyond end of file %s\n", -+ devmem); -+ free(p); -+ return NULL; -+ } -+ - #ifdef _SC_PAGESIZE - mmoffset = base % sysconf(_SC_PAGESIZE); - #else diff --git a/debian/patches/0110-nosysfs.patch b/debian/patches/0110-nosysfs.patch deleted file mode 100644 index 04c710a..0000000 --- a/debian/patches/0110-nosysfs.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 33b5aafc6ee6b5de9f2526fb1cf4b14d1e16e4f0 Mon Sep 17 00:00:00 2001 -From: Roy Franz <roy.franz@linaro.org> -Date: Thu, 01 Oct 2015 06:41:43 +0000 -Subject: Add "--no-sysfs" option description to -h output - -A description of --no-sysfs was not added to the output of "-h" when -the feature was added, so add it now. ---- -Index: trunk/CHANGELOG -=================================================================== ---- trunk.orig/CHANGELOG -+++ trunk/CHANGELOG -@@ -1,3 +1,7 @@ -+2015-10-01 Roy Franz <roy.franz@linaro.org> -+ -+ * dmiopt.c: Add "--no-sysfs" option description to -h output. -+ - 2015-09-03 Jean Delvare <jdelvare@suse.de> - - * version.h: Set version to 3.0. -Index: trunk/dmiopt.c -=================================================================== ---- trunk.orig/dmiopt.c -+++ trunk/dmiopt.c -@@ -314,6 +314,7 @@ void print_help(void) - " -u, --dump Do not decode the entries\n" - " --dump-bin FILE Dump the DMI data to a binary file\n" - " --from-dump FILE Read the DMI data from a binary file\n" -+ " --no-sysfs Do not attempt to read DMI data from sysfs files\n" - " -V, --version Display the version and exit\n"; - - printf("%s", help); diff --git a/debian/patches/0115-no_smbios_DMI_entry_point.patch b/debian/patches/0115-no_smbios_DMI_entry_point.patch deleted file mode 100644 index ecbfc11..0000000 --- a/debian/patches/0115-no_smbios_DMI_entry_point.patch +++ /dev/null @@ -1,55 +0,0 @@ -From bf7bad24ce141dab5b5acc3ffb98ce5fe4a8e0f9 Mon Sep 17 00:00:00 2001 -From: Xie XiuQi <xiexiuqi@huawei.com> -Date: Wed, 21 Oct 2015 13:12:50 +0000 -Subject: Fix 'No SMBIOS nor DMI entry point found' on SMBIOS3 - -address_from_efi may return a SMBIOS or SMBIOS3 format entry -point, so add this condition. ---- -Index: trunk/AUTHORS -=================================================================== ---- trunk.orig/AUTHORS -+++ trunk/AUTHORS -@@ -19,6 +19,7 @@ Jarod Wilson <jarod@redhat.com> - Anton Arapov <anton@redhat.com> - Roy Franz <roy.franz@linaro.org> - Tyler Bell <tyler.bell@hp.com> -+Xie XiuQi <xiexiuqi@huawei.com> - - MANY THANKS TO (IN CHRONOLOGICAL ORDER) - Werner Heuser -Index: trunk/CHANGELOG -=================================================================== ---- trunk.orig/CHANGELOG -+++ trunk/CHANGELOG -@@ -1,3 +1,7 @@ -+2015-10-21 Xie XiuQi <xiexiuqi@huawei.com> -+ -+ * dmidecode.c: Handle SMBIOS 3.0 entry points on EFI systems. -+ - 2015-10-01 Roy Franz <roy.franz@linaro.org> - - * dmiopt.c: Add "--no-sysfs" option description to -h output. -Index: trunk/dmidecode.c -=================================================================== ---- trunk.orig/dmidecode.c -+++ trunk/dmidecode.c -@@ -4864,8 +4864,16 @@ int main(int argc, char * const argv[]) - goto exit_free; - } - -- if (smbios_decode(buf, opt.devmem, 0)) -- found++; -+ if (memcmp(buf, "_SM3_", 5) == 0) -+ { -+ if (smbios3_decode(buf, opt.devmem, 0)) -+ found++; -+ } -+ else if (memcmp(buf, "_SM_", 4) == 0) -+ { -+ if (smbios_decode(buf, opt.devmem, 0)) -+ found++; -+ } - goto done; - - memory_scan: diff --git a/debian/patches/0120-return_actual_data_size.patch b/debian/patches/0120-return_actual_data_size.patch deleted file mode 100644 index dc539d9..0000000 --- a/debian/patches/0120-return_actual_data_size.patch +++ /dev/null @@ -1,103 +0,0 @@ -From de9a74e1c60210bee229fcf55b1678a99d1b44dd Mon Sep 17 00:00:00 2001 -From: Jean Delvare <jdelvare@suse.de> -Date: Mon, 02 Nov 2015 08:45:26 +0000 -Subject: Let read_file return the actual data size - -Let read_file return the actual data size to the caller. This gives -the caller the possibility to check that the data size is as expected -and large enough for the purpose, and report to the user if not. ---- -Index: trunk/CHANGELOG -=================================================================== ---- trunk.orig/CHANGELOG -+++ trunk/CHANGELOG -@@ -1,3 +1,8 @@ -+2015-11-02 Jean Delvare <jdelvare@suse.de> -+ -+ * dmidecode.c, util.c, util.h: Let read_file return the actual data -+ size. -+ - 2015-10-21 Xie XiuQi <xiexiuqi@huawei.com> - - * dmidecode.c: Handle SMBIOS 3.0 entry points on EFI systems. -Index: trunk/dmidecode.c -=================================================================== ---- trunk.orig/dmidecode.c -+++ trunk/dmidecode.c -@@ -4748,6 +4748,7 @@ int main(int argc, char * const argv[]) - int ret = 0; /* Returned value */ - int found = 0; - off_t fp; -+ size_t size; - int efi; - u8 *buf; - -@@ -4817,8 +4818,9 @@ int main(int argc, char * const argv[]) - * contain one of several types of entry points, so read enough for - * the largest one, then determine what type it contains. - */ -+ size = 0x20; - if (!(opt.flags & FLAG_NO_SYSFS) -- && (buf = read_file(0x20, SYS_ENTRY_FILE)) != NULL) -+ && (buf = read_file(&size, SYS_ENTRY_FILE)) != NULL) - { - if (!(opt.flags & FLAG_QUIET)) - printf("Getting SMBIOS data from sysfs.\n"); -Index: trunk/util.c -=================================================================== ---- trunk.orig/util.c -+++ trunk/util.c -@@ -94,10 +94,11 @@ int checksum(const u8 *buf, size_t len) - * needs to be freed by the caller. - * This provides a similar usage model to mem_chunk() - * -- * Returns pointer to buffer of max_len bytes, or NULL on error -+ * Returns pointer to buffer of max_len bytes, or NULL on error, and -+ * sets max_len to the length actually read. - * - */ --void *read_file(size_t max_len, const char *filename) -+void *read_file(size_t *max_len, const char *filename) - { - int fd; - size_t r2 = 0; -@@ -115,7 +116,7 @@ void *read_file(size_t max_len, const ch - return(NULL); - } - -- if ((p = malloc(max_len)) == NULL) -+ if ((p = malloc(*max_len)) == NULL) - { - perror("malloc"); - return NULL; -@@ -123,7 +124,7 @@ void *read_file(size_t max_len, const ch - - do - { -- r = read(fd, p + r2, max_len - r2); -+ r = read(fd, p + r2, *max_len - r2); - if (r == -1) - { - if (errno != EINTR) -@@ -140,6 +141,8 @@ void *read_file(size_t max_len, const ch - while (r != 0); - - close(fd); -+ *max_len = r2; -+ - return p; - } - -Index: trunk/util.h -=================================================================== ---- trunk.orig/util.h -+++ trunk/util.h -@@ -25,7 +25,7 @@ - #define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0])) - - int checksum(const u8 *buf, size_t len); --void *read_file(size_t len, const char *filename); -+void *read_file(size_t *len, const char *filename); - void *mem_chunk(off_t base, size_t len, const char *devmem); - int write_dump(size_t base, size_t len, const void *data, const char *dumpfile, int add); - u64 u64_range(u64 start, u64 end); diff --git a/debian/patches/0125-use_read_file_to_read_DMI_table_from_sysfs.patch b/debian/patches/0125-use_read_file_to_read_DMI_table_from_sysfs.patch deleted file mode 100644 index fe01f63..0000000 --- a/debian/patches/0125-use_read_file_to_read_DMI_table_from_sysfs.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 364055211b1956539c6a6268e111e244e1292c8c Mon Sep 17 00:00:00 2001 -From: Jean Delvare <jdelvare@suse.de> -Date: Mon, 02 Nov 2015 08:45:31 +0000 -Subject: dmidecode: Use read_file() to read the DMI table from sysfs - -We shouldn't use mem_chunk() to read the DMI table from sysfs. This -will fail for SMBIOS v3 implementations which specify a maximum length -for the table rather than its exact length. The kernel will trim the -table to the actual length, so the DMI file will be shorter than the -length announced in entry point. - -read_file() fits the bill in this case, as it deals with end of file -nicely. - -This also helps with corrupted DMI tables, as the kernel will not -export the part of the table that it wasn't able to parse, effectively -trimming it. - -This fixes bug #46176: -https://savannah.nongnu.org/bugs/?46176 -Unexpected end of file error ---- -Index: trunk/CHANGELOG -=================================================================== ---- trunk.orig/CHANGELOG -+++ trunk/CHANGELOG -@@ -2,6 +2,9 @@ - - * dmidecode.c, util.c, util.h: Let read_file return the actual data - size. -+ * dmidecode.c: Use read_file to read the DMI table from sysfs. -+ This fixes Savannah bug #46176: -+ https://savannah.nongnu.org/bugs/?46176 - - 2015-10-21 Xie XiuQi <xiexiuqi@huawei.com> - -Index: trunk/dmidecode.c -=================================================================== ---- trunk.orig/dmidecode.c -+++ trunk/dmidecode.c -@@ -4521,16 +4521,29 @@ static void dmi_table(off_t base, u32 le - printf("\n"); - } - -- /* -- * When we are reading the DMI table from sysfs, we want to print -- * the address of the table (done above), but the offset of the -- * data in the file is 0. When reading from /dev/mem, the offset -- * in the file is the address. -- */ - if (flags & FLAG_NO_FILE_OFFSET) -- base = 0; -+ { -+ /* -+ * When reading from sysfs, the file may be shorter than -+ * announced. For SMBIOS v3 this is expcted, as we only know -+ * the maximum table size, not the actual table size. For older -+ * implementations (and for SMBIOS v3 too), this would be the -+ * result of the kernel truncating the table on parse error. -+ */ -+ size_t size = len; -+ buf = read_file(&size, devmem); -+ if (!(opt.flags & FLAG_QUIET) && num && size != (size_t)len) -+ { -+ printf("Wrong DMI structures length: %u bytes " -+ "announced, only %lu bytes available.\n", -+ len, (unsigned long)size); -+ } -+ len = size; -+ } -+ else -+ buf = mem_chunk(base, len, devmem); - -- if ((buf = mem_chunk(base, len, devmem)) == NULL) -+ if (buf == NULL) - { - fprintf(stderr, "Table is unreachable, sorry." - #ifndef USE_MMAP diff --git a/debian/patches/0130-use_DWORD_for_table_max_size.patch b/debian/patches/0130-use_DWORD_for_table_max_size.patch deleted file mode 100644 index 715d137..0000000 --- a/debian/patches/0130-use_DWORD_for_table_max_size.patch +++ /dev/null @@ -1,27 +0,0 @@ -From ab02b117511230e46bbef7febbd854b9c832c13c Mon Sep 17 00:00:00 2001 -From: Xie XiuQi <xiexiuqi@huawei.com> -Date: Mon, 01 Feb 2016 08:30:31 +0000 -Subject: Use DWORD for Structure table maximum size in SMBIOS3 - -0Ch DWORD "Structure table maximum size" - -Maximum size of SMBIOS Structure Table, pointed to by -the Structure Table Address, in bytes. The actual size is -guaranteed to be less or equal to the maximum size. - -Signed-off-by: Xie XiuQi <xiexiuqi@huawei.com> -Signed-off-by: Jean Delvare <jdelvare@suse.de> ---- -Index: trunk/dmidecode.c -=================================================================== ---- trunk.orig/dmidecode.c -+++ trunk/dmidecode.c -@@ -4612,7 +4612,7 @@ static int smbios3_decode(u8 *buf, const - } - - dmi_table(((off_t)offset.h << 32) | offset.l, -- WORD(buf + 0x0C), 0, ver, devmem, flags | FLAG_STOP_AT_EOT); -+ DWORD(buf + 0x0C), 0, ver, devmem, flags | FLAG_STOP_AT_EOT); - - if (opt.flags & FLAG_DUMP_BIN) - { diff --git a/debian/patches/0135-hide_fixup_msg.patch b/debian/patches/0135-hide_fixup_msg.patch deleted file mode 100644 index ff3122c..0000000 --- a/debian/patches/0135-hide_fixup_msg.patch +++ /dev/null @@ -1,46 +0,0 @@ -From cff11afa886a0147d734b650755d232b5e7f2099 Mon Sep 17 00:00:00 2001 -From: Jean Delvare <jdelvare@suse.de> -Date: Tue, 03 May 2016 13:32:21 +0000 -Subject: dmidecode: Hide irrelevant fixup message - -Only display the message about type 34 length fixup if the entry in -question is going to be displayed. Otherwise it's only confusing. - -This fixes bug #109024: -http://savannah.nongnu.org/support/?109024 - -Fixes: 3f70b3515d91 ("dmidecode: Fix up invalid DMI type 34 structure length") ---- -Index: trunk/dmidecode.c -=================================================================== ---- trunk.orig/dmidecode.c -+++ trunk/dmidecode.c -@@ -2946,7 +2946,7 @@ static void dmi_64bit_memory_error_addre - * first 5 characters of the device name to be trimmed. It's easy to - * check and fix, so do it, but warn. - */ --static void dmi_fixup_type_34(struct dmi_header *h) -+static void dmi_fixup_type_34(struct dmi_header *h, int display) - { - u8 *p = h->data; - -@@ -2954,7 +2954,9 @@ static void dmi_fixup_type_34(struct dmi - if (h->length == 0x10 - && is_printable(p + 0x0B, 0x10 - 0x0B)) - { -- printf("Invalid entry length (%u). Fixed up to %u.\n", 0x10, 0x0B); -+ if (!(opt.flags & FLAG_QUIET) && display) -+ printf("Invalid entry length (%u). Fixed up to %u.\n", -+ 0x10, 0x0B); - h->length = 0x0B; - } - } -@@ -4443,7 +4445,7 @@ static void dmi_table_decode(u8 *buf, u3 - - /* Fixup a common mistake */ - if (h.type == 34) -- dmi_fixup_type_34(&h); -+ dmi_fixup_type_34(&h, display); - - /* look for the next handle */ - next = data + h.length; diff --git a/debian/patches/0140-Fix_scan_entry_point.patch b/debian/patches/0140-Fix_scan_entry_point.patch deleted file mode 100644 index 4183af5..0000000 --- a/debian/patches/0140-Fix_scan_entry_point.patch +++ /dev/null @@ -1,54 +0,0 @@ -Description: Cherry picked fix Only scan /dev/mem for entry point on x86 -Author: <name and email of author, optional> -Origin: upstream, http://git.savannah.nongnu.org/cgit/dmidecode.git/commit/?id=e12ec26e19e02281d3e7258c3aabb88a5cf5ec1d -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=946911 -Last-Update: 2019-12-19 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/dmidecode.c -=================================================================== ---- trunk.orig/dmidecode.c -+++ trunk/dmidecode.c -@@ -2,7 +2,7 @@ - * DMI Decode - * - * Copyright (C) 2000-2002 Alan Cox <alan@redhat.com> -- * Copyright (C) 2002-2018 Jean Delvare <jdelvare@suse.de> -+ * Copyright (C) 2002-2019 Jean Delvare <jdelvare@suse.de> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by -@@ -5534,7 +5534,7 @@ int main(int argc, char * const argv[]) - off_t fp; - size_t size; - int efi; -- u8 *buf; -+ u8 *buf = NULL; - - /* - * We don't want stdout and stderr to be mixed up if both are -@@ -5638,7 +5638,7 @@ int main(int argc, char * const argv[]) - printf("Failed to get SMBIOS data from sysfs.\n"); - } - -- /* Next try EFI (ia64, Intel-based Mac) */ -+ /* Next try EFI (ia64, Intel-based Mac, arm64) */ - efi = address_from_efi(&fp); - switch (efi) - { -@@ -5671,6 +5671,7 @@ int main(int argc, char * const argv[]) - goto done; - - memory_scan: -+#if defined __i386__ || defined __x86_64__ - if (!(opt.flags & FLAG_QUIET)) - printf("Scanning %s for entry point.\n", opt.devmem); - /* Fallback to memory scan (x86, x86_64) */ -@@ -5713,6 +5714,7 @@ memory_scan: - } - } - } -+#endif - - done: - if (!found && !(opt.flags & FLAG_QUIET)) diff --git a/debian/patches/0145-Fix_condition_error_in_ascii_filter.patch b/debian/patches/0145-Fix_condition_error_in_ascii_filter.patch deleted file mode 100644 index c7d976e..0000000 --- a/debian/patches/0145-Fix_condition_error_in_ascii_filter.patch +++ /dev/null @@ -1,18 +0,0 @@ -Description: Fix the condition error in ascii_filter -Origin: upstream, http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=1117390ccd9cea139638db6f460bb6de70e28f94 -Last-Update: 2021-05-07 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/dmidecode.c -=================================================================== ---- trunk.orig/dmidecode.c -+++ trunk/dmidecode.c -@@ -116,7 +116,7 @@ static void ascii_filter(char *bp, size_ - size_t i; - - for (i = 0; i < len; i++) -- if (bp[i] < 32 || bp[i] == 127) -+ if (bp[i] < 32 || bp[i] >= 127) - bp[i] = '.'; - } - diff --git a/debian/patches/0150-Fix_crash.patch b/debian/patches/0150-Fix_crash.patch deleted file mode 100644 index c6c5af7..0000000 --- a/debian/patches/0150-Fix_crash.patch +++ /dev/null @@ -1,21 +0,0 @@ -Description: Fix crash with -u option -Origin: upstream, http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=11e134e54d15e67a64c39a623f492a28df922517 -Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=987033 -Last-Update: 2021-05-07 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/dmidecode.c -=================================================================== ---- trunk.orig/dmidecode.c -+++ trunk/dmidecode.c -@@ -248,9 +248,9 @@ static void dmi_dump(const struct dmi_he - { - int j, l = strlen(s) + 1; - -- off = 0; - for (row = 0; row < ((l - 1) >> 4) + 1; row++) - { -+ off = 0; - for (j = 0; j < 16 && j < l - (row << 4); j++) - off += sprintf(raw_data + off, - j ? " %02X" : "%02X", diff --git a/debian/patches/0155-use_read_file.patch b/debian/patches/0155-use_read_file.patch deleted file mode 100644 index 18b1fb3..0000000 --- a/debian/patches/0155-use_read_file.patch +++ /dev/null @@ -1,43 +0,0 @@ -Description: Use read_file() instead of mem_chunk() -Origin: upstream, https://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=c76ddda0ba0aa99a55945e3290095c2ec493c892 -Forwarded: not-needed -Last-Update: 2023-07-15 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/dmidecode.c -=================================================================== ---- trunk.orig/dmidecode.c -+++ trunk/dmidecode.c -@@ -6025,15 +6025,23 @@ int main(int argc, char * const argv[]) - pr_comment("dmidecode %s", VERSION); - - /* Read from dump if so instructed */ -+ size = 0x20; - if (opt.flags & FLAG_FROM_DUMP) - { - if (!(opt.flags & FLAG_QUIET)) - pr_info("Reading SMBIOS/DMI data from file %s.", - opt.dumpfile); -- if ((buf = mem_chunk(0, 0x20, opt.dumpfile)) == NULL) -+ if ((buf = read_file(0, &size, opt.dumpfile)) == NULL) - { - ret = 1; - goto exit_free; -+ } -+ -+ /* Truncated entry point can't be processed */ -+ if (size < 0x20) -+ { -+ ret = 1; -+ goto done; - } - - if (memcmp(buf, "_SM3_", 5) == 0) -@@ -6059,7 +6067,6 @@ int main(int argc, char * const argv[]) - * contain one of several types of entry points, so read enough for - * the largest one, then determine what type it contains. - */ -- size = 0x20; - if (!(opt.flags & FLAG_NO_SYSFS) - && (buf = read_file(0, &size, SYS_ENTRY_FILE)) != NULL) - { diff --git a/debian/patches/0160-HPE_OEM_Firmware_change.patch b/debian/patches/0160-HPE_OEM_Firmware_change.patch deleted file mode 100644 index 075b566..0000000 --- a/debian/patches/0160-HPE_OEM_Firmware_change.patch +++ /dev/null @@ -1,32 +0,0 @@ -Description: HPE OEM Record 237 Firmware change -Origin: upstream, http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=80de376231e903d2cbea95e51ffea31860502159 -Forwarded: not-needed -Last-Update: 2023-07-15 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/dmioem.c -=================================================================== ---- trunk.orig/dmioem.c -+++ trunk/dmioem.c -@@ -1094,7 +1094,8 @@ static int dmi_decode_hp(const struct dm - * 0x06 | Manufacture|STRING | DIMM Manufacturer - * 0x07 | Part Number|STRING | DIMM Manufacturer's Part Number - * 0x08 | Serial Num |STRING | DIMM Vendor Serial Number -- * 0x09 | Spare Part |STRING | DIMM Spare Part Number -+ * 0x09 | Man Date | BYTE | DIMM Manufacture Date (YEAR) in BCD -+ * 0x0A | Man Date | BYTE | DIMM Manufacture Date (WEEK) in BCD - */ - if (gen < G9) return 0; - pr_handle_name("%s DIMM Vendor Information", company); -@@ -1105,8 +1106,9 @@ static int dmi_decode_hp(const struct dm - pr_attr("DIMM Manufacturer Part Number", "%s", dmi_string(h, data[0x07])); - if (h->length < 0x09) break; - pr_attr("DIMM Vendor Serial Number", "%s", dmi_string(h, data[0x08])); -- if (h->length < 0x0A) break; -- pr_attr("DIMM Spare Part Number", "%s", dmi_string(h, data[0x09])); -+ if (h->length < 0x0B) break; -+ if (WORD(data + 0x09)) -+ pr_attr("DIMM Manufacture Date", "20%02x-W%02x", data[0x09], data[0x0A]); - break; - - case 238: diff --git a/debian/patches/0600-Fix-groff-error.patch b/debian/patches/0600-Fix-groff-error.patch deleted file mode 100644 index ce5f561..0000000 --- a/debian/patches/0600-Fix-groff-error.patch +++ /dev/null @@ -1,16 +0,0 @@ -Description: dmidecode.8 Fix groff error -Author: Soren Stoutner <soren@debian.org> -Forwarded: https://savannah.nongnu.org/patch/index.php?10463 -Last-Update: 2024-07-07 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: trunk/man/dmidecode.8 -=================================================================== ---- trunk.orig/man/dmidecode.8 -+++ trunk/man/dmidecode.8 -@@ -1,3 +1,5 @@ -+'\" t -+.\" ** The above line should force tbl to be a preprocessor ** - .TH DMIDECODE 8 "February 2023" "dmidecode" - .\" - .SH NAME diff --git a/debian/patches/0605-man.patch b/debian/patches/0605-man.patch new file mode 100644 index 0000000..b8808ec --- /dev/null +++ b/debian/patches/0605-man.patch @@ -0,0 +1,319 @@ +Description: Some remarks and editorial changes +Author: Bjarni Ingi Gislason <bjarniig@simnet.is> +Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1088088 +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1088088 +Forwarded: no: due to constant network errors +Last-Update: 2026-03-10 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: trunk/man/dmidecode.8 +=================================================================== +--- trunk.orig/man/dmidecode.8 ++++ trunk/man/dmidecode.8 +@@ -45,39 +45,52 @@ Base Board Information + + Each record has: + .IP \(bu "\w'\(bu'u+1n" +-A handle. This is a unique identifier, which allows records to +-reference each other. For example, processor records usually reference +-cache memory records using their handles. ++A handle. ++This is a unique identifier, ++which allows records to reference each other. ++For example, ++processor records usually reference cache memory records ++using their handles. + .IP \(bu +-A type. The \s-1SMBIOS\s0 specification defines different types of elements +-a computer can be made of. In this example, the type is 2, which +-means that the record contains "Base Board Information". ++A type. ++The \s-1SMBIOS\s0 specification defines different types of elements ++a computer can be made of. ++In this example, ++the type is 2, ++which means that the record contains "Base Board Information". + .IP \(bu +-A size. Each record has a 4-byte header (2 for the handle, 1 for the type, +-1 for the size), the rest is used by the record data. This value doesn't +-take text strings into account (these are placed at the end of the record), +-so the actual length of the record may be (and is often) greater than the +-displayed value. ++A size. ++Each record has a 4-byte header ++(2 for the handle, 1 for the type, 1 for the size), ++the rest is used by the record data. ++This value doesn't take text strings into account ++(these are placed at the end of the record), ++so the actual length of the record may be ++(and is often) ++greater than the displayed value. + .IP \(bu +-Decoded values. The information presented of course depends on the type +-of record. Here, we learn about the board's manufacturer, model, version +-and serial number. ++Decoded values. ++The information presented of course depends on the type of record. ++Here, we learn about the board's manufacturer, ++model, version and serial number. + .\" + .SH OPTIONS + .TP +-.BR "-d" ", " "--dev-mem \fIFILE\fP" ++.BR "\-d" ", " "\-\-dev-mem \fIFILE\fP" + Read memory from device \fIFILE\fP (default: \fI/dev/mem\fP) + .TP +-.BR "-q" ", " "--quiet" +-Be less verbose. Unknown, inactive and \s-1OEM\s0-specific entries are not +-displayed. Meta-data and handle references are hidden. +-.TP +-.BR " " " " "--no-quirks" +-Decode everything exactly as it is in the table, without trying to fix up +-common mistakes or hide irrelevant fields. ++.BR "\-q" ", " "\-\-quiet" ++Be less verbose. ++Unknown, inactive and \s-1OEM\s0-specific entries are not displayed. ++Meta-data and handle references are hidden. ++.TP ++.BR " " " " "\-\-no-quirks" ++Decode everything exactly as it is in the table, ++without trying to fix up common mistakes ++or hide irrelevant fields. + This mode is primarily aimed at firmware developers. + .TP +-.BR "-s" ", " "--string \fIKEYWORD\fP" ++.BR "\-s" ", " "\-\-string \fIKEYWORD\fP" + Only display the value of the \s-1DMI\s0 string identified by \fIKEYWORD\fP. + It must be a keyword from the following list: + .nh +@@ -113,33 +126,35 @@ firmware (regardless of it technically i + while "firmware" designates the embedded controller firmware, if applicable. + Each keyword corresponds to a given \s-1DMI\s0 type and a given offset + within this entry type. +-Not all strings may be meaningful or even defined on all systems. Some +-keywords may return more than one result on some systems (e.g. ++Not all strings may be meaningful or even defined on all systems. ++Some keywords may return more than one result on some systems ++(e.g., + .nh + .B processor\-version + .hy + on a multi-processor system). +-If \fIKEYWORD\fP is not provided or not valid, a list of all valid +-keywords is printed and ++If \fIKEYWORD\fP is not provided or not valid, ++a list of all valid keywords is printed and + .B dmidecode + exits with an error. + This option cannot be used more than once. + +-Note: on Linux, most of these strings can alternatively be read directly +-from ++Note: on Linux, ++most of these strings can alternatively be read directly from + .BR sysfs , + typically from files under + .IR /sys/devices/virtual/dmi/id . + Most of these files are even readable by regular users. + .TP +-.BR " " " " "--list-strings" +-List available string keywords, which can then be passed to the \fB--string\fP +-option. +-.TP +-.BR "-t" ", " "--type \fITYPE\fP" +-Only display the entries of type \fITYPE\fP. It can be either a +-\s-1DMI\s0 type number, or a comma-separated list of type numbers, or a +-keyword from the following list: ++.BR " " " " "\-\-list-strings" ++List available string keywords, ++which can then be passed to the \fB\-\-string\fP option. ++.TP ++.BR "\-t" ", " "\-\-type \fITYPE\fP" ++Only display the entries of type \fITYPE\fP. ++It can be either a \s-1DMI\s0 type number, ++or a comma-separated list of type numbers, ++or a keyword from the following list: + .nh + .BR bios , + .BR system , +@@ -169,49 +184,54 @@ option. + Only display the entry whose handle matches \fIHANDLE\fP. + \fIHANDLE\fP is a 16-bit integer. + .TP +-.BR "-u" ", " "--dump" +-Do not decode the entries, dump their contents as hexadecimal instead. +-Note that this is still a text output, no binary data will be thrown upon +-you. The strings attached to each entry are displayed as both +-hexadecimal and \s-1ASCII\s0. This option is mainly useful for debugging. +-.TP +-.BR " " " " "--dump-bin \fIFILE\fP" +-Do not decode the entries, instead dump the DMI data to a file in binary +-form. The generated file is suitable to pass to \fB--from-dump\fP +-later. ++.BR "\-u" ", " "\-\-dump" ++Do not decode the entries, ++dump their contents as hexadecimal instead. ++Note that this is still a text output, ++no binary data will be thrown upon you. ++The strings attached to each entry ++are displayed as both hexadecimal and \s-1ASCII\s0. ++This option is mainly useful for debugging. ++.TP ++.BR " " " " "\-\-dump-bin \fIFILE\fP" ++Do not decode the entries, ++instead dump the DMI data to a file in binary form. ++The generated file is suitable to pass to \fB\-\-from-dump\fP later. + \fIFILE\fP must not exist. + .TP +-.BR " " " " "--from-dump \fIFILE\fP" ++.BR " " " " "\-\-from-dump \fIFILE\fP" + Read the DMI data from a binary file previously generated using +-\fB--dump-bin\fP. ++\fB\-\-dump-bin\fP. + .TP +-.BR " " " " "--no-sysfs" +-Do not attempt to read DMI data from sysfs files. This is mainly useful for +-debugging. +-.TP +-.BR " " " " "--oem-string \fIN\fP" +-Only display the value of the \s-1OEM\s0 string number \fIN\fP. The first +-\s-1OEM\s0 string has number \fB1\fP. With special value \fBcount\fP, return the +-number of OEM strings instead. ++.BR " " " " "\-\-no-sysfs" ++Do not attempt to read DMI data from sysfs files. ++This is mainly useful for debugging. ++.TP ++.BR " " " " "\-\-oem-string \fIN\fP" ++Only display the value of the \s-1OEM\s0 string number \fIN\fP. ++The first \s-1OEM\s0 string has number \fB1\fP. ++With special value \fBcount\fP, ++return the number of OEM strings instead. + .TP +-.BR "-h" ", " "--help" ++.BR "\-h" ", " "\-\-help" + Display usage information and exit + .TP +-.BR "-V" ", " "--version" ++.BR "\-V" ", " "\-\-version" + Display the version and exit + .P + Options +-.BR --string , +-.BR --type, +-.BR --dump-bin " and " --oem-string ++.BR \-\-string , ++.BR \-\-type, ++.BR \-\-dump-bin " and " \-\-oem-string + determine the output format and are mutually exclusive. + .P + Please note in case of + .B dmidecode +-is run on a system with firmware that boasts new SMBIOS specification, which +-is not supported by the tool yet, it will print out relevant message in +-addition to requested data on the very top of the output. Thus informs the +-output data is not reliable. ++is run on a system with BIOS that boasts new SMBIOS specification, ++which is not supported by the tool yet, ++it will print out relevant message ++in addition to requested data on the very top of the output. ++Thus informs the output data is not reliable. + .\" + .SH "DMI TYPES" + The \s-1SMBIOS\s0 specification defines the following \s-1DMI\s0 types: +@@ -265,13 +285,15 @@ Type Information + 42 Management Controller Host Interface + .TE + +-Additionally, type 126 is used for disabled entries and type 127 is an +-end-of-table marker. Types 128 to 255 are for \s-1OEM\s0-specific data. ++Additionally, type 126 is used for disabled entries ++and type 127 is an end-of-table marker. ++Types 128 to 255 are for \s-1OEM\s0-specific data. + .B dmidecode +-will display these entries by default, but it can only decode them ++will display these entries by default, ++but it can only decode them + when the vendors have contributed documentation or code for them. + +-Keywords can be used instead of type numbers with \fB--type\fP. ++Keywords can be used instead of type numbers with \fB\-\-type\fP. + Each keyword is equivalent to a list of type numbers: + + .TS +@@ -290,18 +312,20 @@ connector 8 + slot 9 + .TE + +-Keywords are matched case-insensitively. The following command lines are equivalent: ++Keywords are matched case-insensitively. ++The following command lines are equivalent: + .IP \(bu "\w'\(bu'u+1n" +-dmidecode --type 0 --type 13 ++dmidecode \-\-type 0 \-\-type 13 + .IP \(bu +-dmidecode --type 0,13 ++dmidecode \-\-type 0,13 + .IP \(bu +-dmidecode --type bios ++dmidecode \-\-type bios + .IP \(bu +-dmidecode --type BIOS ++dmidecode \-\-type BIOS + .\" + .SH BINARY DUMP FILE FORMAT +-The binary dump files generated by \fB--dump-bin\fP and read using \fB--from-dump\fP ++The binary dump files generated by \fB\-\-dump-bin\fP ++and read using \fB\-\-from-dump\fP + are formatted as follows: + .IP \(bu "\w'\(bu'u+1n" + The SMBIOS or DMI entry point is located at offset 0x00. +@@ -310,18 +334,27 @@ It is crafted to hard-code the table add + The DMI table is located at offset 0x20. + .\" + .SH UUID FORMAT +-There is some ambiguity about how to interpret the UUID fields prior to SMBIOS +-specification version 2.6. There was no mention of byte swapping, and RFC 4122 +-says that no byte swapping should be applied by default. However, SMBIOS +-specification version 2.6 (and later) explicitly states that the first 3 fields +-of the UUID should be read as little-endian numbers (byte-swapped). +-Furthermore, it implies that the same was already true for older versions of +-the specification, even though it was not mentioned. In practice, many hardware +-vendors were not byte-swapping the UUID. So, in order to preserve +-compatibility, it was decided to interpret the UUID fields according to RFC +-4122 (no byte swapping) when the SMBIOS version is older than 2.6, and to +-interpret the first 3 fields as little-endian (byte-swapped) when the SMBIOS +-version is 2.6 or later. The Linux kernel follows the same logic. ++There is some ambiguity about how to interpret the UUID fields prior to ++SMBIOS specification version 2.6. ++There was no mention of byte swapping, ++and RFC 4122 says that no byte swapping should be applied by default. ++However, SMBIOS specification version 2.6 (and later) ++explicitly states ++that the first 3 fields of the UUID should be read as little-endian numbers ++(byte-swapped). ++Furthermore, ++it implies that the same was already true for older versions of the ++specification, ++even though it was not mentioned. ++In practice, many hardware vendors were not byte-swapping the UUID. ++So, in order to preserve compatibility, ++it was decided to interpret the UUID fields according to RFC 4122 ++(no byte swapping) ++when the SMBIOS version is older than 2.6, ++and to interpret the first 3 fields as little-endian ++(byte-swapped) ++when the SMBIOS version is 2.6 or later. ++The Linux kernel follows the same logic. + .\" + .SH FILES + .I /dev/mem +@@ -333,7 +366,8 @@ version is 2.6 or later. The Linux kerne + (Linux only) + .\" + .SH BUGS +-More often than not, information contained in the \s-1DMI\s0 tables is inaccurate, ++More often than not, ++information contained in the \s-1DMI\s0 tables is inaccurate, + incomplete or simply wrong. + .\" + .SH AUTHORS diff --git a/debian/patches/series b/debian/patches/series index 696939d..ae7e887 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,16 +1,2 @@ -#0145-Fix_condition_error_in_ascii_filter.patch -#0150-Fix_crash.patch -0100-ansi-c.patch +0605-man.patch 0001-hurd.patch -#0005-build.patch -#0105-dmidecode-avoid-sigbus.patch -#0110-nosysfs.patch -#0115-no_smbios_DMI_entry_point.patch -#0120-return_actual_data_size.patch -#0125-use_read_file_to_read_DMI_table_from_sysfs.patch -#0130-use_DWORD_for_table_max_size.patch -#0135-hide_fixup_msg.patch -#0140-Fix_scan_entry_point.patch -#0155-use_read_file.patch -#0160-HPE_OEM_Firmware_change.patch -0600-Fix-groff-error.patch |
