diff mbox

plausible: fix compilation on RHEL 5.x due to missing magic define

Message ID 1476948305-563-1-git-send-email-patrickdepinguin@gmail.com
State Accepted, archived
Headers show

Commit Message

Thomas De Schampheleire Oct. 20, 2016, 7:25 a.m. UTC
From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>

RHEL 5.x does have magic.h, but it does not define all expected symbols. In
particular, the NO_CHECK symbols were only added in file 4.20 and RHEL 5.x
is using 4.17.

Add substitute defines to allow continued usage of magic but without the
requested exclude checks.

Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
---
 lib/support/plausible.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

Note: instead of filling in the actual (current) values for these defines, we
could also have filled them with zero as libmagic will not recognize them
anyway.

Comments

Theodore Ts'o Oct. 25, 2016, 5:23 p.m. UTC | #1
On Thu, Oct 20, 2016 at 09:25:05AM +0200, Thomas De Schampheleire wrote:
> From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
> 
> RHEL 5.x does have magic.h, but it does not define all expected symbols. In
> particular, the NO_CHECK symbols were only added in file 4.20 and RHEL 5.x
> is using 4.17.
> 
> Add substitute defines to allow continued usage of magic but without the
> requested exclude checks.
> 
> Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>

Thanks, applied.

					- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/lib/support/plausible.c b/lib/support/plausible.c
index 6f0c4bc..0636061 100644
--- a/lib/support/plausible.c
+++ b/lib/support/plausible.c
@@ -43,6 +43,17 @@  static const char *(*dl_magic_file)(magic_t, const char *);
 static int (*dl_magic_load)(magic_t, const char *);
 static void (*dl_magic_close)(magic_t);
 
+/*
+ * NO_CHECK functionality was only added in file 4.20.
+ * Older systems like RHEL 5.x still have file 4.17
+ */
+#ifndef MAGIC_NO_CHECK_COMPRESS
+#define MAGIC_NO_CHECK_COMPRESS 0x0001000
+#endif
+#ifndef MAGIC_NO_CHECK_ELF
+#define MAGIC_NO_CHECK_ELF 0x0010000
+#endif
+
 #ifdef HAVE_DLOPEN
 #include <dlfcn.h>