Projects
openEuler:Mainline
audit
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 2
View file
_service:tar_scm:audit.spec
Changed
@@ -1,7 +1,7 @@ Summary: User space tools for kernel auditing Name: audit Epoch: 1 -Version: 3.0.1 +Version: 3.0.9 Release: 2 License: GPLv2+ and LGPLv2+ URL: https://people.redhat.com/sgrubb/audit/ @@ -11,27 +11,10 @@ Patch0: bugfix-audit-support-armv7b.patch Patch1: bugfix-audit-userspace-missing-syscalls-for-aarm64.patch Patch2: bugfix-audit-reload-coredump.patch -Patch3: backport-Fix-the-default-location-for-zos-remote.conf-171.patch -Patch4: backport-Add-missing-call-to-free_interpretation_list.patch -Patch5: backport-fix-2-more-issues-found-by-fuzzing.patch -Patch6: backport-Fix-an-auparse-memory-leak-caused-in-recent-glibc.patch -Patch7: backport-Fix-double-free-with-corrupted-logs.patch -Patch8: backport-Fix-the-closing-timing-of-audit_fd-166.patch -Patch9: backport-Fix-some-string-length-issues.patch -Patch10: backport-Move-the-free_config-to-success-path.patch -Patch11: backport-Check-for-fuzzer-induced-invalid-value.patch -Patch12: backport-error-out-if-log-is-mangled.patch -Patch13: backport-Dont-run-off-the-end-with-corrupt-logs.patch -Patch14: backport-Another-hardening-measure-for-corrupted-logs.patch -Patch15: backport-Fix-busy-loop-in-normalizer-when-logs-are-corrupt.patch -Patch16: backport-Better-fix-for-busy-loop-in-normalizer-when-logs-are.patch -Patch17: backport-flush-uid-gid-caches-when-user-group-added-deleted-m.patch -Patch18: backport-In-auditd-check-if-log_file-is-valid-before-closing-.patch -Patch19: backport-Check-ctime-return-code.patch -Patch20: backport-When-interpreting-if-val-is-NULL-return-an-empty-str.patch -Patch21: backport-auditd.service-Restart-on-failure-ignoring-some-exit.patch -Patch22: backport-0001-In-auditd-close-the-logging-file-descriptor-when-log.patch -Patch23: backport-0002-In-auditd-close-the-logging-file-descriptor-when-log.patch +Patch3: audit-Add-sw64-architecture.patch +Patch4: backport-audit-flex-array-workaround.patch +Patch5: backport-audit-undo-flex-array.patch +Patch6: backport-Try-to-interpret-OPENAT2-fields-correctly.patch BuildRequires: gcc swig libtool systemd kernel-headers >= 2.6.29 BuildRequires: openldap-devel krb5-devel libcap-ng-devel @@ -105,8 +88,16 @@ %package_help %prep -%autosetup -n %{name}-%{version} -p1 +%setup -n %{name}-%{version} -q cp %{SOURCE1} . +cp /usr/include/linux/audit.h lib/ +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +#The patch5 will be patched after the installation phase +%patch6 -p1 autoreconf -f -i %build @@ -150,12 +141,16 @@ touch -r ./audit.spec $RPM_BUILD_ROOT/etc/libaudit.conf touch -r ./audit.spec $RPM_BUILD_ROOT/usr/share/man/man5/libaudit.conf.5.gz +cur=`pwd` +cd $RPM_BUILD_ROOT +patch -p1 < %{PATCH5} +find . -name '*.orig' -delete +cd $cur + %delete_la %check -%ifarch %{golang_arches} make check -%endif rm -f rules/Makefile* %pre @@ -307,6 +302,7 @@ %attr(750,root,root) %{_libexecdir}/initscripts/legacy-actions/auditd/rotate %attr(750,root,root) %{_libexecdir}/initscripts/legacy-actions/auditd/state %attr(750,root,root) %{_libexecdir}/initscripts/legacy-actions/auditd/stop +%attr(750,root,root) %{_libexecdir}/audit-functions %ghost %{_localstatedir}/run/auditd.state %attr(750,root,root) %dir %{_var}/log/audit %attr(750,root,root) %dir /etc/audit @@ -369,6 +365,21 @@ %attr(644,root,root) %{_mandir}/man8/*.8.gz %changelog +* Fri Mar 24 2023 dongyuzhen <dongyuzhen@h-partners.com> - 1:3.0.9-2 +- backport patches from upstream + +* Thu Feb 2 2023 zhangguangzhi<zhangguangzhi3@huawei.com> - 1:3.0.9-1 +- update version to 3.0.9 + +* Mon Jan 16 2023 zhangguangzhi<zhangguangzhi3@huawei.com> - 1:3.0.1-5 +- backport patch adapt to kernel 6.1 + +* Wed Nov 23 2022 zhangguangzhi<zhangguangzhi3@huawei.com> - 1:3.0.1-4 +- del golang_arches for check + +* Tue Oct 18 2022 wuzx<wuzx1226@qq.com> - 3.0.1-3 +- add sw64 patch + * Sat Feb 12 2022 yixiangzhike <yixiangzhike007@163.com> - 3.0.1-2 - Fix failure of stopping auditd before uninstalling
View file
_service:tar_scm:audit-Add-sw64-architecture.patch
Added
@@ -0,0 +1,113 @@ +From df547703bb90026dcff152e64bc55503ad26d815 Mon Sep 17 00:00:00 2001 +From: wuzx <wuzx1226@qq.com> +Date: Fri, 18 Nov 2022 13:19:49 +0800 +Subject: PATCH Add sw64 architecture + +Add sw64 architecture in file bindings/swig/python/audit.py config.guess config.sub lib/libaudit.h src/libev/ev.c and tools/ausyscall/ausyscall.c to support sw64 architecture. + +Signed-off-by: wuzx <wuzx1226@qq.com> +--- + bindings/swig/python/audit.py | 1 + + config.guess | 8 ++++++++ + config.sub | 1 + + lib/libaudit.h | 1 + + src/libev/ev.c | 3 +++ + tools/ausyscall/ausyscall.c | 6 ++++++ + 6 files changed, 20 insertions(+) + +diff --git a/bindings/swig/python/audit.py b/bindings/swig/python/audit.py +index 69631a7..14fa89b 100644 +--- a/bindings/swig/python/audit.py ++++ b/bindings/swig/python/audit.py +@@ -607,6 +607,7 @@ MACH_PPC = _audit.MACH_PPC + MACH_S390X = _audit.MACH_S390X + MACH_S390 = _audit.MACH_S390 + MACH_ALPHA = _audit.MACH_ALPHA ++MACH_SW_64 = _audit.MACH_SW_64 + MACH_ARM = _audit.MACH_ARM + MACH_AARCH64 = _audit.MACH_AARCH64 + MACH_PPC64LE = _audit.MACH_PPC64LE +diff --git a/config.guess b/config.guess +index b33c9e8..69e3005 100755 +--- a/config.guess ++++ b/config.guess +@@ -976,6 +976,14 @@ EOF + UNAME_MACHINE=aarch64_be + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; ++ sw_64:Linux:*:*) ++ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in ++ sw) UNAME_MACHINE=sw_64 ;; ++ esac ++ objdump --private-headers /bin/sh | grep -q ld.so.1 ++ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi ++ GUESS=$UNAME_MACHINE-sunway-linux-$LIBC ++ ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in + EV5) UNAME_MACHINE=alphaev5 ;; +diff --git a/config.sub b/config.sub +index b51fb8c..76babe9 100755 +--- a/config.sub ++++ b/config.sub +@@ -1157,6 +1157,7 @@ case $cpu-$vendor in + | a29k \ + | aarch64 | aarch64_be \ + | abacus \ ++ | sw_64 \ + | alpha | alphaev4-8 | alphaev56 | alphaev678 \ + | alpha64 | alpha64ev4-8 | alpha64ev56 | alpha64ev678 \ + | alphapca567 | alpha64pca567 \ +diff --git a/lib/libaudit.h b/lib/libaudit.h +index 3a8e8c8..16af222 100644 +--- a/lib/libaudit.h ++++ b/lib/libaudit.h +@@ -561,6 +561,7 @@ typedef enum { + MACH_S390X, + MACH_S390, + MACH_ALPHA, // Deprecated but has to stay ++ MACH_SW_64, // Deprecated but has to stay + MACH_ARM, + MACH_AARCH64, + MACH_PPC64LE +diff --git a/src/libev/ev.c b/src/libev/ev.c +index 5ff936c..72765b5 100644 +--- a/src/libev/ev.c ++++ b/src/libev/ev.c +@@ -828,6 +828,8 @@ struct signalfd_siginfo + #define ECB_MEMORY_FENCE __asm__ __volatile__ (".set mips2; sync; .set mips0" : : : "memory") + #elif defined __alpha__ + #define ECB_MEMORY_FENCE __asm__ __volatile__ ("mb" : : : "memory") ++ #elif defined __sw_64__ ++ #define ECB_MEMORY_FENCE __asm__ __volatile__ ("memb" : : : "memory") + #elif defined __hppa__ + #define ECB_MEMORY_FENCE __asm__ __volatile__ ("" : : : "memory") + #define ECB_MEMORY_FENCE_RELEASE __asm__ __volatile__ ("") +@@ -1550,6 +1552,7 @@ ecb_binary32_to_binary16 (uint32_t x) + || defined __s390__ || defined __s390x__ \ + || defined __mips__ \ + || defined __alpha__ \ ++ || defined __sw_64__ \ + || defined __hppa__ \ + || defined __ia64__ \ + || defined __m68k__ \ +diff --git a/tools/ausyscall/ausyscall.c b/tools/ausyscall/ausyscall.c +index 4fb8f09..206e9ff 100644 +--- a/tools/ausyscall/ausyscall.c ++++ b/tools/ausyscall/ausyscall.c +@@ -73,6 +73,12 @@ int main(int argc, char *argv) + } else if (strcmp("ia64", argvi) == 0) { + fputs("IA64 processor support is deprecated\n", + stderr); ++#ifndef WITH_SW_64 ++ } else if (strcmp("sw_64", argvi) == 0) { ++ fputs("Sw_64 eabi processor support is not enabled\n", ++ stderr); ++ exit(1); ++#endif + #ifndef WITH_ARM + } else if (strcmp("arm", argvi) == 0) { + fputs("Arm eabi processor support is not enabled\n", +-- +2.33.0 +
View file
_service:tar_scm:backport-0001-In-auditd-close-the-logging-file-descriptor-when-log.patch
Deleted
@@ -1,32 +0,0 @@ -From d62c38a55520e58220d8e42497c4ab343185106f Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Thu, 28 Oct 2021 13:22:24 -0400 -Subject: PATCH 2237/2246 In auditd, close the logging file descriptor when - logging is suspended - ---- - src/auditd-event.c | 8 ++++++++ - 1 files changed, 8 insertions(+) - -diff --git a/src/auditd-event.c b/src/auditd-event.c -index f886b67..4dee990 100644 ---- a/src/auditd-event.c -+++ b/src/auditd-event.c -@@ -723,6 +723,14 @@ static void check_log_file_size(void) - case SZ_SUSPEND: - audit_msg(LOG_ERR, - "Audit daemon is suspending logging due to logfile size."); -+ // We need to close the file so that manual -+ // intervention can move or delete the file. -+ // We don't want to keep logging to a deleted -+ // file. -+ if (log_file) -+ fclose(log_file); -+ log_file = NULL; -+ log_fd = -1; - logging_suspended = 1; - break; - case SZ_ROTATE: --- -1.8.3.1 -
View file
_service:tar_scm:backport-0002-In-auditd-close-the-logging-file-descriptor-when-log.patch
Deleted
@@ -1,59 +0,0 @@ -From 770e4f538103f8a055f46c04a9e2514f88f175c3 Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Mon, 1 Nov 2021 08:29:56 -0400 -Subject: PATCH 2244/2246 In auditd, close the logging file descriptor when - logging is suspended - ---- - src/auditd-event.c | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -diff --git a/src/auditd-event.c b/src/auditd-event.c -index 4a0a351..e88ef6e 100644 ---- a/src/auditd-event.c -+++ b/src/auditd-event.c -@@ -861,6 +861,13 @@ static void do_space_left_action(int admin) - case FA_SUSPEND: - audit_msg(LOG_ALERT, - "Audit daemon is suspending logging due to low disk space."); -+ // We need to close the file so that manual -+ // intervention can move or delete the file. We -+ // don't want to keep logging to a deleted file. -+ if (log_file) -+ fclose(log_file); -+ log_file = NULL; -+ log_fd = -1; - logging_suspended = 1; - break; - case FA_SINGLE: -@@ -909,6 +916,13 @@ static void do_disk_full_action(void) - case FA_SUSPEND: - audit_msg(LOG_ALERT, - "Audit daemon is suspending logging due to no space left on logging partition."); -+ // We need to close the file so that manual -+ // intervention can move or delete the file. We -+ // don't want to keep logging to a deleted file. -+ if (log_file) -+ fclose(log_file); -+ log_file = NULL; -+ log_fd = -1; - logging_suspended = 1; - break; - case FA_SINGLE: -@@ -957,6 +971,13 @@ static void do_disk_error_action(const char *func, int err) - case FA_SUSPEND: - audit_msg(LOG_ALERT, - "Audit daemon is suspending logging due to previously mentioned write error"); -+ // We need to close the file so that manual -+ // intervention can move or delete the file. We -+ // don't want to keep logging to a deleted file. -+ if (log_file) -+ fclose(log_file); -+ log_file = NULL; -+ log_fd = -1; - logging_suspended = 1; - break; - case FA_SINGLE: --- -1.8.3.1 -
View file
_service:tar_scm:backport-Add-missing-call-to-free_interpretation_list.patch
Deleted
@@ -1,30 +0,0 @@ -From a9668df44bd635d40b6e7b4db2d12e5cf91c8013 Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Thu, 5 Aug 2021 09:54:44 -0400 -Subject: PATCH Add missing call to free_interpretation_list - ---- - auparse/auparse.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/auparse/auparse.c b/auparse/auparse.c -index ee3c97b..18f1127 100644 ---- a/auparse/auparse.c -+++ b/auparse/auparse.c -@@ -1,5 +1,5 @@ - /* auparse.c -- -- * Copyright 2006-08,2012-19 Red Hat Inc., Durham, North Carolina. -+ * Copyright 2006-08,2012-19,21 Red Hat Inc. - * All Rights Reserved. - * - * This library is free software; you can redistribute it and/or -@@ -2014,6 +2014,7 @@ const char *auparse_find_field_next(auparse_state_t *au) - r = aup_list_next(au->le); - if (r) { - aup_list_first_field(au->le); -+ free_interpretation_list(); - load_interpretation_list(r->interp); - } - } --- -
View file
_service:tar_scm:backport-Another-hardening-measure-for-corrupted-logs.patch
Deleted
@@ -1,85 +0,0 @@ -From ab8f522953a56c860cac2cca2a7d7874419111d5 Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Sat, 7 Aug 2021 13:13:19 -0400 -Subject: PATCH 2198/2246 Another hardening measure for corrupted logs - ---- - src/ausearch-lookup.c | 3 +++ - src/ausearch-parse.c | 25 +++++++++++++++---------- - 2 files changed, 18 insertions(+), 10 deletions(-) - -diff --git a/src/ausearch-lookup.c b/src/ausearch-lookup.c -index e27c784..dd58c36 100644 ---- a/src/ausearch-lookup.c -+++ b/src/ausearch-lookup.c -@@ -300,6 +300,9 @@ char *unescape(const char *buf) - while (isxdigit(*ptr)) - ptr++; - } -+ if ((ptr - buf) == 0) -+ return NULL; -+ - str = strndup(buf, ptr - buf); - - if (*buf == '(') -diff --git a/src/ausearch-parse.c b/src/ausearch-parse.c -index d051137..78dc44c 100644 ---- a/src/ausearch-parse.c -+++ b/src/ausearch-parse.c -@@ -1658,12 +1658,21 @@ static int parse_sockaddr(const lnode *n, search_items *s) - if (event_hostname || event_filename) { - str = strstr(n->message, "saddr="); - if (str) { -- int len; -+ unsigned int len = 0; - struct sockaddr *saddr; - char nameNI_MAXHOST; - - str += 6; -- len = strlen(str)/2; -+ const char *ptr = str; -+ if (*ptr == '(') { -+ const char *ptr2 = strchr(ptr, ')'); -+ if (ptr2) -+ len = (ptr2 - ptr) + 1; -+ } else { -+ while (isxdigit(ptrlen)) -+ len++; -+ len /= 2; -+ } - s->hostname = unescape(str); - if (s->hostname == NULL) - return 4; -@@ -1683,17 +1692,13 @@ static int parse_sockaddr(const lnode *n, search_items *s) - } - len = sizeof(struct sockaddr_in6); - } else if (saddr->sa_family == AF_UNIX) { -- struct sockaddr_un *un = -- (struct sockaddr_un *)saddr; -- if (un->sun_path0) -- len = strlen(un->sun_path); -- else // abstract name -- len = strlen(&un->sun_path1); -- if (len == 0) { -+ if (len < 4) { - fprintf(stderr, - "sun_path len too short\n"); - return 3; - } -+ struct sockaddr_un *un = -+ (struct sockaddr_un *)saddr; - if (event_filename) { - if (!s->filename) { - //create -@@ -1736,7 +1741,7 @@ static int parse_sockaddr(const lnode *n, search_items *s) - s->hostname = NULL; - return 0; - } -- if (getnameinfo(saddr, len, name, NI_MAXHOST, -+ if (getnameinfo(saddr, len, name, NI_MAXHOST, - NULL, 0, NI_NUMERICHOST) ) { - free(s->hostname); - s->hostname = NULL; --- -1.8.3.1 -
View file
_service:tar_scm:backport-Better-fix-for-busy-loop-in-normalizer-when-logs-are.patch
Deleted
@@ -1,31 +0,0 @@ -From ad62fa01c7a963c56bac75d8f7db6a5c76be4655 Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Sat, 7 Aug 2021 13:59:40 -0400 -Subject: PATCH 2200/2246 Better fix for busy loop in normalizer when logs - are corrupt - ---- - auparse/normalize.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/auparse/normalize.c b/auparse/normalize.c -index cd0a7c2..0ccabc5 100644 ---- a/auparse/normalize.c -+++ b/auparse/normalize.c -@@ -346,10 +346,11 @@ static void collect_id_obj2(auparse_state_t *au, const char *syscall) - if ((strcmp(str, "unset") == 0) && errno == 0) { - // Only move it if its safe to - if (cnt < limit) { -- auparse_next_field(au); -+ if (auparse_next_field(au) == 0) -+ return; - cnt++; - } else -- break; -+ return; - } else - break; - } --- -1.8.3.1 -
View file
_service:tar_scm:backport-Check-ctime-return-code.patch
Deleted
@@ -1,47 +0,0 @@ -From fd76e380ea117000d9d350405e2cfbd070c5c01a Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Sat, 21 Aug 2021 10:18:30 -0400 -Subject: PATCH 2213/2246 Check ctime return code - ---- - tools/aulast/aulast.c | 16 +++++++++++----- - 1 file changed, 11 insertions(+), 5 deletions(-) - -diff --git a/tools/aulast/aulast.c b/tools/aulast/aulast.c -index c513aac..8a25f3b 100644 ---- a/tools/aulast/aulast.c -+++ b/tools/aulast/aulast.c -@@ -96,8 +96,11 @@ static void report_session(lnode* cur) - int mins, hours, days; - if (notime) - printf("- %-7.5s", " "); -- else -- printf("- %-7.5s", ctime(&cur->end) + 11); -+ else { -+ char *ttime = ctime(&cur->end); -+ printf("- %-7.5s", ttime ? ttime + 11 : -+ "bad value"); -+ } - secs = cur->end - cur->start; - mins = (secs / 60) % 60; - hours = (secs / 3600) % 24; -@@ -128,10 +131,13 @@ static void report_session(lnode* cur) - strftime(start, sizeof(start), "%x %T", btm); - if (cur->end != 0) { - btm = localtime(&cur->end); -- strftime(end, sizeof(end), "%x %T", btm); -- printf(" ausearch --start %s --end %s", -- start, end); -+ if (btm) { -+ strftime(end, sizeof(end), "%x %T", btm); -+ printf(" ausearch --start %s --end %s", -+ start, end); -+ } else goto no_end; - } else { -+no_end: - printf(" ausearch --start %s", start); - } - if (cur->name == NULL) --- -1.8.3.1 -
View file
_service:tar_scm:backport-Check-for-fuzzer-induced-invalid-value.patch
Deleted
@@ -1,26 +0,0 @@ -From a3db7a4f849f52105b13fa412e64fc76c6b2895b Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Thu, 5 Aug 2021 21:51:33 -0400 -Subject: PATCH 2182/2246 Check for fuzzer induced invalid value - ---- - auparse/ellist.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/auparse/ellist.c b/auparse/ellist.c -index 17384a7..175e44e 100644 ---- a/auparse/ellist.c -+++ b/auparse/ellist.c -@@ -151,6 +151,9 @@ static int parse_up_record(rnode* r) - n.val = strdup(val); - // Remove trailing punctuation - len = strlen(n.val); -+ // Check for invalid val -+ if (!len) -+ continue; - if (len && n.vallen-1 == ':') { - n.vallen-1 = 0; - len--; --- -1.8.3.1 -
View file
_service:tar_scm:backport-Dont-run-off-the-end-with-corrupt-logs.patch
Deleted
@@ -1,43 +0,0 @@ -From 50c65ae25e64b7bd4489ce22a4c7789fa9a81f2f Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Sat, 7 Aug 2021 11:33:20 -0400 -Subject: PATCH 2197/2246 Dont run off the end with corrupt logs - ---- - src/ausearch-parse.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/ausearch-parse.c b/src/ausearch-parse.c -index 81ef319..d051137 100644 ---- a/src/ausearch-parse.c -+++ b/src/ausearch-parse.c -@@ -1031,7 +1031,7 @@ static int parse_user(const lnode *n, search_items *s, anode *avc) - if (str) { - str += 5; - term = str; -- while (*term != ' ' && *term != ':') -+ while (*term != ' ' && *term != ':' && *term) - term++; - if (term == str) - return 24; -@@ -1244,7 +1244,7 @@ skip: - char *end = str; - int legacy = 0; - -- while (*end != ' ') { -+ while (*end != ' ' && *end) { - if (!isxdigit(*end)) { - legacy = 1; - } -@@ -1295,7 +1295,7 @@ skip: - char *end = str; - int legacy = 0; - -- while (*end != ' ') { -+ while (*end != ' ' && *end) { - if (!isxdigit(*end)) { - legacy = 1; - } --- -1.8.3.1 -
View file
_service:tar_scm:backport-Fix-an-auparse-memory-leak-caused-in-recent-glibc.patch
Deleted
@@ -1,35 +0,0 @@ -From 16246878c503d7395ae668817bf629e05361fec5 Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Thu, 29 Jul 2021 18:39:22 -0400 -Subject: PATCH Fix an auparse memory leak caused in recent glibc - ---- - auparse/interpret.c | 4 ++++- - 1 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/auparse/interpret.c b/auparse/interpret.c -index 2813acb..33c173e 100644 ---- a/auparse/interpret.c -+++ b/auparse/interpret.c -@@ -50,6 +50,7 @@ - #include <sys/personality.h> - #include <sys/prctl.h> - #include <sched.h> -+#include <limits.h> /* PATH_MAX */ - #ifdef USE_FANOTIFY - #include <linux/fanotify.h> - #else -@@ -865,8 +866,10 @@ static const char *print_escaped_ext(const idata *id) - str1 = NULL; - } - errno = 0; -- out = realpath(str3, NULL); -+ out = malloc(PATH_MAX); -+ realpath(str3, out); - if (errno) { // If there's an error, just return the original -+ free(out); - free(str1); - free(str2); - return str3; --- -
View file
_service:tar_scm:backport-Fix-busy-loop-in-normalizer-when-logs-are-corrupt.patch
Deleted
@@ -1,26 +0,0 @@ -From 2b34fea50a9f6a65dd51a2b7abf67e6f19c8d1f5 Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Sat, 7 Aug 2021 13:51:30 -0400 -Subject: PATCH 2199/2246 Fix busy loop in normalizer when logs are corrupt - ---- - auparse/normalize.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/auparse/normalize.c b/auparse/normalize.c -index 99f9803..cd0a7c2 100644 ---- a/auparse/normalize.c -+++ b/auparse/normalize.c -@@ -348,7 +348,8 @@ static void collect_id_obj2(auparse_state_t *au, const char *syscall) - if (cnt < limit) { - auparse_next_field(au); - cnt++; -- } -+ } else -+ break; - } else - break; - } --- -1.8.3.1 -
View file
_service:tar_scm:backport-Fix-double-free-with-corrupted-logs.patch
Deleted
@@ -1,36 +0,0 @@ -From 0177e03f0809da0007f09504b789eba4b8cbe739 Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Fri, 6 Aug 2021 17:03:41 -0400 -Subject: PATCH Fix double free with corrupted logs - ---- - src/ausearch-parse.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/ausearch-parse.c b/src/ausearch-parse.c -index 9ee4a4f..cb7d481 100644 ---- a/src/ausearch-parse.c -+++ b/src/ausearch-parse.c -@@ -420,8 +420,10 @@ try_again: - str = strstr(term, "comm="); - if (str) { - /* Make the syscall one override */ -- if (s->comm) -+ if (s->comm) { - free(s->comm); -+ s->comm = NULL; -+ } - str += 5; - if (*str == '"') { - str++; -@@ -431,7 +433,7 @@ try_again: - *term = 0; - s->comm = strdup(str); - *term = '"'; -- } else -+ } else - s->comm = unescape(str); - } else - return 38; --- -
View file
_service:tar_scm:backport-Fix-some-string-length-issues.patch
Deleted
@@ -1,64 +0,0 @@ -From 39f868fef95f95786358bc3690a327d4f11d2d43 Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Thu, 3 Jun 2021 16:18:36 -0400 -Subject: PATCH 2084/2246 Fix some string length issues - -In interpret, fix the size so that we need to size it again later if new -strings get added. The ausearch/report issues have the size information -available, so FORTIFY_SOURCE should keep things in check. ---- - auparse/interpret.c | 2 +- - src/aureport.c | 4 ++-- - src/ausearch.c | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/auparse/interpret.c b/auparse/interpret.c -index e22cae7..5d6f31a 100644 ---- a/auparse/interpret.c -+++ b/auparse/interpret.c -@@ -1242,7 +1242,7 @@ static const char *print_flags(const char *val) - { - int flags, cnt = 0; - size_t i; -- char *out, buf80; -+ char *out, bufsizeof(flag_strings); - - errno = 0; - flags = strtoul(val, NULL, 16); -diff --git a/src/aureport.c b/src/aureport.c -index d0251a4..22618f0 100644 ---- a/src/aureport.c -+++ b/src/aureport.c -@@ -168,10 +168,10 @@ static int process_logs(void) - int num = 0; - - if (user_file && userfile_is_dir) { -- char dirnameMAXPATHLEN; -+ char dirnameMAXPATHLEN+1; - clear_config (&config); - -- strcpy(dirname, user_file); -+ strncpy(dirname, user_file, MAXPATHLEN-32); - if (dirnamestrlen(dirname)-1 != '/') - strcat(dirname, "/"); - strcat (dirname, "audit.log"); -diff --git a/src/ausearch.c b/src/ausearch.c -index 97f89bf..768807e 100644 ---- a/src/ausearch.c -+++ b/src/ausearch.c -@@ -228,10 +228,10 @@ static int process_logs(void) - int ret; - - if (user_file && userfile_is_dir) { -- char dirnameMAXPATHLEN; -+ char dirnameMAXPATHLEN+1; - clear_config (&config); - -- strcpy(dirname, user_file); -+ strncpy(dirname, user_file, MAXPATHLEN-32); - if (dirnamestrlen(dirname)-1 != '/') - strcat(dirname, "/"); - strcat (dirname, "audit.log"); --- -1.8.3.1 -
View file
_service:tar_scm:backport-Fix-the-closing-timing-of-audit_fd-166.patch
Deleted
@@ -1,28 +0,0 @@ -From 72996b1821b5dbd22f5e08c477660a75a38e4414 Mon Sep 17 00:00:00 2001 -From: MIZUTA Takeshi <mizuta.takeshi@fujitsu.com> -Date: Wed, 14 Apr 2021 20:08:17 +0900 -Subject: PATCH 2048/2246 Fix the closing timing of audit_fd (#166) - ---- - lib/netlink.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/netlink.c b/lib/netlink.c -index 9525b8d..f7cbeb0 100644 ---- a/lib/netlink.c -+++ b/lib/netlink.c -@@ -64,10 +64,10 @@ int audit_open(void) - } - if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) { - saved_errno = errno; -- close(fd); - audit_msg(LOG_ERR, - "Error setting audit netlink socket CLOEXEC flag (%s)", - strerror(errno)); -+ close(fd); - errno = saved_errno; - return -1; - } --- -1.8.3.1 -
View file
_service:tar_scm:backport-Fix-the-default-location-for-zos-remote.conf-171.patch
Deleted
@@ -1,37 +0,0 @@ -From ea21005f1abba62ed4acd7432c6e721504909511 Mon Sep 17 00:00:00 2001 -From: Pythoner <yixiangzhike007@163.com> -Date: Mon, 19 Apr 2021 14:10:14 -0500 -Subject: PATCH 2052/2052 Fix the default location for zos-remote.conf (#171) - ---- - audisp/plugins/zos-remote/audispd-zos-remote.conf | 2 +- - docs/zos-remote.conf.5 | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/audisp/plugins/zos-remote/audispd-zos-remote.conf b/audisp/plugins/zos-remote/audispd-zos-remote.conf -index 13aef2c..eda199e 100644 ---- a/audisp/plugins/zos-remote/audispd-zos-remote.conf -+++ b/audisp/plugins/zos-remote/audispd-zos-remote.conf -@@ -10,5 +10,5 @@ active = no - direction = out - path = /sbin/audispd-zos-remote - type = always --args = /etc/audisp/zos-remote.conf -+args = /etc/audit/zos-remote.conf - format = string -diff --git a/docs/zos-remote.conf.5 b/docs/zos-remote.conf.5 -index 4bf504d..7ee92e3 100644 ---- a/docs/zos-remote.conf.5 -+++ b/docs/zos-remote.conf.5 -@@ -26,7 +26,7 @@ zos\-remote.conf \- the audisp-racf plugin configuration file - controls the configuration for the - .BR audispd\-zos\-remote (8) - Audit dispatcher plugin. The default location for this file is --.IR /etc/audisp/zos\-remote.conf , -+.IR /etc/audit/zos\-remote.conf , - however, a different file can be specified as the first argument to the - .B audispd\-zos\-remote - plugin. See --- -1.8.3.1 -
View file
_service:tar_scm:backport-In-auditd-check-if-log_file-is-valid-before-closing-.patch
Deleted
@@ -1,135 +0,0 @@ -From 6531c7dfb832ea245d8004662ea7c4e90107c0df Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Wed, 11 Aug 2021 15:10:18 -0400 -Subject: PATCH 2207/2246 In auditd, check if log_file is valid before - closing handle - ---- - src/auditd-event.c | 44 +++++++++++++++++++++++++++++++---------------- - 1 files changed, 29 insertions(+), 15 deletions(-) - -diff --git a/src/auditd-event.c b/src/auditd-event.c -index 3655726..788c44a 100644 ---- a/src/auditd-event.c -+++ b/src/auditd-event.c -@@ -71,7 +71,7 @@ static void init_flush_thread(void); - /* Local Data */ - static struct daemon_conf *config; - static volatile int log_fd; --static FILE *log_file; -+static FILE *log_file = NULL; - static unsigned int disk_err_warning = 0; - static int fs_space_warning = 0; - static int fs_admin_space_warning = 0; -@@ -174,7 +175,8 @@ int init_event(struct daemon_conf *conf) - format_buf = (char *)malloc(FORMAT_BUF_LEN); - if (format_buf == NULL) { - audit_msg(LOG_ERR, "No memory for formatting, exiting"); -- fclose(log_file); -+ if (log_file) -+ fclose(log_file); - log_file = NULL; - return 1; - } -@@ -212,7 +214,8 @@ static void *flush_thread_main(void *arg) - flush = 0; - pthread_mutex_unlock(&flush_lock); - -- fsync(log_fd); -+ if (log_fd >= 0) -+ fsync(log_fd); - } - return NULL; - } -@@ -589,7 +592,8 @@ void handle_event(struct auditd_event *e) - if (config->daemonize == D_BACKGROUND) { - if (config->flush == FT_INCREMENTAL) { - /* EIO is only likely failure */ -- if (fsync(log_fd) != 0) { -+ if (log_fd >= 0 && -+ fsync(log_fd) != 0) { - do_disk_error_action( - "fsync", - errno); -@@ -744,6 +748,9 @@ static void check_space_left(void) - int rc; - struct statfs buf; - -+ if (log_fd < 0) -+ return; -+ - rc = fstatfs(log_fd, &buf); - if (rc == 0) { - if (buf.f_bavail < 5) { -@@ -831,7 +838,8 @@ static void do_space_left_action(int admin) - case FA_EXEC: - // Close the logging file in case the script zips or - // moves the file. We'll reopen in sigusr2 handler -- fclose(log_file); -+ if (log_file) -+ fclose(log_file); - log_file = NULL; - log_fd = -1; - logging_suspended = 1; -@@ -881,7 +889,8 @@ static void do_disk_full_action(void) - case FA_EXEC: - // Close the logging file in case the script zips or - // moves the file. We'll reopen in sigusr2 handler -- fclose(log_file); -+ if (log_file) -+ fclose(log_file); - log_file = NULL; - log_fd = -1; - logging_suspended = 1; -@@ -928,7 +937,8 @@ static void do_disk_error_action(const char *func, int err) - case FA_EXEC: - // Close the logging file in case the script zips or - // moves the file. We'll reopen in sigusr2 handler -- fclose(log_file); -+ if (log_file) -+ fclose(log_file); - log_file = NULL; - log_fd = -1; - logging_suspended = 1; -@@ -1053,17 +1063,21 @@ static void rotate_logs(unsigned int num_logs, unsigned int keep_logs) - /* Close audit file. fchmod and fchown errors are not fatal because we - * already adjusted log file permissions and ownership when opening the - * log file. */ -- if (fchmod(log_fd, config->log_group ? S_IRUSR|S_IRGRP : S_IRUSR) < 0){ -- audit_msg(LOG_WARNING, "Couldn't change permissions while " -+ if (log_fd >= 0) { -+ if (fchmod(log_fd, config->log_group ? S_IRUSR|S_IRGRP : -+ S_IRUSR) < 0){ -+ audit_msg(LOG_WARNING, "Couldn't change permissions while " - "rotating log file (%s)", strerror(errno)); -- } -- if (fchown(log_fd, 0, config->log_group) < 0) { -- audit_msg(LOG_WARNING, "Couldn't change ownership while " -+ } -+ if (fchown(log_fd, 0, config->log_group) < 0) { -+ audit_msg(LOG_WARNING, "Couldn't change ownership while " - "rotating log file (%s)", strerror(errno)); -+ } - } -- fclose(log_file); -+ if (log_file) -+ fclose(log_file); - log_file = NULL; -- -+ - /* Rotate */ - len = strlen(config->log_file) + 16; - oldname = (char *)malloc(len); -@@ -1470,7 +1484,8 @@ static void reconfigure(struct auditd_event *e) - free((void *)nconf->log_file); - - if (need_reopen) { -- fclose(log_file); -+ if (log_file) -+ fclose(log_file); - log_file = NULL; - fix_disk_permissions(); - if (open_audit_log()) { --- -1.8.3.1 -
View file
_service:tar_scm:backport-Move-the-free_config-to-success-path.patch
Deleted
@@ -1,28 +0,0 @@ -From d89e5647d9e090f45146c144d920bd1f686a8230 Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Thu, 15 Jul 2021 11:36:17 -0400 -Subject: PATCH 2163/2246 Move the free_config to success path - ---- - src/auditd.c | 4 +++--- - 1 file changed, 3 insertions(+), 1 deletions(-) - -diff --git a/src/auditd.c b/src/auditd.c -index ca69d3b..5478cc4 100644 ---- a/src/auditd.c -+++ b/src/auditd.c -@@ -457,8 +457,10 @@ static int become_daemon(void) - return -1; - - /* Success - die a happy death */ -- if (status == SUCCESS) -+ if (status == SUCCESS) { -+ free_config(&config); - _exit(0); -+ } - return -1; - } - --- -1.8.3.1 -
View file
_service:tar_scm:backport-Try-to-interpret-OPENAT2-fields-correctly.patch
Added
@@ -0,0 +1,75 @@ +From 83214d7469274dbd60959e32f6c26dda016de048 Mon Sep 17 00:00:00 2001 +From: Steve Grubb <sgrubb@redhat.com> +Date: Wed, 8 Feb 2023 13:45:32 -0500 +Subject: PATCH Try to interpret OPENAT2 fields correctly + +Conflict: delete ChangeLog +Reference:https://github.com/linux-audit/audit-userspace/commit/83214d7469274dbd60959e32f6c26dda016de048 +--- + auparse/interpret.c | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/auparse/interpret.c b/auparse/interpret.c +index 373851f..4d2f0d4 100644 +--- a/auparse/interpret.c ++++ b/auparse/interpret.c +@@ -1490,15 +1490,15 @@ static const char *print_success(const char *val) + return strdup(val); + } + +-static const char *print_open_flags(const char *val) ++static const char *print_open_flags(const char *val, int base) + { + size_t i; +- unsigned int flags; ++ unsigned long flags; + int cnt = 0; + char *out, bufsizeof(open_flag_strings)+OPEN_FLAG_NUM_ENTRIES+1; + + errno = 0; +- flags = strtoul(val, NULL, 16); ++ flags = strtoul(val, NULL, base); + if (errno) { + if (asprintf(&out, "conversion error(%s)", val) < 0) + out = NULL; +@@ -2504,10 +2504,10 @@ static const char *print_a1(const char *val, const idata *id) + else if (strcmp(sys, "mknod") == 0) + return print_mode(val, 16); + else if (strcmp(sys, "mq_open") == 0) +- return print_open_flags(val); ++ return print_open_flags(val, 16); + } + else if (strcmp(sys, "open") == 0) +- return print_open_flags(val); ++ return print_open_flags(val, 16); + else if (strcmp(sys, "access") == 0) + return print_access(val); + else if (strcmp(sys, "epoll_ctl") == 0) +@@ -2581,11 +2581,11 @@ static const char *print_a2(const char *val, const idata *id) + goto normal; + } else if (*sys == 'o') { + if (strcmp(sys, "openat") == 0) +- return print_open_flags(val); ++ return print_open_flags(val, 16); + if ((strcmp(sys, "open") == 0) && (id->a1 & O_CREAT)) + return print_mode_short(val, 16); + if (strcmp(sys, "open_by_handle_at") == 0) +- return print_open_flags(val); ++ return print_open_flags(val, 16); + } else if (*sys == 'f') { + if (strcmp(sys, "fchmodat") == 0) + return print_mode_short(val, 16); +@@ -3256,8 +3256,8 @@ unknown: + case AUPARSE_TYPE_SECCOMP: + out = print_seccomp_code(id->val); + break; +- case AUPARSE_TYPE_OFLAG: +- out = print_open_flags(id->val); ++ case AUPARSE_TYPE_OFLAG: // AUDIT_OPENAT2,MQ_OPEN ++ out = print_open_flags(id->val, 0); + break; + case AUPARSE_TYPE_MMAP: + out = print_mmap(id->val); +-- +2.33.0 +
View file
_service:tar_scm:backport-When-interpreting-if-val-is-NULL-return-an-empty-str.patch
Deleted
@@ -1,27 +0,0 @@ -From ce58837d44b7d9fcb4e140c23f68e0c94d95ab6e Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Sat, 21 Aug 2021 10:20:11 -0400 -Subject: PATCH 2214/2246 When interpreting, if val is NULL return an empty - string - ---- - auparse/interpret.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/auparse/interpret.c b/auparse/interpret.c -index 177ab82..63829aa 100644 ---- a/auparse/interpret.c -+++ b/auparse/interpret.c -@@ -840,6 +840,9 @@ static char *print_escaped(const char *val) - { - char *out; - -+ if (val == NULL) -+ return strdup(" "); -+ - if (*val == '"') { - char *term; - val++; --- -1.8.3.1 -
View file
_service:tar_scm:backport-audit-flex-array-workaround.patch
Added
@@ -0,0 +1,47 @@ +commit 0d31f225faef8da3fcd0f69f6544aa274102fe53 +Author: Steve Grubb <sgrubb@redhat.com> +Date: Wed Feb 23 14:24:50 2022 -0500 +Subject: workaround a kernel change that breaks the build + +--- + bindings/swig/src.auditswig.i | 2 +- + lib/audit.h | 2 +- + lib/libaudit.h | 2 +- + 3 files changed, 3 insertions(+)m 3 deletions(-) + +diff --git a/bindings/swig/src/auditswig.i b/bindings/swig/src/auditswig.i +--- a/bindings/swig/src/auditswig.i ++++ b/bindings/swig/src/auditswig.i +@@ -39,7 +39,7 @@ signed + #define __attribute(X) /*nothing*/ + typedef unsigned __u32; + typedef unsigned uid_t; +-%include "/usr/include/linux/audit.h" ++%include "../lib/audit.h" + #define __extension__ /*nothing*/ + %include <stdint.i> + %include "../lib/libaudit.h" +diff --git a/lib/audit.h b/lib/audit.h +--- a/lib/audit.h ++++ b/lib/audit.h +@@ -514,7 +514,7 @@ struct audit_rule_data { + __u32 valuesAUDIT_MAX_FIELDS; + __u32 fieldflagsAUDIT_MAX_FIELDS; + __u32 buflen; /* total length of string fields */ +- char buf; /* string fields buffer */ ++ char buf0; /* string fields buffer */ + }; + + #endif /* _LINUX_AUDIT_H_ */ +diff --git a/lib/libaudit.h b/lib/libaudit.h +--- a/lib/libaudit.h ++++ b/lib/libaudit.h +@@ -27,7 +27,7 @@ + #include <stdint.h> + #include <sys/socket.h> + #include <linux/netlink.h> +-#include <linux/audit.h> ++#include "audit.h" + #include <stdarg.h> + #include <syslog.h> + #ifndef __attr_access
View file
_service:tar_scm:backport-audit-undo-flex-array.patch
Added
@@ -0,0 +1,21 @@ +commit 2df0fecef9ea2225de116c1e969462cb4846241d +Author: Steve Grubb <sgrubb@redhat.com> +Date: Thu Feb 24 09:11:06 2022 -0500 +Subject: Undo fix to libaudit.h before installing + +--- + ./usr/include/libaudit.h | 2 +- + 1 flies changed, 1 insertions(+), 1 deletions(-) + +diff --git a/./usr/include/libaudit.h b/.user/include/libaudit.h +--- a/./usr/include/libaudit.h ++++ b/./usr/include/libaudit.h +@@ -32,7 +32,7 @@ + #include <stdint.h> + #include <sys/socket.h> + #include <linux/netlink.h> +-#include "audit.h" ++#include <linux/audit.h> + #include <stdarg.h> + #include <syslog.h> +
View file
_service:tar_scm:backport-auditd.service-Restart-on-failure-ignoring-some-exit.patch
Deleted
@@ -1,35 +0,0 @@ -From 30382bfcc0f64f451bc084c9657a546cb34492a7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timoth=C3=A9e=20Ravier?= <travier@redhat.com> -Date: Fri, 1 Oct 2021 16:35:57 +0200 -Subject: PATCH 2228/2246 auditd.service: Restart 'on-failure', ignoring some - exit codes (#217) - -Use `Restart=on-failure` to automatically restart `auditd`. Do not -restart for intentional exits. See EXIT CODES section in auditd(8). - -See: -- https://www.freedesktop.org/software/systemd/man/systemd.service.html#Restart= -- https://www.freedesktop.org/software/systemd/man/systemd.service.html#RestartPreventExitStatus= - -Fixes: https://github.com/linux-audit/audit-userspace/issues/211 ---- - init.d/auditd.service | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/init.d/auditd.service b/init.d/auditd.service -index 67cda58..e801281 100644 ---- a/init.d/auditd.service -+++ b/init.d/auditd.service -@@ -27,6 +27,9 @@ ExecStartPost=-/sbin/augenrules --load - # By default we don't clear the rules on exit. To enable this, uncomment - # the next line after copying the file to /etc/systemd/system/auditd.service - #ExecStopPost=/sbin/auditctl -R /etc/audit/audit-stop.rules -+Restart=on-failure -+# Do not restart for intentional exits. See EXIT CODES section in auditd(8). -+RestartPreventExitStatus=2 4 6 - - ### Security Settings ### - MemoryDenyWriteExecute=true --- -1.8.3.1 -
View file
_service:tar_scm:backport-error-out-if-log-is-mangled.patch
Deleted
@@ -1,27 +0,0 @@ -From fc97c70fdba18280985747198a6ce836d39cce9e Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Sat, 7 Aug 2021 10:29:07 -0400 -Subject: PATCH 2196/2246 error out if log is mangled - ---- - src/ausearch-parse.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/ausearch-parse.c b/src/ausearch-parse.c -index b0c8b2a..81ef319 100644 ---- a/src/ausearch-parse.c -+++ b/src/ausearch-parse.c -@@ -1995,6 +1995,10 @@ other_avc: - *term = '"'; - } else { - s->comm = unescape(str); -+ if (s->comm == NULL) { -+ rc = 11; -+ goto err; -+ } - term = str + 6; - } - } --- -1.8.3.1 -
View file
_service:tar_scm:backport-fix-2-more-issues-found-by-fuzzing.patch
Deleted
@@ -1,46 +0,0 @@ -From f4683d04eadb7d76b98497af834f027d6005d893 Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Mon, 9 Aug 2021 17:14:17 -0400 -Subject: PATCH fix 2 more issues found by fuzzing - ---- - auparse/auparse.c | 8 +++++++- - auparse/ellist.c | 4 +++- - 2 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/auparse/auparse.c b/auparse/auparse.c -index b0e685a..3cf512a 100644 ---- a/auparse/auparse.c -+++ b/auparse/auparse.c -@@ -1611,7 +1611,13 @@ static int au_auparse_next_event(auparse_state_t *au) - } - aup_list_create(l); - aup_list_set_event(l, &e); -- aup_list_append(l, au->cur_buf, au->list_idx, au->line_number); -+ if (aup_list_append(l, au->cur_buf, au->list_idx, -+ au->line_number) < 0) { -+ au->cur_buf = NULL; -+ aup_list_clear(l); -+ free(l); -+ continue; -+ } - // Eat standalone EOE - main event was already marked complete - if (l->head->type == AUDIT_EOE) { - au->cur_buf = NULL; -diff --git a/auparse/ellist.c b/auparse/ellist.c -index 7d9c552..dd711bc 100644 ---- a/auparse/ellist.c -+++ b/auparse/ellist.c -@@ -290,7 +290,9 @@ static int parse_up_record(rnode* r) - while (ptr && *ptr != '}') { - len = strlen(ptr); - if ((len+1) >= (256-total)) { -- free(buf); -+ if (nvlist_get_cnt(&r->nv) -+ == 0) -+ free(buf); - return -1; - } - if (tmpctx0) { --- -
View file
_service:tar_scm:backport-flush-uid-gid-caches-when-user-group-added-deleted-m.patch
Deleted
@@ -1,128 +0,0 @@ -From 8662f61108f8b9365f96ef49ca8ca331a7880f24 Mon Sep 17 00:00:00 2001 -From: Steve Grubb <sgrubb@redhat.com> -Date: Tue, 10 Aug 2021 11:27:16 -0400 -Subject: PATCH 2205/2246 flush uid/gid caches when user/group - added/deleted/modified - -It was reported in issue #209 that in the enriched format that auditd -is creating the wrong account associations. This is due to caching -previous lookups. The fix is to monitor for account lifecycle changes -and flush the LRUs if any are seen. ---- - auparse/auparse-idata.h | 3 ++- - auparse/interpret.c | 12 ++++++++++++ - src/auditd-event.c | 27 +++++++++++++++++++++++++-- - 3 files changed, 39 insertions(+), 3 deletions(-) - -diff --git a/auparse/auparse-idata.h b/auparse/auparse-idata.h -index 660901a..eaca86a 100644 ---- a/auparse/auparse-idata.h -+++ b/auparse/auparse-idata.h -@@ -1,6 +1,6 @@ - /* - * idata.h - Header file for ausearch-lookup.c --* Copyright (c) 2013,2016-17 Red Hat Inc., Durham, North Carolina. -+* Copyright (c) 2013,2016-17,2021 Red Hat Inc. - * All Rights Reserved. - * - * This library is free software; you can redistribute it and/or -@@ -45,6 +45,7 @@ char *auparse_do_interpretation(int type, const idata *id, - void _auparse_load_interpretations(const char *buf); - void _auparse_free_interpretations(void); - const char *_auparse_lookup_interpretation(const char *name); -+void _auparse_flush_caches(void); - - #endif - -diff --git a/auparse/interpret.c b/auparse/interpret.c -index 046867b..eef377a 100644 ---- a/auparse/interpret.c -+++ b/auparse/interpret.c -@@ -653,6 +653,18 @@ void aulookup_destroy_gid_list(void) - gid_cache_created = 0; - } - -+void _auparse_flush_caches(void) -+{ -+ if (uid_cache_created) { -+ destroy_lru(uid_cache); -+ uid_cache_created = 0; -+ } -+ if (gid_cache_created) { -+ destroy_lru(gid_cache); -+ gid_cache_created = 0; -+ } -+} -+ - static const char *print_uid(const char *val, unsigned int base) - { - int uid; -diff --git a/src/auditd-event.c b/src/auditd-event.c -index cb29fee..3655726 100644 ---- a/src/auditd-event.c -+++ b/src/auditd-event.c -@@ -42,6 +42,7 @@ - #include "libaudit.h" - #include "private.h" - #include "auparse.h" -+#include "auparse-idata.h" - - /* This is defined in auditd.c */ - extern volatile int stop; -@@ -56,7 +57,7 @@ static void do_space_left_action(int admin); - static void do_disk_full_action(void); - static void do_disk_error_action(const char *func, int err); - static void fix_disk_permissions(void); --static void check_excess_logs(void); -+static void check_excess_logs(void); - static void rotate_logs_now(void); - static void rotate_logs(unsigned int num_logs, unsigned int keep_logs); - static void shift_logs(void); -@@ -394,7 +395,7 @@ static const char *format_enrich(const struct audit_reply *rep) - snprintf(format_buf, MAX_AUDIT_MESSAGE_LENGTH, - "type=DAEMON_ERR op=format-enriched msg=NULL res=failed"); - } else { -- int rc; -+ int rc, rtype; - size_t mlen, len; - char *message; - // Do raw format to get event started -@@ -427,6 +428,17 @@ static const char *format_enrich(const struct audit_reply *rep) - - // Loop over all fields while possible to add field - rc = auparse_first_record(au); -+ rtype = auparse_get_type(au); -+ switch (rtype) -+ { // Flush before adding to pickup new associations -+ case AUDIT_ADD_USER: -+ case AUDIT_ADD_GROUP: -+ _auparse_flush_caches(); -+ break; -+ default: -+ break; -+ } -+ - while (rc > 0 && len > MIN_SPACE_LEFT) { - // See what kind of field we have - size_t vlen; -@@ -454,6 +466,17 @@ static const char *format_enrich(const struct audit_reply *rep) - rc = auparse_next_field(au); - } - -+ switch(rtype) -+ { // Flush after modification to remove stale entries -+ case AUDIT_USER_MGMT: -+ case AUDIT_DEL_USER: -+ case AUDIT_DEL_GROUP: -+ case AUDIT_GRP_MGMT: -+ _auparse_flush_caches(); -+ break; -+ default: -+ break; -+ } - free(message); - } - return format_buf; --- -1.8.3.1 -
View file
_service:tar_scm:bugfix-audit-reload-coredump.patch
Changed
@@ -5,11 +5,11 @@ --- src/auditd-reconfig.c | 2 ++ - src/auditd.c | 36 +++++++++++++++++++++++++++++------- - 2 files changed, 31 insertions(+), 7 deletions(-) + src/auditd.c | 26 ++++++++++++++++++++++++-- + 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/auditd-reconfig.c b/src/auditd-reconfig.c -index f5b00e6..5ea9126 100644 +index 37e0adc..66ded38 100644 --- a/src/auditd-reconfig.c +++ b/src/auditd-reconfig.c @@ -35,6 +35,7 @@ @@ -29,7 +29,7 @@ pthread_mutex_unlock(&config_lock); diff --git a/src/auditd.c b/src/auditd.c -index fa783a2..0d76e0c 100644 +index 5933703..53f4803 100644 --- a/src/auditd.c +++ b/src/auditd.c @@ -76,6 +76,7 @@ static int hup_info_requested = 0; @@ -40,45 +40,33 @@ /* Local function prototypes */ int send_audit_event(int type, const char *str); -@@ -519,15 +520,30 @@ static void netlink_handler(struct ev_loop *loop, struct ev_io *io, - char hupMAX_AUDIT_MESSAGE_LENGTH; - audit_msg(LOG_DEBUG, +@@ -525,8 +526,23 @@ static void netlink_handler(struct ev_loop *loop, struct ev_io *io, + char hupMAX_AUDIT_MESSAGE_LENGTH; + audit_msg(LOG_DEBUG, "HUP detected, starting config manager"); -- reconfig_ev = cur_event; -- if (start_config_manager(cur_event)) { -+ if(hup_flag == 0) -+ { -+ hup_flag = 1; -+ reconfig_ev = cur_event; -+ if (start_config_manager(cur_event)) { -+ audit_format_signal_info(hup, -+ sizeof(hup), -+ "reconfigure state=no-change", -+ &cur_event->reply, -+ "failed"); -+ send_audit_event(AUDIT_DAEMON_CONFIG, -+ hup); -+ hup_flag = 0; +- reconfig_ev = cur_event; +- if (start_config_manager(cur_event)) { ++ if(hup_flag == 0) ++ { ++ hup_flag = 1; ++ reconfig_ev = cur_event; ++ if (start_config_manager(cur_event)) { ++ audit_format_signal_info(hup, ++ sizeof(hup), ++ "reconfigure state=no-change", ++ &cur_event->reply, ++ "failed"); ++ send_audit_event(AUDIT_DAEMON_CONFIG, ++ hup); ++ hup_flag = 0; ++ } + } -+ } -+ else -+ { - audit_format_signal_info(hup, -- sizeof(hup), -- "reconfigure state=no-change", -- &cur_event->reply, -- "failed"); -+ sizeof(hup), -+ "reconfigure state=no-change", -+ &cur_event->reply, -+ "failed"); - send_audit_event(AUDIT_DAEMON_CONFIG, -- hup); -+ hup); - } - cur_event = NULL; - hup_info_requested = 0; -@@ -571,9 +587,15 @@ static void pipe_handler(struct ev_loop *loop, struct ev_io *io, ++ else ++ { + audit_format_signal_info(hup, + sizeof(hup), + "reconfigure state=no-change", +@@ -576,9 +592,15 @@ static void pipe_handler(struct ev_loop *loop, struct ev_io *io, // Drain the pipe - won't block because libev sets non-blocking mode read(pipefds0, buf, sizeof(buf)); enqueue_event(reconfig_ev); @@ -95,5 +83,5 @@ { const char *msg = "ready\n"; -- -1.8.3.1 +2.27.0
View file
_service:tar_scm:bugfix-audit-userspace-missing-syscalls-for-aarm64.patch
Changed
@@ -8,17 +8,18 @@ Signed-off-by: jinbo <jinbo8@huawei.com> --- - lib/aarch64_table.h | 43 +++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 43 insertions(+) + lib/aarch64_table.h | 44 +++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/lib/aarch64_table.h b/lib/aarch64_table.h index c61aa91..ea634c1 100644 --- a/lib/aarch64_table.h +++ b/lib/aarch64_table.h -@@ -311,3 +311,46 @@ _S(438, "pidfd_getfd") - _S(439, "faccessat2") - _S(440, "process_madvise") - _S(441, "epoll_pwait2") +@@ -326,4 +326,46 @@ _S(447, "memfd_secret") + _S(448, "process_mrelease") + _S(449, "futex_waitv") + _S(450, "set_mempolicy_home_node") +- +_S(1024, "open") +_S(1025, "link") +_S(1026, "unlink")
View file
_service
Changed
@@ -2,7 +2,7 @@ <service name="tar_scm"> <param name="scm">git</param> <param name="url">git@gitee.com:src-openeuler/audit.git</param> - <param name="revision">13569e5cb983984e445738c14c56ad72c48054a3</param> + <param name="revision">master</param> <param name="exclude">*</param> <param name="extract">*</param> </service>
View file
_service:tar_scm:audit-3.0.1.tar.gz/ChangeLog -> _service:tar_scm:audit-3.0.9.tar.gz/ChangeLog
Changed
@@ -1,3 +1,72 @@ +3.0.9 +- In auditd, release the async flush lock on stop +- Don't allow auditd to log directly into /var/log when log_group is non-zero +- Cleanup krb5 memory leaks on error paths +- Update auditd.cron to use auditctl --signal +- In auparse, if too many fields, realloc array bigger (Paul Wolneykien) +- In auparse, special case kernel module name interpretation +- If overflow_action is ignore, don't treat as an error + +3.0.8 +- Add gcc function attributes for access and allocation +- Add some more man pages (MIZUTA Takeshi) +- In auditd, change the reinitializing of the plugin queue +- Fix path normalization in auparse (Sergio Correia) +- In libaudit, handle ECONNREFUSED for network uid/gid lookups (Enzo Matsumiya) +- In audisp-remote, fix hang with disk_low_action=suspend (Enzo Matsumiya) +- Drop ProtectHome from auditd.service as it interferes with rules + +3.0.7 +- Add support for the OPENAT2 record type (Richard Guy Briggs) +- In auditd, close the logging file descriptor when logging is suspended +- Update the capabilities lookup table to match 5.16 kernel +- Improve interpretation of renamat & faccessat family of syscalls +- Update syscall table for the 5.16 kernel +- Reduce dependency from initscripts to initscripts-service + +3.0.6 +- Fixed various issues when dealing with corrupted logs +- Make IPX packet interpretation dependent on the ipx header file existing +- Add b32/b64 support to ausyscall (Egor Ignatov) +- Add support for armv8l (Egor Ignatov) +- Fix auditctl list of syscalls in PPC (Egor Ignatov) +- auditd.service now restarts auditd under some conditions (Timothée Ravier) + +3.0.5 +- In auditd, flush uid/gid caches when user/group added/deleted/modified +- Fixed various issues when dealing with corrupted logs +- In auditd, check if log_file is valid before closing handle + +3.0.4 +- Apply performance speedups to auparse library +- Optimize rule loading in auditctl +- Fix an auparse memory leak caused by glibc-2.33 by replacing realpath +- Update syscall table to the 5.14 kernel +- Fixed various issues when dealing with corrupted logs + +3.0.3 +- Dont interpret audit netlink groups unless AUDIT_NLGRP_MAX is defined +- Add support for AUDIT_RESP_ORIGIN_UNBLOCK_TIMED to ids +- Change auparse_feed_has_data in auparse to include incomplete events +- Auditd, stop linking against -lrt +- Add ProtectHome and RestrictRealtime to auditd.service +- In auditd, read up to 3 netlink packets in a row +- In auditd, do not validate path to plugin unless active +- In auparse, only emit config errors when AUPARSE_DEBUG env variable exists + +3.0.2 +- In audispd-statsd plugin, use struct sockaddr_storage (Ville Heikkinen) +- Optionally interpret auid in auditctl -l +- Update some syscall argument interpretations +- In auditd, do not allow spaces in the hostname name format +- Big documentation cleanup (MIZUTA Takeshi) +- Update syscall table to the 5.12 kernel +- Update the auparse normalizer for new event types +- Fix compiler warnings in ids subsystem +- Block a couple signals from flush & reconfigure threads +- In auditd, don't wait on flush thread when exiting +- Output error message if the path of input files are too long ausearch/report + 3.0.1 - Update syscall table to the 5.11 kernel - Add new --eoe-timeout option to ausearch and aureport (Burn Alting) @@ -64,7 +133,7 @@ - Update to libev-4.25 - Fix ausearch when checkpointing a single file (Burn Alting) - Fix scripting in 31-privileged.rules wrt filecap (#1662516) -- In ausearch, do not checkpt if stdin is input source +- In ausearch, do not checkpoint if stdin is input source - In libev, remove __cold__ attribute for functions to allow proper hardening - Add tests to configure.ac for openldap support - Make systemd support files use /run rather than /var/run (Christian Hesse) @@ -72,7 +141,7 @@ - Allow exclude and user filter by executable name (Ondrej Mosnacek) - Fix auditd regression where keep_logs is limited by rotate_logs 2 file test - In ausearch/report fix --end to use midnight time instead of now (#1671338) -- Add substitue functions for strndupa & rawmemchr +- Add substitute functions for strndupa & rawmemchr - Fix memleak in auparse caused by corrected event ordering - Fix legacy reload script to reload audit rules when daemon is reloaded - Support for unescaping in trusted messages (Dmitry Voronin) @@ -100,7 +169,7 @@ - Add error messages for watch permissions - If audit rules file doesn't exist log error message instead of info message - Revise error message for unmatched options in auditctl -- In audisp-remote, fixup remote endpoint disappearin in ascii format +- In audisp-remote, fixup remote endpoint disappearing in ascii format - Add backlog_wait_time_actual reporting / resetting to auditctl (Max Englander) - In auditctl, add support for sending a signal to auditd
View file
_service:tar_scm:audit-3.0.1.tar.gz/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/Makefile.am
Changed
@@ -13,8 +13,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -180,9 +181,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in AUTHORS \ COPYING COPYING.LIB ChangeLog INSTALL NEWS README THANKS TODO \ @@ -225,6 +223,8 @@ DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip +# Exists only to be overridden by the user if desired. +AM_DISTCHECK_DVI_TARGET = dvi distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' @@ -249,6 +249,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -260,8 +262,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -317,6 +321,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -370,6 +375,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -560,7 +566,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am @@ -707,7 +712,7 @@ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
View file
_service:tar_scm:audit-3.0.1.tar.gz/README -> _service:tar_scm:audit-3.0.9.tar.gz/README
Changed
@@ -8,7 +8,7 @@ BUILDING ======== -See the README-install File. +See the Install(.tmp) file. USAGE =====
View file
_service:tar_scm:audit-3.0.1.tar.gz/TODO -> _service:tar_scm:audit-3.0.9.tar.gz/TODO
Changed
@@ -1,20 +1,18 @@ Future roadmap (subject to change): =================================== -3.0.2 -* If searching user/group doesn't map to uid/gid, do translated string search -* audisp-remote, add config to say what home network is so laptops don't try if their not on a network that can reach the server. -* Basic HIDS based on reactive audit component - 3.1 +* Basic HIDS based on reactive audit component * Multi-thread audisp-remote -* Support TLS PSK as remote logging transport -* Support multiple time streams when searching -* In audispd, look into non-blocking handling of write to plugins * Add keywords for time: month-ago, this-hour, last-hour -* Container support +* If searching user/group doesn't map to uid/gid, do translated string search +* In auditd, look into non-blocking handling of write to plugins +* Support multiple time streams when searching -3.1.1 +3.2 +* Container support +* Support TLS PSK as remote logging transport * Add rule verify to detect mismatch between in-kernel and on-disk rules +* audisp-remote, add config to say what home network is so laptops don't try if their not on a network that can reach the server. * Fix audit.pc.in to use Requires.private * Change ausearch to output name="" unless its a real null. (mount) ausearch-report.c, 523. FIXME * Fix SIGHUP for auditd network settings
View file
_service:tar_scm:audit-3.0.1.tar.gz/aclocal.m4 -> _service:tar_scm:audit-3.0.9.tar.gz/aclocal.m4
Changed
@@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16.2 -*- Autoconf -*- +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,13 +14,13 @@ m4_ifndef(AC_CONFIG_MACRO_DIRS, m4_defun(_AM_CONFIG_MACRO_DIRS, )m4_defun(AC_CONFIG_MACRO_DIRS, _AM_CONFIG_MACRO_DIRS($@))) m4_ifndef(AC_AUTOCONF_VERSION, m4_copy(m4_PACKAGE_VERSION, AC_AUTOCONF_VERSION))dnl -m4_if(m4_defn(AC_AUTOCONF_VERSION), 2.69,, -m4_warning(this file was generated for autoconf 2.69. +m4_if(m4_defn(AC_AUTOCONF_VERSION), 2.71,, +m4_warning(this file was generated for autoconf 2.71. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.)) -# Copyright (C) 2002-2020 Free Software Foundation, Inc. +# Copyright (C) 2002-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -35,7 +35,7 @@ am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if($1, 1.16.2, , +m4_if($1, 1.16.5, , AC_FATAL(Do not call $0, use AM_INIT_AUTOMAKE($1).))dnl ) @@ -51,14 +51,14 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN(AM_SET_CURRENT_AUTOMAKE_VERSION, -AM_AUTOMAKE_VERSION(1.16.2)dnl +AM_AUTOMAKE_VERSION(1.16.5)dnl m4_ifndef(AC_AUTOCONF_VERSION, m4_copy(m4_PACKAGE_VERSION, AC_AUTOCONF_VERSION))dnl _AM_AUTOCONF_VERSION(m4_defn(AC_AUTOCONF_VERSION))) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -110,7 +110,7 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -141,7 +141,7 @@ Usually this means the macro was only invoked conditionally.) fi)) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -332,7 +332,7 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -400,7 +400,7 @@ # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -428,6 +428,10 @@ # release and drop the old call support. AC_DEFUN(AM_INIT_AUTOMAKE, AC_PREREQ(2.65)dnl +m4_ifdef(_$0_ALREADY_INIT, + m4_fatal($0 expanded multiple times +m4_defn(_$0_ALREADY_INIT)), + m4_define(_$0_ALREADY_INIT, m4_expansion_stack))dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow(^AM_A-Z+FLAGS$)dnl @@ -464,7 +468,7 @@ _AM_SET_OPTIONS($1)dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( - m4_ifdef(AC_PACKAGE_NAME, ok):m4_ifdef(AC_PACKAGE_VERSION, ok), + m4_ifset(AC_PACKAGE_NAME, ok):m4_ifset(AC_PACKAGE_VERSION, ok), ok:ok,, m4_fatal(AC_INIT should be called with package and version arguments))dnl AC_SUBST(PACKAGE, 'AC_PACKAGE_TARNAME')dnl @@ -516,6 +520,20 @@ m4_define(AC_PROG_OBJCXX, m4_defn(AC_PROG_OBJCXX)_AM_DEPENDENCIES(OBJCXX)))dnl ) +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi +AC_SUBST(CTAGS) +if test -z "$ETAGS"; then + ETAGS=etags +fi +AC_SUBST(ETAGS) +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi +AC_SUBST(CSCOPE) + AC_REQUIRE(AM_SILENT_RULES)dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This @@ -597,7 +615,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME("$_am_arg")`/stamp-h$_am_stamp_count) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -618,7 +636,7 @@ fi AC_SUBST(install_sh)) -# Copyright (C) 2003-2020 Free Software Foundation, Inc. +# Copyright (C) 2003-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -639,7 +657,7 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -682,7 +700,7 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2020 Free Software Foundation, Inc. +# Copyright (C) 1997-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -703,12 +721,7 @@ AC_REQUIRE(AM_AUX_DIR_EXPAND)dnl AC_REQUIRE_AUX_FILE(missing)dnl if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then @@ -723,7 +736,7 @@ # Obsolete and "removed" macros, that must however still report explicit # error messages when used, to smooth transition. # -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -750,7 +763,7 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -779,7 +792,7 @@ AC_DEFUN(_AM_IF_OPTION, m4_ifset(_AM_MANGLE_OPTION($1), $2, $3)) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -826,7 +839,7 @@ # For backward compatibility. AC_DEFUN_ONCE(AM_PROG_CC_C_O, AC_REQUIRE(AC_PROG_CC)) -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -905,34 +918,141 @@ ) if test "$PYTHON" = :; then - dnl Run any user-specified action, or abort. + dnl Run any user-specified action, or abort. m4_default($3, AC_MSG_ERROR(no suitable Python interpreter found)) else - dnl Query Python for its version number. Getting :3 seems to be - dnl the best way to do this; it's what "site.py" does in the standard - dnl library. - + dnl Query Python for its version number. Although site.py simply uses + dnl sys.version:3, printing that failed with Python 3.10, since the + dnl trailing zero was eliminated. So now we output just the major + dnl and minor version numbers, as numbers. Apparently the tertiary + dnl version is not of interest. + dnl AC_CACHE_CHECK(for $am_display_PYTHON version, am_cv_python_version, - am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version:3)"`) + am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info:2)"`) AC_SUBST(PYTHON_VERSION, $am_cv_python_version) - dnl Use the values of $prefix and $exec_prefix for the corresponding - dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made - dnl distinct variables so they can be overridden if need be. However, - dnl general consensus is that you shouldn't need this ability. - - AC_SUBST(PYTHON_PREFIX, '${prefix}') - AC_SUBST(PYTHON_EXEC_PREFIX, '${exec_prefix}') - - dnl At times (like when building shared libraries) you may want + dnl At times, e.g., when building shared libraries, you may want dnl to know which OS platform Python thinks this is. - + dnl AC_CACHE_CHECK(for $am_display_PYTHON platform, am_cv_python_platform, am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`) AC_SUBST(PYTHON_PLATFORM, $am_cv_python_platform) - # Just factor out some code duplication. + dnl emacs-page + dnl If --with-python-sys-prefix is given, use the values of sys.prefix + dnl and sys.exec_prefix for the corresponding values of PYTHON_PREFIX + dnl and PYTHON_EXEC_PREFIX. Otherwise, use the GNU ${prefix} and + dnl ${exec_prefix} variables. + dnl + dnl The two are made distinct variables so they can be overridden if + dnl need be, although general consensus is that you shouldn't need + dnl this separation. + dnl + dnl Also allow directly setting the prefixes via configure options, + dnl overriding any default. + dnl + if test "x$prefix" = xNONE; then + am__usable_prefix=$ac_default_prefix + else + am__usable_prefix=$prefix + fi + + # Allow user to request using sys.* values from Python, + # instead of the GNU $prefix values. + AC_ARG_WITH(python-sys-prefix, + AS_HELP_STRING(--with-python-sys-prefix, + use Python's sys.prefix and sys.exec_prefix values), + am_use_python_sys=:, + am_use_python_sys=false) + + # Allow user to override whatever the default Python prefix is. + AC_ARG_WITH(python_prefix, + AS_HELP_STRING(--with-python_prefix, + override the default PYTHON_PREFIX), + am_python_prefix_subst=$withval + am_cv_python_prefix=$withval + AC_MSG_CHECKING(for explicit $am_display_PYTHON prefix) + AC_MSG_RESULT($am_cv_python_prefix), + + if $am_use_python_sys; then + # using python sys.prefix value, not GNU + AC_CACHE_CHECK(for python default $am_display_PYTHON prefix, + am_cv_python_prefix, + am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"`) + + dnl If sys.prefix is a subdir of $prefix, replace the literal value of + dnl $prefix with a variable reference so it can be overridden. + case $am_cv_python_prefix in + $am__usable_prefix*) + am__strip_prefix=`echo "$am__usable_prefix" | sed 's|.|.|g'` + am_python_prefix_subst=`echo "$am_cv_python_prefix" | sed "s,^$am__strip_prefix,\\${prefix},"` + ;; + *) + am_python_prefix_subst=$am_cv_python_prefix + ;; + esac + else # using GNU prefix value, not python sys.prefix + am_python_prefix_subst='${prefix}' + am_python_prefix=$am_python_prefix_subst + AC_MSG_CHECKING(for GNU default $am_display_PYTHON prefix) + AC_MSG_RESULT($am_python_prefix) + fi) + # Substituting python_prefix_subst value. + AC_SUBST(PYTHON_PREFIX, $am_python_prefix_subst) + + # emacs-page Now do it all over again for Python exec_prefix, but with yet + # another conditional: fall back to regular prefix if that was specified. + AC_ARG_WITH(python_exec_prefix, + AS_HELP_STRING(--with-python_exec_prefix, + override the default PYTHON_EXEC_PREFIX), + am_python_exec_prefix_subst=$withval + am_cv_python_exec_prefix=$withval + AC_MSG_CHECKING(for explicit $am_display_PYTHON exec_prefix) + AC_MSG_RESULT($am_cv_python_exec_prefix), + + # no explicit --with-python_exec_prefix, but if + # --with-python_prefix was given, use its value for python_exec_prefix too. + AS_IF(test -n "$with_python_prefix", + am_python_exec_prefix_subst=$with_python_prefix + am_cv_python_exec_prefix=$with_python_prefix + AC_MSG_CHECKING(for python_prefix-given $am_display_PYTHON exec_prefix) + AC_MSG_RESULT($am_cv_python_exec_prefix), + + # Set am__usable_exec_prefix whether using GNU or Python values, + # since we use that variable for pyexecdir. + if test "x$exec_prefix" = xNONE; then + am__usable_exec_prefix=$am__usable_prefix + else + am__usable_exec_prefix=$exec_prefix + fi + # + if $am_use_python_sys; then # using python sys.exec_prefix, not GNU + AC_CACHE_CHECK(for python default $am_display_PYTHON exec_prefix, + am_cv_python_exec_prefix, + am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"`) + dnl If sys.exec_prefix is a subdir of $exec_prefix, replace the + dnl literal value of $exec_prefix with a variable reference so it can + dnl be overridden. + case $am_cv_python_exec_prefix in + $am__usable_exec_prefix*) + am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'` + am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"` + ;; + *) + am_python_exec_prefix_subst=$am_cv_python_exec_prefix + ;; + esac + else # using GNU $exec_prefix, not python sys.exec_prefix + am_python_exec_prefix_subst='${exec_prefix}' + am_python_exec_prefix=$am_python_exec_prefix_subst + AC_MSG_CHECKING(for GNU default $am_display_PYTHON exec_prefix) + AC_MSG_RESULT($am_python_exec_prefix) + fi)) + # Substituting python_exec_prefix_subst. + AC_SUBST(PYTHON_EXEC_PREFIX, $am_python_exec_prefix_subst) + + # Factor out some code duplication into this shell variable. am_python_setup_sysconfig="\ import sys # Prefer sysconfig over distutils.sysconfig, for better compatibility @@ -952,96 +1072,95 @@ except ImportError: pass" - dnl Set up 4 directories: + dnl emacs-page Set up 4 directories: - dnl pythondir -- where to install python scripts. This is the - dnl site-packages directory, not the python standard library - dnl directory like in previous automake betas. This behavior - dnl is more consistent with lispdir.m4 for example. + dnl 1. pythondir: where to install python scripts. This is the + dnl site-packages directory, not the python standard library + dnl directory like in previous automake betas. This behavior + dnl is more consistent with lispdir.m4 for example. dnl Query distutils for this directory. - AC_CACHE_CHECK(for $am_display_PYTHON script directory, - am_cv_python_pythondir, - if test "x$prefix" = xNONE - then - am_py_prefix=$ac_default_prefix - else - am_py_prefix=$prefix - fi - am_cv_python_pythondir=`$PYTHON -c " + dnl + AC_CACHE_CHECK(for $am_display_PYTHON script directory (pythondir), + am_cv_python_pythondir, + if test "x$am_cv_python_prefix" = x; then + am_py_prefix=$am__usable_prefix + else + am_py_prefix=$am_cv_python_prefix + fi + am_cv_python_pythondir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: - sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) + sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') sys.stdout.write(sitedir)"` - case $am_cv_python_pythondir in - $am_py_prefix*) - am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` - am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` - ;; - *) - case $am_py_prefix in - /usr|/System*) ;; - *) - am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages - ;; - esac - ;; + # + case $am_cv_python_pythondir in + $am_py_prefix*) + am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` + am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"` + ;; + *) + case $am_py_prefix in + /usr|/System*) ;; + *) am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages" + ;; esac - ) + ;; + esac + ) AC_SUBST(pythondir, $am_cv_python_pythondir) - dnl pkgpythondir -- $PACKAGE directory under pythondir. Was - dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is - dnl more consistent with the rest of automake. - + dnl 2. pkgpythondir: $PACKAGE directory under pythondir. Was + dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is + dnl more consistent with the rest of automake. + dnl AC_SUBST(pkgpythondir, \${pythondir}/$PACKAGE) - dnl pyexecdir -- directory for installing python extension modules - dnl (shared libraries) + dnl 3. pyexecdir: directory for installing python extension modules + dnl (shared libraries). dnl Query distutils for this directory. - AC_CACHE_CHECK(for $am_display_PYTHON extension module directory, - am_cv_python_pyexecdir, - if test "x$exec_prefix" = xNONE - then - am_py_exec_prefix=$am_py_prefix - else - am_py_exec_prefix=$exec_prefix - fi - am_cv_python_pyexecdir=`$PYTHON -c " + dnl + AC_CACHE_CHECK(for $am_display_PYTHON extension module directory (pyexecdir), + am_cv_python_pyexecdir, + if test "x$am_cv_python_exec_prefix" = x; then + am_py_exec_prefix=$am__usable_exec_prefix + else + am_py_exec_prefix=$am_cv_python_exec_prefix + fi + am_cv_python_pyexecdir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: - sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'}) + sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'}) else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix') + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix') sys.stdout.write(sitedir)"` - case $am_cv_python_pyexecdir in - $am_py_exec_prefix*) - am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` - am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` - ;; - *) - case $am_py_exec_prefix in - /usr|/System*) ;; - *) - am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages - ;; - esac - ;; + # + case $am_cv_python_pyexecdir in + $am_py_exec_prefix*) + am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` + am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"` + ;; + *) + case $am_py_exec_prefix in + /usr|/System*) ;; + *) am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages" + ;; esac - ) + ;; + esac + ) AC_SUBST(pyexecdir, $am_cv_python_pyexecdir) - dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) - + dnl 4. pkgpyexecdir: $(pyexecdir)/$(PACKAGE) + dnl AC_SUBST(pkgpyexecdir, \${pyexecdir}/$PACKAGE) dnl Run any user-specified action. $2 fi - ) @@ -1064,7 +1183,7 @@ sys.exit(sys.hexversion < minverhex)" AS_IF(AM_RUN_LOG($1 -c "$prog"), $3, $4)) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1083,7 +1202,7 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1164,7 +1283,7 @@ rm -f conftest.file ) -# Copyright (C) 2009-2020 Free Software Foundation, Inc. +# Copyright (C) 2009-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1224,7 +1343,7 @@ _AM_SUBST_NOTMAKE(AM_BACKSLASH)dnl ) -# Copyright (C) 2001-2020 Free Software Foundation, Inc. +# Copyright (C) 2001-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1252,7 +1371,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST(INSTALL_STRIP_PROGRAM)) -# Copyright (C) 2006-2020 Free Software Foundation, Inc. +# Copyright (C) 2006-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1271,7 +1390,7 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2020 Free Software Foundation, Inc. +# Copyright (C) 2004-2021 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it,
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/Makefile.am
Changed
@@ -13,8 +13,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -23,13 +24,13 @@ SUBDIRS = plugins CONFIG_CLEAN_FILES = *.rej *.orig AM_CPPFLAGS = -D_GNU_SOURCE -fPIC -DPIC -I${top_srcdir} -I${top_srcdir}/lib -I${top_srcdir}/src -I${top_srcdir}/src/libev -LIBS = -L${top_builddir}/lib -laudit +LIBS = ${top_builddir}/lib/libaudit.la LDADD = -lpthread noinst_HEADERS = audispd-pconfig.h audispd-llist.h audispd-config.h \ queue.h audispd-builtins.h libdisp.h -libdisp_a_SOURCES = audispd.c audispd-pconfig.c queue.c \ +libdisp_la_SOURCES = audispd.c audispd-pconfig.c queue.c \ audispd-llist.c audispd-builtins.c -libdisp_a_CFLAGS = -fno-strict-aliasing -noinst_LIBRARIES = libdisp.a - +libdisp_la_CFLAGS = -fno-strict-aliasing ${WFLAGS} +libdisp_la_LDFLAGS = -no-undefined -static +noinst_LTLIBRARIES = libdisp.la
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -126,19 +127,19 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru -AM_V_AR = $(am__v_AR_@AM_V@) -am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) -am__v_AR_0 = @echo " AR " $@; -am__v_AR_1 = -libdisp_a_AR = $(AR) $(ARFLAGS) -libdisp_a_LIBADD = -am_libdisp_a_OBJECTS = libdisp_a-audispd.$(OBJEXT) \ - libdisp_a-audispd-pconfig.$(OBJEXT) libdisp_a-queue.$(OBJEXT) \ - libdisp_a-audispd-llist.$(OBJEXT) \ - libdisp_a-audispd-builtins.$(OBJEXT) -libdisp_a_OBJECTS = $(am_libdisp_a_OBJECTS) +LTLIBRARIES = $(noinst_LTLIBRARIES) +libdisp_la_LIBADD = +am_libdisp_la_OBJECTS = libdisp_la-audispd.lo \ + libdisp_la-audispd-pconfig.lo libdisp_la-queue.lo \ + libdisp_la-audispd-llist.lo libdisp_la-audispd-builtins.lo +libdisp_la_OBJECTS = $(am_libdisp_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libdisp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libdisp_la_CFLAGS) \ + $(CFLAGS) $(libdisp_la_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -154,16 +155,12 @@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/libdisp_a-audispd-builtins.Po \ - ./$(DEPDIR)/libdisp_a-audispd-llist.Po \ - ./$(DEPDIR)/libdisp_a-audispd-pconfig.Po \ - ./$(DEPDIR)/libdisp_a-audispd.Po \ - ./$(DEPDIR)/libdisp_a-queue.Po +am__depfiles_remade = ./$(DEPDIR)/libdisp_la-audispd-builtins.Plo \ + ./$(DEPDIR)/libdisp_la-audispd-llist.Plo \ + ./$(DEPDIR)/libdisp_la-audispd-pconfig.Plo \ + ./$(DEPDIR)/libdisp_la-audispd.Plo \ + ./$(DEPDIR)/libdisp_la-queue.Plo am__mv = mv -f -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ @@ -182,8 +179,8 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -SOURCES = $(libdisp_a_SOURCES) -DIST_SOURCES = $(libdisp_a_SOURCES) +SOURCES = $(libdisp_la_SOURCES) +DIST_SOURCES = $(libdisp_la_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ @@ -223,8 +220,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -273,6 +268,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -284,8 +281,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -298,7 +297,7 @@ LDFLAGS = @LDFLAGS@ LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ LIBOBJS = @LIBOBJS@ -LIBS = -L${top_builddir}/lib -laudit +LIBS = ${top_builddir}/lib/libaudit.la LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ LIBWRAP_LIBS = @LIBWRAP_LIBS@ @@ -341,6 +340,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -394,6 +394,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -414,11 +415,12 @@ noinst_HEADERS = audispd-pconfig.h audispd-llist.h audispd-config.h \ queue.h audispd-builtins.h libdisp.h -libdisp_a_SOURCES = audispd.c audispd-pconfig.c queue.c \ +libdisp_la_SOURCES = audispd.c audispd-pconfig.c queue.c \ audispd-llist.c audispd-builtins.c -libdisp_a_CFLAGS = -fno-strict-aliasing -noinst_LIBRARIES = libdisp.a +libdisp_la_CFLAGS = -fno-strict-aliasing ${WFLAGS} +libdisp_la_LDFLAGS = -no-undefined -static +noinst_LTLIBRARIES = libdisp.la all: all-recursive .SUFFIXES: @@ -453,13 +455,19 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^^/*$$|.|; s|/^/*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } -libdisp.a: $(libdisp_a_OBJECTS) $(libdisp_a_DEPENDENCIES) $(EXTRA_libdisp_a_DEPENDENCIES) - $(AM_V_at)-rm -f libdisp.a - $(AM_V_AR)$(libdisp_a_AR) libdisp.a $(libdisp_a_OBJECTS) $(libdisp_a_LIBADD) - $(AM_V_at)$(RANLIB) libdisp.a +libdisp.la: $(libdisp_la_OBJECTS) $(libdisp_la_DEPENDENCIES) $(EXTRA_libdisp_la_DEPENDENCIES) + $(AM_V_CCLD)$(libdisp_la_LINK) $(libdisp_la_OBJECTS) $(libdisp_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -467,11 +475,11 @@ distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdisp_a-audispd-builtins.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdisp_a-audispd-llist.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdisp_a-audispd-pconfig.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdisp_a-audispd.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdisp_a-queue.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdisp_la-audispd-builtins.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdisp_la-audispd-llist.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdisp_la-audispd-pconfig.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdisp_la-audispd.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdisp_la-queue.Plo@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @@ -500,75 +508,40 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< -libdisp_a-audispd.o: audispd.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -MT libdisp_a-audispd.o -MD -MP -MF $(DEPDIR)/libdisp_a-audispd.Tpo -c -o libdisp_a-audispd.o `test -f 'audispd.c' || echo '$(srcdir)/'`audispd.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_a-audispd.Tpo $(DEPDIR)/libdisp_a-audispd.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='audispd.c' object='libdisp_a-audispd.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -c -o libdisp_a-audispd.o `test -f 'audispd.c' || echo '$(srcdir)/'`audispd.c - -libdisp_a-audispd.obj: audispd.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -MT libdisp_a-audispd.obj -MD -MP -MF $(DEPDIR)/libdisp_a-audispd.Tpo -c -o libdisp_a-audispd.obj `if test -f 'audispd.c'; then $(CYGPATH_W) 'audispd.c'; else $(CYGPATH_W) '$(srcdir)/audispd.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_a-audispd.Tpo $(DEPDIR)/libdisp_a-audispd.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='audispd.c' object='libdisp_a-audispd.obj' libtool=no @AMDEPBACKSLASH@ +libdisp_la-audispd.lo: audispd.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_la_CFLAGS) $(CFLAGS) -MT libdisp_la-audispd.lo -MD -MP -MF $(DEPDIR)/libdisp_la-audispd.Tpo -c -o libdisp_la-audispd.lo `test -f 'audispd.c' || echo '$(srcdir)/'`audispd.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_la-audispd.Tpo $(DEPDIR)/libdisp_la-audispd.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='audispd.c' object='libdisp_la-audispd.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -c -o libdisp_a-audispd.obj `if test -f 'audispd.c'; then $(CYGPATH_W) 'audispd.c'; else $(CYGPATH_W) '$(srcdir)/audispd.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_la_CFLAGS) $(CFLAGS) -c -o libdisp_la-audispd.lo `test -f 'audispd.c' || echo '$(srcdir)/'`audispd.c -libdisp_a-audispd-pconfig.o: audispd-pconfig.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -MT libdisp_a-audispd-pconfig.o -MD -MP -MF $(DEPDIR)/libdisp_a-audispd-pconfig.Tpo -c -o libdisp_a-audispd-pconfig.o `test -f 'audispd-pconfig.c' || echo '$(srcdir)/'`audispd-pconfig.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_a-audispd-pconfig.Tpo $(DEPDIR)/libdisp_a-audispd-pconfig.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='audispd-pconfig.c' object='libdisp_a-audispd-pconfig.o' libtool=no @AMDEPBACKSLASH@ +libdisp_la-audispd-pconfig.lo: audispd-pconfig.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_la_CFLAGS) $(CFLAGS) -MT libdisp_la-audispd-pconfig.lo -MD -MP -MF $(DEPDIR)/libdisp_la-audispd-pconfig.Tpo -c -o libdisp_la-audispd-pconfig.lo `test -f 'audispd-pconfig.c' || echo '$(srcdir)/'`audispd-pconfig.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_la-audispd-pconfig.Tpo $(DEPDIR)/libdisp_la-audispd-pconfig.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='audispd-pconfig.c' object='libdisp_la-audispd-pconfig.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -c -o libdisp_a-audispd-pconfig.o `test -f 'audispd-pconfig.c' || echo '$(srcdir)/'`audispd-pconfig.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_la_CFLAGS) $(CFLAGS) -c -o libdisp_la-audispd-pconfig.lo `test -f 'audispd-pconfig.c' || echo '$(srcdir)/'`audispd-pconfig.c -libdisp_a-audispd-pconfig.obj: audispd-pconfig.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -MT libdisp_a-audispd-pconfig.obj -MD -MP -MF $(DEPDIR)/libdisp_a-audispd-pconfig.Tpo -c -o libdisp_a-audispd-pconfig.obj `if test -f 'audispd-pconfig.c'; then $(CYGPATH_W) 'audispd-pconfig.c'; else $(CYGPATH_W) '$(srcdir)/audispd-pconfig.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_a-audispd-pconfig.Tpo $(DEPDIR)/libdisp_a-audispd-pconfig.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='audispd-pconfig.c' object='libdisp_a-audispd-pconfig.obj' libtool=no @AMDEPBACKSLASH@ +libdisp_la-queue.lo: queue.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_la_CFLAGS) $(CFLAGS) -MT libdisp_la-queue.lo -MD -MP -MF $(DEPDIR)/libdisp_la-queue.Tpo -c -o libdisp_la-queue.lo `test -f 'queue.c' || echo '$(srcdir)/'`queue.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_la-queue.Tpo $(DEPDIR)/libdisp_la-queue.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='queue.c' object='libdisp_la-queue.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -c -o libdisp_a-audispd-pconfig.obj `if test -f 'audispd-pconfig.c'; then $(CYGPATH_W) 'audispd-pconfig.c'; else $(CYGPATH_W) '$(srcdir)/audispd-pconfig.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_la_CFLAGS) $(CFLAGS) -c -o libdisp_la-queue.lo `test -f 'queue.c' || echo '$(srcdir)/'`queue.c -libdisp_a-queue.o: queue.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -MT libdisp_a-queue.o -MD -MP -MF $(DEPDIR)/libdisp_a-queue.Tpo -c -o libdisp_a-queue.o `test -f 'queue.c' || echo '$(srcdir)/'`queue.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_a-queue.Tpo $(DEPDIR)/libdisp_a-queue.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='queue.c' object='libdisp_a-queue.o' libtool=no @AMDEPBACKSLASH@ +libdisp_la-audispd-llist.lo: audispd-llist.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_la_CFLAGS) $(CFLAGS) -MT libdisp_la-audispd-llist.lo -MD -MP -MF $(DEPDIR)/libdisp_la-audispd-llist.Tpo -c -o libdisp_la-audispd-llist.lo `test -f 'audispd-llist.c' || echo '$(srcdir)/'`audispd-llist.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_la-audispd-llist.Tpo $(DEPDIR)/libdisp_la-audispd-llist.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='audispd-llist.c' object='libdisp_la-audispd-llist.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -c -o libdisp_a-queue.o `test -f 'queue.c' || echo '$(srcdir)/'`queue.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_la_CFLAGS) $(CFLAGS) -c -o libdisp_la-audispd-llist.lo `test -f 'audispd-llist.c' || echo '$(srcdir)/'`audispd-llist.c -libdisp_a-queue.obj: queue.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -MT libdisp_a-queue.obj -MD -MP -MF $(DEPDIR)/libdisp_a-queue.Tpo -c -o libdisp_a-queue.obj `if test -f 'queue.c'; then $(CYGPATH_W) 'queue.c'; else $(CYGPATH_W) '$(srcdir)/queue.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_a-queue.Tpo $(DEPDIR)/libdisp_a-queue.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='queue.c' object='libdisp_a-queue.obj' libtool=no @AMDEPBACKSLASH@ +libdisp_la-audispd-builtins.lo: audispd-builtins.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_la_CFLAGS) $(CFLAGS) -MT libdisp_la-audispd-builtins.lo -MD -MP -MF $(DEPDIR)/libdisp_la-audispd-builtins.Tpo -c -o libdisp_la-audispd-builtins.lo `test -f 'audispd-builtins.c' || echo '$(srcdir)/'`audispd-builtins.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_la-audispd-builtins.Tpo $(DEPDIR)/libdisp_la-audispd-builtins.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='audispd-builtins.c' object='libdisp_la-audispd-builtins.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -c -o libdisp_a-queue.obj `if test -f 'queue.c'; then $(CYGPATH_W) 'queue.c'; else $(CYGPATH_W) '$(srcdir)/queue.c'; fi` - -libdisp_a-audispd-llist.o: audispd-llist.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -MT libdisp_a-audispd-llist.o -MD -MP -MF $(DEPDIR)/libdisp_a-audispd-llist.Tpo -c -o libdisp_a-audispd-llist.o `test -f 'audispd-llist.c' || echo '$(srcdir)/'`audispd-llist.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_a-audispd-llist.Tpo $(DEPDIR)/libdisp_a-audispd-llist.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='audispd-llist.c' object='libdisp_a-audispd-llist.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -c -o libdisp_a-audispd-llist.o `test -f 'audispd-llist.c' || echo '$(srcdir)/'`audispd-llist.c - -libdisp_a-audispd-llist.obj: audispd-llist.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -MT libdisp_a-audispd-llist.obj -MD -MP -MF $(DEPDIR)/libdisp_a-audispd-llist.Tpo -c -o libdisp_a-audispd-llist.obj `if test -f 'audispd-llist.c'; then $(CYGPATH_W) 'audispd-llist.c'; else $(CYGPATH_W) '$(srcdir)/audispd-llist.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_a-audispd-llist.Tpo $(DEPDIR)/libdisp_a-audispd-llist.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='audispd-llist.c' object='libdisp_a-audispd-llist.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -c -o libdisp_a-audispd-llist.obj `if test -f 'audispd-llist.c'; then $(CYGPATH_W) 'audispd-llist.c'; else $(CYGPATH_W) '$(srcdir)/audispd-llist.c'; fi` - -libdisp_a-audispd-builtins.o: audispd-builtins.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -MT libdisp_a-audispd-builtins.o -MD -MP -MF $(DEPDIR)/libdisp_a-audispd-builtins.Tpo -c -o libdisp_a-audispd-builtins.o `test -f 'audispd-builtins.c' || echo '$(srcdir)/'`audispd-builtins.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_a-audispd-builtins.Tpo $(DEPDIR)/libdisp_a-audispd-builtins.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='audispd-builtins.c' object='libdisp_a-audispd-builtins.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -c -o libdisp_a-audispd-builtins.o `test -f 'audispd-builtins.c' || echo '$(srcdir)/'`audispd-builtins.c - -libdisp_a-audispd-builtins.obj: audispd-builtins.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -MT libdisp_a-audispd-builtins.obj -MD -MP -MF $(DEPDIR)/libdisp_a-audispd-builtins.Tpo -c -o libdisp_a-audispd-builtins.obj `if test -f 'audispd-builtins.c'; then $(CYGPATH_W) 'audispd-builtins.c'; else $(CYGPATH_W) '$(srcdir)/audispd-builtins.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdisp_a-audispd-builtins.Tpo $(DEPDIR)/libdisp_a-audispd-builtins.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='audispd-builtins.c' object='libdisp_a-audispd-builtins.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_a_CFLAGS) $(CFLAGS) -c -o libdisp_a-audispd-builtins.obj `if test -f 'audispd-builtins.c'; then $(CYGPATH_W) 'audispd-builtins.c'; else $(CYGPATH_W) '$(srcdir)/audispd-builtins.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libdisp_la_CFLAGS) $(CFLAGS) -c -o libdisp_la-audispd-builtins.lo `test -f 'audispd-builtins.c' || echo '$(srcdir)/'`audispd-builtins.c mostlyclean-libtool: -rm -f *.lo @@ -674,7 +647,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am @@ -735,7 +707,7 @@ done check-am: all-am check: check-recursive -all-am: Makefile $(LIBRARIES) $(HEADERS) +all-am: Makefile $(LTLIBRARIES) $(HEADERS) installdirs: installdirs-recursive installdirs-am: install: install-recursive @@ -770,15 +742,15 @@ @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive -clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-recursive - -rm -f ./$(DEPDIR)/libdisp_a-audispd-builtins.Po - -rm -f ./$(DEPDIR)/libdisp_a-audispd-llist.Po - -rm -f ./$(DEPDIR)/libdisp_a-audispd-pconfig.Po - -rm -f ./$(DEPDIR)/libdisp_a-audispd.Po - -rm -f ./$(DEPDIR)/libdisp_a-queue.Po + -rm -f ./$(DEPDIR)/libdisp_la-audispd-builtins.Plo + -rm -f ./$(DEPDIR)/libdisp_la-audispd-llist.Plo + -rm -f ./$(DEPDIR)/libdisp_la-audispd-pconfig.Plo + -rm -f ./$(DEPDIR)/libdisp_la-audispd.Plo + -rm -f ./$(DEPDIR)/libdisp_la-queue.Plo -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -824,11 +796,11 @@ installcheck-am: maintainer-clean: maintainer-clean-recursive - -rm -f ./$(DEPDIR)/libdisp_a-audispd-builtins.Po - -rm -f ./$(DEPDIR)/libdisp_a-audispd-llist.Po - -rm -f ./$(DEPDIR)/libdisp_a-audispd-pconfig.Po - -rm -f ./$(DEPDIR)/libdisp_a-audispd.Po - -rm -f ./$(DEPDIR)/libdisp_a-queue.Po + -rm -f ./$(DEPDIR)/libdisp_la-audispd-builtins.Plo + -rm -f ./$(DEPDIR)/libdisp_la-audispd-llist.Plo + -rm -f ./$(DEPDIR)/libdisp_la-audispd-pconfig.Plo + -rm -f ./$(DEPDIR)/libdisp_la-audispd.Plo + -rm -f ./$(DEPDIR)/libdisp_la-queue.Plo -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -851,7 +823,7 @@ .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--depfiles check check-am clean clean-generic clean-libtool \ - clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ + clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/audispd-builtins.h -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/audispd-builtins.h
Changed
@@ -1,7 +1,7 @@ /* * audispd-builtins.h - Interface to builtin plugins -* Copyright (c) 2007,2013,2018 Red Hat Inc., Durham, North Carolina. -* All Rights Reserved. +* Copyright (c) 2007,2013,2018,2022 Red Hat Inc. +* All Rights Reserved. * * This software may be freely redistributed and/or modified under the * terms of the GNU General Public License as published by the Free @@ -26,10 +26,14 @@ #define AUDISPD_BUILTINS_HEADER #include "queue.h" +#ifndef __attr_access +# define __attr_access(x) +#endif void start_builtin(plugin_conf_t *conf); void stop_builtin(plugin_conf_t *conf); -void send_af_unix_string(const char *s, unsigned int len); +void send_af_unix_string(const char *s, unsigned int len) + __attr_access ((__read_only__, 1, 2)); void send_af_unix_binary(event_t *e); void destroy_af_unix(void);
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/audispd-pconfig.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/audispd-pconfig.c
Changed
@@ -1,5 +1,5 @@ -/* audispd-pconfig.c -- - * Copyright 2007,2010,2015 Red Hat Inc., Durham, North Carolina. +/* audispd-pconfig.c -- + * Copyright 2007,2010,2015,2021 Red Hat Inc. * All Rights Reserved. * * This program is free software; you can redistribute it and/or modify @@ -18,7 +18,7 @@ * * Authors: * Steve Grubb <sgrubb@redhat.com> - * + * */ #include "config.h" @@ -41,7 +41,7 @@ const char *option; }; -struct kw_pair +struct kw_pair { const char *name; int (*parser)(struct nv_pair *, int, plugin_conf_t *); @@ -49,7 +49,7 @@ }; struct nv_list -{ +{ const char *name; int option; }; @@ -162,25 +162,25 @@ * not symlink. */ if (fstat(fd, &st) < 0) { - audit_msg(LOG_ERR, "Error fstat'ing config file (%s)", + audit_msg(LOG_ERR, "Error fstat'ing config file (%s)", strerror(errno)); close(fd); return 1; } if (st.st_uid != 0) { - audit_msg(LOG_ERR, "Error - %s isn't owned by root", + audit_msg(LOG_ERR, "Error - %s isn't owned by root", file); close(fd); return 1; } if ((st.st_mode & S_IWOTH) == S_IWOTH) { - audit_msg(LOG_ERR, "Error - %s is world writable", + audit_msg(LOG_ERR, "Error - %s is world writable", file); close(fd); return 1; } if (!S_ISREG(st.st_mode)) { - audit_msg(LOG_ERR, "Error - %s is not a regular file", + audit_msg(LOG_ERR, "Error - %s is not a regular file", file); close(fd); return 1; @@ -189,7 +189,7 @@ /* it's ok, read line by line */ f = fdopen(fd, "rm"); if (f == NULL) { - audit_msg(LOG_ERR, "Error - fdopen failed (%s)", + audit_msg(LOG_ERR, "Error - fdopen failed (%s)", strerror(errno)); close(fd); return 1; @@ -204,18 +204,18 @@ case 0: // fine break; case 1: // not the right number of tokens. - audit_msg(LOG_ERR, - "Wrong number of arguments for line %d in %s", + audit_msg(LOG_ERR, + "Wrong number of arguments for line %d in %s", lineno, file); break; case 2: // no '=' sign - audit_msg(LOG_ERR, - "Missing equal sign for line %d in %s", + audit_msg(LOG_ERR, + "Missing equal sign for line %d in %s", lineno, file); break; - default: // something else went wrong... - audit_msg(LOG_ERR, - "Unknown error for line %d in %s", + default: // something else went wrong... + audit_msg(LOG_ERR, + "Unknown error for line %d in %s", lineno, file); break; } @@ -231,8 +231,8 @@ /* identify keyword or error */ kw = kw_lookup(nv.name); if (kw->name == NULL) { - audit_msg(LOG_ERR, - "Unknown keyword \"%s\" in line %d of %s", + audit_msg(LOG_ERR, + "Unknown keyword \"%s\" in line %d of %s", nv.name, lineno, file); fclose(f); return 1; @@ -240,9 +240,9 @@ /* Check number of options */ if (kw->max_options == 0 && nv.option != NULL) { - audit_msg(LOG_ERR, + audit_msg(LOG_ERR, "Keyword \"%s\" has invalid option " - "\"%s\" in line %d of %s", + "\"%s\" in line %d of %s", nv.name, nv.option, lineno, file); fclose(f); return 1; @@ -347,8 +347,8 @@ } return &keywordsi; } - -static int active_parser(struct nv_pair *nv, int line, + +static int active_parser(struct nv_pair *nv, int line, plugin_conf_t *config) { int i; @@ -363,7 +363,7 @@ return 1; } -static int direction_parser(struct nv_pair *nv, int line, +static int direction_parser(struct nv_pair *nv, int line, plugin_conf_t *config) { int i; @@ -382,7 +382,6 @@ plugin_conf_t *config) { char *dir = NULL, *tdir; - struct stat buf; if (nv->value == NULL) { config->path = NULL; @@ -407,35 +406,14 @@ } free((void *)tdir); - /* If the file exists, see that its regular, owned by root, - * and not world anything */ - if (stat(nv->value, &buf) < 0) { - audit_msg(LOG_ERR, "Unable to stat %s (%s)", nv->value, - strerror(errno)); - return 1; - } - if (!S_ISREG(buf.st_mode)) { - audit_msg(LOG_ERR, "%s is not a regular file", nv->value); - return 1; - } - if (buf.st_uid != 0) { - audit_msg(LOG_ERR, "%s is not owned by root", nv->value); - return 1; - } - if ((buf.st_mode & (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP)) != - (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP)) { - audit_msg(LOG_ERR, "%s permissions should be 0750", nv->value); - return 1; - } free((void *)config->path); config->path = strdup(nv->value); - config->inode = buf.st_ino; if (config->path == NULL) return 1; return 0; } -static int service_type_parser(struct nv_pair *nv, int line, +static int service_type_parser(struct nv_pair *nv, int line, plugin_conf_t *config) { int i; @@ -466,7 +444,7 @@ return 0; } -static int format_parser(struct nv_pair *nv, int line, +static int format_parser(struct nv_pair *nv, int line, plugin_conf_t *config) { int i; @@ -489,11 +467,45 @@ static int sanity_check(plugin_conf_t *config, const char *file) { /* Error checking */ - if (config->active == A_YES && config->path == NULL) { - audit_msg(LOG_ERR, + if (config->active == A_YES) { + struct stat buf; + + if (config->path == NULL) { + audit_msg(LOG_ERR, "Error - plugin (%s) is active but no path given", file); - return 1; + return 1; + } + // Don't check builtins + if (strncasecmp(config->path, "builtin_", 8) == 0) + goto out; + + /* If the file exists, see that its regular, owned by root, + * and not world anything */ + if (stat(config->path, &buf) < 0) { + audit_msg(LOG_ERR, "Unable to stat %s (%s)", + config->path, strerror(errno)); + return 1; + } + if (!S_ISREG(buf.st_mode)) { + audit_msg(LOG_ERR, "%s is not a regular file", + config->path); + return 1; + } + if (buf.st_uid != 0) { + audit_msg(LOG_ERR, "%s is not owned by root", + config->path); + return 1; + } + if ((buf.st_mode & (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP)) != + (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP)) { + audit_msg(LOG_ERR, "%s permissions should be 0750", + config->path); + return 1; + } + // Passes, record inode + config->inode = buf.st_ino; } +out: return 0; }
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/audispd.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/audispd.c
Changed
@@ -306,7 +306,16 @@ return plist_count_active(&plugin_conf); } -/* Return 0 on success and 1 on failure */ +/* + * Return 0 on success and 1 on failure + * + * Call tree: auditd.c main + * auditd-dispatch.c init_dispatcher + * + * And: auditd-event.c reconfigure + * auditd-dispatch.c reconfigure_dispatcher + * + * */ int libdisp_init(const struct daemon_conf *c) { int i; @@ -475,7 +484,7 @@ while (stop == 0) { event_t *e; char *v, *ptr, unknown32; - unsigned int len; + int len; lnode *conf; /* This is where we block until we have an event */ @@ -539,20 +548,21 @@ rc = write_to_plugin(e, v, len, conf); if (rc < 0 && errno == EPIPE) { /* Child disappeared ? */ - audit_msg(LOG_ERR, + if (!stop) + audit_msg(LOG_ERR, "plugin %s terminated unexpectedly", conf->p->path); conf->p->pid = 0; conf->p->restart_cnt++; - if (conf->p->restart_cnt > + close(conf->p->plug_pipe1); + conf->p->plug_pipe1 = -1; + conf->p->active = A_NO; + if (!stop && conf->p->restart_cnt > daemon_config.max_restarts) { audit_msg(LOG_ERR, "plugin %s has exceeded max_restarts", conf->p->path); } - close(conf->p->plug_pipe1); - conf->p->plug_pipe1 = -1; - conf->p->active = A_NO; if (!stop && start_one_plugin(conf)) { rc = write_to_plugin(e, v, len, conf); @@ -598,6 +608,10 @@ nudge_queue(); } +/* + * Called by: auditd-event.c reconfigure + * auditd-dispatch.c reconfigure_dispatcher + */ void libdisp_reconfigure(const struct daemon_conf *c) { // If the dispatcher thread is dead, start a new one
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/Makefile.am
Changed
@@ -12,9 +12,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -28,9 +28,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -177,8 +178,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags DIST_SUBDIRS = builtins remote syslog ids statsd zos-remote am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -227,6 +226,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -238,8 +239,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -295,6 +298,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -348,6 +352,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -500,7 +505,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/builtins/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/builtins/Makefile.am
Changed
@@ -13,8 +13,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/builtins/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/builtins/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -165,6 +166,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -176,8 +179,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -233,6 +238,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -286,6 +292,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -347,7 +354,6 @@ cscope cscopelist: - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/Makefile.am
Changed
@@ -11,9 +11,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -22,7 +23,7 @@ CONFIG_CLEAN_FILES = *.loT *.rej *.orig EXTRA_DIST = audisp-ids.conf ids.conf TODO README.md SUBDIRS = rules -AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/lib -I${top_srcdir}/common +AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/lib -I${top_srcdir}/common -I${top_srcdir}/auparse prog_confdir = $(sysconfdir)/audit prog_conf = ids.conf plugin_confdir=$(prog_confdir)/plugins.d @@ -36,8 +37,8 @@ audisp_ids_SOURCES = account.c avl.c ids.c ids_config.c model_bad_event.c \ model_behavior.c nvpair.c origin.c reactions.c session.c \ timer-services.c -audisp_ids_CFLAGS = -D_GNU_SOURCE -audisp_ids_LDADD = -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -L${top_builddir}/common -laucommon -lpthread +audisp_ids_CFLAGS = -D_GNU_SOURCE ${WFLAGS} +audisp_ids_LDADD = ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la ${top_builddir}/common/libaucommon.la install-data-hook: mkdir -p -m 0750 ${DESTDIR}${plugin_confdir}
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -27,9 +27,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -229,10 +230,9 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp TODO +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ + README.md TODO DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ @@ -279,6 +279,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -290,8 +292,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -347,6 +351,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -400,6 +405,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -416,7 +422,7 @@ CONFIG_CLEAN_FILES = *.loT *.rej *.orig EXTRA_DIST = audisp-ids.conf ids.conf TODO README.md SUBDIRS = rules -AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/lib -I${top_srcdir}/common +AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/lib -I${top_srcdir}/common -I${top_srcdir}/auparse prog_confdir = $(sysconfdir)/audit prog_conf = ids.conf plugin_confdir = $(prog_confdir)/plugins.d @@ -430,8 +436,8 @@ model_behavior.c nvpair.c origin.c reactions.c session.c \ timer-services.c -audisp_ids_CFLAGS = -D_GNU_SOURCE -audisp_ids_LDADD = -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -L${top_builddir}/common -laucommon -lpthread +audisp_ids_CFLAGS = -D_GNU_SOURCE ${WFLAGS} +audisp_ids_LDADD = ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la ${top_builddir}/common/libaucommon.la all: all-recursive .SUFFIXES: @@ -822,7 +828,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/account.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/account.c
Changed
@@ -81,7 +81,7 @@ cur = NULL; } -account_data_t *new_account(const char *name) +void new_account(const char *name) { account_data_t *tmp = (account_data_t *)malloc(sizeof(account_data_t)); if (tmp) { @@ -89,7 +89,6 @@ tmp->karma = 0; add_account(tmp); } - return tmp; } void destroy_accounts(void) @@ -155,8 +154,12 @@ my_printf("account: deleting unknown name"); return 1; } - } else if (debug) - my_printf("account: didn't find name"); + } else { + if (debug) + my_printf("account: didn't find name"); + + return 1; + } // Now free any data pointed to by tmp2 free_account(tmp2);
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/account.h -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/account.h
Changed
@@ -21,7 +21,7 @@ void init_accounts(void); void destroy_accounts(void); -account_data_t *new_account(const char *name); +void new_account(const char *name); unsigned int get_num_accounts(void); void traverse_accounts(FILE *f);
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/ids.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/ids.c
Changed
@@ -28,11 +28,12 @@ #include <string.h> #include <sys/select.h> #include <errno.h> -#include <libaudit.h> -#include <auparse.h> #include <stdarg.h> #include <sys/wait.h> #include <sys/stat.h> // umask +#include <unistd.h> +#include <sys/timerfd.h> +#include "auparse.h" #include "common.h" #include "ids.h" #include "ids_config.h" @@ -42,20 +43,21 @@ #include "model_bad_event.h" #include "model_behavior.h" #include "timer-services.h" -#include "reactions.h" /* Global Data */ int debug = 1; -// mode 2 == syslog, 1 == stderr, 0 == nothing +// mode 3 == file, mode 2 == syslog, 1 == stderr, 0 == nothing int mode = 0; /* Local Data */ +static FILE *l = NULL; // Log file static volatile int stop = 0; static volatile int hup = 0; static volatile int dump_state = 0; static auparse_state_t *au = NULL; #define NO_ACTIONS (!hup && !stop && !dump_state) #define STATE_FILE "/var/run/ids-state" +#define TIMER_INTERVAL 30 // Run every 30 seconds static struct ids_conf config; /* Local declarations */ @@ -72,6 +74,17 @@ else if (mode == 1) { vfprintf(stderr, fmt, ap); fputc('\n', stderr); + } else if (mode == 3) { + if (l == NULL) { + l = fopen("/var/run/audisp-ids.log", "wt"); + if (l == NULL) { + va_end(ap); + return; + } + setlinebuf(l); + } + vfprintf(l, fmt, ap); + fputc('\n', l); } va_end(ap); } @@ -86,11 +99,13 @@ } } + static void destroy_audit(void) { audit_close(audit_fd); } + void log_audit_event(int type, const char *text, int res) { audit_log_user_message(audit_fd, type, text, NULL, NULL, NULL, res); @@ -105,6 +120,7 @@ stop = 1; } + static void child_handler(int sig __attribute__((unused))) { int status; @@ -112,6 +128,7 @@ ; /* empty */ } + /* * SIGHUP handler: re-read config */ @@ -120,6 +137,7 @@ hup = 1; } + static void reload_config(void) { hup = 0; @@ -127,11 +145,13 @@ load_config(&config); } + static void sigusr1_handler(int sig __attribute__((unused))) { dump_state = 1; } + static void output_state(void) { FILE *f = fopen(STATE_FILE, "wt"); @@ -147,10 +167,13 @@ } } + int main(void) { char tmpMAX_AUDIT_MESSAGE_LENGTH+1; struct sigaction sa; + struct itimerspec itval; + int tfd; fd_set read_mask; /* Register sighandlers */ @@ -183,12 +206,23 @@ my_printf("ids is exiting due to auparse init errors"); return -1; } + auparse_set_eoe_timeout(2); auparse_add_callback(au, handle_event, NULL, NULL); - + init_timer_services(); + tfd = timerfd_create (CLOCK_MONOTONIC, TFD_NONBLOCK|TFD_CLOEXEC); + if (tfd < 0) { + my_printf("ids is exiting due to timerfd_create failing"); + return -1; + } + itval.it_interval.tv_sec = TIMER_INTERVAL; + itval.it_interval.tv_nsec = 0; + itval.it_value.tv_sec = itval.it_interval.tv_sec; + itval.it_value.tv_nsec = 0; + timerfd_settime(tfd, 0, &itval, NULL); do { - int retval = -1; + int retval; /* Handle dump_state */ if (dump_state) @@ -202,31 +236,61 @@ if (stop) break; - FD_ZERO(&read_mask); - FD_SET(0, &read_mask); do { - retval= select(1, &read_mask, NULL, NULL, NULL); + FD_ZERO(&read_mask); + FD_SET(0, &read_mask); + FD_SET(tfd, &read_mask); + + if (auparse_feed_has_data(au)) { + // We'll do a 1 second timeout to try to + // age events as quick as possible + struct timeval tv; + tv.tv_sec = 1; + tv.tv_usec = 0; + //my_printf("auparse_feed_has_data"); + retval= select(tfd+1, &read_mask, + NULL, NULL, &tv); + } else + retval= select(tfd+1, &read_mask, + NULL, NULL, NULL); + + /* If we timed out & have events, shake them loose */ + if (retval == 0 && auparse_feed_has_data(au)) { + //my_printf("auparse_feed_age_events"); + auparse_feed_age_events(au); + } } while (retval == -1 && errno == EINTR && NO_ACTIONS); /* Now the event loop */ if (NO_ACTIONS && retval > 0) { if (FD_ISSET(0, &read_mask)) { do { - if (audit_fgets(tmp, - MAX_AUDIT_MESSAGE_LENGTH, 0)) { - auparse_feed(au, tmp, - strnlen(tmp, - MAX_AUDIT_MESSAGE_LENGTH)); + int len; + if ((len = audit_fgets(tmp, + MAX_AUDIT_MESSAGE_LENGTH, + 0)) > 0) { + /* char *buf = strndup(tmp, 40); + my_printf("auparse_feed %s", buf); + free(buf); */ + auparse_feed(au, tmp, len); } } while (audit_fgets_more( MAX_AUDIT_MESSAGE_LENGTH)); } + if (FD_ISSET(tfd, &read_mask)) { + unsigned long long missed; + //my_printf("do_timer_services"); + do_timer_services(TIMER_INTERVAL); + missed=read(tfd, &missed, sizeof (missed)); + } + } if (audit_fgets_eof()) break; } while (stop == 0); shutdown_timer_services(); + close(tfd); /* Flush any accumulated events from queue */ auparse_flush_feed(au); @@ -242,111 +306,31 @@ else my_printf("ids is exiting on stdin EOF"); - return 0; -} + if (l) + fclose(l); -#define MINUTES 60 -#define HOURS 60*MINUTES -#define DAYS 24*HOURS -#define WEEKS 7*DAYS -#define MONTHS 30*DAYS - -static void block_address(unsigned int reaction) -{ - int res; - char buf32; - origin_data_t *o = current_origin(); - const char *addr = sockint_to_ipv4(o->address); - snprintf(buf, sizeof(buf), "daddr=%s", addr); - log_audit_event(AUDIT_ANOM_LOGIN_FAILURES, buf, 1); - - if (debug) - my_printf("Blocking address %s", addr); - - if (reaction == REACTION_BLOCK_ADDRESS) - res = block_ip_address(addr); - else - res = block_ip_address_timed(addr, 2*DAYS); - - if (res == 0) { - o->blocked = 1; - if (reaction == REACTION_BLOCK_ADDRESS) - log_audit_event(AUDIT_RESP_ORIGIN_BLOCK, buf, 1); - else - log_audit_event(AUDIT_RESP_ORIGIN_BLOCK_TIMED, buf, 1); - } + return 0; } -static void do_reaction(unsigned int answer) -{ -//my_printf("Answer: %u", answer); - unsigned int num = 0; - - do { - unsigned int tmp = 1 << num; - if (answer & tmp) { - switch (tmp) { - // FIXME: do the reactions - case REACTION_IGNORE: - break; - case REACTION_LOG: - case REACTION_EMAIL: - case REACTION_TERMINATE_PROCESS: - break; - case REACTION_TERMINATE_SESSION: - { - // FIXME: need to add audit events - session_data_t *s = current_session(); - kill_session(s->session); - break; - } - case REACTION_RESTRICT_ROLE: - case REACTION_PASSWORD_RESET: - case REACTION_LOCK_ACCOUNT_TIMED: - case REACTION_LOCK_ACCOUNT: - break; - case REACTION_BLOCK_ADDRESS_TIMED: - case REACTION_BLOCK_ADDRESS: - block_address(tmp); - break; - case REACTION_SYSTEM_REBOOT: - case REACTION_SYSTEM_SINGLE_USER: - case REACTION_SYSTEM_HALT: - default: - if (debug) - my_printf("Unknown reaction: %X", - tmp); - break; - } - } - num ++; - } while (num < 32); - -} /* This function receives a single complete event from the auparse library. */ static void handle_event(auparse_state_t *au, auparse_cb_event_t cb_event_type, void *user_data __attribute__((unused))) { - unsigned int answer; - if (cb_event_type != AUPARSE_CB_EVENT_READY) return; + //my_printf("handle_event %s", auparse_get_type_name(au)); + /* Do this once for all models */ - if (auparse_normalize(au, NORM_OPT_NO_ATTRS)) { + if (auparse_normalize(au, NORM_OPT_NO_ATTRS)) my_printf("Error normalizing %s", auparse_get_type_name(au)); - } /* Check for events that are known bad */ - answer = process_bad_event_model(au, &config); + process_bad_event_model(au, &config); /* Check if user doing something strange */ - answer |= process_behavior_model(au, &config); - if (answer == 0) - return; - - do_reaction(answer); + process_behavior_model(au, &config); }
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/ids.h -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/ids.h
Changed
@@ -8,8 +8,9 @@ #ifndef IDS_HEADER #define IDS_HEADER -#include <libaudit.h> +#include "libaudit.h" #define DAEMON_SESSION "4294967295" +#define UNSET 4294967295 extern int debug; extern void my_printf(const char *fmt, ...)
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/model_bad_event.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/model_bad_event.c
Changed
@@ -9,11 +9,12 @@ #include <arpa/inet.h> // inet_pton #include <libaudit.h> #include <string.h> +#include <stdlib.h> #include "ids.h" #include "session.h" #include "origin.h" #include "model_bad_event.h" - +#include "reactions.h" /* Local Data */ @@ -29,6 +30,10 @@ destroy_sessions(); } +// Look at the acct, is it a daemon acct and forbidden +// Is the acct root and forbidden +// is it a bad login +// is it a new session static void start_session(auparse_state_t *au, struct ids_conf *config) { unsigned int a; @@ -38,46 +43,60 @@ else a = -1; + int service_acct = 0; + const char *acct = NULL; + const char *atype = auparse_normalize_subject_kind(au); + if (atype && strncmp(atype, "service", 7) == 0) + service_acct = 1; + if (auparse_normalize_subject_primary(au) == 1) + acct = strdup(auparse_interpret_field(au)); + + // Have we seen this endpoint before? + origin_data_t *o = find_origin(a); + if (o == NULL) { + new_origin(a); + o = find_origin(a); + } + + // Is this login a service account? + if (service_acct && !config->option_service_login_allowed) { + my_printf("bad_service_login_origin: %s", acct); + bad_service_login_origin(o, config, acct); + } + + // Is this a root login + else if (!config->option_root_login_allowed && acct && + strcmp(acct, "root") == 0) { + my_printf("watched_login_origin: %s", acct); + watched_login_origin(o, config, acct); + } + + // Check if it's a failed login if (auparse_normalize_get_results(au) == 1) { // Handle a bad login const char *res = auparse_interpret_field(au); if (res && strcmp(res, "failed") == 0) { - int service_acct = 0; - const char *acct = NULL; - const char *atype = auparse_normalize_subject_kind(au); - if (atype && strncmp(atype, "service", 7) == 0) - service_acct = 1; - if (auparse_normalize_subject_primary(au) == 1) - acct = auparse_interpret_field(au); - - origin_data_t *o = find_origin(a); - if (o == NULL) - o = new_origin(a); - if(service_acct && - !config->option_service_login_allowed) - bad_service_login_origin(o, config, acct); - else if (!config->option_root_login_allowed && acct && - strcmp(acct, "root") == 0) - watched_login_origin(o, config, acct); - else - bad_login_origin(o, config); + // Since the login failed, we don't need to + // start a new session + bad_login_origin(o, config); + free((void *)acct); return; } } + + // Look for new login sessions if (auparse_normalize_session(au) == 1) { - const char *ses = auparse_get_field_str(au); - if (ses) { - if (strcmp(ses, DAEMON_SESSION)) { - unsigned int s = auparse_get_field_int(au); - if (auparse_normalize_subject_primary(au) == 1){ - new_session(s, a, strdup( - auparse_interpret_field(au))); - } - } // else we have a strange daemon login + unsigned int s = auparse_get_field_int(au); + if (s != UNSET) { + // new_session takes custody of acct + new_session(s, a, acct); + acct = NULL; + // otherwise we have a strange daemon login } else if (debug) - my_printf("start_session: can't find session in serial %lu", - auparse_get_serial(au)); + my_printf("start_session: can't find session in serial %s", + auparse_get_type_name(au)); } + free((void *)acct); } static void end_session(auparse_state_t *au) @@ -92,7 +111,7 @@ } /* This function receives a single complete event from the auparse library. */ -unsigned int process_bad_event_model(auparse_state_t *au, +void process_bad_event_model(auparse_state_t *au, struct ids_conf *config) { unsigned int answer = 0; @@ -115,7 +134,7 @@ { // Do not process our own events const char *exe = auparse_normalize_how(au); - if (exe && strcmp(exe, "ids") == 0) + if (exe && strcmp(exe, "/usr/sbin/audisp-ids") == 0) break; } // fallthrough if pam related @@ -139,9 +158,11 @@ origin_data_t *o = current_origin(); if (o) { if (o->karma >= config->option_origin_failed_logins_threshold && - !o->blocked) + !o->blocked) { + //AUDIT_ANOM_ORIGIN_FAILURES answer |= config->option_origin_failed_logins_reaction; + do_reaction(answer, "login_failures"); + } } - return answer; }
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/model_bad_event.h -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/model_bad_event.h
Changed
@@ -1,10 +1,10 @@ -#ifndef MODEL_BAD_EVENT_HEADER -#define MODEL_BAD_EVENT_HEADER +#ifndef MODEL_BAD_EVENT_HEADER +#define MODEL_BAD_EVENT_HEADER -#include <auparse.h> +#include "auparse.h" #include "ids_config.h" -unsigned int process_bad_event_model(auparse_state_t *au, +void process_bad_event_model(auparse_state_t *au, struct ids_conf *config); #endif
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/model_behavior.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/model_behavior.c
Changed
@@ -12,7 +12,7 @@ #include "session.h" #include "origin.h" #include "model_behavior.h" - +#include "reactions.h" /* Local Data */ @@ -71,8 +71,7 @@ } /* This function receives a single complete event from the auparse library. */ -unsigned int process_behavior_model(auparse_state_t *au, - struct ids_conf *config) +void process_behavior_model(auparse_state_t *au, struct ids_conf *config) { unsigned int answer = 0; auparse_first_record(au); @@ -115,7 +114,9 @@ if (o && s) { if (s->score >= config->option_session_badness1_threshold && s->killed == 0) { + //AUDIT_ANOM_SESSION answer |= config->option_session_badness1_reaction; + do_reaction(answer, "session_bad"); if (s->killed >= 1) add_to_score_origin(o, 5); else @@ -124,9 +125,10 @@ } if (o && o->karma >= config->option_origin_failed_logins_threshold && - !o->blocked) + !o->blocked) { + //AUDIT_ANOM_ORIGIN_FAILURES answer |= config->option_origin_failed_logins_reaction; - - return answer; + do_reaction(answer, "failed_login"); + } }
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/model_behavior.h -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/model_behavior.h
Changed
@@ -1,10 +1,10 @@ -#ifndef MODEL_BEHAVIOR_HEADER -#define MODEL_BEHAVIOR_HEADER +#ifndef MODEL_BEHAVIOR_HEADER +#define MODEL_BEHAVIOR_HEADER -#include <auparse.h> +#include "auparse.h" #include "ids_config.h" -unsigned int process_behavior_model(auparse_state_t *au, +void process_behavior_model(auparse_state_t *au, struct ids_conf *config); #endif
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/origin.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/origin.c
Changed
@@ -66,7 +66,7 @@ free(o); } -origin_data_t *new_origin(unsigned int a) +void new_origin(unsigned int a) { origin_data_t *tmp = (origin_data_t *)malloc(sizeof(origin_data_t)); if (tmp) { @@ -75,7 +75,6 @@ tmp->blocked = 0; add_origin(tmp); } - return tmp; } static void destroy_origin(void) @@ -151,8 +150,11 @@ my_printf("origin: deleting unknown address"); return 1; } - } else if (debug) - my_printf("origin: didn't find address"); + } else { + if (debug) + my_printf("origin: didn't find address"); + return 1; + } // Now free any data pointed to by tmp2 free_origin(tmp2); @@ -163,13 +165,25 @@ char *sockint_to_ipv4(unsigned int addr) { unsigned char *uaddr = (unsigned char *)&(addr); - static char buf40; + static char buf16; snprintf(buf, sizeof(buf), "%u.%u.%u.%u", uaddr0, uaddr1, uaddr2, uaddr3); return buf; } +unsigned int ipv4_to_sockint(const char *buf) +{ + unsigned int addr; + unsigned int ip4 = {0, 0, 0, 0}; + + if (sscanf(buf, "%u.%u.%u.%u", &ip3, &ip2, &ip1, &ip0) != 4) + return 0; + + addr = ip0 << 24 | ip1 << 16 | ip2 << 8 | ip3; + return addr; +} + void bad_login_origin(origin_data_t *o, struct ids_conf *config) { // We will just add a 1 for a bad login. add_to_score_origin(o, config->option_bad_login_weight); @@ -178,9 +192,10 @@ void bad_service_login_origin(origin_data_t *o, struct ids_conf *config, const char *acct) { // We will just add a 5 for a bad service login. - char buf32; + char buf62; const char *addr = sockint_to_ipv4(o->address); - snprintf(buf, sizeof(buf), "acct=%s daddr=%s", + // account names can be up to 32 characters. IPv4 can be 16 + snprintf(buf, sizeof(buf), "acct=%.32s daddr=%.16s", acct ? acct : "?", addr); log_audit_event(AUDIT_ANOM_LOGIN_SERVICE, buf, 1); @@ -190,9 +205,9 @@ void watched_login_origin(origin_data_t *o, struct ids_conf *config, const char *acct) { // We will just add a 5 for a watched login. - char buf32; + char buf62; const char *addr = sockint_to_ipv4(o->address); - snprintf(buf, sizeof(buf), "acct=%s daddr=%s", + snprintf(buf, sizeof(buf), "acct=%.32s daddr=%.16s", acct ? acct : "?", addr); log_audit_event(AUDIT_ANOM_LOGIN_ACCT, buf, 1); @@ -213,3 +228,15 @@ my_printf("origin karma: %u", o->karma); } +// Returns 1 on success and 0 on failure +int unblock_origin(const char *addr) +{ + unsigned int uaddr = ipv4_to_sockint(addr); + origin_data_t *o = find_origin(uaddr); + if (o) { + o->blocked = 0; + return 1; + } + + return 0; +}
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/origin.h -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/origin.h
Changed
@@ -22,7 +22,7 @@ void init_origins(void); -origin_data_t *new_origin(unsigned int a); +void new_origin(unsigned int a); void destroy_origins(void); unsigned int get_num_origins(void); void traverse_origins(FILE *f); @@ -37,7 +37,9 @@ void watched_login_origin(origin_data_t *o, struct ids_conf *config, const char *acct); void add_to_score_origin(origin_data_t *o, unsigned int adj); +int unblock_origin(const char *addr); char *sockint_to_ipv4(unsigned int addr); +unsigned int ipv4_to_sockint(const char *buf); #endif
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/reactions.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/reactions.c
Changed
@@ -18,10 +18,12 @@ #include <pwd.h> #include <string.h> #include "ids.h" +#include "ids_config.h" #include "reactions.h" +#include "session.h" #include "timer-services.h" - +// Returns 0 on success and 1 on failure static int safe_exec(const char *exe, ...) { char **argv; @@ -230,6 +232,44 @@ return 0; } +#define MINUTES 60 +#define HOURS 60*MINUTES +#define DAYS 24*HOURS +#define WEEKS 7*DAYS +#define MONTHS 30*DAYS + +static void block_address(unsigned int reaction, const char *reason) +{ + // FIXME: This should be configurable + unsigned time_out = 2*MINUTES; + int res; + char buf80; + origin_data_t *o = current_origin(); + const char *addr = sockint_to_ipv4(o->address); + + if (debug) + my_printf("Blocking address %s b/c %s", addr, reason); + + if (reaction == REACTION_BLOCK_ADDRESS) + res = block_ip_address(addr); + else + res = block_ip_address_timed(addr, time_out); + + if (res == 0) { + o->blocked = 1; + if (reaction == REACTION_BLOCK_ADDRESS) { + snprintf(buf, sizeof(buf), "daddr=%.16s reason=%s", + addr, reason); + log_audit_event(AUDIT_RESP_ORIGIN_BLOCK, buf, 1); + } else { + snprintf(buf, sizeof(buf), + "daddr=%.16s reason=%s time_out=%u", + addr, reason, time_out/MINUTES); + log_audit_event(AUDIT_RESP_ORIGIN_BLOCK_TIMED, buf, 1); + } + } +} + int unblock_ip_address(const char *addr) { if (debug) @@ -255,3 +295,50 @@ return safe_exec("/sbin/init", "0"); } +void do_reaction(unsigned int answer, const char *reason) +{ +//my_printf("Answer: %u", answer); + unsigned int num = 0; + + do { + unsigned int tmp = 1 << num; + if (answer & tmp) { + switch (tmp) { + // FIXME: do the reactions + case REACTION_IGNORE: + break; + case REACTION_LOG: + case REACTION_EMAIL: + case REACTION_TERMINATE_PROCESS: + break; + case REACTION_TERMINATE_SESSION: + { + // FIXME: need to add audit events + session_data_t *s = current_session(); + kill_session(s->session); + break; + } + case REACTION_RESTRICT_ROLE: + case REACTION_PASSWORD_RESET: + case REACTION_LOCK_ACCOUNT_TIMED: + case REACTION_LOCK_ACCOUNT: + break; + case REACTION_BLOCK_ADDRESS_TIMED: + case REACTION_BLOCK_ADDRESS: + block_address(tmp, reason); + break; + case REACTION_SYSTEM_REBOOT: + case REACTION_SYSTEM_SINGLE_USER: + case REACTION_SYSTEM_HALT: + break; + default: + if (debug) + my_printf("Unknown reaction: %X", + tmp); + break; + } + } + num++; + } while (num < 32); +} +
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/reactions.h -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/reactions.h
Changed
@@ -21,5 +21,6 @@ int system_reboot(void); int system_single_user(void); int system_halt(void); +void do_reaction(unsigned int answer, const char *reason); #endif
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/rules/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/rules/Makefile.am
Changed
@@ -11,9 +11,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/rules/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/rules/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -27,9 +27,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -195,6 +196,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -206,8 +209,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -263,6 +268,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -316,6 +322,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -398,7 +405,6 @@ cscope cscopelist: - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/session.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/session.c
Changed
@@ -85,7 +85,7 @@ cur = NULL; } -session_data_t *new_session(unsigned int s, unsigned int o, const char *acct) +void new_session(unsigned int s, unsigned int o, const char *acct) { session_data_t *tmp = malloc(sizeof(session_data_t)); if (tmp) { @@ -96,7 +96,6 @@ tmp->acct = acct ? acct : strdup(""); add_session(tmp); } - return tmp; } void destroy_sessions(void)
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/session.h -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/session.h
Changed
@@ -25,7 +25,7 @@ void init_sessions(void); -session_data_t *new_session(unsigned int s, unsigned int o, const char *acct); +void new_session(unsigned int s, unsigned int o, const char *acct); void destroy_sessions(void); unsigned int get_num_sessions(void); void traverse_sessions(FILE *f);
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/timer-services.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/timer-services.c
Changed
@@ -22,79 +22,70 @@ */ #include "config.h" -#include <pthread.h> -#include <stdatomic.h> #include <string.h> #include <unistd.h> -#include <signal.h> +#include <stdio.h> // for snprintf #include "timer-services.h" #include "nvpair.h" #include "reactions.h" #include "ids.h" +#include "origin.h" -static pthread_t timer_thread; -static void *timer_thread_main(void *arg); static nvlist jobs; -static volatile atomic_int halt = 0, locked = 0; - +static time_t now; // Something to think about, jobs should probably be peristent so that // we can resume them after starting back up. void init_timer_services(void) { nvpair_list_create(&jobs); - pthread_create(&timer_thread, NULL, timer_thread_main, NULL); + now = time(NULL); } -static void *timer_thread_main(void *arg __attribute__((unused))) +void do_timer_services(unsigned int interval) { - sigset_t sigs; - time_t now; + now += interval; +rerun_jobs: + while (nvpair_list_find_job(&jobs, now)) { + nvnode *j = nvpair_list_get_cur(&jobs); + switch (j->job) { + case UNLOCK_ACCOUNT: + unlock_account(j->arg); + // Should we reset the stats? + break; + case UNBLOCK_ADDRESS: + { + // Send iptables rule + int res = unblock_ip_address(j->arg); - /* This is a worker thread. Don't handle signals. */ - sigemptyset(&sigs); - sigaddset(&sigs, SIGTERM); - sigaddset(&sigs, SIGCHLD); - sigaddset(&sigs, SIGHUP); - sigaddset(&sigs, SIGUSR1); - pthread_sigmask(SIG_SETMASK, &sigs, NULL); + // Log that its back in business + char buf24; + snprintf(buf, sizeof(buf), + "daddr=%.16s", j->arg); + log_audit_event( + AUDIT_RESP_ORIGIN_UNBLOCK_TIMED, + buf, !res); - now = time(NULL); - while (!halt) { - sleep(5); - now += 5; -rerun_jobs: - while (__sync_lock_test_and_set(&locked, 1)); - while (!halt && nvpair_list_find_job(&jobs, now)) { - nvnode *j = nvpair_list_get_cur(&jobs); - switch (j->job) { - case UNLOCK_ACCOUNT: - unlock_account(j->arg); - // Should we reset the stats? - break; - case UNBLOCK_ADDRESS: - unblock_ip_address(j->arg); - // Should we reset the stats? - break; - default: - break; - } - nvpair_list_delete_cur(&jobs); + // Reset origin state + unblock_origin(j->arg); + } + break; + default: + break; } - __sync_lock_release(&locked); + nvpair_list_delete_cur(&jobs); + } - // Every 5 minutes resync to the clock - if (now%600 == 0) { - time_t cur = now; - now = time(NULL); - if (now > cur) { - if (debug) - my_printf("Time jumped - rerunning jobs"); - goto rerun_jobs; - } + // Every 10 minutes resync to the clock + if (now%600 > interval) { + time_t cur = now; + now = time(NULL); + if (now > cur) { + if (debug) + my_printf("Time jumped - rerunning jobs"); + goto rerun_jobs; } } - return NULL; } void add_timer_job(jobs_t job, const char *arg, unsigned long length) @@ -105,20 +96,11 @@ node.arg = strdup(arg); node.expiration = time(NULL) + length; - while (__sync_lock_test_and_set(&locked, 1)); nvpair_list_append(&jobs, &node); - __sync_lock_release(&locked); } void shutdown_timer_services(void) { - halt = 1; - pthread_cancel(timer_thread); - - while (__sync_lock_test_and_set(&locked, 1)); nvpair_list_clear(&jobs); - __sync_lock_release(&locked); - - pthread_join(timer_thread, NULL); }
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/ids/timer-services.h -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/ids/timer-services.h
Changed
@@ -27,6 +27,7 @@ typedef enum {UNLOCK_ACCOUNT, UNBLOCK_ADDRESS} jobs_t; void init_timer_services(void); +void do_timer_services(unsigned int interval); void add_timer_job(jobs_t job, const char *arg, unsigned long length); void shutdown_timer_services(void);
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/remote/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/remote/Makefile.am
Changed
@@ -12,9 +12,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -35,9 +36,9 @@ audisp_remote_DEPENDENCIES = ${top_builddir}/common/libaucommon.la audisp_remote_SOURCES = audisp-remote.c remote-config.c queue.c -audisp_remote_CFLAGS = -fPIE -DPIE -g -D_REENTRANT -D_GNU_SOURCE -Wundef +audisp_remote_CFLAGS = -fPIE -DPIE -g -D_REENTRANT -D_GNU_SOURCE -Wundef ${WFLAGS} audisp_remote_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now -audisp_remote_LDADD = $(CAPNG_LDADD) $(gss_libs) -L${top_builddir}/common -laucommon +audisp_remote_LDADD = $(CAPNG_LDADD) $(gss_libs) ${top_builddir}/common/libaucommon.la test_queue_SOURCES = queue.c test-queue.c
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/remote/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/remote/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -28,9 +28,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -240,8 +241,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -397,6 +396,7 @@ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -442,6 +442,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -453,8 +455,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -510,6 +514,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -563,6 +568,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -588,9 +594,9 @@ TESTS = $(check_PROGRAMS) audisp_remote_DEPENDENCIES = ${top_builddir}/common/libaucommon.la audisp_remote_SOURCES = audisp-remote.c remote-config.c queue.c -audisp_remote_CFLAGS = -fPIE -DPIE -g -D_REENTRANT -D_GNU_SOURCE -Wundef +audisp_remote_CFLAGS = -fPIE -DPIE -g -D_REENTRANT -D_GNU_SOURCE -Wundef ${WFLAGS} audisp_remote_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now -audisp_remote_LDADD = $(CAPNG_LDADD) $(gss_libs) -L${top_builddir}/common -laucommon +audisp_remote_LDADD = $(CAPNG_LDADD) $(gss_libs) ${top_builddir}/common/libaucommon.la test_queue_SOURCES = queue.c test-queue.c all: all-am @@ -1024,7 +1030,7 @@ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -1079,7 +1085,6 @@ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/remote/au-remote.conf -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/remote/au-remote.conf
Changed
@@ -1,5 +1,5 @@ -# This file controls the audispd data path to the +# This file controls the auditd data path to the # remote event logger. This plugin will send events to # a remote machine (Central Logger).
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/remote/audisp-remote.8 -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/remote/audisp-remote.8
Changed
@@ -1,4 +1,4 @@ -.TH AUDISP-REMOTE: "8" "August 2018" "Red Hat" "System Administration Utilities" +.TH AUDISP-REMOTE "8" "August 2018" "Red Hat" "System Administration Utilities" .SH NAME audisp-remote \- plugin for remote logging .SH SYNOPSIS @@ -16,7 +16,7 @@ .IR suspend flag tells whether or not logging has been suspended. The .IR remote_ended -flage tells if the connection was broken by the server saying it can't log events. The +flag tells if the connection was broken by the server saying it can't log events. The .IR transport_ok flag tells whether or not the connection to the remote server is healthy. The .IR queue_size @@ -30,8 +30,8 @@ /etc/audit/plugins.d/au-remote.conf /etc/audit/auditd.conf .SH "SEE ALSO" -.BR auditd.conf(8), -.BR auditd-plugins(5), -.BR audisp-remote.conf(5). +.BR auditd.conf (8), +.BR auditd-plugins (5), +.BR audisp-remote.conf (5). .SH AUTHOR Steve Grubb
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/remote/audisp-remote.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/remote/audisp-remote.c
Changed
@@ -566,7 +566,7 @@ // See if input fd is also set if (FD_ISSET(ifd, &rfd)) { do { - if (audit_fgets(event, sizeof(event), ifd)) { + if (audit_fgets(event,sizeof(event),ifd) > 0) { if (!transport_ok && remote_ended && (config.remote_ending_action == FA_RECONNECT || @@ -619,7 +619,7 @@ // If stdin is a pipe, then flush the queue if (is_pipe(0)) { - while (q_queue_length(queue) && transport_ok) + while (q_queue_length(queue) && !suspend && transport_ok) send_one(queue); } @@ -757,9 +757,16 @@ gss_failure_2 (msg, minor_status, GSS_C_MECH_CODE); } -#define KCHECK(x,f) if (x) { \ - syslog (LOG_ERR, "krb5 error: %s in %s\n", krb5_get_error_message (kcontext, x), f); \ - return -1; } +#define KLOG(x,f) { \ + const char *kstr = krb5_get_error_message(kcontext, x); \ + syslog (LOG_ERR, "krb5 error: %s in %s\n", kstr, f); \ + krb5_free_error_message(kcontext, kstr); } +static krb5_context kcontext = NULL; +static char *realm_name = NULL; +static krb5_principal audit_princ; +static krb5_ccache ccache = NULL; +static krb5_get_init_creds_opt options; +static krb5_keytab keytab = NULL; /* Each time we connect to the server, we negotiate a set of credentials and a security context. To do this, we need our own credentials first. For @@ -782,13 +789,7 @@ we use Kerberos calls here. */ int krberr; - krb5_context kcontext = NULL; - char *realm_name; - krb5_principal audit_princ; - krb5_ccache ccache = NULL; krb5_creds my_creds; - krb5_get_init_creds_opt options; - krb5_keytab keytab = NULL; const char *krb5_client_name; char *slashptr; char host_name255; @@ -800,7 +801,10 @@ recv_tok.value = NULL; krberr = krb5_init_context (&kcontext); - KCHECK (krberr, "krb5_init_context"); + if (krberr) { + KLOG (krberr, "krb5_init_context"); + return -1; + } if (config.krb5_key_file) key_file = config.krb5_key_file; @@ -815,30 +819,33 @@ syslog (LOG_ERR, "%s is not mode 0400 (it's %#o) - compromised key?", key_file, st.st_mode & 07777); - return -1; + goto error1; } if (st.st_uid != 0) { if (!quiet) syslog (LOG_ERR, "%s is not owned by root (it's %d) - compromised key?", key_file, st.st_uid); - return -1; + goto error1; } } /* This looks up the default real (*our* realm) from /etc/krb5.conf (or wherever) */ krberr = krb5_get_default_realm (kcontext, &realm_name); - KCHECK (krberr, "krb5_get_default_realm"); + if (krberr) { + KLOG (krberr, "krb5_get_default_realm"); + goto error1; + } krb5_client_name = config.krb5_client_name ? config.krb5_client_name : "auditd"; if (gethostname(host_name, sizeof(host_name)) != 0) { if (!quiet) syslog (LOG_ERR, - "gethostname: host name longer than %ld characters?", + "gethostname: host name longer than %lu characters?", sizeof (host_name)); - return -1; + goto error2; } syslog (LOG_ERR, "kerberos principal: %s/%s@%s\n", @@ -847,17 +854,26 @@ krberr = krb5_build_principal (kcontext, &audit_princ, strlen(realm_name), realm_name, krb5_client_name, host_name, NULL); - KCHECK (krberr, "krb5_build_principal"); + if (krberr) { + KLOG (krberr, "krb5_build_principal"); + goto error2; + } /* Locate our machine's key table, where our private key is * held. */ krberr = krb5_kt_resolve (kcontext, key_file, &keytab); - KCHECK (krberr, "krb5_kt_resolve"); + if (krberr) { + KLOG (krberr, "krb5_kt_resolve"); + goto error3; + } /* Identify a cache to hold the key in. The GSS wrappers look up our credentials here. */ krberr = krb5_cc_resolve (kcontext, CCACHE_NAME, &ccache); - KCHECK (krberr, "krb5_cc_resolve"); + if (krberr) { + KLOG (krberr, "krb5_cc_resolve"); + goto error4; + } setenv("KRB5CCNAME", CCACHE_NAME, 1); @@ -872,15 +888,24 @@ krberr = krb5_get_init_creds_keytab(kcontext, &my_creds, audit_princ, keytab, 0, NULL, &options); - KCHECK (krberr, "krb5_get_init_creds_keytab"); + if (krberr) { + KLOG (krberr, "krb5_get_init_creds_keytab"); + goto error5; + } /* Create the cache... */ krberr = krb5_cc_initialize(kcontext, ccache, audit_princ); - KCHECK (krberr, "krb5_cc_initialize"); + if (krberr) { + KLOG (krberr, "krb5_cc_initialize"); + goto error5; + } /* ...and store our credentials in it. */ krberr = krb5_cc_store_cred(kcontext, ccache, &my_creds); - KCHECK (krberr, "krb5_cc_store_cred"); + if (krberr) { + KLOG (krberr, "krb5_cc_store_cred"); + goto error5; + } /* The GSS code now has a set of credentials for this program. I.e. we know who "we" are. Now we talk to the server to @@ -903,13 +928,13 @@ (gss_OID) gss_nt_service_name, &service_name_e); if (major_status != GSS_S_COMPLETE) { gss_failure("importing name", major_status, minor_status); - return -1; + goto error5; } /* Someone has to go first. In this case, it's us. */ if (send_token(sock, empty_token) < 0) { (void) gss_release_name(&minor_status, &service_name_e); - return -1; + goto error5; } /* The server starts this loop with the token we just sent @@ -936,7 +961,7 @@ &send_tok); (void) gss_release_name(&minor_status, &service_name_e); - return -1; + goto error5; } } (void) gss_release_buffer(&minor_status, &send_tok); @@ -949,7 +974,7 @@ if (*gss_context != GSS_C_NO_CONTEXT) gss_delete_sec_context(&minor_status, gss_context, GSS_C_NO_BUFFER); - return -1; + goto error5; } /* Now get any tokens the sever sends back. We use @@ -958,7 +983,7 @@ if (recv_token(sock, &recv_tok) < 0) { (void) gss_release_name(&minor_status, &service_name_e); - return -1; + goto error5; } token_ptr = &recv_tok; } @@ -985,6 +1010,22 @@ (char *)recv_tok.value); #endif return 0; + +error5: + krb5_cc_close(kcontext, ccache); + ccache = NULL; +error4: + krb5_kt_close(kcontext, keytab); + keytab = NULL; +error3: + krb5_free_principal(kcontext, audit_princ); +error2: + krb5_free_default_realm(kcontext, realm_name); + realm_name = NULL; +error1: + krb5_free_context(kcontext); + kcontext = NULL; + return -1; } #endif // USE_GSSAPI @@ -997,6 +1038,15 @@ gss_delete_sec_context(&minor_status, &my_context, GSS_C_NO_BUFFER); my_context = GSS_C_NO_CONTEXT; + krb5_cc_close(kcontext, ccache); + ccache = NULL; + krb5_kt_close(kcontext, keytab); + keytab = NULL; + krb5_free_principal(kcontext, audit_princ); + krb5_free_default_realm(kcontext, realm_name); + realm_name = NULL; + krb5_free_context(kcontext); + kcontext = NULL; } #endif shutdown(sock, SHUT_RDWR);
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/remote/audisp-remote.conf.5 -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/remote/audisp-remote.conf.5
Changed
@@ -1,4 +1,4 @@ -.TH AUDISP-REMOTE.CONF: "5" "Aug 2018" "Red Hat" "System Administration Utilities" +.TH AUDISP-REMOTE.CONF "5" "Jul 2022" "Red Hat" "System Administration Utilities" .SH NAME audisp-remote.conf \- the audisp-remote configuration file .SH DESCRIPTION @@ -16,7 +16,7 @@ connect from on the local machine. If unspecified (the default) or set to the word .I any -then any available unpriviledged port is used. This is a security mechanism to prevent untrusted user space apps from injecting events into the audit daemon. You should set it to an unused port < 1024 to ensure that only privileged users can bind to that port. Then also set the tcp_client_ports in the aggregating auditd.conf file to match the ports that clients are sending from. +then any available unprivileged port is used. This is a security mechanism to prevent untrusted user space apps from injecting events into the audit daemon. You should set it to an unused port < 1024 to ensure that only privileged users can bind to that port. Then also set the tcp_client_ports in the aggregating auditd.conf file to match the ports that clients are sending from. .TP .I transport This parameter tells the remote logging app how to send events to the remote system. The valid options are @@ -48,7 +48,7 @@ .I forward mode of the .I mode -option and internal queueing for temporary network outtages. The default depth is 2048. +option and internal queueing for temporary network outages. The default depth is 2048. .TP .I format This parameter tells the remote logging app what data format will be @@ -62,7 +62,7 @@ overhead at all. The .I ascii format is a very simplistic protocol. If there are any network problems, it -willcause audisp-remote to exit. Auditd may or may not restart it on next +will cause audisp-remote to exit. Auditd may or may not restart it on next event. If something more robust is needed, use the .I managed format. If @@ -108,9 +108,9 @@ .I exec /path-to-script will execute the script. You cannot pass parameters to the script. If an event was sent, its dequeued. .I warn_once_continue -is like syslog execept that only one message is put in syslog until an event is successfully transferred. +is like syslog except that only one message is put in syslog until an event is successfully transferred. .I warn_once -is like warn_once_continue execept that the event is not dequeued. +is like warn_once_continue except that the event is not dequeued. .I Suspend will cause the remote logging app to stop sending records to the remote system. The logging app will still be alive. If an event was sent, it is not dequeued. The .I single @@ -179,7 +179,7 @@ .I exec /path-to-script will execute the script. You cannot pass parameters to the script. .I warn_once -is like syslog execept that only one message is put in syslog until an event is successfully transferred. +is like syslog except that only one message is put in syslog until an event is successfully transferred. .I warn_once_continue is like warn_once except it ignores the problem. This is the default. .TP @@ -235,10 +235,16 @@ the remote server is allowed in order to reboot, if you want to maintain logging across a reboot. +It is recommended to set a large q_depth in auditd.conf if using this +plugin. Also set an even bigger q_depth in audisp-remote.conf. Also +set the heartbeat_timeout to something non-zero but coordinate it with +the server so that it's half the size of the server's tcp_client_max_idle +setting. This is required to get retries in a reasonable time if the +network has a problem. + .SH "SEE ALSO" -.BR audispd (8), -.BR audisp-remote(8), -.BR auditd.conf(5). +.BR audisp-remote (8), +.BR auditd.conf (5). .SH AUTHOR Steve Grubb
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/remote/notes.txt -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/remote/notes.txt
Changed
@@ -23,9 +23,9 @@ is written before the header that indicates that it is present) - but ultimately resiliency against such failures is limited by other links in the audit record transmission chain - if the record is lost -within auditd or audispd, having a resilient queue file format does -not help; audit records generated within the kernel are necessarily -lost if the system crashes before they are read by auditd because +within auditd, having a resilient queue file format does not help; +audit records generated within the kernel are necessarily lost +if the system crashes before they are read by auditd because the kernel will not be able to regenerate/retransmit them after the next boot.
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/remote/remote-config.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/remote/remote-config.c
Changed
@@ -750,7 +750,7 @@ } /* - * This function is where we do the integrated check of the audispd config + * This function is where we do the integrated check of the config * options. At this point, all fields have been read. Returns 0 if no * problems and 1 if problems detected. */
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/statsd/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/statsd/Makefile.am
Changed
@@ -12,9 +12,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -29,8 +30,8 @@ sbin_PROGRAMS = audisp-statsd man_MANS = audisp-statsd.8 audisp_statsd_SOURCES = audisp-statsd.c -audisp_statsd_CFLAGS = -g -D_GNU_SOURCE -audisp_statsd_LDADD = -L${top_builddir}/auparse -lauparse -L${top_builddir}/lib -laudit +audisp_statsd_CFLAGS = -g -D_GNU_SOURCE ${WFLAGS} +audisp_statsd_LDADD = ${top_builddir}/auparse/libauparse.la ${top_builddir}/lib/libaudit.la install-data-hook: mkdir -p -m 0750 ${DESTDIR}${plugin_confdir}
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/statsd/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/statsd/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -107,7 +107,8 @@ PROGRAMS = $(sbin_PROGRAMS) am_audisp_statsd_OBJECTS = audisp_statsd-audisp-statsd.$(OBJEXT) audisp_statsd_OBJECTS = $(am_audisp_statsd_OBJECTS) -audisp_statsd_DEPENDENCIES = +audisp_statsd_DEPENDENCIES = ${top_builddir}/auparse/libauparse.la \ + ${top_builddir}/lib/libaudit.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -204,8 +205,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -228,6 +227,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -239,8 +240,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -296,6 +299,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -349,6 +353,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -377,9 +382,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -393,8 +399,8 @@ plugin_conf = au-statsd.conf man_MANS = audisp-statsd.8 audisp_statsd_SOURCES = audisp-statsd.c -audisp_statsd_CFLAGS = -g -D_GNU_SOURCE -audisp_statsd_LDADD = -L${top_builddir}/auparse -lauparse -L${top_builddir}/lib -laudit +audisp_statsd_CFLAGS = -g -D_GNU_SOURCE ${WFLAGS} +audisp_statsd_LDADD = ${top_builddir}/auparse/libauparse.la ${top_builddir}/lib/libaudit.la all: all-am .SUFFIXES: @@ -631,7 +637,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/statsd/audisp-statsd.8 -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/statsd/audisp-statsd.8
Changed
@@ -1,4 +1,4 @@ -.TH AUDISP-STATSD: "8" "February 2021" "Red Hat" "System Administration Utilities" +.TH AUDISP-STATSD "8" "February 2021" "Red Hat" "System Administration Utilities" .SH NAME audisp-statsd \- plugin to push audit metrics to a statsd service .SH SYNOPSIS @@ -55,7 +55,7 @@ /etc/audit/audisp-statsd.conf /etc/audit/plugins/au-statsd.conf .SH "SEE ALSO" -.BR auditd.conf(8), -.BR auditd-plugins(5), +.BR auditd.conf (8), +.BR auditd-plugins (5). .SH AUTHOR Steve Grubb
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/statsd/audisp-statsd.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/statsd/audisp-statsd.c
Changed
@@ -46,7 +46,7 @@ unsigned int port; unsigned int interval; int sock; - struct sockaddr addr; + struct sockaddr_storage addr; socklen_t addrlen; }; @@ -74,7 +74,7 @@ static pid_t auditd_pid = 0; static auparse_state_t *au = NULL; static int timer_fd = -1; -static char msgMAX_AUDIT_MESSAGE_LENGTH; +static char msgMAX_AUDIT_MESSAGE_LENGTH + 1; static struct daemon_config d; static struct audit_report r; @@ -148,9 +148,11 @@ break; default: fprintf(stderr, "unknown option\n"); + fclose(f); return 1; } } + fclose(f); if (status != 0x07) { fprintf(stderr, "Not all config options specified\n"); return 1; @@ -287,7 +289,8 @@ r.events_anomaly_count, r.events_response_count); if (len > 0 && len < (int)sizeof(message)) - sendto(d.sock, message, len, 0, &d.addr, d.addrlen); + sendto(d.sock, message, len, 0, (struct sockaddr *)&d.addr, + d.addrlen); } @@ -336,6 +339,11 @@ auparse_set_eoe_timeout(5); auparse_add_callback(au, handle_event, NULL, NULL); audit_fd = audit_open(); + if (audit_fd < 0) { + close(d.sock); + syslog(LOG_ERR, "unable to open audit socket"); + return 1; + } auditd_pid = getppid(); fcntl(0, F_SETFL, O_NONBLOCK); /* Set STDIN non-blocking */ pfd0.fd = 0; // add stdin to the poll group @@ -363,6 +371,9 @@ unsigned long long missed; missed=read(timer_fd, &missed, sizeof (missed)); kill(auditd_pid, SIGCONT); // Run auditd report + // Clear any old events if possible + if (auparse_feed_has_data(au)) + auparse_feed_age_events(au); get_kernel_status(); get_auditd_status(); send_statsd(); @@ -382,7 +393,6 @@ // tear down everything close(timer_fd); - auparse_flush_feed(au); auparse_destroy(au); close(audit_fd); close(d.sock);
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/syslog/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/syslog/Makefile.am
Changed
@@ -12,9 +12,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -31,9 +32,9 @@ audisp_syslog_DEPENDENCIES = ${top_builddir}/common/libaucommon.la audisp_syslog_SOURCES = audisp-syslog.c -audisp_syslog_CFLAGS = -fPIE -DPIE -g -D_GNU_SOURCE -Wundef +audisp_syslog_CFLAGS = -fPIE -DPIE -g -D_GNU_SOURCE -Wundef ${WFLAGS} audisp_syslog_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now -audisp_syslog_LDADD = $(CAPNG_LDADD) -L${top_builddir}/common -laucommon -L${top_builddir}/auparse -lauparse +audisp_syslog_LDADD = $(CAPNG_LDADD) ${top_builddir}/common/libaucommon.la ${top_builddir}/auparse/libauparse.la install-data-hook: mkdir -p -m 0750 ${DESTDIR}${plugin_confdir}
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/syslog/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/syslog/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -28,9 +28,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -226,8 +227,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -250,6 +249,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -261,8 +262,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -318,6 +321,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -371,6 +375,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -393,9 +398,9 @@ man_MANS = audisp-syslog.8 audisp_syslog_DEPENDENCIES = ${top_builddir}/common/libaucommon.la audisp_syslog_SOURCES = audisp-syslog.c -audisp_syslog_CFLAGS = -fPIE -DPIE -g -D_GNU_SOURCE -Wundef +audisp_syslog_CFLAGS = -fPIE -DPIE -g -D_GNU_SOURCE -Wundef ${WFLAGS} audisp_syslog_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now -audisp_syslog_LDADD = $(CAPNG_LDADD) -L${top_builddir}/common -laucommon -L${top_builddir}/auparse -lauparse +audisp_syslog_LDADD = $(CAPNG_LDADD) ${top_builddir}/common/libaucommon.la ${top_builddir}/auparse/libauparse.la all: all-am .SUFFIXES: @@ -632,7 +637,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/syslog/audisp-syslog.8 -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/syslog/audisp-syslog.8
Changed
@@ -1,4 +1,4 @@ -.TH AUDISP-SYSLOG: "8" "August 2018" "Red Hat" "System Administration Utilities" +.TH AUDISP-SYSLOG "8" "August 2018" "Red Hat" "System Administration Utilities" .SH NAME audisp-syslog \- plugin to push audit events into syslog .SH SYNOPSIS @@ -17,8 +17,8 @@ /etc/audit/syslog.conf /etc/audit/auditd.conf .SH "SEE ALSO" -.BR auditd.conf(8), -.BR auditd-plugins(5), -.BR syslog(3). +.BR auditd.conf (8), +.BR auditd-plugins (5), +.BR syslog (3). .SH AUTHOR Steve Grubb
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/syslog/audisp-syslog.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/syslog/audisp-syslog.c
Changed
@@ -249,7 +249,7 @@ if (FD_ISSET(0, &read_mask)) { do { if (audit_fgets(tmp, - MAX_AUDIT_MESSAGE_LENGTH, 0)) + MAX_AUDIT_MESSAGE_LENGTH, 0) > 0) write_syslog(tmp); } while (audit_fgets_more( MAX_AUDIT_MESSAGE_LENGTH));
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/zos-remote/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/zos-remote/Makefile.am
Changed
@@ -14,8 +14,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Klaus Heinrich Kiwi <klausk@br.ibm.com> @@ -24,7 +25,7 @@ AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/lib -I${top_srcdir}/auparse CONFIG_CLEAN_FILES = *.rej *.orig EXTRA_DIST = zos-remote.conf audispd-zos-remote.conf -LIBS = -L${top_builddir}/auparse -lauparse +LIBS = ${top_builddir}/auparse/libauparse.la LDADD = -lpthread -lldap -llber $(CAPNG_LDADD) plugin_confdir=$(sysconfdir)/audit plugin_conf = zos-remote.conf @@ -36,7 +37,7 @@ zos-remote-queue.h audispd_zos_remote_SOURCES = zos-remote-plugin.c zos-remote-log.c \ zos-remote-ldap.c zos-remote-config.c zos-remote-queue.c -audispd_zos_remote_CFLAGS = -W -Wall -Wundef -D_GNU_SOURCE -fPIE -DPIE +audispd_zos_remote_CFLAGS = -W -Wall -Wundef -D_GNU_SOURCE -fPIE -DPIE ${WFLAGS} audispd_zos_remote_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now install-data-hook:
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/zos-remote/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/zos-remote/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -30,8 +30,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Klaus Heinrich Kiwi <klausk@br.ibm.com> @@ -213,8 +214,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -237,6 +236,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -248,8 +249,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -262,7 +265,7 @@ LDFLAGS = @LDFLAGS@ LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ LIBOBJS = @LIBOBJS@ -LIBS = -L${top_builddir}/auparse -lauparse +LIBS = ${top_builddir}/auparse/libauparse.la LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ LIBWRAP_LIBS = @LIBWRAP_LIBS@ @@ -305,6 +308,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -358,6 +362,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -385,7 +390,7 @@ audispd_zos_remote_SOURCES = zos-remote-plugin.c zos-remote-log.c \ zos-remote-ldap.c zos-remote-config.c zos-remote-queue.c -audispd_zos_remote_CFLAGS = -W -Wall -Wundef -D_GNU_SOURCE -fPIE -DPIE +audispd_zos_remote_CFLAGS = -W -Wall -Wundef -D_GNU_SOURCE -fPIE -DPIE ${WFLAGS} audispd_zos_remote_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now all: all-am @@ -640,7 +645,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/zos-remote/audispd-zos-remote.conf -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/zos-remote/audispd-zos-remote.conf
Changed
@@ -1,5 +1,5 @@ # This is the configuration for the audispd-zos-remote -# audit dispatcher plugin - See audispd(8) +# audit dispatcher plugin - See auditd(8) # # Note that this specific plugin has a configuration file of # its own. The complete path for this file must be entered as @@ -10,5 +10,5 @@ direction = out path = /sbin/audispd-zos-remote type = always -args = /etc/audisp/zos-remote.conf +args = /etc/audit/zos-remote.conf format = string
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/zos-remote/zos-remote-ldap.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/zos-remote/zos-remote-ldap.c
Changed
@@ -69,7 +69,7 @@ {ZOS_REMOTE_MAJOR_RACROUTE, "RACROUTE - The R_auditx service returned an unexpected error"}, {ZOS_REMOTE_MAJOR_VAL_ERR, "VAL_ERR - Value error in request"}, {ZOS_REMOTE_MAJOR_ENC_ERR, "ENC_ERR - DER decoding error in request"}, - {ZOS_REMOTE_MAJOR_UNSUF_AUTH, "UNSUF_AUTH - The user has unsuficient authority for the requested function"}, + {ZOS_REMOTE_MAJOR_UNSUF_AUTH, "UNSUF_AUTH - The user has unsufficient authority for the requested function"}, {ZOS_REMOTE_MAJOR_EMPTY, "EMPTY - Empty request received - No items found within the ItemList"}, {ZOS_REMOTE_MAJOR_INVALID_VER, "INVALID_VER - Invalid RequestVersion"}, {ZOS_REMOTE_MAJOR_INTERNAL_ERR, "INTERNAL_ERR - An internal error was encountered within the ICTX component"},
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/plugins/zos-remote/zos-remote-plugin.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/plugins/zos-remote/zos-remote-plugin.c
Changed
@@ -34,7 +34,6 @@ #include <string.h> #include <time.h> #include <errno.h> -#include <string.h> #include <pthread.h> #include <lber.h> #include <netinet/in.h> @@ -54,7 +53,7 @@ */ volatile int stop = 0; volatile int hup = 0; -volatile ZOS_REMOTE zos_remote_inst; +static ZOS_REMOTE zos_remote_inst; static plugin_conf_t conf; static const char *def_config_file = "/etc/audit/zos-remote.conf"; static pthread_t submission_thread;
View file
_service:tar_scm:audit-3.0.1.tar.gz/audisp/queue.c -> _service:tar_scm:audit-3.0.9.tar.gz/audisp/queue.c
Changed
@@ -1,5 +1,5 @@ /* queue.c -- - * Copyright 2007,2013,2015,2018 Red Hat Inc., Durham, North Carolina. + * Copyright 2007,2013,2015,2018,2022 Red Hat Inc. * All Rights Reserved. * * This library is free software; you can redistribute it and/or @@ -46,26 +46,31 @@ int init_queue(unsigned int size) { - unsigned int i; - - processing_suspended = 0; - q_next = 0; - q_last = 0; - currently_used = 0; - max_used = 0; - overflowed = 0; - q_depth = size; - q = malloc(q_depth * sizeof(event_t *)); - if (q == NULL) - return -1; + // The global variables are initialized to zero by the + // compiler. We can sometimes get here by a reconfigure. + // If the queue was already initialized, q_depth will be + // non-zero. In that case, leave everything alone. If the + // queue was destroyed due to lack of plugins, q_depth, + // as well as other queue variables, is set to zero so + // they do not need reinitializing. + if (q_depth == 0) { + unsigned int i; - for (i=0; i < q_depth; i++) - qi = NULL; + q_depth = size; + q = malloc(q_depth * sizeof(event_t *)); + if (q == NULL) { + processing_suspended = 1; + return -1; + } - /* Setup IPC mechanisms */ - pthread_mutex_init(&queue_lock, NULL); - pthread_cond_init(&queue_nonempty, NULL); + for (i=0; i < q_depth; i++) + qi = NULL; + /* Setup IPC mechanisms */ + pthread_mutex_init(&queue_lock, NULL); + pthread_cond_init(&queue_nonempty, NULL); + reset_suspended(); + } return 0; } @@ -91,12 +96,14 @@ exit(1); } -static void do_overflow_action(struct disp_conf *config) +static int do_overflow_action(struct disp_conf *config) { + int rc = -1; overflowed = 1; switch (config->overflow_action) { case O_IGNORE: + rc = 0; break; case O_SYSLOG: if (queue_full_warning < QUEUE_FULL_LIMIT) { @@ -129,6 +136,7 @@ syslog(LOG_ALERT, "Unknown overflow action requested"); break; } + return rc; } /* returns 0 on success and -1 on error */ @@ -144,9 +152,9 @@ retry: // We allow 3 retries and then its over if (retry_cnt > 3) { - do_overflow_action(config); free(e); - return -1; + + return do_overflow_action(config); } pthread_mutex_lock(&queue_lock); @@ -225,6 +233,7 @@ for (i=q_depth; i<size; i++) qi = NULL; q_depth = size; + overflowed = 0; } pthread_mutex_unlock(&queue_lock); } @@ -253,5 +262,11 @@ free((void *)qi); free(q); + q_last = 0; + q_depth = 0; + processing_suspended = 1; + currently_used = 0; + max_used = 0; + overflowed = 0; }
View file
_service:tar_scm:audit-3.0.1.tar.gz/audit.spec -> _service:tar_scm:audit-3.0.9.tar.gz/audit.spec
Changed
@@ -1,7 +1,7 @@ Summary: User space tools for kernel auditing Name: audit -Version: 3.0.1 +Version: 3.0.9 Release: 1%{dist} License: GPLv2+ Group: System Environment/Daemons @@ -15,8 +15,8 @@ Requires: %{name}-libs = %{version}-%{release} Requires(post): systemd coreutils -Requires(preun): systemd initscripts -Requires(postun): systemd coreutils initscript +Requires(preun): systemd initscripts-service +Requires(postun): systemd coreutils initscripts-service %description The audit package contains the user space utilities for @@ -193,6 +193,7 @@ %files %license COPYING %doc README ChangeLog rules init.d/auditd.cron +%attr(755,root,root) %{_datadir}/%{name} %attr(644,root,root) %{_datadir}/%{name}/sample-rules/* %attr(644,root,root) %{_mandir}/man8/auditctl.8.gz %attr(644,root,root) %{_mandir}/man8/auditd.8.gz @@ -227,6 +228,7 @@ %attr(750,root,root) %{_libexecdir}/initscripts/legacy-actions/auditd/rotate %attr(750,root,root) %{_libexecdir}/initscripts/legacy-actions/auditd/state %attr(750,root,root) %{_libexecdir}/initscripts/legacy-actions/auditd/stop +%attr(750,root,root) %{_libexecdir}/audit-functions %ghost %{_localstatedir}/run/auditd.state %attr(-,root,-) %dir %{_var}/log/audit %attr(750,root,root) %dir /etc/audit @@ -256,6 +258,6 @@ %changelog -* Fri Feb 12 2021 Steve Grubb <sgrubb@redhat.com> 3.0.1-1 +* Mon Aug 29 2022 Steve Grubb <sgrubb@redhat.com> 3.0.9-1 - New upstream release
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/Makefile.am
Changed
@@ -13,18 +13,20 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> +# Richard Guy Briggs <rgb@redhat.com> # SUBDIRS = test EXTRA_DIST = expression-design.txt CLEANFILES = $(BUILT_SOURCES) CONFIG_CLEAN_FILES = *.loT *.rej *.orig -AM_CFLAGS = -fPIC -DPIC -D_GNU_SOURCE -g ${DEBUG} -Wno-pointer-sign -Wno-enum-compare -Wno-switch +AM_CFLAGS = -fPIC -DPIC -D_GNU_SOURCE -g ${DEBUG} -Wno-pointer-sign -Wno-enum-compare -Wno-switch ${WFLAGS} AM_CPPFLAGS = -I. -I${top_srcdir} -I${top_srcdir}/src -I${top_srcdir}/lib -I${top_srcdir}/common LIBS = @@ -65,7 +67,8 @@ tcpoptnametabs.h typetabs.h umounttabs.h inethooktabs.h \ netactiontabs.h \ normalize_obj_kind_maps.h normalize_record_maps.h \ - normalize_syscall_maps.h normalize_evtypetabs.h bpftabs.h + normalize_syscall_maps.h normalize_evtypetabs.h bpftabs.h \ + openat2-resolvetabs.h noinst_PROGRAMS = gen_accesstabs_h gen_captabs_h gen_clock_h \ gen_clone-flagtabs_h \ gen_epoll_ctls_h gen_famtabs_h \ @@ -82,7 +85,8 @@ gen_socktypetabs_h gen_tcpoptnametabs_h gen_typetabs_h \ gen_umounttabs_h gen_inethooktabs_h gen_netactiontabs_h \ gen_normalize_record_map gen_normalize_syscall_map \ - gen_normalize_obj_kind_map gen_normalize_evtypetabs_h gen_bpftabs_h + gen_normalize_obj_kind_map gen_normalize_evtypetabs_h gen_bpftabs_h \ + gen_openat2-resolvetabs_h gen_accesstabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h accesstab.h gen_accesstabs_h_CFLAGS = '-DTABLE_H="accesstab.h"' @@ -660,3 +664,17 @@ bpftabs.h: gen_bpftabs_h Makefile ./gen_bpftabs_h --i2s bpf > $@ +gen_openat2_resolvetabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h \ + openat2-resolvetab.h +gen_openat2_resolvetabs_h_CFLAGS = '-DTABLE_H="openat2-resolvetab.h"' +$(gen_openat2_resolvetabs_h_OBJECTS): CC=$(CC_FOR_BUILD) +$(gen_openat2_resolvetabs_h_OBJECTS): CFLAGS=$(CFLAGS_FOR_BUILD) +$(gen_openat2_resolvetabs_h_OBJECTS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD) +$(gen_openat2_resolvetabs_h_OBJECTS): LDFLAGS=$(LDFLAGS_FOR_BUILD) +gen_openat2-resolvetabs_h$(BUILD_EXEEXT): CC=$(CC_FOR_BUILD) +gen_openat2-resolvetabs_h$(BUILD_EXEEXT): CFLAGS=$(CFLAGS_FOR_BUILD) +gen_openat2-resolvetabs_h$(BUILD_EXEEXT): CPPFLAGS=$(CPPFLAGS_FOR_BUILD) +gen_openat2-resolvetabs_h$(BUILD_EXEEXT): LDFLAGS=$(LDFLAGS_FOR_BUILD) +openat2-resolvetabs.h: gen_openat2-resolvetabs_h Makefile + ./gen_openat2-resolvetabs_h --i2s-transtab openat2_resolve > $@ +
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,11 +29,13 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> +# Richard Guy Briggs <rgb@redhat.com> # @@ -136,7 +138,8 @@ gen_netactiontabs_h$(EXEEXT) gen_normalize_record_map$(EXEEXT) \ gen_normalize_syscall_map$(EXEEXT) \ gen_normalize_obj_kind_map$(EXEEXT) \ - gen_normalize_evtypetabs_h$(EXEEXT) gen_bpftabs_h$(EXEEXT) + gen_normalize_evtypetabs_h$(EXEEXT) gen_bpftabs_h$(EXEEXT) \ + gen_openat2-resolvetabs_h$(EXEEXT) subdir = auparse ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \ @@ -383,6 +386,15 @@ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(gen_open_flagtabs_h_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ +am_gen_openat2_resolvetabs_h_OBJECTS = \ + gen_openat2_resolvetabs_h-gen_tables.$(OBJEXT) +gen_openat2_resolvetabs_h_OBJECTS = \ + $(am_gen_openat2_resolvetabs_h_OBJECTS) +gen_openat2_resolvetabs_h_LDADD = $(LDADD) +gen_openat2_resolvetabs_h_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(gen_openat2_resolvetabs_h_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ am_gen_persontabs_h_OBJECTS = gen_persontabs_h-gen_tables.$(OBJEXT) gen_persontabs_h_OBJECTS = $(am_gen_persontabs_h_OBJECTS) gen_persontabs_h_LDADD = $(LDADD) @@ -564,6 +576,7 @@ ./$(DEPDIR)/gen_normalize_record_map-gen_tables.Po \ ./$(DEPDIR)/gen_normalize_syscall_map-gen_tables.Po \ ./$(DEPDIR)/gen_open_flagtabs_h-gen_tables.Po \ + ./$(DEPDIR)/gen_openat2_resolvetabs_h-gen_tables.Po \ ./$(DEPDIR)/gen_persontabs_h-gen_tables.Po \ ./$(DEPDIR)/gen_pktoptnametabs_h-gen_tables.Po \ ./$(DEPDIR)/gen_prctl_opttabs_h-gen_tables.Po \ @@ -620,13 +633,15 @@ $(gen_normalize_obj_kind_map_SOURCES) \ $(gen_normalize_record_map_SOURCES) \ $(gen_normalize_syscall_map_SOURCES) \ - $(gen_open_flagtabs_h_SOURCES) $(gen_persontabs_h_SOURCES) \ - $(gen_pktoptnametabs_h_SOURCES) $(gen_prctl_opttabs_h_SOURCES) \ - $(gen_prottabs_h_SOURCES) $(gen_ptracetabs_h_SOURCES) \ - $(gen_recvtabs_h_SOURCES) $(gen_rlimit_h_SOURCES) \ - $(gen_schedtabs_h_SOURCES) $(gen_seccomptabs_h_SOURCES) \ - $(gen_seektabs_h_SOURCES) $(gen_shm_modetabs_h_SOURCES) \ - $(gen_signals_h_SOURCES) $(gen_sockleveltabs_h_SOURCES) \ + $(gen_open_flagtabs_h_SOURCES) \ + $(gen_openat2_resolvetabs_h_SOURCES) \ + $(gen_persontabs_h_SOURCES) $(gen_pktoptnametabs_h_SOURCES) \ + $(gen_prctl_opttabs_h_SOURCES) $(gen_prottabs_h_SOURCES) \ + $(gen_ptracetabs_h_SOURCES) $(gen_recvtabs_h_SOURCES) \ + $(gen_rlimit_h_SOURCES) $(gen_schedtabs_h_SOURCES) \ + $(gen_seccomptabs_h_SOURCES) $(gen_seektabs_h_SOURCES) \ + $(gen_shm_modetabs_h_SOURCES) $(gen_signals_h_SOURCES) \ + $(gen_sockleveltabs_h_SOURCES) \ $(gen_sockoptnametabs_h_SOURCES) $(gen_socktabs_h_SOURCES) \ $(gen_socktypetabs_h_SOURCES) $(gen_tcpoptnametabs_h_SOURCES) \ $(gen_typetabs_h_SOURCES) $(gen_umounttabs_h_SOURCES) @@ -645,13 +660,15 @@ $(gen_normalize_obj_kind_map_SOURCES) \ $(gen_normalize_record_map_SOURCES) \ $(gen_normalize_syscall_map_SOURCES) \ - $(gen_open_flagtabs_h_SOURCES) $(gen_persontabs_h_SOURCES) \ - $(gen_pktoptnametabs_h_SOURCES) $(gen_prctl_opttabs_h_SOURCES) \ - $(gen_prottabs_h_SOURCES) $(gen_ptracetabs_h_SOURCES) \ - $(gen_recvtabs_h_SOURCES) $(gen_rlimit_h_SOURCES) \ - $(gen_schedtabs_h_SOURCES) $(gen_seccomptabs_h_SOURCES) \ - $(gen_seektabs_h_SOURCES) $(gen_shm_modetabs_h_SOURCES) \ - $(gen_signals_h_SOURCES) $(gen_sockleveltabs_h_SOURCES) \ + $(gen_open_flagtabs_h_SOURCES) \ + $(gen_openat2_resolvetabs_h_SOURCES) \ + $(gen_persontabs_h_SOURCES) $(gen_pktoptnametabs_h_SOURCES) \ + $(gen_prctl_opttabs_h_SOURCES) $(gen_prottabs_h_SOURCES) \ + $(gen_ptracetabs_h_SOURCES) $(gen_recvtabs_h_SOURCES) \ + $(gen_rlimit_h_SOURCES) $(gen_schedtabs_h_SOURCES) \ + $(gen_seccomptabs_h_SOURCES) $(gen_seektabs_h_SOURCES) \ + $(gen_shm_modetabs_h_SOURCES) $(gen_signals_h_SOURCES) \ + $(gen_sockleveltabs_h_SOURCES) \ $(gen_sockoptnametabs_h_SOURCES) $(gen_socktabs_h_SOURCES) \ $(gen_socktypetabs_h_SOURCES) $(gen_tcpoptnametabs_h_SOURCES) \ $(gen_typetabs_h_SOURCES) $(gen_umounttabs_h_SOURCES) @@ -695,8 +712,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/auparse.pc.in \ $(top_srcdir)/depcomp @@ -746,6 +761,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -757,8 +774,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -814,6 +833,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -867,6 +887,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -884,7 +905,7 @@ EXTRA_DIST = expression-design.txt CLEANFILES = $(BUILT_SOURCES) CONFIG_CLEAN_FILES = *.loT *.rej *.orig -AM_CFLAGS = -fPIC -DPIC -D_GNU_SOURCE -g ${DEBUG} -Wno-pointer-sign -Wno-enum-compare -Wno-switch +AM_CFLAGS = -fPIC -DPIC -D_GNU_SOURCE -g ${DEBUG} -Wno-pointer-sign -Wno-enum-compare -Wno-switch ${WFLAGS} AM_CPPFLAGS = -I. -I${top_srcdir} -I${top_srcdir}/src -I${top_srcdir}/lib -I${top_srcdir}/common pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = auparse.pc @@ -918,7 +939,8 @@ tcpoptnametabs.h typetabs.h umounttabs.h inethooktabs.h \ netactiontabs.h \ normalize_obj_kind_maps.h normalize_record_maps.h \ - normalize_syscall_maps.h normalize_evtypetabs.h bpftabs.h + normalize_syscall_maps.h normalize_evtypetabs.h bpftabs.h \ + openat2-resolvetabs.h gen_accesstabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h accesstab.h gen_accesstabs_h_CFLAGS = '-DTABLE_H="accesstab.h"' @@ -1015,6 +1037,10 @@ gen_normalize_evtypetabs_h_CFLAGS = '-DTABLE_H="normalize_evtypetab.h"' gen_bpftabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h bpftab.h gen_bpftabs_h_CFLAGS = '-DTABLE_H="bpftab.h"' +gen_openat2_resolvetabs_h_SOURCES = ../lib/gen_tables.c ../lib/gen_tables.h \ + openat2-resolvetab.h + +gen_openat2_resolvetabs_h_CFLAGS = '-DTABLE_H="openat2-resolvetab.h"' all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -1199,6 +1225,10 @@ @rm -f gen_open-flagtabs_h$(EXEEXT) $(AM_V_CCLD)$(gen_open_flagtabs_h_LINK) $(gen_open_flagtabs_h_OBJECTS) $(gen_open_flagtabs_h_LDADD) $(LIBS) +gen_openat2-resolvetabs_h$(EXEEXT): $(gen_openat2_resolvetabs_h_OBJECTS) $(gen_openat2_resolvetabs_h_DEPENDENCIES) $(EXTRA_gen_openat2_resolvetabs_h_DEPENDENCIES) + @rm -f gen_openat2-resolvetabs_h$(EXEEXT) + $(AM_V_CCLD)$(gen_openat2_resolvetabs_h_LINK) $(gen_openat2_resolvetabs_h_OBJECTS) $(gen_openat2_resolvetabs_h_LDADD) $(LIBS) + gen_persontabs_h$(EXEEXT): $(gen_persontabs_h_OBJECTS) $(gen_persontabs_h_DEPENDENCIES) $(EXTRA_gen_persontabs_h_DEPENDENCIES) @rm -f gen_persontabs_h$(EXEEXT) $(AM_V_CCLD)$(gen_persontabs_h_LINK) $(gen_persontabs_h_OBJECTS) $(gen_persontabs_h_LDADD) $(LIBS) @@ -1311,6 +1341,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_normalize_record_map-gen_tables.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_normalize_syscall_map-gen_tables.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_open_flagtabs_h-gen_tables.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_openat2_resolvetabs_h-gen_tables.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_persontabs_h-gen_tables.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_pktoptnametabs_h-gen_tables.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen_prctl_opttabs_h-gen_tables.Po@am__quote@ # am--include-marker @@ -1714,6 +1745,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gen_open_flagtabs_h_CFLAGS) $(CFLAGS) -c -o gen_open_flagtabs_h-gen_tables.obj `if test -f '../lib/gen_tables.c'; then $(CYGPATH_W) '../lib/gen_tables.c'; else $(CYGPATH_W) '$(srcdir)/../lib/gen_tables.c'; fi` +gen_openat2_resolvetabs_h-gen_tables.o: ../lib/gen_tables.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gen_openat2_resolvetabs_h_CFLAGS) $(CFLAGS) -MT gen_openat2_resolvetabs_h-gen_tables.o -MD -MP -MF $(DEPDIR)/gen_openat2_resolvetabs_h-gen_tables.Tpo -c -o gen_openat2_resolvetabs_h-gen_tables.o `test -f '../lib/gen_tables.c' || echo '$(srcdir)/'`../lib/gen_tables.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gen_openat2_resolvetabs_h-gen_tables.Tpo $(DEPDIR)/gen_openat2_resolvetabs_h-gen_tables.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../lib/gen_tables.c' object='gen_openat2_resolvetabs_h-gen_tables.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gen_openat2_resolvetabs_h_CFLAGS) $(CFLAGS) -c -o gen_openat2_resolvetabs_h-gen_tables.o `test -f '../lib/gen_tables.c' || echo '$(srcdir)/'`../lib/gen_tables.c + +gen_openat2_resolvetabs_h-gen_tables.obj: ../lib/gen_tables.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gen_openat2_resolvetabs_h_CFLAGS) $(CFLAGS) -MT gen_openat2_resolvetabs_h-gen_tables.obj -MD -MP -MF $(DEPDIR)/gen_openat2_resolvetabs_h-gen_tables.Tpo -c -o gen_openat2_resolvetabs_h-gen_tables.obj `if test -f '../lib/gen_tables.c'; then $(CYGPATH_W) '../lib/gen_tables.c'; else $(CYGPATH_W) '$(srcdir)/../lib/gen_tables.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gen_openat2_resolvetabs_h-gen_tables.Tpo $(DEPDIR)/gen_openat2_resolvetabs_h-gen_tables.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../lib/gen_tables.c' object='gen_openat2_resolvetabs_h-gen_tables.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gen_openat2_resolvetabs_h_CFLAGS) $(CFLAGS) -c -o gen_openat2_resolvetabs_h-gen_tables.obj `if test -f '../lib/gen_tables.c'; then $(CYGPATH_W) '../lib/gen_tables.c'; else $(CYGPATH_W) '$(srcdir)/../lib/gen_tables.c'; fi` + gen_persontabs_h-gen_tables.o: ../lib/gen_tables.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gen_persontabs_h_CFLAGS) $(CFLAGS) -MT gen_persontabs_h-gen_tables.o -MD -MP -MF $(DEPDIR)/gen_persontabs_h-gen_tables.Tpo -c -o gen_persontabs_h-gen_tables.o `test -f '../lib/gen_tables.c' || echo '$(srcdir)/'`../lib/gen_tables.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gen_persontabs_h-gen_tables.Tpo $(DEPDIR)/gen_persontabs_h-gen_tables.Po @@ -2126,7 +2171,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am @@ -2196,7 +2240,8 @@ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive -install-exec: install-exec-recursive +install-exec: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive @@ -2264,6 +2309,7 @@ -rm -f ./$(DEPDIR)/gen_normalize_record_map-gen_tables.Po -rm -f ./$(DEPDIR)/gen_normalize_syscall_map-gen_tables.Po -rm -f ./$(DEPDIR)/gen_open_flagtabs_h-gen_tables.Po + -rm -f ./$(DEPDIR)/gen_openat2_resolvetabs_h-gen_tables.Po -rm -f ./$(DEPDIR)/gen_persontabs_h-gen_tables.Po -rm -f ./$(DEPDIR)/gen_pktoptnametabs_h-gen_tables.Po -rm -f ./$(DEPDIR)/gen_prctl_opttabs_h-gen_tables.Po @@ -2364,6 +2410,7 @@ -rm -f ./$(DEPDIR)/gen_normalize_record_map-gen_tables.Po -rm -f ./$(DEPDIR)/gen_normalize_syscall_map-gen_tables.Po -rm -f ./$(DEPDIR)/gen_open_flagtabs_h-gen_tables.Po + -rm -f ./$(DEPDIR)/gen_openat2_resolvetabs_h-gen_tables.Po -rm -f ./$(DEPDIR)/gen_persontabs_h-gen_tables.Po -rm -f ./$(DEPDIR)/gen_pktoptnametabs_h-gen_tables.Po -rm -f ./$(DEPDIR)/gen_prctl_opttabs_h-gen_tables.Po @@ -2409,7 +2456,7 @@ uninstall-pkgconfigDATA .MAKE: $(am__recursive_targets) all check install install-am \ - install-strip + install-exec install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--depfiles check check-am clean clean-generic \ @@ -2874,6 +2921,16 @@ gen_bpftabs_h$(BUILD_EXEEXT): LDFLAGS=$(LDFLAGS_FOR_BUILD) bpftabs.h: gen_bpftabs_h Makefile ./gen_bpftabs_h --i2s bpf > $@ +$(gen_openat2_resolvetabs_h_OBJECTS): CC=$(CC_FOR_BUILD) +$(gen_openat2_resolvetabs_h_OBJECTS): CFLAGS=$(CFLAGS_FOR_BUILD) +$(gen_openat2_resolvetabs_h_OBJECTS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD) +$(gen_openat2_resolvetabs_h_OBJECTS): LDFLAGS=$(LDFLAGS_FOR_BUILD) +gen_openat2-resolvetabs_h$(BUILD_EXEEXT): CC=$(CC_FOR_BUILD) +gen_openat2-resolvetabs_h$(BUILD_EXEEXT): CFLAGS=$(CFLAGS_FOR_BUILD) +gen_openat2-resolvetabs_h$(BUILD_EXEEXT): CPPFLAGS=$(CPPFLAGS_FOR_BUILD) +gen_openat2-resolvetabs_h$(BUILD_EXEEXT): LDFLAGS=$(LDFLAGS_FOR_BUILD) +openat2-resolvetabs.h: gen_openat2-resolvetabs_h Makefile + ./gen_openat2-resolvetabs_h --i2s-transtab openat2_resolve > $@ # Tell versions 3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded.
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/auparse-defs.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/auparse-defs.h
Changed
@@ -87,7 +87,9 @@ AUPARSE_TYPE_PROCTITLE, AUPARSE_TYPE_HOOK, AUPARSE_TYPE_NETACTION, AUPARSE_TYPE_MACPROTO, AUPARSE_TYPE_IOCTL_REQ, AUPARSE_TYPE_ESCAPED_KEY, - AUPARSE_TYPE_ESCAPED_FILE, AUPARSE_TYPE_FANOTIFY } auparse_type_t; + AUPARSE_TYPE_ESCAPED_FILE, AUPARSE_TYPE_FANOTIFY, + AUPARSE_TYPE_NLMCGRP, AUPARSE_TYPE_RESOLVE +} auparse_type_t; /* This type determines what escaping if any gets applied to interpreted fields */ typedef enum { AUPARSE_ESC_RAW, AUPARSE_ESC_TTY, AUPARSE_ESC_SHELL,
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/auparse-idata.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/auparse-idata.h
Changed
@@ -1,6 +1,6 @@ /* * idata.h - Header file for ausearch-lookup.c -* Copyright (c) 2013,2016-17 Red Hat Inc., Durham, North Carolina. +* Copyright (c) 2013,2016-17,2021 Red Hat Inc. * All Rights Reserved. * * This library is free software; you can redistribute it and/or @@ -34,8 +34,8 @@ unsigned long long a0; // arg 0 to the syscall unsigned long long a1; // arg 1 to the syscall const char *cwd; // The current working directory - const char *name; // name of field being interpretted - const char *val; // value of field being interpretted + const char *name; // name of field being interpreted + const char *val; // value of field being interpreted } idata; @@ -45,6 +45,7 @@ void _auparse_load_interpretations(const char *buf); void _auparse_free_interpretations(void); const char *_auparse_lookup_interpretation(const char *name); +void _auparse_flush_caches(void); #endif
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/auparse.c -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/auparse.c
Changed
@@ -1,5 +1,5 @@ /* auparse.c -- - * Copyright 2006-08,2012-19 Red Hat Inc., Durham, North Carolina. + * Copyright 2006-08,2012-19,21 Red Hat Inc. * All Rights Reserved. * * This library is free software; you can redistribute it and/or @@ -32,6 +32,7 @@ #include <string.h> #include <unistd.h> #include <stdio_ext.h> +#include <limits.h> #include "common.h" //#define LOL_EVENTS_DEBUG01 1 // add debug for list of list event @@ -66,8 +67,9 @@ char *filename, **tmp; int len, num = 0, i = 0; - /* Load config so we know where logs are */ - set_aumessage_mode(au, MSG_STDERR, DBG_NO); + /* Load config so we know where logs are */ + if (secure_getenv("AUPARSE_DEBUG")) + set_aumessage_mode(au, MSG_STDERR, DBG_NO); aup_load_config(au, &config, TEST_SEARCH); /* for each file */ @@ -117,7 +119,7 @@ free(filename); // Terminate the list - tmpi = NULL; + tmpi = NULL; au->source_list = tmp; return 0; } @@ -136,11 +138,10 @@ int sz = ARRAY_LIMIT * sizeof(au_lolnode); lol->maxi = -1; - lol->limit = ARRAY_LIMIT; - if ((lol->array = (au_lolnode *)malloc(sz)) == NULL) { - lol->maxi = -1; + if ((lol->array = (au_lolnode *)malloc(sz)) == NULL) return NULL; - } + + lol->limit = ARRAY_LIMIT; memset(lol->array, 0x00, sz); return lol->array; @@ -238,7 +239,7 @@ int i; au_lol *lol = au->au_lo; au_lolnode *lowest = NULL; - + if (au->au_ready == 0) { //if (debug) printf("No events ready\n"); return NULL; @@ -295,7 +296,7 @@ au->au_ready++; } else if ( // FIXME: Check this v remains true r->type == AUDIT_PROCTITLE || - r->type == AUDIT_EOE || + r->type == AUDIT_EOE || r->type < AUDIT_FIRST_EVENT || r->type >= AUDIT_FIRST_ANOM_MSG || r->type == AUDIT_KERNEL || @@ -414,8 +415,9 @@ { struct daemon_conf config; - /* Load config so we know where logs are */ - set_aumessage_mode(au, MSG_STDERR, DBG_NO); + /* Load config so we know where logs are */ + if (secure_getenv("AUPARSE_DEBUG")) + set_aumessage_mode(au, MSG_STDERR, DBG_NO); aup_load_config(au, &config, TEST_SEARCH); eoe_timeout = (time_t)config.end_of_event_timeout; @@ -455,6 +457,9 @@ return NULL; } au->au_ready = 0; + au->escape_mode = AUPARSE_ESC_TTY; + au->message_mode = MSG_QUIET; + au->debug_message = DBG_NO; au->in = NULL; au->source_list = NULL; @@ -551,9 +556,6 @@ au->expr = NULL; au->find_field = NULL; au->search_where = AUSEARCH_STOP_EVENT; - au->escape_mode = AUPARSE_ESC_TTY; - au->message_mode = MSG_QUIET; - au->debug_message = DBG_NO; au->tmp_translation = NULL; init_normalizer(&au->norm_data); @@ -653,10 +655,31 @@ return 0; } -// If there is data in the state machine, return 1 +// If there is any data in the state machine, return 1. // Otherwise return 0 to indicate its empty int auparse_feed_has_data(auparse_state_t *au) { + if (!au) + return 0; + + int i; + au_lol *lol = au->au_lo; + + // An improvement would be to track how many events we have stored + // to avoid a costly loop + for (i=0; i <= lol->maxi; i++) { + au_lolnode *cur = &(lol->arrayi); + if (cur->status > EBS_EMPTY) + return 1; + } + + return 0; +} + +// If there is a ready event in the state machine, return 1. +// Otherwise return 0 to indicate its empty +int auparse_feed_has_ready_event(auparse_state_t *au) +{ if (au_get_ready_event(au, 1) != NULL) return 1; @@ -729,7 +752,7 @@ /* Fall through */ case AUSOURCE_DESCRIPTOR: case AUSOURCE_FILE_POINTER: - if (au->in) + if (au->in) rewind(au->in); /* Fall through */ case AUSOURCE_BUFFER: @@ -956,7 +979,7 @@ if (au->source_list) { int n = 0; - while (au->source_listn) + while (au->source_listn) free(au->source_listn++); free(au->source_list); au->source_list = NULL; @@ -989,7 +1012,7 @@ void auparse_destroy(auparse_state_t *au) { - lookup_destroy_uid_list(); + lookup_destroy_uid_list(); aulookup_destroy_gid_list(); auparse_destroy_common(au); @@ -1008,7 +1031,7 @@ * without a newline (note, this implies the line may be empty (strlen == 0)) if * successfully read a blank line (e.g. containing only a single newline). * cur_buf will have been newly allocated with malloc. - * + * * Note: cur_buf will be freed the next time this routine is called if * cur_buf is not NULL, callers who retain a reference to the cur_buf * pointer will need to set cur_buf to NULL to cause the previous cur_buf @@ -1066,7 +1089,7 @@ * newline (note, this implies the line may be empty (strlen == 0)) if * successfully read a blank line (e.g. containing only a single * newline). - * + * * Note: cur_buf will be freed the next time this routine is called if * cur_buf is not NULL, callers who retain a reference to the cur_buf * pointer will need to set cur_buf to NULL to cause the previous cur_buf @@ -1099,7 +1122,7 @@ if ((p_newline = strnchr(databuf_beg(&au->databuf), '\n', au->databuf.len)) != NULL) { line_len = p_newline - databuf_beg(&au->databuf); - + /* dup the line */ au->cur_buf = malloc(line_len+1); // +1 for null terminator if (au->cur_buf == NULL) @@ -1112,7 +1135,6 @@ // return success errno = 0; return 1; - } else { // return no data available errno = 0; @@ -1126,18 +1148,18 @@ errno = 0; e->sec = strtoul(s, NULL, 10); - if (errno) + if (errno || e->sec > (LONG_MAX - eoe_timeout -1)) return -1; ptr = strchr(s, '.'); if (ptr) { ptr++; e->milli = strtoul(ptr, NULL, 10); - if (errno) + if (errno || e->milli > 999) return -1; s = ptr; } else e->milli = 0; - + ptr = strchr(s, ':'); if (ptr) { ptr++; @@ -1173,13 +1195,14 @@ ptr = audit_strsplit(tmp); if (ptr) { // Optionally grab the node - may or may not be included - if (*ptr == 'n') { + if (*ptr == 'n' && strnlen(ptr, 8) > 5) { e->host = strdup(ptr+5); (void)audit_strsplit(NULL);// Bump along to next one } // at this point we have type= ptr = audit_strsplit(NULL); - if (ptr) { + // strlen is for fuzzers that make invalid lines + if (ptr && strnlen(ptr, 20) > 18) { if (*(ptr+9) == '(') ptr+=9; else @@ -1227,7 +1250,7 @@ /* This function will figure out how to get the next line of input. * storing it cur_buf. cur_buf will be NULL terminated but will not - * contain a trailing newline. This implies a successful read + * contain a trailing newline. This implies a successful read * (result == 1) may result in a zero length cur_buf if a blank line * was read. * @@ -1559,8 +1582,11 @@ if (debug) printf("Adding event to building event\n"); #endif /* LOL_EVENTS_DEBUG01 */ - aup_list_append(cur->l, au->cur_buf, - au->list_idx, au->line_number); + if (aup_list_append(cur->l, au->cur_buf, + au->list_idx, au->line_number) < 0) { + au->cur_buf = NULL; + continue; + } au->cur_buf = NULL; free((char *)e.host); au_check_events(au, e.sec); @@ -1588,7 +1614,13 @@ } aup_list_create(l); aup_list_set_event(l, &e); - aup_list_append(l, au->cur_buf, au->list_idx, au->line_number); + if (aup_list_append(l, au->cur_buf, au->list_idx, + au->line_number) < 0) { + au->cur_buf = NULL; + aup_list_clear(l); + free(l); + continue; + } // Eat standalone EOE - main event was already marked complete if (l->head->type == AUDIT_EOE) { au->cur_buf = NULL; @@ -1745,6 +1777,14 @@ if (rc <= 0) return rc; } + r = aup_list_get_cur(au->le); + if (r && r->item == 0 && interpretation_list_cnt()) { + // If we are on the first record and the list has previously + // been loaded, just pull cursor back and avoid loading the + // interpretation list. + aup_list_first_field(au->le); + return 1; + } aup_list_first(au->le); r = aup_list_get_cur(au->le); free_interpretation_list(); @@ -1783,6 +1823,15 @@ { rnode *r; + r = aup_list_get_cur(au->le); + if (r && r->item == num && interpretation_list_cnt()) { + // If we are on the first record and the list has previously + // been loaded, just pull cursor back and avoid loading the + // interpretation list. + aup_list_first_field(au->le); + return 1; + } + /* Check if a request is out of range */ free_interpretation_list(); // Its OK if au->le == NULL because get_cnt handles it @@ -1967,7 +2016,8 @@ rnode *r = aup_list_get_cur(au->le); while (r) { // For each record in the event... if (!moved) { - nvlist_next(&r->nv); + if (nvlist_next(&r->nv) == NULL) + return NULL; moved=1; } if (nvlist_find_name(&r->nv, au->find_field)) @@ -1975,6 +2025,7 @@ r = aup_list_next(au->le); if (r) { aup_list_first_field(au->le); + free_interpretation_list(); load_interpretation_list(r->interp); } }
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/auparse.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/auparse.h
Changed
@@ -1,5 +1,5 @@ /* auparse.h -- - * Copyright 2006-08,2012,2014-17 Red Hat Inc., Durham, North Carolina. + * Copyright 2006-08,2012,2014-17,2022 Red Hat Inc. * All Rights Reserved. * * This library is free software; you can redistribute it and/or @@ -25,6 +25,14 @@ #include "auparse-defs.h" +#ifndef __attr_access +# define __attr_access(x) +#endif +#ifndef __attr_dealloc +# define __attr_dealloc(dealloc, argno) +# define __attr_dealloc_free +#endif + #ifdef __cplusplus extern "C" { #endif @@ -40,18 +48,22 @@ auparse_cb_event_t cb_event_type, void *user_data); /* General functions that affect operation of the library */ -auparse_state_t *auparse_init(ausource_t source, const void *b); -int auparse_new_buffer(auparse_state_t *au, const char *data, size_t data_len); -int auparse_feed(auparse_state_t *au, const char *data, size_t data_len); +void auparse_destroy(auparse_state_t *au); +void auparse_destroy_ext(auparse_state_t *au, auparse_destroy_what_t what); +auparse_state_t *auparse_init(ausource_t source, const void *b) + __attribute_malloc__ __attr_dealloc (auparse_destroy, 1); +int auparse_new_buffer(auparse_state_t *au, const char *data, size_t data_len) + __attr_access ((__read_only__, 2, 3)); +int auparse_feed(auparse_state_t *au, const char *data, size_t data_len) + __attr_access ((__read_only__, 2, 3)); void auparse_feed_age_events(auparse_state_t *au); int auparse_flush_feed(auparse_state_t *au); int auparse_feed_has_data(auparse_state_t *au); +int auparse_feed_has_ready_event(auparse_state_t *au); void auparse_add_callback(auparse_state_t *au, auparse_callback_ptr callback, void *user_data, user_destroy user_destroy_func); void auparse_set_escape_mode(auparse_state_t *au, auparse_esc_t mode); int auparse_reset(auparse_state_t *au); -void auparse_destroy(auparse_state_t *au); -void auparse_destroy_ext(auparse_state_t *au, auparse_destroy_what_t what); /* Functions that are part of the search interface */ int ausearch_add_expression(auparse_state_t *au, const char *expression, @@ -64,7 +76,7 @@ unsigned milli, ausearch_rule_t how); int ausearch_add_timestamp_item_ex(auparse_state_t *au, const char *op, time_t sec, unsigned milli, unsigned serial, ausearch_rule_t how); -int ausearch_add_regex(auparse_state_t *au, const char *expr); +int ausearch_add_regex(auparse_state_t *au, const char *regexp); int ausearch_set_stop(auparse_state_t *au, austop_t where); void ausearch_clear(auparse_state_t *au); @@ -118,7 +130,7 @@ time_t auparse_get_time(auparse_state_t *au); unsigned int auparse_get_milli(auparse_state_t *au); unsigned long auparse_get_serial(auparse_state_t *au); -const char *auparse_get_node(auparse_state_t *au); +const char *auparse_get_node(auparse_state_t *au) __attr_dealloc_free; int auparse_node_compare(au_event_t *e1, au_event_t *e2); int auparse_timestamp_compare(au_event_t *e1, au_event_t *e2); unsigned int auparse_get_num_records(auparse_state_t *au);
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/captab.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/captab.h
Changed
@@ -1,5 +1,5 @@ /* captab.h -- - * Copyright 2007,2008,2012-14 Red Hat Inc., Durham, North Carolina. + * Copyright 2007,2008,2012-14,2021 Red Hat Inc. * All Rights Reserved. * * This library is free software; you can redistribute it and/or @@ -60,3 +60,7 @@ _S(35, "wake_alarm" ) _S(36, "block_suspend" ) _S(37, "audit_read" ) +_S(38, "perfmon" ) +_S(39, "bpf" ) +_S(40, "checkpoint_restore" ) +
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/data_buf.c -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/data_buf.c
Changed
@@ -35,7 +35,7 @@ #include <stdio.h> #include <stdlib.h> -#include <string.h> +#include <string.h> // for memmove() #include <assert.h> #include <stdarg.h> #include <errno.h> @@ -85,7 +85,6 @@ /*****************************************************************************/ static int databuf_shift_data_to_beginning(DataBuf *db); -static int databuf_strcat(DataBuf *db, const char *str); /*****************************************************************************/ /************************* External Global Variables ***********************/ @@ -143,7 +142,6 @@ fmt?" ":"", db->alloc_size, db->alloc_ptr, db->offset, databuf_beg(db), db->len, db->max_len); if (db->flags & DATABUF_FLAG_PRESERVE_HEAD) printf("PRESERVE_HEAD "); - if (db->flags & DATABUF_FLAG_STRING) printf("STRING "); printf(""); if (print_data) { @@ -173,9 +171,6 @@ } } - // For strings intialize with initial NULL terminator - if (flags & DATABUF_FLAG_STRING) databuf_strcat(db, ""); - return 1; } @@ -254,33 +249,6 @@ return databuf_append(db, src, src_size); } -static int databuf_strcat(DataBuf *db, const char *str) -{ - size_t str_len; - - DATABUF_VALIDATE(db); - - if (str == NULL) return 0; - - // +1 so the data append also copies the NULL terminator - str_len = strlen(str) + 1; - - // If there is a NULL terminator exclude it so the subsequent - // data append produces a proper string concatenation - if (db->len > 0) { - char *last_char = databuf_end(db) - 1; - if (last_char && *last_char == 0) { - db->len--; // backup over NULL terminator - } - } - - // Copy string and NULL terminator - databuf_append(db, str, str_len); - - DATABUF_VALIDATE(db); - return 1; -} - int databuf_advance(DataBuf *db, size_t advance) { size_t actual_advance; @@ -347,25 +315,10 @@ char *data; int rc; - rc = databuf_init(&buf, size, DATABUF_FLAG_STRING); + rc = databuf_init(&buf, size, 0); assert(rc); databuf_print(&buf, 1, "after init size=%d", size); -#if 1 - data = "a"; - assert(databuf_strcat(&buf, data)); - databuf_print(&buf, 1, "after strcat(%s)", data); - - data = "bb"; - assert(databuf_strcat(&buf, data)); - databuf_print(&buf, 1, "after strcat(%s)", data); - - data = "ccc"; - assert(databuf_strcat(&buf, data)); - databuf_print(&buf, 1, "after strcat(%s)", data); - -#endif - databuf_free(&buf); #if 0
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/data_buf.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/data_buf.h
Changed
@@ -34,7 +34,6 @@ /*****************************************************************************/ #define DATABUF_FLAG_PRESERVE_HEAD (1 << 0) -#define DATABUF_FLAG_STRING (2 << 0) /*****************************************************************************/
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/ellist.c -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/ellist.c
Changed
@@ -103,7 +103,7 @@ static int parse_up_record(rnode* r) { char *ptr, *buf, *saved=NULL; - unsigned int offset = 0; + unsigned int offset = 0, len; // Potentially cut the record in two ptr = strchr(r->record, AUDIT_INTERP_SEPARATOR); @@ -112,10 +112,19 @@ ptr++; } r->interp = ptr; - buf = strdup(r->record); + // Rather than call strndup, we will do it ourselves to reduce + // the number of interations across the record. + // len includes the string terminator. + len = strlen(r->record) + 1; + r->nv.record = buf = malloc(len); + if (r->nv.record == NULL) + return -1; + memcpy(r->nv.record, r->record, len); + r->nv.end = r->nv.record + len; ptr = audit_strsplit_r(buf, &saved); if (ptr == NULL) { free(buf); + r->nv.record = NULL; return -1; } @@ -147,10 +156,13 @@ // Remove beginning cruft of name if (*ptr == '(') ptr++; - n.name = strdup(ptr); - n.val = strdup(val); + n.name = ptr; + n.val = val; // Remove trailing punctuation len = strlen(n.val); + // Check for invalid val + if (!len) + continue; if (len && n.vallen-1 == ':') { n.vallen-1 = 0; len--; @@ -172,32 +184,59 @@ } // Make virtual keys or just store it if (strcmp(n.name, "key") == 0 && *n.val != '(') { - if (*n.val == '"') - nvlist_append(&r->nv, &n); - else { + if (*n.val == '"') { + // This is a normal single key. + n.name = strdup("key"); + char *t = strdup(n.val); + n.val = t; + if (nvlist_append(&r->nv, &n)) { + free(n.name); + free(n.val); + continue; + } + } else { + // Virtual keys char *key, *ptr2, *saved2; key = (char *)au_unescape(n.val); if (key == NULL) { + n.name = strdup("key"); + n.val = NULL; // Malformed key - save as is - nvlist_append(&r->nv, &n); + if (nvlist_append(&r->nv, &n)) { + free(n.name); + free(n.val); + } continue; } ptr2 = strtok_r(key, key_sep, &saved2); - free(n.name); - free(n.val); while (ptr2) { n.name = strdup("key"); n.val = escape(ptr2); - nvlist_append(&r->nv, &n); + if (nvlist_append(&r->nv, &n)) { + free(n.name); + free(n.val); + } ptr2 = strtok_r(NULL, key_sep, &saved2); } free(key); } continue; - } else - nvlist_append(&r->nv, &n); + } else { + if (strcmp(n.name, "key") == 0) { + // This is a null key + n.name = strdup("key"); + char *t = strdup(n.val); + n.val = t; + if (nvlist_append(&r->nv, &n)) { + free(n.name); + free(n.val); + continue; + } + } else // everything not a key + nvlist_append(&r->nv, &n); + } // Do some info gathering for use later if (r->nv.cnt == 1 && strcmp(n.name, "node") == 0) @@ -208,7 +247,7 @@ r->type = audit_name_to_msg_type(n.val); // This has to account for seccomp records } else if ((r->nv.cnt == (2 + offset) || - r->nv.cnt == (11 + offset)) && + r->nv.cnt == (11 + offset)) && strcmp(n.name, "arch")== 0){ unsigned int ival; errno = 0; @@ -260,7 +299,9 @@ while (ptr && *ptr != '}') { len = strlen(ptr); if ((len+1) >= (256-total)) { - free(buf); + if (nvlist_get_cnt(&r->nv) + == 0) + free(buf); return -1; } if (tmpctx0) { @@ -274,18 +315,28 @@ } n.name = strdup("seperms"); n.val = strdup(tmpctx); - nvlist_append(&r->nv, &n); + if (nvlist_append(&r->nv, &n)) { + free(n.name); + free(n.val); + } continue; } } else continue; - n.val = strdup(ptr); + n.val = ptr; nvlist_append(&r->nv, &n); } } while((ptr = audit_strsplit_r(NULL, &saved))); - free(buf); - r->nv.cur = r->nv.head; // reset to beginning + // If for some reason it was useless, delete buf + if (r->nv.cnt == 0) { + free(buf); + r->nv.record = NULL; + r->nv.end = NULL; + free((void *)r->cwd); + } + + r->nv.cur = 0; // reset to beginning return 0; } @@ -350,7 +401,7 @@ current = l->head; while (current) { nextnode=current->next; - nvlist_clear(¤t->nv); + nvlist_clear(¤t->nv, 1); free(current->record); free(current); current=nextnode; @@ -431,7 +482,7 @@ if (high <= low) return NULL; - node = l->head; /* Start at the beginning */ + node = l->head; /* Start at the beginning */ while (node) { if (node->type >= low && node->type <= high) { l->cur = node;
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/ellist.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/ellist.h
Changed
@@ -1,6 +1,6 @@ /* * ellist.h - Header file for ellist.c -* Copyright (c) 2006-07,2017 Red Hat Inc., Durham, North Carolina. +* Copyright (c) 2006-07,2017,2021 Red Hat Inc. * All Rights Reserved. * * This library is free software; you can redistribute it and/or @@ -44,7 +44,7 @@ static inline unsigned int aup_list_get_cnt(event_list_t *l) { return l ? l->cnt : 0; } static inline void aup_list_first(event_list_t *l) { l->cur = l->head; } -static inline rnode *aup_list_get_cur(event_list_t *l) { return l->cur; } +static inline rnode *aup_list_get_cur(event_list_t *l) { return l ? l->cur : NULL; } AUDIT_HIDDEN_START
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/internal.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/internal.h
Changed
@@ -98,7 +98,7 @@ typedef struct { au_lolnode *array; /* array of events */ int maxi; /* largest index in array used */ - int limit; /* number of events in array */ + size_t limit; /* number of events in array */ } au_lol; /*
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/interpret.c -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/interpret.c
Changed
@@ -1,7 +1,7 @@ /* * interpret.c - Lookup values to something more readable -* Copyright (c) 2007-09,2011-16,2018-19 Red Hat Inc., Durham, North Carolina. -* All Rights Reserved. +* Copyright (c) 2007-09,2011-16,2018-21 Red Hat Inc. +* All Rights Reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -44,12 +44,15 @@ #include <linux/ax25.h> #include <linux/atm.h> #include <linux/x25.h> -#include <linux/if.h> // FIXME: remove when ipx.h is fixed -#include <linux/ipx.h> +#ifdef HAVE_IPX_HEADERS + #include <linux/if.h> // FIXME: remove when ipx.h is fixed + #include <linux/ipx.h> +#endif #include <linux/capability.h> #include <sys/personality.h> #include <sys/prctl.h> #include <sched.h> +#include <limits.h> /* PATH_MAX */ #ifdef USE_FANOTIFY #include <linux/fanotify.h> #else @@ -120,6 +123,7 @@ #include "inethooktabs.h" #include "netactiontabs.h" #include "bpftabs.h" +#include "openat2-resolvetabs.h" typedef enum { AVC_UNSET, AVC_DENIED, AVC_GRANTED } avc_t; typedef enum { S_UNSET=-1, S_FAILED, S_SUCCESS } success_t; @@ -394,9 +398,11 @@ } /////////// Interpretation list functions /////////////// +#define NEVER_LOADED 0xFFFF void init_interpretation_list(void) { nvlist_create(&il); + il.cnt = NEVER_LOADED; } /* @@ -411,7 +417,10 @@ if (buffer == NULL) return 0; - buf = strdup(buffer); + if (il.cnt == NEVER_LOADED) + il.cnt = 0; + + il.record = buf = strdup(buffer); if (strncmp(buf, "SADDR=", 6) == 0) { // We have SOCKADDR record. It has no other values. // Handle it by itself. @@ -420,23 +429,25 @@ val = ptr; ptr = strchr(val, '}'); if (ptr) { - n.name = strdup("saddr"); - n.val = strdup(val); - nvlist_append(&il, &n); + // Just change the case + n.name = strcpy(buf, "saddr"); + n.val = val; + if (nvlist_append(&il, &n)) + goto err_out; nvlist_interp_fixup(&il); - free(buf); return 1; } } +err_out: free(buf); + il.record = NULL; + il.cnt = NEVER_LOADED; return 0; } else { // We handle everything else in this branch ptr = audit_strsplit_r(buf, &saved); - if (ptr == NULL) { - free(buf); - return 0; - } + if (ptr == NULL) + goto err_out; do { char tmp; @@ -447,7 +458,7 @@ val++; } else // Malformed - skip continue; - n.name = strdup(ptr); + n.name = ptr; char *c = n.name; while (*c) { *c = tolower(*c); @@ -460,14 +471,19 @@ } else tmp = 0; - n.val = strdup(val); - nvlist_append(&il, &n); + n.val = val; + if (nvlist_append(&il, &n)) + continue; // assuming we loaded something nvlist_interp_fixup(&il); if (ptr) *ptr = tmp; - } while((ptr = audit_strsplit_r(NULL, &saved))); + } while ((ptr = audit_strsplit_r(NULL, &saved))); } - free(buf); + + // If for some reason it was useless, delete buf + if (il.cnt == 0) + goto err_out; + return 1; } @@ -478,6 +494,9 @@ { nvnode *n; + if (il.cnt == NEVER_LOADED) + return NULL; + nvlist_first(&il); if (nvlist_find_name(&il, name)) { n = nvlist_get_cur(&il); @@ -494,7 +513,20 @@ void free_interpretation_list(void) { - nvlist_clear(&il); + if (il.cnt != NEVER_LOADED) { + nvlist_clear(&il, 0); + il.cnt = NEVER_LOADED; + } +} + +// This uses a sentinel to determine if the list has ever been loaded. +// If never loaded, returns 0. Otherwise it returns 1 higher than how +// many interpretations are loaded. +unsigned int interpretation_list_cnt(void) +{ + if (il.cnt == NEVER_LOADED) + return 0; + return il.cnt+1; } //////////// Start Field Value Interpretations ///////////// @@ -624,6 +656,18 @@ gid_cache_created = 0; } +void _auparse_flush_caches(void) +{ + if (uid_cache_created) { + destroy_lru(uid_cache); + uid_cache_created = 0; + } + if (gid_cache_created) { + destroy_lru(gid_cache); + gid_cache_created = 0; + } +} + static const char *print_uid(const char *val, unsigned int base) { int uid; @@ -799,6 +843,9 @@ { char *out; + if (val == NULL) + return strdup(" "); + if (*val == '"') { char *term; val++; @@ -828,6 +875,65 @@ return strdup(val); // Something is wrong with string, just send as is } +// This code is loosely based on glibc-2.27 realpath. +static char workingPATH_MAX; +static char *path_norm(const char *name) +{ + char *rpath, *dest; + const char *start, *end, *rpath_limit; + int old_errno = errno; + + errno = EINVAL; + if (name == NULL) + return NULL; + if (name0 == 0) + return NULL; + errno = old_errno; + + // If not absolute, give it back as is + if (name0 == '.') + return strdup(name); + + rpath = working; + dest = rpath; + rpath_limit = rpath + PATH_MAX; + + for (start = name; *start; start = end) { + // Remove duplicate '/' + while (*start == '/') + ++start; + + // Find end of path component + for (end = start; *end && *end != '/'; ++end) + ; //empty + + // if it ends with a slash, we're done + if (end - start == 0) + break; + else if (end - start == 1 && start0 == '.') + ; //empty + else if (end - start == 2 && start0 == '.' && + start1 == '.') { + // Back up to previous component, ignore if root + if (dest > rpath + 1) + while ((--dest)-1 != '/'); + } else { + if (dest-1 != '/') + *dest++ = '/'; + + // If it will overflow, chop it at last component + if (dest + (end - start) >= rpath_limit) { + *dest = 0; + break; + } + // Otherwise copy next component + dest = mempcpy (dest, start, end - start); + *dest = 0; + } + } + return strdup(working); +} + static const char *print_escaped_ext(const idata *id) { if (id->cwd) { @@ -850,9 +956,8 @@ str2 = NULL; str1 = NULL; } - errno = 0; - out = realpath(str3, NULL); - if (errno) { // If there's an error, just return the original + out = path_norm(str3); + if (!out) { // If there's an error, just return the original free(str1); free(str2); return str3; @@ -1123,13 +1228,19 @@ // Now print address for some families switch (saddr->sa_family) { case AF_LOCAL: - { + if (slen < 4) { + rc = asprintf(&out, + "{ saddr_fam=%s sockaddr len too short }", + str); + break; + } else { const struct sockaddr_un *un = (const struct sockaddr_un *)saddr; + if (un->sun_path0) rc = asprintf(&out, - "{ saddr_fam=%s path=%s }", str, - un->sun_path); + "{ saddr_fam=%s path=%.108s }", + str, un->sun_path); else // abstract name rc = asprintf(&out, "{ saddr_fam=%s path=%.108s }", @@ -1171,6 +1282,7 @@ x->sax25_call.ax25_call6); } break; +#ifdef HAVE_IPX_HEADERS case AF_IPX: { const struct sockaddr_ipx *ip = @@ -1180,6 +1292,7 @@ str, ip->sipx_port, ip->sipx_network); } break; +#endif case AF_ATMPVC: { const struct sockaddr_atmpvc* at = @@ -1218,11 +1331,16 @@ str); break; case AF_NETLINK: - { + if (slen < sizeof(struct sockaddr_nl)) { + rc = asprintf(&out, + "{ saddr_fam=%s len too short }", + str); + break; + } else { const struct sockaddr_nl *n = (const struct sockaddr_nl *)saddr; rc = asprintf(&out, - "{ saddr_fam=%s nlnk-fam=%u nlnk-pid=%u }", + "{ saddr_fam=%s nlnk-fam=%u nlnk-pid=%u }", str, n->nl_family, n->nl_pid); } break; @@ -1242,7 +1360,7 @@ { int flags, cnt = 0; size_t i; - char *out, buf80; + char *out, bufsizeof(flag_strings)+FLAG_NUM_ENTRIES+1; errno = 0; flags = strtoul(val, NULL, 16); @@ -1377,7 +1495,7 @@ size_t i; unsigned int flags; int cnt = 0; - char *out, bufsizeof(open_flag_strings)+8; + char *out, bufsizeof(open_flag_strings)+OPEN_FLAG_NUM_ENTRIES+1; errno = 0; flags = strtoul(val, NULL, 16); @@ -1414,8 +1532,8 @@ static const char *print_clone_flags(const char *val) { unsigned int flags, i, clone_sig; - int cnt = 0; - char *out, bufsizeof(clone_flag_strings)+16;// + 10 for signal name + int cnt = 0; // + 10 for signal name + char *out, bufsizeof(clone_flag_strings)+CLONE_FLAG_NUM_ENTRIES+10; errno = 0; flags = strtoul(val, NULL, 16); @@ -1524,7 +1642,7 @@ { unsigned int prot, i, limit; int cnt = 0; - char buf144; + char bufsizeof(prot_strings)+PROT_NUM_ENTRIES+1; char *out; errno = 0; @@ -1566,7 +1684,7 @@ { unsigned int maps, i; int cnt = 0; - char bufsizeof(mmap_strings)+8; + char bufsizeof(mmap_strings)+MMAP_NUM_ENTRIES+1; char *out; errno = 0; @@ -1677,7 +1795,7 @@ { unsigned int mounts, i; int cnt = 0; - char bufsizeof(mount_strings)+8; + char bufsizeof(mount_strings)+MOUNT_NUM_ENTRIES+1; char *out; errno = 0; @@ -1732,7 +1850,7 @@ { unsigned int rec, i; int cnt = 0; - char bufsizeof(recv_strings)+8; + char bufsizeof(recv_strings)+RECV_NUM_ENTRIES+1; char *out; errno = 0; @@ -1764,7 +1882,7 @@ static const char *print_access(const char *val) { unsigned long mode; - char buf16; + char bufsizeof(access_strings)+ACCESS_NUM_ENTRIES+1; unsigned int i, cnt = 0; errno = 0; @@ -1801,7 +1919,16 @@ { char *out; - if (strcmp(val, "-100") == 0) { + errno = 0; + uint32_t i = strtoul(val, NULL, 16); + if (errno) { + char *out; + if (asprintf(&out, "conversion error(%s)", val) < 0) + out = NULL; + return out; + } + + if (i == 0xffffff9c) { if (asprintf(&out, "AT_FDCWD") < 0) out = NULL; } else { @@ -2011,7 +2138,7 @@ { unsigned int flags, partial, i; int cnt = 0; - char *out, bufsizeof(shm_mode_strings)+sizeof(ipccmd_strings)+8; + char *out, bufsizeof(shm_mode_strings)+sizeof(ipccmd_strings)+SHM_MODE_NUM_ENTRIES+IPCCMD_NUM_ENTRIES+1; errno = 0; flags = strtoul(val, NULL, 16); @@ -2092,7 +2219,7 @@ { unsigned int flags, i; int cnt = 0; - char bufsizeof(umount_strings)+8; + char bufsizeof(umount_strings)+UMOUNT_NUM_ENTRIES+1; char *out; errno = 0; @@ -2211,6 +2338,40 @@ return strdup(str); } +static const char *print_openat2_resolve(const char *val) +{ + size_t i; + unsigned long long resolve; + int cnt = 0; + char *out, bufsizeof(openat2_resolve_strings)+8; + + errno = 0; + resolve = strtoull(val, NULL, 16); + if (errno) { + if (asprintf(&out, "conversion error(%s)", val) < 0) + out = NULL; + return out; + } + + buf0 = 0; + for (i=0; i<OPENAT2_RESOLVE_NUM_ENTRIES; i++) { + if (openat2_resolve_tablei.value & resolve) { + if (!cnt) { + strcat(buf, + openat2_resolve_strings + openat2_resolve_tablei.offset); + cnt++; + } else { + strcat(buf, "|"); + strcat(buf, + openat2_resolve_strings + openat2_resolve_tablei.offset); + } + } + } + if (buf0 == 0) + snprintf(buf, sizeof(buf), "0x%s", val); + return strdup(buf); +} + static const char *print_a0(const char *val, const idata *id) { char *out; @@ -2220,14 +2381,12 @@ if (*sys == 'r') { if (strcmp(sys, "rt_sigaction") == 0) return print_signals(val, 16); - else if (strcmp(sys, "renameat") == 0) + else if (strncmp(sys, "renameat", 8) == 0) return print_dirfd(val); else if (strcmp(sys, "readlinkat") == 0) return print_dirfd(val); } else if (*sys == 'c') { - if (strcmp(sys, "clone") == 0) - return print_clone_flags(val); - else if (strcmp(sys, "clock_settime") == 0) + if (strcmp(sys, "clock_settime") == 0) return print_clock_id(val); } else if (*sys == 'p') { if (strcmp(sys, "personality") == 0) @@ -2248,7 +2407,7 @@ return print_dirfd(val); else if (strcmp(sys, "fchmodat") == 0) return print_dirfd(val); - else if (strcmp(sys, "faccessat") == 0) + else if (strncmp(sys, "faccessat", 9) == 0) return print_dirfd(val); else if (strcmp(sys, "futimensat") == 0) return print_dirfd(val); @@ -2287,7 +2446,9 @@ return print_dirfd(val); else if (strcmp(sys, "newfstatat") == 0) return print_dirfd(val); - else if (strcmp(sys, "openat") == 0) + else if (strncmp(sys, "openat", 6) == 0) + return print_dirfd(val); + else if (strcmp(sys, "name_to_handle_at") == 0) return print_dirfd(val); else if (strcmp(sys, "ipccall") == 0) return print_ipccall(val, 16); @@ -2423,10 +2584,12 @@ return print_open_flags(val); if ((strcmp(sys, "open") == 0) && (id->a1 & O_CREAT)) return print_mode_short(val, 16); + if (strcmp(sys, "open_by_handle_at") == 0) + return print_open_flags(val); } else if (*sys == 'f') { if (strcmp(sys, "fchmodat") == 0) return print_mode_short(val, 16); - else if (strcmp(sys, "faccessat") == 0) + else if (strncmp(sys, "faccessat", 9) == 0) return print_access(val); } else if (*sys == 's') { if (strcmp(sys, "setresuid") == 0) @@ -2456,11 +2619,18 @@ return print_recv(val); else if (strcmp(sys, "readlinkat") == 0) return print_dirfd(val); + else if (strncmp(sys, "renameat", 8) == 0) + return print_dirfd(val); } else if (*sys == 'l') { if (strcmp(sys, "linkat") == 0) return print_dirfd(val); else if (strcmp(sys, "lseek") == 0) return print_seek(val); + } else if (*sys == 'c') { + if (strcmp(sys, "clone") == 0) + return print_clone_flags(val); + else if (strcmp(sys, "clone2") == 0) + return print_clone_flags(val); } else if (strstr(sys, "chown")) return print_gid(val, 16); @@ -2843,6 +3013,31 @@ return out; } +static const char *nlmcgrp2= { "audit-none", "audit-netlink-multicast" }; +static const char *print_nlmcgrp(const char *val) +{ + unsigned long nl; + + errno = 0; + nl = strtoul(val, NULL, 16); + if (errno) { + char *out; + if (asprintf(&out, "conversion error(%s)", val) < 0) + out = NULL; + return out; + } + + switch (nl) + { + default: + return strdup(nlmcgrp0); +#ifdef AUDIT_NLGRP_MAX + case AUDIT_NLGRP_READLOG: + return strdup(nlmcgrp1); +#endif + } +} + int lookup_type(const char *name) { int i; @@ -2854,11 +3049,11 @@ /* * This is the main entry point for the auparse library. Call chain is: - * auparse_interpret_field -> nvlist_interp_cur_val -> interpret + * auparse_interpret_field -> nvlist_interp_cur_val -> do_interpret */ -const char *interpret(const rnode *r, auparse_esc_t escape_mode) +const char *do_interpret(rnode *r, auparse_esc_t escape_mode) { - const nvlist *nv = &r->nv; + nvlist *nv = &r->nv; int type; idata id; nvnode *n; @@ -2929,7 +3124,8 @@ type = AUPARSE_TYPE_ESCAPED; else type = AUPARSE_TYPE_UNCLASSIFIED; - } + } else if (rtype == AUDIT_KERN_MODULE && strcmp(name, "name") == 0) + type = AUPARSE_TYPE_ESCAPED; else type = lookup_type(name); @@ -2946,10 +3142,11 @@ const char *out; // Check the interpretations list first - if (il.head) { + if (interpretation_list_cnt()) { nvlist_first(&il); if (nvlist_find_name(&il, id->name)) { - const char *val = il.cur->interp_val; + nvnode* node = &il.arrayil.cur; + const char *val = node->interp_val; if (val) { // If we don't know what it is when auditd @@ -3083,6 +3280,12 @@ case AUPARSE_TYPE_FANOTIFY: out = print_fanotify(id->val); break; + case AUPARSE_TYPE_NLMCGRP: + out = print_nlmcgrp(id->val); + break; + case AUPARSE_TYPE_RESOLVE: + out = print_openat2_resolve(id->val); + break; case AUPARSE_TYPE_MAC_LABEL: case AUPARSE_TYPE_UNCLASSIFIED: default:
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/interpret.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/interpret.h
Changed
@@ -34,8 +34,9 @@ void init_interpretation_list(void); int load_interpretation_list(const char *buf); void free_interpretation_list(void); +unsigned int interpretation_list_cnt(void); int lookup_type(const char *name); -const char *interpret(const rnode *r, auparse_esc_t escape_mode); +const char *do_interpret(rnode *r, auparse_esc_t escape_mode); void lookup_destroy_uid_list(void); void aulookup_destroy_gid_list(void); char *au_unescape(char *buf);
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/normalize-internal.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/normalize-internal.h
Changed
@@ -1,6 +1,6 @@ /* * normalize-internal.h - * Copyright (c) 2016-18 Red Hat Inc., Durham, North Carolina. + * Copyright (c) 2016-18,21 Red Hat Inc. * All Rights Reserved. * * This library is free software; you can redistribute it and/or @@ -72,6 +72,7 @@ #define NORM_SCHEDULER 36 #define NORM_AV 37 #define NORM_BPF 38 +#define NORM_EV_LISTEN 39 // This enum is used to map what the system objects are #define NORM_WHAT_UNKNOWN 0 @@ -119,5 +120,6 @@ #define NORM_EVTYPE_DAC_DECISION 16 #define NORM_EVTYPE_GROUP_CHANGE 17 #define NORM_EVTYPE_AV_DECISION 18 +#define NORM_EVTYPE_BPF 19 #endif
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/normalize.c -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/normalize.c
Changed
@@ -53,6 +53,7 @@ #define D au->norm_data static int syscall_success; +static value_t find_simple_object(auparse_state_t *au, int type); void init_normalizer(normalize_data *d) { @@ -99,6 +100,16 @@ syscall_success = -1; } +static void set_system_subject_what(auparse_state_t *au) +{ + D.actor.what = strdup("system"); +} + +static void set_unknown_subject_what(auparse_state_t *au) +{ + D.actor.what = strdup("unknown-acct"); +} + static unsigned int set_subject_what(auparse_state_t *au) { int uid = NORM_ACCT_UNSET - 1; @@ -118,6 +129,7 @@ } } } + set_unknown_subject_what(au); return 1; } @@ -131,7 +143,7 @@ else if (uid < NORM_ACCT_MAX_USER) D.actor.what = strdup("user-acct"); else - D.actor.what = strdup("unknown-acct"); + set_unknown_subject_what(au); return 0; } @@ -334,9 +346,11 @@ if ((strcmp(str, "unset") == 0) && errno == 0) { // Only move it if its safe to if (cnt < limit) { - auparse_next_field(au); + if (auparse_next_field(au) == 0) + return; cnt++; - } + } else + return; } else break; } @@ -494,7 +508,23 @@ static int set_program_obj(auparse_state_t *au) { auparse_first_record(au); - if (auparse_find_field(au, "exe")) { + int type = auparse_get_type(au); + + if (type == AUDIT_BPF) { + if (auparse_find_field(au, "prog-id")) { + D.thing.primary = set_record(0, + auparse_get_record_num(au)); + D.thing.primary = set_field(D.thing.primary, + auparse_get_field_num(au)); + } + } else if (type == AUDIT_EVENT_LISTENER) { + if (auparse_find_field(au, "nl-mcgrp")) { + D.thing.primary = set_record(0, + auparse_get_record_num(au)); + D.thing.primary = set_field(D.thing.primary, + auparse_get_field_num(au)); + } + } else if (auparse_find_field(au, "exe")) { const char *exe = auparse_interpret_field(au); if ((strncmp(exe, "/usr/bin/python", 15) == 0) || (strncmp(exe, "/usr/bin/sh", 11) == 0) || @@ -514,16 +544,8 @@ D.thing.primary = set_field(D.thing.primary, auparse_get_field_num(au)); return 0; - } else { - // Maybe its a BPF program? - auparse_first_record(au); - if (auparse_find_field(au, "prog-id")) { - D.thing.primary = set_record(0, - auparse_get_record_num(au)); - D.thing.primary = set_field(D.thing.primary, - auparse_get_field_num(au)); - } } + return 1; } @@ -568,10 +590,18 @@ objtype = NORM_MAC_CONFIG; break; } else if (ttype == AUDIT_FANOTIFY) { + // We want to go ahead with syscall to get objects tmp_objkind = NORM_AV; break; + } else if (ttype == AUDIT_TIME_INJOFFSET || + ttype == AUDIT_TIME_ADJNTPVAL) { + objtype = NORM_SYSTEM_TIME; + break; } else if (ttype == AUDIT_BPF) { - tmp_objkind = NORM_BPF; + objtype = NORM_BPF; + break; + } else if (ttype == AUDIT_EVENT_LISTENER) { + objtype = NORM_EV_LISTEN; break; } rc = auparse_next_record(au); @@ -873,6 +903,20 @@ D.thing.what = NORM_WHAT_PROCESS; set_program_obj(au); break; + case NORM_EV_LISTEN: + auparse_first_record(au); + f = auparse_find_field(au, "op"); + if (f) { + const char *str = auparse_get_field_str(au); + if (strcmp(str, "connect") == 0) + act = "connected-to"; + else + act = "disconnected-from"; + } else + act = "connected"; + D.thing.what = NORM_WHAT_SOCKET; + set_program_obj(au); + break; default: { const char *k; @@ -934,10 +978,11 @@ case AUDIT_USYS_CONFIG: case AUDIT_CONFIG_CHANGE: case AUDIT_NETFILTER_CFG: - case AUDIT_FEATURE_CHANGE ... AUDIT_REPLACE: + case AUDIT_FEATURE_CHANGE: + case AUDIT_TIME_INJOFFSET: + case AUDIT_TIME_ADJNTPVAL: case AUDIT_USER_DEVICE: case AUDIT_SOFTWARE_UPDATE: - case AUDIT_EVENT_LISTENER: kind = NORM_EVTYPE_CONFIG; break; case AUDIT_SECCOMP: @@ -946,13 +991,13 @@ case AUDIT_TEST ... AUDIT_TRUSTED_APP: case AUDIT_USER_CMD: case AUDIT_CHUSER_ID: - case AUDIT_BPF: kind = NORM_EVTYPE_USERSPACE; break; case AUDIT_USER_TTY: case AUDIT_TTY: kind = NORM_EVTYPE_TTY; break; + case AUDIT_EVENT_LISTENER: case AUDIT_FIRST_DAEMON ... AUDIT_LAST_DAEMON: kind = NORM_EVTYPE_AUDIT_DAEMON; break; @@ -997,6 +1042,9 @@ case AUDIT_FANOTIFY: kind = NORM_EVTYPE_AV_DECISION; break; + case AUDIT_BPF: + kind = NORM_EVTYPE_BPF; + break; default: kind = NORM_EVTYPE_UNKNOWN; } @@ -1004,6 +1052,44 @@ return evtype_i2s(kind); } +const char *find_config_change_object(auparse_state_t *au) +{ + const char *f; + + // Check if its an audit rule + auparse_first_record(au); + f = auparse_find_field(au, "key"); + if (f) { + const char *str = auparse_get_field_str(au); + if (str && strcmp(str, "(null)")) + return f; + } + + // Next lets find the individual objects being set + auparse_first_record(au); + f = auparse_find_field(au, "audit_enabled"); + if (f) + return f; + auparse_first_record(au); + f = auparse_find_field(au, "audit_pid"); + if (f) + return f; + auparse_first_record(au); + f = auparse_find_field(au, "audit_backlog_limit"); + if (f) + return f; + auparse_first_record(au); + f = auparse_find_field(au, "audit_failure"); + if (f) + return f; + auparse_first_record(au); + f = auparse_find_field(au, "actions"); // seccomp-logging + if (f) + return f; + + return NULL; +} + static int normalize_compound(auparse_state_t *au) { const char *f, *syscall = NULL; @@ -1011,20 +1097,20 @@ otype = type = auparse_get_type(au); - // All compound events have a syscall record - // Some start with a record type and follow with a syscall - if (type == AUDIT_NETFILTER_CFG || type == AUDIT_ANOM_PROMISCUOUS || - type == AUDIT_AVC || type == AUDIT_SELINUX_ERR || - type == AUDIT_MAC_POLICY_LOAD || type == AUDIT_MAC_STATUS || - type == AUDIT_MAC_CONFIG_CHANGE || type == AUDIT_FANOTIFY) { - auparse_next_record(au); - type = auparse_get_type(au); - } else if (type == AUDIT_ANOM_LINK) { - auparse_next_record(au); - auparse_next_record(au); - type = auparse_get_type(au); + // All compound events have a syscall record, find it + if (type != AUDIT_SYSCALL) { + do { + // If we go off the end without finding a syscall + // record, don't parse corrupt events + if (auparse_next_record(au) < 0) + return 1; + type = auparse_get_type(au); + } while (type && type != AUDIT_SYSCALL); } + if (!type) + return 1; + // Determine the kind of event using original event type D.evkind = normalize_determine_evkind(otype); @@ -1132,6 +1218,21 @@ if (act) D.action = strdup(act); // FIXME: AUDIT_ANOM_LINK needs an object + } else if (otype == AUDIT_CONFIG_CHANGE) { + const char *f; + + auparse_first_record(au); + f = auparse_find_field(au, "op"); + if (f) { + value_t o; + + // Fix the action + D.action = strdup(auparse_interpret_field(au)); + + // Next fix the object + o = find_simple_object(au, AUDIT_CONFIG_CHANGE); + D.thing.primary = o; + } } else normalize_syscall(au, syscall); } @@ -1238,25 +1339,7 @@ D.thing.what = NORM_WHAT_PRINTER; break; case AUDIT_CONFIG_CHANGE: - f = auparse_find_field(au, "key"); - if (f == NULL) { - auparse_first_record(au); - f = auparse_find_field(au, "audit_enabled"); - if (f == NULL) { - auparse_first_record(au); - f = auparse_find_field(au, "audit_pid"); - if (f == NULL) { - auparse_first_record(au); - f = auparse_find_field(au, - "audit_backlog_limit"); - if (f == NULL) { - auparse_first_record(au); - f = auparse_find_field(au, - "audit_failure"); - } - } - } - } + f = find_config_change_object(au); D.thing.what = NORM_WHAT_AUDIT_CONFIG; break; case AUDIT_MAC_CONFIG_CHANGE: @@ -1391,10 +1474,6 @@ const char *f, *act = NULL; int type = auparse_get_type(au); - // netfilter_cfg sometimes emits 1 record events - if (type == AUDIT_NETFILTER_CFG) - return 1; - // Some older OS do not have PROCTITLE records if (type == AUDIT_SYSCALL) return normalize_compound(au); @@ -1405,7 +1484,8 @@ // This is for events that follow: // auid, (op), (uid), stuff if (type == AUDIT_CONFIG_CHANGE || type == AUDIT_FEATURE_CHANGE || - type == AUDIT_SECCOMP || type == AUDIT_ANOM_ABEND) { + type == AUDIT_SECCOMP || type == AUDIT_ANOM_ABEND || + type == AUDIT_ANOM_PROMISCUOUS) { // Subject - primary set_prime_subject(au, "auid", 0); @@ -1511,6 +1591,13 @@ D.how = strdup(sig); } } + if (type == AUDIT_ANOM_PROMISCUOUS) { + auparse_first_field(au); + set_prime_object(au, "dev", 0); + set_secondary_subject(au, "uid", 0); + + D.thing.what = NORM_WHAT_SOCKET; + } // Results set_results(au, 0); @@ -1552,6 +1639,29 @@ return 0; } + // NETFILTER_CFG is atypical + if (type == AUDIT_NETFILTER_CFG) { + // Subject attrs + collect_simple_subj_attr(au); + // how + f = auparse_find_field(au, "comm"); + if (f) { + const char *sig = auparse_interpret_field(au); + D.how = strdup(sig); + } + D.action = strdup("loaded-firewall-rule-to"); + auparse_first_record(au); + f = auparse_find_field(au, "table"); + if (f) { + D.thing.primary = set_record(0, + auparse_get_record_num(au)); + D.thing.primary = set_field(D.thing.primary, + auparse_get_field_num(au)); + } + set_system_subject_what(au); + D.thing.what = NORM_WHAT_FIREWALL; + return 0; + } /* This one is also atypical and comes from the kernel */ if (type == AUDIT_AVC) { // how @@ -1563,28 +1673,41 @@ auparse_first_record(au); // Subject - if (set_prime_subject(au, "scontext", 0)) - auparse_first_record(au); + set_prime_subject(au, "scontext", 0); + set_unknown_subject_what(au); + auparse_first_record(au); // Object if (D.opt == NORM_OPT_ALL) { // We will only collect this when everything is asked // for because it messes up text format otherwise - if (set_prime_object(au, "tcontext", 0)) - auparse_first_record(au); + set_prime_object(au, "tcontext", 0); + auparse_first_record(au); } + // Ideally we would choose tclass + D.thing.what = NORM_WHAT_UNKNOWN; + // action act = normalize_record_map_i2s(type); if (act) D.action = strdup(act); + // find the denial + auparse_first_record(au); + f = auparse_find_field(au, "seresult"); + if (f) { + D.results = set_record(0, 0); + D.results = set_field(D.results, + auparse_get_field_num(au)); + } + // This is slim pickings without a syscall record return 0; } /* Daemon events are atypical because they never transit the kernel */ - if (type >= AUDIT_FIRST_DAEMON && + if (type >= AUDIT_FIRST_DAEMON && type < AUDIT_LAST_DAEMON) { // Subject - primary set_prime_subject(au, "auid", 0); @@ -1599,6 +1722,8 @@ // Subject attrs collect_simple_subj_attr(au); + free((void *)D.actor.what); + D.actor.what = strdup("auditd"); // action act = normalize_record_map_i2s(type); @@ -1608,6 +1733,12 @@ // Object type D.thing.what = NORM_WHAT_SERVICE; + // How start:init, everything else:signal + if (type == AUDIT_DAEMON_START) + D.how = strdup("init"); + else if (type < AUDIT_DAEMON_ACCEPT && type != AUDIT_DAEMON_ABORT) + D.how = strdup("signal"); + // Results set_results(au, 0); return 0; @@ -1615,6 +1746,7 @@ // BPF events are atypical if (type == AUDIT_BPF) { + set_system_subject_what(au); auparse_first_record(au); f = auparse_find_field(au, "op"); if (f) { @@ -1632,6 +1764,52 @@ return 0; } + // LISTENER events are atypical + if (type == AUDIT_EVENT_LISTENER) { + // Subject - primary + set_prime_subject(au, "auid", 0); + + // Secondary - optional + auparse_first_record(au); + set_secondary_subject(au, "uid", 0); + + // Session + auparse_first_record(au); + add_session(au, 0); + + // Subject attrs + collect_simple_subj_attr(au); + + auparse_first_record(au); + f = auparse_find_field(au, "op"); + if (f) { + const char *str = auparse_get_field_str(au); + if (strcmp(str, "connect") == 0) + act = "connected-to"; + else + act = "disconnected-from"; + } else + act = "connected"; + D.action = strdup(act); + + set_program_obj(au); + D.thing.what = NORM_WHAT_SOCKET; + + // How + auparse_first_record(au); + f = auparse_find_field(au, "exe"); + if (f) { + const char *exe = auparse_interpret_field(au); + D.how = strdup(exe); + } + + // Results + auparse_first_record(au); + set_results(au, 0); + + return 0; + } + // Labeled networking events are atypical if (type >= AUDIT_MAC_UNLBL_ALLOW && type <= AUDIT_LAST_SELINUX) { // Subject - primary @@ -1707,7 +1885,30 @@ collect_userspace_subj_attr(au, type); // Results - set_results(au, 0); + if (type != AUDIT_USER_AVC) + set_results(au, 0); + else { + // find the denial + auparse_first_record(au); + f = auparse_find_field(au, "seresult"); + if (f) { + D.results = set_record(0, 0); + D.results = set_field(D.results, + auparse_get_field_num(au)); + } + + // Subject + auparse_first_record(au); + set_prime_subject(au, "scontext", 0); + + // Object + if (D.opt == NORM_OPT_ALL) { + // We will only collect this when everything is asked + // for because it messes up text format otherwise + auparse_first_record(au); + set_prime_object(au, "tcontext", 0); + } + } // action if (type == AUDIT_USER_DEVICE) { @@ -1722,27 +1923,40 @@ D.action = strdup(act); // object - D.thing.primary = find_simple_object(au, type); - D.thing.secondary = find_simple_obj_secondary(au, type); - D.thing.two = find_simple_obj_primary2(au, type); - - // object attrs - rare on simple events - if (D.opt == NORM_OPT_ALL) { - if (type == AUDIT_USER_DEVICE) { - add_obj_attr(au, "uuid", 0); - } else if (type == AUDIT_SOFTWARE_UPDATE) { - auparse_first_record(au); - add_obj_attr(au, "key_enforce", 0); - add_obj_attr(au, "gpg_res", 0); + if (type != AUDIT_USER_AVC) { + auparse_first_record(au); + D.thing.primary = find_simple_object(au, type); + D.thing.secondary = find_simple_obj_secondary(au, type); + D.thing.two = find_simple_obj_primary2(au, type); + + // object attrs - rare on simple events + if (D.opt == NORM_OPT_ALL) { + if (type == AUDIT_USER_DEVICE) { + add_obj_attr(au, "uuid", 0); + } else if (type == AUDIT_SOFTWARE_UPDATE) { + auparse_first_record(au); + add_obj_attr(au, "key_enforce", 0); + add_obj_attr(au, "gpg_res", 0); + } } } // how if (type == AUDIT_SYSTEM_BOOT) { D.thing.what = NORM_WHAT_SYSTEM; + f = auparse_find_field(au, "exe"); + if (f) { + const char *exe = auparse_interpret_field(au); + D.how = strdup(exe); + } return 0; } else if (type == AUDIT_SYSTEM_SHUTDOWN) { D.thing.what = NORM_WHAT_SERVICE; + f = auparse_find_field(au, "exe"); + if (f) { + const char *exe = auparse_interpret_field(au); + D.how = strdup(exe); + } return 0; } auparse_first_record(au); @@ -1811,7 +2025,7 @@ if (num > 1) rc = normalize_compound(au); else - rc = normalize_simple(au); + rc = normalize_simple(au); // Reset the cursor auparse_first_record(au);
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/normalize_evtypetab.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/normalize_evtypetab.h
Changed
@@ -1,5 +1,5 @@ /* normalize_evtypetab.h -- - * Copyright 2017 Red Hat Inc., Durham, North Carolina. + * Copyright 2017,2021 Red Hat Inc. * All Rights Reserved. * * This library is free software; you can redistribute it and/or @@ -41,4 +41,4 @@ _S(NORM_EVTYPE_DAC_DECISION, "dac-decision" ) _S(NORM_EVTYPE_GROUP_CHANGE, "group-change" ) _S(NORM_EVTYPE_AV_DECISION, "av-decision" ) - +_S(NORM_EVTYPE_BPF, "bpf-program" )
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/normalize_obj_kind_map.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/normalize_obj_kind_map.h
Changed
@@ -1,6 +1,6 @@ /* * normalize_obj_kind_map.h - * Copyright (c) 2016-18 Red Hat Inc., Durham, North Carolina. + * Copyright (c) 2016-18,21 Red Hat Inc. * All Rights Reserved. * * This library is free software; you can redistribute it and/or
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/normalize_record_map.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/normalize_record_map.h
Changed
@@ -32,7 +32,7 @@ _S(AUDIT_CRED_DISP, "disposed-credentials") _S(AUDIT_USER_START, "started-session") _S(AUDIT_USER_END, "ended-session") -_S(AUDIT_USER_AVC, "access-permission") +_S(AUDIT_USER_AVC, "accessed-mac-policy-controlled-object") _S(AUDIT_USER_CHAUTHTOK, "changed-password") _S(AUDIT_USER_ERR, "caused-account-error") _S(AUDIT_CRED_REFR, "refreshed-credentials") @@ -86,6 +86,7 @@ _S(AUDIT_FANOTIFY, "accessed-policy-controlled-file") //_S(AUDIT_BPF, "") //_S(AUDIT_EVENT_LISTENER, "") +//_S(AUDIT_OPENAT2, "") _S(AUDIT_AVC, "accessed-mac-policy-controlled-object") _S(AUDIT_MAC_POLICY_LOAD, "loaded-selinux-policy") _S(AUDIT_MAC_STATUS, "changed-selinux-enforcement-to") @@ -93,6 +94,7 @@ //_S(AUDIT_MAC_UNLBL_ALLOW, "") _S(AUDIT_MAC_MAP_ADD, "added-mac-network-domain-mapping-to") _S(AUDIT_MAC_MAP_DEL, "deleted-mac-network-domain-mapping-from") +_S(AUDIT_ANOM_PROMISCUOUS, "changed-socket-promiscuous-mode") _S(AUDIT_ANOM_ABEND, "crashed-program") _S(AUDIT_ANOM_LINK, "used-suspcious-link") _S(AUDIT_ANOM_CREAT, "created-suspicious-file")
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/normalize_syscall_map.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/normalize_syscall_map.h
Changed
@@ -41,6 +41,9 @@ _S(NORM_FILE_DIR, "mkdir") _S(NORM_FILE_DIR, "mkdirat") _S(NORM_FILE_MOUNT, "mount") +_S(NORM_FILE_MOUNT, "move_mount") +_S(NORM_FILE_MOUNT, "fsmount") +_S(NORM_FILE_MOUNT, "fspick") _S(NORM_FILE_STAT, "newfstatat") _S(NORM_FILE_STAT, "stat") _S(NORM_FILE_STAT, "fstat") @@ -53,6 +56,7 @@ _S(NORM_FILE, "fallocate") _S(NORM_FILE, "truncate") _S(NORM_FILE, "ftruncate") +_S(NORM_FILE, "memfd_create") _S(NORM_FILE, "open") _S(NORM_FILE, "openat") _S(NORM_FILE, "openat2")
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/nvlist.c -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/nvlist.c
Changed
@@ -1,7 +1,7 @@ /* * nvlist.c - Minimal linked list library for name-value pairs -* Copyright (c) 2006-07,2016 Red Hat Inc., Durham, North Carolina. -* All Rights Reserved. +* Copyright (c) 2006-07,2016,2021 Red Hat Inc. +* All Rights Reserved. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -28,60 +28,58 @@ #include "interpret.h" #include "auparse-idata.h" - -void nvlist_create(nvlist *l) +static inline void alloc_array(nvlist *l) { - l->head = NULL; - l->cur = NULL; - l->cnt = 0; + l->array = calloc(NFIELDS, sizeof(nvnode)); + l->size = NFIELDS; } -static void nvlist_last(nvlist *l) +void nvlist_create(nvlist *l) { - register nvnode* node; - - if (l->head == NULL) - return; - - node = l->head; - while (node->next) - node = node->next; - l->cur = node; + if (l) { + alloc_array(l); + l->cur = 0; + l->cnt = 0; + l->record = NULL; + l->end = NULL; + } } nvnode *nvlist_next(nvlist *l) { - if (l->cur) - l->cur = l->cur->next; - return l->cur; + // Since cur will be incremented, check for 1 less that total + if (l->cnt && l->cur < (l->cnt - 1)) { + l->cur++; + return &l->arrayl->cur; + } + return NULL; } -void nvlist_append(nvlist *l, nvnode *node) +// 0 on success and 1 on error +int nvlist_append(nvlist *l, nvnode *node) { - nvnode* newnode = malloc(sizeof(nvnode)); + if (node->name == NULL) + return 1; + + if (l->array == NULL) + alloc_array(l); + if (l->cnt == l->size) { + l->array = realloc(l->array, l->size * sizeof(nvnode) * 2); + memset(l->array + l->size, 0, sizeof(nvnode) * l->size); + l->size = l->size * 2; + } + + nvnode *newnode = &l->arrayl->cnt; newnode->name = node->name; newnode->val = node->val; newnode->interp_val = NULL; - newnode->item = l->cnt; - newnode->next = NULL; - - // if we are at top, fix this up - if (l->head == NULL) - l->head = newnode; - else { // Otherwise add pointer to newnode - if (l->cnt == (l->cur->item+1)) { - l->cur->next = newnode; - } - else { - nvlist_last(l); - l->cur->next = newnode; - } - } + newnode->item = l->cnt; // make newnode current - l->cur = newnode; + l->cur = l->cnt; l->cnt++; + return 0; } /* @@ -89,23 +87,16 @@ */ void nvlist_interp_fixup(nvlist *l) { - if (l->cur) { - l->cur->interp_val = l->cur->val; - l->cur->val = NULL; - } + nvnode* node = &l->arrayl->cur; + node->interp_val = node->val; + node->val = NULL; } nvnode *nvlist_goto_rec(nvlist *l, unsigned int i) { - register nvnode* node; - - node = l->head; /* start at the beginning */ - while (node) { - if (node->item == i) { - l->cur = node; - return node; - } else - node = node->next; + if (i < l->cnt) { + l->cur = i; + return &l->arrayl->cur; } return NULL; } @@ -115,52 +106,85 @@ */ int nvlist_find_name(nvlist *l, const char *name) { - register nvnode* node = l->cur; + unsigned int i = l->cur; + register nvnode *node; - while (node) { - if (strcmp(node->name, name) == 0) { - l->cur = node; + if (l->cnt == 0) + return 0; + + do { + node = &l->arrayi; + if (node->name && strcmp(node->name, name) == 0) { + l->cur = i; return 1; } - else - node = node->next; - } + i++; + } while (i < l->cnt); return 0; } extern int interp_adjust_type(int rtype, const char *name, const char *val); -int nvlist_get_cur_type(const rnode *r) +int nvlist_get_cur_type(rnode *r) { - const nvlist *l = &r->nv; - return auparse_interp_adjust_type(r->type, l->cur->name, l->cur->val); + nvlist *l = &r->nv; + nvnode *node = &l->arrayl->cur; + return auparse_interp_adjust_type(r->type, node->name, node->val); } -const char *nvlist_interp_cur_val(const rnode *r, auparse_esc_t escape_mode) +const char *nvlist_interp_cur_val(rnode *r, auparse_esc_t escape_mode) { - const nvlist *l = &r->nv; - if (l->cur->interp_val) - return l->cur->interp_val; - return interpret(r, escape_mode); + nvlist *l = &r->nv; + if (l->cnt == 0) + return NULL; + nvnode *node = &l->arrayl->cur; + if (node->interp_val) + return node->interp_val; + return do_interpret(r, escape_mode); } -void nvlist_clear(nvlist* l) +// This function determines if a chunk of memory is part of the parsed up +// record. If it is, do not free it since it gets free'd at the very end. +// NOTE: This function causes invalid-pointer-pair errors with ASAN +static inline int not_in_rec_buf(nvlist *l, const char *ptr) { - nvnode* nextnode; - register nvnode* current; + if (ptr >= l->record && ptr < l->end) + return 0; + return 1; +} - if (l->head == NULL) +// free_interp does not apply to thing coming from interpretation_list +void nvlist_clear(nvlist *l, int free_interp) +{ + unsigned int i = 0; + register nvnode *current; + + if (l->cnt == 0) return; - current = l->head; - while (current) { - nextnode=current->next; - free(current->name); - free(current->val); - free(current->interp_val); - free(current); - current=nextnode; + while (i < l->cnt) { + current = &l->arrayi; + if (free_interp) { + free(current->interp_val); + // A couple items are not in parsed up list. + // These all come from the aup_list_append path. + if (not_in_rec_buf(l, current->name)) { + // seperms & key values are strdup'ed + if (not_in_rec_buf(l, current->val)) + free(current->val); + free(current->name); + } + } + i++; } - l->head = NULL; - l->cur = NULL; + + free((void *)l->record); + + free(l->array); + l->array = NULL; + l->size = 0; + + l->record = NULL; + l->end = NULL; + l->cur = 0; l->cnt = 0; }
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/nvlist.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/nvlist.h
Changed
@@ -1,6 +1,6 @@ /* * nvlist.h - Header file for nvlist.c -* Copyright (c) 2006-07,2016 Red Hat Inc., Durham, North Carolina. +* Copyright (c) 2006-07,2016,2021 Red Hat Inc. * All Rights Reserved. * * This library is free software; you can redistribute it and/or @@ -32,20 +32,24 @@ static inline unsigned int nvlist_get_cnt(nvlist *l) { return l->cnt; } -static inline void nvlist_first(nvlist *l) { l->cur = l->head; } -static inline nvnode *nvlist_get_cur(const nvlist *l) { return l->cur; } -static inline const char *nvlist_get_cur_name(const nvlist *l) {if (l->cur) return l->cur->name; else return NULL;} -static inline const char *nvlist_get_cur_val(const nvlist *l) {if (l->cur) return l->cur->val; else return NULL;} -static inline const char *nvlist_get_cur_val_interp(const nvlist *l) {if (l->cur) return l->cur->interp_val; else return NULL;} +static inline void nvlist_first(nvlist *l) { l->cur = 0; } +static inline nvnode *nvlist_get_cur(nvlist *l) + { return &l->arrayl->cur; } +static inline const char *nvlist_get_cur_name(nvlist *l) + {if (l->cnt) { nvnode *node = &l->arrayl->cur; return node->name; } else return NULL;} +static inline const char *nvlist_get_cur_val(nvlist *l) + {if (l->cnt) { nvnode *node = &l->arrayl->cur; return node->val; } else return NULL;} +static inline const char *nvlist_get_cur_val_interp(nvlist *l) + {if (l->cnt) { nvnode *node = &l->arrayl->cur; return node->interp_val; } else return NULL;} AUDIT_HIDDEN_START void nvlist_create(nvlist *l); -void nvlist_clear(nvlist* l); +void nvlist_clear(nvlist *l, int free_interp); nvnode *nvlist_next(nvlist *l); -int nvlist_get_cur_type(const rnode *r); -const char *nvlist_interp_cur_val(const rnode *r, auparse_esc_t escape_mode); -void nvlist_append(nvlist *l, nvnode *node); +int nvlist_get_cur_type(rnode *r); +const char *nvlist_interp_cur_val(rnode *r, auparse_esc_t escape_mode); +int nvlist_append(nvlist *l, nvnode *node); void nvlist_interp_fixup(nvlist *l); /* Given a numeric index, find that record. */
View file
_service:tar_scm:audit-3.0.9.tar.gz/auparse/openat2-resolvetab.h
Added
@@ -0,0 +1,29 @@ +/* openat2-resolvetab.h -- + * Copyright 2021 Red Hat Inc., Durham, North Carolina. + * All Rights Reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Authors: + * Richard Guy Briggs <rgb@redhat.com> + * Location: include/uapi/linux/openat2.h + */ + +_S(0x01, "RESOLVE_NO_XDEV" ) +_S(0x02, "RESOLVE_NO_MAGICLINKS" ) +_S(0x04, "RESOLVE_NO_SYMLINKS" ) +_S(0x08, "RESOLVE_BENEATH" ) +_S(0x10, "RESOLVE_IN_ROOT" ) +_S(0x20, "RESOLVE_CACHED" )
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/rnode.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/rnode.h
Changed
@@ -1,6 +1,5 @@ - /* rnode.h -- - * Copyright 2007,2016-17 Red Hat Inc., Durham, North Carolina. + * Copyright 2007,2016-17,21 Red Hat Inc. * All Rights Reserved. * * This library is free software; you can redistribute it and/or @@ -24,21 +23,25 @@ #ifndef RNODE_HEADER #define RNODE_HEADER -/* This is the node of the linked list. Any data elements that are +#define NFIELDS 36 + +/* This is the data node of the fields list. Any data elements that are * per field goes here. */ typedef struct _nvnode{ char *name; // The name string char *val; // The value field - char *interp_val; // The value field interpretted + char *interp_val; // The value field interpreted unsigned int item; // Which item of the same event - struct _nvnode* next; // Next nvpair node pointer } nvnode; -/* This is the field linked list head. */ +/* This is the field list head. */ typedef struct { - nvnode *head; // List head - nvnode *cur; // Pointer to current node + nvnode *array; // array of fields + unsigned int cur; // Index to current node unsigned int cnt; // How many items in this list + unsigned int size; // Number of allocated items + char *record; // Holds the parsed up record + char *end; // End of the parsed up record } nvlist;
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/test/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/test/Makefile.am
Changed
@@ -1,5 +1,5 @@ # Makefile.am -- -# Copyright 2006-08,2014-17 Red Hat Inc., Durham, North Carolina. +# Copyright 2006-08,2014-17 Red Hat Inc. # All Rights Reserved. # # This library is free software; you can redistribute it and/or @@ -23,7 +23,7 @@ CONFIG_CLEAN_FILES = *.loT *.rej *.orig *.cur check_PROGRAMS = auparse_test auparselol_test lookup_test dist_check_SCRIPTS = auparse_test.py -EXTRA_DIST = auparse_test.ref auparse_test.ref.py test.log test2.log test3.log auditd_raw.sed +EXTRA_DIST = auparse_test.ref auparse_test.ref.py test.log test2.log test3.log test4.log auditd_raw.sed AM_CPPFLAGS = -I${top_srcdir}/auparse -I${top_srcdir}/lib
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/test/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/test/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -15,7 +15,7 @@ @SET_MAKE@ # Makefile.am -- -# Copyright 2006-08,2014-17 Red Hat Inc., Durham, North Carolina. +# Copyright 2006-08,2014-17 Red Hat Inc. # All Rights Reserved. # # This library is free software; you can redistribute it and/or @@ -214,8 +214,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -238,6 +236,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -249,8 +249,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -306,6 +308,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -359,6 +362,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -374,7 +378,7 @@ use_python3 = @use_python3@ CONFIG_CLEAN_FILES = *.loT *.rej *.orig *.cur dist_check_SCRIPTS = auparse_test.py -EXTRA_DIST = auparse_test.ref auparse_test.ref.py test.log test2.log test3.log auditd_raw.sed +EXTRA_DIST = auparse_test.ref auparse_test.ref.py test.log test2.log test3.log test4.log auditd_raw.sed AM_CPPFLAGS = -I${top_srcdir}/auparse -I${top_srcdir}/lib lookup_test_SOURCES = lookup_test.c lookup_test_LDADD = ${top_builddir}/auparse/libauparse.la \ @@ -540,7 +544,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/test/auparse_test.c -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/test/auparse_test.c
Changed
@@ -17,6 +17,8 @@ NULL }; +unsigned int walked_fields = 0; +#define FIELDS_EXPECTED 403 static void walk_test(auparse_state_t *au) { @@ -55,6 +57,7 @@ auparse_get_field_name(au), auparse_get_field_str(au), auparse_interpret_field(au)); + walked_fields++; } while (auparse_next_field(au) > 0); printf("\n"); record_cnt++; @@ -462,6 +465,23 @@ } printf("Test 10 Done\n\n"); + printf("Starting Test 11, walk LONG event records from a file...\n"); + au = auparse_init(AUSOURCE_FILE, "test4.log"); + if (au == NULL) { + printf("Error - %s\n", strerror(errno)); + return 1; + } + + walked_fields = 0; + walk_test(au); + auparse_destroy(au); + + if (walked_fields != FIELDS_EXPECTED) { + printf("Error: %i fields expected, but %i read!\n", + FIELDS_EXPECTED, walked_fields); + } + printf("Test 11 Done\n\n"); + puts("Finished non-admin tests\n"); return 0;
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/test/auparse_test.py -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/test/auparse_test.py
Changed
@@ -24,7 +24,11 @@ else: return s +walked_fields = 0 +FIELDS_EXPECTED = 403 + def walk_test(au): + global walked_fields event_cnt = 1 au.reset() @@ -51,6 +55,7 @@ au.first_field() while True: print(" %s=%s (%s)" % (au.get_field_name(), au.get_field_str(), au.interpret_field())) + walked_fields += 1 if not au.next_field(): break print("") record_cnt += 1 @@ -256,6 +261,15 @@ au.flush_feed() print("Test 10 Done\n") +print("Starting Test 11, walk LONG event records from a file...") +au = auparse.AuParser(auparse.AUSOURCE_FILE, "test4.log"); +walked_fields = 0 +walk_test(au) +if walked_fields != FIELDS_EXPECTED: + print("Error: %i fields expected, but %i read!\n" % \ + (FIELDS_EXPECTED, walked_fields)) +print("Test 11 Done\n") + print("Finished non-admin tests\n") au = None
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/test/auparse_test.ref -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/test/auparse_test.ref
Changed
@@ -799,5 +799,465 @@ Test 10 Done +Starting Test 11, walk LONG event records from a file... +event 1 has 7 records + record 1 of type 1300(SYSCALL) has 26 fields + line=1 file=test4.log + event time: 1655465398.534:25618, host=? + type=SYSCALL (SYSCALL) + arch=c000003e (x86_64) + syscall=59 (execve) + success=yes (yes) + exit=0 (0) + a0=8c403a0 (0x8c403a0) + a1=8c3e8b0 (0x8c3e8b0) + a2=fffffb6cc5b0 (0xfffffb6cc5b0) + a3=0 (0x0) + items=3 (3) + ppid=105182 (105182) + pid=105183 (105183) + auid=573 (unknown(573)) + uid=583 (unknown(583)) + gid=583 (unknown(583)) + euid=583 (unknown(583)) + suid=583 (unknown(583)) + fsuid=583 (unknown(583)) + egid=583 (unknown(583)) + sgid=583 (unknown(583)) + fsgid=583 (unknown(583)) + tty=pts2 (pts2) + ses=2632 (2632) + comm="ld" (ld) + exe="/bin/sh4" (/bin/sh4) + key=(null) ((null)) + + record 2 of type 1309(EXECVE) has 50 fields + line=2 file=test4.log + event time: 1655465398.534:25618, host=? + type=EXECVE (EXECVE) + argc=48 (48) + a0="/bin/sh" (/bin/sh) + a1="-efu" (-efu) + a2="/usr/bin/ld" (/usr/bin/ld) + a3="-plugin" (-plugin) + a4="/usr/libexec/gcc/aarch64-alt-linux/8/liblto_plugin.so" (/usr/libexec/gcc/aarch64-alt-linux/8/liblto_plugin.so) + a5="-plugin-opt=/usr/libexec/gcc/aarch64-alt-linux/8/lto-wrapper" (-plugin-opt=/usr/libexec/gcc/aarch64-alt-linux/8/lto-wrapper) + a6="-plugin-opt=-fresolution=/usr/src/tmp/cchyHiZN.res" (-plugin-opt=-fresolution=/usr/src/tmp/cchyHiZN.res) + a7="-plugin-opt=-pass-through=-lgcc" (-plugin-opt=-pass-through=-lgcc) + a8="-plugin-opt=-pass-through=-lgcc_s" (-plugin-opt=-pass-through=-lgcc_s) + a9="-plugin-opt=-pass-through=-lc" (-plugin-opt=-pass-through=-lc) + a10="-plugin-opt=-pass-through=-lgcc" (-plugin-opt=-pass-through=-lgcc) + a11="-plugin-opt=-pass-through=-lgcc_s" (-plugin-opt=-pass-through=-lgcc_s) + a12="--build-id" (--build-id) + a13="--no-add-needed" (--no-add-needed) + a14="--eh-frame-hdr" (--eh-frame-hdr) + a15="--hash-style=gnu" (--hash-style=gnu) + a16="--as-needed" (--as-needed) + a17="-shared" (-shared) + a18="-X" (-X) + a19="-EL" (-EL) + a20="-maarch64linux" (-maarch64linux) + a21="-o" (-o) + a22="ztest105133.so" (ztest105133.so) + a23="/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64/crti.o" (/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64/crti.o) + a24="/usr/lib64/gcc/aarch64-alt-linux/8/crtbeginS.o" (/usr/lib64/gcc/aarch64-alt-linux/8/crtbeginS.o) + a25="-L/usr/lib64/gcc/aarch64-alt-linux/8" (-L/usr/lib64/gcc/aarch64-alt-linux/8) + a26="-L/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64" (-L/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64) + a27="-L/lib/../lib64" (-L/lib/../lib64) + a28="-L/usr/lib/../lib64" (-L/usr/lib/../lib64) + a29="-L/usr/lib64/gcc/aarch64-alt-linux/8/../../.." (-L/usr/lib64/gcc/aarch64-alt-linux/8/../../..) + a30="-soname" (-soname) + a31="libz.so.1" (libz.so.1) + a32="--version-script" (--version-script) + a33="zlib.map" (zlib.map) + a34="ztest105133.o" (ztest105133.o) + a35="-lgcc" (-lgcc) + a36="--push-state" (--push-state) + a37="--as-needed" (--as-needed) + a38="-lgcc_s" (-lgcc_s) + a39="--pop-state" (--pop-state) + a40="-lc" (-lc) + a41="-lgcc" (-lgcc) + a42="--push-state" (--push-state) + a43="--as-needed" (--as-needed) + a44="-lgcc_s" (-lgcc_s) + a45="--pop-state" (--pop-state) + a46="/usr/lib64/gcc/aarch64-alt-linux/8/crtendS.o" (/usr/lib64/gcc/aarch64-alt-linux/8/crtendS.o) + a47="/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64/crtn.o" (/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64/crtn.o) + + record 3 of type 1307(CWD) has 2 fields + line=3 file=test4.log + event time: 1655465398.534:25618, host=? + type=CWD (CWD) + cwd="/usr/src/RPM/BUILD/zlib-1.2.11-alt1" (/usr/src/RPM/BUILD/zlib-1.2.11-alt1) + + record 4 of type 1302(PATH) has 15 fields + line=4 file=test4.log + event time: 1655465398.534:25618, host=? + type=PATH (PATH) + item=0 (0) + name="/usr/bin/ld" (/usr/bin/ld) + inode=40854 (40854) + dev=00:30 (00:30) + mode=0100755 (file,755) + ouid=582 (unknown(582)) + ogid=582 (unknown(582)) + rdev=00:00 (00:00) + nametype=NORMAL (NORMAL) + cap_fp=0 (none) + cap_fi=0 (none) + cap_fe=0 (0) + cap_fver=0 (0) + cap_frootid=0 (0) + + record 5 of type 1302(PATH) has 15 fields + line=5 file=test4.log + event time: 1655465398.534:25618, host=? + type=PATH (PATH) + item=1 (1) + name="/bin/sh" (/bin/sh) + inode=33238 (33238) + dev=00:30 (00:30) + mode=0100755 (file,755) + ouid=582 (unknown(582)) + ogid=582 (unknown(582)) + rdev=00:00 (00:00) + nametype=NORMAL (NORMAL) + cap_fp=0 (none) + cap_fi=0 (none) + cap_fe=0 (0) + cap_fver=0 (0) + cap_frootid=0 (0) + + record 6 of type 1302(PATH) has 15 fields + line=6 file=test4.log + event time: 1655465398.534:25618, host=? + type=PATH (PATH) + item=2 (2) + name="/lib64/ld-linux-aarch64.so.1" (/lib64/ld-linux-aarch64.so.1) + inode=33874 (33874) + dev=00:30 (00:30) + mode=0100755 (file,755) + ouid=582 (unknown(582)) + ogid=582 (unknown(582)) + rdev=00:00 (00:00) + nametype=NORMAL (NORMAL) + cap_fp=0 (none) + cap_fi=0 (none) + cap_fe=0 (0) + cap_fver=0 (0) + cap_frootid=0 (0) + + record 7 of type 1327(PROCTITLE) has 2 fields + line=7 file=test4.log + event time: 1655465398.534:25618, host=? + type=PROCTITLE (PROCTITLE) + proctitle=2F62696E2F7368002D656675002F7573722F62696E2F6C64002D706C7567696E002F7573722F6C6962657865632F6763632F616172636836342D616C742D6C696E75782F382F6C69626C746F5F706C7567696E2E736F002D706C7567696E2D6F70743D2F7573722F6C6962657865632F6763632F616172636836342D616C742D (/bin/sh -efu /usr/bin/ld -plugin /usr/libexec/gcc/aarch64-alt-linux/8/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/aarch64-alt-) + +event 2 has 6 records + record 1 of type 1300(SYSCALL) has 26 fields + line=8 file=test4.log + event time: 1655465404.819:27091, host=? + type=SYSCALL (SYSCALL) + arch=c000003e (x86_64) + syscall=59 (execve) + success=yes (yes) + exit=0 (0) + a0=1a407f50 (0x1a407f50) + a1=1a401cd0 (0x1a401cd0) + a2=1a3ed090 (0x1a3ed090) + a3=0 (0x0) + items=2 (2) + ppid=105932 (105932) + pid=105933 (105933) + auid=573 (unknown(573)) + uid=583 (unknown(583)) + gid=583 (unknown(583)) + euid=583 (unknown(583)) + suid=583 (unknown(583)) + fsuid=583 (unknown(583)) + egid=583 (unknown(583)) + sgid=583 (unknown(583)) + fsgid=583 (unknown(583)) + tty=pts2 (pts2) + ses=2632 (2632) + comm="m4" (m4) + exe="/usr/bin/m4" (/usr/bin/m4) + key=(null) ((null)) + + record 2 of type 1309(EXECVE) has 218 fields + line=9 file=test4.log + event time: 1655465404.819:27091, host=? + type=EXECVE (EXECVE) + argc=216 (216) + a0="/usr/bin/m4" (/usr/bin/m4) + a1="--nesting-limit=1024" (--nesting-limit=1024) + a2="--gnu" (--gnu) + a3="--include=/usr/share/autoconf-2.60" (--include=/usr/share/autoconf-2.60) + a4="--debug=aflq" (--debug=aflq) + a5="--fatal-warning" (--fatal-warning) + a6="--debugfile=autom4te.cache/traces.0t" (--debugfile=autom4te.cache/traces.0t) + a7="--trace=AC_CHECK_LIBM" (--trace=AC_CHECK_LIBM) + a8="--trace=AC_CONFIG_MACRO_DIR" (--trace=AC_CONFIG_MACRO_DIR) + a9="--trace=AC_CONFIG_MACRO_DIR_TRACE" (--trace=AC_CONFIG_MACRO_DIR_TRACE) + a10="--trace=AC_DEFUN" (--trace=AC_DEFUN) + a11="--trace=AC_DEFUN_ONCE" (--trace=AC_DEFUN_ONCE) + a12="--trace=AC_DEPLIBS_CHECK_METHOD" (--trace=AC_DEPLIBS_CHECK_METHOD) + a13="--trace=AC_DISABLE_FAST_INSTALL" (--trace=AC_DISABLE_FAST_INSTALL) + a14="--trace=AC_DISABLE_SHARED" (--trace=AC_DISABLE_SHARED) + a15="--trace=AC_DISABLE_STATIC" (--trace=AC_DISABLE_STATIC) + a16="--trace=AC_ENABLE_FAST_INSTALL" (--trace=AC_ENABLE_FAST_INSTALL) + a17="--trace=AC_ENABLE_SHARED" (--trace=AC_ENABLE_SHARED) + a18="--trace=AC_ENABLE_STATIC" (--trace=AC_ENABLE_STATIC) + a19="--trace=AC_LIBLTDL_CONVENIENCE" (--trace=AC_LIBLTDL_CONVENIENCE) + a20="--trace=AC_LIBLTDL_INSTALLABLE" (--trace=AC_LIBLTDL_INSTALLABLE) + a21="--trace=AC_LIBTOOL_COMPILER_OPTION" (--trace=AC_LIBTOOL_COMPILER_OPTION) + a22="--trace=AC_LIBTOOL_CONFIG" (--trace=AC_LIBTOOL_CONFIG) + a23="--trace=AC_LIBTOOL_CXX" (--trace=AC_LIBTOOL_CXX) + a24="--trace=AC_LIBTOOL_DLOPEN" (--trace=AC_LIBTOOL_DLOPEN) + a25="--trace=AC_LIBTOOL_DLOPEN_SELF" (--trace=AC_LIBTOOL_DLOPEN_SELF) + a26="--trace=AC_LIBTOOL_F77" (--trace=AC_LIBTOOL_F77) + a27="--trace=AC_LIBTOOL_FC" (--trace=AC_LIBTOOL_FC) + a28="--trace=AC_LIBTOOL_GCJ" (--trace=AC_LIBTOOL_GCJ) + a29="--trace=AC_LIBTOOL_LANG_CXX_CONFIG" (--trace=AC_LIBTOOL_LANG_CXX_CONFIG) + a30="--trace=AC_LIBTOOL_LANG_C_CONFIG" (--trace=AC_LIBTOOL_LANG_C_CONFIG) + a31="--trace=AC_LIBTOOL_LANG_F77_CONFIG" (--trace=AC_LIBTOOL_LANG_F77_CONFIG) + a32="--trace=AC_LIBTOOL_LANG_GCJ_CONFIG" (--trace=AC_LIBTOOL_LANG_GCJ_CONFIG) + a33="--trace=AC_LIBTOOL_LANG_RC_CONFIG" (--trace=AC_LIBTOOL_LANG_RC_CONFIG) + a34="--trace=AC_LIBTOOL_LINKER_OPTION" (--trace=AC_LIBTOOL_LINKER_OPTION) + a35="--trace=AC_LIBTOOL_OBJDIR" (--trace=AC_LIBTOOL_OBJDIR) + a36="--trace=AC_LIBTOOL_PICMODE" (--trace=AC_LIBTOOL_PICMODE) + a37="--trace=AC_LIBTOOL_POSTDEP_PREDEP" (--trace=AC_LIBTOOL_POSTDEP_PREDEP) + a38="--trace=AC_LIBTOOL_PROG_CC_C_O" (--trace=AC_LIBTOOL_PROG_CC_C_O) + a39="--trace=AC_LIBTOOL_PROG_COMPILER_NO_RTTI" (--trace=AC_LIBTOOL_PROG_COMPILER_NO_RTTI) + a40="--trace=AC_LIBTOOL_PROG_COMPILER_PIC" (--trace=AC_LIBTOOL_PROG_COMPILER_PIC) + a41="--trace=AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH" (--trace=AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH) + a42="--trace=AC_LIBTOOL_PROG_LD_SHLIBS" (--trace=AC_LIBTOOL_PROG_LD_SHLIBS) + a43="--trace=AC_LIBTOOL_RC" (--trace=AC_LIBTOOL_RC) + a44="--trace=AC_LIBTOOL_SETUP" (--trace=AC_LIBTOOL_SETUP) + a45="--trace=AC_LIBTOOL_SYS_DYNAMIC_LINKER" (--trace=AC_LIBTOOL_SYS_DYNAMIC_LINKER) + a46="--trace=AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE" (--trace=AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE) + a47="--trace=AC_LIBTOOL_SYS_HARD_LINK_LOCKS" (--trace=AC_LIBTOOL_SYS_HARD_LINK_LOCKS) + a48="--trace=AC_LIBTOOL_SYS_LIB_STRIP" (--trace=AC_LIBTOOL_SYS_LIB_STRIP) + a49="--trace=AC_LIBTOOL_SYS_MAX_CMD_LEN" (--trace=AC_LIBTOOL_SYS_MAX_CMD_LEN) + a50="--trace=AC_LIBTOOL_SYS_OLD_ARCHIVE" (--trace=AC_LIBTOOL_SYS_OLD_ARCHIVE) + a51="--trace=AC_LIBTOOL_WIN32_DLL" (--trace=AC_LIBTOOL_WIN32_DLL) + a52="--trace=AC_LIB_LTDL" (--trace=AC_LIB_LTDL) + a53="--trace=AC_LTDL_DLLIB" (--trace=AC_LTDL_DLLIB) + a54="--trace=AC_LTDL_DLSYM_USCORE" (--trace=AC_LTDL_DLSYM_USCORE) + a55="--trace=AC_LTDL_ENABLE_INSTALL" (--trace=AC_LTDL_ENABLE_INSTALL) + a56="--trace=AC_LTDL_OBJDIR" (--trace=AC_LTDL_OBJDIR) + a57="--trace=AC_LTDL_PREOPEN" (--trace=AC_LTDL_PREOPEN) + a58="--trace=AC_LTDL_SHLIBEXT" (--trace=AC_LTDL_SHLIBEXT) + a59="--trace=AC_LTDL_SHLIBPATH" (--trace=AC_LTDL_SHLIBPATH) + a60="--trace=AC_LTDL_SYMBOL_USCORE" (--trace=AC_LTDL_SYMBOL_USCORE) + a61="--trace=AC_LTDL_SYSSEARCHPATH" (--trace=AC_LTDL_SYSSEARCHPATH) + a62="--trace=AC_LTDL_SYS_DLOPEN_DEPLIBS" (--trace=AC_LTDL_SYS_DLOPEN_DEPLIBS) + a63="--trace=AC_PATH_MAGIC" (--trace=AC_PATH_MAGIC) + a64="--trace=AC_PATH_TOOL_PREFIX" (--trace=AC_PATH_TOOL_PREFIX) + a65="--trace=AC_PROG_EGREP" (--trace=AC_PROG_EGREP) + a66="--trace=AC_PROG_LD" (--trace=AC_PROG_LD) + a67="--trace=AC_PROG_LD_GNU" (--trace=AC_PROG_LD_GNU) + a68="--trace=AC_PROG_LD_RELOAD_FLAG" (--trace=AC_PROG_LD_RELOAD_FLAG) + a69="--trace=AC_PROG_LIBTOOL" (--trace=AC_PROG_LIBTOOL) + a70="--trace=AC_PROG_NM" (--trace=AC_PROG_NM) + a71="--trace=AC_WITH_LTDL" (--trace=AC_WITH_LTDL) + a72="--trace=AM_AUTOMAKE_VERSION" (--trace=AM_AUTOMAKE_VERSION) + a73="--trace=AM_AUX_DIR_EXPAND" (--trace=AM_AUX_DIR_EXPAND) + a74="--trace=AM_CONDITIONAL" (--trace=AM_CONDITIONAL) + a75="--trace=AM_DEP_TRACK" (--trace=AM_DEP_TRACK) + a76="--trace=AM_DISABLE_SHARED" (--trace=AM_DISABLE_SHARED) + a77="--trace=AM_DISABLE_STATIC" (--trace=AM_DISABLE_STATIC) + a78="--trace=AM_ENABLE_SHARED" (--trace=AM_ENABLE_SHARED) + a79="--trace=AM_ENABLE_STATIC" (--trace=AM_ENABLE_STATIC) + a80="--trace=AM_INIT_AUTOMAKE" (--trace=AM_INIT_AUTOMAKE) + a81="--trace=AM_MAKE_INCLUDE" (--trace=AM_MAKE_INCLUDE) + a82="--trace=AM_MISSING_HAS_RUN" (--trace=AM_MISSING_HAS_RUN) + a83="--trace=AM_MISSING_PROG" (--trace=AM_MISSING_PROG) + a84="--trace=AM_OUTPUT_DEPENDENCY_COMMANDS" (--trace=AM_OUTPUT_DEPENDENCY_COMMANDS) + a85="--trace=AM_PROG_CC_C_O" (--trace=AM_PROG_CC_C_O) + a86="--trace=AM_PROG_INSTALL_SH" (--trace=AM_PROG_INSTALL_SH) + a87="--trace=AM_PROG_INSTALL_STRIP" (--trace=AM_PROG_INSTALL_STRIP) + a88="--trace=AM_PROG_LD" (--trace=AM_PROG_LD) + a89="--trace=AM_PROG_LIBTOOL" (--trace=AM_PROG_LIBTOOL) + a90="--trace=AM_PROG_NM" (--trace=AM_PROG_NM) + a91="--trace=AM_RUN_LOG" (--trace=AM_RUN_LOG) + a92="--trace=AM_SANITY_CHECK" (--trace=AM_SANITY_CHECK) + a93="--trace=AM_SET_CURRENT_AUTOMAKE_VERSION" (--trace=AM_SET_CURRENT_AUTOMAKE_VERSION) + a94="--trace=AM_SET_DEPDIR" (--trace=AM_SET_DEPDIR) + a95="--trace=AM_SET_LEADING_DOT" (--trace=AM_SET_LEADING_DOT) + a96="--trace=AM_SILENT_RULES" (--trace=AM_SILENT_RULES) + a97="--trace=AM_SUBST_NOTMAKE" (--trace=AM_SUBST_NOTMAKE) + a98="--trace=AU_DEFUN" (--trace=AU_DEFUN) + a99="--trace=LTDL_CONVENIENCE" (--trace=LTDL_CONVENIENCE) + a100="--trace=LTDL_INIT" (--trace=LTDL_INIT) + a101="--trace=LTDL_INSTALLABLE" (--trace=LTDL_INSTALLABLE) + a102="--trace=LTOBSOLETE_VERSION" (--trace=LTOBSOLETE_VERSION) + a103="--trace=LTOPTIONS_VERSION" (--trace=LTOPTIONS_VERSION) + a104="--trace=LTSUGAR_VERSION" (--trace=LTSUGAR_VERSION) + a105="--trace=LTVERSION_VERSION" (--trace=LTVERSION_VERSION) + a106="--trace=LT_AC_PROG_EGREP" (--trace=LT_AC_PROG_EGREP) + a107="--trace=LT_AC_PROG_GCJ" (--trace=LT_AC_PROG_GCJ) + a108="--trace=LT_AC_PROG_RC" (--trace=LT_AC_PROG_RC) + a109="--trace=LT_AC_PROG_SED" (--trace=LT_AC_PROG_SED) + a110="--trace=LT_CMD_MAX_LEN" (--trace=LT_CMD_MAX_LEN) + a111="--trace=LT_CONFIG_LTDL_DIR" (--trace=LT_CONFIG_LTDL_DIR) + a112="--trace=LT_FUNC_ARGZ" (--trace=LT_FUNC_ARGZ) + a113="--trace=LT_FUNC_DLSYM_USCORE" (--trace=LT_FUNC_DLSYM_USCORE) + a114="--trace=LT_INIT" (--trace=LT_INIT) + a115="--trace=LT_LANG" (--trace=LT_LANG) + a116="--trace=LT_LIB_DLLOAD" (--trace=LT_LIB_DLLOAD) + a117="--trace=LT_LIB_M" (--trace=LT_LIB_M) + a118="--trace=LT_OUTPUT" (--trace=LT_OUTPUT) + a119="--trace=LT_PATH_LD" (--trace=LT_PATH_LD) + a120="--trace=LT_PATH_NM" (--trace=LT_PATH_NM) + a121="--trace=LT_PROG_GCJ" (--trace=LT_PROG_GCJ) + a122="--trace=LT_PROG_GO" (--trace=LT_PROG_GO) + a123="--trace=LT_PROG_RC" (--trace=LT_PROG_RC) + a124="--trace=LT_SUPPORTED_TAG" (--trace=LT_SUPPORTED_TAG) + a125="--trace=LT_SYS_DLOPEN_DEPLIBS" (--trace=LT_SYS_DLOPEN_DEPLIBS) + a126="--trace=LT_SYS_DLOPEN_SELF" (--trace=LT_SYS_DLOPEN_SELF) + a127="--trace=LT_SYS_DLSEARCH_PATH" (--trace=LT_SYS_DLSEARCH_PATH) + a128="--trace=LT_SYS_MODULE_EXT" (--trace=LT_SYS_MODULE_EXT) + a129="--trace=LT_SYS_MODULE_PATH" (--trace=LT_SYS_MODULE_PATH) + a130="--trace=LT_SYS_SYMBOL_USCORE" (--trace=LT_SYS_SYMBOL_USCORE) + a131="--trace=LT_WITH_LTDL" (--trace=LT_WITH_LTDL) + a132="--trace=_AC_AM_CONFIG_HEADER_HOOK" (--trace=_AC_AM_CONFIG_HEADER_HOOK) + a133="--trace=_AC_PROG_LIBTOOL" (--trace=_AC_PROG_LIBTOOL) + a134="--trace=_AM_AUTOCONF_VERSION" (--trace=_AM_AUTOCONF_VERSION) + a135="--trace=_AM_CONFIG_MACRO_DIRS" (--trace=_AM_CONFIG_MACRO_DIRS) + a136="--trace=_AM_DEPENDENCIES" (--trace=_AM_DEPENDENCIES) + a137="--trace=_AM_IF_OPTION" (--trace=_AM_IF_OPTION) + a138="--trace=_AM_MANGLE_OPTION" (--trace=_AM_MANGLE_OPTION) + a139="--trace=_AM_OUTPUT_DEPENDENCY_COMMANDS" (--trace=_AM_OUTPUT_DEPENDENCY_COMMANDS) + a140="--trace=_AM_PROG_CC_C_O" (--trace=_AM_PROG_CC_C_O) + a141="--trace=_AM_PROG_TAR" (--trace=_AM_PROG_TAR) + a142="--trace=_AM_SET_OPTION" (--trace=_AM_SET_OPTION) + a143="--trace=_AM_SET_OPTIONS" (--trace=_AM_SET_OPTIONS) + a144="--trace=_AM_SUBST_NOTMAKE" (--trace=_AM_SUBST_NOTMAKE) + a145="--trace=_LTDL_SETUP" (--trace=_LTDL_SETUP) + a146="--trace=_LT_AC_CHECK_DLFCN" (--trace=_LT_AC_CHECK_DLFCN) + a147="--trace=_LT_AC_FILE_LTDLL_C" (--trace=_LT_AC_FILE_LTDLL_C) + a148="--trace=_LT_AC_LANG_CXX" (--trace=_LT_AC_LANG_CXX) + a149="--trace=_LT_AC_LANG_CXX_CONFIG" (--trace=_LT_AC_LANG_CXX_CONFIG) + a150="--trace=_LT_AC_LANG_C_CONFIG" (--trace=_LT_AC_LANG_C_CONFIG) + a151="--trace=_LT_AC_LANG_F77" (--trace=_LT_AC_LANG_F77) + a152="--trace=_LT_AC_LANG_F77_CONFIG" (--trace=_LT_AC_LANG_F77_CONFIG) + a153="--trace=_LT_AC_LANG_GCJ" (--trace=_LT_AC_LANG_GCJ) + a154="--trace=_LT_AC_LANG_GCJ_CONFIG" (--trace=_LT_AC_LANG_GCJ_CONFIG) + a155="--trace=_LT_AC_LANG_RC_CONFIG" (--trace=_LT_AC_LANG_RC_CONFIG) + a156="--trace=_LT_AC_LOCK" (--trace=_LT_AC_LOCK) + a157="--trace=_LT_AC_PROG_CXXCPP" (--trace=_LT_AC_PROG_CXXCPP) + a158="--trace=_LT_AC_PROG_ECHO_BACKSLASH" (--trace=_LT_AC_PROG_ECHO_BACKSLASH) + a159="--trace=_LT_AC_SHELL_INIT" (--trace=_LT_AC_SHELL_INIT) + a160="--trace=_LT_AC_SYS_COMPILER" (--trace=_LT_AC_SYS_COMPILER) + a161="--trace=_LT_AC_SYS_LIBPATH_AIX" (--trace=_LT_AC_SYS_LIBPATH_AIX) + a162="--trace=_LT_AC_TAGCONFIG" (--trace=_LT_AC_TAGCONFIG) + a163="--trace=_LT_AC_TAGVAR" (--trace=_LT_AC_TAGVAR) + a164="--trace=_LT_AC_TRY_DLOPEN_SELF" (--trace=_LT_AC_TRY_DLOPEN_SELF) + a165="--trace=_LT_CC_BASENAME" (--trace=_LT_CC_BASENAME) + a166="--trace=_LT_COMPILER_BOILERPLATE" (--trace=_LT_COMPILER_BOILERPLATE) + a167="--trace=_LT_COMPILER_OPTION" (--trace=_LT_COMPILER_OPTION) + a168="--trace=_LT_DLL_DEF_P" (--trace=_LT_DLL_DEF_P) + a169="--trace=_LT_LIBOBJ" (--trace=_LT_LIBOBJ) + a170="--trace=_LT_LINKER_BOILERPLATE" (--trace=_LT_LINKER_BOILERPLATE) + a171="--trace=_LT_LINKER_OPTION" (--trace=_LT_LINKER_OPTION) + a172="--trace=_LT_PATH_TOOL_PREFIX" (--trace=_LT_PATH_TOOL_PREFIX) + a173="--trace=_LT_PREPARE_SED_QUOTE_VARS" (--trace=_LT_PREPARE_SED_QUOTE_VARS) + a174="--trace=_LT_PROG_CXX" (--trace=_LT_PROG_CXX) + a175="--trace=_LT_PROG_ECHO_BACKSLASH" (--trace=_LT_PROG_ECHO_BACKSLASH) + a176="--trace=_LT_PROG_F77" (--trace=_LT_PROG_F77) + a177="--trace=_LT_PROG_FC" (--trace=_LT_PROG_FC) + a178="--trace=_LT_PROG_LTMAIN" (--trace=_LT_PROG_LTMAIN) + a179="--trace=_LT_REQUIRED_DARWIN_CHECKS" (--trace=_LT_REQUIRED_DARWIN_CHECKS) + a180="--trace=_LT_WITH_SYSROOT" (--trace=_LT_WITH_SYSROOT) + a181="--trace=_m4_warn" (--trace=_m4_warn) + a182="--trace=include" (--trace=include) + a183="--trace=m4_include" (--trace=m4_include) + a184="--trace=m4_pattern_allow" (--trace=m4_pattern_allow) + a185="--trace=m4_pattern_forbid" (--trace=m4_pattern_forbid) + a186="--reload-state=/usr/share/autoconf-2.60/autoconf/autoconf.m4f" (--reload-state=/usr/share/autoconf-2.60/autoconf/autoconf.m4f) + a187="--undefine=__m4_version__" (--undefine=__m4_version__) + a188="-" (-) + a189="/usr/share/aclocal-1.16/internal/ac-config-macro-dirs.m4" (/usr/share/aclocal-1.16/internal/ac-config-macro-dirs.m4) + a190="/usr/share/libtool/aclocal/libtool.m4" (/usr/share/libtool/aclocal/libtool.m4) + a191="/usr/share/libtool/aclocal/ltargz.m4" (/usr/share/libtool/aclocal/ltargz.m4) + a192="/usr/share/libtool/aclocal/ltdl.m4" (/usr/share/libtool/aclocal/ltdl.m4) + a193="/usr/share/libtool/aclocal/ltoptions.m4" (/usr/share/libtool/aclocal/ltoptions.m4) + a194="/usr/share/libtool/aclocal/ltsugar.m4" (/usr/share/libtool/aclocal/ltsugar.m4) + a195="/usr/share/libtool/aclocal/ltversion.m4" (/usr/share/libtool/aclocal/ltversion.m4) + a196="/usr/share/libtool/aclocal/lt~obsolete.m4" (/usr/share/libtool/aclocal/lt~obsolete.m4) + a197="/usr/share/aclocal-1.16/amversion.m4" (/usr/share/aclocal-1.16/amversion.m4) + a198="/usr/share/aclocal-1.16/auxdir.m4" (/usr/share/aclocal-1.16/auxdir.m4) + a199="/usr/share/aclocal-1.16/cond.m4" (/usr/share/aclocal-1.16/cond.m4) + a200="/usr/share/aclocal-1.16/depend.m4" (/usr/share/aclocal-1.16/depend.m4) + a201="/usr/share/aclocal-1.16/depout.m4" (/usr/share/aclocal-1.16/depout.m4) + a202="/usr/share/aclocal-1.16/init.m4" (/usr/share/aclocal-1.16/init.m4) + a203="/usr/share/aclocal-1.16/install-sh.m4" (/usr/share/aclocal-1.16/install-sh.m4) + a204="/usr/share/aclocal-1.16/lead-dot.m4" (/usr/share/aclocal-1.16/lead-dot.m4) + a205="/usr/share/aclocal-1.16/make.m4" (/usr/share/aclocal-1.16/make.m4) + a206="/usr/share/aclocal-1.16/missing.m4" (/usr/share/aclocal-1.16/missing.m4) + a207="/usr/share/aclocal-1.16/options.m4" (/usr/share/aclocal-1.16/options.m4) + a208="/usr/share/aclocal-1.16/prog-cc-c-o.m4" (/usr/share/aclocal-1.16/prog-cc-c-o.m4) + a209="/usr/share/aclocal-1.16/runlog.m4" (/usr/share/aclocal-1.16/runlog.m4) + a210="/usr/share/aclocal-1.16/sanity.m4" (/usr/share/aclocal-1.16/sanity.m4) + a211="/usr/share/aclocal-1.16/silent.m4" (/usr/share/aclocal-1.16/silent.m4) + a212="/usr/share/aclocal-1.16/strip.m4" (/usr/share/aclocal-1.16/strip.m4) + a213="/usr/share/aclocal-1.16/substnot.m4" (/usr/share/aclocal-1.16/substnot.m4) + a214="/usr/share/aclocal-1.16/tar.m4" (/usr/share/aclocal-1.16/tar.m4) + a215="configure.ac" (configure.ac) + + record 3 of type 1307(CWD) has 2 fields + line=10 file=test4.log + event time: 1655465404.819:27091, host=? + type=CWD (CWD) + cwd="/usr/src/RPM/BUILD/zlib-1.2.11-alt1/contrib/minizip" (/usr/src/RPM/BUILD/zlib-1.2.11-alt1/contrib/minizip) + + record 4 of type 1302(PATH) has 15 fields + line=11 file=test4.log + event time: 1655465404.819:27091, host=? + type=PATH (PATH) + item=0 (0) + name="/usr/bin/m4" (/usr/bin/m4) + inode=40839 (40839) + dev=00:30 (00:30) + mode=0100755 (file,755) + ouid=582 (unknown(582)) + ogid=582 (unknown(582)) + rdev=00:00 (00:00) + nametype=NORMAL (NORMAL) + cap_fp=0 (none) + cap_fi=0 (none) + cap_fe=0 (0) + cap_fver=0 (0) + cap_frootid=0 (0) + + record 5 of type 1302(PATH) has 15 fields + line=12 file=test4.log + event time: 1655465404.819:27091, host=? + type=PATH (PATH) + item=1 (1) + name="/lib64/ld-linux-aarch64.so.1" (/lib64/ld-linux-aarch64.so.1) + inode=33874 (33874) + dev=00:30 (00:30) + mode=0100755 (file,755) + ouid=582 (unknown(582)) + ogid=582 (unknown(582)) + rdev=00:00 (00:00) + nametype=NORMAL (NORMAL) + cap_fp=0 (none) + cap_fi=0 (none) + cap_fe=0 (0) + cap_fver=0 (0) + cap_frootid=0 (0) + + record 6 of type 1327(PROCTITLE) has 2 fields + line=13 file=test4.log + event time: 1655465404.819:27091, host=? + type=PROCTITLE (PROCTITLE) + proctitle=2F7573722F62696E2F6D34002D2D6E657374696E672D6C696D69743D31303234002D2D676E75002D2D696E636C7564653D2F7573722F73686172652F6175746F636F6E662D322E3630002D2D64656275673D61666C71002D2D666174616C2D7761726E696E67002D2D646562756766696C653D6175746F6D3474652E63616368 (/usr/bin/m4 --nesting-limit=1024 --gnu --include=/usr/share/autoconf-2.60 --debug=aflq --fatal-warning --debugfile=autom4te.cach) + +Test 11 Done + Finished non-admin tests
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/test/auparse_test.ref.py -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/test/auparse_test.ref.py
Changed
@@ -789,5 +789,465 @@ Test 10 Done +Starting Test 11, walk LONG event records from a file... +event 1 has 7 records + record 1 of type 1300(SYSCALL) has 26 fields + line=1 file=test4.log + event time: 1655465398.534:25618, host=(null) + type=SYSCALL (SYSCALL) + arch=c000003e (x86_64) + syscall=59 (execve) + success=yes (yes) + exit=0 (0) + a0=8c403a0 (0x8c403a0) + a1=8c3e8b0 (0x8c3e8b0) + a2=fffffb6cc5b0 (0xfffffb6cc5b0) + a3=0 (0x0) + items=3 (3) + ppid=105182 (105182) + pid=105183 (105183) + auid=573 (unknown(573)) + uid=583 (unknown(583)) + gid=583 (unknown(583)) + euid=583 (unknown(583)) + suid=583 (unknown(583)) + fsuid=583 (unknown(583)) + egid=583 (unknown(583)) + sgid=583 (unknown(583)) + fsgid=583 (unknown(583)) + tty=pts2 (pts2) + ses=2632 (2632) + comm="ld" (ld) + exe="/bin/sh4" (/bin/sh4) + key=(null) ((null)) + + record 2 of type 1309(EXECVE) has 50 fields + line=2 file=test4.log + event time: 1655465398.534:25618, host=(null) + type=EXECVE (EXECVE) + argc=48 (48) + a0="/bin/sh" (/bin/sh) + a1="-efu" (-efu) + a2="/usr/bin/ld" (/usr/bin/ld) + a3="-plugin" (-plugin) + a4="/usr/libexec/gcc/aarch64-alt-linux/8/liblto_plugin.so" (/usr/libexec/gcc/aarch64-alt-linux/8/liblto_plugin.so) + a5="-plugin-opt=/usr/libexec/gcc/aarch64-alt-linux/8/lto-wrapper" (-plugin-opt=/usr/libexec/gcc/aarch64-alt-linux/8/lto-wrapper) + a6="-plugin-opt=-fresolution=/usr/src/tmp/cchyHiZN.res" (-plugin-opt=-fresolution=/usr/src/tmp/cchyHiZN.res) + a7="-plugin-opt=-pass-through=-lgcc" (-plugin-opt=-pass-through=-lgcc) + a8="-plugin-opt=-pass-through=-lgcc_s" (-plugin-opt=-pass-through=-lgcc_s) + a9="-plugin-opt=-pass-through=-lc" (-plugin-opt=-pass-through=-lc) + a10="-plugin-opt=-pass-through=-lgcc" (-plugin-opt=-pass-through=-lgcc) + a11="-plugin-opt=-pass-through=-lgcc_s" (-plugin-opt=-pass-through=-lgcc_s) + a12="--build-id" (--build-id) + a13="--no-add-needed" (--no-add-needed) + a14="--eh-frame-hdr" (--eh-frame-hdr) + a15="--hash-style=gnu" (--hash-style=gnu) + a16="--as-needed" (--as-needed) + a17="-shared" (-shared) + a18="-X" (-X) + a19="-EL" (-EL) + a20="-maarch64linux" (-maarch64linux) + a21="-o" (-o) + a22="ztest105133.so" (ztest105133.so) + a23="/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64/crti.o" (/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64/crti.o) + a24="/usr/lib64/gcc/aarch64-alt-linux/8/crtbeginS.o" (/usr/lib64/gcc/aarch64-alt-linux/8/crtbeginS.o) + a25="-L/usr/lib64/gcc/aarch64-alt-linux/8" (-L/usr/lib64/gcc/aarch64-alt-linux/8) + a26="-L/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64" (-L/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64) + a27="-L/lib/../lib64" (-L/lib/../lib64) + a28="-L/usr/lib/../lib64" (-L/usr/lib/../lib64) + a29="-L/usr/lib64/gcc/aarch64-alt-linux/8/../../.." (-L/usr/lib64/gcc/aarch64-alt-linux/8/../../..) + a30="-soname" (-soname) + a31="libz.so.1" (libz.so.1) + a32="--version-script" (--version-script) + a33="zlib.map" (zlib.map) + a34="ztest105133.o" (ztest105133.o) + a35="-lgcc" (-lgcc) + a36="--push-state" (--push-state) + a37="--as-needed" (--as-needed) + a38="-lgcc_s" (-lgcc_s) + a39="--pop-state" (--pop-state) + a40="-lc" (-lc) + a41="-lgcc" (-lgcc) + a42="--push-state" (--push-state) + a43="--as-needed" (--as-needed) + a44="-lgcc_s" (-lgcc_s) + a45="--pop-state" (--pop-state) + a46="/usr/lib64/gcc/aarch64-alt-linux/8/crtendS.o" (/usr/lib64/gcc/aarch64-alt-linux/8/crtendS.o) + a47="/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64/crtn.o" (/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64/crtn.o) + + record 3 of type 1307(CWD) has 2 fields + line=3 file=test4.log + event time: 1655465398.534:25618, host=(null) + type=CWD (CWD) + cwd="/usr/src/RPM/BUILD/zlib-1.2.11-alt1" (/usr/src/RPM/BUILD/zlib-1.2.11-alt1) + + record 4 of type 1302(PATH) has 15 fields + line=4 file=test4.log + event time: 1655465398.534:25618, host=(null) + type=PATH (PATH) + item=0 (0) + name="/usr/bin/ld" (/usr/bin/ld) + inode=40854 (40854) + dev=00:30 (00:30) + mode=0100755 (file,755) + ouid=582 (unknown(582)) + ogid=582 (unknown(582)) + rdev=00:00 (00:00) + nametype=NORMAL (NORMAL) + cap_fp=0 (none) + cap_fi=0 (none) + cap_fe=0 (0) + cap_fver=0 (0) + cap_frootid=0 (0) + + record 5 of type 1302(PATH) has 15 fields + line=5 file=test4.log + event time: 1655465398.534:25618, host=(null) + type=PATH (PATH) + item=1 (1) + name="/bin/sh" (/bin/sh) + inode=33238 (33238) + dev=00:30 (00:30) + mode=0100755 (file,755) + ouid=582 (unknown(582)) + ogid=582 (unknown(582)) + rdev=00:00 (00:00) + nametype=NORMAL (NORMAL) + cap_fp=0 (none) + cap_fi=0 (none) + cap_fe=0 (0) + cap_fver=0 (0) + cap_frootid=0 (0) + + record 6 of type 1302(PATH) has 15 fields + line=6 file=test4.log + event time: 1655465398.534:25618, host=(null) + type=PATH (PATH) + item=2 (2) + name="/lib64/ld-linux-aarch64.so.1" (/lib64/ld-linux-aarch64.so.1) + inode=33874 (33874) + dev=00:30 (00:30) + mode=0100755 (file,755) + ouid=582 (unknown(582)) + ogid=582 (unknown(582)) + rdev=00:00 (00:00) + nametype=NORMAL (NORMAL) + cap_fp=0 (none) + cap_fi=0 (none) + cap_fe=0 (0) + cap_fver=0 (0) + cap_frootid=0 (0) + + record 7 of type 1327(PROCTITLE) has 2 fields + line=7 file=test4.log + event time: 1655465398.534:25618, host=(null) + type=PROCTITLE (PROCTITLE) + proctitle=2F62696E2F7368002D656675002F7573722F62696E2F6C64002D706C7567696E002F7573722F6C6962657865632F6763632F616172636836342D616C742D6C696E75782F382F6C69626C746F5F706C7567696E2E736F002D706C7567696E2D6F70743D2F7573722F6C6962657865632F6763632F616172636836342D616C742D (/bin/sh -efu /usr/bin/ld -plugin /usr/libexec/gcc/aarch64-alt-linux/8/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/aarch64-alt-) + +event 2 has 6 records + record 1 of type 1300(SYSCALL) has 26 fields + line=8 file=test4.log + event time: 1655465404.819:27091, host=(null) + type=SYSCALL (SYSCALL) + arch=c000003e (x86_64) + syscall=59 (execve) + success=yes (yes) + exit=0 (0) + a0=1a407f50 (0x1a407f50) + a1=1a401cd0 (0x1a401cd0) + a2=1a3ed090 (0x1a3ed090) + a3=0 (0x0) + items=2 (2) + ppid=105932 (105932) + pid=105933 (105933) + auid=573 (unknown(573)) + uid=583 (unknown(583)) + gid=583 (unknown(583)) + euid=583 (unknown(583)) + suid=583 (unknown(583)) + fsuid=583 (unknown(583)) + egid=583 (unknown(583)) + sgid=583 (unknown(583)) + fsgid=583 (unknown(583)) + tty=pts2 (pts2) + ses=2632 (2632) + comm="m4" (m4) + exe="/usr/bin/m4" (/usr/bin/m4) + key=(null) ((null)) + + record 2 of type 1309(EXECVE) has 218 fields + line=9 file=test4.log + event time: 1655465404.819:27091, host=(null) + type=EXECVE (EXECVE) + argc=216 (216) + a0="/usr/bin/m4" (/usr/bin/m4) + a1="--nesting-limit=1024" (--nesting-limit=1024) + a2="--gnu" (--gnu) + a3="--include=/usr/share/autoconf-2.60" (--include=/usr/share/autoconf-2.60) + a4="--debug=aflq" (--debug=aflq) + a5="--fatal-warning" (--fatal-warning) + a6="--debugfile=autom4te.cache/traces.0t" (--debugfile=autom4te.cache/traces.0t) + a7="--trace=AC_CHECK_LIBM" (--trace=AC_CHECK_LIBM) + a8="--trace=AC_CONFIG_MACRO_DIR" (--trace=AC_CONFIG_MACRO_DIR) + a9="--trace=AC_CONFIG_MACRO_DIR_TRACE" (--trace=AC_CONFIG_MACRO_DIR_TRACE) + a10="--trace=AC_DEFUN" (--trace=AC_DEFUN) + a11="--trace=AC_DEFUN_ONCE" (--trace=AC_DEFUN_ONCE) + a12="--trace=AC_DEPLIBS_CHECK_METHOD" (--trace=AC_DEPLIBS_CHECK_METHOD) + a13="--trace=AC_DISABLE_FAST_INSTALL" (--trace=AC_DISABLE_FAST_INSTALL) + a14="--trace=AC_DISABLE_SHARED" (--trace=AC_DISABLE_SHARED) + a15="--trace=AC_DISABLE_STATIC" (--trace=AC_DISABLE_STATIC) + a16="--trace=AC_ENABLE_FAST_INSTALL" (--trace=AC_ENABLE_FAST_INSTALL) + a17="--trace=AC_ENABLE_SHARED" (--trace=AC_ENABLE_SHARED) + a18="--trace=AC_ENABLE_STATIC" (--trace=AC_ENABLE_STATIC) + a19="--trace=AC_LIBLTDL_CONVENIENCE" (--trace=AC_LIBLTDL_CONVENIENCE) + a20="--trace=AC_LIBLTDL_INSTALLABLE" (--trace=AC_LIBLTDL_INSTALLABLE) + a21="--trace=AC_LIBTOOL_COMPILER_OPTION" (--trace=AC_LIBTOOL_COMPILER_OPTION) + a22="--trace=AC_LIBTOOL_CONFIG" (--trace=AC_LIBTOOL_CONFIG) + a23="--trace=AC_LIBTOOL_CXX" (--trace=AC_LIBTOOL_CXX) + a24="--trace=AC_LIBTOOL_DLOPEN" (--trace=AC_LIBTOOL_DLOPEN) + a25="--trace=AC_LIBTOOL_DLOPEN_SELF" (--trace=AC_LIBTOOL_DLOPEN_SELF) + a26="--trace=AC_LIBTOOL_F77" (--trace=AC_LIBTOOL_F77) + a27="--trace=AC_LIBTOOL_FC" (--trace=AC_LIBTOOL_FC) + a28="--trace=AC_LIBTOOL_GCJ" (--trace=AC_LIBTOOL_GCJ) + a29="--trace=AC_LIBTOOL_LANG_CXX_CONFIG" (--trace=AC_LIBTOOL_LANG_CXX_CONFIG) + a30="--trace=AC_LIBTOOL_LANG_C_CONFIG" (--trace=AC_LIBTOOL_LANG_C_CONFIG) + a31="--trace=AC_LIBTOOL_LANG_F77_CONFIG" (--trace=AC_LIBTOOL_LANG_F77_CONFIG) + a32="--trace=AC_LIBTOOL_LANG_GCJ_CONFIG" (--trace=AC_LIBTOOL_LANG_GCJ_CONFIG) + a33="--trace=AC_LIBTOOL_LANG_RC_CONFIG" (--trace=AC_LIBTOOL_LANG_RC_CONFIG) + a34="--trace=AC_LIBTOOL_LINKER_OPTION" (--trace=AC_LIBTOOL_LINKER_OPTION) + a35="--trace=AC_LIBTOOL_OBJDIR" (--trace=AC_LIBTOOL_OBJDIR) + a36="--trace=AC_LIBTOOL_PICMODE" (--trace=AC_LIBTOOL_PICMODE) + a37="--trace=AC_LIBTOOL_POSTDEP_PREDEP" (--trace=AC_LIBTOOL_POSTDEP_PREDEP) + a38="--trace=AC_LIBTOOL_PROG_CC_C_O" (--trace=AC_LIBTOOL_PROG_CC_C_O) + a39="--trace=AC_LIBTOOL_PROG_COMPILER_NO_RTTI" (--trace=AC_LIBTOOL_PROG_COMPILER_NO_RTTI) + a40="--trace=AC_LIBTOOL_PROG_COMPILER_PIC" (--trace=AC_LIBTOOL_PROG_COMPILER_PIC) + a41="--trace=AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH" (--trace=AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH) + a42="--trace=AC_LIBTOOL_PROG_LD_SHLIBS" (--trace=AC_LIBTOOL_PROG_LD_SHLIBS) + a43="--trace=AC_LIBTOOL_RC" (--trace=AC_LIBTOOL_RC) + a44="--trace=AC_LIBTOOL_SETUP" (--trace=AC_LIBTOOL_SETUP) + a45="--trace=AC_LIBTOOL_SYS_DYNAMIC_LINKER" (--trace=AC_LIBTOOL_SYS_DYNAMIC_LINKER) + a46="--trace=AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE" (--trace=AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE) + a47="--trace=AC_LIBTOOL_SYS_HARD_LINK_LOCKS" (--trace=AC_LIBTOOL_SYS_HARD_LINK_LOCKS) + a48="--trace=AC_LIBTOOL_SYS_LIB_STRIP" (--trace=AC_LIBTOOL_SYS_LIB_STRIP) + a49="--trace=AC_LIBTOOL_SYS_MAX_CMD_LEN" (--trace=AC_LIBTOOL_SYS_MAX_CMD_LEN) + a50="--trace=AC_LIBTOOL_SYS_OLD_ARCHIVE" (--trace=AC_LIBTOOL_SYS_OLD_ARCHIVE) + a51="--trace=AC_LIBTOOL_WIN32_DLL" (--trace=AC_LIBTOOL_WIN32_DLL) + a52="--trace=AC_LIB_LTDL" (--trace=AC_LIB_LTDL) + a53="--trace=AC_LTDL_DLLIB" (--trace=AC_LTDL_DLLIB) + a54="--trace=AC_LTDL_DLSYM_USCORE" (--trace=AC_LTDL_DLSYM_USCORE) + a55="--trace=AC_LTDL_ENABLE_INSTALL" (--trace=AC_LTDL_ENABLE_INSTALL) + a56="--trace=AC_LTDL_OBJDIR" (--trace=AC_LTDL_OBJDIR) + a57="--trace=AC_LTDL_PREOPEN" (--trace=AC_LTDL_PREOPEN) + a58="--trace=AC_LTDL_SHLIBEXT" (--trace=AC_LTDL_SHLIBEXT) + a59="--trace=AC_LTDL_SHLIBPATH" (--trace=AC_LTDL_SHLIBPATH) + a60="--trace=AC_LTDL_SYMBOL_USCORE" (--trace=AC_LTDL_SYMBOL_USCORE) + a61="--trace=AC_LTDL_SYSSEARCHPATH" (--trace=AC_LTDL_SYSSEARCHPATH) + a62="--trace=AC_LTDL_SYS_DLOPEN_DEPLIBS" (--trace=AC_LTDL_SYS_DLOPEN_DEPLIBS) + a63="--trace=AC_PATH_MAGIC" (--trace=AC_PATH_MAGIC) + a64="--trace=AC_PATH_TOOL_PREFIX" (--trace=AC_PATH_TOOL_PREFIX) + a65="--trace=AC_PROG_EGREP" (--trace=AC_PROG_EGREP) + a66="--trace=AC_PROG_LD" (--trace=AC_PROG_LD) + a67="--trace=AC_PROG_LD_GNU" (--trace=AC_PROG_LD_GNU) + a68="--trace=AC_PROG_LD_RELOAD_FLAG" (--trace=AC_PROG_LD_RELOAD_FLAG) + a69="--trace=AC_PROG_LIBTOOL" (--trace=AC_PROG_LIBTOOL) + a70="--trace=AC_PROG_NM" (--trace=AC_PROG_NM) + a71="--trace=AC_WITH_LTDL" (--trace=AC_WITH_LTDL) + a72="--trace=AM_AUTOMAKE_VERSION" (--trace=AM_AUTOMAKE_VERSION) + a73="--trace=AM_AUX_DIR_EXPAND" (--trace=AM_AUX_DIR_EXPAND) + a74="--trace=AM_CONDITIONAL" (--trace=AM_CONDITIONAL) + a75="--trace=AM_DEP_TRACK" (--trace=AM_DEP_TRACK) + a76="--trace=AM_DISABLE_SHARED" (--trace=AM_DISABLE_SHARED) + a77="--trace=AM_DISABLE_STATIC" (--trace=AM_DISABLE_STATIC) + a78="--trace=AM_ENABLE_SHARED" (--trace=AM_ENABLE_SHARED) + a79="--trace=AM_ENABLE_STATIC" (--trace=AM_ENABLE_STATIC) + a80="--trace=AM_INIT_AUTOMAKE" (--trace=AM_INIT_AUTOMAKE) + a81="--trace=AM_MAKE_INCLUDE" (--trace=AM_MAKE_INCLUDE) + a82="--trace=AM_MISSING_HAS_RUN" (--trace=AM_MISSING_HAS_RUN) + a83="--trace=AM_MISSING_PROG" (--trace=AM_MISSING_PROG) + a84="--trace=AM_OUTPUT_DEPENDENCY_COMMANDS" (--trace=AM_OUTPUT_DEPENDENCY_COMMANDS) + a85="--trace=AM_PROG_CC_C_O" (--trace=AM_PROG_CC_C_O) + a86="--trace=AM_PROG_INSTALL_SH" (--trace=AM_PROG_INSTALL_SH) + a87="--trace=AM_PROG_INSTALL_STRIP" (--trace=AM_PROG_INSTALL_STRIP) + a88="--trace=AM_PROG_LD" (--trace=AM_PROG_LD) + a89="--trace=AM_PROG_LIBTOOL" (--trace=AM_PROG_LIBTOOL) + a90="--trace=AM_PROG_NM" (--trace=AM_PROG_NM) + a91="--trace=AM_RUN_LOG" (--trace=AM_RUN_LOG) + a92="--trace=AM_SANITY_CHECK" (--trace=AM_SANITY_CHECK) + a93="--trace=AM_SET_CURRENT_AUTOMAKE_VERSION" (--trace=AM_SET_CURRENT_AUTOMAKE_VERSION) + a94="--trace=AM_SET_DEPDIR" (--trace=AM_SET_DEPDIR) + a95="--trace=AM_SET_LEADING_DOT" (--trace=AM_SET_LEADING_DOT) + a96="--trace=AM_SILENT_RULES" (--trace=AM_SILENT_RULES) + a97="--trace=AM_SUBST_NOTMAKE" (--trace=AM_SUBST_NOTMAKE) + a98="--trace=AU_DEFUN" (--trace=AU_DEFUN) + a99="--trace=LTDL_CONVENIENCE" (--trace=LTDL_CONVENIENCE) + a100="--trace=LTDL_INIT" (--trace=LTDL_INIT) + a101="--trace=LTDL_INSTALLABLE" (--trace=LTDL_INSTALLABLE) + a102="--trace=LTOBSOLETE_VERSION" (--trace=LTOBSOLETE_VERSION) + a103="--trace=LTOPTIONS_VERSION" (--trace=LTOPTIONS_VERSION) + a104="--trace=LTSUGAR_VERSION" (--trace=LTSUGAR_VERSION) + a105="--trace=LTVERSION_VERSION" (--trace=LTVERSION_VERSION) + a106="--trace=LT_AC_PROG_EGREP" (--trace=LT_AC_PROG_EGREP) + a107="--trace=LT_AC_PROG_GCJ" (--trace=LT_AC_PROG_GCJ) + a108="--trace=LT_AC_PROG_RC" (--trace=LT_AC_PROG_RC) + a109="--trace=LT_AC_PROG_SED" (--trace=LT_AC_PROG_SED) + a110="--trace=LT_CMD_MAX_LEN" (--trace=LT_CMD_MAX_LEN) + a111="--trace=LT_CONFIG_LTDL_DIR" (--trace=LT_CONFIG_LTDL_DIR) + a112="--trace=LT_FUNC_ARGZ" (--trace=LT_FUNC_ARGZ) + a113="--trace=LT_FUNC_DLSYM_USCORE" (--trace=LT_FUNC_DLSYM_USCORE) + a114="--trace=LT_INIT" (--trace=LT_INIT) + a115="--trace=LT_LANG" (--trace=LT_LANG) + a116="--trace=LT_LIB_DLLOAD" (--trace=LT_LIB_DLLOAD) + a117="--trace=LT_LIB_M" (--trace=LT_LIB_M) + a118="--trace=LT_OUTPUT" (--trace=LT_OUTPUT) + a119="--trace=LT_PATH_LD" (--trace=LT_PATH_LD) + a120="--trace=LT_PATH_NM" (--trace=LT_PATH_NM) + a121="--trace=LT_PROG_GCJ" (--trace=LT_PROG_GCJ) + a122="--trace=LT_PROG_GO" (--trace=LT_PROG_GO) + a123="--trace=LT_PROG_RC" (--trace=LT_PROG_RC) + a124="--trace=LT_SUPPORTED_TAG" (--trace=LT_SUPPORTED_TAG) + a125="--trace=LT_SYS_DLOPEN_DEPLIBS" (--trace=LT_SYS_DLOPEN_DEPLIBS) + a126="--trace=LT_SYS_DLOPEN_SELF" (--trace=LT_SYS_DLOPEN_SELF) + a127="--trace=LT_SYS_DLSEARCH_PATH" (--trace=LT_SYS_DLSEARCH_PATH) + a128="--trace=LT_SYS_MODULE_EXT" (--trace=LT_SYS_MODULE_EXT) + a129="--trace=LT_SYS_MODULE_PATH" (--trace=LT_SYS_MODULE_PATH) + a130="--trace=LT_SYS_SYMBOL_USCORE" (--trace=LT_SYS_SYMBOL_USCORE) + a131="--trace=LT_WITH_LTDL" (--trace=LT_WITH_LTDL) + a132="--trace=_AC_AM_CONFIG_HEADER_HOOK" (--trace=_AC_AM_CONFIG_HEADER_HOOK) + a133="--trace=_AC_PROG_LIBTOOL" (--trace=_AC_PROG_LIBTOOL) + a134="--trace=_AM_AUTOCONF_VERSION" (--trace=_AM_AUTOCONF_VERSION) + a135="--trace=_AM_CONFIG_MACRO_DIRS" (--trace=_AM_CONFIG_MACRO_DIRS) + a136="--trace=_AM_DEPENDENCIES" (--trace=_AM_DEPENDENCIES) + a137="--trace=_AM_IF_OPTION" (--trace=_AM_IF_OPTION) + a138="--trace=_AM_MANGLE_OPTION" (--trace=_AM_MANGLE_OPTION) + a139="--trace=_AM_OUTPUT_DEPENDENCY_COMMANDS" (--trace=_AM_OUTPUT_DEPENDENCY_COMMANDS) + a140="--trace=_AM_PROG_CC_C_O" (--trace=_AM_PROG_CC_C_O) + a141="--trace=_AM_PROG_TAR" (--trace=_AM_PROG_TAR) + a142="--trace=_AM_SET_OPTION" (--trace=_AM_SET_OPTION) + a143="--trace=_AM_SET_OPTIONS" (--trace=_AM_SET_OPTIONS) + a144="--trace=_AM_SUBST_NOTMAKE" (--trace=_AM_SUBST_NOTMAKE) + a145="--trace=_LTDL_SETUP" (--trace=_LTDL_SETUP) + a146="--trace=_LT_AC_CHECK_DLFCN" (--trace=_LT_AC_CHECK_DLFCN) + a147="--trace=_LT_AC_FILE_LTDLL_C" (--trace=_LT_AC_FILE_LTDLL_C) + a148="--trace=_LT_AC_LANG_CXX" (--trace=_LT_AC_LANG_CXX) + a149="--trace=_LT_AC_LANG_CXX_CONFIG" (--trace=_LT_AC_LANG_CXX_CONFIG) + a150="--trace=_LT_AC_LANG_C_CONFIG" (--trace=_LT_AC_LANG_C_CONFIG) + a151="--trace=_LT_AC_LANG_F77" (--trace=_LT_AC_LANG_F77) + a152="--trace=_LT_AC_LANG_F77_CONFIG" (--trace=_LT_AC_LANG_F77_CONFIG) + a153="--trace=_LT_AC_LANG_GCJ" (--trace=_LT_AC_LANG_GCJ) + a154="--trace=_LT_AC_LANG_GCJ_CONFIG" (--trace=_LT_AC_LANG_GCJ_CONFIG) + a155="--trace=_LT_AC_LANG_RC_CONFIG" (--trace=_LT_AC_LANG_RC_CONFIG) + a156="--trace=_LT_AC_LOCK" (--trace=_LT_AC_LOCK) + a157="--trace=_LT_AC_PROG_CXXCPP" (--trace=_LT_AC_PROG_CXXCPP) + a158="--trace=_LT_AC_PROG_ECHO_BACKSLASH" (--trace=_LT_AC_PROG_ECHO_BACKSLASH) + a159="--trace=_LT_AC_SHELL_INIT" (--trace=_LT_AC_SHELL_INIT) + a160="--trace=_LT_AC_SYS_COMPILER" (--trace=_LT_AC_SYS_COMPILER) + a161="--trace=_LT_AC_SYS_LIBPATH_AIX" (--trace=_LT_AC_SYS_LIBPATH_AIX) + a162="--trace=_LT_AC_TAGCONFIG" (--trace=_LT_AC_TAGCONFIG) + a163="--trace=_LT_AC_TAGVAR" (--trace=_LT_AC_TAGVAR) + a164="--trace=_LT_AC_TRY_DLOPEN_SELF" (--trace=_LT_AC_TRY_DLOPEN_SELF) + a165="--trace=_LT_CC_BASENAME" (--trace=_LT_CC_BASENAME) + a166="--trace=_LT_COMPILER_BOILERPLATE" (--trace=_LT_COMPILER_BOILERPLATE) + a167="--trace=_LT_COMPILER_OPTION" (--trace=_LT_COMPILER_OPTION) + a168="--trace=_LT_DLL_DEF_P" (--trace=_LT_DLL_DEF_P) + a169="--trace=_LT_LIBOBJ" (--trace=_LT_LIBOBJ) + a170="--trace=_LT_LINKER_BOILERPLATE" (--trace=_LT_LINKER_BOILERPLATE) + a171="--trace=_LT_LINKER_OPTION" (--trace=_LT_LINKER_OPTION) + a172="--trace=_LT_PATH_TOOL_PREFIX" (--trace=_LT_PATH_TOOL_PREFIX) + a173="--trace=_LT_PREPARE_SED_QUOTE_VARS" (--trace=_LT_PREPARE_SED_QUOTE_VARS) + a174="--trace=_LT_PROG_CXX" (--trace=_LT_PROG_CXX) + a175="--trace=_LT_PROG_ECHO_BACKSLASH" (--trace=_LT_PROG_ECHO_BACKSLASH) + a176="--trace=_LT_PROG_F77" (--trace=_LT_PROG_F77) + a177="--trace=_LT_PROG_FC" (--trace=_LT_PROG_FC) + a178="--trace=_LT_PROG_LTMAIN" (--trace=_LT_PROG_LTMAIN) + a179="--trace=_LT_REQUIRED_DARWIN_CHECKS" (--trace=_LT_REQUIRED_DARWIN_CHECKS) + a180="--trace=_LT_WITH_SYSROOT" (--trace=_LT_WITH_SYSROOT) + a181="--trace=_m4_warn" (--trace=_m4_warn) + a182="--trace=include" (--trace=include) + a183="--trace=m4_include" (--trace=m4_include) + a184="--trace=m4_pattern_allow" (--trace=m4_pattern_allow) + a185="--trace=m4_pattern_forbid" (--trace=m4_pattern_forbid) + a186="--reload-state=/usr/share/autoconf-2.60/autoconf/autoconf.m4f" (--reload-state=/usr/share/autoconf-2.60/autoconf/autoconf.m4f) + a187="--undefine=__m4_version__" (--undefine=__m4_version__) + a188="-" (-) + a189="/usr/share/aclocal-1.16/internal/ac-config-macro-dirs.m4" (/usr/share/aclocal-1.16/internal/ac-config-macro-dirs.m4) + a190="/usr/share/libtool/aclocal/libtool.m4" (/usr/share/libtool/aclocal/libtool.m4) + a191="/usr/share/libtool/aclocal/ltargz.m4" (/usr/share/libtool/aclocal/ltargz.m4) + a192="/usr/share/libtool/aclocal/ltdl.m4" (/usr/share/libtool/aclocal/ltdl.m4) + a193="/usr/share/libtool/aclocal/ltoptions.m4" (/usr/share/libtool/aclocal/ltoptions.m4) + a194="/usr/share/libtool/aclocal/ltsugar.m4" (/usr/share/libtool/aclocal/ltsugar.m4) + a195="/usr/share/libtool/aclocal/ltversion.m4" (/usr/share/libtool/aclocal/ltversion.m4) + a196="/usr/share/libtool/aclocal/lt~obsolete.m4" (/usr/share/libtool/aclocal/lt~obsolete.m4) + a197="/usr/share/aclocal-1.16/amversion.m4" (/usr/share/aclocal-1.16/amversion.m4) + a198="/usr/share/aclocal-1.16/auxdir.m4" (/usr/share/aclocal-1.16/auxdir.m4) + a199="/usr/share/aclocal-1.16/cond.m4" (/usr/share/aclocal-1.16/cond.m4) + a200="/usr/share/aclocal-1.16/depend.m4" (/usr/share/aclocal-1.16/depend.m4) + a201="/usr/share/aclocal-1.16/depout.m4" (/usr/share/aclocal-1.16/depout.m4) + a202="/usr/share/aclocal-1.16/init.m4" (/usr/share/aclocal-1.16/init.m4) + a203="/usr/share/aclocal-1.16/install-sh.m4" (/usr/share/aclocal-1.16/install-sh.m4) + a204="/usr/share/aclocal-1.16/lead-dot.m4" (/usr/share/aclocal-1.16/lead-dot.m4) + a205="/usr/share/aclocal-1.16/make.m4" (/usr/share/aclocal-1.16/make.m4) + a206="/usr/share/aclocal-1.16/missing.m4" (/usr/share/aclocal-1.16/missing.m4) + a207="/usr/share/aclocal-1.16/options.m4" (/usr/share/aclocal-1.16/options.m4) + a208="/usr/share/aclocal-1.16/prog-cc-c-o.m4" (/usr/share/aclocal-1.16/prog-cc-c-o.m4) + a209="/usr/share/aclocal-1.16/runlog.m4" (/usr/share/aclocal-1.16/runlog.m4) + a210="/usr/share/aclocal-1.16/sanity.m4" (/usr/share/aclocal-1.16/sanity.m4) + a211="/usr/share/aclocal-1.16/silent.m4" (/usr/share/aclocal-1.16/silent.m4) + a212="/usr/share/aclocal-1.16/strip.m4" (/usr/share/aclocal-1.16/strip.m4) + a213="/usr/share/aclocal-1.16/substnot.m4" (/usr/share/aclocal-1.16/substnot.m4) + a214="/usr/share/aclocal-1.16/tar.m4" (/usr/share/aclocal-1.16/tar.m4) + a215="configure.ac" (configure.ac) + + record 3 of type 1307(CWD) has 2 fields + line=10 file=test4.log + event time: 1655465404.819:27091, host=(null) + type=CWD (CWD) + cwd="/usr/src/RPM/BUILD/zlib-1.2.11-alt1/contrib/minizip" (/usr/src/RPM/BUILD/zlib-1.2.11-alt1/contrib/minizip) + + record 4 of type 1302(PATH) has 15 fields + line=11 file=test4.log + event time: 1655465404.819:27091, host=(null) + type=PATH (PATH) + item=0 (0) + name="/usr/bin/m4" (/usr/bin/m4) + inode=40839 (40839) + dev=00:30 (00:30) + mode=0100755 (file,755) + ouid=582 (unknown(582)) + ogid=582 (unknown(582)) + rdev=00:00 (00:00) + nametype=NORMAL (NORMAL) + cap_fp=0 (none) + cap_fi=0 (none) + cap_fe=0 (0) + cap_fver=0 (0) + cap_frootid=0 (0) + + record 5 of type 1302(PATH) has 15 fields + line=12 file=test4.log + event time: 1655465404.819:27091, host=(null) + type=PATH (PATH) + item=1 (1) + name="/lib64/ld-linux-aarch64.so.1" (/lib64/ld-linux-aarch64.so.1) + inode=33874 (33874) + dev=00:30 (00:30) + mode=0100755 (file,755) + ouid=582 (unknown(582)) + ogid=582 (unknown(582)) + rdev=00:00 (00:00) + nametype=NORMAL (NORMAL) + cap_fp=0 (none) + cap_fi=0 (none) + cap_fe=0 (0) + cap_fver=0 (0) + cap_frootid=0 (0) + + record 6 of type 1327(PROCTITLE) has 2 fields + line=13 file=test4.log + event time: 1655465404.819:27091, host=(null) + type=PROCTITLE (PROCTITLE) + proctitle=2F7573722F62696E2F6D34002D2D6E657374696E672D6C696D69743D31303234002D2D676E75002D2D696E636C7564653D2F7573722F73686172652F6175746F636F6E662D322E3630002D2D64656275673D61666C71002D2D666174616C2D7761726E696E67002D2D646562756766696C653D6175746F6D3474652E63616368 (/usr/bin/m4 --nesting-limit=1024 --gnu --include=/usr/share/autoconf-2.60 --debug=aflq --fatal-warning --debugfile=autom4te.cach) + +Test 11 Done + Finished non-admin tests
View file
_service:tar_scm:audit-3.0.9.tar.gz/auparse/test/test4.log
Added
@@ -0,0 +1,13 @@ +type=SYSCALL msg=audit(1655465398.534:25618): arch=c000003e syscall=59 success=yes exit=0 a0=8c403a0 a1=8c3e8b0 a2=fffffb6cc5b0 a3=0 items=3 ppid=105182 pid=105183 auid=573 uid=583 gid=583 euid=583 suid=583 fsuid=583 egid=583 sgid=583 fsgid=583 tty=pts2 ses=2632 comm="ld" exe="/bin/sh4" key=(null) +type=EXECVE msg=audit(1655465398.534:25618): argc=48 a0="/bin/sh" a1="-efu" a2="/usr/bin/ld" a3="-plugin" a4="/usr/libexec/gcc/aarch64-alt-linux/8/liblto_plugin.so" a5="-plugin-opt=/usr/libexec/gcc/aarch64-alt-linux/8/lto-wrapper" a6="-plugin-opt=-fresolution=/usr/src/tmp/cchyHiZN.res" a7="-plugin-opt=-pass-through=-lgcc" a8="-plugin-opt=-pass-through=-lgcc_s" a9="-plugin-opt=-pass-through=-lc" a10="-plugin-opt=-pass-through=-lgcc" a11="-plugin-opt=-pass-through=-lgcc_s" a12="--build-id" a13="--no-add-needed" a14="--eh-frame-hdr" a15="--hash-style=gnu" a16="--as-needed" a17="-shared" a18="-X" a19="-EL" a20="-maarch64linux" a21="-o" a22="ztest105133.so" a23="/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64/crti.o" a24="/usr/lib64/gcc/aarch64-alt-linux/8/crtbeginS.o" a25="-L/usr/lib64/gcc/aarch64-alt-linux/8" a26="-L/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64" a27="-L/lib/../lib64" a28="-L/usr/lib/../lib64" a29="-L/usr/lib64/gcc/aarch64-alt-linux/8/../../.." a30="-soname" a31="libz.so.1" a32="--version-script" a33="zlib.map" a34="ztest105133.o" a35="-lgcc" a36="--push-state" a37="--as-needed" a38="-lgcc_s" a39="--pop-state" a40="-lc" a41="-lgcc" a42="--push-state" a43="--as-needed" a44="-lgcc_s" a45="--pop-state" a46="/usr/lib64/gcc/aarch64-alt-linux/8/crtendS.o" a47="/usr/lib64/gcc/aarch64-alt-linux/8/../../../../lib64/crtn.o" +type=CWD msg=audit(1655465398.534:25618): cwd="/usr/src/RPM/BUILD/zlib-1.2.11-alt1" +type=PATH msg=audit(1655465398.534:25618): item=0 name="/usr/bin/ld" inode=40854 dev=00:30 mode=0100755 ouid=582 ogid=582 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 +type=PATH msg=audit(1655465398.534:25618): item=1 name="/bin/sh" inode=33238 dev=00:30 mode=0100755 ouid=582 ogid=582 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 +type=PATH msg=audit(1655465398.534:25618): item=2 name="/lib64/ld-linux-aarch64.so.1" inode=33874 dev=00:30 mode=0100755 ouid=582 ogid=582 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 +type=PROCTITLE msg=audit(1655465398.534:25618): proctitle=2F62696E2F7368002D656675002F7573722F62696E2F6C64002D706C7567696E002F7573722F6C6962657865632F6763632F616172636836342D616C742D6C696E75782F382F6C69626C746F5F706C7567696E2E736F002D706C7567696E2D6F70743D2F7573722F6C6962657865632F6763632F616172636836342D616C742D +type=SYSCALL msg=audit(1655465404.819:27091): arch=c000003e syscall=59 success=yes exit=0 a0=1a407f50 a1=1a401cd0 a2=1a3ed090 a3=0 items=2 ppid=105932 pid=105933 auid=573 uid=583 gid=583 euid=583 suid=583 fsuid=583 egid=583 sgid=583 fsgid=583 tty=pts2 ses=2632 comm="m4" exe="/usr/bin/m4" key=(null) +type=EXECVE msg=audit(1655465404.819:27091): argc=216 a0="/usr/bin/m4" a1="--nesting-limit=1024" a2="--gnu" a3="--include=/usr/share/autoconf-2.60" a4="--debug=aflq" a5="--fatal-warning" a6="--debugfile=autom4te.cache/traces.0t" a7="--trace=AC_CHECK_LIBM" a8="--trace=AC_CONFIG_MACRO_DIR" a9="--trace=AC_CONFIG_MACRO_DIR_TRACE" a10="--trace=AC_DEFUN" a11="--trace=AC_DEFUN_ONCE" a12="--trace=AC_DEPLIBS_CHECK_METHOD" a13="--trace=AC_DISABLE_FAST_INSTALL" a14="--trace=AC_DISABLE_SHARED" a15="--trace=AC_DISABLE_STATIC" a16="--trace=AC_ENABLE_FAST_INSTALL" a17="--trace=AC_ENABLE_SHARED" a18="--trace=AC_ENABLE_STATIC" a19="--trace=AC_LIBLTDL_CONVENIENCE" a20="--trace=AC_LIBLTDL_INSTALLABLE" a21="--trace=AC_LIBTOOL_COMPILER_OPTION" a22="--trace=AC_LIBTOOL_CONFIG" a23="--trace=AC_LIBTOOL_CXX" a24="--trace=AC_LIBTOOL_DLOPEN" a25="--trace=AC_LIBTOOL_DLOPEN_SELF" a26="--trace=AC_LIBTOOL_F77" a27="--trace=AC_LIBTOOL_FC" a28="--trace=AC_LIBTOOL_GCJ" a29="--trace=AC_LIBTOOL_LANG_CXX_CONFIG" a30="--trace=AC_LIBTOOL_LANG_C_CONFIG" a31="--trace=AC_LIBTOOL_LANG_F77_CONFIG" a32="--trace=AC_LIBTOOL_LANG_GCJ_CONFIG" a33="--trace=AC_LIBTOOL_LANG_RC_CONFIG" a34="--trace=AC_LIBTOOL_LINKER_OPTION" a35="--trace=AC_LIBTOOL_OBJDIR" a36="--trace=AC_LIBTOOL_PICMODE" a37="--trace=AC_LIBTOOL_POSTDEP_PREDEP" a38="--trace=AC_LIBTOOL_PROG_CC_C_O" a39="--trace=AC_LIBTOOL_PROG_COMPILER_NO_RTTI" a40="--trace=AC_LIBTOOL_PROG_COMPILER_PIC" a41="--trace=AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH" a42="--trace=AC_LIBTOOL_PROG_LD_SHLIBS" a43="--trace=AC_LIBTOOL_RC" a44="--trace=AC_LIBTOOL_SETUP" a45="--trace=AC_LIBTOOL_SYS_DYNAMIC_LINKER" a46="--trace=AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE" a47="--trace=AC_LIBTOOL_SYS_HARD_LINK_LOCKS" a48="--trace=AC_LIBTOOL_SYS_LIB_STRIP" a49="--trace=AC_LIBTOOL_SYS_MAX_CMD_LEN" a50="--trace=AC_LIBTOOL_SYS_OLD_ARCHIVE" a51="--trace=AC_LIBTOOL_WIN32_DLL" a52="--trace=AC_LIB_LTDL" a53="--trace=AC_LTDL_DLLIB" a54="--trace=AC_LTDL_DLSYM_USCORE" a55="--trace=AC_LTDL_ENABLE_INSTALL" a56="--trace=AC_LTDL_OBJDIR" a57="--trace=AC_LTDL_PREOPEN" a58="--trace=AC_LTDL_SHLIBEXT" a59="--trace=AC_LTDL_SHLIBPATH" a60="--trace=AC_LTDL_SYMBOL_USCORE" a61="--trace=AC_LTDL_SYSSEARCHPATH" a62="--trace=AC_LTDL_SYS_DLOPEN_DEPLIBS" a63="--trace=AC_PATH_MAGIC" a64="--trace=AC_PATH_TOOL_PREFIX" a65="--trace=AC_PROG_EGREP" a66="--trace=AC_PROG_LD" a67="--trace=AC_PROG_LD_GNU" a68="--trace=AC_PROG_LD_RELOAD_FLAG" a69="--trace=AC_PROG_LIBTOOL" a70="--trace=AC_PROG_NM" a71="--trace=AC_WITH_LTDL" a72="--trace=AM_AUTOMAKE_VERSION" a73="--trace=AM_AUX_DIR_EXPAND" a74="--trace=AM_CONDITIONAL" a75="--trace=AM_DEP_TRACK" a76="--trace=AM_DISABLE_SHARED" a77="--trace=AM_DISABLE_STATIC" a78="--trace=AM_ENABLE_SHARED" a79="--trace=AM_ENABLE_STATIC" a80="--trace=AM_INIT_AUTOMAKE" a81="--trace=AM_MAKE_INCLUDE" a82="--trace=AM_MISSING_HAS_RUN" a83="--trace=AM_MISSING_PROG" a84="--trace=AM_OUTPUT_DEPENDENCY_COMMANDS" a85="--trace=AM_PROG_CC_C_O" a86="--trace=AM_PROG_INSTALL_SH" a87="--trace=AM_PROG_INSTALL_STRIP" a88="--trace=AM_PROG_LD" a89="--trace=AM_PROG_LIBTOOL" a90="--trace=AM_PROG_NM" a91="--trace=AM_RUN_LOG" a92="--trace=AM_SANITY_CHECK" a93="--trace=AM_SET_CURRENT_AUTOMAKE_VERSION" a94="--trace=AM_SET_DEPDIR" a95="--trace=AM_SET_LEADING_DOT" a96="--trace=AM_SILENT_RULES" a97="--trace=AM_SUBST_NOTMAKE" a98="--trace=AU_DEFUN" a99="--trace=LTDL_CONVENIENCE" a100="--trace=LTDL_INIT" a101="--trace=LTDL_INSTALLABLE" a102="--trace=LTOBSOLETE_VERSION" a103="--trace=LTOPTIONS_VERSION" a104="--trace=LTSUGAR_VERSION" a105="--trace=LTVERSION_VERSION" a106="--trace=LT_AC_PROG_EGREP" a107="--trace=LT_AC_PROG_GCJ" a108="--trace=LT_AC_PROG_RC" a109="--trace=LT_AC_PROG_SED" a110="--trace=LT_CMD_MAX_LEN" a111="--trace=LT_CONFIG_LTDL_DIR" a112="--trace=LT_FUNC_ARGZ" a113="--trace=LT_FUNC_DLSYM_USCORE" a114="--trace=LT_INIT" a115="--trace=LT_LANG" a116="--trace=LT_LIB_DLLOAD" a117="--trace=LT_LIB_M" a118="--trace=LT_OUTPUT" a119="--trace=LT_PATH_LD" a120="--trace=LT_PATH_NM" a121="--trace=LT_PROG_GCJ" a122="--trace=LT_PROG_GO" a123="--trace=LT_PROG_RC" a124="--trace=LT_SUPPORTED_TAG" a125="--trace=LT_SYS_DLOPEN_DEPLIBS" a126="--trace=LT_SYS_DLOPEN_SELF" a127="--trace=LT_SYS_DLSEARCH_PATH" a128="--trace=LT_SYS_MODULE_EXT" a129="--trace=LT_SYS_MODULE_PATH" a130="--trace=LT_SYS_SYMBOL_USCORE" a131="--trace=LT_WITH_LTDL" a132="--trace=_AC_AM_CONFIG_HEADER_HOOK" a133="--trace=_AC_PROG_LIBTOOL" a134="--trace=_AM_AUTOCONF_VERSION" a135="--trace=_AM_CONFIG_MACRO_DIRS" a136="--trace=_AM_DEPENDENCIES" a137="--trace=_AM_IF_OPTION" a138="--trace=_AM_MANGLE_OPTION" a139="--trace=_AM_OUTPUT_DEPENDENCY_COMMANDS" a140="--trace=_AM_PROG_CC_C_O" a141="--trace=_AM_PROG_TAR" a142="--trace=_AM_SET_OPTION" a143="--trace=_AM_SET_OPTIONS" a144="--trace=_AM_SUBST_NOTMAKE" a145="--trace=_LTDL_SETUP" a146="--trace=_LT_AC_CHECK_DLFCN" a147="--trace=_LT_AC_FILE_LTDLL_C" a148="--trace=_LT_AC_LANG_CXX" a149="--trace=_LT_AC_LANG_CXX_CONFIG" a150="--trace=_LT_AC_LANG_C_CONFIG" a151="--trace=_LT_AC_LANG_F77" a152="--trace=_LT_AC_LANG_F77_CONFIG" a153="--trace=_LT_AC_LANG_GCJ" a154="--trace=_LT_AC_LANG_GCJ_CONFIG" a155="--trace=_LT_AC_LANG_RC_CONFIG" a156="--trace=_LT_AC_LOCK" a157="--trace=_LT_AC_PROG_CXXCPP" a158="--trace=_LT_AC_PROG_ECHO_BACKSLASH" a159="--trace=_LT_AC_SHELL_INIT" a160="--trace=_LT_AC_SYS_COMPILER" a161="--trace=_LT_AC_SYS_LIBPATH_AIX" a162="--trace=_LT_AC_TAGCONFIG" a163="--trace=_LT_AC_TAGVAR" a164="--trace=_LT_AC_TRY_DLOPEN_SELF" a165="--trace=_LT_CC_BASENAME" a166="--trace=_LT_COMPILER_BOILERPLATE" a167="--trace=_LT_COMPILER_OPTION" a168="--trace=_LT_DLL_DEF_P" a169="--trace=_LT_LIBOBJ" a170="--trace=_LT_LINKER_BOILERPLATE" a171="--trace=_LT_LINKER_OPTION" a172="--trace=_LT_PATH_TOOL_PREFIX" a173="--trace=_LT_PREPARE_SED_QUOTE_VARS" a174="--trace=_LT_PROG_CXX" a175="--trace=_LT_PROG_ECHO_BACKSLASH" a176="--trace=_LT_PROG_F77" a177="--trace=_LT_PROG_FC" a178="--trace=_LT_PROG_LTMAIN" a179="--trace=_LT_REQUIRED_DARWIN_CHECKS" a180="--trace=_LT_WITH_SYSROOT" a181="--trace=_m4_warn" a182="--trace=include" a183="--trace=m4_include" a184="--trace=m4_pattern_allow" a185="--trace=m4_pattern_forbid" a186="--reload-state=/usr/share/autoconf-2.60/autoconf/autoconf.m4f" a187="--undefine=__m4_version__" a188="-" a189="/usr/share/aclocal-1.16/internal/ac-config-macro-dirs.m4" a190="/usr/share/libtool/aclocal/libtool.m4" a191="/usr/share/libtool/aclocal/ltargz.m4" a192="/usr/share/libtool/aclocal/ltdl.m4" a193="/usr/share/libtool/aclocal/ltoptions.m4" a194="/usr/share/libtool/aclocal/ltsugar.m4" a195="/usr/share/libtool/aclocal/ltversion.m4" a196="/usr/share/libtool/aclocal/lt~obsolete.m4" a197="/usr/share/aclocal-1.16/amversion.m4" a198="/usr/share/aclocal-1.16/auxdir.m4" a199="/usr/share/aclocal-1.16/cond.m4" a200="/usr/share/aclocal-1.16/depend.m4" a201="/usr/share/aclocal-1.16/depout.m4" a202="/usr/share/aclocal-1.16/init.m4" a203="/usr/share/aclocal-1.16/install-sh.m4" a204="/usr/share/aclocal-1.16/lead-dot.m4" a205="/usr/share/aclocal-1.16/make.m4" a206="/usr/share/aclocal-1.16/missing.m4" a207="/usr/share/aclocal-1.16/options.m4" a208="/usr/share/aclocal-1.16/prog-cc-c-o.m4" a209="/usr/share/aclocal-1.16/runlog.m4" a210="/usr/share/aclocal-1.16/sanity.m4" a211="/usr/share/aclocal-1.16/silent.m4" a212="/usr/share/aclocal-1.16/strip.m4" a213="/usr/share/aclocal-1.16/substnot.m4" a214="/usr/share/aclocal-1.16/tar.m4" a215="configure.ac" +type=CWD msg=audit(1655465404.819:27091): cwd="/usr/src/RPM/BUILD/zlib-1.2.11-alt1/contrib/minizip" +type=PATH msg=audit(1655465404.819:27091): item=0 name="/usr/bin/m4" inode=40839 dev=00:30 mode=0100755 ouid=582 ogid=582 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 +type=PATH msg=audit(1655465404.819:27091): item=1 name="/lib64/ld-linux-aarch64.so.1" inode=33874 dev=00:30 mode=0100755 ouid=582 ogid=582 rdev=00:00 nametype=NORMAL cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 +type=PROCTITLE msg=audit(1655465404.819:27091): proctitle=2F7573722F62696E2F6D34002D2D6E657374696E672D6C696D69743D31303234002D2D676E75002D2D696E636C7564653D2F7573722F73686172652F6175746F636F6E662D322E3630002D2D64656275673D61666C71002D2D666174616C2D7761726E696E67002D2D646562756766696C653D6175746F6D3474652E63616368
View file
_service:tar_scm:audit-3.0.1.tar.gz/auparse/typetab.h -> _service:tar_scm:audit-3.0.9.tar.gz/auparse/typetab.h
Changed
@@ -142,3 +142,5 @@ _S(AUPARSE_TYPE_FANOTIFY, "resp" ) _S(AUPARSE_TYPE_ESCAPED, "sw" ) _S(AUPARSE_TYPE_ESCAPED, "root_dir" ) +_S(AUPARSE_TYPE_NLMCGRP, "nl-mcgrp" ) +_S(AUPARSE_TYPE_RESOLVE, "resolve" )
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/Makefile.am
Changed
@@ -13,8 +13,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -175,8 +176,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -225,6 +224,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -236,8 +237,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -293,6 +296,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -346,6 +350,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -498,7 +503,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/golang/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/golang/Makefile.am
Changed
@@ -13,8 +13,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/golang/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/golang/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -166,6 +167,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -177,8 +180,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -234,6 +239,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -287,6 +293,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -349,7 +356,6 @@ cscope cscopelist: - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/python/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/python/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -155,8 +155,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags DIST_SUBDIRS = python2 python3 am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -205,6 +203,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -216,8 +216,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -273,6 +275,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -326,6 +329,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -479,7 +483,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/python/auparse_python.c -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/python/auparse_python.c
Changed
@@ -28,7 +28,7 @@ #if PY_MAJOR_VERSION > 2 #define IS_PY3K -#if PY_MINOR_VERSION > 5 +#if PY_MINOR_VERSION >= 5 #define USE_RICH_COMPARISON #endif #define MODINITERROR return NULL @@ -2387,10 +2387,13 @@ PyModule_AddIntConstant(m, "AUPARSE_TYPE_PROCTITLE", AUPARSE_TYPE_PROCTITLE); PyModule_AddIntConstant(m, "AUPARSE_TYPE_HOOK", AUPARSE_TYPE_HOOK); PyModule_AddIntConstant(m, "AUPARSE_TYPE_NETACTION", AUPARSE_TYPE_NETACTION); + PyModule_AddIntConstant(m, "AUPARSE_TYPE_MACPROTO,", AUPARSE_TYPE_MACPROTO); PyModule_AddIntConstant(m, "AUPARSE_TYPE_IOCTL_REQ", AUPARSE_TYPE_IOCTL_REQ); PyModule_AddIntConstant(m, "AUPARSE_TYPE_ESCAPED_KEY", AUPARSE_TYPE_ESCAPED_KEY); PyModule_AddIntConstant(m, "AUPARSE_TYPE_ESCAPED_FILE", AUPARSE_TYPE_ESCAPED_FILE); PyModule_AddIntConstant(m, "AUPARSE_TYPE_FANOTIFY", AUPARSE_TYPE_FANOTIFY); + PyModule_AddIntConstant(m, "AUPARSE_TYPE_NLMCGRP", AUPARSE_TYPE_NLMCGRP); + PyModule_AddIntConstant(m, "AUPARSE_TYPE_RESOLVE", AUPARSE_TYPE_RESOLVE); /* Escape types */ PyModule_AddIntConstant(m, "AUPARSE_ESC_RAW", AUPARSE_ESC_RAW);
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/python/python2/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/python/python2/Makefile.am
Changed
@@ -13,8 +13,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/python/python2/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/python/python2/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -224,8 +225,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -248,6 +247,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -259,8 +260,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -316,6 +319,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -369,6 +373,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -562,7 +567,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/python/python3/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/python/python3/Makefile.am
Changed
@@ -13,8 +13,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/python/python3/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/python/python3/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -223,8 +224,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -247,6 +246,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -258,8 +259,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -315,6 +318,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -368,6 +372,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -561,7 +566,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/swig/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/swig/Makefile.am
Changed
@@ -13,8 +13,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/swig/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/swig/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -177,8 +178,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags DIST_SUBDIRS = src python python3 am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -227,6 +226,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -238,8 +239,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -295,6 +298,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -348,6 +352,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -501,7 +506,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/swig/python/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/swig/python/Makefile.am
Changed
@@ -13,8 +13,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/swig/python/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/swig/python/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -204,8 +204,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ $(top_srcdir)/py-compile DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -229,6 +227,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -240,8 +240,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -297,6 +299,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -350,6 +353,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -379,8 +383,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -613,7 +618,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/swig/python/audit.py -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/swig/python/audit.py
Changed
@@ -124,6 +124,10 @@ AUDIT_TIME_ADJNTPVAL = _audit.AUDIT_TIME_ADJNTPVAL AUDIT_BPF = _audit.AUDIT_BPF AUDIT_EVENT_LISTENER = _audit.AUDIT_EVENT_LISTENER +AUDIT_URINGOP = _audit.AUDIT_URINGOP +AUDIT_OPENAT2 = _audit.AUDIT_OPENAT2 +AUDIT_DM_CTRL = _audit.AUDIT_DM_CTRL +AUDIT_DM_EVENT = _audit.AUDIT_DM_EVENT AUDIT_AVC = _audit.AUDIT_AVC AUDIT_SELINUX_ERR = _audit.AUDIT_SELINUX_ERR AUDIT_AVC_PATH = _audit.AUDIT_AVC_PATH @@ -167,6 +171,7 @@ AUDIT_FILTER_EXCLUDE = _audit.AUDIT_FILTER_EXCLUDE AUDIT_FILTER_TYPE = _audit.AUDIT_FILTER_TYPE AUDIT_FILTER_FS = _audit.AUDIT_FILTER_FS +AUDIT_FILTER_URING_EXIT = _audit.AUDIT_FILTER_URING_EXIT AUDIT_NR_FILTERS = _audit.AUDIT_NR_FILTERS AUDIT_FILTER_PREPEND = _audit.AUDIT_FILTER_PREPEND AUDIT_NEVER = _audit.AUDIT_NEVER @@ -445,6 +450,7 @@ AUDIT_APPARMOR_HINT = _audit.AUDIT_APPARMOR_HINT AUDIT_APPARMOR_STATUS = _audit.AUDIT_APPARMOR_STATUS AUDIT_APPARMOR_ERROR = _audit.AUDIT_APPARMOR_ERROR +AUDIT_APPARMOR_KILL = _audit.AUDIT_APPARMOR_KILL AUDIT_FIRST_KERN_CRYPTO_MSG = _audit.AUDIT_FIRST_KERN_CRYPTO_MSG AUDIT_LAST_KERN_CRYPTO_MSG = _audit.AUDIT_LAST_KERN_CRYPTO_MSG AUDIT_INTEGRITY_FIRST_MSG = _audit.AUDIT_INTEGRITY_FIRST_MSG @@ -470,6 +476,9 @@ AUDIT_ANOM_MOD_ACCT = _audit.AUDIT_ANOM_MOD_ACCT AUDIT_ANOM_ROOT_TRANS = _audit.AUDIT_ANOM_ROOT_TRANS AUDIT_ANOM_LOGIN_SERVICE = _audit.AUDIT_ANOM_LOGIN_SERVICE +AUDIT_ANOM_LOGIN_ROOT = _audit.AUDIT_ANOM_LOGIN_ROOT +AUDIT_ANOM_ORIGIN_FAILURES = _audit.AUDIT_ANOM_ORIGIN_FAILURES +AUDIT_ANOM_SESSION = _audit.AUDIT_ANOM_SESSION AUDIT_FIRST_ANOM_RESP = _audit.AUDIT_FIRST_ANOM_RESP AUDIT_LAST_ANOM_RESP = _audit.AUDIT_LAST_ANOM_RESP AUDIT_RESP_ANOMALY = _audit.AUDIT_RESP_ANOMALY @@ -487,6 +496,7 @@ AUDIT_RESP_HALT = _audit.AUDIT_RESP_HALT AUDIT_RESP_ORIGIN_BLOCK = _audit.AUDIT_RESP_ORIGIN_BLOCK AUDIT_RESP_ORIGIN_BLOCK_TIMED = _audit.AUDIT_RESP_ORIGIN_BLOCK_TIMED +AUDIT_RESP_ORIGIN_UNBLOCK_TIMED = _audit.AUDIT_RESP_ORIGIN_UNBLOCK_TIMED AUDIT_FIRST_USER_LSPP_MSG = _audit.AUDIT_FIRST_USER_LSPP_MSG AUDIT_LAST_USER_LSPP_MSG = _audit.AUDIT_LAST_USER_LSPP_MSG AUDIT_USER_ROLE_CHANGE = _audit.AUDIT_USER_ROLE_CHANGE @@ -776,9 +786,6 @@ def audit_add_watch(rulep, path): return _audit.audit_add_watch(rulep, path) -def audit_add_dir(rulep, path): - return _audit.audit_add_dir(rulep, path) - def audit_add_watch_dir(type, rulep, path): return _audit.audit_add_watch_dir(type, rulep, path) @@ -794,8 +801,8 @@ def audit_delete_rule_data(fd, rule, flags, action): return _audit.audit_delete_rule_data(fd, rule, flags, action) -def audit_value_needs_encoding(str, len): - return _audit.audit_value_needs_encoding(str, len) +def audit_value_needs_encoding(str, size): + return _audit.audit_value_needs_encoding(str, size) def audit_encode_value(final, buf, size): return _audit.audit_encode_value(final, buf, size) @@ -827,9 +834,6 @@ def audit_rule_init_data(rule): return _audit.audit_rule_init_data(rule) -def audit_rule_syscall_data(rule, scall): - return _audit.audit_rule_syscall_data(rule, scall) - def audit_rule_syscallbyname_data(rule, scall): return _audit.audit_rule_syscallbyname_data(rule, scall)
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/swig/python3/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/swig/python3/Makefile.am
Changed
@@ -13,8 +13,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/swig/python3/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/swig/python3/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -204,8 +204,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ $(top_srcdir)/py-compile DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -229,6 +227,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -240,8 +240,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -297,6 +299,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -350,6 +353,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -379,8 +383,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -613,7 +618,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/swig/python3/audit.py -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/swig/python3/audit.py
Changed
@@ -124,6 +124,10 @@ AUDIT_TIME_ADJNTPVAL = _audit.AUDIT_TIME_ADJNTPVAL AUDIT_BPF = _audit.AUDIT_BPF AUDIT_EVENT_LISTENER = _audit.AUDIT_EVENT_LISTENER +AUDIT_URINGOP = _audit.AUDIT_URINGOP +AUDIT_OPENAT2 = _audit.AUDIT_OPENAT2 +AUDIT_DM_CTRL = _audit.AUDIT_DM_CTRL +AUDIT_DM_EVENT = _audit.AUDIT_DM_EVENT AUDIT_AVC = _audit.AUDIT_AVC AUDIT_SELINUX_ERR = _audit.AUDIT_SELINUX_ERR AUDIT_AVC_PATH = _audit.AUDIT_AVC_PATH @@ -167,6 +171,7 @@ AUDIT_FILTER_EXCLUDE = _audit.AUDIT_FILTER_EXCLUDE AUDIT_FILTER_TYPE = _audit.AUDIT_FILTER_TYPE AUDIT_FILTER_FS = _audit.AUDIT_FILTER_FS +AUDIT_FILTER_URING_EXIT = _audit.AUDIT_FILTER_URING_EXIT AUDIT_NR_FILTERS = _audit.AUDIT_NR_FILTERS AUDIT_FILTER_PREPEND = _audit.AUDIT_FILTER_PREPEND AUDIT_NEVER = _audit.AUDIT_NEVER @@ -445,6 +450,7 @@ AUDIT_APPARMOR_HINT = _audit.AUDIT_APPARMOR_HINT AUDIT_APPARMOR_STATUS = _audit.AUDIT_APPARMOR_STATUS AUDIT_APPARMOR_ERROR = _audit.AUDIT_APPARMOR_ERROR +AUDIT_APPARMOR_KILL = _audit.AUDIT_APPARMOR_KILL AUDIT_FIRST_KERN_CRYPTO_MSG = _audit.AUDIT_FIRST_KERN_CRYPTO_MSG AUDIT_LAST_KERN_CRYPTO_MSG = _audit.AUDIT_LAST_KERN_CRYPTO_MSG AUDIT_INTEGRITY_FIRST_MSG = _audit.AUDIT_INTEGRITY_FIRST_MSG @@ -470,6 +476,9 @@ AUDIT_ANOM_MOD_ACCT = _audit.AUDIT_ANOM_MOD_ACCT AUDIT_ANOM_ROOT_TRANS = _audit.AUDIT_ANOM_ROOT_TRANS AUDIT_ANOM_LOGIN_SERVICE = _audit.AUDIT_ANOM_LOGIN_SERVICE +AUDIT_ANOM_LOGIN_ROOT = _audit.AUDIT_ANOM_LOGIN_ROOT +AUDIT_ANOM_ORIGIN_FAILURES = _audit.AUDIT_ANOM_ORIGIN_FAILURES +AUDIT_ANOM_SESSION = _audit.AUDIT_ANOM_SESSION AUDIT_FIRST_ANOM_RESP = _audit.AUDIT_FIRST_ANOM_RESP AUDIT_LAST_ANOM_RESP = _audit.AUDIT_LAST_ANOM_RESP AUDIT_RESP_ANOMALY = _audit.AUDIT_RESP_ANOMALY @@ -487,6 +496,7 @@ AUDIT_RESP_HALT = _audit.AUDIT_RESP_HALT AUDIT_RESP_ORIGIN_BLOCK = _audit.AUDIT_RESP_ORIGIN_BLOCK AUDIT_RESP_ORIGIN_BLOCK_TIMED = _audit.AUDIT_RESP_ORIGIN_BLOCK_TIMED +AUDIT_RESP_ORIGIN_UNBLOCK_TIMED = _audit.AUDIT_RESP_ORIGIN_UNBLOCK_TIMED AUDIT_FIRST_USER_LSPP_MSG = _audit.AUDIT_FIRST_USER_LSPP_MSG AUDIT_LAST_USER_LSPP_MSG = _audit.AUDIT_LAST_USER_LSPP_MSG AUDIT_USER_ROLE_CHANGE = _audit.AUDIT_USER_ROLE_CHANGE @@ -776,9 +786,6 @@ def audit_add_watch(rulep: "struct audit_rule_data **", path: "char const *") -> "int": return _audit.audit_add_watch(rulep, path) -def audit_add_dir(rulep: "struct audit_rule_data **", path: "char const *") -> "int": - return _audit.audit_add_dir(rulep, path) - def audit_add_watch_dir(type: "int", rulep: "struct audit_rule_data **", path: "char const *") -> "int": return _audit.audit_add_watch_dir(type, rulep, path) @@ -794,8 +801,8 @@ def audit_delete_rule_data(fd: "int", rule: "audit_rule_data", flags: "int", action: "int") -> "int": return _audit.audit_delete_rule_data(fd, rule, flags, action) -def audit_value_needs_encoding(str: "char const *", len: "unsigned int") -> "int": - return _audit.audit_value_needs_encoding(str, len) +def audit_value_needs_encoding(str: "char const *", size: "unsigned int") -> "int": + return _audit.audit_value_needs_encoding(str, size) def audit_encode_value(final: "char *", buf: "char const *", size: "unsigned int") -> "char *": return _audit.audit_encode_value(final, buf, size) @@ -827,9 +834,6 @@ def audit_rule_init_data(rule: "audit_rule_data") -> "void": return _audit.audit_rule_init_data(rule) -def audit_rule_syscall_data(rule: "audit_rule_data", scall: "int") -> "int": - return _audit.audit_rule_syscall_data(rule, scall) - def audit_rule_syscallbyname_data(rule: "audit_rule_data", scall: "char const *") -> "int": return _audit.audit_rule_syscallbyname_data(rule, scall)
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/swig/src/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/swig/src/Makefile.am
Changed
@@ -13,8 +13,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/bindings/swig/src/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/bindings/swig/src/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -165,6 +166,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -176,8 +179,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -233,6 +238,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -286,6 +292,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -346,7 +353,6 @@ cscope cscopelist: - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/common/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/common/Makefile.am
Changed
@@ -13,8 +13,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/common/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/common/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -195,8 +196,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -219,6 +218,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -230,8 +231,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -287,6 +290,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -340,6 +344,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -500,7 +505,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/common/audit-fgets.c -> _service:tar_scm:audit-3.0.9.tar.gz/common/audit-fgets.c
Changed
@@ -51,6 +51,9 @@ return 0; } +/* Function to read the next chunk of data from the given fd. If we have + * data to return, we pass the line length for success. 0 for no data. And + * -1 if there was an error reading the fd. */ int audit_fgets(char *buf, size_t blen, int fd) { int complete = 0; @@ -119,5 +122,5 @@ } *current = 0; } - return complete; + return complete ? line_len : 0; }
View file
_service:tar_scm:audit-3.0.1.tar.gz/common/common.h -> _service:tar_scm:audit-3.0.9.tar.gz/common/common.h
Changed
@@ -1,5 +1,5 @@ /* audit-fgets.h -- a replacement for glibc's fgets - * Copyright 2018 Red Hat Inc., Durham, North Carolina. + * Copyright 2018,2022 Red Hat Inc. * All Rights Reserved. * * This library is free software; you can redistribute it and/or @@ -25,11 +25,15 @@ #include <sys/types.h> #include "dso.h" +#ifndef __attr_access +# define __attr_access(x) +#endif AUDIT_HIDDEN_START int audit_fgets_eof(void); int audit_fgets_more(size_t blen); -int audit_fgets(char *buf, size_t blen, int fd); +int audit_fgets(char *buf, size_t blen, int fd) + __attr_access ((__write_only__, 1, 2)); char *audit_strsplit_r(char *s, char **savedpp); char *audit_strsplit(char *s);
View file
_service:tar_scm:audit-3.0.1.tar.gz/compile -> _service:tar_scm:audit-3.0.9.tar.gz/compile
Changed
@@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey <tromey@cygnus.com>. # # This program is free software; you can redistribute it and/or modify
View file
_service:tar_scm:audit-3.0.1.tar.gz/config.guess -> _service:tar_scm:audit-3.0.9.tar.gz/config.guess
Changed
@@ -1,12 +1,14 @@ -#! /bin/sh +#!/usr/bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2018 Free Software Foundation, Inc. +# Copyright 1992-2022 Free Software Foundation, Inc. -timestamp='2018-08-29' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2022-05-25' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -27,11 +29,19 @@ # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess # # Please send patches to <config-patches@gnu.org>. +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + + me=`echo "$0" | sed -e 's,.*/,,'` usage="\ @@ -50,7 +60,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2018 Free Software Foundation, Inc. +Copyright 1992-2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -84,6 +94,9 @@ exit 1 fi +# Just in case it came from the environment. +GUESS= + # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a @@ -96,12 +109,13 @@ tmp= # shellcheck disable=SC2172 -trap 'test -z "$tmp" || rm -fr "$tmp"' 1 2 13 15 -trap 'exitcode=$?; test -z "$tmp" || rm -fr "$tmp"; exit $exitcode' 0 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 : "${TMPDIR=/tmp}" - # shellcheck disable=SC2039 + # shellcheck disable=SC2039,SC3028 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || @@ -111,7 +125,7 @@ ,,) echo "int x;" > "$dummy.c" for driver in cc gcc c89 c99 ; do if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD="$driver" + CC_FOR_BUILD=$driver break fi done @@ -132,14 +146,12 @@ UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -case "$UNAME_SYSTEM" in +case $UNAME_SYSTEM in Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu + LIBC=unknown set_cc_for_build cat <<-EOF > "$dummy.c" @@ -148,24 +160,37 @@ LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc - #else + #elif defined(__GLIBC__) LIBC=gnu + #else + #include <stdarg.h> + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif #endif EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`" + cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "$cc_set_libc" - # If ldd exists, use it to detect musl libc. - if command -v ldd >/dev/null && \ - ldd --version 2>&1 | grep -q ^musl - then - LIBC=musl + # Second heuristic to detect musl libc. + if "$LIBC" = unknown && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if "$LIBC" = unknown ; then + LIBC=gnu fi ;; esac # Note: order is significant - the case branches are not exclusive. -case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in +case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, @@ -177,12 +202,12 @@ # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - "/sbin/$sysctl" 2>/dev/null || \ - "/usr/sbin/$sysctl" 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ echo unknown)` - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in + aarch64eb) machine=aarch64_be-unknown ;; armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; @@ -191,13 +216,13 @@ earmv*) arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv0-9\).*$,\1,'` endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` - machine="${arch}${endian}"-unknown + machine=${arch}${endian}-unknown ;; - *) machine="$UNAME_MACHINE_ARCH"-unknown ;; + *) machine=$UNAME_MACHINE_ARCH-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in earm*) os=netbsdelf ;; @@ -218,7 +243,7 @@ ;; esac # Determine ABI tags. - case "$UNAME_MACHINE_ARCH" in + case $UNAME_MACHINE_ARCH in earm*) expr='s/^earmv0-9/-eabi/;s/eb$//' abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` @@ -229,7 +254,7 @@ # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. - case "$UNAME_VERSION" in + case $UNAME_VERSION in Debian*) release='-gnu' ;; @@ -240,45 +265,57 @@ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "$machine-${os}${release}${abi-}" - exit ;; + GUESS=$machine-${os}${release}${abi-} + ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE + ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE + ;; + *:SecBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE + ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE + ;; *:MidnightBSD:*:*) - echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE + ;; *:ekkoBSD:*:*) - echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE + ;; *:SolidBSD:*:*) - echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE + ;; + *:OS108:*:*) + GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE + ;; macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE + ;; *:MirBSD:*:*) - echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE + ;; *:Sortix:*:*) - echo "$UNAME_MACHINE"-unknown-sortix - exit ;; + GUESS=$UNAME_MACHINE-unknown-sortix + ;; + *:Twizzler:*:*) + GUESS=$UNAME_MACHINE-unknown-twizzler + ;; *:Redox:*:*) - echo "$UNAME_MACHINE"-unknown-redox - exit ;; + GUESS=$UNAME_MACHINE-unknown-redox + ;; mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; + GUESS=mips-dec-osf1 + ;; alpha:OSF1:*:*) + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + trap '' 0 case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` @@ -292,7 +329,7 @@ # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in + case $ALPHA_CPU_TYPE in "EV4 (21064)") UNAME_MACHINE=alpha ;; "EV4.5 (21064)") @@ -329,112 +366,121 @@ # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^PVTX//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`" - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; + OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^PVTX//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + GUESS=$UNAME_MACHINE-dec-osf$OSF_REL + ;; Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; + GUESS=m68k-unknown-sysv4 + ;; *:AamigaOoSs:*:*) - echo "$UNAME_MACHINE"-unknown-amigaos - exit ;; + GUESS=$UNAME_MACHINE-unknown-amigaos + ;; *:MmorphOoSs:*:*) - echo "$UNAME_MACHINE"-unknown-morphos - exit ;; + GUESS=$UNAME_MACHINE-unknown-morphos + ;; *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; + GUESS=i370-ibm-openedition + ;; *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; + GUESS=s390-ibm-zvmoe + ;; *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; + GUESS=powerpc-ibm-os400 + ;; arm:RISC*:1.012*:*|arm:riscix:1.012*:*) - echo arm-acorn-riscix"$UNAME_RELEASE" - exit ;; + GUESS=arm-acorn-riscix$UNAME_RELEASE + ;; arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; + GUESS=arm-unknown-riscos + ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; + GUESS=hppa1.1-hitachi-hiuxmpp + ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; + case `(/bin/universe) 2>/dev/null` in + att) GUESS=pyramid-pyramid-sysv3 ;; + *) GUESS=pyramid-pyramid-bsd ;; + esac + ;; NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; + GUESS=pyramid-pyramid-svr4 + ;; DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; + GUESS=sparc-icl-nx6 + ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; + sparc) GUESS=sparc-icl-nx7 ;; + esac + ;; s390x:SunOS:*:*) - echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/^.*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/^.*//'` + GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL + ;; sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/^.*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/^.*//'` + GUESS=sparc-hal-solaris2$SUN_REL + ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/^.*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/^.*//'` + GUESS=sparc-sun-solaris2$SUN_REL + ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux"$UNAME_RELEASE" - exit ;; + GUESS=i386-pc-auroraux$UNAME_RELEASE + ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - UNAME_REL="`echo "$UNAME_RELEASE" | sed -e 's/^.*//'`" - case `isainfo -b` in - 32) - echo i386-pc-solaris2"$UNAME_REL" - ;; - 64) - echo x86_64-pc-solaris2"$UNAME_REL" - ;; - esac - exit ;; + set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/^.*//'` + GUESS=$SUN_ARCH-pc-solaris2$SUN_REL + ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/^.*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/^.*//'` + GUESS=sparc-sun-solaris3$SUN_REL + ;; sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in + case `/usr/bin/arch -k` in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` + GUESS=sparc-sun-sunos$SUN_REL + ;; sun3*:SunOS:*:*) - echo m68k-sun-sunos"$UNAME_RELEASE" - exit ;; + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 - case "`/bin/arch`" in + case `/bin/arch` in sun3) - echo m68k-sun-sunos"$UNAME_RELEASE" + GUESS=m68k-sun-sunos$UNAME_RELEASE ;; sun4) - echo sparc-sun-sunos"$UNAME_RELEASE" + GUESS=sparc-sun-sunos$UNAME_RELEASE ;; esac - exit ;; + ;; aushp:SunOS:*:*) - echo sparc-auspex-sunos"$UNAME_RELEASE" - exit ;; + GUESS=sparc-auspex-sunos$UNAME_RELEASE + ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor @@ -444,41 +490,41 @@ # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atariste:*MiNT:*:* | atariste:*mint:*:* | atariste:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atariste:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-milan-mint$UNAME_RELEASE + ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-hades-mint$UNAME_RELEASE + ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint"$UNAME_RELEASE" - exit ;; + GUESS=m68k-unknown-mint$UNAME_RELEASE + ;; m68k:machten:*:*) - echo m68k-apple-machten"$UNAME_RELEASE" - exit ;; + GUESS=m68k-apple-machten$UNAME_RELEASE + ;; powerpc:machten:*:*) - echo powerpc-apple-machten"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-apple-machten$UNAME_RELEASE + ;; RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; + GUESS=mips-dec-mach_bsd4.3 + ;; RISC*:ULTRIX:*:*) - echo mips-dec-ultrix"$UNAME_RELEASE" - exit ;; + GUESS=mips-dec-ultrix$UNAME_RELEASE + ;; VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix"$UNAME_RELEASE" - exit ;; + GUESS=vax-dec-ultrix$UNAME_RELEASE + ;; 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix"$UNAME_RELEASE" - exit ;; + GUESS=clipper-intergraph-clix$UNAME_RELEASE + ;; mips:*:*:UMIPS | mips:*:*:RISCos) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -506,75 +552,76 @@ dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\(0-9*\).*/\1/p'` && SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos"$UNAME_RELEASE" - exit ;; + GUESS=mips-mips-riscos$UNAME_RELEASE + ;; Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; + GUESS=powerpc-motorola-powermax + ;; Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; + GUESS=powerpc-harris-powermax + ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; + GUESS=powerpc-harris-powermax + ;; Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; + GUESS=powerpc-harris-powerunix + ;; m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; + GUESS=m88k-harris-cxux7 + ;; m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; + GUESS=m88k-motorola-sysv4 + ;; m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; + GUESS=m88k-motorola-sysv3 + ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` - if "$UNAME_PROCESSOR" = mc88100 || "$UNAME_PROCESSOR" = mc88110 + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 then - if "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ - "$TARGET_BINARY_INTERFACE"x = x + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x then - echo m88k-dg-dgux"$UNAME_RELEASE" + GUESS=m88k-dg-dgux$UNAME_RELEASE else - echo m88k-dg-dguxbcs"$UNAME_RELEASE" + GUESS=m88k-dg-dguxbcs$UNAME_RELEASE fi else - echo i586-dg-dgux"$UNAME_RELEASE" + GUESS=i586-dg-dgux$UNAME_RELEASE fi - exit ;; + ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; + GUESS=m88k-dolphin-sysv3 + ;; M88*:*:R3*:*) # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; + GUESS=m88k-motorola-sysv3 + ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; + GUESS=m88k-tektronix-sysv3 + ;; Tek430-90-9:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; + GUESS=m68k-tektronix-bsd + ;; *:IRIX*:*:*) - echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`" - exit ;; + IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` + GUESS=mips-sgi-irix$IRIX_REL + ;; ????????:AIX?:12.1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id + ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; + GUESS=i386-ibm-aix + ;; ia64:AIX:*:*) - if -x /usr/bin/oslevel ; then + if test -x /usr/bin/oslevel ; then IBM_REV=`/usr/bin/oslevel` else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE fi - echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV" - exit ;; + GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV + ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then set_cc_for_build @@ -591,16 +638,16 @@ EOF if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then - echo "$SYSTEM_NAME" + GUESS=$SYSTEM_NAME else - echo rs6000-ibm-aix3.2.5 + GUESS=rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 + GUESS=rs6000-ibm-aix3.2.4 else - echo rs6000-ibm-aix3.2 + GUESS=rs6000-ibm-aix3.2 fi - exit ;; + ;; *:AIX:*:4567) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then @@ -608,56 +655,56 @@ else IBM_ARCH=powerpc fi - if -x /usr/bin/lslpp ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + if test -x /usr/bin/lslpp ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ awk -F: '{ print $3 }' | sed s/0-9*$/0/` else - IBM_REV="$UNAME_VERSION.$UNAME_RELEASE" + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE fi - echo "$IBM_ARCH"-ibm-aix"$IBM_REV" - exit ;; + GUESS=$IBM_ARCH-ibm-aix$IBM_REV + ;; *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; + GUESS=rs6000-ibm-aix + ;; ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - echo romp-ibm-bsd4.4 - exit ;; + GUESS=romp-ibm-bsd4.4 + ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 + GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to + ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; + GUESS=rs6000-bull-bosx + ;; DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; + GUESS=m68k-bull-sysv3 + ;; 9000/34??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; + GUESS=m68k-hp-bsd + ;; hp300:4.4BSD:*:* | 9000/34??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; + GUESS=m68k-hp-bsd4.4 + ;; 9000/34678??:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/^.*.0B*//'` - case "$UNAME_MACHINE" in + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/^.*.0B*//'` + case $UNAME_MACHINE in 9000/31?) HP_ARCH=m68000 ;; 9000/34??) HP_ARCH=m68k ;; 9000/6780-90-9) - if -x /usr/bin/getconf ; then + if test -x /usr/bin/getconf; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "$sc_cpu_version" in + case $sc_cpu_version in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 - case "$sc_kernel_bits" in + case $sc_kernel_bits in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi - if "$HP_ARCH" = "" ; then + if test "$HP_ARCH" = ""; then set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -696,7 +743,7 @@ test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if "$HP_ARCH" = hppa2.0w + if test "$HP_ARCH" = hppa2.0w then set_cc_for_build @@ -717,12 +764,12 @@ HP_ARCH=hppa64 fi fi - echo "$HP_ARCH"-hp-hpux"$HPUX_REV" - exit ;; + GUESS=$HP_ARCH-hp-hpux$HPUX_REV + ;; ia64:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/^.*.0B*//'` - echo ia64-hp-hpux"$HPUX_REV" - exit ;; + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/^.*.0B*//'` + GUESS=ia64-hp-hpux$HPUX_REV + ;; 3050*:HI-UX:*:*) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" @@ -752,36 +799,36 @@ EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; + GUESS=unknown-hitachi-hiuxwe2 + ;; 9000/7??:4.3bsd:*:* | 9000/8?79:4.3bsd:*:*) - echo hppa1.1-hp-bsd - exit ;; + GUESS=hppa1.1-hp-bsd + ;; 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; + GUESS=hppa1.0-hp-bsd + ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; + GUESS=hppa1.0-hp-mpeix + ;; hp7??:OSF1:*:* | hp8?79:OSF1:*:*) - echo hppa1.1-hp-osf - exit ;; + GUESS=hppa1.1-hp-osf + ;; hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; + GUESS=hppa1.0-hp-osf + ;; i*86:OSF1:*:*) - if -x /usr/sbin/sysversion ; then - echo "$UNAME_MACHINE"-unknown-osf1mk + if test -x /usr/sbin/sysversion ; then + GUESS=$UNAME_MACHINE-unknown-osf1mk else - echo "$UNAME_MACHINE"-unknown-osf1 + GUESS=$UNAME_MACHINE-unknown-osf1 fi - exit ;; + ;; parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; + GUESS=hppa1.1-hp-lites + ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; + GUESS=c1-convex-bsd + ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd @@ -789,17 +836,18 @@ fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; + GUESS=c34-convex-bsd + ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; + GUESS=c38-convex-bsd + ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; + GUESS=c4-convex-bsd + ;; CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.^.*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.^.*$/.X/'` + GUESS=ymp-cray-unicos$CRAY_REL + ;; CRAY*A-Z90:*:*:*) echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\(A-Z90\)/\1/' \ @@ -807,114 +855,129 @@ -e 's/\.^.*$/.X/' exit ;; CRAY*TS:*:*:*) - echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.^.*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.^.*$/.X/'` + GUESS=t90-cray-unicos$CRAY_REL + ;; CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.^.*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.^.*$/.X/'` + GUESS=alphaev5-cray-unicosmk$CRAY_REL + ;; CRAY*SV1:*:*:*) - echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.^.*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.^.*$/.X/'` + GUESS=sv1-cray-unicos$CRAY_REL + ;; *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.^.*$/.X/' - exit ;; + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.^.*$/.X/'` + GUESS=craynv-cray-unicosmp$CRAY_REL + ;; F3001:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; + GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE + ;; sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=sparc-unknown-bsdi$UNAME_RELEASE + ;; *:BSD/OS:*:*) - echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE + ;; arm:FreeBSD:*:*) UNAME_PROCESSOR=`uname -p` set_cc_for_build if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/-(.*//'`"-gnueabi + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/-(.*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi else - echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/-(.*//'`"-gnueabihf + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/-(.*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf fi - exit ;; + ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` - case "$UNAME_PROCESSOR" in + case $UNAME_PROCESSOR in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac - echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/-(.*//'`" - exit ;; + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/-(.*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL + ;; i*:CYGWIN*:*) - echo "$UNAME_MACHINE"-pc-cygwin - exit ;; + GUESS=$UNAME_MACHINE-pc-cygwin + ;; *:MINGW64*:*) - echo "$UNAME_MACHINE"-pc-mingw64 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw64 + ;; *:MINGW*:*) - echo "$UNAME_MACHINE"-pc-mingw32 - exit ;; + GUESS=$UNAME_MACHINE-pc-mingw32 + ;; *:MSYS*:*) - echo "$UNAME_MACHINE"-pc-msys - exit ;; + GUESS=$UNAME_MACHINE-pc-msys + ;; i*:PW*:*) - echo "$UNAME_MACHINE"-pc-pw32 - exit ;; + GUESS=$UNAME_MACHINE-pc-pw32 + ;; + *:SerenityOS:*:*) + GUESS=$UNAME_MACHINE-pc-serenity + ;; *:Interix*:*) - case "$UNAME_MACHINE" in + case $UNAME_MACHINE in x86) - echo i586-pc-interix"$UNAME_RELEASE" - exit ;; + GUESS=i586-pc-interix$UNAME_RELEASE + ;; authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix"$UNAME_RELEASE" - exit ;; + GUESS=x86_64-unknown-interix$UNAME_RELEASE + ;; IA64) - echo ia64-unknown-interix"$UNAME_RELEASE" - exit ;; + GUESS=ia64-unknown-interix$UNAME_RELEASE + ;; esac ;; i*:UWIN*:*) - echo "$UNAME_MACHINE"-pc-uwin - exit ;; + GUESS=$UNAME_MACHINE-pc-uwin + ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; + GUESS=x86_64-pc-cygwin + ;; prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/^.*//'`" - exit ;; + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/^.*//'` + GUESS=powerpcle-unknown-solaris2$SUN_REL + ;; *:GNU:*:*) # the GNU system - echo "`echo "$UNAME_MACHINE"|sed -e 's,-/.*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`" - exit ;; + GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,-/.*$,,'` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` + GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL + ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^^/*/,,' | tr ":upper:" ":lower:"``echo "$UNAME_RELEASE"|sed -e 's/-(.*//'`-$LIBC" - exit ;; + GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^^/*/,,' | tr ":upper:" ":lower:"` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/-(.*//'` + GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC + ;; *:Minix:*:*) - echo "$UNAME_MACHINE"-unknown-minix - exit ;; + GUESS=$UNAME_MACHINE-unknown-minix + ;; aarch64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; @@ -925,183 +988,236 @@ esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; arm*:Linux:*:*) set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi else - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf fi fi - exit ;; + ;; avr32*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; cris:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; crisv32:Linux:*:*) - echo "$UNAME_MACHINE"-axis-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; e2k:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; frv:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; hexagon:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; i*86:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-pc-linux-$LIBC + ;; ia64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; k1om:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m32r*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; m68*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; mips:Linux:*:* | mips64:Linux:*:*) set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 sed 's/^ //' << EOF > "$dummy.c" #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el + MIPS_ENDIAN=el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} + MIPS_ENDIAN= #else - CPU= + MIPS_ENDIAN= #endif #endif EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" - test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } + cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` + eval "$cc_set_vars" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } ;; mips64el:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; openrisc*:Linux:*:*) - echo or1k-unknown-linux-"$LIBC" - exit ;; + GUESS=or1k-unknown-linux-$LIBC + ;; or32:Linux:*:* | or1k*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; padre:Linux:*:*) - echo sparc-unknown-linux-"$LIBC" - exit ;; + GUESS=sparc-unknown-linux-$LIBC + ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-"$LIBC" - exit ;; + GUESS=hppa64-unknown-linux-$LIBC + ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu^a-z*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;; - PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;; - *) echo hppa-unknown-linux-"$LIBC" ;; + PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; + PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; + *) GUESS=hppa-unknown-linux-$LIBC ;; esac - exit ;; + ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc64-unknown-linux-$LIBC + ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc-unknown-linux-$LIBC + ;; ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpc64le-unknown-linux-$LIBC + ;; ppcle:Linux:*:*) - echo powerpcle-unknown-linux-"$LIBC" - exit ;; - riscv32:Linux:*:* | riscv64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=powerpcle-unknown-linux-$LIBC + ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; s390:Linux:*:* | s390x:Linux:*:*) - echo "$UNAME_MACHINE"-ibm-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-ibm-linux-$LIBC + ;; sh64*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sh*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; tile*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; vax:Linux:*:*) - echo "$UNAME_MACHINE"-dec-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-dec-linux-$LIBC + ;; x86_64:Linux:*:*) - echo "$UNAME_MACHINE"-pc-linux-"$LIBC" - exit ;; + set_cc_for_build + CPU=$UNAME_MACHINE + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + ABI=64 + sed 's/^ //' << EOF > "$dummy.c" + #ifdef __i386__ + ABI=x86 + #else + #ifdef __ILP32__ + ABI=x32 + #endif + #endif +EOF + cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'` + eval "$cc_set_abi" + case $ABI in + x86) CPU=i686 ;; + x32) LIBCABI=${LIBC}x32 ;; + esac + fi + GUESS=$CPU-pc-linux-$LIBCABI + ;; xtensa*:Linux:*:*) - echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" - exit ;; + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; + GUESS=i386-sequent-sysv4 + ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. - echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION" - exit ;; + GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION + ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. - echo "$UNAME_MACHINE"-pc-os2-emx - exit ;; + GUESS=$UNAME_MACHINE-pc-os2-emx + ;; i*86:XTS-300:*:STOP) - echo "$UNAME_MACHINE"-unknown-stop - exit ;; + GUESS=$UNAME_MACHINE-unknown-stop + ;; i*86:atheos:*:*) - echo "$UNAME_MACHINE"-unknown-atheos - exit ;; + GUESS=$UNAME_MACHINE-unknown-atheos + ;; i*86:syllable:*:*) - echo "$UNAME_MACHINE"-pc-syllable - exit ;; + GUESS=$UNAME_MACHINE-pc-syllable + ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.01*:* | i*86:LynxOS:4.02*:*) - echo i386-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=i386-unknown-lynxos$UNAME_RELEASE + ;; i*86:*DOS:*:*) - echo "$UNAME_MACHINE"-pc-msdosdjgpp - exit ;; + GUESS=$UNAME_MACHINE-pc-msdosdjgpp + ;; i*86:*:4.*:*) UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL" + GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL else - echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL" + GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL fi - exit ;; + ;; i*86:*:5:678*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in @@ -1109,12 +1225,12 @@ *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" - exit ;; + GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` - echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL" + GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL elif /bin/uname -X 2>/dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 @@ -1124,11 +1240,11 @@ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 - echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL" + GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL else - echo "$UNAME_MACHINE"-pc-sysv32 + GUESS=$UNAME_MACHINE-pc-sysv32 fi - exit ;; + ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about @@ -1136,31 +1252,31 @@ # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; + GUESS=i586-pc-msdosdjgpp + ;; Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; + GUESS=i386-pc-mach3 + ;; paragon:*:*:*) - echo i860-intel-osf1 - exit ;; + GUESS=i860-intel-osf1 + ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4 + GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4 + GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 fi - exit ;; + ;; mini*:CTIX:SYS*5:*) # "miniframe" - echo m68010-convergent-sysv - exit ;; + GUESS=m68010-convergent-sysv + ;; mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; + GUESS=m68k-convergent-sysv + ;; M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; + GUESS=m68k-diab-dnix + ;; M68*:*:R3V5678*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3345??:*:4.0:3.0 | 334??A:*:4.0:3.0 | 334??,*:*:4.0:3.0 | 334??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) @@ -1185,250 +1301,407 @@ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=m68k-unknown-lynxos$UNAME_RELEASE + ;; mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; + GUESS=m68k-atari-sysv4 + ;; TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=sparc-unknown-lynxos$UNAME_RELEASE + ;; rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=rs6000-unknown-lynxos$UNAME_RELEASE + ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.01*:* | PowerPC:LynxOS:4.02*:*) - echo powerpc-unknown-lynxos"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-unknown-lynxos$UNAME_RELEASE + ;; SMBES:UNIX_SV:*:*) - echo mips-dde-sysv"$UNAME_RELEASE" - exit ;; + GUESS=mips-dde-sysv$UNAME_RELEASE + ;; RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; + GUESS=mips-sni-sysv4 + ;; RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; + GUESS=mips-sni-sysv4 + ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo "$UNAME_MACHINE"-sni-sysv4 + GUESS=$UNAME_MACHINE-sni-sysv4 else - echo ns32k-sni-sysv + GUESS=ns32k-sni-sysv fi - exit ;; + ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says <Richard.M.Bartel@ccMail.Census.GOV> - echo i586-unisys-sysv4 - exit ;; + GUESS=i586-unisys-sysv4 + ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes <hewes@openmarket.com>. # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; + GUESS=hppa1.1-stratus-sysv4 + ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; + GUESS=i860-stratus-sysv4 + ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. - echo "$UNAME_MACHINE"-stratus-vos - exit ;; + GUESS=$UNAME_MACHINE-stratus-vos + ;; *:VOS:*:*) # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; + GUESS=hppa1.1-stratus-vos + ;; mc68*:A/UX:*:*) - echo m68k-apple-aux"$UNAME_RELEASE" - exit ;; + GUESS=m68k-apple-aux$UNAME_RELEASE + ;; news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; + GUESS=mips-sony-newsos6 + ;; R34000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if -d /usr/nec ; then - echo mips-nec-sysv"$UNAME_RELEASE" + if test -d /usr/nec; then + GUESS=mips-nec-sysv$UNAME_RELEASE else - echo mips-unknown-sysv"$UNAME_RELEASE" + GUESS=mips-unknown-sysv$UNAME_RELEASE fi - exit ;; + ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; + GUESS=powerpc-be-beos + ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; + GUESS=powerpc-apple-beos + ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; + GUESS=i586-pc-beos + ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; + GUESS=i586-pc-haiku + ;; + ppc:Haiku:*:*) # Haiku running on Apple PowerPC + GUESS=powerpc-apple-haiku + ;; + *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat) + GUESS=$UNAME_MACHINE-unknown-haiku + ;; SX-4:SUPER-UX:*:*) - echo sx4-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx4-nec-superux$UNAME_RELEASE + ;; SX-5:SUPER-UX:*:*) - echo sx5-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx5-nec-superux$UNAME_RELEASE + ;; SX-6:SUPER-UX:*:*) - echo sx6-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx6-nec-superux$UNAME_RELEASE + ;; SX-7:SUPER-UX:*:*) - echo sx7-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx7-nec-superux$UNAME_RELEASE + ;; SX-8:SUPER-UX:*:*) - echo sx8-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx8-nec-superux$UNAME_RELEASE + ;; SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sx8r-nec-superux$UNAME_RELEASE + ;; SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux"$UNAME_RELEASE" - exit ;; + GUESS=sxace-nec-superux$UNAME_RELEASE + ;; Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody"$UNAME_RELEASE" - exit ;; + GUESS=powerpc-apple-rhapsody$UNAME_RELEASE + ;; *:Rhapsody:*:*) - echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE + ;; + arm64:Darwin:*:*) + GUESS=aarch64-apple-darwin$UNAME_RELEASE + ;; *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build fi - if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then - if "$CC_FOR_BUILD" != no_compiler_found ; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc fi elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE fi - echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE + ;; *:procnto*:*:* | *:QNX:0123456789*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi - echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE + ;; *:QNX:*:4*) - echo i386-pc-qnx - exit ;; + GUESS=i386-pc-qnx + ;; NEO-*:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=neo-tandem-nsk$UNAME_RELEASE + ;; NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nse-tandem-nsk$UNAME_RELEASE + ;; NSR-*:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsr-tandem-nsk$UNAME_RELEASE + ;; NSV-*:NONSTOP_KERNEL:*:*) - echo nsv-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsv-tandem-nsk$UNAME_RELEASE + ;; NSX-*:NONSTOP_KERNEL:*:*) - echo nsx-tandem-nsk"$UNAME_RELEASE" - exit ;; + GUESS=nsx-tandem-nsk$UNAME_RELEASE + ;; *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; + GUESS=mips-compaq-nonstopux + ;; BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; + GUESS=bs2000-siemens-sysv + ;; DS/*:UNIX_System_V:*:*) - echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE" - exit ;; + GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE + ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. - # shellcheck disable=SC2154 - if test "$cputype" = 386; then + if test "${cputype-}" = 386; then UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" + elif test "x${cputype-}" != x; then + UNAME_MACHINE=$cputype fi - echo "$UNAME_MACHINE"-unknown-plan9 - exit ;; + GUESS=$UNAME_MACHINE-unknown-plan9 + ;; *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; + GUESS=pdp10-unknown-tops10 + ;; *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; + GUESS=pdp10-unknown-tenex + ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; + GUESS=pdp10-dec-tops20 + ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; + GUESS=pdp10-xkl-tops20 + ;; *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; + GUESS=pdp10-unknown-tops20 + ;; *:ITS:*:*) - echo pdp10-unknown-its - exit ;; + GUESS=pdp10-unknown-its + ;; SEI:*:*:SEIUX) - echo mips-sei-seiux"$UNAME_RELEASE" - exit ;; + GUESS=mips-sei-seiux$UNAME_RELEASE + ;; *:DragonFly:*:*) - echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/-(.*//'`" - exit ;; + DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/-(.*//'` + GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL + ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "$UNAME_MACHINE" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; + case $UNAME_MACHINE in + A*) GUESS=alpha-dec-vms ;; + I*) GUESS=ia64-dec-vms ;; + V*) GUESS=vax-dec-vms ;; esac ;; *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; + GUESS=i386-pc-xenix + ;; i*86:skyos:*:*) - echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`" - exit ;; + SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` + GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL + ;; i*86:rdos:*:*) - echo "$UNAME_MACHINE"-pc-rdos - exit ;; - i*86:AROS:*:*) - echo "$UNAME_MACHINE"-pc-aros - exit ;; + GUESS=$UNAME_MACHINE-pc-rdos + ;; + i*86:Fiwix:*:*) + GUESS=$UNAME_MACHINE-pc-fiwix + ;; + *:AROS:*:*) + GUESS=$UNAME_MACHINE-unknown-aros + ;; x86_64:VMkernel:*:*) - echo "$UNAME_MACHINE"-unknown-esx - exit ;; + GUESS=$UNAME_MACHINE-unknown-esx + ;; amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; + GUESS=x86_64-unknown-onefs + ;; + *:Unleashed:*:*) + GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE + ;; esac +# Do we have a guess based on uname results? +if test "x$GUESS" != x; then + echo "$GUESS" + exit +fi + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" <<EOF +#ifdef _SEQUENT_ +#include <sys/types.h> +#include <sys/utsname.h> +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include <signal.h> +#if defined(_SIZE_T_) || defined(SIGLOST) +#include <sys/utsname.h> +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include <sys/param.h> + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \(0-9*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include <sys/param.h> +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + echo "$0: unable to guess system type" >&2 -case "$UNAME_MACHINE:$UNAME_SYSTEM" in +case $UNAME_MACHINE:$UNAME_SYSTEM in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <<EOF @@ -1445,9 +1718,17 @@ operating system you are using. If your script is old, overwrite *all* copies of config.guess and config.sub with the latest versions from: - https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess + https://git.savannah.gnu.org/cgit/config.git/plain/config.guess and - https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub + https://git.savannah.gnu.org/cgit/config.git/plain/config.sub +EOF + +our_year=`echo $timestamp | sed 's,-.*,,'` +thisyear=`date +%Y` +# shellcheck disable=SC2003 +script_age=`expr "$thisyear" - "$our_year"` +if test "$script_age" -lt 3 ; then + cat >&2 <<EOF If $0 has already been updated, send the following data and any information you think might be pertinent to config-patches@gnu.org to @@ -1475,6 +1756,7 @@ UNAME_SYSTEM = "$UNAME_SYSTEM" UNAME_VERSION = "$UNAME_VERSION" EOF +fi exit 1
View file
_service:tar_scm:audit-3.0.1.tar.gz/config.h.in -> _service:tar_scm:audit-3.0.9.tar.gz/config.h.in
Changed
@@ -44,6 +44,9 @@ /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H +/* IPX packet interpretation */ +#undef HAVE_IPX_HEADERS + /* Define to 1 if linux/fs.h defined kernel_rwf_t */ #undef HAVE_KERNEL_RWF_T @@ -65,9 +68,6 @@ /* Define to 1 if you have the <linux/fs.h> header file. */ #undef HAVE_LINUX_FS_H -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - /* Define to 1 if you have the `nanosleep' function. */ #undef HAVE_NANOSLEEP @@ -101,6 +101,9 @@ /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the <stdio.h> header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H @@ -140,6 +143,9 @@ /* Define to 1 if you have the <sys/timerfd.h> header file. */ #undef HAVE_SYS_TIMERFD_H +/* Define to 1 if you have the <sys/time.h> header file. */ +#undef HAVE_SYS_TIME_H + /* Define to 1 if you have the <sys/types.h> header file. */ #undef HAVE_SYS_TYPES_H @@ -176,10 +182,13 @@ /* The size of `unsigned long', as computed by sizeof. */ #undef SIZEOF_UNSIGNED_LONG -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #undef STDC_HEADERS -/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ +/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. This + macro is obsolete. */ #undef TIME_WITH_SYS_TIME /* Defined when fanotify headers are found */ @@ -202,12 +211,3 @@ /* Define if you want to enable Arm eabi processor support. */ #undef WITH_ARM - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -#undef inline -#endif
View file
_service:tar_scm:audit-3.0.1.tar.gz/config.sub -> _service:tar_scm:audit-3.0.9.tar.gz/config.sub
Changed
@@ -1,12 +1,14 @@ -#! /bin/sh +#!/usr/bin/sh # Configuration validation subroutine script. -# Copyright 1992-2018 Free Software Foundation, Inc. +# Copyright 1992-2022 Free Software Foundation, Inc. -timestamp='2018-08-29' +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2022-01-03' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -33,7 +35,7 @@ # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -50,6 +52,13 @@ # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + me=`echo "$0" | sed -e 's,.*/,,'` usage="\ @@ -67,7 +76,7 @@ version="\ GNU config.sub ($timestamp) -Copyright 1992-2018 Free Software Foundation, Inc. +Copyright 1992-2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -89,7 +98,7 @@ - ) # Use stdin as input. break ;; -* ) - echo "$me: invalid option $1$help" + echo "$me: invalid option $1$help" >&2 exit 1 ;; *local*) @@ -111,9 +120,12 @@ esac # Split fields of configuration type -IFS="-" read -r field1 field2 field3 field4 <<EOF +# shellcheck disable=SC2162 +saved_IFS=$IFS +IFS="-" read field1 field2 field3 field4 <<EOF $1 EOF +IFS=$saved_IFS # Separate into logical components for further validation case $1 in @@ -123,37 +135,36 @@ ;; *-*-*-*) basic_machine=$field1-$field2 - os=$field3-$field4 + basic_os=$field3-$field4 ;; *-*-*) # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two # parts maybe_os=$field2-$field3 case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ - | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \ + nto-qnx* | linux-* | uclinux-uclibc* \ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ | storm-chaos* | os2-emx* | rtmk-nova*) basic_machine=$field1 - os=$maybe_os + basic_os=$maybe_os ;; android-linux) basic_machine=$field1-unknown - os=linux-android + basic_os=linux-android ;; *) basic_machine=$field1-$field2 - os=$field3 + basic_os=$field3 ;; esac ;; *-*) - # A lone config we happen to match not fitting any patern + # A lone config we happen to match not fitting any pattern case $field1-$field2 in decstation-3100) basic_machine=mips-dec - os= + basic_os= ;; *-*) # Second component is usually, but not always the OS @@ -161,7 +172,11 @@ # Prevent following clause from handling this valid os sun*os*) basic_machine=$field1 - os=$field2 + basic_os=$field2 + ;; + zephyr*) + basic_machine=$field1-unknown + basic_os=$field2 ;; # Manufacturers dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ @@ -174,11 +189,11 @@ | microblaze* | sim | cisco \ | oki | wec | wrs | winbond) basic_machine=$field1-$field2 - os= + basic_os= ;; *) basic_machine=$field1 - os=$field2 + basic_os=$field2 ;; esac ;; @@ -190,450 +205,451 @@ case $field1 in 386bsd) basic_machine=i386-pc - os=bsd + basic_os=bsd ;; a29khif) basic_machine=a29k-amd - os=udi + basic_os=udi ;; adobe68k) basic_machine=m68010-adobe - os=scout + basic_os=scout ;; alliant) basic_machine=fx80-alliant - os= + basic_os= ;; altos | altos3068) basic_machine=m68k-altos - os= + basic_os= ;; am29k) basic_machine=a29k-none - os=bsd + basic_os=bsd ;; amdahl) basic_machine=580-amdahl - os=sysv + basic_os=sysv ;; amiga) basic_machine=m68k-unknown - os= + basic_os= ;; amigaos | amigados) basic_machine=m68k-unknown - os=amigaos + basic_os=amigaos ;; amigaunix | amix) basic_machine=m68k-unknown - os=sysv4 + basic_os=sysv4 ;; apollo68) basic_machine=m68k-apollo - os=sysv + basic_os=sysv ;; apollo68bsd) basic_machine=m68k-apollo - os=bsd + basic_os=bsd ;; aros) basic_machine=i386-pc - os=aros + basic_os=aros ;; aux) basic_machine=m68k-apple - os=aux + basic_os=aux ;; balance) basic_machine=ns32k-sequent - os=dynix + basic_os=dynix ;; blackfin) basic_machine=bfin-unknown - os=linux + basic_os=linux ;; cegcc) basic_machine=arm-unknown - os=cegcc + basic_os=cegcc ;; convex-c1) basic_machine=c1-convex - os=bsd + basic_os=bsd ;; convex-c2) basic_machine=c2-convex - os=bsd + basic_os=bsd ;; convex-c32) basic_machine=c32-convex - os=bsd + basic_os=bsd ;; convex-c34) basic_machine=c34-convex - os=bsd + basic_os=bsd ;; convex-c38) basic_machine=c38-convex - os=bsd + basic_os=bsd ;; cray) basic_machine=j90-cray - os=unicos + basic_os=unicos ;; crds | unos) basic_machine=m68k-crds - os= + basic_os= ;; da30) basic_machine=m68k-da30 - os= + basic_os= ;; decstation | pmax | pmin | dec3100 | decstatn) basic_machine=mips-dec - os= + basic_os= ;; delta88) basic_machine=m88k-motorola - os=sysv3 + basic_os=sysv3 ;; dicos) basic_machine=i686-pc - os=dicos + basic_os=dicos ;; djgpp) basic_machine=i586-pc - os=msdosdjgpp + basic_os=msdosdjgpp ;; ebmon29k) basic_machine=a29k-amd - os=ebmon + basic_os=ebmon ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson - os=ose + basic_os=ose ;; gmicro) basic_machine=tron-gmicro - os=sysv + basic_os=sysv ;; go32) basic_machine=i386-pc - os=go32 + basic_os=go32 ;; h8300hms) basic_machine=h8300-hitachi - os=hms + basic_os=hms ;; h8300xray) basic_machine=h8300-hitachi - os=xray + basic_os=xray ;; h8500hms) basic_machine=h8500-hitachi - os=hms + basic_os=hms ;; harris) basic_machine=m88k-harris - os=sysv3 + basic_os=sysv3 ;; - hp300) + hp300 | hp300hpux) basic_machine=m68k-hp + basic_os=hpux ;; hp300bsd) basic_machine=m68k-hp - os=bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=hpux + basic_os=bsd ;; hppaosf) basic_machine=hppa1.1-hp - os=osf + basic_os=osf ;; hppro) basic_machine=hppa1.1-hp - os=proelf + basic_os=proelf ;; i386mach) basic_machine=i386-mach - os=mach - ;; - vsta) - basic_machine=i386-pc - os=vsta + basic_os=mach ;; isi68 | isi) basic_machine=m68k-isi - os=sysv + basic_os=sysv ;; m68knommu) basic_machine=m68k-unknown - os=linux + basic_os=linux ;; magnum | m3230) basic_machine=mips-mips - os=sysv + basic_os=sysv ;; merlin) basic_machine=ns32k-utek - os=sysv + basic_os=sysv ;; mingw64) basic_machine=x86_64-pc - os=mingw64 + basic_os=mingw64 ;; mingw32) basic_machine=i686-pc - os=mingw32 + basic_os=mingw32 ;; mingw32ce) basic_machine=arm-unknown - os=mingw32ce + basic_os=mingw32ce ;; monitor) basic_machine=m68k-rom68k - os=coff + basic_os=coff ;; morphos) basic_machine=powerpc-unknown - os=morphos + basic_os=morphos ;; moxiebox) basic_machine=moxie-unknown - os=moxiebox + basic_os=moxiebox ;; msdos) basic_machine=i386-pc - os=msdos + basic_os=msdos ;; msys) basic_machine=i686-pc - os=msys + basic_os=msys ;; mvs) basic_machine=i370-ibm - os=mvs + basic_os=mvs ;; nacl) basic_machine=le32-unknown - os=nacl + basic_os=nacl ;; ncr3000) basic_machine=i486-ncr - os=sysv4 + basic_os=sysv4 ;; netbsd386) basic_machine=i386-pc - os=netbsd + basic_os=netbsd ;; netwinder) basic_machine=armv4l-rebel - os=linux + basic_os=linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony - os=newsos + basic_os=newsos ;; news1000) basic_machine=m68030-sony - os=newsos + basic_os=newsos ;; necv70) basic_machine=v70-nec - os=sysv + basic_os=sysv ;; nh3000) basic_machine=m68k-harris - os=cxux + basic_os=cxux ;; nh45000) basic_machine=m88k-harris - os=cxux + basic_os=cxux ;; nindy960) basic_machine=i960-intel - os=nindy + basic_os=nindy ;; mon960) basic_machine=i960-intel - os=mon960 + basic_os=mon960 ;; nonstopux) basic_machine=mips-compaq - os=nonstopux + basic_os=nonstopux ;; os400) basic_machine=powerpc-ibm - os=os400 + basic_os=os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson - os=ose + basic_os=ose ;; os68k) basic_machine=m68k-none - os=os68k + basic_os=os68k ;; paragon) basic_machine=i860-intel - os=osf + basic_os=osf ;; parisc) basic_machine=hppa-unknown - os=linux + basic_os=linux + ;; + psp) + basic_machine=mipsallegrexel-sony + basic_os=psp ;; pw32) basic_machine=i586-unknown - os=pw32 + basic_os=pw32 ;; rdos | rdos64) basic_machine=x86_64-pc - os=rdos + basic_os=rdos ;; rdos32) basic_machine=i386-pc - os=rdos + basic_os=rdos ;; rom68k) basic_machine=m68k-rom68k - os=coff + basic_os=coff ;; sa29200) basic_machine=a29k-amd - os=udi + basic_os=udi ;; sei) basic_machine=mips-sei - os=seiux + basic_os=seiux ;; sequent) basic_machine=i386-sequent - os= + basic_os= ;; sps7) basic_machine=m68k-bull - os=sysv2 + basic_os=sysv2 ;; st2000) basic_machine=m68k-tandem - os= + basic_os= ;; stratus) basic_machine=i860-stratus - os=sysv4 + basic_os=sysv4 ;; sun2) basic_machine=m68000-sun - os= + basic_os= ;; sun2os3) basic_machine=m68000-sun - os=sunos3 + basic_os=sunos3 ;; sun2os4) basic_machine=m68000-sun - os=sunos4 + basic_os=sunos4 ;; sun3) basic_machine=m68k-sun - os= + basic_os= ;; sun3os3) basic_machine=m68k-sun - os=sunos3 + basic_os=sunos3 ;; sun3os4) basic_machine=m68k-sun - os=sunos4 + basic_os=sunos4 ;; sun4) basic_machine=sparc-sun - os= + basic_os= ;; sun4os3) basic_machine=sparc-sun - os=sunos3 + basic_os=sunos3 ;; sun4os4) basic_machine=sparc-sun - os=sunos4 + basic_os=sunos4 ;; sun4sol2) basic_machine=sparc-sun - os=solaris2 + basic_os=solaris2 ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun - os= + basic_os= ;; sv1) basic_machine=sv1-cray - os=unicos + basic_os=unicos ;; symmetry) basic_machine=i386-sequent - os=dynix + basic_os=dynix ;; t3e) basic_machine=alphaev5-cray - os=unicos + basic_os=unicos ;; t90) basic_machine=t90-cray - os=unicos + basic_os=unicos ;; toad1) basic_machine=pdp10-xkl - os=tops20 + basic_os=tops20 ;; tpf) basic_machine=s390x-ibm - os=tpf + basic_os=tpf ;; udi29k) basic_machine=a29k-amd - os=udi + basic_os=udi ;; ultra3) basic_machine=a29k-nyu - os=sym1 + basic_os=sym1 ;; v810 | necv810) basic_machine=v810-nec - os=none + basic_os=none ;; vaxv) basic_machine=vax-dec - os=sysv + basic_os=sysv ;; vms) basic_machine=vax-dec - os=vms + basic_os=vms + ;; + vsta) + basic_machine=i386-pc + basic_os=vsta ;; vxworks960) basic_machine=i960-wrs - os=vxworks + basic_os=vxworks ;; vxworks68) basic_machine=m68k-wrs - os=vxworks + basic_os=vxworks ;; vxworks29k) basic_machine=a29k-wrs - os=vxworks + basic_os=vxworks ;; xbox) basic_machine=i686-pc - os=mingw32 + basic_os=mingw32 ;; ymp) basic_machine=ymp-cray - os=unicos + basic_os=unicos ;; *) basic_machine=$1 - os= + basic_os= ;; esac ;; @@ -685,17 +701,17 @@ bluegene*) cpu=powerpc vendor=ibm - os=cnk + basic_os=cnk ;; decsystem10* | dec10*) cpu=pdp10 vendor=dec - os=tops10 + basic_os=tops10 ;; decsystem20* | dec20*) cpu=pdp10 vendor=dec - os=tops20 + basic_os=tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) @@ -705,7 +721,7 @@ dpx2*) cpu=m68k vendor=bull - os=sysv3 + basic_os=sysv3 ;; encore | umax | mmax) cpu=ns32k @@ -714,7 +730,7 @@ elxsi) cpu=elxsi vendor=elxsi - os=${os:-bsd} + basic_os=${basic_os:-bsd} ;; fx2800) cpu=i860 @@ -727,7 +743,7 @@ h3050r* | hiux*) cpu=hppa1.1 vendor=hitachi - os=hiuxwe2 + basic_os=hiuxwe2 ;; hp3k90-90-9 | hp90-90-9) cpu=hppa1.0 @@ -770,36 +786,36 @@ i*86v32) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc - os=sysv32 + basic_os=sysv32 ;; i*86v4*) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc - os=sysv4 + basic_os=sysv4 ;; i*86v) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc - os=sysv + basic_os=sysv ;; i*86sol2) cpu=`echo "$1" | sed -e 's/86.*/86/'` vendor=pc - os=solaris2 + basic_os=solaris2 ;; j90 | j90-cray) cpu=j90 vendor=cray - os=${os:-unicos} + basic_os=${basic_os:-unicos} ;; iris | iris4d) cpu=mips vendor=sgi - case $os in + case $basic_os in irix*) ;; *) - os=irix4 + basic_os=irix4 ;; esac ;; @@ -810,24 +826,26 @@ *mint | mint0-9* | *MiNT | *MiNT0-9*) cpu=m68k vendor=atari - os=mint + basic_os=mint ;; news-3600 | risc-news) cpu=mips vendor=sony - os=newsos + basic_os=newsos ;; next | m*-next) cpu=m68k vendor=next - case $os in - nextstep* ) + case $basic_os in + openstep*) + ;; + nextstep*) ;; ns2*) - os=nextstep2 + basic_os=nextstep2 ;; *) - os=nextstep3 + basic_os=nextstep3 ;; esac ;; @@ -838,12 +856,12 @@ op50n-* | op60c-*) cpu=hppa1.1 vendor=oki - os=proelf + basic_os=proelf ;; pa-hitachi) cpu=hppa1.1 vendor=hitachi - os=hiuxwe2 + basic_os=hiuxwe2 ;; pbd) cpu=sparc @@ -880,12 +898,12 @@ sde) cpu=mipsisa32 vendor=sde - os=${os:-elf} + basic_os=${basic_os:-elf} ;; simso-wrs) cpu=sparclite vendor=wrs - os=vxworks + basic_os=vxworks ;; tower | tower-32) cpu=m68k @@ -902,7 +920,7 @@ w89k-*) cpu=hppa1.1 vendor=winbond - os=proelf + basic_os=proelf ;; none) cpu=none @@ -918,9 +936,12 @@ ;; *-*) - IFS="-" read -r cpu vendor <<EOF + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read cpu vendor <<EOF $basic_machine EOF + IFS=$saved_IFS ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and @@ -950,15 +971,15 @@ # Decode basic machines in the full and proper CPU-Company form. case $cpu-$vendor in - # Here we handle the default manufacturer of certain CPU types in cannonical form. It is in + # Here we handle the default manufacturer of certain CPU types in canonical form. It is in # some cases the only manufacturer, in others, it is the most popular. craynv-unknown) vendor=cray - os=${os:-unicosmp} + basic_os=${basic_os:-unicosmp} ;; c90-unknown | c90-cray) vendor=cray - os=${os:-unicos} + basic_os=${Basic_os:-unicos} ;; fx80-unknown) vendor=alliant @@ -999,10 +1020,15 @@ ;; # Here we normalize CPU types with a missing or matching vendor + armh-unknown | armh-alt) + cpu=armv7l + vendor=alt + basic_os=${basic_os:-linux-gnueabihf} + ;; dpx20-unknown | dpx20-bull) cpu=rs6000 vendor=bull - os=${os:-bosx} + basic_os=${basic_os:-bosx} ;; # Here we normalize CPU types irrespective of the vendor @@ -1011,7 +1037,7 @@ ;; blackfin-*) cpu=bfin - os=linux + basic_os=linux ;; c54x-*) cpu=tic54x @@ -1024,7 +1050,7 @@ ;; e500v12-*) cpu=powerpc - os=$os"spe" + basic_os=${basic_os}"spe" ;; mips3*-*) cpu=mips64 @@ -1034,7 +1060,7 @@ ;; m68knommu-*) cpu=m68k - os=linux + basic_os=linux ;; m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) cpu=s12z @@ -1044,7 +1070,7 @@ ;; parisc-*) cpu=hppa - os=linux + basic_os=linux ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) cpu=i586 @@ -1100,11 +1126,14 @@ xscale-* | xscaleebl-*) cpu=`echo "$cpu" | sed 's/^xscale/arm/'` ;; + arm64-* | aarch64le-*) + cpu=aarch64 + ;; - # Recognize the cannonical CPU Types that limit and/or modify the + # Recognize the canonical CPU Types that limit and/or modify the # company names they are paired with. cr16-*) - os=${os:-elf} + basic_os=${basic_os:-elf} ;; crisv32-* | etraxfs*-*) cpu=crisv32 @@ -1115,7 +1144,7 @@ vendor=axis ;; crx-*) - os=${os:-elf} + basic_os=${basic_os:-elf} ;; neo-tandem) cpu=neo @@ -1137,20 +1166,16 @@ cpu=nsx vendor=tandem ;; - s390-*) - cpu=s390 - vendor=ibm - ;; - s390x-*) - cpu=s390x - vendor=ibm + mipsallegrexel-sony) + cpu=mipsallegrexel + vendor=sony ;; tile*-*) - os=${os:-linux-gnu} + basic_os=${basic_os:-linux-gnu} ;; *) - # Recognize the cannonical CPU types that are allowed with any + # Recognize the canonical CPU types that are allowed with any # company name. case $cpu in 1750a | 580 \ @@ -1161,13 +1186,14 @@ | alpha64 | alpha64ev4-8 | alpha64ev56 | alpha64ev678 \ | alphapca567 | alpha64pca567 \ | am33_2.0 \ - | arc | arceb \ - | arm | armlbe | armelb | armv* \ + | amdgcn \ + | arc | arceb | arc32 | arc64 \ + | arm | armlbe | armelb | armv* \ | avr | avr32 \ | asmjs \ | ba \ | be32 | be64 \ - | bfin | bs2000 \ + | bfin | bpf | bs2000 \ | c123* | c30 | cjt90 | c4x \ | c8051 | clipper | craynv | csky | cydra \ | d10v | d30v | dlx | dsp16xx \ @@ -1181,14 +1207,15 @@ | k1om \ | le32 | le64 \ | lm32 \ + | loongarch32 | loongarch64 | loongarchx32 \ | m32c | m32r | m32rle \ - | m5200 | m68000 | m6800123460 | m68360 | m683?2 | m68k | v70 | w65 \ - | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip \ + | m5200 | m68000 | m6800123460 | m68360 | m683?2 | m68k \ + | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ | m88110 | m88k | maxq | mb | mcore | mep | metag \ | microblaze | microblazeel \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ - | mips64 | mips64el \ + | mips64 | mips64eb | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ @@ -1199,9 +1226,13 @@ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r3 | mipsisa32r3el \ + | mipsisa32r5 | mipsisa32r5el \ | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r3 | mipsisa64r3el \ + | mipsisa64r5 | mipsisa64r5el \ | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ @@ -1215,32 +1246,37 @@ | nds32 | nds32le | nds32be \ | nfp \ | nios | nios2 | nios2eb | nios2el \ - | none | np1 | ns16k | ns32k \ + | none | np1 | ns16k | ns32k | nvptx \ | open8 \ | or1k* \ | or32 \ | orion \ + | picochip \ | pdp10 | pdp11 | pj | pjl | pn | power \ | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ | pru \ | pyramid \ - | riscv | riscv32 | riscv64 \ + | riscv | riscv32 | riscv32be | riscv64 | riscv64be \ | rl78 | romp | rs6000 | rx \ + | s390 | s390x \ | score \ - | sh | sh1234 | sh24a | sh24aelb | sh23e | shelb | shlbe \ + | sh | shl \ + | sh1234 | sh24a | sh24aelb | sh23e | shelb | shlbe \ | sh1234elb | sh12345lbe | sh23ele | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ | spu \ | tahoe \ + | thumbv7* \ | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ | tron \ | ubicom32 \ - | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ + | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ | vax \ | visium \ - | wasm32 \ + | w65 \ + | wasm32 | wasm64 \ | we32k \ | x86 | x86_64 | xc16x | xgate | xps100 \ | xstormy16 | xtensa* \ @@ -1270,8 +1306,49 @@ # Decode manufacturer-specific aliases for certain operating systems. -if x$os != x +if test x$basic_os != x then + +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just +# set os. +case $basic_os in + gnu/linux*) + kernel=linux + os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` + ;; + os2-emx) + kernel=os2 + os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` + ;; + nto-qnx*) + kernel=nto + os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` + ;; + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read kernel os <<EOF +$basic_os +EOF + IFS=$saved_IFS + ;; + # Default OS when just kernel was specified + nto*) + kernel=nto + os=`echo "$basic_os" | sed -e 's|nto|qnx|'` + ;; + linux*) + kernel=linux + os=`echo "$basic_os" | sed -e 's|linux|gnu|'` + ;; + *) + kernel= + os=$basic_os + ;; +esac + +# Now, normalize the OS (knowing we just have one component, it's not a kernel, +# etc.) case $os in # First match some system type aliases that might get confused # with valid system types. @@ -1283,7 +1360,7 @@ os=cnk ;; solaris1 | solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` + os=`echo "$os" | sed -e 's|solaris1|sunos4|'` ;; solaris) os=solaris2 @@ -1291,9 +1368,6 @@ unixware*) os=sysv4.2uw ;; - gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; # es1800 is here to avoid being matched by es* (a different OS) es1800*) os=ose @@ -1315,12 +1389,9 @@ os=sco3.2v4 ;; sco3.2.4-9*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'` ;; - sco3.2v4-9* | sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - ;; - scout) + sco*v* | scout) # Don't match below ;; sco*) @@ -1329,77 +1400,25 @@ psos*) os=psos ;; - # Now accept the basic system types. - # The portable systems comes first. - # Each alternative MUST end in a * to match a version number. - # sysv* is not here because it comes later, after sysvr4. - gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ - | *vms* | esix* | aix* | cnk* | sunos | sunos34*\ - | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ - | sym* | kopensolaris* | plan9* \ - | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ - | aos* | aros* | cloudabi* | sortix* \ - | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ - | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ - | knetbsd* | mirbsd* | netbsd* \ - | bitrig* | openbsd* | solidbsd* | libertybsd* \ - | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ - | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ - | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ - | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ - | chorusrdb* | cegcc* | glidix* \ - | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ - | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ - | linux-newlib* | linux-musl* | linux-uclibc* \ - | uxpv* | beos* | mpeix* | udk* | moxiebox* \ - | interix* | uwin* | mks* | rhapsody* | darwin* \ - | openstep* | oskit* | conix* | pw32* | nonstopux* \ - | storm-chaos* | tops10* | tenex* | tops20* | its* \ - | os2* | vos* | palmos* | uclinux* | nucleus* \ - | morphos* | superux* | rtmk* | windiss* \ - | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ - | skyos* | haiku* | rdos* | toppers* | drops* | es* \ - | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ - | midnightbsd*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; qnx*) - case $cpu in - x86 | i*86) - ;; - *) - os=nto-$os - ;; - esac + os=qnx ;; hiux*) os=hiuxwe2 ;; - nto-qnx*) - ;; - nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - sim | xray | os68k* | v88r* \ - | windows* | osx | abug | netware* | os9* \ - | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) - ;; - linux-dietlibc) - os=linux-dietlibc - ;; - linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; lynx*178) os=lynxos178 ;; lynx*5) os=lynxos5 ;; + lynxos*) + # don't get caught up in next wildcard + ;; lynx*) os=lynxos ;; - mac*) + mac0-9*) os=`echo "$os" | sed -e 's|mac|macos|'` ;; opened*) @@ -1444,12 +1463,9 @@ ns2) os=nextstep2 ;; - nsk*) - os=nsk - ;; # Preserve the version number of sinix5. sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` + os=`echo "$os" | sed -e 's|sinix|sysv|'` ;; sinix*) os=sysv4 @@ -1472,18 +1488,12 @@ sysvr4) os=sysv4 ;; - # This must come after sysvr4. - sysv*) - ;; ose*) os=ose ;; *mint | mint0-9* | *MiNT | MiNT0-9*) os=mint ;; - zvmoe) - os=zvmoe - ;; dicos*) os=dicos ;; @@ -1500,19 +1510,11 @@ ;; esac ;; - nacl*) - ;; - ios) - ;; - none) - ;; - *-eabi) - ;; *) - echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 - exit 1 + # No normalization, but not necessarily accepted, that comes below. ;; esac + else # Here we handle the default operating systems that come with various machines. @@ -1525,6 +1527,7 @@ # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. +kernel= case $cpu-$vendor in score-*) os=elf @@ -1536,7 +1539,8 @@ os=riscix1.2 ;; arm*-rebel) - os=linux + kernel=linux + os=gnu ;; arm*-semi) os=aout @@ -1702,84 +1706,180 @@ os=none ;; esac + fi +# Now, validate our (potentially fixed-up) OS. +case $os in + # Sometimes we do "kernel-libc", so those need to count as OSes. + musl* | newlib* | relibc* | uclibc*) + ;; + # Likewise for "kernel-abi" + eabi* | gnueabi*) + ;; + # VxWorks passes extra cpu info in the 4th filed. + simlinux | simwindows | spe) + ;; + # Now accept the basic system types. + # The portable systems comes first. + # Each alternative MUST end in a * to match a version number. + gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ + | *vms* | esix* | aix* | cnk* | sunos | sunos34* \ + | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ + | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ + | hiux* | abug | nacl* | netware* | windows* \ + | os9* | macos* | osx* | ios* \ + | mpw* | magic* | mmixware* | mon960* | lnews* \ + | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ + | aos* | aros* | cloudabi* | sortix* | twizzler* \ + | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ + | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ + | mirbsd* | netbsd* | dicos* | openedition* | ose* \ + | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ + | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ + | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ + | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ + | udi* | lites* | ieee* | go32* | aux* | hcos* \ + | chorusrdb* | cegcc* | glidix* | serenity* \ + | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ + | midipix* | mingw32* | mingw64* | mint* \ + | uxpv* | beos* | mpeix* | udk* | moxiebox* \ + | interix* | uwin* | mks* | rhapsody* | darwin* \ + | openstep* | oskit* | conix* | pw32* | nonstopux* \ + | storm-chaos* | tops10* | tenex* | tops20* | its* \ + | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \ + | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ + | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ + | skyos* | haiku* | rdos* | toppers* | drops* | es* \ + | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ + | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ + | fiwix* ) + ;; + # This one is extra strict with allowed versions + sco3.2v2 | sco3.2v4-9* | sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + ;; + none) + ;; + *) + echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. case $vendor in unknown) - case $os in - riscix*) + case $cpu-$os in + *-riscix*) vendor=acorn ;; - sunos*) + *-sunos*) vendor=sun ;; - cnk*|-aix*) + *-cnk* | *-aix*) vendor=ibm ;; - beos*) + *-beos*) vendor=be ;; - hpux*) + *-hpux*) vendor=hp ;; - mpeix*) + *-mpeix*) vendor=hp ;; - hiux*) + *-hiux*) vendor=hitachi ;; - unos*) + *-unos*) vendor=crds ;; - dgux*) + *-dgux*) vendor=dg ;; - luna*) + *-luna*) vendor=omron ;; - genix*) + *-genix*) vendor=ns ;; - clix*) + *-clix*) vendor=intergraph ;; - mvs* | opened*) + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) vendor=ibm ;; - os400*) + s390-* | s390x-*) vendor=ibm ;; - ptx*) + *-ptx*) vendor=sequent ;; - tpf*) + *-tpf*) vendor=ibm ;; - vxsim* | vxworks* | windiss*) + *-vxsim* | *-vxworks* | *-windiss*) vendor=wrs ;; - aux*) + *-aux*) vendor=apple ;; - hms*) + *-hms*) vendor=hitachi ;; - mpw* | macos*) + *-mpw* | *-macos*) vendor=apple ;; - *mint | mint0-9* | *MiNT | MiNT0-9*) + *-*mint | *-mint0-9* | *-*MiNT | *-MiNT0-9*) vendor=atari ;; - vos*) + *-vos*) vendor=stratus ;; esac ;; esac -echo "$cpu-$vendor-$os" +echo "$cpu-$vendor-${kernel:+$kernel-}$os" exit # Local variables:
View file
_service:tar_scm:audit-3.0.1.tar.gz/configure -> _service:tar_scm:audit-3.0.9.tar.gz/configure
Changed
@@ -1,10 +1,11 @@ #! /bin/sh # From configure.ac Revision: 1.3 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for audit 3.0.1. +# Generated by GNU Autoconf 2.71 for audit 3.0.9. # # -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, +# Inc. # # # This configure script is free software; the Free Software Foundation @@ -15,14 +16,16 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else +else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -32,46 +35,46 @@ fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi +if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then +if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -80,13 +83,6 @@ fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -95,8 +91,12 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS @@ -108,30 +108,10 @@ as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. @@ -153,20 +133,22 @@ exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + as_bourne_compatible="as_nop=: +if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST -else +else \$as_nop case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( @@ -186,12 +168,15 @@ as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : +if ( set x; as_fn_ret_success y && test x = \"\$1\" ) +then : -else +else \$as_nop exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO @@ -206,30 +191,38 @@ test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : + if (eval "$as_required") 2>/dev/null +then : as_have_required=yes -else +else $as_nop as_have_required=no fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : -else +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base + as_shell=$as_dir$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : break 2 fi fi @@ -237,14 +230,21 @@ esac as_found=false done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi - if test "x$CONFIG_SHELL" != x; then : + if test "x$CONFIG_SHELL" != x +then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also @@ -262,18 +262,19 @@ exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." else - $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." @@ -300,6 +301,7 @@ } as_unset=as_fn_unset + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -317,6 +319,14 @@ as_fn_set_status $1 exit $1 } # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_mkdir_p # ------------- @@ -331,7 +341,7 @@ as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -340,7 +350,7 @@ X"$as_dir" : 'X\(//\)^/' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*^/\)\/\/*^/^/*\/*$/{ s//\1/ q @@ -379,12 +389,13 @@ # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : eval 'as_fn_append () { eval $1+=\$2 }' -else +else $as_nop as_fn_append () { eval $1=\$$1\$2 @@ -396,18 +407,27 @@ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else +else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop # as_fn_error STATUS ERROR LINENO LOG_FD # ---------------------------------------- @@ -419,9 +439,9 @@ as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -448,7 +468,7 @@ $as_expr X/"$0" : '.*/\(^/^/*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\(^/^/*\)\/*$/{ s//\1/ q @@ -492,7 +512,7 @@ s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall @@ -506,6 +526,10 @@ exit } + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -519,6 +543,13 @@ ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO("message") and AS_ECHO_N("message"), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -588,47 +619,43 @@ # Identity of this package. PACKAGE_NAME='audit' PACKAGE_TARNAME='audit' -PACKAGE_VERSION='3.0.1' -PACKAGE_STRING='audit 3.0.1' +PACKAGE_VERSION='3.0.9' +PACKAGE_STRING='audit 3.0.9' PACKAGE_BUGREPORT='' PACKAGE_URL='' # Factoring default headers for most tests. ac_includes_default="\ -#include <stdio.h> -#ifdef HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif -#ifdef HAVE_SYS_STAT_H -# include <sys/stat.h> +#include <stddef.h> +#ifdef HAVE_STDIO_H +# include <stdio.h> #endif -#ifdef STDC_HEADERS +#ifdef HAVE_STDLIB_H # include <stdlib.h> -# include <stddef.h> -#else -# ifdef HAVE_STDLIB_H -# include <stdlib.h> -# endif #endif #ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include <memory.h> -# endif # include <string.h> #endif -#ifdef HAVE_STRINGS_H -# include <strings.h> -#endif #ifdef HAVE_INTTYPES_H # include <inttypes.h> #endif #ifdef HAVE_STDINT_H # include <stdint.h> #endif +#ifdef HAVE_STRINGS_H +# include <strings.h> +#endif +#ifdef HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#ifdef HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif #ifdef HAVE_UNISTD_H # include <unistd.h> #endif" +ac_header_c_list= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS @@ -640,6 +667,7 @@ USE_AARCH64_TRUE USE_ARM_FALSE USE_ARM_TRUE +WFLAGS DEBUG_FALSE DEBUG_TRUE ENABLE_EXPERIMENTAL_FALSE @@ -676,9 +704,9 @@ pyexecdir pkgpythondir pythondir -PYTHON_PLATFORM PYTHON_EXEC_PREFIX PYTHON_PREFIX +PYTHON_PLATFORM PYTHON_VERSION PYTHON LDFLAGS_FOR_BUILD @@ -689,8 +717,8 @@ CPP_FOR_BUILD ac_ct_CC_FOR_BUILD CC_FOR_BUILD -LIBTOOL_DEPS CPP +LIBTOOL_DEPS LT_SYS_LIBRARY_PATH OTOOL64 OTOOL @@ -703,6 +731,7 @@ AR DLLTOOL OBJDUMP +FILECMD LN_S NM ac_ct_DUMPBIN @@ -733,6 +762,9 @@ AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V +CSCOPE +ETAGS +CTAGS am__untar am__tar AMTAR @@ -787,6 +819,7 @@ docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -821,6 +854,9 @@ with_sysroot enable_libtool_lock with_python +with_python_sys_prefix +with_python_prefix +with_python_exec_prefix with_python3 with_golang enable_listener @@ -885,6 +921,7 @@ sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -914,8 +951,6 @@ *) ac_optarg=yes ;; esac - # Accept the important Cygnus configure options, so we can diagnose typos. - case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; @@ -956,9 +991,9 @@ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*^-+._$as_cr_alnum" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/-+./_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/-+./_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -982,9 +1017,9 @@ ac_useropt=`expr "x$ac_option" : 'x-*enable-\(^=*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*^-+._$as_cr_alnum" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/-+./_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/-+./_/g'` case $ac_user_opts in *" "enable_$ac_useropt" @@ -1137,6 +1172,15 @@ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1186,9 +1230,9 @@ ac_useropt=`expr "x$ac_option" : 'x-*with-\(^=*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*^-+._$as_cr_alnum" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/-+./_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/-+./_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1202,9 +1246,9 @@ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*^-+._$as_cr_alnum" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: \`$ac_useropt'" ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/-+./_/g'` + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/-+./_/g'` case $ac_user_opts in *" "with_$ac_useropt" @@ -1248,9 +1292,9 @@ *) # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*^-._$as_cr_alnum" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; @@ -1266,7 +1310,7 @@ case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1274,7 +1318,7 @@ for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1330,7 +1374,7 @@ X"$as_myself" : 'X\(//\)^/' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | +printf "%s\n" X"$as_myself" | sed '/^X\(.*^/\)\/\/*^/^/*\/*$/{ s//\1/ q @@ -1387,7 +1431,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures audit 3.0.1 to adapt to many kinds of systems. +\`configure' configures audit 3.0.9 to adapt to many kinds of systems. Usage: $0 OPTION... VAR=VALUE... @@ -1427,6 +1471,7 @@ --sysconfdir=DIR read-only single-machine data PREFIX/etc --sharedstatedir=DIR modifiable architecture-independent data PREFIX/com --localstatedir=DIR modifiable single-machine data PREFIX/var + --runstatedir=DIR modifiable per-process data LOCALSTATEDIR/run --libdir=DIR object code libraries EPREFIX/lib --includedir=DIR C header files PREFIX/include --oldincludedir=DIR C header files for non-gcc /usr/include @@ -1458,7 +1503,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of audit 3.0.1:";; + short | recursive ) echo "Configuration of audit 3.0.9:";; esac cat <<\_ACEOF @@ -1495,6 +1540,11 @@ --with-sysroot=DIR Search for dependent libraries within DIR (or the compiler's sysroot if not specified). --with-python enable building python bindings + --with-python-sys-prefix + use Python's sys.prefix and sys.exec_prefix values + --with-python_prefix override the default PYTHON_PREFIX + --with-python_exec_prefix + override the default PYTHON_EXEC_PREFIX --with-python3 enable building python3 bindings --with-golang enable building golang bindings --with-debug turn on debugging default=no @@ -1537,9 +1587,9 @@ case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.\\/||'` + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.\\/||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/^\\/*|/..|g;s|/||'` + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/^\\/*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -1567,7 +1617,8 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. + # Check for configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive @@ -1575,7 +1626,7 @@ echo && $SHELL "$ac_srcdir/configure" --help=recursive else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done @@ -1584,10 +1635,10 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -audit configure 3.0.1 -generated by GNU Autoconf 2.69 +audit configure 3.0.9 +generated by GNU Autoconf 2.71 -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1604,14 +1655,14 @@ ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext + rm -f conftest.$ac_objext conftest.beam if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1619,14 +1670,15 @@ cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err - } && test -s conftest.$ac_objext; then : + } && test -s conftest.$ac_objext +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1642,14 +1694,14 @@ ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -1657,17 +1709,18 @@ cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext - }; then : + } +then : ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 @@ -1689,120 +1742,44 @@ ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : eval "$3=yes" -else +else $as_nop eval "$3=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case <limits.h> declares $2. @@ -1810,16 +1787,9 @@ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif + which can conflict with char $2 (); below. */ +#include <limits.h> #undef $2 /* Override any GCC internal prototype to avoid an error. @@ -1837,115 +1807,29 @@ #endif int -main () +main (void) { return $2 (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : eval "$3=yes" -else +else $as_nop eval "$3=no" fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache @@ -1953,17 +1837,18 @@ ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int -main () +main (void) { if (sizeof ($2)) return 0; @@ -1971,12 +1856,13 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int -main () +main (void) { if (sizeof (($2))) return 0; @@ -1984,22 +1870,104 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : -else +else $as_nop eval "$3=yes" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that +# executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: program exited with status $ac_status" >&5 + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes @@ -2014,7 +1982,7 @@ /* end confdefs.h. */ $4 int -main () +main (void) { static int test_array 1 - 2 * !(($2) >= 0); test_array 0 = 0; @@ -2024,14 +1992,15 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_lo=0 ac_mid=0 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int -main () +main (void) { static int test_array 1 - 2 * !(($2) <= $ac_mid); test_array 0 = 0; @@ -2041,9 +2010,10 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_hi=$ac_mid; break -else +else $as_nop as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= @@ -2051,14 +2021,14 @@ fi as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done -else +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int -main () +main (void) { static int test_array 1 - 2 * !(($2) < 0); test_array 0 = 0; @@ -2068,14 +2038,15 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_hi=-1 ac_mid=-1 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int -main () +main (void) { static int test_array 1 - 2 * !(($2) >= $ac_mid); test_array 0 = 0; @@ -2085,9 +2056,10 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_lo=$ac_mid; break -else +else $as_nop as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= @@ -2095,14 +2067,14 @@ fi as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done -else +else $as_nop ac_lo= ac_hi= fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val @@ -2110,7 +2082,7 @@ /* end confdefs.h. */ $4 int -main () +main (void) { static int test_array 1 - 2 * !(($2) <= $ac_mid); test_array 0 = 0; @@ -2120,12 +2092,13 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_hi=$ac_mid -else +else $as_nop as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext done case $ac_lo in #(( ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; @@ -2135,12 +2108,12 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } +static long int longval (void) { return $2; } +static unsigned long int ulongval (void) { return $2; } #include <stdio.h> #include <stdlib.h> int -main () +main (void) { FILE *f = fopen ("conftest.val", "w"); @@ -2168,9 +2141,10 @@ return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : +if ac_fn_c_try_run "$LINENO" +then : echo >>conftest.val; read $3 <conftest.val; ac_retval=0 -else +else $as_nop ac_retval=1 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ @@ -2183,25 +2157,28 @@ } # ac_fn_c_compute_int -# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -# --------------------------------------------- +# ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR +# ------------------------------------------------------------------ # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -# accordingly. -ac_fn_c_check_decl () +# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR. +ac_fn_check_decl () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack as_decl_name=`echo $2|sed 's/ *(.*//'` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +printf %s "checking whether $as_decl_name is declared... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else + eval ac_save_FLAGS=\$$6 + as_fn_append $6 " $5" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int -main () +main (void) { #ifndef $as_decl_name #ifdef __cplusplus @@ -2215,19 +2192,22 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : eval "$3=yes" -else +else $as_nop eval "$3=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + eval $6=\$ac_save_FLAGS + fi eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -} # ac_fn_c_check_decl +} # ac_fn_check_decl # ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES # ---------------------------------------------------- @@ -2236,16 +2216,17 @@ ac_fn_c_check_member () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 -$as_echo_n "checking for $2.$3... " >&6; } -if eval \${$4+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 +printf %s "checking for $2.$3... " >&6; } +if eval test \${$4+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int -main () +main (void) { static $2 ac_aggr; if (ac_aggr.$3) @@ -2254,14 +2235,15 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : eval "$4=yes" -else +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int -main () +main (void) { static $2 ac_aggr; if (sizeof ac_aggr.$3) @@ -2270,29 +2252,50 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : eval "$4=yes" -else +else $as_nop eval "$4=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$4 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_member +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*? '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\(^$ac_unsafe_a^$ac_unsafe_z*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by audit $as_me 3.0.1, which was -generated by GNU Autoconf 2.69. Invocation command line was +It was created by audit $as_me 3.0.9, which was +generated by GNU Autoconf 2.71. Invocation command line was - $ $0 $@ + $ $0$ac_configure_args_raw _ACEOF exec 5>>config.log @@ -2325,8 +2328,12 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "PATH: $as_dir" done IFS=$as_save_IFS @@ -2361,7 +2368,7 @@ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; @@ -2396,11 +2403,13 @@ # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? + # Sanitize IFS. + IFS=" "" $as_nl" # Save into config.log some information that might help in debugging. { echo - $as_echo "## ---------------- ## + printf "%s\n" "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo @@ -2411,8 +2420,8 @@ case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -2436,7 +2445,7 @@ ) echo - $as_echo "## ----------------- ## + printf "%s\n" "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo @@ -2444,14 +2453,14 @@ do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## + printf "%s\n" "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo @@ -2459,15 +2468,15 @@ do eval ac_val=\$$ac_var case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac - $as_echo "$ac_var='\''$ac_val'\''" + printf "%s\n" "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then - $as_echo "## ----------- ## + printf "%s\n" "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo @@ -2475,8 +2484,8 @@ echo fi test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && @@ -2490,63 +2499,48 @@ # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h -$as_echo "/* confdefs.h */" > confdefs.h +printf "%s\n" "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac + ac_site_files="$CONFIG_SITE" elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" + +for ac_site_file in $ac_site_files do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi @@ -2556,19 +2550,435 @@ # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} case $cache_file in \\/* | ?:\\/* ) . "$cache_file";; *) . "./$cache_file";; esac fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} >$cache_file fi +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include <stddef.h> +#include <stdarg.h> +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return pi; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not \xHH hex character constants. + These do not provoke an error unfortunately, instead are silently treated + as an "x". The following induces an error, until -std is added to get + proper ANSI mode. Curiously \x00 != x always comes out true, for an + array size at least. It is necessary to write \x00 == 0 to get something + that is true only with -std. */ +int osf4_cc_array '\''\x00'\'' == 0 ? 1 : -1; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) '\''x'\'' +int xlc6_cc_arrayFOO(a) == '\''x'\'' ? 1 : -1; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv0 || f (e, argv, 1) != argv1); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include <stdbool.h> +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->datai = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_arrayni.number; + dynamic_array0 = argv00; + dynamic_arrayni.number - 1 = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar0 == '\''x'\'' + || dynamic_arrayni.number - 1 != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int100), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" +as_fn_append ac_header_c_list " sys/time.h sys_time_h HAVE_SYS_TIME_H" + +# Auxiliary files required by this configure script. +ac_aux_files="compile ltmain.sh missing install-sh config.guess config.sub" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}${PATH_SEPARATOR}${srcdir}/..${PATH_SEPARATOR}${srcdir}/../.." + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 +fi + + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +fi + # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false @@ -2579,12 +2989,12 @@ eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) @@ -2593,24 +3003,24 @@ ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in @@ -2620,11 +3030,12 @@ fi done if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' + and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -2643,55 +3054,30 @@ echo Configuring auditd $VERSION -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else + # Make sure we can run config.sub. +$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_build_alias=$build_alias test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` + ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 +ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; @@ -2710,21 +3096,22 @@ case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; @@ -2743,21 +3130,22 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 -$as_echo_n "checking target system type... " >&6; } -if ${ac_cv_target+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 +printf %s "checking target system type... " >&6; } +if test ${ac_cv_target+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else - ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 + ac_cv_target=`$SHELL "${ac_aux_dir}config.sub" $target_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $target_alias failed" "$LINENO" 5 fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 -$as_echo "$ac_cv_target" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 +printf "%s\n" "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; @@ -2784,7 +3172,8 @@ program_prefix=${target_alias}- am__api_version='1.16' -# Find a good install program. We prefer a C program (faster), + + # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install @@ -2798,20 +3187,25 @@ # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else +if test ${ac_cv_path_install+y} +then : + printf %s "(cached) " >&6 +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /cC/* | \ + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + # Account for fact that we put trailing slashes in our PATH walk. +case $as_dir in #(( + ./ | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; @@ -2821,13 +3215,13 @@ # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else @@ -2835,12 +3229,12 @@ echo one > conftest.one echo two > conftest.two mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" break 3 fi fi @@ -2856,7 +3250,7 @@ rm -rf conftest.one conftest.two conftest.dir fi - if test "${ac_cv_path_install+set}" = set; then + if test ${ac_cv_path_install+y}; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a @@ -2866,8 +3260,8 @@ INSTALL=$ac_install_sh fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. @@ -2877,8 +3271,8 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +printf %s "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' @@ -2932,8 +3326,8 @@ as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= @@ -2952,26 +3346,23 @@ # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/\\$/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` +program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + + if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh+set}" != xset; then @@ -2991,11 +3382,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else @@ -3003,11 +3395,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3018,11 +3414,11 @@ fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3031,11 +3427,12 @@ ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else @@ -3043,11 +3440,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3058,11 +3459,11 @@ fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then @@ -3070,8 +3471,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP @@ -3083,25 +3484,31 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 +printf %s "checking for a race-free mkdir -p... " >&6; } if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${ac_cv_path_mkdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ + as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue + case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir ('*'coreutils) '* | \ + 'BusyBox '* | \ 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext break 3;; esac done @@ -3112,7 +3519,7 @@ fi test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then + if test ${ac_cv_path_mkdir+y}; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a @@ -3122,18 +3529,19 @@ MKDIR_P="$ac_install_sh -d" fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +printf "%s\n" "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else @@ -3141,11 +3549,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3156,24 +3568,25 @@ fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi test -n "$AWK" && break done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/^a-zA-Z0-9_/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else +ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/^a-zA-Z0-9_/_/g'` +if eval test \${ac_cv_prog_make_${ac_make}_set+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @@ -3189,12 +3602,12 @@ rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } SET_MAKE= else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi @@ -3208,7 +3621,8 @@ rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : +if test ${enable_silent_rules+y} +then : enableval=$enable_silent_rules; fi @@ -3218,12 +3632,13 @@ *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +printf %s "checking whether $am_make supports nested variables... " >&6; } +if test ${am_cv_make_support_nested_variables+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if printf "%s\n" 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 @@ -3235,8 +3650,8 @@ am_cv_make_support_nested_variables=no fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' @@ -3268,17 +3683,13 @@ # Define the identity of the package. PACKAGE='audit' - VERSION='3.0.1' + VERSION='3.0.9' -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF +printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF +printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h # Some tools Automake needs. @@ -3318,6 +3729,20 @@ +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi + +if test -z "$ETAGS"; then + ETAGS=etags +fi + +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi + + # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile @@ -3363,14 +3788,15 @@ case `pwd` in *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac -macro_version='2.4.6' -macro_revision='2.4.6' +macro_version='2.4.7' +macro_revision='2.4.7' + @@ -3407,8 +3833,8 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +printf %s "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then @@ -3434,12 +3860,12 @@ } case $ECHO in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; + printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +printf "%s\n" "printf" >&6; } ;; + print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +printf "%s\n" "print -r" >&6; } ;; + *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +printf "%s\n" "cat" >&6; } ;; esac @@ -3455,12 +3881,21 @@ + + + + + + + + + DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 -$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } cat > confinc.mk << 'END' am__doit: @echo this is the am__doit target >confinc.out @@ -3496,11 +3931,12 @@ fi done rm -f confinc.* confmf.* -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 -$as_echo "${_am_result}" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +printf "%s\n" "${_am_result}" >&6; } # Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : +if test ${enable_dependency_tracking+y} +then : enableval=$enable_dependency_tracking; fi @@ -3526,11 +3962,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -3538,11 +3975,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3553,11 +3994,11 @@ fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3566,11 +4007,12 @@ ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else @@ -3578,11 +4020,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3593,11 +4039,11 @@ fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_CC" = x; then @@ -3605,8 +4051,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -3619,11 +4065,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -3631,11 +4078,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3646,11 +4097,11 @@ fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3659,11 +4110,12 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -3672,15 +4124,19 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3696,18 +4152,18 @@ # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3718,11 +4174,12 @@ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -3730,11 +4187,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3745,11 +4206,11 @@ fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3762,11 +4223,12 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else @@ -3774,11 +4236,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -3789,11 +4255,11 @@ fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -3805,34 +4271,138 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. +set dummy ${ac_tool_prefix}clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi +else + CC="$ac_cv_prog_CC" fi fi -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 -for ac_option in --version -v -V -qversion; do +for ac_option in --version -v -V -qversion -version; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -3842,7 +4412,7 @@ cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done @@ -3850,7 +4420,7 @@ /* end confdefs.h. */ int -main () +main (void) { ; @@ -3862,9 +4432,9 @@ # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest^ *//'` +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +printf %s "checking whether the C compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest^ *//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" @@ -3885,11 +4455,12 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, @@ -3906,7 +4477,7 @@ # certainly right. break;; *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '^.*\(\..*\)'` fi @@ -3922,44 +4493,46 @@ done test "$ac_cv_exeext" = no && ac_cv_exeext= -else +else $as_nop ac_file='' fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +printf %s "checking for C compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with @@ -3973,15 +4546,15 @@ * ) break;; esac done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext @@ -3990,7 +4563,7 @@ /* end confdefs.h. */ #include <stdio.h> int -main () +main (void) { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; @@ -4002,8 +4575,8 @@ ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in @@ -4011,10 +4584,10 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in @@ -4022,39 +4595,40 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -4068,11 +4642,12 @@ *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in @@ -4081,31 +4656,32 @@ break;; esac done -else - $as_echo "$as_me: failed program was:" >&5 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { #ifndef __GNUC__ choke me @@ -4115,29 +4691,33 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_compiler_gnu=yes -else +else $as_nop ac_compiler_gnu=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi -ac_test_CFLAGS=${CFLAGS+set} +ac_test_CFLAGS=${CFLAGS+y} ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no @@ -4146,57 +4726,60 @@ /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_g=yes -else +else $as_nop CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : -else +else $as_nop ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_g=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then @@ -4211,94 +4794,144 @@ CFLAGS= fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include <stdarg.h> -#include <stdio.h> -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return pi; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array '\x00' == 0 ? 1 : -1; +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_arrayFOO(a) == 'x' ? 1 : -1; +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv0 || f (e, argv, 1) != argv1; - ; - return 0; -} +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program _ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : + if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_c89=$ac_arg fi -rm -f core conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC - fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +fi fi ac_ext=c @@ -4307,21 +4940,23 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_ext=c + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +printf %s "checking whether $CC understands -c and -o together... " >&6; } +if test ${am_cv_prog_cc_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -4349,8 +4984,8 @@ rm -f core conftest* unset am_i fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. @@ -4368,11 +5003,12 @@ depcc="$CC" am_compiler_list= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CC_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For @@ -4479,8 +5115,8 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if @@ -4494,11 +5130,12 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +printf %s "checking for a sed that does not truncate output... " >&6; } +if test ${ac_cv_path_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" @@ -4512,10 +5149,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in sed gsed + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + ac_path_SED="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED @@ -4524,13 +5166,13 @@ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" + printf "%s\n" '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -4558,8 +5200,8 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +printf "%s\n" "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed @@ -4576,11 +5218,12 @@ -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST @@ -4588,10 +5231,15 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in grep ggrep + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP @@ -4600,13 +5248,13 @@ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" + printf "%s\n" 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -4634,16 +5282,17 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else @@ -4654,10 +5303,15 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP @@ -4666,13 +5320,13 @@ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -4701,16 +5355,17 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +printf %s "checking for fgrep... " >&6; } +if test ${ac_cv_path_FGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else @@ -4721,10 +5376,15 @@ for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in fgrep + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" + ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP @@ -4733,13 +5393,13 @@ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 - $as_echo_n 0123456789 >"conftest.in" + printf %s 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" + printf "%s\n" 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val @@ -4768,8 +5428,8 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +printf "%s\n" "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" @@ -4794,17 +5454,18 @@ # Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : +if test ${with_gnu_ld+y} +then : withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes -else +else $as_nop with_gnu_ld=no fi ac_prog=ld if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +printf %s "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return, which upsets mingw @@ -4833,15 +5494,16 @@ ;; esac elif test yes = "$with_gnu_ld"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "checking for GNU ld... " >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else +if test ${lt_cv_path_LD+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$LD"; then lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do @@ -4870,18 +5532,19 @@ LD=$lt_cv_path_LD if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +printf "%s\n" "$LD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +printf %s "checking if the linker ($LD) is GNU ld... " >&6; } +if test ${lt_cv_prog_gnu_ld+y} +then : + printf %s "(cached) " >&6 +else $as_nop # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) @@ -4892,8 +5555,8 @@ ;; esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 +printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld @@ -4904,11 +5567,12 @@ -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if test ${lt_cv_path_NM+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM=$NM @@ -4933,13 +5597,13 @@ mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -4958,8 +5622,8 @@ : ${lt_cv_path_NM=no} fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +printf "%s\n" "$lt_cv_path_NM" >&6; } if test no != "$lt_cv_path_NM"; then NM=$lt_cv_path_NM else @@ -4972,11 +5636,12 @@ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DUMPBIN+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else @@ -4984,11 +5649,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -4999,11 +5668,11 @@ fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +printf "%s\n" "$DUMPBIN" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5016,11 +5685,12 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DUMPBIN+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else @@ -5028,11 +5698,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5043,11 +5717,11 @@ fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +printf "%s\n" "$ac_ct_DUMPBIN" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5059,15 +5733,15 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -5088,11 +5762,12 @@ -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +printf %s "checking the name lister ($NM) interface... " >&6; } +if test ${lt_cv_nm_interface+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) @@ -5108,26 +5783,27 @@ fi rm -f conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +printf "%s\n" "$lt_cv_nm_interface" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +printf %s "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +printf "%s\n" "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +printf %s "checking the maximum length of command line arguments... " >&6; } +if test ${lt_cv_sys_max_cmd_len+y} +then : + printf %s "(cached) " >&6 +else $as_nop i=0 teststring=ABCD @@ -5169,7 +5845,7 @@ lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -5212,7 +5888,7 @@ sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.* //'` + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.* //'` else lt_cv_sys_max_cmd_len=32768 fi @@ -5254,11 +5930,11 @@ fi if test -n "$lt_cv_sys_max_cmd_len"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len @@ -5302,11 +5978,12 @@ -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +printf %s "checking how to convert $build file names to $host format... " >&6; } +if test ${lt_cv_to_host_file_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $host in *-*-mingw* ) case $build in @@ -5342,18 +6019,19 @@ fi to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +printf %s "checking how to convert $build file names to toolchain format... " >&6; } +if test ${lt_cv_to_tool_file_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in @@ -5369,22 +6047,23 @@ fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +printf %s "checking for $LD option to reload object files... " >&6; } +if test ${lt_cv_ld_reload_flag+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_ld_reload_flag='-r' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; @@ -5415,13 +6094,122 @@ if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_FILECMD="${ac_tool_prefix}file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +printf "%s\n" "$FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FILECMD="file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD +if test -n "$ac_ct_FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 +printf "%s\n" "$ac_ct_FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_FILECMD" = x; then + FILECMD=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FILECMD=$ac_ct_FILECMD + fi +else + FILECMD="$ac_cv_prog_FILECMD" +fi + + + + + + + +if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else @@ -5429,11 +6217,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5444,11 +6236,11 @@ fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +printf "%s\n" "$OBJDUMP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5457,11 +6249,12 @@ ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else @@ -5469,11 +6262,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5484,11 +6281,11 @@ fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +printf "%s\n" "$ac_ct_OBJDUMP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then @@ -5496,8 +6293,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP @@ -5516,11 +6313,12 @@ -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +printf %s "checking how to recognize dependent libraries... " >&6; } +if test ${lt_cv_deplibs_check_method+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' @@ -5546,7 +6344,7 @@ bsdi45*) lt_cv_deplibs_check_method='file_magic ELF 0-90-9*-bit MLSB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -5580,14 +6378,14 @@ lt_cv_deplibs_check_method=pass_all ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i3-986 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -5601,7 +6399,7 @@ ;; hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s0-90-90-9|ELF-0-90-9) shared object file - IA64' @@ -5648,7 +6446,7 @@ newos6*) lt_cv_deplibs_check_method='file_magic ELF 0-90-9*-bit MLSB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; @@ -5716,8 +6514,8 @@ esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no @@ -5761,11 +6559,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else @@ -5773,11 +6572,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5788,11 +6591,11 @@ fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +printf "%s\n" "$DLLTOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5801,11 +6604,12 @@ ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else @@ -5813,11 +6617,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5828,11 +6636,11 @@ fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +printf "%s\n" "$ac_ct_DLLTOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then @@ -5840,8 +6648,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL @@ -5861,11 +6669,12 @@ -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +printf %s "checking how to associate runtime and link libraries... " >&6; } +if test ${lt_cv_sharedlib_from_linklib_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in @@ -5888,8 +6697,8 @@ esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO @@ -5905,11 +6714,12 @@ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else @@ -5917,11 +6727,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5932,11 +6746,11 @@ fi AR=$ac_cv_prog_AR if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5949,11 +6763,12 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else @@ -5961,11 +6776,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -5976,11 +6795,11 @@ fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -5992,8 +6811,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR @@ -6001,42 +6820,60 @@ fi : ${AR=ar} -: ${AR_FLAGS=cru} +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else + + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +printf %s "checking for archiver @FILE support... " >&6; } +if test ${lt_cv_ar_at_file+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -eq "$ac_status"; then # Ensure the archiver fails upon bogus file names. @@ -6044,7 +6881,7 @@ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test 0 -ne "$ac_status"; then lt_cv_ar_at_file=@ @@ -6053,11 +6890,11 @@ rm -f conftest.* libconftest.a fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +printf "%s\n" "$lt_cv_ar_at_file" >&6; } if test no = "$lt_cv_ar_at_file"; then archiver_list_spec= @@ -6074,11 +6911,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else @@ -6086,11 +6924,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6101,11 +6943,11 @@ fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6114,11 +6956,12 @@ ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else @@ -6126,11 +6969,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6141,11 +6988,11 @@ fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then @@ -6153,8 +7000,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP @@ -6173,11 +7020,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else @@ -6185,11 +7033,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6200,11 +7052,11 @@ fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -6213,11 +7065,12 @@ ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else @@ -6225,11 +7078,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -6240,11 +7097,11 @@ fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then @@ -6252,8 +7109,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB @@ -6342,11 +7199,12 @@ # Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +printf %s "checking command to parse $NM output from $compiler object... " >&6; } +if test ${lt_cv_sys_global_symbol_pipe+y} +then : + printf %s "(cached) " >&6 +else $as_nop # These are sane defaults that work on at least a few old systems. # They come from Ultrix. What could be older than Ultrix?!! ;) @@ -6401,7 +7259,7 @@ if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" @@ -6419,20 +7277,20 @@ # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ @@ -6456,7 +7314,7 @@ if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, + # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ @@ -6474,9 +7332,9 @@ " s1~prfx {split(s1,t,\"@\"); print f,t1,substr(t1,length(prfx))}"\ " ' prfx=^$ac_symprfx" else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.* \($symcode$symcode*\) *$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.* \($symcode$symcode*\) *$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no @@ -6498,14 +7356,14 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then @@ -6574,7 +7432,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then pipe_works=yes fi @@ -6609,11 +7467,11 @@ lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +printf "%s\n" "failed" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } fi # Response file support. @@ -6659,13 +7517,14 @@ -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +printf %s "checking for sysroot... " >&6; } # Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : +if test ${with_sysroot+y} +then : withval=$with_sysroot; -else +else $as_nop with_sysroot=no fi @@ -6678,29 +7537,30 @@ fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 -$as_echo "$with_sysroot" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +printf "%s\n" "$with_sysroot" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +printf "%s\n" "${lt_sysroot:-no}" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 -$as_echo_n "checking for a working dd... " >&6; } -if ${ac_cv_path_lt_DD+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +printf %s "checking for a working dd... " >&6; } +if test ${ac_cv_path_lt_DD+y} +then : + printf %s "(cached) " >&6 +else $as_nop printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i : ${lt_DD:=$DD} @@ -6711,10 +7571,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in dd; do + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in dd + do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_lt_DD" || continue if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then cmp -s conftest.i conftest.out \ @@ -6734,15 +7599,16 @@ rm -f conftest.i conftest2.i conftest.out fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 -$as_echo "$ac_cv_path_lt_DD" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +printf "%s\n" "$ac_cv_path_lt_DD" >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 -$as_echo_n "checking how to truncate binary pipes... " >&6; } -if ${lt_cv_truncate_bin+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +printf %s "checking how to truncate binary pipes... " >&6; } +if test ${lt_cv_truncate_bin+y} +then : + printf %s "(cached) " >&6 +else $as_nop printf 0123456789abcdef0123456789abcdef >conftest.i cat conftest.i conftest.i >conftest2.i lt_cv_truncate_bin= @@ -6753,8 +7619,8 @@ rm -f conftest.i conftest2.i conftest.out test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 -$as_echo "$lt_cv_truncate_bin" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +printf "%s\n" "$lt_cv_truncate_bin" >&6; } @@ -6777,7 +7643,8 @@ } # Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : +if test ${enable_libtool_lock+y} +then : enableval=$enable_libtool_lock; fi @@ -6793,9 +7660,9 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; @@ -6813,10 +7680,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; @@ -6828,7 +7695,7 @@ ;; esac else - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -6851,10 +7718,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then emul=elf - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; @@ -6862,7 +7729,7 @@ emul="${emul}64" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -6870,7 +7737,7 @@ emul="${emul}ltsmip" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -6892,16 +7759,16 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; @@ -6955,11 +7822,12 @@ # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +printf %s "checking whether the C compiler needs -belf... " >&6; } +if test ${lt_cv_cc_needs_belf+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -6970,19 +7838,20 @@ /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_cv_cc_needs_belf=yes -else +else $as_nop lt_cv_cc_needs_belf=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6991,8 +7860,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } if test yes != "$lt_cv_cc_needs_belf"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS=$SAVE_CFLAGS @@ -7005,9 +7874,9 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) @@ -7042,11 +7911,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MANIFEST_TOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else @@ -7054,11 +7924,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7069,11 +7943,11 @@ fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +printf "%s\n" "$MANIFEST_TOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -7082,11 +7956,12 @@ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else @@ -7094,11 +7969,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7109,11 +7988,11 @@ fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then @@ -7121,8 +8000,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL @@ -7132,11 +8011,12 @@ fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if test ${lt_cv_path_mainfest_tool+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out @@ -7146,8 +8026,8 @@ fi rm -f conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } if test yes != "$lt_cv_path_mainfest_tool"; then MANIFEST_TOOL=: fi @@ -7162,11 +8042,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DSYMUTIL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else @@ -7174,11 +8055,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7189,11 +8074,11 @@ fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +printf "%s\n" "$DSYMUTIL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -7202,11 +8087,12 @@ ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else @@ -7214,11 +8100,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7229,11 +8119,11 @@ fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then @@ -7241,8 +8131,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL @@ -7254,11 +8144,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_NMEDIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else @@ -7266,11 +8157,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7281,11 +8176,11 @@ fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +printf "%s\n" "$NMEDIT" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -7294,11 +8189,12 @@ ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_NMEDIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else @@ -7306,11 +8202,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7321,11 +8221,11 @@ fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +printf "%s\n" "$ac_ct_NMEDIT" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then @@ -7333,8 +8233,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT @@ -7346,11 +8246,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_LIPO+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else @@ -7358,11 +8259,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7373,11 +8278,11 @@ fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +printf "%s\n" "$LIPO" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -7386,11 +8291,12 @@ ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_LIPO+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else @@ -7398,11 +8304,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7413,11 +8323,11 @@ fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +printf "%s\n" "$ac_ct_LIPO" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then @@ -7425,8 +8335,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO @@ -7438,11 +8348,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else @@ -7450,11 +8361,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7465,11 +8380,11 @@ fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +printf "%s\n" "$OTOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -7478,11 +8393,12 @@ ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else @@ -7490,11 +8406,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7505,11 +8425,11 @@ fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +printf "%s\n" "$ac_ct_OTOOL" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then @@ -7517,8 +8437,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL @@ -7530,11 +8450,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OTOOL64+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else @@ -7542,11 +8463,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7557,11 +8482,11 @@ fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +printf "%s\n" "$OTOOL64" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -7570,11 +8495,12 @@ ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OTOOL64+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else @@ -7582,11 +8508,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -7597,11 +8527,11 @@ fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +printf "%s\n" "$ac_ct_OTOOL64" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then @@ -7609,8 +8539,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 @@ -7645,11 +8575,12 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +printf %s "checking for -single_module linker flag... " >&6; } +if test ${lt_cv_apple_cc_single_mod+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_apple_cc_single_mod=no if test -z "$LT_MULTI_MODULE"; then # By default we will add the -single_module flag. You can override @@ -7678,14 +8609,15 @@ rm -f conftest.* fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +printf %s "checking for -exported_symbols_list linker flag... " >&6; } +if test ${lt_cv_ld_exported_symbols_list+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym @@ -7694,39 +8626,41 @@ /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_cv_ld_exported_symbols_list=yes -else +else $as_nop lt_cv_ld_exported_symbols_list=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +printf %s "checking for -force_load linker flag... " >&6; } +if test ${lt_cv_ld_force_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF @@ -7746,24 +8680,19 @@ rm -rf conftest.dSYM fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +printf "%s\n" "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.012) _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin91*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.012,.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.012,*|,*powerpc*-darwin5-8*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac @@ -7818,286 +8747,43 @@ esac } -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes +ac_header= ac_cache= +for ac_item in $ac_header_c_list do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <string.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ctype.h> -#include <stdlib.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF +if test "x$ac_cv_header_dlfcn_h" = xyes +then : + printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h fi -done - @@ -8113,7 +8799,8 @@ # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : +if test ${enable_shared+y} +then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; @@ -8131,7 +8818,7 @@ IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_shared=yes fi @@ -8144,7 +8831,8 @@ # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : +if test ${enable_static+y} +then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; @@ -8162,7 +8850,7 @@ IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_static=yes fi @@ -8176,7 +8864,8 @@ # Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : +if test ${with_pic+y} +then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; @@ -8193,7 +8882,7 @@ IFS=$lt_save_ifs ;; esac -else +else $as_nop pic_mode=default fi @@ -8205,7 +8894,8 @@ # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : +if test ${enable_fast_install+y} +then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; @@ -8223,7 +8913,7 @@ IFS=$lt_save_ifs ;; esac -else +else $as_nop enable_fast_install=yes fi @@ -8237,11 +8927,12 @@ shared_archive_member_spec= case $host,$enable_shared in power*-*-aix5-9*,yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 -$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +printf %s "checking which variant of shared library versioning to provide... " >&6; } # Check whether --with-aix-soname was given. -if test "${with_aix_soname+set}" = set; then : +if test ${with_aix_soname+y} +then : withval=$with_aix_soname; case $withval in aix|svr4|both) ;; @@ -8250,18 +8941,19 @@ ;; esac lt_cv_with_aix_soname=$with_aix_soname -else - if ${lt_cv_with_aix_soname+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + if test ${lt_cv_with_aix_soname+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_with_aix_soname=aix fi with_aix_soname=$lt_cv_with_aix_soname fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 -$as_echo "$with_aix_soname" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +printf "%s\n" "$with_aix_soname" >&6; } if test aix != "$with_aix_soname"; then # For the AIX way of multilib, we name the shared archive member # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', @@ -8343,11 +9035,12 @@ setopt NO_GLOB_SUBST fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +printf %s "checking for objdir... " >&6; } +if test ${lt_cv_objdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then @@ -8358,17 +9051,15 @@ fi rmdir .libs 2>/dev/null fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +printf "%s\n" "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF +printf "%s\n" "#define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h @@ -8389,8 +9080,8 @@ ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -8414,11 +9105,12 @@ case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +printf %s "checking for ${ac_tool_prefix}file... " >&6; } +if test ${lt_cv_path_MAGIC_CMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $MAGIC_CMD in \\/* | ?:\\/*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. @@ -8467,11 +9159,11 @@ MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -8480,11 +9172,12 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +printf %s "checking for file... " >&6; } +if test ${lt_cv_path_MAGIC_CMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $MAGIC_CMD in \\/* | ?:\\/*) lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. @@ -8533,11 +9226,11 @@ MAGIC_CMD=$lt_cv_path_MAGIC_CMD if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -8622,11 +9315,12 @@ lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if test ${lt_cv_prog_compiler_rtti_exceptions+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext @@ -8657,8 +9351,8 @@ $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" @@ -8899,7 +9593,7 @@ lt_prog_compiler_static='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ 1-7.* | *Sun*Fortran*\ 8.0-3*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' @@ -9015,26 +9709,28 @@ ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +printf %s "checking for $compiler option to produce PIC... " >&6; } +if test ${lt_cv_prog_compiler_pic+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if test ${lt_cv_prog_compiler_pic_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext @@ -9065,8 +9761,8 @@ $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } if test yes = "$lt_cv_prog_compiler_pic_works"; then case $lt_prog_compiler_pic in @@ -9094,11 +9790,12 @@ # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test ${lt_cv_prog_compiler_static_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_static_works=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS $lt_tmp_static_flag" @@ -9122,8 +9819,8 @@ LDFLAGS=$save_LDFLAGS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } if test yes = "$lt_cv_prog_compiler_static_works"; then : @@ -9137,11 +9834,12 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest @@ -9184,19 +9882,20 @@ $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest @@ -9239,8 +9938,8 @@ $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } @@ -9248,19 +9947,19 @@ hard_links=nottested if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +printf %s "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } if test no = "$hard_links"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} need_locks=warn fi else @@ -9272,8 +9971,8 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= @@ -9317,15 +10016,15 @@ case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) @@ -9377,7 +10076,7 @@ whole_archive_flag_spec= fi supports_anon_versioning=no - case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in + case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ 01.* | *\ 2.0-9.* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... @@ -9489,6 +10188,7 @@ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes + file_list_spec='@' ;; interix3-9*) @@ -9503,7 +10203,7 @@ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) @@ -9546,7 +10246,7 @@ compiler_needs_object=yes ;; esac - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' compiler_needs_object=yes @@ -9558,7 +10258,7 @@ if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi @@ -9574,7 +10274,7 @@ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi @@ -9706,7 +10406,7 @@ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\(^B*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\(^B*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no @@ -9828,21 +10528,23 @@ if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${lt_cv_aix_libpath_+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { @@ -9857,7 +10559,7 @@ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib @@ -9881,21 +10583,23 @@ if test set = "${lt_cv_aix_libpath+set}"; then aix_libpath=$lt_cv_aix_libpath else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${lt_cv_aix_libpath_+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { @@ -9910,7 +10614,7 @@ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=/usr/lib:/lib @@ -9973,12 +10677,12 @@ cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl*) - # Native MSVC + cl* | icl*) + # Native MSVC or ICC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes @@ -10019,7 +10723,7 @@ fi' ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. @@ -10060,8 +10764,8 @@ output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" else ld_shlibs=no @@ -10095,7 +10799,7 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes @@ -10161,11 +10865,12 @@ # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +printf %s "checking if $CC understands -b... " >&6; } +if test ${lt_cv_prog_compiler__b+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_prog_compiler__b=no save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -b" @@ -10189,8 +10894,8 @@ LDFLAGS=$save_LDFLAGS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } if test yes = "$lt_cv_prog_compiler__b"; then archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' @@ -10230,28 +10935,30 @@ # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if test ${lt_cv_irix_exported_symbol+y} +then : + printf %s "(cached) " >&6 +else $as_nop save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : lt_cv_irix_exported_symbol=yes -else +else $as_nop lt_cv_irix_exported_symbol=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } if test yes = "$lt_cv_irix_exported_symbol"; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi @@ -10343,6 +11050,7 @@ emximp -o $lib $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' enable_shared_with_static_runtimes=yes + file_list_spec='@' ;; osf3*) @@ -10531,8 +11239,8 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +printf "%s\n" "$ld_shlibs" >&6; } test no = "$ld_shlibs" && can_build_shared=no with_gnu_ld=$with_gnu_ld @@ -10568,18 +11276,19 @@ # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +printf %s "checking whether -lc should be explicitly linked in... " >&6; } +if test ${lt_cv_archive_cmds_need_lc+y} +then : + printf %s "(cached) " >&6 +else $as_nop $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest @@ -10597,7 +11306,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no @@ -10611,8 +11320,8 @@ $RM conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac @@ -10771,8 +11480,8 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +printf %s "checking dynamic linker characteristics... " >&6; } if test yes = "$GCC"; then case $host_os in @@ -11034,7 +11743,7 @@ case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/./-/g'`$versuffix$shared_ext' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/./-/g'`$versuffix$shared_ext' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; @@ -11044,14 +11753,14 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/./-/g'`$versuffix$shared_ext' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/./-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; - *,cl*) - # Native MSVC + *,cl* | *,icl*) + # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/./-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -11070,7 +11779,7 @@ done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\(a-zA-Z\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\(a-zA-Z\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -11107,7 +11816,7 @@ ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/./-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -11140,7 +11849,7 @@ shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -11333,9 +12042,10 @@ shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else + if test ${lt_cv_shlibpath_overrides_runpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir @@ -11345,19 +12055,21 @@ /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : +if ac_fn_c_try_link "$LINENO" +then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null +then : lt_cv_shlibpath_overrides_runpath=yes fi fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir @@ -11592,8 +12304,8 @@ dynamic_linker=no ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } test no = "$dynamic_linker" && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" @@ -11714,8 +12426,8 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +printf %s "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || @@ -11739,8 +12451,8 @@ # directories. hardcode_action=unsupported fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +printf "%s\n" "$hardcode_action" >&6; } if test relink = "$hardcode_action" || test yes = "$inherit_rpath"; then @@ -11784,11 +12496,12 @@ darwin*) # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11797,32 +12510,31 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char dlopen (); int -main () +main (void) { return dlopen (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_dl_dlopen=yes -else +else $as_nop ac_cv_lib_dl_dlopen=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else +else $as_nop lt_cv_dlopen=dyld lt_cv_dlopen_libs= @@ -11842,14 +12554,16 @@ *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : +if test "x$ac_cv_func_shl_load" = xyes +then : lt_cv_dlopen=shl_load -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +printf %s "checking for shl_load in -ldld... " >&6; } +if test ${ac_cv_lib_dld_shl_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11858,41 +12572,42 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char shl_load (); int -main () +main (void) { return shl_load (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_dld_shl_load=yes -else +else $as_nop ac_cv_lib_dld_shl_load=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes +then : lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld -else +else $as_nop ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : +if test "x$ac_cv_func_dlopen" = xyes +then : lt_cv_dlopen=dlopen -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11901,37 +12616,37 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char dlopen (); int -main () +main (void) { return dlopen (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_dl_dlopen=yes -else +else $as_nop ac_cv_lib_dl_dlopen=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +printf %s "checking for dlopen in -lsvld... " >&6; } +if test ${ac_cv_lib_svld_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11940,37 +12655,37 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char dlopen (); int -main () +main (void) { return dlopen (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_svld_dlopen=yes -else +else $as_nop ac_cv_lib_svld_dlopen=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes +then : lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +printf %s "checking for dld_link in -ldld... " >&6; } +if test ${ac_cv_lib_dld_dld_link+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11979,30 +12694,29 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char dld_link (); int -main () +main (void) { return dld_link (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_dld_dld_link=yes -else +else $as_nop ac_cv_lib_dld_dld_link=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes +then : lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld fi @@ -12041,11 +12755,12 @@ save_LIBS=$LIBS LIBS="$lt_cv_dlopen_libs $LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +printf %s "checking whether a program can dlopen itself... " >&6; } +if test ${lt_cv_dlopen_self+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test yes = "$cross_compiling"; then : lt_cv_dlopen_self=cross else @@ -12124,7 +12839,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? @@ -12142,16 +12857,17 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +printf "%s\n" "$lt_cv_dlopen_self" >&6; } if test yes = "$lt_cv_dlopen_self"; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +printf %s "checking whether a statically linked program can dlopen itself... " >&6; } +if test ${lt_cv_dlopen_self_static+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test yes = "$cross_compiling"; then : lt_cv_dlopen_self_static=cross else @@ -12230,7 +12946,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? @@ -12248,8 +12964,8 @@ fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS=$save_CPPFLAGS @@ -12287,32 +13003,43 @@ striplib= old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +printf %s "checking whether stripping libraries is possible... " >&6; } +if test -z "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +else + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + ;; + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + ;; + esac + fi fi @@ -12327,13 +13054,13 @@ # Report what library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +printf %s "checking if libtool supports shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +printf "%s\n" "$can_build_shared" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +printf %s "checking whether to build shared libraries... " >&6; } test no = "$can_build_shared" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and @@ -12357,15 +13084,15 @@ fi ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +printf "%s\n" "$enable_shared" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +printf %s "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test yes = "$enable_shared" || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +printf "%s\n" "$enable_static" >&6; } @@ -12404,92 +13131,173 @@ OLDLIBS="$LIBS" -for ac_header in sys/inotify.h sys/epoll.h sys/event.h port.h poll.h sys/timerfd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +ac_fn_c_check_header_compile "$LINENO" "sys/inotify.h" "ac_cv_header_sys_inotify_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_inotify_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_INOTIFY_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "sys/epoll.h" "ac_cv_header_sys_epoll_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_epoll_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_EPOLL_H 1" >>confdefs.h -done +fi +ac_fn_c_check_header_compile "$LINENO" "sys/event.h" "ac_cv_header_sys_event_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_event_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_EVENT_H 1" >>confdefs.h -for ac_header in sys/select.h sys/eventfd.h sys/signalfd.h linux/aio_abi.h linux/fs.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF +fi +ac_fn_c_check_header_compile "$LINENO" "port.h" "ac_cv_header_port_h" "$ac_includes_default" +if test "x$ac_cv_header_port_h" = xyes +then : + printf "%s\n" "#define HAVE_PORT_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "poll.h" "ac_cv_header_poll_h" "$ac_includes_default" +if test "x$ac_cv_header_poll_h" = xyes +then : + printf "%s\n" "#define HAVE_POLL_H 1" >>confdefs.h -done +fi +ac_fn_c_check_header_compile "$LINENO" "sys/timerfd.h" "ac_cv_header_sys_timerfd_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_timerfd_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_TIMERFD_H 1" >>confdefs.h +fi -for ac_func in inotify_init epoll_ctl kqueue port_create poll select eventfd signalfd -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +ac_fn_c_check_header_compile "$LINENO" "sys/select.h" "ac_cv_header_sys_select_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_select_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_SELECT_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "sys/eventfd.h" "ac_cv_header_sys_eventfd_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_eventfd_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_EVENTFD_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "sys/signalfd.h" "ac_cv_header_sys_signalfd_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_signalfd_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_SIGNALFD_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "linux/aio_abi.h" "ac_cv_header_linux_aio_abi_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_aio_abi_h" = xyes +then : + printf "%s\n" "#define HAVE_LINUX_AIO_ABI_H 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "linux/fs.h" "ac_cv_header_linux_fs_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_fs_h" = xyes +then : + printf "%s\n" "#define HAVE_LINUX_FS_H 1" >>confdefs.h fi -done -for ac_func in clock_gettime +ac_fn_c_check_func "$LINENO" "inotify_init" "ac_cv_func_inotify_init" +if test "x$ac_cv_func_inotify_init" = xyes +then : + printf "%s\n" "#define HAVE_INOTIFY_INIT 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "epoll_ctl" "ac_cv_func_epoll_ctl" +if test "x$ac_cv_func_epoll_ctl" = xyes +then : + printf "%s\n" "#define HAVE_EPOLL_CTL 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "kqueue" "ac_cv_func_kqueue" +if test "x$ac_cv_func_kqueue" = xyes +then : + printf "%s\n" "#define HAVE_KQUEUE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "port_create" "ac_cv_func_port_create" +if test "x$ac_cv_func_port_create" = xyes +then : + printf "%s\n" "#define HAVE_PORT_CREATE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "poll" "ac_cv_func_poll" +if test "x$ac_cv_func_poll" = xyes +then : + printf "%s\n" "#define HAVE_POLL 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "select" "ac_cv_func_select" +if test "x$ac_cv_func_select" = xyes +then : + printf "%s\n" "#define HAVE_SELECT 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "eventfd" "ac_cv_func_eventfd" +if test "x$ac_cv_func_eventfd" = xyes +then : + printf "%s\n" "#define HAVE_EVENTFD 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "signalfd" "ac_cv_func_signalfd" +if test "x$ac_cv_func_signalfd" = xyes +then : + printf "%s\n" "#define HAVE_SIGNALFD 1" >>confdefs.h + +fi + + + + for ac_func in clock_gettime do : ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime" -if test "x$ac_cv_func_clock_gettime" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_CLOCK_GETTIME 1 -_ACEOF +if test "x$ac_cv_func_clock_gettime" = xyes +then : + printf "%s\n" "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h -else +else $as_nop if test $(uname) = Linux; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime syscall" >&5 -$as_echo_n "checking for clock_gettime syscall... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for clock_gettime syscall" >&5 +printf %s "checking for clock_gettime syscall... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <unistd.h> #include <sys/syscall.h> #include <time.h> int -main () +main (void) { struct timespec ts; int status = syscall (SYS_clock_gettime, CLOCK_REALTIME, &ts) ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_have_clock_syscall=1 -$as_echo "#define HAVE_CLOCK_SYSCALL 1" >>confdefs.h +printf "%s\n" "#define HAVE_CLOCK_SYSCALL 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi if test -z "$LIBEV_M4_AVOID_LIBRT" && test -z "$ac_have_clock_syscall"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5 -$as_echo_n "checking for clock_gettime in -lrt... " >&6; } -if ${ac_cv_lib_rt_clock_gettime+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5 +printf %s "checking for clock_gettime in -lrt... " >&6; } +if test ${ac_cv_lib_rt_clock_gettime+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lrt $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12498,72 +13306,66 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char clock_gettime (); int -main () +main (void) { return clock_gettime (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_rt_clock_gettime=yes -else +else $as_nop ac_cv_lib_rt_clock_gettime=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5 -$as_echo "$ac_cv_lib_rt_clock_gettime" >&6; } -if test "x$ac_cv_lib_rt_clock_gettime" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBRT 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5 +printf "%s\n" "$ac_cv_lib_rt_clock_gettime" >&6; } +if test "x$ac_cv_lib_rt_clock_gettime" = xyes +then : + printf "%s\n" "#define HAVE_LIBRT 1" >>confdefs.h LIBS="-lrt $LIBS" fi unset ac_cv_func_clock_gettime - for ac_func in clock_gettime -do : - ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime" -if test "x$ac_cv_func_clock_gettime" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_CLOCK_GETTIME 1 -_ACEOF + ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime" +if test "x$ac_cv_func_clock_gettime" = xyes +then : + printf "%s\n" "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h fi -done fi fi + done -for ac_func in nanosleep + for ac_func in nanosleep do : ac_fn_c_check_func "$LINENO" "nanosleep" "ac_cv_func_nanosleep" -if test "x$ac_cv_func_nanosleep" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NANOSLEEP 1 -_ACEOF +if test "x$ac_cv_func_nanosleep" = xyes +then : + printf "%s\n" "#define HAVE_NANOSLEEP 1" >>confdefs.h -else +else $as_nop if test -z "$LIBEV_M4_AVOID_LIBRT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nanosleep in -lrt" >&5 -$as_echo_n "checking for nanosleep in -lrt... " >&6; } -if ${ac_cv_lib_rt_nanosleep+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for nanosleep in -lrt" >&5 +printf %s "checking for nanosleep in -lrt... " >&6; } +if test ${ac_cv_lib_rt_nanosleep+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lrt $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12572,62 +13374,56 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char nanosleep (); int -main () +main (void) { return nanosleep (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_rt_nanosleep=yes -else +else $as_nop ac_cv_lib_rt_nanosleep=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_nanosleep" >&5 -$as_echo "$ac_cv_lib_rt_nanosleep" >&6; } -if test "x$ac_cv_lib_rt_nanosleep" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBRT 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_nanosleep" >&5 +printf "%s\n" "$ac_cv_lib_rt_nanosleep" >&6; } +if test "x$ac_cv_lib_rt_nanosleep" = xyes +then : + printf "%s\n" "#define HAVE_LIBRT 1" >>confdefs.h LIBS="-lrt $LIBS" fi unset ac_cv_func_nanosleep - for ac_func in nanosleep -do : - ac_fn_c_check_func "$LINENO" "nanosleep" "ac_cv_func_nanosleep" -if test "x$ac_cv_func_nanosleep" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_NANOSLEEP 1 -_ACEOF + ac_fn_c_check_func "$LINENO" "nanosleep" "ac_cv_func_nanosleep" +if test "x$ac_cv_func_nanosleep" = xyes +then : + printf "%s\n" "#define HAVE_NANOSLEEP 1" >>confdefs.h fi -done fi fi -done +done ac_fn_c_check_type "$LINENO" "__kernel_rwf_t" "ac_cv_type___kernel_rwf_t" "#include <linux/fs.h> " -if test "x$ac_cv_type___kernel_rwf_t" = xyes; then : +if test "x$ac_cv_type___kernel_rwf_t" = xyes +then : -$as_echo "#define HAVE_KERNEL_RWF_T 1" >>confdefs.h +printf "%s\n" "#define HAVE_KERNEL_RWF_T 1" >>confdefs.h fi @@ -12636,11 +13432,12 @@ if test -z "$LIBEV_M4_AVOID_LIBM"; then LIBM=m fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing floor" >&5 -$as_echo_n "checking for library containing floor... " >&6; } -if ${ac_cv_search_floor+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing floor" >&5 +printf %s "checking for library containing floor... " >&6; } +if test ${ac_cv_search_floor+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12648,49 +13445,51 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char floor (); int -main () +main (void) { return floor (); ; return 0; } _ACEOF -for ac_lib in '' $LIBM; do +for ac_lib in '' $LIBM +do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_c_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO" +then : ac_cv_search_floor=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext - if ${ac_cv_search_floor+:} false; then : + if test ${ac_cv_search_floor+y} +then : break fi done -if ${ac_cv_search_floor+:} false; then : +if test ${ac_cv_search_floor+y} +then : -else +else $as_nop ac_cv_search_floor=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_floor" >&5 -$as_echo "$ac_cv_search_floor" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_floor" >&5 +printf "%s\n" "$ac_cv_search_floor" >&6; } ac_res=$ac_cv_search_floor -if test "$ac_res" != no; then : +if test "$ac_res" != no +then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -$as_echo "#define HAVE_FLOOR 1" >>confdefs.h +printf "%s\n" "#define HAVE_FLOOR 1" >>confdefs.h fi @@ -12710,11 +13509,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -12722,11 +13522,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -12737,11 +13541,11 @@ fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -12750,11 +13554,12 @@ ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else @@ -12762,11 +13567,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -12777,11 +13586,11 @@ fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_CC" = x; then @@ -12789,8 +13598,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC @@ -12803,11 +13612,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -12815,11 +13625,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -12830,11 +13644,11 @@ fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -12843,11 +13657,12 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -12856,15 +13671,19 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -12880,18 +13699,18 @@ # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -12902,11 +13721,12 @@ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else @@ -12914,11 +13734,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -12929,11 +13753,11 @@ fi CC=$ac_cv_prog_CC if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -12946,11 +13770,12 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else @@ -12958,11 +13783,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -12973,11 +13802,11 @@ fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -12989,34 +13818,138 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. +set dummy ${ac_tool_prefix}clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi +else + CC="$ac_cv_prog_CC" fi fi -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 -for ac_option in --version -v -V -qversion; do +for ac_option in --version -v -V -qversion -version; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -13026,20 +13959,21 @@ cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { #ifndef __GNUC__ choke me @@ -13049,29 +13983,33 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_compiler_gnu=yes -else +else $as_nop ac_compiler_gnu=no fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi -ac_test_CFLAGS=${CFLAGS+set} +ac_test_CFLAGS=${CFLAGS+y} ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no @@ -13080,57 +14018,60 @@ /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_g=yes -else +else $as_nop CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : -else +else $as_nop ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_g=yes fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then @@ -13145,94 +14086,144 @@ CFLAGS= fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include <stdarg.h> -#include <stdio.h> -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return pi; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array '\x00' == 0 ? 1 : -1; +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_arrayFOO(a) == 'x' ? 1 : -1; +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv0 || f (e, argv, 1) != argv1; - ; - return 0; -} +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program _ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : + if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_c89=$ac_arg fi -rm -f core conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext conftest.beam test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC - fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +fi fi ac_ext=c @@ -13241,21 +14232,23 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_ext=c + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +printf %s "checking whether $CC understands -c and -o together... " >&6; } +if test ${am_cv_prog_cc_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -13283,8 +14276,8 @@ rm -f core conftest* unset am_i fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. @@ -13302,11 +14295,12 @@ depcc="$CC" am_compiler_list= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CC_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For @@ -13413,8 +14407,8 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if @@ -13433,11 +14427,12 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else @@ -13445,11 +14440,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -13460,17 +14459,149 @@ fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi test -n "$AWK" && break done +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +printf %s "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test ${ac_cv_prog_CPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CC needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <limits.h> + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +printf "%s\n" "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <limits.h> + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + @@ -13487,11 +14618,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC_FOR_BUILD+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC_FOR_BUILD+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC_FOR_BUILD"; then ac_cv_prog_CC_FOR_BUILD="$CC_FOR_BUILD" # Let the user override the test. else @@ -13499,11 +14631,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC_FOR_BUILD="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -13514,11 +14650,11 @@ fi CC_FOR_BUILD=$ac_cv_prog_CC_FOR_BUILD if test -n "$CC_FOR_BUILD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5 -$as_echo "$CC_FOR_BUILD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5 +printf "%s\n" "$CC_FOR_BUILD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -13527,11 +14663,12 @@ ac_ct_CC_FOR_BUILD=$CC_FOR_BUILD # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC_FOR_BUILD+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC_FOR_BUILD+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CC_FOR_BUILD"; then ac_cv_prog_ac_ct_CC_FOR_BUILD="$ac_ct_CC_FOR_BUILD" # Let the user override the test. else @@ -13539,11 +14676,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC_FOR_BUILD="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -13554,11 +14695,11 @@ fi ac_ct_CC_FOR_BUILD=$ac_cv_prog_ac_ct_CC_FOR_BUILD if test -n "$ac_ct_CC_FOR_BUILD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC_FOR_BUILD" >&5 -$as_echo "$ac_ct_CC_FOR_BUILD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC_FOR_BUILD" >&5 +printf "%s\n" "$ac_ct_CC_FOR_BUILD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test "x$ac_ct_CC_FOR_BUILD" = x; then @@ -13566,8 +14707,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with build triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with build triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with build triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with build triplet" >&2;} ac_tool_warned=yes ;; esac CC_FOR_BUILD=$ac_ct_CC_FOR_BUILD @@ -13580,11 +14721,12 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC_FOR_BUILD+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC_FOR_BUILD+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC_FOR_BUILD"; then ac_cv_prog_CC_FOR_BUILD="$CC_FOR_BUILD" # Let the user override the test. else @@ -13592,11 +14734,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC_FOR_BUILD="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -13607,11 +14753,11 @@ fi CC_FOR_BUILD=$ac_cv_prog_CC_FOR_BUILD if test -n "$CC_FOR_BUILD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5 -$as_echo "$CC_FOR_BUILD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5 +printf "%s\n" "$CC_FOR_BUILD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -13620,11 +14766,12 @@ if test -z "$CC_FOR_BUILD"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC_FOR_BUILD+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC_FOR_BUILD+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC_FOR_BUILD"; then ac_cv_prog_CC_FOR_BUILD="$CC_FOR_BUILD" # Let the user override the test. else @@ -13633,15 +14780,19 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC_FOR_BUILD="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -13657,18 +14808,18 @@ # However, it has the same basename, so the bogon will be chosen # first if we set CC_FOR_BUILD to just the basename; use the full file name. shift - ac_cv_prog_CC_FOR_BUILD="$as_dir/$ac_word${1+' '}$@" + ac_cv_prog_CC_FOR_BUILD="$as_dir$ac_word${1+' '}$@" fi fi fi fi CC_FOR_BUILD=$ac_cv_prog_CC_FOR_BUILD if test -n "$CC_FOR_BUILD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5 -$as_echo "$CC_FOR_BUILD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5 +printf "%s\n" "$CC_FOR_BUILD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -13679,11 +14830,12 @@ do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC_FOR_BUILD+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC_FOR_BUILD+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$CC_FOR_BUILD"; then ac_cv_prog_CC_FOR_BUILD="$CC_FOR_BUILD" # Let the user override the test. else @@ -13691,11 +14843,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_CC_FOR_BUILD="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -13706,11 +14862,11 @@ fi CC_FOR_BUILD=$ac_cv_prog_CC_FOR_BUILD if test -n "$CC_FOR_BUILD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5 -$as_echo "$CC_FOR_BUILD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5 +printf "%s\n" "$CC_FOR_BUILD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -13723,11 +14879,12 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC_FOR_BUILD+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC_FOR_BUILD+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$ac_ct_CC_FOR_BUILD"; then ac_cv_prog_ac_ct_CC_FOR_BUILD="$ac_ct_CC_FOR_BUILD" # Let the user override the test. else @@ -13735,11 +14892,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC_FOR_BUILD="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -13750,11 +14911,11 @@ fi ac_ct_CC_FOR_BUILD=$ac_cv_prog_ac_ct_CC_FOR_BUILD if test -n "$ac_ct_CC_FOR_BUILD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC_FOR_BUILD" >&5 -$as_echo "$ac_ct_CC_FOR_BUILD" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC_FOR_BUILD" >&5 +printf "%s\n" "$ac_ct_CC_FOR_BUILD" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -13766,8 +14927,8 @@ else case $cross_compiling:$ac_tool_warned in yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with build triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with build triplet" >&2;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with build triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with build triplet" >&2;} ac_tool_warned=yes ;; esac CC_FOR_BUILD=$ac_ct_CC_FOR_BUILD @@ -13775,25 +14936,129 @@ fi fi +if test -z "$CC_FOR_BUILD"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. +set dummy ${ac_tool_prefix}clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC_FOR_BUILD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC_FOR_BUILD"; then + ac_cv_prog_CC_FOR_BUILD="$CC_FOR_BUILD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC_FOR_BUILD="${ac_tool_prefix}clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS +fi +fi +CC_FOR_BUILD=$ac_cv_prog_CC_FOR_BUILD +if test -n "$CC_FOR_BUILD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5 +printf "%s\n" "$CC_FOR_BUILD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC_FOR_BUILD"; then + ac_ct_CC_FOR_BUILD=$CC_FOR_BUILD + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC_FOR_BUILD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC_FOR_BUILD"; then + ac_cv_prog_ac_ct_CC_FOR_BUILD="$ac_ct_CC_FOR_BUILD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC_FOR_BUILD="clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC_FOR_BUILD=$ac_cv_prog_ac_ct_CC_FOR_BUILD +if test -n "$ac_ct_CC_FOR_BUILD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC_FOR_BUILD" >&5 +printf "%s\n" "$ac_ct_CC_FOR_BUILD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi -test -z "$CC_FOR_BUILD" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + if test "x$ac_ct_CC_FOR_BUILD" = x; then + CC_FOR_BUILD="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with build triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with build triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC_FOR_BUILD=$ac_ct_CC_FOR_BUILD + fi +else + CC_FOR_BUILD="$ac_cv_prog_CC_FOR_BUILD" +fi + +fi + + +test -z "$CC_FOR_BUILD" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_build_compile ac_compiler=$2 -for ac_option in --version -v -V -qversion; do +for ac_option in --version -v -V -qversion -version; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 +printf "%s\n" "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then @@ -13803,20 +15068,21 @@ cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { #ifndef __GNUC__ choke me @@ -13826,29 +15092,33 @@ return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_compiler_gnu=yes -else +else $as_nop ac_compiler_gnu=no fi -rm -f core conftest.err conftest.$ac_build_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_build_objext conftest.beam conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi -ac_test_CFLAGS=${CFLAGS_FOR_BUILD+set} +ac_test_CFLAGS=${CFLAGS_FOR_BUILD+y} ac_save_CFLAGS=$CFLAGS_FOR_BUILD -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC_FOR_BUILD accepts -g" >&5 -$as_echo_n "checking whether $CC_FOR_BUILD accepts -g... " >&6; } -if ${ac_cv_build_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC_FOR_BUILD accepts -g" >&5 +printf %s "checking whether $CC_FOR_BUILD accepts -g... " >&6; } +if test ${ac_cv_build_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_build_prog_cc_g=no @@ -13857,57 +15127,60 @@ /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_build_prog_cc_g=yes -else +else $as_nop CFLAGS_FOR_BUILD="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : -else +else $as_nop ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS_FOR_BUILD="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; return 0; } _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : +if ac_fn_c_try_compile "$LINENO" +then : ac_cv_build_prog_cc_g=yes fi -rm -f core conftest.err conftest.$ac_build_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_build_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_build_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_build_objext conftest.beam conftest.$ac_ext fi -rm -f core conftest.err conftest.$ac_build_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_build_objext conftest.beam conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build_prog_cc_g" >&5 -$as_echo "$ac_cv_build_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_build_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; then CFLAGS_FOR_BUILD=$ac_save_CFLAGS elif test $ac_cv_build_prog_cc_g = yes; then if test "$GCC" = yes; then @@ -13922,94 +15195,144 @@ CFLAGS_FOR_BUILD= fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC_FOR_BUILD option to accept ISO C89" >&5 -$as_echo_n "checking for $CC_FOR_BUILD option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC_FOR_BUILD option to enable C11 features" >&5 +printf %s "checking for $CC_FOR_BUILD option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no ac_save_CC=$CC_FOR_BUILD cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include <stdarg.h> -#include <stdio.h> -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return pi; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array '\x00' == 0 ? 1 : -1; +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC_FOR_BUILD="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_build_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC_FOR_BUILD=$ac_save_CC +fi -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_arrayFOO(a) == 'x' ? 1 : -1; +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC_FOR_BUILD="$CC_FOR_BUILD $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC_FOR_BUILD option to enable C99 features" >&5 +printf %s "checking for $CC_FOR_BUILD option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC_FOR_BUILD +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC_FOR_BUILD="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_build_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC_FOR_BUILD=$ac_save_CC +fi -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv0 || f (e, argv, 1) != argv1; - ; - return 0; -} +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC_FOR_BUILD="$CC_FOR_BUILD $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC_FOR_BUILD option to enable C89 features" >&5 +printf %s "checking for $CC_FOR_BUILD option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC_FOR_BUILD +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program _ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC_FOR_BUILD="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : + if ac_fn_c_try_compile "$LINENO" +then : ac_cv_prog_cc_c89=$ac_arg fi -rm -f core conftest.err conftest.$ac_build_objext +rm -f core conftest.err conftest.$ac_build_objext conftest.beam test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC_FOR_BUILD=$ac_save_CC - fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC_FOR_BUILD="$CC_FOR_BUILD $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC_FOR_BUILD="$CC_FOR_BUILD $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +fi fi ac_ext=c @@ -14018,21 +15341,23 @@ ac_build_link='$CC_FOR_BUILD -o conftest$ac_build_exeext $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_ext=c + + ac_ext=c ac_build_cpp='$CPP_FOR_BUILD $CPPFLAGS_FOR_BUILD' ac_build_compile='$CC_FOR_BUILD -c $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD conftest.$ac_ext >&5' ac_build_link='$CC_FOR_BUILD -o conftest$ac_build_exeext $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC_FOR_BUILD understands -c and -o together" >&5 -$as_echo_n "checking whether $CC_FOR_BUILD understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC_FOR_BUILD understands -c and -o together" >&5 +printf %s "checking whether $CC_FOR_BUILD understands -c and -o together... " >&6; } +if test ${am_cv_prog_cc_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int -main () +main (void) { ; @@ -14060,8 +15385,8 @@ rm -f core conftest* unset am_i fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. @@ -14079,11 +15404,12 @@ depcc="$CC_FOR_BUILD" am_compiler_list= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CC_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For @@ -14190,8 +15516,8 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if @@ -14210,40 +15536,36 @@ ac_build_compile='$CC_FOR_BUILD -c $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD conftest.$ac_ext >&5' ac_build_link='$CC_FOR_BUILD -o conftest$ac_build_exeext $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +printf %s "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP_FOR_BUILD" && test -d "$CPP_FOR_BUILD"; then CPP_FOR_BUILD= fi if test -z "$CPP_FOR_BUILD"; then - if ${ac_cv_build_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP_FOR_BUILD in "$CC_FOR_BUILD -E" "$CC_FOR_BUILD -E -traditional-cpp" "/lib/cpp" + if test ${ac_cv_build_prog_CPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CC needs to be expanded + for CPP_FOR_BUILD in "$CC_FOR_BUILD -E" "$CC_FOR_BUILD -E -traditional-cpp" cpp /lib/cpp do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif +#include <limits.h> Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : -else +else $as_nop # Broken: fails on valid input. continue fi @@ -14255,10 +15577,11 @@ /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else +else $as_nop # Passes both tests. ac_preproc_ok=: break @@ -14268,7 +15591,8 @@ done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +if $ac_preproc_ok +then : break fi @@ -14280,29 +15604,24 @@ else ac_cv_build_prog_CPP=$CPP_FOR_BUILD fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP_FOR_BUILD" >&5 -$as_echo "$CPP_FOR_BUILD" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP_FOR_BUILD" >&5 +printf "%s\n" "$CPP_FOR_BUILD" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#endif +#include <limits.h> Syntax error _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : -else +else $as_nop # Broken: fails on valid input. continue fi @@ -14314,10 +15633,11 @@ /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : +if ac_fn_c_try_cpp "$LINENO" +then : # Broken: success on invalid input. continue -else +else $as_nop # Passes both tests. ac_preproc_ok=: break @@ -14327,11 +15647,12 @@ done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : +if $ac_preproc_ok +then : -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP_FOR_BUILD\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi @@ -14354,292 +15675,111 @@ echo . echo Checking for header files -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <string.h> - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> +# Autoupdate added the next two lines to ensure that your configure +# script's behavior did not change. They are probably safe to remove. -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <ctype.h> -#include <stdlib.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 -$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } -if ${ac_cv_header_time+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <sys/types.h> -#include <sys/time.h> -#include <time.h> +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_time=yes + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi else - ac_cv_header_time=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cv_path_EGREP=$EGREP fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 -$as_echo "$ac_cv_header_time" >&6; } -if test $ac_cv_header_time = yes; then - -$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h + fi fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 -$as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if ${ac_cv_c_const+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - -#ifndef __cplusplus - /* Ultrix mips cc rejects this sort of thing. */ - typedef int charset2; - const charset cs = { 0, 0 }; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this sort of thing. */ - char tx; - char *t = &tx; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x = {25, 17}; - const int *foo = &x0; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap3; } bx; - struct s *b = &bx; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs0 && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_const=yes -else - ac_cv_c_const=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 -$as_echo "$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then -$as_echo "#define const /**/" >>confdefs.h -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 -$as_echo_n "checking for inline... " >&6; } -if ${ac_cv_c_inline+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __cplusplus -typedef int foo_t; -static $ac_kw foo_t static_foo () {return 0; } -$ac_kw foo_t foo () {return 0; } -#endif +# Obsolete code to be removed. +if test $ac_cv_header_sys_time_h = yes; then -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_inline=$ac_kw -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test "$ac_cv_c_inline" != no && break -done +printf "%s\n" "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 -$as_echo "$ac_cv_c_inline" >&6; } +# End of obsolete code. -case $ac_cv_c_inline in - inline | yes) ;; - *) - case $ac_cv_c_inline in - no) ac_val=;; - *) ac_val=$ac_cv_c_inline;; - esac - cat >>confdefs.h <<_ACEOF -#ifndef __cplusplus -#define inline $ac_val -#endif -_ACEOF - ;; -esac # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3(sizeof (unsigned char)) >= 0;'. # This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned int" >&5 -$as_echo_n "checking size of unsigned int... " >&6; } -if ${ac_cv_sizeof_unsigned_int+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned int))" "ac_cv_sizeof_unsigned_int" "$ac_includes_default"; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of unsigned int" >&5 +printf %s "checking size of unsigned int... " >&6; } +if test ${ac_cv_sizeof_unsigned_int+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned int))" "ac_cv_sizeof_unsigned_int" "$ac_includes_default" +then : -else +else $as_nop if test "$ac_cv_type_unsigned_int" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (unsigned int) See \`config.log' for more details" "$LINENO" 5; } else @@ -14648,31 +15788,31 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_int" >&5 -$as_echo "$ac_cv_sizeof_unsigned_int" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_int" >&5 +printf "%s\n" "$ac_cv_sizeof_unsigned_int" >&6; } -cat >>confdefs.h <<_ACEOF -#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int -_ACEOF +printf "%s\n" "#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int" >>confdefs.h # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3(sizeof (unsigned char)) >= 0;'. # This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned long" >&5 -$as_echo_n "checking size of unsigned long... " >&6; } -if ${ac_cv_sizeof_unsigned_long+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long))" "ac_cv_sizeof_unsigned_long" "$ac_includes_default"; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of unsigned long" >&5 +printf %s "checking size of unsigned long... " >&6; } +if test ${ac_cv_sizeof_unsigned_long+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned long))" "ac_cv_sizeof_unsigned_long" "$ac_includes_default" +then : -else +else $as_nop if test "$ac_cv_type_unsigned_long" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (unsigned long) See \`config.log' for more details" "$LINENO" 5; } else @@ -14681,116 +15821,176 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long" >&5 -$as_echo "$ac_cv_sizeof_unsigned_long" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_long" >&5 +printf "%s\n" "$ac_cv_sizeof_unsigned_long" >&6; } -cat >>confdefs.h <<_ACEOF -#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long +printf "%s\n" "#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long" >>confdefs.h + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5 +printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; } +if test ${ac_cv_c_undeclared_builtin_options+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_CFLAGS=$CFLAGS + ac_cv_c_undeclared_builtin_options='cannot detect' + for ac_arg in '' -fno-builtin; do + CFLAGS="$ac_save_CFLAGS $ac_arg" + # This test program should *not* compile successfully. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +(void) strchr; + ; + return 0; +} _ACEOF +if ac_fn_c_try_compile "$LINENO" +then : +else $as_nop + # This test program should compile successfully. + # No library function is consistently available on + # freestanding implementations, so test against a dummy + # declaration. Include always-available headers on the + # off chance that they somehow elicit warnings. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <float.h> +#include <limits.h> +#include <stdarg.h> +#include <stddef.h> +extern void ac_decl (int, char *); +int +main (void) +{ +(void) ac_decl (0, (char *) 0); + (void) ac_decl; -ac_fn_c_check_decl "$LINENO" "AUDIT_FEATURE_VERSION" "ac_cv_have_decl_AUDIT_FEATURE_VERSION" "#include <linux/audit.h> -" -if test "x$ac_cv_have_decl_AUDIT_FEATURE_VERSION" = xyes; then : + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + if test x"$ac_arg" = x +then : + ac_cv_c_undeclared_builtin_options='none needed' +else $as_nop + ac_cv_c_undeclared_builtin_options=$ac_arg +fi + break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + done + CFLAGS=$ac_save_CFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5 +printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; } + case $ac_cv_c_undeclared_builtin_options in #( + 'cannot detect') : + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot make $CC report undeclared builtins +See \`config.log' for more details" "$LINENO" 5; } ;; #( + 'none needed') : + ac_c_undeclared_builtin_options='' ;; #( + *) : + ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;; +esac + +ac_fn_check_decl "$LINENO" "AUDIT_FEATURE_VERSION" "ac_cv_have_decl_AUDIT_FEATURE_VERSION" "#include <linux/audit.h> +" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_AUDIT_FEATURE_VERSION" = xyes +then : ac_have_decl=1 -else +else $as_nop ac_have_decl=0 fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_AUDIT_FEATURE_VERSION $ac_have_decl -_ACEOF +printf "%s\n" "#define HAVE_DECL_AUDIT_FEATURE_VERSION $ac_have_decl" >>confdefs.h ac_fn_c_check_member "$LINENO" "struct audit_status" "feature_bitmap" "ac_cv_member_struct_audit_status_feature_bitmap" "#include <linux/audit.h> " -if test "x$ac_cv_member_struct_audit_status_feature_bitmap" = xyes; then : +if test "x$ac_cv_member_struct_audit_status_feature_bitmap" = xyes +then : -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_AUDIT_STATUS_FEATURE_BITMAP 1 -_ACEOF +printf "%s\n" "#define HAVE_STRUCT_AUDIT_STATUS_FEATURE_BITMAP 1" >>confdefs.h fi -ac_fn_c_check_decl "$LINENO" "AUDIT_VERSION_BACKLOG_WAIT_TIME" "ac_cv_have_decl_AUDIT_VERSION_BACKLOG_WAIT_TIME" "#include <linux/audit.h> -" -if test "x$ac_cv_have_decl_AUDIT_VERSION_BACKLOG_WAIT_TIME" = xyes; then : +ac_fn_check_decl "$LINENO" "AUDIT_VERSION_BACKLOG_WAIT_TIME" "ac_cv_have_decl_AUDIT_VERSION_BACKLOG_WAIT_TIME" "#include <linux/audit.h> +" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_AUDIT_VERSION_BACKLOG_WAIT_TIME" = xyes +then : ac_have_decl=1 -else +else $as_nop ac_have_decl=0 fi +printf "%s\n" "#define HAVE_DECL_AUDIT_VERSION_BACKLOG_WAIT_TIME $ac_have_decl" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_AUDIT_VERSION_BACKLOG_WAIT_TIME $ac_have_decl -_ACEOF - -ac_fn_c_check_decl "$LINENO" "AUDIT_STATUS_BACKLOG_WAIT_TIME" "ac_cv_have_decl_AUDIT_STATUS_BACKLOG_WAIT_TIME" "#include <linux/audit.h> -" -if test "x$ac_cv_have_decl_AUDIT_STATUS_BACKLOG_WAIT_TIME" = xyes; then : +ac_fn_check_decl "$LINENO" "AUDIT_STATUS_BACKLOG_WAIT_TIME" "ac_cv_have_decl_AUDIT_STATUS_BACKLOG_WAIT_TIME" "#include <linux/audit.h> +" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_AUDIT_STATUS_BACKLOG_WAIT_TIME" = xyes +then : ac_have_decl=1 -else +else $as_nop ac_have_decl=0 fi +printf "%s\n" "#define HAVE_DECL_AUDIT_STATUS_BACKLOG_WAIT_TIME $ac_have_decl" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_AUDIT_STATUS_BACKLOG_WAIT_TIME $ac_have_decl -_ACEOF - -ac_fn_c_check_decl "$LINENO" "AUDIT_STATUS_BACKLOG_WAIT_TIME_ACTUAL" "ac_cv_have_decl_AUDIT_STATUS_BACKLOG_WAIT_TIME_ACTUAL" "#include <linux/audit.h> -" -if test "x$ac_cv_have_decl_AUDIT_STATUS_BACKLOG_WAIT_TIME_ACTUAL" = xyes; then : +ac_fn_check_decl "$LINENO" "AUDIT_STATUS_BACKLOG_WAIT_TIME_ACTUAL" "ac_cv_have_decl_AUDIT_STATUS_BACKLOG_WAIT_TIME_ACTUAL" "#include <linux/audit.h> +" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_AUDIT_STATUS_BACKLOG_WAIT_TIME_ACTUAL" = xyes +then : ac_have_decl=1 -else +else $as_nop ac_have_decl=0 fi +printf "%s\n" "#define HAVE_DECL_AUDIT_STATUS_BACKLOG_WAIT_TIME_ACTUAL $ac_have_decl" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_AUDIT_STATUS_BACKLOG_WAIT_TIME_ACTUAL $ac_have_decl -_ACEOF - -ac_fn_c_check_decl "$LINENO" "ADDR_NO_RANDOMIZE" "ac_cv_have_decl_ADDR_NO_RANDOMIZE" "#include <sys/personality.h> -" -if test "x$ac_cv_have_decl_ADDR_NO_RANDOMIZE" = xyes; then : +ac_fn_check_decl "$LINENO" "ADDR_NO_RANDOMIZE" "ac_cv_have_decl_ADDR_NO_RANDOMIZE" "#include <sys/personality.h> +" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_ADDR_NO_RANDOMIZE" = xyes +then : ac_have_decl=1 -else +else $as_nop ac_have_decl=0 fi +printf "%s\n" "#define HAVE_DECL_ADDR_NO_RANDOMIZE $ac_have_decl" >>confdefs.h -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_ADDR_NO_RANDOMIZE $ac_have_decl -_ACEOF - -for ac_func in posix_fallocate -do : - ac_fn_c_check_func "$LINENO" "posix_fallocate" "ac_cv_func_posix_fallocate" -if test "x$ac_cv_func_posix_fallocate" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_POSIX_FALLOCATE 1 -_ACEOF +ac_fn_c_check_func "$LINENO" "posix_fallocate" "ac_cv_func_posix_fallocate" +if test "x$ac_cv_func_posix_fallocate" = xyes +then : + printf "%s\n" "#define HAVE_POSIX_FALLOCATE 1" >>confdefs.h fi -done ac_fn_c_check_func "$LINENO" "signalfd" "ac_cv_func_signalfd" -if test "x$ac_cv_func_signalfd" = xyes; then : +if test "x$ac_cv_func_signalfd" = xyes +then : -else +else $as_nop as_fn_error $? "The signalfd system call is necessary for auditd" "$LINENO" 5 fi -for ac_func in rawmemchr -do : - ac_fn_c_check_func "$LINENO" "rawmemchr" "ac_cv_func_rawmemchr" -if test "x$ac_cv_func_rawmemchr" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_RAWMEMCHR 1 -_ACEOF +ac_fn_c_check_func "$LINENO" "rawmemchr" "ac_cv_func_rawmemchr" +if test "x$ac_cv_func_rawmemchr" = xyes +then : + printf "%s\n" "#define HAVE_RAWMEMCHR 1" >>confdefs.h fi -done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14799,18 +15999,43 @@ #include <string.h> int main() { (void) strndupa("test", 10); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : -$as_echo "#define HAVE_STRNDUPA 1" >>confdefs.h +printf "%s\n" "#define HAVE_STRNDUPA 1" >>confdefs.h fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing pthread_yield" >&5 -$as_echo_n "checking for library containing pthread_yield... " >&6; } -if ${ac_cv_search_pthread_yield+:} false; then : - $as_echo_n "(cached) " >&6 -else + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking __attr_access support" >&5 +printf %s "checking __attr_access support... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include <stdio.h> + int audit_fgets(char *buf, size_t blen, int fd) + __attr_access ((__write_only__, 1, 2)); + int main(void) { return 0; } +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ACCESS="yes" +else $as_nop + ACCESS="no" + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ACCESS" >&5 +printf "%s\n" "$ACCESS" >&6; } + +OLDLIBS="$LIBS" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing pthread_yield" >&5 +printf %s "checking for library containing pthread_yield... " >&6; } +if test ${ac_cv_search_pthread_yield+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14818,52 +16043,55 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char pthread_yield (); int -main () +main (void) { return pthread_yield (); ; return 0; } _ACEOF -for ac_lib in '' pthread; do +for ac_lib in '' pthread +do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi - if ac_fn_c_try_link "$LINENO"; then : + if ac_fn_c_try_link "$LINENO" +then : ac_cv_search_pthread_yield=$ac_res fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext - if ${ac_cv_search_pthread_yield+:} false; then : + if test ${ac_cv_search_pthread_yield+y} +then : break fi done -if ${ac_cv_search_pthread_yield+:} false; then : +if test ${ac_cv_search_pthread_yield+y} +then : -else +else $as_nop ac_cv_search_pthread_yield=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_pthread_yield" >&5 -$as_echo "$ac_cv_search_pthread_yield" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_pthread_yield" >&5 +printf "%s\n" "$ac_cv_search_pthread_yield" >&6; } ac_res=$ac_cv_search_pthread_yield -if test "$ac_res" != no; then : +if test "$ac_res" != no +then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" -$as_echo "#define HAVE_PTHREAD_YIELD 1" >>confdefs.h +printf "%s\n" "#define HAVE_PTHREAD_YIELD 1" >>confdefs.h fi +LIBS="$OLDLIBS" ALLWARNS="" ALLDEBUG="-g" @@ -14880,39 +16108,41 @@ esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to create python bindings" >&5 -$as_echo_n "checking whether to create python bindings... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to create python bindings" >&5 +printf %s "checking whether to create python bindings... " >&6; } # Check whether --with-python was given. -if test "${with_python+set}" = set; then : +if test ${with_python+y} +then : withval=$with_python; use_python=$withval -else +else $as_nop use_python=auto fi if test "x$use_python" = xno ; then python_found="no" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } else -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: testing" >&5 -$as_echo "testing" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: testing" >&5 +printf "%s\n" "testing" >&6; } # Try to find a versioned Python2 interpreter, # if not explicitly specified by the user. if test "x$PYTHON" = "x"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for versioned Python2 interpreter" >&5 -$as_echo_n "checking for versioned Python2 interpreter... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 -$as_echo "" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for versioned Python2 interpreter" >&5 +printf %s "checking for versioned Python2 interpreter... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5 +printf "%s\n" "" >&6; } for python2 in python2 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0; do # Extract the first word of "$python2", so it can be a program name with args. set dummy $python2; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PYTHON+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PYTHON+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $PYTHON in \\/* | ?:\\/*) ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. @@ -14922,11 +16152,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -14938,11 +16172,11 @@ fi PYTHON=$ac_cv_path_PYTHON if test -n "$PYTHON"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 -$as_echo "$PYTHON" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 +printf "%s\n" "$PYTHON" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -14965,11 +16199,12 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PYTHON+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PYTHON+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $PYTHON in \\/* | ?:\\/*) ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. @@ -14979,11 +16214,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -14995,11 +16234,11 @@ fi PYTHON=$ac_cv_path_PYTHON if test -n "$PYTHON"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 -$as_echo "$PYTHON" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5 +printf "%s\n" "$PYTHON" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -15012,42 +16251,172 @@ if test "$PYTHON" = :; then - as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5 + as_fn_error $? "no suitable Python interpreter found" "$LINENO" 5 else - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 -$as_echo_n "checking for $am_display_PYTHON version... " >&6; } -if ${am_cv_python_version+:} false; then : - $as_echo_n "(cached) " >&6 -else - am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version:3)"` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5 +printf %s "checking for $am_display_PYTHON version... " >&6; } +if test ${am_cv_python_version+y} +then : + printf %s "(cached) " >&6 +else $as_nop + am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info:2)"` fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 -$as_echo "$am_cv_python_version" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 +printf "%s\n" "$am_cv_python_version" >&6; } PYTHON_VERSION=$am_cv_python_version + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 +printf %s "checking for $am_display_PYTHON platform... " >&6; } +if test ${am_cv_python_platform+y} +then : + printf %s "(cached) " >&6 +else $as_nop + am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"` +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 +printf "%s\n" "$am_cv_python_platform" >&6; } + PYTHON_PLATFORM=$am_cv_python_platform - PYTHON_PREFIX='${prefix}' - PYTHON_EXEC_PREFIX='${exec_prefix}' + if test "x$prefix" = xNONE; then + am__usable_prefix=$ac_default_prefix + else + am__usable_prefix=$prefix + fi + # Allow user to request using sys.* values from Python, + # instead of the GNU $prefix values. +# Check whether --with-python-sys-prefix was given. +if test ${with_python_sys_prefix+y} +then : + withval=$with_python_sys_prefix; am_use_python_sys=: +else $as_nop + am_use_python_sys=false +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5 -$as_echo_n "checking for $am_display_PYTHON platform... " >&6; } -if ${am_cv_python_platform+:} false; then : - $as_echo_n "(cached) " >&6 -else - am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"` + + # Allow user to override whatever the default Python prefix is. + +# Check whether --with-python_prefix was given. +if test ${with_python_prefix+y} +then : + withval=$with_python_prefix; am_python_prefix_subst=$withval + am_cv_python_prefix=$withval + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for explicit $am_display_PYTHON prefix" >&5 +printf %s "checking for explicit $am_display_PYTHON prefix... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_prefix" >&5 +printf "%s\n" "$am_cv_python_prefix" >&6; } +else $as_nop + + if $am_use_python_sys; then + # using python sys.prefix value, not GNU + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python default $am_display_PYTHON prefix" >&5 +printf %s "checking for python default $am_display_PYTHON prefix... " >&6; } +if test ${am_cv_python_prefix+y} +then : + printf %s "(cached) " >&6 +else $as_nop + am_cv_python_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.prefix)"` +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_prefix" >&5 +printf "%s\n" "$am_cv_python_prefix" >&6; } + + case $am_cv_python_prefix in + $am__usable_prefix*) + am__strip_prefix=`echo "$am__usable_prefix" | sed 's|.|.|g'` + am_python_prefix_subst=`echo "$am_cv_python_prefix" | sed "s,^$am__strip_prefix,\\${prefix},"` + ;; + *) + am_python_prefix_subst=$am_cv_python_prefix + ;; + esac + else # using GNU prefix value, not python sys.prefix + am_python_prefix_subst='${prefix}' + am_python_prefix=$am_python_prefix_subst + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU default $am_display_PYTHON prefix" >&5 +printf %s "checking for GNU default $am_display_PYTHON prefix... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_python_prefix" >&5 +printf "%s\n" "$am_python_prefix" >&6; } + fi +fi + + # Substituting python_prefix_subst value. + PYTHON_PREFIX=$am_python_prefix_subst + + + # emacs-page Now do it all over again for Python exec_prefix, but with yet + # another conditional: fall back to regular prefix if that was specified. + +# Check whether --with-python_exec_prefix was given. +if test ${with_python_exec_prefix+y} +then : + withval=$with_python_exec_prefix; am_python_exec_prefix_subst=$withval + am_cv_python_exec_prefix=$withval + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for explicit $am_display_PYTHON exec_prefix" >&5 +printf %s "checking for explicit $am_display_PYTHON exec_prefix... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 +printf "%s\n" "$am_cv_python_exec_prefix" >&6; } +else $as_nop + + # no explicit --with-python_exec_prefix, but if + # --with-python_prefix was given, use its value for python_exec_prefix too. + if test -n "$with_python_prefix" +then : + am_python_exec_prefix_subst=$with_python_prefix + am_cv_python_exec_prefix=$with_python_prefix + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python_prefix-given $am_display_PYTHON exec_prefix" >&5 +printf %s "checking for python_prefix-given $am_display_PYTHON exec_prefix... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 +printf "%s\n" "$am_cv_python_exec_prefix" >&6; } +else $as_nop + + # Set am__usable_exec_prefix whether using GNU or Python values, + # since we use that variable for pyexecdir. + if test "x$exec_prefix" = xNONE; then + am__usable_exec_prefix=$am__usable_prefix + else + am__usable_exec_prefix=$exec_prefix + fi + # + if $am_use_python_sys; then # using python sys.exec_prefix, not GNU + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python default $am_display_PYTHON exec_prefix" >&5 +printf %s "checking for python default $am_display_PYTHON exec_prefix... " >&6; } +if test ${am_cv_python_exec_prefix+y} +then : + printf %s "(cached) " >&6 +else $as_nop + am_cv_python_exec_prefix=`$PYTHON -c "import sys; sys.stdout.write(sys.exec_prefix)"` +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_exec_prefix" >&5 +printf "%s\n" "$am_cv_python_exec_prefix" >&6; } + case $am_cv_python_exec_prefix in + $am__usable_exec_prefix*) + am__strip_prefix=`echo "$am__usable_exec_prefix" | sed 's|.|.|g'` + am_python_exec_prefix_subst=`echo "$am_cv_python_exec_prefix" | sed "s,^$am__strip_prefix,\\${exec_prefix},"` + ;; + *) + am_python_exec_prefix_subst=$am_cv_python_exec_prefix + ;; + esac + else # using GNU $exec_prefix, not python sys.exec_prefix + am_python_exec_prefix_subst='${exec_prefix}' + am_python_exec_prefix=$am_python_exec_prefix_subst + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU default $am_display_PYTHON exec_prefix" >&5 +printf %s "checking for GNU default $am_display_PYTHON exec_prefix... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_python_exec_prefix" >&5 +printf "%s\n" "$am_python_exec_prefix" >&6; } + fi +fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5 -$as_echo "$am_cv_python_platform" >&6; } - PYTHON_PLATFORM=$am_cv_python_platform + # Substituting python_exec_prefix_subst. + PYTHON_EXEC_PREFIX=$am_python_exec_prefix_subst - # Just factor out some code duplication. + + # Factor out some code duplication into this shell variable. am_python_setup_sysconfig="\ import sys # Prefer sysconfig over distutils.sysconfig, for better compatibility @@ -15068,113 +16437,110 @@ pass" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5 -$as_echo_n "checking for $am_display_PYTHON script directory... " >&6; } -if ${am_cv_python_pythondir+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$prefix" = xNONE - then - am_py_prefix=$ac_default_prefix - else - am_py_prefix=$prefix - fi - am_cv_python_pythondir=`$PYTHON -c " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory (pythondir)" >&5 +printf %s "checking for $am_display_PYTHON script directory (pythondir)... " >&6; } +if test ${am_cv_python_pythondir+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$am_cv_python_prefix" = x; then + am_py_prefix=$am__usable_prefix + else + am_py_prefix=$am_cv_python_prefix + fi + am_cv_python_pythondir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: - sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) + sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'}) else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix') sys.stdout.write(sitedir)"` - case $am_cv_python_pythondir in - $am_py_prefix*) - am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` - am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` - ;; - *) - case $am_py_prefix in - /usr|/System*) ;; - *) - am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages - ;; - esac - ;; + # + case $am_cv_python_pythondir in + $am_py_prefix*) + am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` + am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,\\${PYTHON_PREFIX},"` + ;; + *) + case $am_py_prefix in + /usr|/System*) ;; + *) am_cv_python_pythondir="\${PYTHON_PREFIX}/lib/python$PYTHON_VERSION/site-packages" + ;; esac + ;; + esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 -$as_echo "$am_cv_python_pythondir" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5 +printf "%s\n" "$am_cv_python_pythondir" >&6; } pythondir=$am_cv_python_pythondir + pkgpythondir=\${pythondir}/$PACKAGE - pkgpythondir=\${pythondir}/$PACKAGE - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5 -$as_echo_n "checking for $am_display_PYTHON extension module directory... " >&6; } -if ${am_cv_python_pyexecdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$exec_prefix" = xNONE - then - am_py_exec_prefix=$am_py_prefix - else - am_py_exec_prefix=$exec_prefix - fi - am_cv_python_pyexecdir=`$PYTHON -c " + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory (pyexecdir)" >&5 +printf %s "checking for $am_display_PYTHON extension module directory (pyexecdir)... " >&6; } +if test ${am_cv_python_pyexecdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$am_cv_python_exec_prefix" = x; then + am_py_exec_prefix=$am__usable_exec_prefix + else + am_py_exec_prefix=$am_cv_python_exec_prefix + fi + am_cv_python_pyexecdir=`$PYTHON -c " $am_python_setup_sysconfig if can_use_sysconfig: - sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'}) + sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_exec_prefix'}) else: - from distutils import sysconfig - sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix') + from distutils import sysconfig + sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_exec_prefix') sys.stdout.write(sitedir)"` - case $am_cv_python_pyexecdir in - $am_py_exec_prefix*) - am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` - am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` - ;; - *) - case $am_py_exec_prefix in - /usr|/System*) ;; - *) - am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages - ;; - esac - ;; + # + case $am_cv_python_pyexecdir in + $am_py_exec_prefix*) + am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` + am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,\\${PYTHON_EXEC_PREFIX},"` + ;; + *) + case $am_py_exec_prefix in + /usr|/System*) ;; + *) am_cv_python_pyexecdir="\${PYTHON_EXEC_PREFIX}/lib/python$PYTHON_VERSION/site-packages" + ;; esac + ;; + esac fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 -$as_echo "$am_cv_python_pyexecdir" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5 +printf "%s\n" "$am_cv_python_pyexecdir" >&6; } pyexecdir=$am_cv_python_pyexecdir - - pkgpyexecdir=\${pyexecdir}/$PACKAGE + pkgpyexecdir=\${pyexecdir}/$PACKAGE fi - PYINCLUDEDIR=`python${am_cv_python_version} -c "from distutils import sysconfig; print(sysconfig.get_config_var('INCLUDEPY'))"` if test -f ${PYINCLUDEDIR}/Python.h ; then python_found="yes" pybind_dir="python" - { $as_echo "$as_me:${as_lineno-$LINENO}: Python bindings will be built" >&5 -$as_echo "$as_me: Python bindings will be built" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Python bindings will be built" >&5 +printf "%s\n" "$as_me: Python bindings will be built" >&6;} else python_found="no" if test "x$use_python" = xyes ; then as_fn_error $? "Python explicitly requested and python headers were not found" "$LINENO" 5 else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"Python headers not found - python bindings will not be made\"" >&5 -$as_echo "$as_me: WARNING: \"Python headers not found - python bindings will not be made\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Python headers not found - python bindings will not be made\"" >&5 +printf "%s\n" "$as_me: WARNING: \"Python headers not found - python bindings will not be made\"" >&2;} fi fi fi @@ -15188,29 +16554,31 @@ withval="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to create python3 bindings" >&5 -$as_echo_n "checking whether to create python3 bindings... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to create python3 bindings" >&5 +printf %s "checking whether to create python3 bindings... " >&6; } # Check whether --with-python3 was given. -if test "${with_python3+set}" = set; then : +if test ${with_python3+y} +then : withval=$with_python3; use_python3=$withval -else +else $as_nop use_python3=auto fi if test "x$use_python3" = xno ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: investigating" >&5 -$as_echo "investigating" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: investigating" >&5 +printf "%s\n" "investigating" >&6; } # Extract the first word of "python3-config", so it can be a program name with args. set dummy python3-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_use_python3+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_use_python3+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $use_python3 in \\/* | ?:\\/*) ac_cv_path_use_python3="$use_python3" # Let the user override the test with a path. @@ -15220,11 +16588,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_use_python3="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_use_python3="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -15237,11 +16609,11 @@ fi use_python3=$ac_cv_path_use_python3 if test -n "$use_python3"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_python3" >&5 -$as_echo "$use_python3" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $use_python3" >&5 +printf "%s\n" "$use_python3" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -15257,11 +16629,12 @@ use_python3=yes # Extract the first word of "python3", so it can be a program name with args. set dummy python3; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PYTHON3+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_PYTHON3+y} +then : + printf %s "(cached) " >&6 +else $as_nop case $PYTHON3 in \\/* | ?:\\/*) ac_cv_path_PYTHON3="$PYTHON3" # Let the user override the test with a path. @@ -15271,11 +16644,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PYTHON3="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_PYTHON3="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -15288,11 +16665,11 @@ fi PYTHON3=$ac_cv_path_PYTHON3 if test -n "$PYTHON3"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON3" >&5 -$as_echo "$PYTHON3" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON3" >&5 +printf "%s\n" "$PYTHON3" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -15332,30 +16709,32 @@ withval="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to create Go language bindings" >&5 -$as_echo_n "checking whether to create Go language bindings... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to create Go language bindings" >&5 +printf %s "checking whether to create Go language bindings... " >&6; } # Check whether --with-golang was given. -if test "${with_golang+set}" = set; then : +if test ${with_golang+y} +then : withval=$with_golang; use_golang=$withval -else +else $as_nop use_golang=auto fi if test "x$use_golang" = xno ; then golang_found="no" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: testing" >&5 -$as_echo "testing" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: testing" >&5 +printf "%s\n" "testing" >&6; } # Extract the first word of "go", so it can be a program name with args. set dummy go; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_GOLANG+:} false; then : - $as_echo_n "(cached) " >&6 -else +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_GOLANG+y} +then : + printf %s "(cached) " >&6 +else $as_nop if test -n "$GOLANG"; then ac_cv_prog_GOLANG="$GOLANG" # Let the user override the test. else @@ -15363,11 +16742,15 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_prog_GOLANG="go" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done @@ -15379,31 +16762,32 @@ fi GOLANG=$ac_cv_prog_GOLANG if test -n "$GOLANG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GOLANG" >&5 -$as_echo "$GOLANG" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GOLANG" >&5 +printf "%s\n" "$GOLANG" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi - if test "x$GOLANG" != "xno"; then : + if test "x$GOLANG" != "xno" +then : - { $as_echo "$as_me:${as_lineno-$LINENO}: Go bindings will be built" >&5 -$as_echo "$as_me: Go bindings will be built" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Go bindings will be built" >&5 +printf "%s\n" "$as_me: Go bindings will be built" >&6;} golang_found="yes" # Substitute some golang environment. GOROOT=`$GOLANG env GOROOT` -else +else $as_nop if test "x$use_golang" = xyes ; then as_fn_error $? "Go language explicitly requested and program not found" "$LINENO" 5 else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \"Go not found - go bindings will not be made\"" >&5 -$as_echo "$as_me: WARNING: \"Go not found - go bindings will not be made\"" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Go not found - go bindings will not be made\"" >&5 +printf "%s\n" "$as_me: WARNING: \"Go not found - go bindings will not be made\"" >&2;} fi fi @@ -15418,18 +16802,19 @@ #auditd listener -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include auditd network listener support" >&5 -$as_echo_n "checking whether to include auditd network listener support... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to include auditd network listener support" >&5 +printf %s "checking whether to include auditd network listener support... " >&6; } # Check whether --enable-listener was given. -if test "${enable_listener+set}" = set; then : +if test ${enable_listener+y} +then : enableval=$enable_listener; enable_listener=$enableval -else +else $as_nop enable_listener=yes fi if test "x$enable_listener" != "xno"; then -$as_echo "#define USE_LISTENER 1" >>confdefs.h +printf "%s\n" "#define USE_LISTENER 1" >>confdefs.h fi if test "x$enable_listener" != "xno"; then @@ -15440,31 +16825,33 @@ ENABLE_LISTENER_FALSE= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_listener" >&5 -$as_echo "$enable_listener" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_listener" >&5 +printf "%s\n" "$enable_listener" >&6; } #audisp zos-remote plugin # Check whether --enable-zos-remote was given. -if test "${enable_zos_remote+set}" = set; then : +if test ${enable_zos_remote+y} +then : enableval=$enable_zos_remote; enable_zos_remote=$enableval -else +else $as_nop enable_zos_remote=yes fi if test $enable_zos_remote = yes; then - ac_fn_c_check_header_mongrel "$LINENO" "lber.h" "ac_cv_header_lber_h" "$ac_includes_default" -if test "x$ac_cv_header_lber_h" = xyes; then : + ac_fn_c_check_header_compile "$LINENO" "lber.h" "ac_cv_header_lber_h" "$ac_includes_default" +if test "x$ac_cv_header_lber_h" = xyes +then : ldap_headers=yes -else +else $as_nop ldap_headers=no fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ber_free in -llber" >&5 -$as_echo_n "checking for ber_free in -llber... " >&6; } -if ${ac_cv_lib_lber_ber_free+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ber_free in -llber" >&5 +printf %s "checking for ber_free in -llber... " >&6; } +if test ${ac_cv_lib_lber_ber_free+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-llber $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -15473,30 +16860,29 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char ber_free (); int -main () +main (void) { return ber_free (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_lber_ber_free=yes -else +else $as_nop ac_cv_lib_lber_ber_free=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lber_ber_free" >&5 -$as_echo "$ac_cv_lib_lber_ber_free" >&6; } -if test "x$ac_cv_lib_lber_ber_free" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lber_ber_free" >&5 +printf "%s\n" "$ac_cv_lib_lber_ber_free" >&6; } +if test "x$ac_cv_lib_lber_ber_free" = xyes +then : LDAP_LDADD=-llber fi @@ -15508,8 +16894,8 @@ fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include audisp ZOS remote plugin" >&5 -$as_echo_n "checking whether to include audisp ZOS remote plugin... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to include audisp ZOS remote plugin" >&5 +printf %s "checking whether to include audisp ZOS remote plugin... " >&6; } if test "x$enable_zos_remote" != "xno"; then ENABLE_ZOS_REMOTE_TRUE= ENABLE_ZOS_REMOTE_FALSE='#' @@ -15518,28 +16904,30 @@ ENABLE_ZOS_REMOTE_FALSE= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_zos_remote" >&5 -$as_echo "$enable_zos_remote" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_zos_remote" >&5 +printf "%s\n" "$enable_zos_remote" >&6; } #gssapi # Check whether --enable-gssapi_krb5 was given. -if test "${enable_gssapi_krb5+set}" = set; then : +if test ${enable_gssapi_krb5+y} +then : enableval=$enable_gssapi_krb5; case "${enableval}" in yes) want_gssapi_krb5="yes" ;; no) want_gssapi_krb5="no" ;; *) as_fn_error $? "bad value ${enableval} for --enable-gssapi-krb5" "$LINENO" 5 ;; esac -else +else $as_nop want_gssapi_krb5="no" fi if test $want_gssapi_krb5 = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gss_acquire_cred in -lgssapi_krb5" >&5 -$as_echo_n "checking for gss_acquire_cred in -lgssapi_krb5... " >&6; } -if ${ac_cv_lib_gssapi_krb5_gss_acquire_cred+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gss_acquire_cred in -lgssapi_krb5" >&5 +printf %s "checking for gss_acquire_cred in -lgssapi_krb5... " >&6; } +if test ${ac_cv_lib_gssapi_krb5_gss_acquire_cred+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lgssapi_krb5 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -15548,36 +16936,36 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char gss_acquire_cred (); int -main () +main (void) { return gss_acquire_cred (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_gssapi_krb5_gss_acquire_cred=yes -else +else $as_nop ac_cv_lib_gssapi_krb5_gss_acquire_cred=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_krb5_gss_acquire_cred" >&5 -$as_echo "$ac_cv_lib_gssapi_krb5_gss_acquire_cred" >&6; } -if test "x$ac_cv_lib_gssapi_krb5_gss_acquire_cred" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gssapi_krb5_gss_acquire_cred" >&5 +printf "%s\n" "$ac_cv_lib_gssapi_krb5_gss_acquire_cred" >&6; } +if test "x$ac_cv_lib_gssapi_krb5_gss_acquire_cred" = xyes +then : - ac_fn_c_check_header_mongrel "$LINENO" "gssapi/gssapi.h" "ac_cv_header_gssapi_gssapi_h" "$ac_includes_default" -if test "x$ac_cv_header_gssapi_gssapi_h" = xyes; then : + ac_fn_c_check_header_compile "$LINENO" "gssapi/gssapi.h" "ac_cv_header_gssapi_gssapi_h" "$ac_includes_default" +if test "x$ac_cv_header_gssapi_gssapi_h" = xyes +then : -$as_echo "#define USE_GSSAPI /**/" >>confdefs.h +printf "%s\n" "#define USE_GSSAPI /**/" >>confdefs.h gss_libs="-lgssapi_krb5 -lkrb5" @@ -15585,7 +16973,6 @@ fi - fi fi @@ -15599,16 +16986,17 @@ #systemd -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable systemd" >&5 -$as_echo_n "checking whether to enable systemd... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable systemd" >&5 +printf %s "checking whether to enable systemd... " >&6; } # Check whether --enable-systemd was given. -if test "${enable_systemd+set}" = set; then : +if test ${enable_systemd+y} +then : enableval=$enable_systemd; case "${enableval}" in yes) want_systemd="yes" ;; no) want_systemd="no" ;; *) as_fn_error $? "bad value ${enableval} for --enable-systemd" "$LINENO" 5 ;; esac -else +else $as_nop want_systemd="no" fi @@ -15621,20 +17009,21 @@ ENABLE_SYSTEMD_FALSE= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $want_systemd" >&5 -$as_echo "$want_systemd" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $want_systemd" >&5 +printf "%s\n" "$want_systemd" >&6; } # ids -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable experimental options" >&5 -$as_echo_n "checking whether to enable experimental options... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable experimental options" >&5 +printf %s "checking whether to enable experimental options... " >&6; } # Check whether --enable-experimental was given. -if test "${enable_experimental+set}" = set; then : +if test ${enable_experimental+y} +then : enableval=$enable_experimental; case "${enableval}" in yes) want_exper="yes" ;; no) want_exper="no" ;; *) as_fn_error $? "bad value ${enableval} for --enable-experimental" "$LINENO" 5 ;; esac -else +else $as_nop want_exper="no" fi @@ -15647,24 +17036,25 @@ ENABLE_EXPERIMENTAL_FALSE= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $want_exper" >&5 -$as_echo "$want_exper" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $want_exper" >&5 +printf "%s\n" "$want_exper" >&6; } # linux/fanotify.h -ac_fn_c_check_header_mongrel "$LINENO" "linux/fanotify.h" "ac_cv_header_linux_fanotify_h" "$ac_includes_default" -if test "x$ac_cv_header_linux_fanotify_h" = xyes; then : +ac_fn_c_check_header_compile "$LINENO" "linux/fanotify.h" "ac_cv_header_linux_fanotify_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_fanotify_h" = xyes +then : -$as_echo "#define USE_FANOTIFY /**/" >>confdefs.h +printf "%s\n" "#define USE_FANOTIFY /**/" >>confdefs.h fi - withval="" ALLDEBUG="-g" # Check whether --with-debug was given. -if test "${with_debug+set}" = set; then : +if test ${with_debug+y} +then : withval=$with_debug; if test "x${withval}" = xyes; then DEBUG="$ALLDEBUG" @@ -15689,7 +17079,7 @@ fi -else +else $as_nop DEBUG="-DNDEBUG"; if false; then DEBUG_TRUE= DEBUG_FALSE='#' @@ -15704,7 +17094,8 @@ withval="" # Check whether --with-warn was given. -if test "${with_warn+set}" = set; then : +if test ${with_warn+y} +then : withval=$with_warn; if test "x${withval}" = xyes; then WARNS="$ALLWARNS" @@ -15712,25 +17103,80 @@ WARNS="" fi -else +else $as_nop WARNS="$ALLWARNS" fi +WFLAGS="" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -Wformat-truncation" >&5 +printf %s "checking for -Wformat-truncation... " >&6; } +TMPCFLAGS="${CFLAGS}" +CFLAGS="${CFLAGS} -Wformat-truncation" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + WFLAGS="-Wno-format-truncation" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +CFLAGS="${TMPCFLAGS}" +CFLAGS="${CFLAGS} -Wunused-but-set-variable" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + WFLAGS="${WFLAGS} -Wno-unused-but-set-variable" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +CFLAGS="${TMPCFLAGS}" + + withval="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include arm eabi processor support" >&5 -$as_echo_n "checking whether to include arm eabi processor support... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to include arm eabi processor support" >&5 +printf %s "checking whether to include arm eabi processor support... " >&6; } # Check whether --with-arm was given. -if test "${with_arm+set}" = set; then : +if test ${with_arm+y} +then : withval=$with_arm; use_arm=$withval -else +else $as_nop use_arm=no fi if test x$use_arm != xno ; then -$as_echo "#define WITH_ARM 1" >>confdefs.h +printf "%s\n" "#define WITH_ARM 1" >>confdefs.h fi if test x$use_arm = xyes; then @@ -15741,23 +17187,24 @@ USE_ARM_FALSE= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_arm" >&5 -$as_echo "$use_arm" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $use_arm" >&5 +printf "%s\n" "$use_arm" >&6; } withval="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to include aarch64 processor support" >&5 -$as_echo_n "checking whether to include aarch64 processor support... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to include aarch64 processor support" >&5 +printf %s "checking whether to include aarch64 processor support... " >&6; } # Check whether --with-aarch64 was given. -if test "${with_aarch64+set}" = set; then : +if test ${with_aarch64+y} +then : withval=$with_aarch64; use_aarch64=$withval -else +else $as_nop use_aarch64=no fi if test x$use_aarch64 != xno ; then -$as_echo "#define WITH_AARCH64 1" >>confdefs.h +printf "%s\n" "#define WITH_AARCH64 1" >>confdefs.h fi if test x$use_aarch64 = xyes; then @@ -15768,55 +17215,58 @@ USE_AARCH64_FALSE= fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_aarch64" >&5 -$as_echo "$use_aarch64" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $use_aarch64" >&5 +printf "%s\n" "$use_aarch64" >&6; } withval="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use apparmor" >&5 -$as_echo_n "checking whether to use apparmor... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use apparmor" >&5 +printf %s "checking whether to use apparmor... " >&6; } # Check whether --with-apparmor was given. -if test "${with_apparmor+set}" = set; then : +if test ${with_apparmor+y} +then : withval=$with_apparmor; use_apparmor=$withval -else +else $as_nop use_apparmor=no fi if test x$use_apparmor != xno ; then -$as_echo "#define WITH_APPARMOR 1" >>confdefs.h +printf "%s\n" "#define WITH_APPARMOR 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $use_apparmor" >&5 -$as_echo "$use_apparmor" >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $use_apparmor" >&5 +printf "%s\n" "$use_apparmor" >&6; } withval="" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use libwrap" >&5 -$as_echo_n "checking whether to use libwrap... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use libwrap" >&5 +printf %s "checking whether to use libwrap... " >&6; } # Check whether --with-libwrap was given. -if test "${with_libwrap+set}" = set; then : +if test ${with_libwrap+y} +then : withval=$with_libwrap; case "$withval" in no) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } ;; yes) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - ac_fn_c_check_header_mongrel "$LINENO" "tcpd.h" "ac_cv_header_tcpd_h" "$ac_includes_default" -if test "x$ac_cv_header_tcpd_h" = xyes; then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + ac_fn_c_check_header_compile "$LINENO" "tcpd.h" "ac_cv_header_tcpd_h" "$ac_includes_default" +if test "x$ac_cv_header_tcpd_h" = xyes +then : -else +else $as_nop as_fn_error $? "Could not find libwrap headers" "$LINENO" 5 fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for request_init in -lwrap" >&5 -$as_echo_n "checking for request_init in -lwrap... " >&6; } -if ${ac_cv_lib_wrap_request_init+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for request_init in -lwrap" >&5 +printf %s "checking for request_init in -lwrap... " >&6; } +if test ${ac_cv_lib_wrap_request_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lwrap $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -15825,38 +17275,38 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char request_init (); int -main () +main (void) { return request_init (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_wrap_request_init=yes -else +else $as_nop ac_cv_lib_wrap_request_init=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_wrap_request_init" >&5 -$as_echo "$ac_cv_lib_wrap_request_init" >&6; } -if test "x$ac_cv_lib_wrap_request_init" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_wrap_request_init" >&5 +printf "%s\n" "$ac_cv_lib_wrap_request_init" >&6; } +if test "x$ac_cv_lib_wrap_request_init" = xyes +then : LIBWRAP_LIBS="-lwrap" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for yp_get_default_domain in -lnsl" >&5 -$as_echo_n "checking for yp_get_default_domain in -lnsl... " >&6; } -if ${ac_cv_lib_nsl_yp_get_default_domain+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for yp_get_default_domain in -lnsl" >&5 +printf %s "checking for yp_get_default_domain in -lnsl... " >&6; } +if test ${ac_cv_lib_nsl_yp_get_default_domain+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -15865,56 +17315,56 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char yp_get_default_domain (); int -main () +main (void) { return yp_get_default_domain (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_nsl_yp_get_default_domain=yes -else +else $as_nop ac_cv_lib_nsl_yp_get_default_domain=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_yp_get_default_domain" >&5 -$as_echo "$ac_cv_lib_nsl_yp_get_default_domain" >&6; } -if test "x$ac_cv_lib_nsl_yp_get_default_domain" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_yp_get_default_domain" >&5 +printf "%s\n" "$ac_cv_lib_nsl_yp_get_default_domain" >&6; } +if test "x$ac_cv_lib_nsl_yp_get_default_domain" = xyes +then : LIBWRAP_LIBS="$LIBWRAP_LIBS -lnsl" fi ;; *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } if test -d "$withval"; then LIBWRAP_LIBS="-L$withval -lwrap" else LIBWRAP_LIBS="$withval" fi - ac_fn_c_check_header_mongrel "$LINENO" "tcpd.h" "ac_cv_header_tcpd_h" "$ac_includes_default" -if test "x$ac_cv_header_tcpd_h" = xyes; then : + ac_fn_c_check_header_compile "$LINENO" "tcpd.h" "ac_cv_header_tcpd_h" "$ac_includes_default" +if test "x$ac_cv_header_tcpd_h" = xyes +then : -else +else $as_nop as_fn_error $? "Could not find libwrap headers" "$LINENO" 5 fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for request_init in -lwrap" >&5 -$as_echo_n "checking for request_init in -lwrap... " >&6; } -if ${ac_cv_lib_wrap_request_init+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for request_init in -lwrap" >&5 +printf %s "checking for request_init in -lwrap... " >&6; } +if test ${ac_cv_lib_wrap_request_init+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lwrap $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -15923,43 +17373,41 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char request_init (); int -main () +main (void) { return request_init (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_wrap_request_init=yes -else +else $as_nop ac_cv_lib_wrap_request_init=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_wrap_request_init" >&5 -$as_echo "$ac_cv_lib_wrap_request_init" >&6; } -if test "x$ac_cv_lib_wrap_request_init" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBWRAP 1 -_ACEOF +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_wrap_request_init" >&5 +printf "%s\n" "$ac_cv_lib_wrap_request_init" >&6; } +if test "x$ac_cv_lib_wrap_request_init" = xyes +then : + printf "%s\n" "#define HAVE_LIBWRAP 1" >>confdefs.h LIBS="-lwrap $LIBS" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for yp_get_default_domain in -lnsl" >&5 -$as_echo_n "checking for yp_get_default_domain in -lnsl... " >&6; } -if ${ac_cv_lib_nsl_yp_get_default_domain+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for yp_get_default_domain in -lnsl" >&5 +printf %s "checking for yp_get_default_domain in -lnsl... " >&6; } +if test ${ac_cv_lib_nsl_yp_get_default_domain+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -15968,30 +17416,29 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char yp_get_default_domain (); int -main () +main (void) { return yp_get_default_domain (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_nsl_yp_get_default_domain=yes -else +else $as_nop ac_cv_lib_nsl_yp_get_default_domain=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_yp_get_default_domain" >&5 -$as_echo "$ac_cv_lib_nsl_yp_get_default_domain" >&6; } -if test "x$ac_cv_lib_nsl_yp_get_default_domain" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_yp_get_default_domain" >&5 +printf "%s\n" "$ac_cv_lib_nsl_yp_get_default_domain" >&6; } +if test "x$ac_cv_lib_nsl_yp_get_default_domain" = xyes +then : LIBWRAP_LIBS="$LIBWRAP_LIBS -lnsl" fi @@ -16002,34 +17449,48 @@ /* end confdefs.h. */ int allow_severity; int deny_severity; int -main () +main (void) { hosts_access(); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : -else +else $as_nop as_fn_error $? "Could not find the $withval library. You must first install tcp_wrappers." "$LINENO" 5 fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS="$OLDLIBS" ;; esac -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi if test x"$LIBWRAP_LIBS" != "x"; then -cat >>confdefs.h <<_ACEOF -#define HAVE_LIBWRAP /**/ -_ACEOF +printf "%s\n" "#define HAVE_LIBWRAP /**/" >>confdefs.h + +fi + +# linux/ipx.h - deprecated in 2018 +ac_fn_c_check_header_compile "$LINENO" "linux/ipx.h" "ac_cv_header_linux_ipx_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_ipx_h" = xyes +then : + ipx_headers=yes +else $as_nop + ipx_headers=no +fi + +if test $ipx_headers = yes ; then + +printf "%s\n" "#define HAVE_IPX_HEADERS 1" >>confdefs.h fi @@ -16037,9 +17498,10 @@ # Check whether --with-libcap-ng was given. -if test "${with_libcap_ng+set}" = set; then : +if test ${with_libcap_ng+y} +then : withval=$with_libcap_ng; -else +else $as_nop with_libcap_ng=auto fi @@ -16052,21 +17514,22 @@ have_libcap_ng=no; else # Start by checking for header file - ac_fn_c_check_header_mongrel "$LINENO" "cap-ng.h" "ac_cv_header_cap_ng_h" "$ac_includes_default" -if test "x$ac_cv_header_cap_ng_h" = xyes; then : + ac_fn_c_check_header_compile "$LINENO" "cap-ng.h" "ac_cv_header_cap_ng_h" "$ac_includes_default" +if test "x$ac_cv_header_cap_ng_h" = xyes +then : capng_headers=yes -else +else $as_nop capng_headers=no fi - # See if we have libcap-ng library - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for capng_clear in -lcap-ng" >&5 -$as_echo_n "checking for capng_clear in -lcap-ng... " >&6; } -if ${ac_cv_lib_cap_ng_capng_clear+:} false; then : - $as_echo_n "(cached) " >&6 -else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for capng_clear in -lcap-ng" >&5 +printf %s "checking for capng_clear in -lcap-ng... " >&6; } +if test ${ac_cv_lib_cap_ng_capng_clear+y} +then : + printf %s "(cached) " >&6 +else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lcap-ng $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -16075,30 +17538,29 @@ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif char capng_clear (); int -main () +main (void) { return capng_clear (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : +if ac_fn_c_try_link "$LINENO" +then : ac_cv_lib_cap_ng_capng_clear=yes -else +else $as_nop ac_cv_lib_cap_ng_capng_clear=no fi -rm -f core conftest.err conftest.$ac_objext \ +rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cap_ng_capng_clear" >&5 -$as_echo "$ac_cv_lib_cap_ng_capng_clear" >&6; } -if test "x$ac_cv_lib_cap_ng_capng_clear" = xyes; then : +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cap_ng_capng_clear" >&5 +printf "%s\n" "$ac_cv_lib_cap_ng_capng_clear" >&6; } +if test "x$ac_cv_lib_cap_ng_capng_clear" = xyes +then : CAPNG_LDADD=-lcap-ng fi @@ -16112,17 +17574,17 @@ fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use libcap-ng" >&5 -$as_echo_n "checking whether to use libcap-ng... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use libcap-ng" >&5 +printf %s "checking whether to use libcap-ng... " >&6; } if test x$CAPNG_LDADD != x ; then -$as_echo "#define HAVE_LIBCAP_NG 1" >>confdefs.h +printf "%s\n" "#define HAVE_LIBCAP_NG 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi @@ -16159,8 +17621,8 @@ case $ac_val in #( *${as_nl}*) case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( @@ -16190,15 +17652,15 @@ /^ac_cv_env_/b end t clear :clear - s/^\(^=*\)=\(.*{}.*\)$/test "${\1+set}" = set || &/ + s/^\(^=*\)=\(.*{}.*\)$/test ${\1+y} || &/ t end s/^\(^=*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else @@ -16212,8 +17674,8 @@ fi fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -16229,7 +17691,7 @@ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" @@ -16240,14 +17702,14 @@ LTLIBOBJS=$ac_ltlibobjs -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +printf %s "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 +printf "%s\n" "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' @@ -16329,8 +17791,8 @@ ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL @@ -16353,14 +17815,16 @@ # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST -else +else $as_nop case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( @@ -16370,46 +17834,46 @@ fi + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. as_nl=' ' export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi +if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi # The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then +if ${PATH_SEPARATOR+false} :; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || @@ -16418,13 +17882,6 @@ fi -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( @@ -16433,8 +17890,12 @@ for as_dir in $PATH do IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break done IFS=$as_save_IFS @@ -16446,30 +17907,10 @@ as_myself=$0 fi if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR LINENO LOG_FD @@ -16482,13 +17923,14 @@ as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $2" >&2 + printf "%s\n" "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error + # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. @@ -16515,18 +17957,20 @@ { eval $1=; unset $1;} } as_unset=as_fn_unset + # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : eval 'as_fn_append () { eval $1+=\$2 }' -else +else $as_nop as_fn_append () { eval $1=\$$1\$2 @@ -16538,12 +17982,13 @@ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : eval 'as_fn_arith () { as_val=$(( $* )) }' -else +else $as_nop as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` @@ -16574,7 +18019,7 @@ $as_expr X/"$0" : '.*/\(^/^/*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | +printf "%s\n" X/"$0" | sed '/^.*\/\(^/^/*\)\/*$/{ s//\1/ q @@ -16596,6 +18041,10 @@ as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) @@ -16609,6 +18058,12 @@ ECHO_N='-n';; esac +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO("message") and AS_ECHO_N("message"), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file @@ -16650,7 +18105,7 @@ as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -16659,7 +18114,7 @@ X"$as_dir" : 'X\(//\)^/' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | +printf "%s\n" X"$as_dir" | sed '/^X\(.*^/\)\/\/*^/^/*\/*$/{ s//\1/ q @@ -16721,8 +18176,8 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by audit $as_me 3.0.1, which was -generated by GNU Autoconf 2.69. Invocation command line was +This file was extended by audit $as_me 3.0.9, which was +generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -16784,14 +18239,16 @@ Report bugs to the package provider." _ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/\\""\`\$/\\\\&/g'`" +ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -audit config.status 3.0.1 -configured by $0, generated by GNU Autoconf 2.69, +audit config.status 3.0.9 +configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" -Copyright (C) 2012 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -16831,15 +18288,15 @@ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; + printf "%s\n" "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; + printf "%s\n" "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" @@ -16847,7 +18304,7 @@ --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; @@ -16856,7 +18313,7 @@ as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; + printf "%s\n" "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; @@ -16884,7 +18341,7 @@ if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" @@ -16898,7 +18355,7 @@ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX - $as_echo "$ac_log" + printf "%s\n" "$ac_log" } >&5 _ACEOF @@ -16950,6 +18407,7 @@ lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' @@ -16958,6 +18416,7 @@ DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' @@ -17078,6 +18537,7 @@ lt_SP2NL \ lt_NL2SP \ reload_flag \ +FILECMD \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ @@ -17086,7 +18546,6 @@ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ -AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ @@ -17251,9 +18710,9 @@ # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands + test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files + test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers + test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree @@ -17589,7 +19048,7 @@ esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done @@ -17597,17 +19056,17 @@ # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` - $as_echo "$*" | sed 's|^^:*/||;s|:^:*/|, |g' + printf "%s\n" "$*" | sed 's|^^:*/||;s|:^:*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | + ac_sed_conf_input=`printf "%s\n" "$configure_input" | sed 's/\\\\&|/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac @@ -17624,7 +19083,7 @@ X"$ac_file" : 'X\(//\)^/' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | +printf "%s\n" X"$ac_file" | sed '/^X\(.*^/\)\/\/*^/^/*\/*$/{ s//\1/ q @@ -17648,9 +19107,9 @@ case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.\\/||'` + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.\\/||'` # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/^\\/*|/..|g;s|/||'` + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/^\\/*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; @@ -17712,8 +19171,8 @@ case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' @@ -17757,9 +19216,9 @@ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^ *datarootdir *:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" @@ -17775,20 +19234,20 @@ # if test x"$ac_file" != x-; then { - $as_echo "/* $configure_input */" \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else - $as_echo "/* $configure_input */" \ + printf "%s\n" "/* $configure_input */" >&1 \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi @@ -17808,7 +19267,7 @@ X"$_am_arg" : 'X\(//\)^/' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | +printf "%s\n" X"$_am_arg" | sed '/^X\(.*^/\)\/\/*^/^/*\/*$/{ s//\1/ q @@ -17828,8 +19287,8 @@ s/.*/./; q'`/stamp-h$_am_stamp_count ;; - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} + :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +printf "%s\n" "$as_me: executing $ac_file commands" >&6;} ;; esac @@ -17855,7 +19314,7 @@ for am_mf do # Strip MF so we end up with the name of the file. - am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` + am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile which includes # dependency-tracking related rules and includes. # Grep'ing the whole file directly is not great: AIX grep has a line @@ -17867,7 +19326,7 @@ X"$am_mf" : 'X\(//\)^/' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$am_mf" | +printf "%s\n" X"$am_mf" | sed '/^X\(.*^/\)\/\/*^/^/*\/*$/{ s//\1/ q @@ -17889,7 +19348,7 @@ $as_expr X/"$am_mf" : '.*/\(^/^/*\)/*$' \| \ X"$am_mf" : 'X\(//\)$' \| \ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$am_mf" | +printf "%s\n" X/"$am_mf" | sed '/^.*\/\(^/^/*\)\/*$/{ s//\1/ q @@ -17914,8 +19373,8 @@ (exit $ac_status); } || am_rc=$? done if test $am_rc -ne 0; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments for automatic dependency tracking. If GNU make was not used, consider re-running the configure script with MAKE=\"gmake\" (or whatever is @@ -18066,6 +19525,9 @@ # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + # An object symbol dumper. OBJDUMP=$lt_OBJDUMP @@ -18090,8 +19552,11 @@ # The archiver. AR=$lt_AR +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + # Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS +AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec @@ -18459,6 +19924,7 @@ esac + ltmain=$ac_aux_dir/ltmain.sh @@ -18466,7 +19932,7 @@ # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ + $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || @@ -18508,8 +19974,8 @@ $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi @@ -18522,4 +19988,6 @@ Compiler: $CC Compiler flags: `echo $CFLAGS | fmt -w 50 | sed 's,^, ,'` + __attr_access support: $ACCESS " +
View file
_service:tar_scm:audit-3.0.1.tar.gz/configure.ac -> _service:tar_scm:audit-3.0.9.tar.gz/configure.ac
Changed
@@ -1,7 +1,7 @@ dnl define(AC_INIT_NOTICE, ### Generated automatically using autoconf version AC_ACVERSION -### Copyright 2005-21 Steve Grubb <sgrubb@redhat.com> +### Copyright 2005-22 Steve Grubb <sgrubb@redhat.com> ### ### Permission is hereby granted, free of charge, to any person obtaining a ### copy of this software and associated documentation files (the "Software"), @@ -29,7 +29,7 @@ ) AC_REVISION($Revision: 1.3 $)dnl -AC_INIT(audit,3.0.1) +AC_INIT(audit,3.0.9) AC_PREREQ(2.12)dnl AM_CONFIG_HEADER(config.h) @@ -58,10 +58,9 @@ AC_HEADER_STDC AC_HEADER_TIME -AC_C_CONST -AC_C_INLINE AC_CHECK_SIZEOF(unsigned int) AC_CHECK_SIZEOF(unsigned long) +dnl; next is needed for old compilers and plugins/ids/Makefile.am AM_PROG_CC_C_O AC_CHECK_DECLS(AUDIT_FEATURE_VERSION, , , #include <linux/audit.h>) AC_CHECK_MEMBERS(struct audit_status.feature_bitmap, , , #include <linux/audit.h>) @@ -85,9 +84,25 @@ AC_DEFINE(HAVE_STRNDUPA, 1, Let us know if we have it or not), ) + +AC_MSG_CHECKING(__attr_access support) +AC_COMPILE_IFELSE( + AC_LANG_SOURCE( + + #include <stdio.h> + int audit_fgets(char *buf, size_t blen, int fd) + __attr_access ((__write_only__, 1, 2)); + int main(void) { return 0; }), + ACCESS="yes", + ACCESS="no" +) +AC_MSG_RESULT($ACCESS) + dnl; pthread_yield is used in zos-remote +OLDLIBS="$LIBS" AC_SEARCH_LIBS(pthread_yield, pthread, AC_DEFINE(HAVE_PTHREAD_YIELD, 1, Define to 1 if we have pthread_yield), ) +LIBS="$OLDLIBS" ALLWARNS="" ALLDEBUG="-g" @@ -339,6 +354,21 @@ fi ,WARNS="$ALLWARNS") +WFLAGS="" +AC_MSG_CHECKING(for -Wformat-truncation) +TMPCFLAGS="${CFLAGS}" +CFLAGS="${CFLAGS} -Wformat-truncation" +AC_LINK_IFELSE(AC_LANG_PROGRAM(, ),WFLAGS="-Wno-format-truncation" + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no)) +CFLAGS="${TMPCFLAGS}" +CFLAGS="${CFLAGS} -Wunused-but-set-variable" +AC_LINK_IFELSE(AC_LANG_PROGRAM(, ),WFLAGS="${WFLAGS} -Wno-unused-but-set-variable" + AC_MSG_RESULT(yes), + AC_MSG_RESULT(no)) +CFLAGS="${TMPCFLAGS}" +AC_SUBST(WFLAGS) + withval="" AC_MSG_CHECKING(whether to include arm eabi processor support) AC_ARG_WITH(arm, @@ -416,6 +446,12 @@ AC_DEFINE_UNQUOTED(HAVE_LIBWRAP, , Define if tcp_wrappers support is enabled ) fi +# linux/ipx.h - deprecated in 2018 +AC_CHECK_HEADER(linux/ipx.h, ipx_headers=yes, ipx_headers=no) +if test $ipx_headers = yes ; then + AC_DEFINE(HAVE_IPX_HEADERS,1,IPX packet interpretation) +fi + # See if we want to support lower capabilities for plugins LIBCAP_NG_PATH @@ -434,4 +470,5 @@ Compiler: $CC Compiler flags: `echo $CFLAGS | fmt -w 50 | sed 's,^, ,'` + __attr_access support: $ACCESS "
View file
_service:tar_scm:audit-3.0.1.tar.gz/contrib/plugin/audisp-example.c -> _service:tar_scm:audit-3.0.9.tar.gz/contrib/plugin/audisp-example.c
Changed
@@ -1,5 +1,5 @@ /* audisp-example.c -- - * Copyright 2012 Red Hat Inc., Durham, North Carolina. + * Copyright 2012 Red Hat Inc. * All Rights Reserved. * * This program is free software; you can redistribute it and/or modify @@ -30,10 +30,19 @@ * It will print things to stdout. In a real program, you wouldn't * do anything with stdout since that is likely to be pointing to /dev/null. * - * Excluding some init/destroy items you might need to add to main, the + * Excluding some init/destroy items you might need to add to main, the * event_handler function is the main place that you would modify to do - * things specific to your plugin. + * things specific to your plugin. * + * Also, note that for a "real" plugin, you may have to add an internal queue + * to your application. If plugins do any kind of networking or in depth + * processing of incoming events, auditd's internal queue can overflow because + * the socket connecting to the plugin's stdin get backed up. When audit has + * nowhere to put events, the kernel's audit backlog can get filled up. + * If that happens, the backlog_wait_time is consulted by the kernel which + * may have the effect of slowing down the whole system. A good design would be + * to have 2 threads, one watching for inbound events and one doing the + * processing of the events with a configurable queue in between. */ #define _GNU_SOURCE @@ -58,7 +67,7 @@ /* * SIGTERM handler */ -static void term_handler( int sig ) +static void term_handler(int sig) { stop = 1; } @@ -66,7 +75,7 @@ /* * SIGHUP handler: re-read config */ -static void hup_handler( int sig ) +static void hup_handler(int sig) { hup = 1; } @@ -74,6 +83,11 @@ static void reload_config(void) { hup = 0; + + /* + * Add your code here that re-reads the config file and changes + * how your plugin works. + */ } int main(int argc, char *argv) @@ -98,39 +112,43 @@ printf("audisp-example is exiting due to auparse init errors"); return -1; } + auparse_set_eoe_timeout(2); auparse_add_callback(au, handle_event, NULL, NULL); do { fd_set read_mask; - struct timeval tv; - int retval = 0; - int read_size = 0; + int retval; + int read_size = 1; /* Set to 1 so it's not EOF */ /* Load configuration */ if (hup) { reload_config(); } do { - /* If we timed out & have events, shake them loose */ - if (retval == 0 && auparse_feed_has_data(au)) - auparse_feed_age_events(au); - - tv.tv_sec = 3; - tv.tv_usec = 0; FD_ZERO(&read_mask); FD_SET(0, &read_mask); - if (auparse_feed_has_data(au)) + + if (auparse_feed_has_data(au)) { + struct timeval tv; + tv.tv_sec = 1; + tv.tv_usec = 0; retval= select(1, &read_mask, NULL, NULL, &tv); - else + } else retval= select(1, &read_mask, NULL, NULL, NULL); + + /* If we timed out & have events, shake them loose */ + if (retval == 0 && auparse_feed_has_data(au)) + auparse_feed_age_events(au); + } while (retval == -1 && errno == EINTR && !hup && !stop); /* Now the event loop */ if (!stop && !hup && retval > 0) { - while ((read_size = read(0, tmp, MAX_AUDIT_MESSAGE_LENGTH)) > 0) { + while ((read_size = read(0, tmp, + MAX_AUDIT_MESSAGE_LENGTH)) > 0) { auparse_feed(au, tmp, read_size); } } - if (read_size == 0) /* check eof */ + if (read_size == 0) /* EOF */ break; } while (stop == 0); @@ -164,7 +182,7 @@ } /* This function shows how to iterate through the fields of a record - * and print its name and raw value and interpretted value. */ + * and print its name and raw value and interpreted value. */ static void dump_fields_of_record(auparse_state_t *au) { printf("record type %d(%s) has %d fields\n", auparse_get_type(au),
View file
_service:tar_scm:audit-3.0.1.tar.gz/depcomp -> _service:tar_scm:audit-3.0.9.tar.gz/depcomp
Changed
@@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # 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
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/docs/Makefile.am
Changed
@@ -13,8 +13,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -32,11 +33,17 @@ audit_log_acct_message.3 audit_log_user_avc_message.3 \ audit_log_user_command.3 audit_log_user_comm_message.3 \ audit_log_user_message.3 audit_log_semanage_message.3 \ -auparse_new_buffer.3 audit_open.3 audit_request_rules_list_data.3 \ +auparse_new_buffer.3 audit_open.3 audit_close.3 \ +audit_is_enabled.3 audit_request_rules_list_data.3 \ audit_request_signal_info.3 audit_request_status.3 audit.rules.7 \ audit_set_backlog_limit.3 audit_set_enabled.3 audit_set_failure.3 \ audit_setloginuid.3 audit_set_pid.3 audit_set_rate_limit.3 \ -audit_update_watch_perms.3 auparse_add_callback.3 \ +audit_update_watch_perms.3 audit_value_needs_encoding.3 \ +audit_encode_value.3 auparse_add_callback.3 audit_name_to_syscall.3 \ +audit_syscall_to_name.3 audit_name_to_errno.3\ +audit_fstype_to_name.3 audit_name_to_fstype.3 \ +audit_name_to_action.3 \ +audit_flag_to_name.3 audit_name_to_flag.3 \ auparse_destroy.3 auparse_feed.3 auparse_feed_age_events.3 \ auparse_feed_has_data.3 auparse_find_field.3 \ auparse_find_field_next.3 auparse_first_field.3 auparse_first_record.3 \
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/docs/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -200,6 +201,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -211,8 +214,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -268,6 +273,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -321,6 +327,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -344,11 +351,17 @@ audit_log_acct_message.3 audit_log_user_avc_message.3 \ audit_log_user_command.3 audit_log_user_comm_message.3 \ audit_log_user_message.3 audit_log_semanage_message.3 \ -auparse_new_buffer.3 audit_open.3 audit_request_rules_list_data.3 \ +auparse_new_buffer.3 audit_open.3 audit_close.3 \ +audit_is_enabled.3 audit_request_rules_list_data.3 \ audit_request_signal_info.3 audit_request_status.3 audit.rules.7 \ audit_set_backlog_limit.3 audit_set_enabled.3 audit_set_failure.3 \ audit_setloginuid.3 audit_set_pid.3 audit_set_rate_limit.3 \ -audit_update_watch_perms.3 auparse_add_callback.3 \ +audit_update_watch_perms.3 audit_value_needs_encoding.3 \ +audit_encode_value.3 auparse_add_callback.3 audit_name_to_syscall.3 \ +audit_syscall_to_name.3 audit_name_to_errno.3\ +audit_fstype_to_name.3 audit_name_to_fstype.3 \ +audit_name_to_action.3 \ +audit_flag_to_name.3 audit_name_to_flag.3 \ auparse_destroy.3 auparse_feed.3 auparse_feed_age_events.3 \ auparse_feed_has_data.3 auparse_find_field.3 \ auparse_find_field_next.3 auparse_first_field.3 auparse_first_record.3 \ @@ -591,7 +604,6 @@ cscope cscopelist: - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audispd-zos-remote.8 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audispd-zos-remote.8
Changed
@@ -18,7 +18,7 @@ .\" Changelog: .\" 2007-10-06, created by Klaus Heinrich Kiwi <klausk@br.ibm.com> .\" -.TH AUDISP-RACF 8 "Oct 2007" "IBM" "System Administration Utilities" +.TH AUDISPD-ZOS-REMOTE 8 "Oct 2007" "IBM" "System Administration Utilities" .SH NAME audispd\-zos\-remote \- z/OS Remote-services Audit dispatcher plugin .SH SYNOPSIS @@ -71,7 +71,7 @@ .SH IBM z/OS ITDS Server and RACF configuration In order to use this plugin, you must have an IBM z/OS v1R8 (or higher) server with IBM Tivoli Directory Server (ITDS) configured for Remote Audit service. For more detailed information about how to configure the z/OS server for Remote Auditing, refer to -.B z/OS V1R8.0-9.0 Intergrated Security Services Enterprise Identity Mapping (EIM) Guide and Reference +.B z/OS V1R8.0-9.0 Integrated Security Services Enterprise Identity Mapping (EIM) Guide and Reference .nf .RI ( http://publibz.boulder.ibm.com/cgi\-bin/bookmgr_OS390/FRAMESET/EIMA1140/CCONTENTS?DT=20070827115119 ), chapter "2.0 - Working with remote services". @@ -196,7 +196,7 @@ this list will bring all the field names and values in a .B fieldname=value format, as a type 114 -.RB ( "Appication specific Data" ) +.RB ( "Application specific Data" ) relocate. The plug-in will try to interpret those fields (i.e.: use human-readable username .B root instead of numeric userid @@ -222,14 +222,14 @@ The user ID associated with the ITDS doesn't have READ access to the IRR.AUDITX FACILITY Class profile. See .B IBM z/OS RACF Server configuration .TP -.B UNSUF_AUTH - The user has unsuficient authority for the requested function +.B UNSUF_AUTH - The user has unsufficient authority for the requested function The RACF user ID used to perform Remote Audit requests (as configured in .BR zos-remote.conf (5)) don't have access to the IRR.LDAP.REMOTE.AUDIT FACILITY Class profile. See .B IBM z/OS RACF Server configuration .SH BUGS -The plugin currently does remote auditing in a best-effort basis, and will dischard events in case the z/OS server cannot be contacted (network failures) or in any other case that event submission fails. +The plugin currently does remote auditing in a best-effort basis, and will discard events in case the z/OS server cannot be contacted (network failures) or in any other case that event submission fails. .SH FILES /etc/audit/plugins.d/audispd\-zos\-remote.conf
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit.rules.7 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit.rules.7
Changed
@@ -1,4 +1,4 @@ -.TH AUDIT.RULES: "7" "Jan 2019" "Red Hat" "System Administration Utilities" +.TH AUDIT.RULES "7" "Jan 2019" "Red Hat" "System Administration Utilities" .SH NAME audit.rules \- a set of rules loaded in the kernel audit system .SH DESCRIPTION @@ -43,7 +43,7 @@ .SS System Call The system call rules are loaded into a matching engine that intercepts each syscall that all programs on the system makes. Therefore it is very important to only use syscall rules when you have to since these affect performance. The more rules, the bigger the performance hit. You can help the performance, though, by combining syscalls into one rule whenever possible. -The Linux kernel has 4 rule matching lists or filters as they are sometimes called. They are: task, exit, user, and exclude. The task list is checked only during the fork or clone syscalls. It is rarely used in practice. +The Linux kernel has 5 rule matching lists or filters as they are sometimes called. They are: task, exit, user, exclude, and filesystem. The task list is checked only during the fork or clone syscalls. It is rarely used in practice. The exit filter is the place where all syscall and file system audit requests are evaluated. @@ -71,7 +71,7 @@ .RE The action and list are separated by a comma but no space in between. Valid lists are: -.IR task ", " exit ", " user ", and " exclude ". Their meaning was explained earlier. +.IR task ", " exit ", " user ", " exclude ", and " filesystem ". Their meaning was explained earlier. Next in the rule would normally be the .B \-S @@ -113,7 +113,7 @@ This will give an ordered listing of the keys associated with rules that have been triggering. If, for example, you had a syscall audit rule that triggered on the failure to open files with EPERM that had a key field of access like this: .nf -\-a always,exit \-F arch=b64 \-S open \-S openat \-F exit=\-EPERM \-k access +\-a always,exit \-F arch=b64 \-S open \-S openat \-S openat2 \-F exit=\-EPERM \-k access .fi Then you can isolate these failures with ausearch and pipe the results to aureport for display. Suppose your investigation noticed a lot of the access denied events. If you wanted to see the files that unauthorized access has been attempted, you could run the following command: @@ -166,10 +166,10 @@ The following rule shows how to audit failed access to files due to permission problems. Note that it takes two rules for each arch ABI to audit this since file access can fail with two different failure codes indicating permission problems. .nf -.B \-a always,exit \-F arch=b32 \-S open \-S openat \-F exit=\-EACCES \-k access -.B \-a always,exit \-F arch=b32 \-S open \-S openat \-F exit=\-EPERM \-k access -.B \-a always,exit \-F arch=b64 \-S open \-S openat \-F exit=\-EACCES \-k access -.B \-a always,exit \-F arch=b64 \-S open \-S openat \-F exit=\-EPERM \-k access +.B \-a always,exit \-F arch=b32 \-S open \-S openat \-S openat2 \-F exit=\-EACCES \-k access +.B \-a always,exit \-F arch=b32 \-S open \-S openat \-S openat2 \-F exit=\-EPERM \-k access +.B \-a always,exit \-F arch=b64 \-S open \-S openat \-S openat2 \-F exit=\-EACCES \-k access +.B \-a always,exit \-F arch=b64 \-S open \-S openat \-S openat2 \-F exit=\-EPERM \-k access .fi .SH HARD WIRED EVENTS
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_add_rule_data.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_add_rule_data.3
Changed
@@ -4,11 +4,11 @@ .SH "SYNOPSIS" .B #include <libaudit.h> .sp -int audit_add_rule_data (int fd, struct audit_rule_data *rule, int flags, int action); +int audit_add_rule_data(int fd, struct audit_rule_data *rule, int flags, int action); .SH "DESCRIPTION" -audit_add_rule adds an audit rule previously constructed with audit_rule_fieldpair_data(3) to one of several kernel event filters. The filter is specified by the flags argument. Possible values for flags are: +audit_add_rule_data adds an audit rule previously constructed with audit_rule_fieldpair_data(3) to one of several kernel event filters. The filter is specified by the flags argument. Possible values for flags are: .TP 3 \(bu @@ -45,7 +45,7 @@ .SH "SEE ALSO" -.BR audit_rule_fieldpair_data(3), +.BR audit_rule_fieldpair_data (3), .BR audit_delete_rule_data (3), .BR auditctl (8).
View file
_service:tar_scm:audit-3.0.9.tar.gz/docs/audit_close.3
Added
@@ -0,0 +1,27 @@ +.TH "AUDIT_CLOSE" "3" "Apr 2021" "Red Hat" "Linux Audit API" +.SH NAME +audit_close \- Close the audit netlink socket connection +.SH "SYNOPSIS" +.nf +.B #include <libaudit.h> +.PP +.BI "void audit_close(int " fd ); +.fi +.SH "DESCRIPTION" +.BR audit_close () +closes the NETLINK_AUDIT socket that communicates with the kernel part of the Linux Audit Subsystem. +.I fd +must have been returned by +.BR audit_open (3). + +.SH "RETURN VALUE" + +None. + +.SH "SEE ALSO" + +.BR audit_open (3), +.BR netlink (7). + +.SH AUTHOR +Steve Grubb
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_delete_rule_data.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_delete_rule_data.3
Changed
@@ -4,7 +4,7 @@ .SH "SYNOPSIS" .B #include <libaudit.h> .sp -int audit_delete_rule_data (int fd, struct audit_rule_data *rule, int flags, int action); +int audit_delete_rule_data(int fd, struct audit_rule_data *rule, int flags, int action); .SH "DESCRIPTION"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_detect_machine.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_detect_machine.3
Changed
@@ -4,7 +4,7 @@ .SH "SYNOPSIS" .B #include <libaudit.h> .sp -int audit_detect_machine (void); +int audit_detect_machine(void); .SH "DESCRIPTION"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_encode_nv_string.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_encode_nv_string.3
Changed
@@ -9,7 +9,7 @@ .SH DESCRIPTION This function is used to encode a name/value pair. This should be used on any field being logged that potentially contains a space, a double-quote, or a control character. Any value containing those have to be specially encoded for the auparse library to correctly handle the value. The encoding method is designed to prevent log injection attacks where malicious values could cause parsing errors. -To use this function, pass the name string and value strings on their respective arguments. If the value is likely to have a NUL value embedded within it, you will need to pass a value length that tells in bytes how big the value is. Otherwise, you can pass a 0 for vlen and the function will simply use strlen against the value pointer. Also be aware that the name of the field will cause auparse to do certain things when interpretting the value. If the name is uid, a user id value in decimal is expected. Make sure that well known names are used for their intended purpose or that there is no chance of name collision with something new. +To use this function, pass the name string and value strings on their respective arguments. If the value is likely to have a NUL value embedded within it, you will need to pass a value length that tells in bytes how big the value is. Otherwise, you can pass a 0 for vlen and the function will simply use strlen against the value pointer. Also be aware that the name of the field will cause auparse to do certain things when interpreting the value. If the name is uid, a user id value in decimal is expected. Make sure that well known names are used for their intended purpose or that there is no chance of name collision with something new. .SH "RETURN VALUE"
View file
_service:tar_scm:audit-3.0.9.tar.gz/docs/audit_encode_value.3
Added
@@ -0,0 +1,36 @@ +.TH "AUDIT_ENCODE_VALUE" "3" "May 2021" "Red Hat" "Linux Audit API" +.SH NAME +audit_encode_value \- encode input string to ASCII code string +.SH "SYNOPSIS" +.nf +.B #include <libaudit.h> +.PP +.BI "char *audit_encode_value(char *" final ", const char *" buf ", unsigned int " size "); +.fi +.SH "DESCRIPTION" +.BR audit_encode_value () +encodes a string given by +.I buf +to a ASCII code string. +.I final +is the hexadecimal string encoded to ASCII code. +.I size +is the length of the string given by +.IR buf . + +e.g.: "foo bar" is encoded as "666F6F20626172". "\\1\\2\\3\\4" is encoded as "01020304". + +.SH "RETURN VALUE" + +Returns a encoded string same as +.I final +or, NULL on error. + +.SH "SEE ALSO" + +.BR audit_encode_nv_string (3), +.BR audit_value_needs_encoding (3). + +.SH AUTHOR +Steve Grubb +
View file
_service:tar_scm:audit-3.0.9.tar.gz/docs/audit_flag_to_name.3
Added
@@ -0,0 +1,25 @@ +.TH "AUDIT_FLAG_TO_NAME" "3" "Mar 2022" "Red Hat" "Linux Audit API" +.SH NAME +audit_flag_to_name \- Convert the numeric rule-matching filter value to the rule-matching filter name +.SH "SYNOPSIS" +.nf +.B #include <libaudit.h> +.PP +.BI "const char *audit_flag_to_name(int " flag ); +.fi +.SH "DESCRIPTION" +.BR audit_flag_to_name () +converts the numeric rule-matching filter value (AUDIT_FILTER_TASK, AUDIT_FILTER_EXIT, AUDIT_FILTER_USER, AUDIT_FILTER_EXCLUDE, AUDIT_FILTER_FS) to the rule-matching filter name ("task", "exit", "user", "exclude", "filesystem"). +.I flag +is the numeric rule-matching filter value. + +.SH "RETURN VALUE" + +Returns NULL if an error occurs; otherwise, the return value is the rule-matching filter name. + +.SH "SEE ALSO" + +.BR audit_name_to_flag (3), + +.SH AUTHOR +Steve Grubb
View file
_service:tar_scm:audit-3.0.9.tar.gz/docs/audit_fstype_to_name.3
Added
@@ -0,0 +1,25 @@ +.TH "AUDIT_FSTYPE_TO_NAME" "3" "Mar 2022" "Red Hat" "Linux Audit API" +.SH NAME +audit_fstype_to_name \- Convert the numeric fstype value to the fstype name +.SH "SYNOPSIS" +.nf +.B #include <libaudit.h> +.PP +.BI "const char *audit_fstype_to_name(int " fstype ); +.fi +.SH "DESCRIPTION" +.BR audit_fstype_to_name () +converts the numeric fstype value (0x64626720 or 0x74726163) to the fstype name ("debugfs" or "tracefs"). +.I fstype +is the numeric fstype value. + +.SH "RETURN VALUE" + +Returns NULL if an error occurs; otherwise, the return value is the fstype name. + +.SH "SEE ALSO" + +.BR audit_name_to_fstype (3), + +.SH AUTHOR +Steve Grubb
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_get_reply.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_get_reply.3
Changed
@@ -11,7 +11,7 @@ .SH "RETURN VALUE" -This function returns \-1 on error, 0 if error response received, and positive value on success. +This function returns \-errno on error, 0 if error response received, and positive value on success. .SH "SEE ALSO"
View file
_service:tar_scm:audit-3.0.9.tar.gz/docs/audit_is_enabled.3
Added
@@ -0,0 +1,27 @@ +.TH "AUDIT_IS_ENABLED" "3" "May 2021" "Red Hat" "Linux Audit API" +.SH NAME +audit_is_enabled \- judge whether auditing is enabled or not +.SH "SYNOPSIS" +.nf +.B #include <libaudit.h> +.PP +.BI "int audit_is_enabled(int " fd "); +.fi +.SH "DESCRIPTION" +.BR audit_is_enabled () +judges whether auditing is enabled or not. +.I fd +must have been returned by +.BR audit_open (3). + +.SH "RETURN VALUE" + +This function will return 0 if auditing is NOT enabled and 1 if enabled, and -1 on error. + +.SH "SEE ALSO" + +.BR audit_set_enabled (3). + +.SH AUTHOR +Steve Grubb +
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_log_semanage_message.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_log_semanage_message.3
Changed
@@ -13,7 +13,7 @@ .SH DESCRIPTION This function will log a message to the audit system using a predefined -message format. It should be used for all SE linux user and role +message format. It should be used for all SE Linux user and role manipulation operations. The function parameters are as follows: .nf
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_log_user_avc_message.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_log_user_avc_message.3
Changed
@@ -33,7 +33,7 @@ .BR audit_log_user_message (3), .BR audit_log_acct_message (3), -.BR audit_log_user_avc_message (3), +.BR audit_log_user_comm_message (3), .BR audit_log_semanage_message (3). .SH AUTHOR
View file
_service:tar_scm:audit-3.0.9.tar.gz/docs/audit_name_to_action.3
Added
@@ -0,0 +1,32 @@ +.TH "AUDIT_NAME_TO_ACTION" "3" "Mar 2022" "Red Hat" "Linux Audit API" +.SH NAME +audit_name_to_action, audit_action_to_name \- Convert the action name to the numeric action value to each other +.SH "SYNOPSIS" +.nf +.B #include <libaudit.h> +.PP +.BI "int audit_name_to_action(const char " *action ); +.PP +.BI "const char *audit_action_to_name(int " action ); +.fi +.SH "DESCRIPTION" +.BR audit_name_to_action () +converts the action name ("never", "possible", "always") to the numeric action value (AUDIT_NEVER, AUDIT_POSSIBLE, AUDIT_ALWAYS). +.I action +is the action name. +.PP +.BR audit_action_to_name () +converts the numeric action value (AUDIT_NEVER, AUDIT_POSSIBLE, AUDIT_ALWAYS) to the action name ("never", "possible", "always"). +.I action +is the numeric action value + +.SH "RETURN VALUE" + +.BR audit_name_to_action () +returns -1 if an error occurs; otherwise, the return value is the numeric action value. +.PP +.BR audit_action_to_name () +returns NULL if an error occurs; otherwise, the return value is the action name. + +.SH AUTHOR +Steve Grubb
View file
_service:tar_scm:audit-3.0.9.tar.gz/docs/audit_name_to_errno.3
Added
@@ -0,0 +1,32 @@ +.TH "AUDIT_NAME_TO_ERRNO" "3" "Mar 2022" "Red Hat" "Linux Audit API" +.SH NAME +audit_name_to_errno, audit_errno_to_name \- Convert the errno name and the numeric errno value to each other +.SH "SYNOPSIS" +.nf +.B #include <libaudit.h> +.PP +.BI "int audit_name_to_errno(const char " *error ); +.PP +.BI "const char *audit_errno_to_name(int " error ); +.fi +.SH "DESCRIPTION" +.BR audit_name_to_errno () +converts the errno name ("EPERM", "ENOENT", "ESRCH", etc.) to the numeric errno value (EPERM, ENOENT, ESRCH, etc.). +.I error +is the errno name. +.PP +.BR audit_errno_to_name () +converts the numeric errno value (EPERM, ENOENT, ESRCH, etc.) to the errno name ("EPERM", "ENOENT", "ESRCH", etc.). +.I error +is the numeric errno value. + +.SH "RETURN VALUE" + +.BR audit_name_to_errno () +returns 0 if an error occurs; otherwise, the return value is the numeric errno value. +.PP +.BR audit_errno_to_name () +returns NULL if an error occurs; otherwise, the return value is the errno name. + +.SH AUTHOR +Steve Grubb
View file
_service:tar_scm:audit-3.0.9.tar.gz/docs/audit_name_to_flag.3
Added
@@ -0,0 +1,25 @@ +.TH "AUDIT_NAME_TO_FLAG" "3" "Mar 2022" "Red Hat" "Linux Audit API" +.SH NAME +audit_name_to_flag \- Convert the rule-matching filter name to the numeric rule-matching filter value +.SH "SYNOPSIS" +.nf +.B #include <libaudit.h> +.PP +.BI "int audit_name_to_flag(const char " *flag ); +.fi +.SH "DESCRIPTION" +.BR audit_name_to_flag () +converts the rule-matching filter name ("task", "exit", "user", "exclude", "filesystem") to the numeric rule-matching filter value (AUDIT_FILTER_TASK, AUDIT_FILTER_EXIT, AUDIT_FILTER_USER, AUDIT_FILTER_EXCLUDE, AUDIT_FILTER_FS). +.I flag +is the rule-matching filter name. + +.SH "RETURN VALUE" + +Returns -1 if an error occurs; otherwise, the return value is the numeric rule-matching filter value. + +.SH "SEE ALSO" + +.BR audit_flag_to_name (3), + +.SH AUTHOR +Steve Grubb
View file
_service:tar_scm:audit-3.0.9.tar.gz/docs/audit_name_to_fstype.3
Added
@@ -0,0 +1,25 @@ +.TH "AUDIT_NAME_TO_FSTYPE" "3" "Mar 2022" "Red Hat" "Linux Audit API" +.SH NAME +audit_name_to_fstype \- Convert the fstype name to the numeric fstype value +.SH "SYNOPSIS" +.nf +.B #include <libaudit.h> +.PP +.BI "int audit_name_to_fstype(const char " *name ); +.fi +.SH "DESCRIPTION" +.BR audit_name_to_fstype () +converts the fstype name ("debugfs" or "tracefs") to the numeric fstype value (0x64626720 or 0x74726163). +.I name +is the fstype name. + +.SH "RETURN VALUE" + +Returns -1 if an name occurs; otherwise, the return value is the numeric fstype value. + +.SH "SEE ALSO" + +.BR audit_fstype_to_name (3), + +.SH AUTHOR +Steve Grubb
View file
_service:tar_scm:audit-3.0.9.tar.gz/docs/audit_name_to_syscall.3
Added
@@ -0,0 +1,31 @@ +.TH "AUDIT_NAME_TO_SYSCALL" "3" "Nov 2021" "Red Hat" "Linux Audit API" +.SH NAME +audit_name_to_syscall \- Convert the syscall name to the numeric syscall value +.SH "SYNOPSIS" +.nf +.B #include <libaudit.h> +.PP +.BI "int audit_name_to_syscall(const char " *sc ", int " machine ); +.fi +.SH "DESCRIPTION" +.BR audit_name_to_syscall () +converts the syscall name to the numeric syscall value. +.I sc +is the syscall name. +.I machine +is the enum value of the machine type defined in machine_t. +.I machine +can be obtained by calling +.BR audit_detect_machine (3). + +.SH "RETURN VALUE" + +Returns -1 if an error occurs; otherwise, the return value is the numeric syscall value. + +.SH "SEE ALSO" + +.BR audit_syscall_to_name (3), +.BR audit_detect_machine (3). + +.SH AUTHOR +Steve Grubb
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_open.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_open.3
Changed
@@ -4,7 +4,7 @@ .SH "SYNOPSIS" .B #include <libaudit.h> .sp -int audit_open (void); +int audit_open(void); .SH "DESCRIPTION"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_request_rules_list_data.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_request_rules_list_data.3
Changed
@@ -1,10 +1,10 @@ -.TH "AUDIT_REQUEST_LIST_DATA" "3" "Oct 2006" "Red Hat" "Linux Audit API" +.TH "AUDIT_REQUEST_RULES_LIST_DATA" "3" "Oct 2006" "Red Hat" "Linux Audit API" .SH NAME audit_request_rules_list_data \- Request list of current audit rules .SH "SYNOPSIS" .B #include <libaudit.h> .sp -int audit_request_rules_list_data (int fd); +int audit_request_rules_list_data(int fd); .SH "DESCRIPTION"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_request_signal_info.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_request_signal_info.3
Changed
@@ -1,4 +1,4 @@ -.TH "AUDIT_" "3" "Feb 2007" "Red Hat" "Linux Audit API" +.TH "AUDIT_REQUEST_SIGNAL_INFO" "3" "Feb 2007" "Red Hat" "Linux Audit API" .SH NAME audit_request_signal_info \- Request signal info for the audit system .SH "SYNOPSIS"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_request_status.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_request_status.3
Changed
@@ -5,7 +5,7 @@ .B #include <libaudit.h> .sp -int audit_request_status (int fd); +int audit_request_status(int fd); .SH "DESCRIPTION"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_set_backlog_limit.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_set_backlog_limit.3
Changed
@@ -5,7 +5,7 @@ .B #include <libaudit.h> .sp -int audit_set_backlog_limit (int fd, int limit); +int audit_set_backlog_limit(int fd, uint32_t limit); .SH "DESCRIPTION"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_set_backlog_wait_time.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_set_backlog_wait_time.3
Changed
@@ -5,7 +5,7 @@ .B #include <libaudit.h> .sp -int audit_set_backlog_wait_time (int fd, int wait_time); +int audit_set_backlog_wait_time(int fd, uint32_t bwt); .SH "DESCRIPTION"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_set_enabled.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_set_enabled.3
Changed
@@ -5,7 +5,7 @@ .B #include <libaudit.h> .sp -int audit_set_enabled (int fd, int enabled); +int audit_set_enabled(int fd, uint32_t enabled); .SH "DESCRIPTION"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_set_failure.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_set_failure.3
Changed
@@ -5,7 +5,7 @@ .B #include <libaudit.h> .sp -int audit_set_failure(int fd, int failure); +int audit_set_failure(int fd, uint32_t failure); .SH "DESCRIPTION" @@ -29,7 +29,7 @@ .SH "SEE ALSO" -.BR audit_set_backlog (3), +.BR audit_set_backlog_limit (3), .BR audit_open (3), .BR auditd (8), .BR auditctl (8).
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_set_pid.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_set_pid.3
Changed
@@ -5,7 +5,7 @@ .B #include <libaudit.h> .sp -int audit_set_pid (int fd, int pid, rep_wait_t wmode); +int audit_set_pid(int fd, uint32_t pid, rep_wait_t wmode); .SH "DESCRIPTION"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_set_rate_limit.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_set_rate_limit.3
Changed
@@ -5,7 +5,7 @@ .B #include <libaudit.h> .sp -int audit_set_rate_limit (int fd, int limit); +int audit_set_rate_limit(int fd, uint32_t limit); .SH "DESCRIPTION"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/audit_setloginuid.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/audit_setloginuid.3
Changed
@@ -10,7 +10,7 @@ This function sets the task attribute loginuid with the value of uid. The loginuid value may only be set by programs with the CAP_AUDIT_CONTROL capability. This normally means the root account. .sp -The loginuid value is part of the task structure and is inheritted by child processes. It is used to track what account a user gained system access with. All system entry point programs should set this value right before changing to the uid of the user granted access so that audit events are properly attributed to the that user. +The loginuid value is part of the task structure and is inherited by child processes. It is used to track what account a user gained system access with. All system entry point programs should set this value right before changing to the uid of the user granted access so that audit events are properly attributed to the that user. .SH "RETURN VALUE"
View file
_service:tar_scm:audit-3.0.9.tar.gz/docs/audit_syscall_to_name.3
Added
@@ -0,0 +1,31 @@ +.TH "AUDIT_SYSCALL_TO_NAME" "3" "Nov 2021" "Red Hat" "Linux Audit API" +.SH NAME +audit_syscall_to_name \- Convert the numeric syscall value to the syscall name +.SH "SYNOPSIS" +.nf +.B #include <libaudit.h> +.PP +.BI "const char *audit_syscall_to_name(int " sc ", int " machine ); +.fi +.SH "DESCRIPTION" +.BR audit_syscall_to_name () +converts the numeric syscall value to the syscall name. +.I sc +is the numeric syscall value. +.I machine +is the enum value of the machine type defined in machine_t. +.I machine +can be obtained by calling +.BR audit_detect_machine (3). + +.SH "RETURN VALUE" + +Returns NULL if an error occurs; otherwise, the return value is the syscall name. + +.SH "SEE ALSO" + +.BR audit_name_to_syscall (3), +.BR audit_detect_machine (3). + +.SH AUTHOR +Steve Grubb
View file
_service:tar_scm:audit-3.0.9.tar.gz/docs/audit_value_needs_encoding.3
Added
@@ -0,0 +1,27 @@ +.TH "AUDIT_VALUE_NEEDS_ENCODING" "3" "Apr 2021" "Red Hat" "Linux Audit API" +.SH NAME +audit_value_needs_encoding \- check a string to see if it needs encoding +.SH "SYNOPSIS" +.nf +.B #include <libaudit.h> +.PP +.BI "int audit_value_needs_encoding(const char *" str ", unsigned int " size "); +.fi +.SH "DESCRIPTION" +.BR audit_value_needs_encoding () +checks a string to see if it needs encoding. Specifically, this function checks if the string contains a space, a double-quote, or a control character. +.I str +is the string to check if encoding is needed. +.I size +is the length of str. + +.SH "RETURN VALUE" + +The return value if encoding is needed is 1. If not needed is 0. + +.SH "SEE ALSO" + +.BR audit_encode_nv_string (3). + +.SH AUTHOR +Steve Grubb
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/auditctl.8 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/auditctl.8
Changed
@@ -1,4 +1,4 @@ -.TH AUDITCTL: "8" "Aug 2018" "Red Hat" "System Administration Utilities" +.TH AUDITCTL "8" "July 2021" "Red Hat" "System Administration Utilities" .SH NAME auditctl \- a utility to assist controlling the kernel's audit system .SH SYNOPSIS @@ -11,7 +11,7 @@ Set max number (limit) of outstanding audit buffers allowed (Kernel Default=64) If all buffers are full, the failure flag is consulted by the kernel for action. .TP .BI \-\-backlog_wait_time \ \fIwait_time\fP -Set the time for the kernel to wait (Kernel Default 60*HZ) when the backlog limit is reached before queuing more audit events to be transferred to auditd. The number must be greater than or equal to zero and less that 10 times the default value. +Set the time for the kernel to wait (Kernel Default 60*HZ) when the backlog limit is reached before queuing more audit events to be transferred to auditd. The number must be greater than or equal to zero and less than 10 times the default value. .TP .BI \-\-reset_backlog_wait_time_actual Reset the actual backlog wait time counter shown by the status command. @@ -52,7 +52,7 @@ .BI \-R\ file Read rules from a \fIfile\fP. The rules must be 1 per line and in the order that they are to be executed in. The rule file must be owned by root and not readable by other users or it will be rejected. The rule file may have comments embedded by starting the line with a '#' character. Rules that are read from a file are identical to what you would type on a command line except they are not preceded by auditctl (since auditctl is the one executing the file) and you would not use shell escaping since auditctl is reading the file instead of bash. .TP -.BI \-\-signal signal +.BI \-\-signal\ signal Send a signal to the audit daemon. You must have privileges to do this. Supported signals are .I TERM, HUP, USR1, USR2, CONT. .TP @@ -261,7 +261,7 @@ Any \fIsyscall name\fP or \fInumber\fP may be used. The word '\fBall\fP' may also be used. If the given syscall is made by a program, then start an audit record. If a field rule is given and no syscall is specified, it will default to all syscalls. You may also specify multiple syscalls in the same rule by using multiple \-S options in the same rule. Doing so improves performance since fewer rules need to be evaluated. Alternatively, you may pass a comma separated list of syscall names. If you are on a bi-arch system, like x86_64, you should be aware that auditctl simply takes the text, looks it up for the native arch (in this case b64) and sends that rule to the kernel. If there are no additional arch directives, IT WILL APPLY TO BOTH 32 & 64 BIT SYSCALLS. This can have undesirable effects since there is no guarantee that any syscall has the same number on both 32 and 64 bit interfaces. You will likely want to control this and write 2 rules, one with arch equal to b32 and one with b64 to make sure the kernel finds the events that you intend. See the arch field discussion for more info. .TP .BI \-w\ path -Insert a watch for the file system object at \fIpath\fP. You cannot insert a watch to the top level directory. This is prohibited by the kernel. Wildcards are not supported either and will generate a warning. The way that watches work is by tracking the inode internally. If you place a watch on a file, its the same as using the \-F path option on a syscall rule. If you place a watch on a directory, its the same as using the \-F dir option on a syscall rule. The \-w form of writing watches is for backwards compatibility and the syscall based form is more expressive. Unlike most syscall auditing rules, watches do not impact performance based on the number of rules sent to the kernel. The only valid options when using a watch are the \-p and \-k. If you need to anything fancy like audit a specific user accessing a file, then use the syscall auditing form with the path or dir fields. See the EXAMPLES section for an example of converting one form to another. +Insert a watch for the file system object at \fIpath\fP. You cannot insert a watch to the top level directory. This is prohibited by the kernel. Wildcards are not supported either and will generate a warning. The way that watches work is by tracking the inode internally. If you place a watch on a file, its the same as using the \-F path option on a syscall rule. If you place a watch on a directory, its the same as using the \-F dir option on a syscall rule. The \-w form of writing watches is for backwards compatibility and the syscall based form is more expressive. Unlike most syscall auditing rules, watches do not impact performance based on the number of rules sent to the kernel. The only valid options when using a watch are the \-p and \-k. If you need to do anything fancy like audit a specific user accessing a file, then use the syscall auditing form with the path or dir fields. See the EXAMPLES section for an example of converting one form to another. .TP .BI \-W\ path Remove a watch for the file system object at \fIpath\fP. The rule must match exactly. See \fB-d\fP discussion for more info. @@ -292,7 +292,10 @@ To see all syscalls made by a specific program: .nf +# By pid: .B auditctl \-a always,exit \-S all \-F pid=1005 +# By executable path +.B auditctl \-a always,exit \-S all \-F exe=/usr/bin/ls .fi To see files opened by a specific user: @@ -327,12 +330,22 @@ .B auditctl \-a always,exit \-F dir=/home/ \-F uid=0 \-C auid!=obj_uid .fi +.SH DISABLED BY DEFAULT + +On many systems auditd is configured to install an +.B -a never,task +rule by default. This rule causes every new process to skip all audit rule processing. This is usually done to avoid a small performance overhead imposed by syscall auditing. If you want to use auditd, you need to remove that rule by deleting 10-no-audit.rules and adding 10-base-config.rules to the audit rules directory. + +If you have defined audit rules that are not matching when they should, check auditctl -l to make sure there is no never,task rule there. + .SH FILES .TP .I /etc/audit/audit.rules /etc/audit/audit-stop.rules .SH "SEE ALSO" .BR audit.rules (7), +.BR ausearch(8), +.BR aureport(8), .BR auditd (8). .SH AUTHOR
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/auditd-plugins.5 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/auditd-plugins.5
Changed
@@ -1,6 +1,6 @@ -.TH AUDIT-PLUGINS: "5" "Aug 2018" "Red Hat" "System Administration Utilities" +.TH AUDITD-PLUGINS "5" "Aug 2022" "Red Hat" "System Administration Utilities" .SH NAME -audit-plugins \- realtime event receivers +auditd-plugins \- realtime event receivers .SH DESCRIPTION \fBauditd\fP can multiplex audit events in realtime. It takes audit events and distributes them to child programs that want to analyze events in realtime. When the audit daemon receives a SIGTERM or SIGHUP, it passes that signal to its child processes so that can reload the configuration or terminate. @@ -8,7 +8,7 @@ .B plugin_dir if the admin wished to locate plugins somewhere else. But auditd will install its plugins in the default location. -The plugin directory will be scanned and every pluging that is active will be started. If the plugin has a problem and exits, it will be started a maximum of +The plugin directory will be scanned and every plugin that is active will be started. If the plugin has a problem and exits, it will be started a maximum of .B max_restarts times as found in auditd.conf. @@ -55,6 +55,17 @@ .IR string option tells the dispatcher to completely change the event into a string suitable for parsing with the audit parsing library. The default value is .IR string. + +.SH NOTE +auditd has an internal queue to hold events for plugins. (See the \fIq_depth\fP setting in \fIauditd.conf\fP.) Plugins have to watch for and dequeue events as fast as possible and queue them internally if they can't be immediately processed. If the plugin is not able to dequeue records, the auditd internal queue will get filled. At any time, as root, you can run the following to check auditd's metrics: + +auditctl --signal cont ; sleep 1 ; cat /var/run/auditd.state + +If auditd's internal queue fills, it cannot dequeue any events from the kernel backlog. If the kernel's backlog fills, it looks at the value of backlog_wait_time to delay all processes that generate an event to see if there is eventually room to add the event. This will likely be noticed as slowing down various processes on the machine. The kernel's audit subsystem can be checked by running: + +auditctl -s + +When tuning the audit system's performance, you'd want to check both kernel and auditd metrics and adjust accordingly. .SH FILES /etc/auditd/auditd.conf
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/auditd.8 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/auditd.8
Changed
@@ -1,4 +1,4 @@ -.TH "AUDITD" "8" "Sept 2013" "Red Hat" "System Administration Utilities" +.TH "AUDITD" "8" "Sept 2021" "Red Hat" "System Administration Utilities" .SH NAME auditd \- The Linux Audit daemon .SH SYNOPSIS @@ -35,24 +35,41 @@ be passed to the dispatcher. (default: /etc/audit/) .SH SIGNALS .TP -SIGHUP +.B SIGHUP causes auditd to reconfigure. This means that auditd re-reads the configuration file. If there are no syntax errors, it will proceed to implement the requested changes. If the reconfigure is successful, a DAEMON_CONFIG event is recorded in the logs. If not successful, error handling is controlled by space_left_action, admin_space_left_action, disk_full_action, and disk_error_action parameters in auditd.conf. .TP -SIGTERM +.B SIGTERM caused auditd to discontinue processing audit events, write a shutdown audit event, and exit. .TP -SIGUSR1 +.B SIGUSR1 causes auditd to immediately rotate the logs. It will consult the max_log_file_action to see if it should keep the logs or not. .TP -SIGUSR2 +.B SIGUSR2 causes auditd to attempt to resume logging and passing events to plugins. This is usually needed after logging has been suspended or the internal queue is overflowed. Either of these conditions depends on the applicable configuration settings. .TP -SIGCONT +.B SIGCONT causes auditd to dump a report of internal state to /var/run/auditd.state. +.SH EXIT CODES +.TP +.B 1 +Cannot adjust priority, daemonize, open audit netlink, write the pid file, start up plugins, resolve the machine name, set audit pid, or other initialization tasks. + +.TP +.B 2 +Invalid or excessive command line arguments + +.TP +.B 4 +The audit daemon doesn't have sufficient privilege + +.TP +.B 6 +There is an error in the configuration file + .SH FILES .B /etc/audit/auditd.conf - configuration file for audit daemon @@ -66,6 +83,9 @@ .B /etc/audit/plugins.d/ - directory holding individual plugin configuration files. .P +.B /etc/audit/audit-stop +- These rules are loaded when the audit daemon stops. +.P .B /var/run/auditd.state - report about internal state.
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/auditd.conf.5 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/auditd.conf.5
Changed
@@ -1,4 +1,4 @@ -.TH AUDITD.CONF: "5" "August 2018" "Red Hat" "System Administration Utilities" +.TH AUDITD.CONF "5" "August 2018" "Red Hat" "System Administration Utilities" .SH NAME auditd.conf \- audit daemon configuration file .SH DESCRIPTION @@ -148,7 +148,7 @@ .IR space_left is set to 25%, then the audit daemon sets .IR space_left -to approxiatemly 500 megabytes. Note that this calculation is performed when the audit daemon starts, so if you resize the filesystem containing +to approximately 500 megabytes. Note that this calculation is performed when the audit daemon starts, so if you resize the filesystem containing .IR log_file while the audit daemon is running, you should send the audit daemon SIGHUP to re-read the configuration file and recalculate the correct percentage. .TP @@ -207,8 +207,7 @@ .I single option will cause the audit daemon to put the computer system in single user mode. The .I halt -option will cause the audit daemon to shutdown the computer system. Except for r -otate, it will perform this action just one time. +option will cause the audit daemon to shutdown the computer system. Except for rotate, it will perform this action just one time. .TP .I disk_full_action This parameter tells the system what action to take when the system has @@ -286,7 +285,7 @@ by a dash (no spaces allowed). It indicates which client ports are allowed for incoming connections. If not specified, any port is allowed. Allowed values are 1..65535. For example, to require the -client use a priviledged port, specify +client use a privileged port, specify .I 1\-1023 for this parameter. You will also need to set the local_port option in the audisp-remote.conf file. Making sure that clients send from a privileged port is a security feature to prevent log injection attacks by untrusted users. .TP @@ -328,7 +327,7 @@ dispatcher for processing. The default is "no". .TP .I q_depth -This is a numeric value that tells how big to make the internal queue of the audit event dispatcher. A bigger queue lets it handle a flood of events better, but could hold events that are not processed when the daemon is terminated. If you get messages in syslog about events getting dropped, increase this value. The default value is 400. +This is a numeric value that tells how big to make the internal queue of the audit event dispatcher. A bigger queue lets it handle a flood of events better, but could hold events that are not processed when the daemon is terminated. If you get messages in syslog about events getting dropped, increase this value. The default value is 2000. .TP .I overflow_action This option determines how the daemon should react to overflowing its internal queue. When this happens, it means that more events are being received than it can pass along to child processes. This error means that it is going to lose the current event that it's trying to dispatch. This option has the following choices:
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/augenrules.8 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/augenrules.8
Changed
@@ -1,4 +1,4 @@ -.TH AUGENRULES: "8" "Apr 2013" "Red Hat" "System Administration Utilities" +.TH AUGENRULES "8" "Apr 2013" "Red Hat" "System Administration Utilities" .SH NAME augenrules \- a script that merges component audit rule files .SH SYNOPSIS
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/auparse_add_callback.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/auparse_add_callback.3
Changed
@@ -58,7 +58,7 @@ . .SH "RETURN VALUE" -Returns the previous callback pointer. +None. .SH "SEE ALSO"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/auparse_destroy.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/auparse_destroy.3
Changed
@@ -4,9 +4,9 @@ .SH "SYNOPSIS" .B #include <auparse.h> .sp -.B void auparse_destroy (auparse_state_t *au); +.B void auparse_destroy(auparse_state_t *au); -.B void auparse_destroy_ext (auparse_state_t *au, auparse_destroy_what_t what); +.B void auparse_destroy_ext(auparse_state_t *au, auparse_destroy_what_t what); .SH "DESCRIPTION"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/auparse_find_field.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/auparse_find_field.3
Changed
@@ -1,4 +1,4 @@ -.TH "AUPARSE_FIND_FIELD" "3" "Feb 2007" "Red Hat" "Linux Audit API" +.TH "AUPARSE_FIND_FIELD" "3" "June 2021" "Red Hat" "Linux Audit API" .SH NAME auparse_find_field \- search for field name .SH "SYNOPSIS" @@ -10,6 +10,8 @@ auparse_find_field will scan all records in an event to find the first occurrence of the field name passed to it. Searching begins from the cursor's current position. The field name is stored for subsequent searching. +NOTE: auparse creates 2 psuedo fields that do not exist in the natural record for SELinux AVC and USER_AVC decision and permissions. The field names are seresult and seperms respectively. + .SH "RETURN VALUE" Returns NULL field not found. If an error occurs errno will be set. Otherwise, it returns a pointer to the text value associated with the field.
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/auparse_get_field_type.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/auparse_get_field_type.3
Changed
@@ -12,7 +12,7 @@ .SH "RETURN VALUE" -Returns AUPARSE_TYPE_UNCLASSIFIED if the field's data type has no known description or is an integer. Otherwise it returns another enum. Fields with the type AUPARSE_TYPE_ESCAPED must be interpretted to access their value since those field's raw value is encoded. +Returns AUPARSE_TYPE_UNCLASSIFIED if the field's data type has no known description or is an integer. Otherwise it returns another enum. Fields with the type AUPARSE_TYPE_ESCAPED must be interpreted to access their value since those field's raw value is encoded. .SH "SEE ALSO"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/auparse_get_milli.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/auparse_get_milli.3
Changed
@@ -18,7 +18,6 @@ .BR auparse_get_timestamp (3), .BR auparse_get_time (3). -.BR auparse_get_milli (3). .BR auparse_get_node (3). .SH AUTHOR
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/auparse_get_type.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/auparse_get_type.3
Changed
@@ -16,7 +16,7 @@ .SH "SEE ALSO" -.BR auparse_get_type_name(3), auparse_next_record (3). +.BR auparse_get_type_name (3), auparse_next_record (3). .SH AUTHOR Steve Grubb
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/auparse_get_type_name.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/auparse_get_type_name.3
Changed
@@ -16,7 +16,7 @@ .SH "SEE ALSO" -.BR auparse_get_type(3), auparse_next_record(3). +.BR auparse_get_type (3), auparse_next_record (3). .SH AUTHOR Steve Grubb
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/auparse_set_eoe_timeout.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/auparse_set_eoe_timeout.3
Changed
@@ -8,7 +8,7 @@ .SH "DESCRIPTION" -auparse_set_eoe_timeout is used to set the end of event timeout value (seconds). The value should be a positive integer. If this function is called, it overides any setting in /etc/auditd.conf. +auparse_set_eoe_timeout is used to set the end of event timeout value (seconds). The value should be a positive integer. If this function is called, it overrides any setting in /etc/auditd.conf. The function should be called after the \fIauparse_init()\fP function call. For details on the timeout, see the \fBend_of_event_timeout\fP configuration item description in \fIauditd.conf(5)\fP.
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/auparse_set_escape_mode.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/auparse_set_escape_mode.3
Changed
@@ -8,7 +8,7 @@ .SH "DESCRIPTION" -auparse_set_escape_mode is used to set the escaping method that will be used to output interpretted text. The choices for the mode variable are: +auparse_set_escape_mode is used to set the escaping method that will be used to output interpreted text. The choices for the mode variable are: .RS .TP
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/aureport.8 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/aureport.8
Changed
@@ -1,4 +1,4 @@ -.TH AUREPORT: "8" "March 2017" "Red Hat" "System Administration Utilities" +.TH AUREPORT "8" "March 2017" "Red Hat" "System Administration Utilities" .SH NAME aureport \- a tool that produces summary reports of audit daemon logs .SH SYNOPSIS @@ -24,8 +24,11 @@ .BR \-cr ,\ \-\-crypto Report about crypto events .TP +.BR \-\-debug +Write malformed events that are skipped to stderr. +.TP .BR \-\-eoe\-timeout \ \fIseconds\fP -Set the end of event parsing timeout. See \fBend_of_event_timeout\fP in \fIauditd.conf(5)\fP for details. Note that setting this value will overide any configured value found in /etc/auditd/auditd.conf. +Set the end of event parsing timeout. See \fBend_of_event_timeout\fP in \fIauditd.conf(5)\fP for details. Note that setting this value will override any configured value found in /etc/auditd/auditd.conf. .TP .BR \-e ,\ \-\-event Report about events @@ -49,7 +52,7 @@ Interpret numeric entities into text. For example, uid is converted to account name. The conversion is done using the current resources of the machine where the search is being run. If you have renamed the accounts, or don't have the same accounts on your machine, you could get misleading results. .TP .BR \-if ,\ \-\-input \ \fIfile\fP\ |\ \fIdirectory\fP -Use the given \fIfile\fP or \fIdirectory\fP instead of the logs. This is to aid analysis where the logs have been moved to another machine or only part of a log was saved. +Use the given \fIfile\fP or \fIdirectory\fP instead of the logs. This is to aid analysis where the logs have been moved to another machine or only part of a log was saved. The path length is limited to 4064 bytes. .TP .B \-\-input\-logs Use the log file location from auditd.conf as input for analysis. This is needed if you are using aureport from a cron job.
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/ausearch.8 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/ausearch.8
Changed
@@ -1,4 +1,4 @@ -.TH AUSEARCH: "8" "March 2017" "Red Hat" "System Administration Utilities" +.TH AUSEARCH "8" "April 2021" "Red Hat" "System Administration Utilities" .SH NAME ausearch \- a tool to query audit daemon logs .SH SYNOPSIS @@ -50,7 +50,7 @@ .TP .BR \-\-eoe\-timeout \ \fIseconds\fP -Set the end of event parsing timeout. See \fBend_of_event_timeout\fP in \fIauditd.conf(5)\fP for details. Note that setting this value will overide any configured value found in /etc/auditd/auditd.conf. +Set the end of event parsing timeout. See \fBend_of_event_timeout\fP in \fIauditd.conf(5)\fP for details. Note that setting this value will override any configured value found in /etc/auditd/auditd.conf. .TP .BR \-e,\ \-\-exit \ \fIexit-code-or-errno\fP Search for an event based on the given syscall \fIexit code or errno\fP. @@ -95,7 +95,7 @@ Interpret numeric entities into text. For example, uid is converted to account name. If the audit logs are unenriched, the conversion is done using the current resources of the machine where the search is being run. If you have renamed the accounts, or don't have the same accounts on your machine, you could get misleading results. If the logs are enriched, it uses the supplemental data to do the conversion. This allows accurate log reporting even when run on a different machine than the original logs came from. .TP .BR \-if ,\ \-\-input \ \fIfile-name\fP\ |\ \fIdirectory\fP -Use the given \fIfile\fP or \fIdirectory\fP instead of the logs. This is to aid analysis where the logs have been moved to another machine or only part of a log was saved. +Use the given \fIfile\fP or \fIdirectory\fP instead of the logs. This is to aid analysis where the logs have been moved to another machine or only part of a log was saved. The path length is limited to 4064 bytes. .TP .BR \-\-input\-logs Use the log file location from auditd.conf as input for searching. This is needed if you are using ausearch from a cron job. @@ -195,7 +195,7 @@ Search for an event with the given \fIuser ID\fP. .TP .BR \-ul ,\ \-\-loginuid \ \fIlogin-id\fP -Search for an event with the given \fIlogin user ID\fP. All entry point programs that are pamified need to be configured with pam_loginuid required for the session for searching on loginuid (auid) to be accurate. +Search for an event with the given \fIlogin user ID\fP. All entry point programs that are PAMified need to be configured with pam_loginuid required for the session for searching on loginuid (auid) to be accurate. .TP .BR \-uu ,\ \-\-uuid \ \fIguest-uuid\fP Search for an event with the given \fIguest UUID\fP. @@ -218,7 +218,7 @@ if OK, .TP 1 -if nothing found, or argument errors or minor file acces/read errors, +if nothing found, or argument errors or minor file access/read errors, .TP 10 invalid checkpoint data found in checkpoint file, @@ -236,4 +236,5 @@ .SH "SEE ALSO" .BR auditd (8), .BR auditd.conf (5), +.BR aureport (8), .BR pam_loginuid (8).
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/ausearch_add_expression.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/ausearch_add_expression.3
Changed
@@ -1,4 +1,4 @@ -.TH "AUSEARCH_ADD_expression" "3" "Feb 2008" "Red Hat" "Linux Audit API" +.TH "AUSEARCH_ADD_EXPRESSION" "3" "Feb 2008" "Red Hat" "Linux Audit API" .SH NAME ausearch_add_expression \- build up search expression .SH "SYNOPSIS"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/ausearch_add_regex.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/ausearch_add_regex.3
Changed
@@ -4,7 +4,7 @@ .SH "SYNOPSIS" .B #include <auparse.h> .sp -int ausearch_add_regex(auparse_state_t *au, const char *expr); +int ausearch_add_regex(auparse_state_t *au, const char *regexp); .SH "DESCRIPTION"
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/autrace.8 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/autrace.8
Changed
@@ -1,4 +1,4 @@ -.TH AUTRACE: "8" "Jan 2007" "Red Hat" "System Administration Utilities" +.TH AUTRACE "8" "Jan 2007" "Red Hat" "System Administration Utilities" .SH NAME autrace \- a program similar to strace .SH SYNOPSIS
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/get_auditfail_action.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/get_auditfail_action.3
Changed
@@ -29,7 +29,7 @@ #include <libaudit.h> .sp .HP 19 -int\ \fBget_auditfail_action\fR\ (int *\fIfailmode\fR); +int\ \fBget_auditfail_action\fR(auditfail_t *\fIfailmode\fR); .ad .hy
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/libaudit.conf.5 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/libaudit.conf.5
Changed
@@ -1,10 +1,10 @@ -.TH LIBAUDIT.CONF: "5" "Oct 2009" "Red Hat" "System Administration Utilities" +.TH LIBAUDIT.CONF "5" "Oct 2009" "Red Hat" "System Administration Utilities" .SH NAME libaudit.conf \- libaudit configuration file .SH DESCRIPTION The file .I /etc/libaudit.conf -contains configuration information for user space applications that link to libaudit. The applications are responsible for querrying the settings in this file and obeying the admin's preferences. This file contains one configuration keyword per line, an equal sign, and then followed by appropriate configuration information. The keywords recognized are: +contains configuration information for user space applications that link to libaudit. The applications are responsible for querying the settings in this file and obeying the admin's preferences. This file contains one configuration keyword per line, an equal sign, and then followed by appropriate configuration information. The keywords recognized are: .IR failure_action ". These keywords are described below.
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/set_aumessage_mode.3 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/set_aumessage_mode.3
Changed
@@ -19,9 +19,9 @@ .el .ne 3 .IP "\\$1" \\$2 .. -.TH "SET_MESSAGE_MODE" 3 "2004-12-01" "Linux 2.6" "Linux Programmer's Manual" +.TH "SET_AUMESSAGE_MODE" 3 "2004-12-01" "Linux 2.6" "Linux Programmer's Manual" .SH NAME -set_message_mode \- Sets the message mode +set_aumessage_mode \- Sets the message mode .SH "SYNOPSIS" .ad l .hy 0 @@ -29,24 +29,32 @@ #include <libaudit.h> .sp .HP 23 -void\ \fBset_message_mode\fR\ (message_t\ \fImode\fR); +void\ \fBset_aumessage_mode\fR(message_t\ \fImode\fR, debug_message_t\ \fIdebug\fR); .ad .hy .SH "DESCRIPTION" .PP -\fBset_message_mode\fR sets the location where informational messages are sent. If \fImode\fR=0 (default), then informational messages are sent to stderr. If \fImode\fR=1, then informational messages are sent to syslog. +\fBset_aumessage_mode\fR sets the location where messages are sent and the output of the debug messages. + +If \fImode\fR=MSG_STDERR, then messages are sent to stderr. If \fImode\fR=MSG_SYSLOG, then messages are sent to syslog. If \fImode\fR=MSG_QUIET (default), then messages are not sent. + +If \fIdebug\fR=DBG_YES, then debug messages are output. If \fIdebug\fR=DBG_NO (default), then debug messages are not output. .SH "EXAMPLE" .nf /* Sample code */ -set_message_mode(MSG_SYSLOG) +set_aumessage_mode(MSG_SYSLOG, DBG_YES) .fi +.SH "RETURN VALUE" + +None. + .SH "SEE ALSO" .BR auditd (8),
View file
_service:tar_scm:audit-3.0.1.tar.gz/docs/zos-remote.conf.5 -> _service:tar_scm:audit-3.0.9.tar.gz/docs/zos-remote.conf.5
Changed
@@ -26,7 +26,7 @@ controls the configuration for the .BR audispd\-zos\-remote (8) Audit dispatcher plugin. The default location for this file is -.IR /etc/audisp/zos\-remote.conf , +.IR /etc/audit/zos\-remote.conf , however, a different file can be specified as the first argument to the .B audispd\-zos\-remote plugin. See @@ -56,7 +56,7 @@ .I q_depth The .B audispd\-zos\-remote -plugin will queue inputed events to the maximum of +plugin will queue inputted events to the maximum of .I q_depth events while trying to submit those remotely. This can handle burst of events or in case of a slow network connection. However, the .B audispd\-zos\-remote
View file
_service:tar_scm:audit-3.0.1.tar.gz/init.d/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/init.d/Makefile.am
Changed
@@ -13,8 +13,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -25,7 +26,7 @@ auditd.cron libaudit.conf auditd.condrestart \ auditd.reload auditd.restart auditd.resume \ auditd.rotate auditd.state auditd.stop \ - audit-stop.rules augenrules + audit-stop.rules augenrules audit-functions libconfig = libaudit.conf if ENABLE_SYSTEMD initdir = /usr/lib/systemd/system @@ -51,6 +52,7 @@ if ENABLE_SYSTEMD mkdir -p ${DESTDIR}${initdir} mkdir -p ${DESTDIR}${legacydir} + mkdir -p ${DESTDIR}${libexecdir} $(INSTALL_SCRIPT) -D -m 644 ${srcdir}/auditd.service ${DESTDIR}${initdir} $(INSTALL_SCRIPT) -D -m 750 ${srcdir}/auditd.rotate ${DESTDIR}${legacydir}/rotate $(INSTALL_SCRIPT) -D -m 750 ${srcdir}/auditd.resume ${DESTDIR}${legacydir}/resume @@ -59,6 +61,7 @@ $(INSTALL_SCRIPT) -D -m 750 ${srcdir}/auditd.stop ${DESTDIR}${legacydir}/stop $(INSTALL_SCRIPT) -D -m 750 ${srcdir}/auditd.restart ${DESTDIR}${legacydir}/restart $(INSTALL_SCRIPT) -D -m 750 ${srcdir}/auditd.condrestart ${DESTDIR}${legacydir}/condrestart + $(INSTALL_SCRIPT) -D -m 750 ${srcdir}/audit-functions ${DESTDIR}${libexecdir} else $(INSTALL_SCRIPT) -D ${srcdir}/auditd.init ${DESTDIR}${initdir}/auditd endif
View file
_service:tar_scm:audit-3.0.1.tar.gz/init.d/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/init.d/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -198,6 +199,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -209,8 +212,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -266,6 +271,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -319,6 +325,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -337,7 +344,7 @@ auditd.cron libaudit.conf auditd.condrestart \ auditd.reload auditd.restart auditd.resume \ auditd.rotate auditd.state auditd.stop \ - audit-stop.rules augenrules + audit-stop.rules augenrules audit-functions libconfig = libaudit.conf @ENABLE_SYSTEMD_FALSE@initdir = $(sysconfdir)/rc.d/init.d @@ -448,7 +455,6 @@ cscope cscopelist: - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am @@ -616,6 +622,7 @@ install-exec-hook: @ENABLE_SYSTEMD_TRUE@ mkdir -p ${DESTDIR}${initdir} @ENABLE_SYSTEMD_TRUE@ mkdir -p ${DESTDIR}${legacydir} +@ENABLE_SYSTEMD_TRUE@ mkdir -p ${DESTDIR}${libexecdir} @ENABLE_SYSTEMD_TRUE@ $(INSTALL_SCRIPT) -D -m 644 ${srcdir}/auditd.service ${DESTDIR}${initdir} @ENABLE_SYSTEMD_TRUE@ $(INSTALL_SCRIPT) -D -m 750 ${srcdir}/auditd.rotate ${DESTDIR}${legacydir}/rotate @ENABLE_SYSTEMD_TRUE@ $(INSTALL_SCRIPT) -D -m 750 ${srcdir}/auditd.resume ${DESTDIR}${legacydir}/resume @@ -624,6 +631,7 @@ @ENABLE_SYSTEMD_TRUE@ $(INSTALL_SCRIPT) -D -m 750 ${srcdir}/auditd.stop ${DESTDIR}${legacydir}/stop @ENABLE_SYSTEMD_TRUE@ $(INSTALL_SCRIPT) -D -m 750 ${srcdir}/auditd.restart ${DESTDIR}${legacydir}/restart @ENABLE_SYSTEMD_TRUE@ $(INSTALL_SCRIPT) -D -m 750 ${srcdir}/auditd.condrestart ${DESTDIR}${legacydir}/condrestart +@ENABLE_SYSTEMD_TRUE@ $(INSTALL_SCRIPT) -D -m 750 ${srcdir}/audit-functions ${DESTDIR}${libexecdir} @ENABLE_SYSTEMD_FALSE@ $(INSTALL_SCRIPT) -D ${srcdir}/auditd.init ${DESTDIR}${initdir}/auditd chmod 0750 $(DESTDIR)$(sbindir)/augenrules
View file
_service:tar_scm:audit-3.0.9.tar.gz/init.d/audit-functions
Added
@@ -0,0 +1,52 @@ +# -*-Shell-script-*- + +# Make sure umask is sane +umask 022 + +#/usr/libexec/audit/audit-functions + +# killproc {program} -signal +killproc () +{ + local daemon="$1" + local sig= + -n "${2:-}" && sig=$2 + + # This matches src/auditd.c + local pid_file="/var/run/auditd.pid" + local pid_dir=$(dirname $pid_file) + + if ! -d "$pid_dir" ; then + return 4 + fi + + local pid= + if -f "$pid_file" ; then + # pid file exists, use it + while : ; do + read line + -z "$line" && break + for p in $line ; do + # pid is numeric and corresponds to a process + if -z "${p//0-9/}" && -d "/proc/$p" ; then + d=$(cat "/proc/$p/comm") + if "$d" = "$daemon" ; then + pid="$p" + break + fi + fi + done + done < "$pid_file" + else + # need to search /proc + p=$(pidof "$daemon") + if -n "$p" ; then + pid="$p" + fi + fi + + # At this point we should have a pid or the process is dead + if -n "$pid" && -n "$sig" ; then + kill "$sig" "$pid" >/dev/null 2>&1 + fi +}
View file
_service:tar_scm:audit-3.0.1.tar.gz/init.d/auditd.conf -> _service:tar_scm:audit-3.0.9.tar.gz/init.d/auditd.conf
Changed
@@ -33,7 +33,8 @@ krb5_principal = auditd ##krb5_key_file = /etc/audit/audit.key distribute_network = no -q_depth = 400 +q_depth = 2000 overflow_action = SYSLOG max_restarts = 10 plugin_dir = /etc/audit/plugins.d +end_of_event_timeout = 2
View file
_service:tar_scm:audit-3.0.1.tar.gz/init.d/auditd.cron -> _service:tar_scm:audit-3.0.9.tar.gz/init.d/auditd.cron
Changed
@@ -1,14 +1,14 @@ #!/bin/sh ########## -# This script can be installed to get a daily log rotation -# based on a cron job. +# This script can be installed to the cron system to get log rotation +# based on time instead of log size. ########## -/sbin/service auditd rotate +/sbin/auditctl --signal usr1 EXITVALUE=$? if $EXITVALUE != 0 ; then - /usr/bin/logger -t auditd "ALERT exited abnormally with $EXITVALUE" + /usr/bin/logger -t auditd "ALERT auditctl exited abnormally with $EXITVALUE while rotating the logs" fi exit 0
View file
_service:tar_scm:audit-3.0.1.tar.gz/init.d/auditd.reload -> _service:tar_scm:audit-3.0.9.tar.gz/init.d/auditd.reload
Changed
@@ -7,7 +7,7 @@ PATH=/sbin:/bin:/usr/bin:/usr/sbin prog="auditd" -. /etc/rc.d/init.d/functions +. /usr/libexec/audit-functions printf "Reconfiguring: " /sbin/augenrules --load
View file
_service:tar_scm:audit-3.0.1.tar.gz/init.d/auditd.resume -> _service:tar_scm:audit-3.0.9.tar.gz/init.d/auditd.resume
Changed
@@ -7,7 +7,7 @@ PATH=/sbin:/bin:/usr/bin:/usr/sbin prog="auditd" -. /etc/rc.d/init.d/functions +. /usr/libexec/audit-functions printf "Resuming logging: " killproc $prog -USR2
View file
_service:tar_scm:audit-3.0.1.tar.gz/init.d/auditd.rotate -> _service:tar_scm:audit-3.0.9.tar.gz/init.d/auditd.rotate
Changed
@@ -7,7 +7,7 @@ PATH=/sbin:/bin:/usr/bin:/usr/sbin prog="auditd" -. /etc/rc.d/init.d/functions +. /usr/libexec/audit-functions printf "Rotating logs: " killproc $prog -USR1
View file
_service:tar_scm:audit-3.0.1.tar.gz/init.d/auditd.service -> _service:tar_scm:audit-3.0.9.tar.gz/init.d/auditd.service
Changed
@@ -13,6 +13,8 @@ Conflicts=shutdown.target RefuseManualStop=yes ConditionKernelCommandLine=!audit=0 +ConditionKernelCommandLine=!audit=off + Documentation=man:auditd(8) https://github.com/linux-audit/audit-documentation Service @@ -27,12 +29,16 @@ # By default we don't clear the rules on exit. To enable this, uncomment # the next line after copying the file to /etc/systemd/system/auditd.service #ExecStopPost=/sbin/auditctl -R /etc/audit/audit-stop.rules +Restart=on-failure +# Do not restart for intentional exits. See EXIT CODES section in auditd(8). +RestartPreventExitStatus=2 4 6 ### Security Settings ### MemoryDenyWriteExecute=true LockPersonality=true ProtectControlGroups=true ProtectKernelModules=true +RestrictRealtime=true Install WantedBy=multi-user.target
View file
_service:tar_scm:audit-3.0.1.tar.gz/init.d/auditd.state -> _service:tar_scm:audit-3.0.9.tar.gz/init.d/auditd.state
Changed
@@ -8,7 +8,7 @@ PATH=/sbin:/bin:/usr/bin:/usr/sbin prog="auditd" state_file="/var/run/auditd.state" -. /etc/rc.d/init.d/functions +. /usr/libexec/audit-functions printf "Getting auditd internal state: " killproc $prog -CONT
View file
_service:tar_scm:audit-3.0.1.tar.gz/init.d/auditd.stop -> _service:tar_scm:audit-3.0.9.tar.gz/init.d/auditd.stop
Changed
@@ -7,8 +7,12 @@ PATH=/sbin:/bin:/usr/bin:/usr/sbin prog="auditd" -. /etc/rc.d/init.d/functions -pid="$(__pids_pidof "$prog")" +. /usr/libexec/audit-functions +pid= +p=$(pidof "$prog") +if -n "$p" ; then + pid="$p" +fi printf "Stopping logging: " killproc $prog -TERM
View file
_service:tar_scm:audit-3.0.1.tar.gz/init.d/augenrules -> _service:tar_scm:audit-3.0.9.tar.gz/init.d/augenrules
Changed
@@ -27,7 +27,7 @@ DestinationFile=/etc/audit/audit.rules SourceRulesDir=/etc/audit/rules.d -TmpRules=`mktemp /tmp/aurules.XXXXXXXX` +TmpRules=$(mktemp /tmp/aurules.XXXXXXXX) ASuffix="prev" OnlyCheck=0 LoadRules=0
View file
_service:tar_scm:audit-3.0.1.tar.gz/install-sh -> _service:tar_scm:audit-3.0.9.tar.gz/install-sh
Changed
@@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2018-03-11.20; # UTC +scriptversion=2020-11-14.01; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -69,6 +69,11 @@ # Desired mode of installed file. mode=0755 +# Create dirs (including intermediate dirs) using mode 755. +# This is like GNU 'install' as of coreutils 8.32 (2020). +mkdir_umask=22 + +backupsuffix= chgrpcmd= chmodcmd=$chmodprog chowncmd= @@ -99,18 +104,28 @@ --version display version info and exit. -c (ignored) - -C install only if different (preserve the last data modification time) + -C install only if different (preserve data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. + -p pass -p to $cpprog. -s $stripprog installed files. + -S SUFFIX attempt to back up existing files, with suffix SUFFIX. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG + +By default, rm is invoked with -f; when overridden with RMPROG, +it's up to you to specify -f if you want it. + +If -S is not specified, no backups are attempted. + +Email bug reports to bug-automake@gnu.org. +Automake home page: https://www.gnu.org/software/automake/ " while test $# -ne 0; do @@ -137,8 +152,13 @@ -o) chowncmd="$chownprog $2" shift;; + -p) cpprog="$cpprog -p";; + -s) stripcmd=$stripprog;; + -S) backupsuffix="$2" + shift;; + -t) is_target_a_directory=always dst_arg=$2 @@ -255,6 +275,10 @@ dstdir=$dst test -d "$dstdir" dstdir_status=$? + # Don't chown directories that already exist. + if test $dstdir_status = 0; then + chowncmd="" + fi else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command @@ -301,22 +325,6 @@ if test $dstdir_status != 0; then case $posix_mkdir in '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *23672367) mkdir_umask=$umask;; - .*00202 | .0202 | .02) mkdir_umask=22;; - - *0-7) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then @@ -326,52 +334,49 @@ fi posix_mkdir=false - case $umask in - *1235670-70-7) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - # Note that $RANDOM variable is not portable (e.g. dash); Use it - # here however when possible just to lower collision chance. - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - - trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 - - # Because "mkdir -p" follows existing symlinks and we likely work - # directly in world-writeable /tmp, make sure that the '$tmpdir' - # directory is successfully created first before we actually test - # 'mkdir -p' feature. - if (umask $mkdir_umask && - $mkdirprog $mkdir_mode "$tmpdir" && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - test_tmpdir="$tmpdir/a" - ls_ld_tmpdir=`ls -ld "$test_tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null - fi - trap '' 0;; - esac;; + # The $RANDOM variable is not portable (e.g., dash). Use it + # here however when possible just to lower collision chance. + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + + trap ' + ret=$? + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null + exit $ret + ' 0 + + # Because "mkdir -p" follows existing symlinks and we likely work + # directly in world-writeable /tmp, make sure that the '$tmpdir' + # directory is successfully created first before we actually test + # 'mkdir -p'. + if (umask $mkdir_umask && + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; esac if @@ -382,7 +387,7 @@ then : else - # The umask is ridiculous, or mkdir does not conform to POSIX, + # mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. @@ -411,7 +416,7 @@ prefixes= else if $posix_mkdir; then - (umask=$mkdir_umask && + (umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 @@ -488,6 +493,13 @@ then rm -f "$dsttmp" else + # If $backupsuffix is set, and the file being installed + # already exists, attempt a backup. Don't worry if it fails, + # e.g., if mv doesn't support -f. + if test -n "$backupsuffix" && test -f "$dst"; then + $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null + fi + # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || @@ -502,9 +514,9 @@ # file should still install successfully. { test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || + $doit $rmcmd "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + { $doit $rmcmd "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/lib/Makefile.am
Changed
@@ -13,8 +13,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -25,7 +26,7 @@ CONFIG_CLEAN_FILES = *.loT *.rej *.orig EXTRA_DIST = syscall-update.txt VERSION_INFO = 1:0 -AM_CFLAGS = -fPIC -DPIC -D_GNU_SOURCE +AM_CFLAGS = -fPIC -DPIC -D_GNU_SOURCE ${WFLAGS} AM_CPPFLAGS = -I. -I${top_srcdir} -I${top_srcdir}/auparse -I${top_srcdir}/common pkgconfigdir = $(libdir)/pkgconfig
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/lib/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -420,8 +421,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/audit.pc.in \ $(top_srcdir)/depcomp @@ -471,6 +470,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -482,8 +483,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -539,6 +542,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -592,6 +596,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -610,7 +615,7 @@ CONFIG_CLEAN_FILES = *.loT *.rej *.orig EXTRA_DIST = syscall-update.txt VERSION_INFO = 1:0 -AM_CFLAGS = -fPIC -DPIC -D_GNU_SOURCE +AM_CFLAGS = -fPIC -DPIC -D_GNU_SOURCE ${WFLAGS} AM_CPPFLAGS = -I. -I${top_srcdir} -I${top_srcdir}/auparse -I${top_srcdir}/common pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = audit.pc @@ -1235,7 +1240,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am @@ -1305,7 +1309,8 @@ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive -install-exec: install-exec-recursive +install-exec: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive @@ -1452,7 +1457,7 @@ uninstall-pkgconfigDATA .MAKE: $(am__recursive_targets) all check install install-am \ - install-strip + install-exec install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--depfiles check check-am clean clean-generic \
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/aarch64_table.h -> _service:tar_scm:audit-3.0.9.tar.gz/lib/aarch64_table.h
Changed
@@ -317,3 +317,13 @@ _S(439, "faccessat2") _S(440, "process_madvise") _S(441, "epoll_pwait2") +_S(442, "mount_setattr") +_S(443, "quotactl_fd") +_S(444, "landlock_create_ruleset") +_S(445, "landlock_add_rule") +_S(446, "landlock_restrict_self") +_S(447, "memfd_secret") +_S(448, "process_mrelease") +_S(449, "futex_waitv") +_S(450, "set_mempolicy_home_node") +
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/arm_table.h -> _service:tar_scm:audit-3.0.9.tar.gz/lib/arm_table.h
Changed
@@ -423,3 +423,12 @@ _S(439, "faccessat2") _S(440, "process_madvise") _S(441, "epoll_pwait2") +_S(442, "mount_setattr") +_S(443, "quotactl_fd") +_S(444, "landlock_create_ruleset") +_S(445, "landlock_add_rule") +_S(446, "landlock_restrict_self") +_S(448, "process_mrelease") +_S(449, "futex_waitv") +_S(450, "set_mempolicy_home_node") +
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/i386_table.h -> _service:tar_scm:audit-3.0.9.tar.gz/lib/i386_table.h
Changed
@@ -453,4 +453,13 @@ _S(439, "faccessat2") _S(440, "process_madvise") _S(441, "epoll_pwait2") +_S(442, "mount_setattr") +_S(443, "quotactl_fd") +_S(444, "landlock_create_ruleset") +_S(445, "landlock_add_rule") +_S(446, "landlock_restrict_self") +_S(447, "memfd_secret") +_S(448, "process_mrelease") +_S(449, "futex_waitv") +_S(450, "set_mempolicy_home_node")
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/libaudit.c -> _service:tar_scm:audit-3.0.9.tar.gz/lib/libaudit.c
Changed
@@ -38,7 +38,6 @@ #include <sys/stat.h> #include <fcntl.h> /* O_NOFOLLOW needs gnu defined */ #include <limits.h> /* for PATH_MAX */ -#include <sys/stat.h> #include <sys/types.h> #include <sys/socket.h> /* AF_MAX */ #ifdef HAVE_LIBCAP_NG @@ -560,7 +559,7 @@ int audit_set_feature(int fd, unsigned feature, unsigned value, unsigned lock) { -#if defined(HAVE_DECL_AUDIT_FEATURE_VERSION) +#if HAVE_DECL_AUDIT_FEATURE_VERSION == 1 int rc; struct audit_features f; @@ -584,7 +583,7 @@ int audit_request_features(int fd) { -#if defined(HAVE_DECL_AUDIT_FEATURE_VERSION) +#if HAVE_DECL_AUDIT_FEATURE_VERSION == 1 int rc; struct audit_features f; @@ -603,7 +602,7 @@ extern int audit_set_loginuid_immutable(int fd) { -#if defined(HAVE_DECL_AUDIT_FEATURE_VERSION) +#if HAVE_DECL_AUDIT_FEATURE_VERSION == 1 return audit_set_feature(fd, AUDIT_FEATURE_LOGINUID_IMMUTABLE, 1, 1); #else errno = EINVAL; @@ -694,12 +693,40 @@ char *audit_format_signal_info(char *buf, int len, char *op, struct audit_reply *rep, char *res) { + struct stat sb; + char path32, ses16; + int rlen; + snprintf(path, sizeof(path), "/proc/%u", rep->signal_info->pid); + int fd = open(path, O_RDONLY); + if (fd >= 0) { + if (fstat(fd, &sb) < 0) + sb.st_uid = -1; + close(fd); + } else + sb.st_uid = -1; + snprintf(path, sizeof(path), "/proc/%u/sessionid", + rep->signal_info->pid); + fd = open(path, O_RDONLY, rep->signal_info->pid); + if (fd < 0) + strcpy(ses, "4294967295"); + else { + do { + rlen = read(fd, ses, sizeof(ses)); + } while (rlen < 0 && errno == EINTR); + close(fd); + if (rlen < 0 || rlen >= sizeof(ses)) + strcpy(ses, "4294967295"); + else + sesrlen = 0; + } if (rep->len == 24) - snprintf(buf, len, "op=%s auid=%u pid=%d res=%s", op, - rep->signal_info->uid, rep->signal_info->pid, res); + snprintf(buf, len, "op=%s auid=%u uid=%u ses=%s pid=%d res=%s", + op, rep->signal_info->uid, sb.st_uid, ses, + rep->signal_info->pid, res); else - snprintf(buf, len, "op=%s auid=%u pid=%d subj=%s res=%s", - op, rep->signal_info->uid, rep->signal_info->pid, + snprintf(buf, len, "op=%s auid=%u uid=%u ses=%s pid=%d subj=%s res=%s", + op,rep->signal_info->uid, sb.st_uid, ses, + rep->signal_info->pid, rep->signal_info->ctx, res); return buf; } @@ -743,11 +770,6 @@ return audit_add_watch_dir(AUDIT_WATCH, rulep, path); } -int audit_add_dir(struct audit_rule_data **rulep, const char *path) -{ - return audit_add_watch_dir(AUDIT_DIR, rulep, path); -} - int audit_add_watch_dir(int type, struct audit_rule_data **rulep, const char *path) { @@ -1836,9 +1858,17 @@ { struct passwd *pw; + errno = 0; pw = getpwnam(name); - if (pw == NULL) + if (pw == NULL) { + /* getpwnam() might return ECONNREFUSED in some very + * specific cases when using LDAP. + * Manually set it to ENOENT so callers don't get confused + * with netlink's ECONNREFUSED */ + if (errno == ECONNREFUSED) + errno = ENOENT; return 1; + } memset(pw->pw_passwd, ' ', strlen(pw->pw_passwd)); *uid = pw->pw_uid; @@ -1849,9 +1879,14 @@ { struct group *gr; + errno = 0; gr = getgrnam(name); - if (gr == NULL) + if (gr == NULL) { + /* See above for explanation. */ + if (errno == ECONNREFUSED) + errno = ENOENT; return 1; + } *gid = gr->gr_gid; return 0;
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/libaudit.h -> _service:tar_scm:audit-3.0.9.tar.gz/lib/libaudit.h
Changed
@@ -1,5 +1,5 @@ -/* libaudit.h -- - * Copyright 2004-2018 Red Hat Inc., Durham, North Carolina. +/* libaudit.h -- + * Copyright 2004-2018,2021-22 Red Hat Inc. * All Rights Reserved. * * This library is free software; you can redistribute it and/or @@ -15,7 +15,7 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * + * * Authors: * Steve Grubb <sgrubb@redhat.com> * Rickard E. (Rik) Faith <faith@redhat.com> @@ -23,11 +23,6 @@ #ifndef _LIBAUDIT_H_ #define _LIBAUDIT_H_ -#ifdef __cplusplus -extern "C" { -#endif - - #include <asm/types.h> #include <stdint.h> #include <sys/socket.h> @@ -35,6 +30,17 @@ #include <linux/audit.h> #include <stdarg.h> #include <syslog.h> +#ifndef __attr_access +# define __attr_access(x) +#endif +#ifndef __attr_dealloc +# define __attr_dealloc(dealloc, argno) +# define __attr_dealloc_free +#endif + +#ifdef __cplusplus +extern "C" { +#endif /* Audit message types as of 2.6.29 kernel: @@ -124,6 +130,7 @@ #define AUDIT_APPARMOR_HINT 1504 #define AUDIT_APPARMOR_STATUS 1505 #define AUDIT_APPARMOR_ERROR 1506 +#define AUDIT_APPARMOR_KILL 1507 #endif #define AUDIT_FIRST_KERN_CRYPTO_MSG 1600 @@ -136,7 +143,7 @@ #define AUDIT_INTEGRITY_LAST_MSG 1899 #ifndef AUDIT_INTEGRITY_DATA #define AUDIT_INTEGRITY_DATA 1800 /* Data integrity verification */ -#define AUDIT_INTEGRITY_METADATA 1801 // Metadata integrity verification +#define AUDIT_INTEGRITY_METADATA 1801 // Metadata integrity verification #define AUDIT_INTEGRITY_STATUS 1802 /* Integrity enable status */ #define AUDIT_INTEGRITY_HASH 1803 /* Integrity HASH type */ #define AUDIT_INTEGRITY_PCR 1804 /* PCR invalidation msgs */ @@ -145,6 +152,9 @@ #ifndef AUDIT_INTEGRITY_EVM_XATTR #define AUDIT_INTEGRITY_EVM_XATTR 1806 /* New EVM-covered xattr */ #endif +#ifndef AUDIT_INTEGRITY_POLICY_RULE +#define AUDIT_INTEGRITY_POLICY_RULE 1807 /* Integrity Policy rule */ +#endif #define AUDIT_FIRST_ANOM_MSG 2100 #define AUDIT_LAST_ANOM_MSG 2199 @@ -167,6 +177,9 @@ #define AUDIT_ANOM_MOD_ACCT 2116 // Changing an acct #define AUDIT_ANOM_ROOT_TRANS 2117 // User became root #define AUDIT_ANOM_LOGIN_SERVICE 2118 // Service acct attempted login +#define AUDIT_ANOM_LOGIN_ROOT 2119 // Root login attempted +#define AUDIT_ANOM_ORIGIN_FAILURES 2120 // Origin has too many failed login +#define AUDIT_ANOM_SESSION 2121 // The user session is bad #define AUDIT_FIRST_ANOM_RESP 2200 #define AUDIT_LAST_ANOM_RESP 2299 @@ -185,6 +198,7 @@ #define AUDIT_RESP_HALT 2212 /* take the system down */ #define AUDIT_RESP_ORIGIN_BLOCK 2213 /* Address blocked by iptables */ #define AUDIT_RESP_ORIGIN_BLOCK_TIMED 2214 /* Address blocked for time */ +#define AUDIT_RESP_ORIGIN_UNBLOCK_TIMED 2215 /* Address unblocked from timed */ #define AUDIT_FIRST_USER_LSPP_MSG 2300 #define AUDIT_LAST_USER_LSPP_MSG 2399 @@ -296,7 +310,15 @@ #endif #ifndef AUDIT_EVENT_LISTENER -#define AUDIT_EVENT_LISTENER 1335 /* audit mcast sock join/part */ +#define AUDIT_EVENT_LISTENER 1335 /* audit mcast sock join/part */ +#endif + +#ifndef AUDIT_URINGOP +#define AUDIT_URINGOP 1336 /* io_uring operations */ +#endif + +#ifndef AUDIT_OPENAT2 +#define AUDIT_OPENAT2 1337 /* openat2 open_how flags */ #endif #ifndef AUDIT_MAC_CALIPSO_ADD @@ -582,14 +604,16 @@ typedef enum { GET_REPLY_BLOCKING=0, GET_REPLY_NONBLOCKING } reply_t; extern int audit_open(void); extern void audit_close(int fd); -extern int audit_get_reply(int fd, struct audit_reply *rep, reply_t block, +extern int audit_get_reply(int fd, struct audit_reply *rep, reply_t block, int peek); extern uid_t audit_getloginuid(void); extern int audit_setloginuid(uid_t uid); extern uint32_t audit_get_session(void); extern int audit_detect_machine(void); extern int audit_determine_machine(const char *arch); -extern char *audit_format_signal_info(char *buf, int len, char *op, struct audit_reply *rep, char *res); +extern char *audit_format_signal_info(char *buf, int len, char *op, + struct audit_reply *rep, char *res) + __attr_access ((__write_only__, 1, 2)); /* Translation functions */ extern int audit_name_to_field(const char *field); @@ -610,9 +634,9 @@ extern int audit_name_to_errno(const char *error); extern const char *audit_errno_to_name(int error); extern int audit_name_to_ftype(const char *name); -extern const char *audit_ftype_to_name(int ftype); +extern const char *audit_ftype_to_name(int ftype); extern int audit_name_to_fstype(const char *name); -extern const char *audit_fstype_to_name(int fstype); +extern const char *audit_fstype_to_name(int fstype); extern void audit_number_to_errmsg(int errnumber, const char *opt); /* AUDIT_GET */ @@ -632,7 +656,8 @@ int audit_set_backlog_wait_time(int fd, uint32_t bwt); int audit_reset_lost(int fd); int audit_reset_backlog_wait_time_actual(int fd); -extern int audit_set_feature(int fd, unsigned feature, unsigned value, unsigned lock); +extern int audit_set_feature(int fd, unsigned feature, unsigned value, + unsigned lock); extern int audit_set_loginuid_immutable(int fd); /* AUDIT_LIST_RULES */ @@ -644,7 +669,6 @@ /* AUDIT_WATCH */ extern int audit_update_watch_perms(struct audit_rule_data *rule, int perms); extern int audit_add_watch(struct audit_rule_data **rulep, const char *path); -extern int audit_add_dir(struct audit_rule_data **rulep, const char *path); extern int audit_add_watch_dir(int type, struct audit_rule_data **rulep, const char *path); extern int audit_trim_subtrees(int fd); @@ -660,10 +684,15 @@ int flags, int action); /* The following are for standard formatting of messages */ -extern int audit_value_needs_encoding(const char *str, unsigned int len); -extern char *audit_encode_value(char *final,const char *buf,unsigned int size); +extern int audit_value_needs_encoding(const char *str, unsigned int size) + __attr_access ((__read_only__, 1, 2)); +extern char *audit_encode_value(char *final,const char *buf,unsigned int size) + __attr_access ((__write_only__, 1)) + __attr_access ((__read_only__, 2, 3)); extern char *audit_encode_nv_string(const char *name, const char *value, - unsigned int vlen); + unsigned int vlen) + __attr_access ((__read_only__, 2, 3)) + __attr_dealloc_free; extern int audit_log_user_message(int audit_fd, int type, const char *message, const char *hostname, const char *addr, const char *tty, int result); extern int audit_log_user_comm_message(int audit_fd, int type, @@ -672,8 +701,8 @@ extern int audit_log_acct_message(int audit_fd, int type, const char *pgname, const char *op, const char *name, unsigned int id, const char *host, const char *addr, const char *tty, int result); -extern int audit_log_user_avc_message(int audit_fd, int type, - const char *message, const char *hostname, const char *addr, +extern int audit_log_user_avc_message(int audit_fd, int type, + const char *message, const char *hostname, const char *addr, const char *tty, uid_t uid); extern int audit_log_semanage_message(int audit_fd, int type, const char *pgname, const char *op, const char *name, unsigned int id, @@ -689,7 +718,6 @@ extern struct audit_rule_data *audit_rule_create_data(void); /* Initializes an existing audit_rule_data struct */ extern void audit_rule_init_data(struct audit_rule_data *rule); -extern int audit_rule_syscall_data(struct audit_rule_data *rule, int scall); extern int audit_rule_syscallbyname_data(struct audit_rule_data *rule, const char *scall); /* Note that the following function takes a **, where audit_rule_fieldpair()
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/machinetab.h -> _service:tar_scm:audit-3.0.9.tar.gz/lib/machinetab.h
Changed
@@ -40,4 +40,5 @@ #endif #ifdef WITH_AARCH64 _S(MACH_AARCH64, "aarch64" ) +_S(MACH_AARCH64, "armv8l") #endif
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/msg_typetab.h -> _service:tar_scm:audit-3.0.9.tar.gz/lib/msg_typetab.h
Changed
@@ -1,5 +1,5 @@ /* msg_typetab.h -- - * Copyright 2005-07,2009-18 Red Hat Inc., Durham, North Carolina. + * Copyright 2005-07,2009-18,21 Red Hat Inc. * All Rights Reserved. * * This library is free software; you can redistribute it and/or @@ -127,6 +127,8 @@ _S(AUDIT_TIME_ADJNTPVAL, "TIME_ADJNTPVAL" ) _S(AUDIT_BPF, "BPF" ) _S(AUDIT_EVENT_LISTENER, "EVENT_LISTENER" ) +_S(AUDIT_URINGOP, "URINGOP" ) +_S(AUDIT_OPENAT2, "OPENAT2" ) _S(AUDIT_AVC, "AVC" ) _S(AUDIT_SELINUX_ERR, "SELINUX_ERR" ) _S(AUDIT_AVC_PATH, "AVC_PATH" ) @@ -158,6 +160,7 @@ _S(AUDIT_INTEGRITY_PCR, "INTEGRITY_PCR" ) _S(AUDIT_INTEGRITY_RULE, "INTEGRITY_RULE" ) _S(AUDIT_INTEGRITY_EVM_XATTR, "INTEGRITY_EVM_XATTR" ) +_S(AUDIT_INTEGRITY_POLICY_RULE, "INTEGRITY_POLICY_RULE" ) #ifdef WITH_APPARMOR _S(AUDIT_AA, "APPARMOR" ) @@ -167,6 +170,7 @@ _S(AUDIT_APPARMOR_HINT, "APPARMOR_HINT" ) _S(AUDIT_APPARMOR_STATUS, "APPARMOR_STATUS" ) _S(AUDIT_APPARMOR_ERROR, "APPARMOR_ERROR" ) +_S(AUDIT_APPARMOR_KILL, "APPARMOR_KILL" ) #endif _S(AUDIT_KERNEL, "KERNEL" ) _S(AUDIT_ANOM_LOGIN_FAILURES, "ANOM_LOGIN_FAILURES" ) @@ -188,6 +192,9 @@ _S(AUDIT_ANOM_MOD_ACCT, "ANOM_MOD_ACCT" ) _S(AUDIT_ANOM_ROOT_TRANS, "ANOM_ROOT_TRANS" ) _S(AUDIT_ANOM_LOGIN_SERVICE, "ANOM_LOGIN_SERVICE" ) +_S(AUDIT_ANOM_LOGIN_ROOT, "ANOM_LOGIN_ROOT" ) +_S(AUDIT_ANOM_ORIGIN_FAILURES, "ANOM_ORIGIN_FAILURES" ) +_S(AUDIT_ANOM_SESSION, "ANOM_SESSION" ) _S(AUDIT_RESP_ANOMALY, "RESP_ANOMALY" ) _S(AUDIT_RESP_ALERT, "RESP_ALERT" ) _S(AUDIT_RESP_KILL_PROC, "RESP_KILL_PROC" ) @@ -203,6 +210,7 @@ _S(AUDIT_RESP_HALT, "RESP_HALT" ) _S(AUDIT_RESP_ORIGIN_BLOCK, "RESP_ORIGIN_BLOCK" ) _S(AUDIT_RESP_ORIGIN_BLOCK_TIMED, "RESP_ORIGIN_BLOCK_TIMED" ) +_S(AUDIT_RESP_ORIGIN_UNBLOCK_TIMED, "RESP_ORIGIN_UNBLOCK_TIMED" ) _S(AUDIT_USER_ROLE_CHANGE, "USER_ROLE_CHANGE" ) _S(AUDIT_ROLE_ASSIGN, "ROLE_ASSIGN" ) _S(AUDIT_ROLE_REMOVE, "ROLE_REMOVE" )
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/netlink.c -> _service:tar_scm:audit-3.0.9.tar.gz/lib/netlink.c
Changed
@@ -64,10 +64,10 @@ } if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) { saved_errno = errno; - close(fd); audit_msg(LOG_ERR, "Error setting audit netlink socket CLOEXEC flag (%s)", strerror(errno)); + close(fd); errno = saved_errno; return -1; } @@ -147,7 +147,7 @@ rep->error = NULL; rep->signal_info = NULL; rep->conf = NULL; -#if defined(HAVE_DECL_AUDIT_FEATURE_VERSION) +#if HAVE_DECL_AUDIT_FEATURE_VERSION == 1 rep->features = NULL; #endif if (!NLMSG_OK(rep->nlh, (unsigned int)len)) { @@ -172,7 +172,7 @@ case AUDIT_GET: rep->status = NLMSG_DATA(rep->nlh); break; -#if defined(HAVE_DECL_AUDIT_FEATURE_VERSION) +#if HAVE_DECL_AUDIT_FEATURE_VERSION == 1 case AUDIT_GET_FEATURE: rep->features = NLMSG_DATA(rep->nlh); break;
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/ppc_table.h -> _service:tar_scm:audit-3.0.9.tar.gz/lib/ppc_table.h
Changed
@@ -388,4 +388,62 @@ _S(385, "pkey_free") _S(386, "pkey_mprotect") _S(387, "rseq") +_S(388, "io_pgetevents") +_S(392, "semtimedop") +_S(393, "semget") +_S(394, "semctl") +_S(395, "shmget") +_S(396, "shmctl") +_S(397, "shmat") +_S(398, "shmdt") +_S(399, "msgget") +_S(400, "msgsnd") +_S(401, "msgrcv") +_S(402, "msgctl") +_S(403, "clock_gettime64") +_S(404, "clock_settime64") +_S(405, "clock_adjtime64") +_S(406, "clock_getres_time64") +_S(407, "clock_nanosleep_time64") +_S(408, "timer_gettime64") +_S(409, "timer_settime64") +_S(410, "timerfd_gettime64") +_S(411, "timerfd_settime64") +_S(412, "utimensat_time64") +_S(413, "pselect6_time64") +_S(414, "ppoll_time64") +_S(416, "io_pgetevents_time64") +_S(417, "recvmmsg_time64") +_S(418, "mq_timedsend_time64") +_S(419, "mq_timedreceive_time64") +_S(420, "semtimedop_time64") +_S(421, "rt_sigtimedwait_time64") +_S(422, "futex_time64") +_S(423, "sched_rr_get_interval_time64") +_S(424, "pidfd_send_signal") +_S(425, "io_uring_setup") +_S(426, "io_uring_enter") +_S(427, "io_uring_register") +_S(428, "open_tree") +_S(429, "move_mount") +_S(430, "fsopen") +_S(431, "fsconfig") +_S(432, "fsmount") +_S(433, "fspick") +_S(434, "pidfd_open") +_S(435, "clone3") +_S(436, "close_range") +_S(437, "openat2") +_S(438, "pidfd_getfd") +_S(439, "faccessat2") +_S(440, "process_madvise") +_S(441, "epoll_pwait2") +_S(442, "mount_setattr") +_S(443, "quotactl_fd") +_S(444, "landlock_create_ruleset") +_S(445, "landlock_add_rule") +_S(446, "landlock_restrict_self") +_S(448, "process_mrelease") +_S(449, "futex_waitv") +_S(450, "set_mempolicy_home_node")
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/s390_table.h -> _service:tar_scm:audit-3.0.9.tar.gz/lib/s390_table.h
Changed
@@ -401,4 +401,12 @@ _S(439, "faccessat2") _S(440, "process_madvise") _S(441, "epoll_pwait2") +_S(442, "mount_setattr") +_S(443, "quotactl_fd") +_S(444, "landlock_create_ruleset") +_S(445, "landlock_add_rule") +_S(446, "landlock_restrict_self") +_S(448, "process_mrelease") +_S(449, "futex_waitv") +_S(450, "set_mempolicy_home_node")
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/s390x_table.h -> _service:tar_scm:audit-3.0.9.tar.gz/lib/s390x_table.h
Changed
@@ -365,4 +365,12 @@ _S(439, "faccessat2") _S(440, "process_madvise") _S(441, "epoll_pwait2") +_S(442, "mount_setattr") +_S(443, "quotactl_fd") +_S(444, "landlock_create_ruleset") +_S(445, "landlock_add_rule") +_S(446, "landlock_restrict_self") +_S(448, "process_mrelease") +_S(449, "futex_waitv") +_S(450, "set_mempolicy_home_node")
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/syscall-update.txt -> _service:tar_scm:audit-3.0.9.tar.gz/lib/syscall-update.txt
Changed
@@ -2,11 +2,11 @@ arch/arm/tools/syscall.tbl arch/arm/include/uapi/asm/unistd.h -arch/powerpc/include/uapi/asm/unistd.h +include/uapi/asm-generic/unistd.h (aarch64) +arch/powerpc/kernel/syscalls/syscall.tbl arch/s390/kernel/syscalls/syscall.tbl arch/x86/entry/syscalls/syscall_32.tbl arch/x86/entry/syscalls/syscall_64.tbl -include/uapi/asm-generic/unistd.h (aarch64) For src/ausearch-lookup.c: Inspect include/linux/net.h for socketcall updates
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/test/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/lib/test/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -190,8 +190,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -374,6 +372,7 @@ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -419,6 +418,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -430,8 +431,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -487,6 +490,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -540,6 +544,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -802,7 +807,7 @@ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -857,7 +862,6 @@ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/lib/x86_64_table.h -> _service:tar_scm:audit-3.0.9.tar.gz/lib/x86_64_table.h
Changed
@@ -373,3 +373,13 @@ _S(439, "faccessat2") _S(440, "process_madvise") _S(441, "epoll_pwait2") +_S(442, "mount_setattr") +_S(443, "quotactl_fd") +_S(444, "landlock_create_ruleset") +_S(445, "landlock_add_rule") +_S(446, "landlock_restrict_self") +_S(447, "memfd_secret") +_S(448, "process_mrelease") +_S(449, "futex_waitv") +_S(450, "set_mempolicy_home_node") +
View file
_service:tar_scm:audit-3.0.1.tar.gz/ltmain.sh -> _service:tar_scm:audit-3.0.9.tar.gz/ltmain.sh
Changed
@@ -1,12 +1,12 @@ -#! /bin/sh +#! /usr/bin/env sh ## DO NOT EDIT - This file generated from ./build-aux/ltmain.in -## by inline-source v2014-01-03.01 +## by inline-source v2019-02-19.15 -# libtool (GNU libtool) 2.4.6 +# libtool (GNU libtool) 2.4.7 # Provide generalized library-building support services. # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 -# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -31,8 +31,8 @@ PROGRAM=libtool PACKAGE=libtool -VERSION=2.4.6 -package_revision=2.4.6 +VERSION=2.4.7 +package_revision=2.4.7 ## ------ ## @@ -64,34 +64,25 @@ # libraries, which are installed to $pkgauxdir. # Set a version string for this script. -scriptversion=2015-01-20.17; # UTC +scriptversion=2019-02-19.15; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 -# Copyright (C) 2004-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# 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 -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. - -# As a special exception to the GNU General Public License, if you distribute -# this file as part of a program or library that is built using GNU Libtool, -# you may include this file under the same distribution terms that you use -# for the rest of that program. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2004-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# <https://opensource.org/license/MIT>, and GPL version 2 or later +# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# Please report bugs or propose patches to gary@gnu.org. +# Please report bugs or propose patches to: +# <https://github.com/gnulib-modules/bootstrap/issues> ## ------ ## @@ -139,9 +130,12 @@ _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" fi" done - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# These NLS vars are set unconditionally (bootstrap issue #24). Unset those +# in case the environment reset is needed later and the $save_* variant is not +# defined (see the code above). +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL # Make sure IFS has a sensible default sp=' ' @@ -159,6 +153,26 @@ fi +# func_unset VAR +# -------------- +# Portably unset VAR. +# In some shells, an 'unset VAR' statement leaves a non-zero return +# status if VAR is already unset, which might be problematic if the +# statement is used at the end of a function (thus poisoning its return +# value) or when 'set -e' is active (causing even a spurious abort of +# the script in this case). +func_unset () +{ + { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } +} + + +# Make sure CDPATH doesn't cause `cd` commands to output the target dir. +func_unset CDPATH + +# Make sure ${,E,F}GREP behave sanely. +func_unset GREP_OPTIONS + ## ------------------------- ## ## Locate command utilities. ## @@ -259,7 +273,7 @@ rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin + func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" rm -f conftest.sed SED=$func_path_progs_result } @@ -295,7 +309,7 @@ rm -f conftest.in conftest.tmp conftest.nl conftest.out } - func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin + func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" GREP=$func_path_progs_result } @@ -360,6 +374,35 @@ s/\\(^$_G_bs\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g s/\n//g" +# require_check_ifs_backslash +# --------------------------- +# Check if we can use backslash as IFS='\' separator, and set +# $check_ifs_backshlash_broken to ':' or 'false'. +require_check_ifs_backslash=func_require_check_ifs_backslash +func_require_check_ifs_backslash () +{ + _G_save_IFS=$IFS + IFS='\' + _G_check_ifs_backshlash='a\\b' + for _G_i in $_G_check_ifs_backshlash + do + case $_G_i in + a) + check_ifs_backshlash_broken=false + ;; + '') + break + ;; + *) + check_ifs_backshlash_broken=: + break + ;; + esac + done + IFS=$_G_save_IFS + require_check_ifs_backslash=: +} + ## ----------------- ## ## Global variables. ## @@ -580,16 +623,16 @@ { $debug_cmd - func_quote_for_eval "$2" - eval "$1+=\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1+=\\ \$func_quote_arg_result" }' else func_append_quoted () { $debug_cmd - func_quote_for_eval "$2" - eval "$1=\$$1\\ \$func_quote_for_eval_result" + func_quote_arg pretty "$2" + eval "$1=\$$1\\ \$func_quote_arg_result" } fi @@ -1091,85 +1134,203 @@ } -# func_quote_for_eval ARG... -# -------------------------- -# Aesthetically quote ARGs to be evaled later. -# This function returns two values: -# i) func_quote_for_eval_result -# double-quoted, suitable for a subsequent eval -# ii) func_quote_for_eval_unquoted_result -# has all characters that are still active within double -# quotes backslashified. -func_quote_for_eval () +# func_quote_portable EVAL ARG +# ---------------------------- +# Internal function to portably implement func_quote_arg. Note that we still +# keep attention to performance here so we as much as possible try to avoid +# calling sed binary (so far O(N) complexity as long as func_append is O(1)). +func_quote_portable () { $debug_cmd - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do - case $1 in - *\\\`\"\$*) - _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; - *) - _G_unquoted_arg=$1 ;; - esac - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else - func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg" + $require_check_ifs_backslash + + func_quote_portable_result=$2 + + # one-time-loop (easy break) + while true + do + if $1; then + func_quote_portable_result=`$ECHO "$2" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` + break fi - case $_G_unquoted_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and variable expansion - # for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *\\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ *|**|"") - _G_quoted_arg=\"$_G_unquoted_arg\" + # Quote for eval. + case $func_quote_portable_result in + *\\\`\"\$*) + # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string + # contains the shell wildcard characters. + case $check_ifs_backshlash_broken$func_quote_portable_result in + :*|*\\*\?*) + func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ + | $SED "$sed_quote_subst"` + break + ;; + esac + + func_quote_portable_old_IFS=$IFS + for _G_char in '\' '`' '"' '$' + do + # STATE($1) PREV($2) SEPARATOR($3) + set start "" "" + func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy + IFS=$_G_char + for _G_part in $func_quote_portable_result + do + case $1 in + quote) + func_append func_quote_portable_result "$3$2" + set quote "$_G_part" "\\$_G_char" + ;; + start) + set first "" "" + func_quote_portable_result= + ;; + first) + set quote "$_G_part" "" + ;; + esac + done + done + IFS=$func_quote_portable_old_IFS ;; - *) - _G_quoted_arg=$_G_unquoted_arg - ;; + *) ;; esac - - if test -n "$func_quote_for_eval_result"; then - func_append func_quote_for_eval_result " $_G_quoted_arg" - else - func_append func_quote_for_eval_result "$_G_quoted_arg" - fi - shift + break done + + func_quote_portable_unquoted_result=$func_quote_portable_result + case $func_quote_portable_result in + # double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # many bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *\\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ *|**|"") + func_quote_portable_result=\"$func_quote_portable_result\" + ;; + esac } -# func_quote_for_expand ARG -# ------------------------- -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - $debug_cmd +# func_quotefast_eval ARG +# ----------------------- +# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', +# but optimized for speed. Result is stored in $func_quotefast_eval. +if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then + printf -v _GL_test_printf_tilde %q '~' + if test '\~' = "$_GL_test_printf_tilde"; then + func_quotefast_eval () + { + printf -v func_quotefast_eval_result %q "$1" + } + else + # Broken older Bash implementations. Make those faster too if possible. + func_quotefast_eval () + { + case $1 in + '~'*) + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + ;; + *) + printf -v func_quotefast_eval_result %q "$1" + ;; + esac + } + fi +else + func_quotefast_eval () + { + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + } +fi - case $1 in - *\\\`\"*) - _G_arg=`$ECHO "$1" | $SED \ - -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;; - *) - _G_arg=$1 ;; + +# func_quote_arg MODEs ARG +# ------------------------ +# Quote one ARG to be evaled later. MODEs argument may contain zero or more +# specifiers listed below separated by ',' character. This function returns two +# values: +# i) func_quote_arg_result +# double-quoted (when needed), suitable for a subsequent eval +# ii) func_quote_arg_unquoted_result +# has all characters that are still active within double +# quotes backslashified. Available only if 'unquoted' is specified. +# +# Available modes: +# ---------------- +# 'eval' (default) +# - escape shell special characters +# 'expand' +# - the same as 'eval'; but do not quote variable references +# 'pretty' +# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might +# be used later in func_quote to get output like: 'echo "a b"' instead +# of 'echo a\ b'. This is slower than default on some shells. +# 'unquoted' +# - produce also $func_quote_arg_unquoted_result which does not contain +# wrapping double-quotes. +# +# Examples for 'func_quote_arg pretty,unquoted string': +# +# string | *_result | *_unquoted_result +# ------------+-----------------------+------------------- +# " | \" | \" +# a b | "a b" | a b +# "a b" | "\"a b\"" | \"a b\" +# * | "*" | * +# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" +# +# Examples for 'func_quote_arg pretty,unquoted,expand string': +# +# string | *_result | *_unquoted_result +# --------------+---------------------+-------------------- +# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" +func_quote_arg () +{ + _G_quote_expand=false + case ,$1, in + *,expand,*) + _G_quote_expand=: + ;; esac - case $_G_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *\\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ *|**|"") - _G_arg=\"$_G_arg\" + case ,$1, in + *,pretty,*|*,expand,*|*,unquoted,*) + func_quote_portable $_G_quote_expand "$2" + func_quote_arg_result=$func_quote_portable_result + func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result + ;; + *) + # Faster quote-for-eval for some shells. + func_quotefast_eval "$2" + func_quote_arg_result=$func_quotefast_eval_result ;; esac +} + - func_quote_for_expand_result=$_G_arg +# func_quote MODEs ARGs... +# ------------------------ +# Quote all ARGs to be evaled later and join them into single command. See +# func_quote_arg's description for more info. +func_quote () +{ + $debug_cmd + _G_func_quote_mode=$1 ; shift + func_quote_result= + while test 0 -lt $#; do + func_quote_arg "$_G_func_quote_mode" "$1" + if test -n "$func_quote_result"; then + func_append func_quote_result " $func_quote_arg_result" + else + func_append func_quote_result "$func_quote_arg_result" + fi + shift + done } @@ -1215,8 +1376,8 @@ _G_cmd=$1 _G_fail_exp=${2-':'} - func_quote_for_expand "$_G_cmd" - eval "func_notquiet $func_quote_for_expand_result" + func_quote_arg pretty,expand "$_G_cmd" + eval "func_notquiet $func_quote_arg_result" $opt_dry_run || { eval "$_G_cmd" @@ -1241,8 +1402,8 @@ _G_fail_exp=${2-':'} $opt_quiet || { - func_quote_for_expand "$_G_cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$_G_cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || { @@ -1369,30 +1530,26 @@ # End: #! /bin/sh -# Set a version string for this script. -scriptversion=2014-01-07.03; # UTC - # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 -# Copyright (C) 2010-2015 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# 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 -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# <https://opensource.org/license/MIT>, and GPL version 2 or later +# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# Please report bugs or propose patches to: +# <https://github.com/gnulib-modules/bootstrap/issues> -# Please report bugs or propose patches to gary@gnu.org. +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC ## ------ ## @@ -1415,7 +1572,7 @@ # # In order for the '--version' option to work, you will need to have a # suitably formatted comment like the one at the top of this file -# starting with '# Written by ' and ending with '# warranty; '. +# starting with '# Written by ' and ending with '# Copyright'. # # For '-h' and '--help' to work, you will also need a one line # description of your script's purpose in a comment directly above the @@ -1427,7 +1584,7 @@ # to display verbose messages only when your user has specified # '--verbose'. # -# After sourcing this file, you can plug processing for additional +# After sourcing this file, you can plug in processing for additional # options by amending the variables from the 'Configuration' section # below, and following the instructions in the 'Option parsing' # section further down. @@ -1476,8 +1633,8 @@ ## ------------------------- ## # This section contains functions for adding, removing, and running hooks -# to the main code. A hook is just a named list of of function, that can -# be run in order later on. +# in the main code. A hook is just a list of function names that can be +# run in order later on. # func_hookable FUNC_NAME # ----------------------- @@ -1510,7 +1667,8 @@ # func_remove_hook FUNC_NAME HOOK_FUNC # ------------------------------------ -# Remove HOOK_FUNC from the list of functions called by FUNC_NAME. +# Remove HOOK_FUNC from the list of hook functions to be called by +# FUNC_NAME. func_remove_hook () { $debug_cmd @@ -1519,10 +1677,28 @@ } +# func_propagate_result FUNC_NAME_A FUNC_NAME_B +# --------------------------------------------- +# If the *_result variable of FUNC_NAME_A _is set_, assign its value to +# *_result variable of FUNC_NAME_B. +func_propagate_result () +{ + $debug_cmd + + func_propagate_result_result=: + if eval "test \"\${${1}_result+set}\" = set" + then + eval "${2}_result=\$${1}_result" + else + func_propagate_result_result=false + fi +} + + # func_run_hooks FUNC_NAME ARG... # --------------------------------- # Run all hook functions registered to FUNC_NAME. -# It is assumed that the list of hook functions contains nothing more +# It's assumed that the list of hook functions contains nothing more # than a whitespace-delimited list of legal shell function names, and # no effort is wasted trying to catch shell meta-characters or preserve # whitespace. @@ -1532,22 +1708,19 @@ case " $hookable_fns " in *" $1 "*) ;; - *) func_fatal_error "'$1' does not support hook funcions.n" ;; + *) func_fatal_error "'$1' does not support hook functions." ;; esac eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do - eval $_G_hook '"$@"' - - # store returned options list back into positional - # parameters for next 'cmd' execution. - eval _G_hook_result=\$${_G_hook}_result - eval set dummy "$_G_hook_result"; shift + func_unset "${_G_hook}_result" + eval $_G_hook '${1+"$@"}' + func_propagate_result $_G_hook func_run_hooks + if $func_propagate_result_result; then + eval set dummy "$func_run_hooks_result"; shift + fi done - - func_quote_for_eval ${1+"$@"} - func_run_hooks_result=$func_quote_for_eval_result } @@ -1557,10 +1730,18 @@ ## --------------- ## # In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, remove any -# options that you action, and then pass back the remaining unprocessed -# options in '<hooked_function_name>_result', escaped suitably for -# 'eval'. Like this: +# full positional parameter list from your hook function. You may remove +# or edit any options that you action, and then pass back the remaining +# unprocessed options in '<hooked_function_name>_result', escaped +# suitably for 'eval'. +# +# The '<hooked_function_name>_result' variable is automatically unset +# before your hook gets called; for best performance, only set the +# *_result variable when necessary (i.e. don't call the 'func_quote' +# function unnecessarily because it can be an expensive operation on some +# machines). +# +# Like this: # # my_options_prep () # { @@ -1570,9 +1751,8 @@ # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' -# -# func_quote_for_eval ${1+"$@"} -# my_options_prep_result=$func_quote_for_eval_result +# # No change in '$@' (ignored completely by this hook). Leave +# # my_options_prep_result variable intact. # } # func_add_hook func_options_prep my_options_prep # @@ -1581,25 +1761,36 @@ # { # $debug_cmd # -# # Note that for efficiency, we parse as many options as we can +# args_changed=false +# +# # Note that, for efficiency, we parse as many options as we can # # recognise in a loop before passing the remainder back to the # # caller on the first unrecognised argument we encounter. # while test $# -gt 0; do # opt=$1; shift # case $opt in -# --silent|-s) opt_silent=: ;; +# --silent|-s) opt_silent=: +# args_changed=: +# ;; # # Separate non-argument short options: # -s*) func_split_short_opt "$_G_opt" # set dummy "$func_split_short_opt_name" \ # "-$func_split_short_opt_arg" ${1+"$@"} # shift +# args_changed=: # ;; -# *) set dummy "$_G_opt" "$*"; shift; break ;; +# *) # Make sure the first unrecognised option "$_G_opt" +# # is added back to "$@" in case we need it later, +# # if $args_changed was set to 'true'. +# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; # esac # done # -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result +# # Only call 'func_quote' here if we processed at least one argument. +# if $args_changed; then +# func_quote eval ${1+"$@"} +# my_silent_option_result=$func_quote_result +# fi # } # func_add_hook func_parse_options my_silent_option # @@ -1610,17 +1801,26 @@ # # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." -# -# func_quote_for_eval ${1+"$@"} -# my_option_validation_result=$func_quote_for_eval_result # } # func_add_hook func_validate_options my_option_validation # -# You'll alse need to manually amend $usage_message to reflect the extra +# You'll also need to manually amend $usage_message to reflect the extra # options you parse. It's preferable to append if you can, so that # multiple option parsing hooks can be added safely. +# func_options_finish ARG... +# ---------------------------- +# Finishing the option parse loop (call 'func_options' hooks ATM). +func_options_finish () +{ + $debug_cmd + + func_run_hooks func_options ${1+"$@"} + func_propagate_result func_run_hooks func_options_finish +} + + # func_options ARG... # --------------------- # All the functions called inside func_options are hookable. See the @@ -1630,17 +1830,27 @@ { $debug_cmd - func_options_prep ${1+"$@"} - eval func_parse_options \ - ${func_options_prep_result+"$func_options_prep_result"} - eval func_validate_options \ - ${func_parse_options_result+"$func_parse_options_result"} + _G_options_quoted=false - eval func_run_hooks func_options \ - ${func_validate_options_result+"$func_validate_options_result"} + for my_func in options_prep parse_options validate_options options_finish + do + func_unset func_${my_func}_result + func_unset func_run_hooks_result + eval func_$my_func '${1+"$@"}' + func_propagate_result func_$my_func func_options + if $func_propagate_result_result; then + eval set dummy "$func_options_result"; shift + _G_options_quoted=: + fi + done - # save modified positional parameters for caller - func_options_result=$func_run_hooks_result + $_G_options_quoted || { + # As we (func_options) are top-level options-parser function and + # nobody quoted "$@" for us yet, we need to do it explicitly for + # caller. + func_quote eval ${1+"$@"} + func_options_result=$func_quote_result + } } @@ -1649,9 +1859,8 @@ # All initialisations required before starting the option parse loop. # Note that when calling hook functions, we pass through the list of # positional parameters. If a hook function modifies that list, and -# needs to propogate that back to rest of this script, then the complete -# modified list must be put in 'func_run_hooks_result' before -# returning. +# needs to propagate that back to rest of this script, then the complete +# modified list must be put in 'func_run_hooks_result' before returning. func_hookable func_options_prep func_options_prep () { @@ -1662,9 +1871,7 @@ opt_warning_types= func_run_hooks func_options_prep ${1+"$@"} - - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result + func_propagate_result func_run_hooks func_options_prep } @@ -1676,25 +1883,32 @@ { $debug_cmd - func_parse_options_result= - + _G_parse_options_requote=false # this just eases exit handling while test $# -gt 0; do # Defer to hook functions for initial option parsing, so they # get priority in the event of reusing an option name. func_run_hooks func_parse_options ${1+"$@"} - - # Adjust func_parse_options positional parameters to match - eval set dummy "$func_run_hooks_result"; shift + func_propagate_result func_run_hooks func_parse_options + if $func_propagate_result_result; then + eval set dummy "$func_parse_options_result"; shift + # Even though we may have changed "$@", we passed the "$@" array + # down into the hook and it quoted it for us (because we are in + # this if-branch). No need to quote it again. + _G_parse_options_requote=false + fi # Break out of the loop if we already parsed every option. test $# -gt 0 || break + # We expect that one of the options parsed in this function matches + # and thus we remove _G_opt from "$@" and need to re-quote. + _G_match_parse_options=: _G_opt=$1 shift case $_G_opt in --debug|-x) debug_cmd='set -x' - func_echo "enabling shell trace mode" + func_echo "enabling shell trace mode" >&2 $debug_cmd ;; @@ -1704,7 +1918,10 @@ ;; --warnings|--warning|-W) - test $# = 0 && func_missing_arg $_G_opt && break + if test $# = 0 && func_missing_arg $_G_opt; then + _G_parse_options_requote=: + break + fi case " $warning_categories $1" in *" $1 "*) # trailing space prevents matching last $1 above @@ -1757,15 +1974,24 @@ shift ;; - --) break ;; + --) _G_parse_options_requote=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift + _G_match_parse_options=false + break + ;; esac + + if $_G_match_parse_options; then + _G_parse_options_requote=: + fi done - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result + if $_G_parse_options_requote; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + func_parse_options_result=$func_quote_result + fi } @@ -1782,12 +2008,10 @@ test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" func_run_hooks func_validate_options ${1+"$@"} + func_propagate_result func_run_hooks func_validate_options # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE - - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result } @@ -1843,8 +2067,8 @@ # func_split_equals STRING # ------------------------ -# Set func_split_equals_lhs and func_split_equals_rhs shell variables after -# splitting STRING at the '=' sign. +# Set func_split_equals_lhs and func_split_equals_rhs shell variables +# after splitting STRING at the '=' sign. test -z "$_G_HAVE_XSI_OPS" \ && (eval 'x=a/b/c; test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ @@ -1859,8 +2083,9 @@ func_split_equals_lhs=${1%%=*} func_split_equals_rhs=${1#*=} - test "x$func_split_equals_lhs" = "x$1" \ - && func_split_equals_rhs= + if test "x$func_split_equals_lhs" = "x$1"; then + func_split_equals_rhs= + fi }' else # ...otherwise fall back to using expr, which is often a shell builtin. @@ -1870,7 +2095,7 @@ func_split_equals_lhs=`expr "x$1" : 'x\(^=*\)'` func_split_equals_rhs= - test "x$func_split_equals_lhs" = "x$1" \ + test "x$func_split_equals_lhs=" = "x$1" \ || func_split_equals_rhs=`expr "x$1" : 'x^=*=\(.*\)$'` } fi #func_split_equals @@ -1896,7 +2121,7 @@ { $debug_cmd - func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'` + func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` } fi #func_split_short_opt @@ -1938,31 +2163,44 @@ # func_version # ------------ # Echo version message to standard output and exit. +# The version message is extracted from the calling file's header +# comments, with leading '# ' stripped: +# 1. First display the progname and version +# 2. Followed by the header comment line matching /^# Written by / +# 3. Then a blank line followed by the first following line matching +# /^# Copyright / +# 4. Immediately followed by any lines between the previous matches, +# except lines preceding the intervening completely blank line. +# For example, see the header comments of this file. func_version () { $debug_cmd printf '%s\n' "$progname $scriptversion" $SED -n ' - /(C)/!b go - :more - /\./!{ - N - s|\n# | | - b more - } - :go - /^# Written by /,/# warranty; / { - s|^# || - s|^# *$|| - s|\((C)\) 0-9,-* ,-\(1-90-9* \)|\1 \2| - p + /^# Written by /!b + s|^# ||; p; n + + :fwd2blnk + /./ { + n + b fwd2blnk } - /^# Written by / { - s|^# || - p + p; n + + :holdwrnt + s|^# || + s|^# *$|| + /^Copyright /!{ + /./H + n + b holdwrnt } - /^warranty; /q' < "$progpath" + + s|\((C)\) 0-9,-* ,-\(1-90-9* \)|\1 \2| + G + s|\(\n\)\n*|\1|g + p; q' < "$progpath" exit $? } @@ -1972,12 +2210,12 @@ # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" # time-stamp-time-zone: "UTC" # End: # Set a version string. -scriptversion='(GNU libtool) 2.4.6' +scriptversion='(GNU libtool) 2.4.7' # func_echo ARG... @@ -2068,7 +2306,7 @@ compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU libtool) 2.4.6 + version: $progname (GNU libtool) 2.4.7 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` @@ -2270,6 +2508,8 @@ nonopt= preserve_args= + _G_rc_lt_options_prep=: + # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) @@ -2293,11 +2533,16 @@ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; + *) + _G_rc_lt_options_prep=false + ;; esac - # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result + if $_G_rc_lt_options_prep; then + # Pass back the list of options. + func_quote eval ${1+"$@"} + libtool_options_prep_result=$func_quote_result + fi } func_add_hook func_options_prep libtool_options_prep @@ -2309,9 +2554,12 @@ { $debug_cmd + _G_rc_lt_parse_options=false + # Perform our own loop to consume as many options as possible in # each iteration. while test $# -gt 0; do + _G_match_lt_parse_options=: _G_opt=$1 shift case $_G_opt in @@ -2386,15 +2634,20 @@ func_append preserve_args " $_G_opt" ;; - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"} ; shift + _G_match_lt_parse_options=false + break + ;; esac + $_G_match_lt_parse_options && _G_rc_lt_parse_options=: done - - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result + if $_G_rc_lt_parse_options; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + libtool_parse_options_result=$func_quote_result + fi } func_add_hook func_parse_options libtool_parse_options @@ -2415,17 +2668,10 @@ # preserve --debug test : = "$debug_cmd" || func_append preserve_args " --debug" - case $host in - # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 - # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 - *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac + # Keeping compiler generated duplicates in $postdeps and $predeps is not + # harmful, and is necessary in a majority of systems that use it to satisfy + # symbol dependencies. + opt_duplicate_compiler_generated_deps=: $opt_help || { # Sanity checks first: @@ -2451,8 +2697,8 @@ } # Pass back the unparsed argument list - func_quote_for_eval ${1+"$@"} - libtool_validate_options_result=$func_quote_for_eval_result + func_quote eval ${1+"$@"} + libtool_validate_options_result=$func_quote_result } func_add_hook func_validate_options libtool_validate_options @@ -3418,8 +3664,8 @@ esac done - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ + func_quote_arg pretty "$libobj" + test "X$libobj" != "X$func_quote_arg_result" \ && $ECHO "X$libobj" | $GREP '~#^*{};<>?"'"'"' &()|`$' \ && func_warning "libobj name '$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" @@ -3492,8 +3738,8 @@ func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result + func_quote_arg pretty "$srcfile" + qsrcfile=$func_quote_arg_result # Only build a PIC object if we are building libtool libraries. if test yes = "$build_libtool_libs"; then @@ -3648,7 +3894,8 @@ -prefer-non-pic try to build non-PIC objects only -shared do not build a '.o' file suitable for static linking -static only build a '.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler + -Wc,FLAG + -Xcompiler FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a 'standard' object file from the given SOURCEFILE. @@ -3754,6 +4001,8 @@ -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wa,FLAG + -Xassembler FLAG pass linker-specific FLAG directly to the assembler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) @@ -4096,8 +4345,8 @@ case $nonopt in *shtool*) :;; *) false;; esac then # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " + func_quote_arg pretty "$nonopt" + install_prog="$func_quote_arg_result " arg=$1 shift else @@ -4107,8 +4356,8 @@ # The real first argument should be the name of the installation program. # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" + func_quote_arg pretty "$arg" + func_append install_prog "$func_quote_arg_result" install_shared_prog=$install_prog case " $install_prog " in *\\\ /cp\ *) install_cp=: ;; @@ -4165,12 +4414,12 @@ esac # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" + func_quote_arg pretty "$arg" + func_append install_prog " $func_quote_arg_result" if test -n "$arg2"; then - func_quote_for_eval "$arg2" + func_quote_arg pretty "$arg2" fi - func_append install_shared_prog " $func_quote_for_eval_result" + func_append install_shared_prog " $func_quote_arg_result" done test -z "$install_prog" && \ @@ -4181,8 +4430,8 @@ if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" + func_quote_arg pretty "$install_override_mode" + func_append install_shared_prog " -m $func_quote_arg_result" fi fi @@ -4478,8 +4727,8 @@ relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_quiet || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$relink_command" + eval "func_echo $func_quote_arg_result" } if eval "$relink_command"; then : else @@ -5258,7 +5507,8 @@ if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` + func_quote_arg pretty "$ECHO" + qECHO=$func_quote_arg_result $ECHO "\ # A function that is used when there is no print builtin or printf. @@ -5268,7 +5518,7 @@ \$1 _LTECHO_EOF' } - ECHO=\"$qECHO\" + ECHO=$qECHO fi # Very basic option parsing. These options are (a) specific to @@ -6611,9 +6861,9 @@ while test "$#" -gt 0; do arg=$1 shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" + func_quote_arg pretty,unquoted "$arg" + qarg=$func_quote_arg_unquoted_result + func_append libtool_args " $func_quote_arg_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then @@ -6849,6 +7099,13 @@ prev= continue ;; + xassembler) + func_append compiler_flags " -Xassembler $qarg" + prev= + func_append compile_command " -Xassembler $qarg" + func_append finalize_command " -Xassembler $qarg" + continue + ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" @@ -7019,7 +7276,7 @@ # These systems don't actually have a C library (as such) test X-lc = "X$arg" && continue ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. test X-lc = "X$arg" && continue ;; @@ -7039,7 +7296,7 @@ esac elif test X-lc_r = "X$arg"; then case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) # Do not include libc_r directly, use -pthread flag. continue ;; @@ -7069,8 +7326,20 @@ prev=xcompiler continue ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. + -pthread) + case $host in + *solaris2*) ;; + *) + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + ;; + esac + continue + ;; + -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" @@ -7211,9 +7480,9 @@ save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $func_quote_for_eval_result" - func_append compiler_flags " $func_quote_for_eval_result" + func_quote_arg pretty "$flag" + func_append arg " $func_quote_arg_result" + func_append compiler_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" @@ -7227,16 +7496,21 @@ save_ifs=$IFS; IFS=, for flag in $args; do IFS=$save_ifs - func_quote_for_eval "$flag" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append linker_flags " $func_quote_for_eval_result" + func_quote_arg pretty "$flag" + func_append arg " $wl$func_quote_arg_result" + func_append compiler_flags " $wl$func_quote_arg_result" + func_append linker_flags " $func_quote_arg_result" done IFS=$save_ifs func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; + -Xassembler) + prev=xassembler + continue + ;; + -Xcompiler) prev=xcompiler continue @@ -7254,8 +7528,8 @@ # -msg_* for osf cc -msg_*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; # Flags to be passed through unchanged, with rationale: @@ -7274,12 +7548,15 @@ # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang + # -fsanitize=* Clang/GCC memory and address sanitizer + # -fuse-ld=* Linker select flags for GCC + # -Wa,* Pass flags directly to the assembler -64|-mips0-9|-r0-90-9*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t45*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" @@ -7300,15 +7577,15 @@ continue else # Otherwise treat like 'Some other compiler flag' below - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result fi ;; # Some other compiler flag. -* | +*) - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; *.$objext) @@ -7428,8 +7705,8 @@ *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg=$func_quote_for_eval_result + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result ;; esac # arg @@ -8634,7 +8911,7 @@ test CXX = "$tagname" && { case $host_os in linux*) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 func_suncc_cstd_abi @@ -8807,7 +9084,7 @@ # case $version_type in # correct linux to gnu/linux during the next big refactor - darwin|freebsd-elf|linux|osf|windows|none) + darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age=$number_minor @@ -8898,7 +9175,7 @@ versuffix=.$current.$revision ;; - freebsd-elf) + freebsd-elf | midnightbsd-elf) func_arith $current - $age major=.$func_arith_result versuffix=$major.$age.$revision @@ -9124,7 +9401,7 @@ *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) @@ -9935,8 +10212,8 @@ for cmd in $concat_cmds; do IFS=$save_ifs $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10029,8 +10306,8 @@ eval cmd=\"$cmd\" IFS=$save_ifs $opt_quiet || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? @@ -10504,12 +10781,13 @@ elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + func_quote_arg pretty "$var_value" + relink_command="$var=$func_quote_arg_result; export $var; $relink_command" fi done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + func_quote eval cd "`pwd`" + func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" + relink_command=$func_quote_arg_unquoted_result fi # Only actually do things if not in dry run mode. @@ -10749,13 +11027,15 @@ elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + func_quote_arg pretty,unquoted "$var_value" + relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" fi done # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` + func_quote eval cd "`pwd`" + relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + func_quote_arg pretty,unquoted "$relink_command" + relink_command=$func_quote_arg_unquoted_result if test yes = "$hardcode_automatic"; then relink_command= fi
View file
_service:tar_scm:audit-3.0.1.tar.gz/m4/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/m4/Makefile.am
Changed
@@ -13,8 +13,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/m4/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/m4/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# License along with this program; see the file COPYING.lib. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -196,6 +197,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -207,8 +210,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -264,6 +269,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -317,6 +323,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -398,7 +405,6 @@ cscope cscopelist: - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/m4/libtool.m4 -> _service:tar_scm:audit-3.0.9.tar.gz/m4/libtool.m4
Changed
@@ -1,6 +1,7 @@ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # -# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. +# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives @@ -31,7 +32,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. ) -# serial 58 LT_INIT +# serial 59 LT_INIT # LT_PREREQ(VERSION) @@ -181,6 +182,7 @@ m4_require(_LT_CHECK_SHELL_FEATURES)dnl m4_require(_LT_PATH_CONVERSION_FUNCTIONS)dnl m4_require(_LT_CMD_RELOAD)dnl +m4_require(_LT_DECL_FILECMD)dnl m4_require(_LT_CHECK_MAGIC_METHOD)dnl m4_require(_LT_CHECK_SHAREDLIB_FROM_LINKLIB)dnl m4_require(_LT_CMD_OLD_ARCHIVE)dnl @@ -219,8 +221,8 @@ ofile=libtool can_build_shared=yes -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). libext=a with_gnu_ld=$lt_cv_prog_gnu_ld @@ -778,7 +780,7 @@ # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ + $SED '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || @@ -1042,8 +1044,8 @@ _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF @@ -1067,17 +1069,12 @@ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin91*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; - 10.012,.*) - _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.012,*|,*powerpc*-darwin5-8*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; esac @@ -1126,12 +1123,12 @@ output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" m4_if($1, CXX, if test yes != "$lt_cv_apple_cc_single_mod"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" fi ,) else @@ -1245,7 +1242,8 @@ # _LT_WITH_SYSROOT # ---------------- AC_DEFUN(_LT_WITH_SYSROOT, -AC_MSG_CHECKING(for sysroot) +m4_require(_LT_DECL_SED)dnl +AC_MSG_CHECKING(for sysroot) AC_ARG_WITH(sysroot, AS_HELP_STRING(--with-sysroot@<:@=DIR@:>@, Search for dependent libraries within DIR (or the compiler's sysroot @@ -1262,7 +1260,7 @@ fi ;; #( /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` ;; #( no|'') ;; #( @@ -1292,7 +1290,7 @@ # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE=32 ;; @@ -1309,7 +1307,7 @@ echo '#line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test yes = "$lt_cv_prog_gnu_ld"; then - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; @@ -1321,7 +1319,7 @@ ;; esac else - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; @@ -1343,7 +1341,7 @@ echo '#line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then emul=elf - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *32-bit*) emul="${emul}32" ;; @@ -1351,7 +1349,7 @@ emul="${emul}64" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *MSB*) emul="${emul}btsmip" ;; @@ -1359,7 +1357,7 @@ emul="${emul}ltsmip" ;; esac - case `/usr/bin/file conftest.$ac_objext` in + case `$FILECMD conftest.$ac_objext` in *N32*) emul="${emul}n32" ;; @@ -1379,14 +1377,14 @@ # not appear in the list. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *x86-64*) LD="${LD-ld} -m elf32_x86_64" ;; @@ -1454,7 +1452,7 @@ # options accordingly. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in + case `$FILECMD conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) @@ -1493,9 +1491,22 @@ m4_defun(_LT_PROG_AR, AC_CHECK_TOOLS(AR, ar, false) : ${AR=ar} -: ${AR_FLAGS=cru} _LT_DECL(, AR, 1, The archiver) -_LT_DECL(, AR_FLAGS, 1, Flags to create an archive) + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS +_LT_DECL(, lt_ar_flags, 0, Flags to create an archive (by configure)) + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. +_LT_DECL(, AR_FLAGS, \@S|@{ARFLAGS-"\@S|@lt_ar_flags"}, + Flags to create an archive) AC_CACHE_CHECK(for archiver @FILE support, lt_cv_ar_at_file, lt_cv_ar_at_file=no @@ -1714,7 +1725,7 @@ lt_cv_sys_max_cmd_len=8192; ;; - bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` @@ -1757,7 +1768,7 @@ sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.* //'` + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.* //'` else lt_cv_sys_max_cmd_len=32768 fi @@ -2207,26 +2218,35 @@ striplib= old_striplib= AC_MSG_CHECKING(whether stripping libraries is possible) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT(yes) +if test -z "$STRIP"; then + AC_MSG_RESULT(no) else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT(yes) + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT(yes) - else + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + fi + ;; + *) AC_MSG_RESULT(no) - fi - ;; - *) - AC_MSG_RESULT(no) - ;; - esac + ;; + esac + fi fi _LT_DECL(, old_striplib, 1, Commands to strip libraries) _LT_DECL(, striplib, 1) @@ -2549,7 +2569,7 @@ case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/./-/g'`$versuffix$shared_ext' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/./-/g'`$versuffix$shared_ext' m4_if($1, , sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api") ;; @@ -2559,14 +2579,14 @@ ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/./-/g'`$versuffix$shared_ext' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/./-/g'`$versuffix$shared_ext' ;; esac dynamic_linker='Win32 ld.exe' ;; - *,cl*) - # Native MSVC + *,cl* | *,icl*) + # Native MSVC or ICC libname_spec='$name' soname_spec='$libname`echo $release | $SED -e 's/./-/g'`$versuffix$shared_ext' library_names_spec='$libname.dll.lib' @@ -2585,7 +2605,7 @@ done IFS=$lt_save_ifs # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\(a-zA-Z\\):| /\\1|g' -e 's|^ ||'` + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\(a-zA-Z\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form @@ -2622,7 +2642,7 @@ ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper library_names_spec='$libname`echo $release | $SED -e 's/./-/g'`$versuffix$shared_ext $libname.lib' dynamic_linker='Win32 ld.exe' ;; @@ -2655,7 +2675,7 @@ shlibpath_var=LD_LIBRARY_PATH ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then @@ -3457,7 +3477,7 @@ bsdi45*) lt_cv_deplibs_check_method='file_magic ELF 0-90-9*-bit MLSB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_cmd='$FILECMD -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; @@ -3491,14 +3511,14 @@ lt_cv_deplibs_check_method=pass_all ;; -freebsd* | dragonfly*) +freebsd* | dragonfly* | midnightbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i3-986 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac @@ -3512,7 +3532,7 @@ ;; hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s0-90-90-9|ELF-0-90-9) shared object file - IA64' @@ -3559,7 +3579,7 @@ newos6*) lt_cv_deplibs_check_method='file_magic ELF 0-90-9*-bit MLSB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_cmd=$FILECMD lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; @@ -3686,13 +3706,13 @@ mingw*) lt_bad_file=conftest.nm/nofile ;; *) lt_bad_file=/dev/null ;; esac - case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in *$lt_bad_file* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break 2 ;; *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break 2 @@ -3718,7 +3738,7 @@ # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, dumpbin "link -dump", :) - case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols -headers" ;; @@ -3958,7 +3978,7 @@ if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Gets list of data symbols to import. - lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" # Adjust the below global symbol transforms to fixup imported variables. lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" @@ -3976,20 +3996,20 @@ # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ $lt_cdecl_hook\ " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ $lt_c_name_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" # Transform an extracted symbol line into symbol name with lib prefix and # symbol address. -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ $lt_c_name_lib_hook\ " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ @@ -4013,7 +4033,7 @@ if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function, # D for any global variable and I for any imported variable. - # Also find C++ and __fastcall symbols from MSVC++, + # Also find C++ and __fastcall symbols from MSVC++ or ICC, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ @@ -4031,9 +4051,9 @@ " s1~prfx {split(s1,t,\"@\"); print f,t1,substr(t1,length(prfx))}"\ " ' prfx=^$ac_symprfx" else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.* \($symcode$symcode*\) *$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.* \($symcode$symcode*\) *$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no @@ -4320,7 +4340,7 @@ ;; esac ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) @@ -4403,7 +4423,7 @@ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -4739,7 +4759,7 @@ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ 1-7.* | *Sun*Fortran*\ 8.0-3*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' @@ -4922,7 +4942,7 @@ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\(^B*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\(^B*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi ;; pw32*) @@ -4930,7 +4950,7 @@ ;; cygwin* | mingw* | cegcc*) case $cc_basename in - cl*) + cl* | icl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) @@ -4987,15 +5007,15 @@ case $host_os in cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. if test yes != "$GCC"; then with_gnu_ld=no fi ;; interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; openbsd* | bitrig*) @@ -5047,7 +5067,7 @@ _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no - case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in + case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ 01.* | *\ 2.0-9.* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... @@ -5159,6 +5179,7 @@ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' ;; interix3-9*) @@ -5173,7 +5194,7 @@ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) @@ -5216,7 +5237,7 @@ _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes @@ -5228,7 +5249,7 @@ if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi @@ -5244,7 +5265,7 @@ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi @@ -5376,7 +5397,7 @@ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' else - _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\(^B*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\(^B*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no @@ -5559,12 +5580,12 @@ cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. + # Microsoft Visual C++ or Intel C++ Compiler. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in - cl*) - # Native MSVC + cl* | icl*) + # Native MSVC or ICC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes @@ -5605,7 +5626,7 @@ fi' ;; *) - # Assume MSVC wrapper + # Assume MSVC and ICC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. @@ -5653,7 +5674,7 @@ ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes @@ -5864,6 +5885,7 @@ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' ;; osf3*) @@ -6634,8 +6656,8 @@ cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' @@ -6733,6 +6755,7 @@ emximp -o $lib $output_objdir/$libname.def' _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' ;; dgux*) @@ -6763,7 +6786,7 @@ _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; - freebsd* | dragonfly*) + freebsd* | dragonfly* | midnightbsd*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes @@ -6900,7 +6923,7 @@ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in @@ -7040,13 +7063,13 @@ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' if test yes = "$supports_anon_versioning"; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' fi ;; *) - case `$CC -V 2>&1 | sed 5q` in + case `$CC -V 2>&1 | $SED 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' @@ -8192,6 +8215,14 @@ AC_SUBST(DLLTOOL) ) +# _LT_DECL_FILECMD +# ---------------- +# Check for a file(cmd) program that can be used to detect file type and magic +m4_defun(_LT_DECL_FILECMD, +AC_CHECK_TOOL(FILECMD, file, :) +_LT_DECL(, FILECMD, 1, A file(cmd) program that detects file types) +)# _LD_DECL_FILECMD + # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates
View file
_service:tar_scm:audit-3.0.1.tar.gz/m4/ltoptions.m4 -> _service:tar_scm:audit-3.0.9.tar.gz/m4/ltoptions.m4
Changed
@@ -1,7 +1,7 @@ # Helper functions for option handling. -*- Autoconf -*- # -# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives
View file
_service:tar_scm:audit-3.0.1.tar.gz/m4/ltsugar.m4 -> _service:tar_scm:audit-3.0.9.tar.gz/m4/ltsugar.m4
Changed
@@ -1,6 +1,6 @@ # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software +# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software # Foundation, Inc. # Written by Gary V. Vaughan, 2004 #
View file
_service:tar_scm:audit-3.0.1.tar.gz/m4/ltversion.m4 -> _service:tar_scm:audit-3.0.9.tar.gz/m4/ltversion.m4
Changed
@@ -1,6 +1,7 @@ # ltversion.m4 -- version numbers -*- Autoconf -*- # -# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. +# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, +# Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives @@ -9,15 +10,15 @@ # @configure_input@ -# serial 4179 ltversion.m4 +# serial 4245 ltversion.m4 # This file is part of GNU Libtool -m4_define(LT_PACKAGE_VERSION, 2.4.6) -m4_define(LT_PACKAGE_REVISION, 2.4.6) +m4_define(LT_PACKAGE_VERSION, 2.4.7) +m4_define(LT_PACKAGE_REVISION, 2.4.7) AC_DEFUN(LTVERSION_VERSION, -macro_version='2.4.6' -macro_revision='2.4.6' +macro_version='2.4.7' +macro_revision='2.4.7' _LT_DECL(, macro_version, 0, Which release of libtool.m4 was used?) _LT_DECL(, macro_revision, 0) )
View file
_service:tar_scm:audit-3.0.1.tar.gz/m4/lt~obsolete.m4 -> _service:tar_scm:audit-3.0.9.tar.gz/m4/lt~obsolete.m4
Changed
@@ -1,7 +1,7 @@ # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # -# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software -# Foundation, Inc. +# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives
View file
_service:tar_scm:audit-3.0.1.tar.gz/missing -> _service:tar_scm:audit-3.0.9.tar.gz/missing
Changed
@@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify
View file
_service:tar_scm:audit-3.0.1.tar.gz/py-compile -> _service:tar_scm:audit-3.0.9.tar.gz/py-compile
Changed
@@ -1,9 +1,9 @@ #!/bin/sh # py-compile - Compile a Python program -scriptversion=2020-02-19.23; # UTC +scriptversion=2021-02-27.01; # UTC -# Copyright (C) 2000-2020 Free Software Foundation, Inc. +# Copyright (C) 2000-2021 Free Software Foundation, Inc. # 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 @@ -27,7 +27,7 @@ # bugs to <bug-automake@gnu.org> or send patches to # <automake-patches@gnu.org>. -if -z "$PYTHON" ; then +if test -z "$PYTHON"; then PYTHON=python fi @@ -96,26 +96,26 @@ files=$* if test -z "$files"; then - usage_error "no files given" + usage_error "no files given" fi # if basedir was given, then it should be prepended to filenames before # byte compilation. -if -z "$basedir" ; then - pathtrans="path = file" +if test -z "$basedir"; then + pathtrans="path = file" else - pathtrans="path = os.path.join('$basedir', file)" + pathtrans="path = os.path.join('$basedir', file)" fi # if destdir was given, then it needs to be prepended to the filename to # byte compile but not go into the compiled file. -if -z "$destdir" ; then - filetrans="filepath = path" +if test -z "$destdir"; then + filetrans="filepath = path" else - filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)" + filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)" fi -python_major=$($PYTHON -V 2>&1 | sed -e 's/.* //;s/\..*$//;1q') +python_major=`$PYTHON -V 2>&1 | sed -e 's/.* //;s/\..*$//;1q'` if test -z "$python_major"; then echo "$me: could not determine $PYTHON major version, guessing 3" >&2 python_major=3 @@ -176,7 +176,7 @@ py_compile.compile(filepath, $import_call(filepath$import_arg2), path) else: py_compile.compile(filepath, filepath + 'o', path) -sys.stdout.write('\n')" 2>/dev/null || : +sys.stdout.write('\n')" 2>/dev/null || exit $? # Local Variables: # mode: shell-script
View file
_service:tar_scm:audit-3.0.1.tar.gz/rules/23-ignore-filesystems.rules -> _service:tar_scm:audit-3.0.9.tar.gz/rules/23-ignore-filesystems.rules
Changed
@@ -1,4 +1,4 @@ -# This rule supresses events that originate on the below file systems. +# This rule suppresses events that originate on the below file systems. # Typically you would use this in conjunction with rules to monitor # kernel modules. The filesystem listed are known to cause hundreds of # path records during kernel module load. As an aside, if you do see the
View file
_service:tar_scm:audit-3.0.1.tar.gz/rules/30-nispom.rules -> _service:tar_scm:audit-3.0.9.tar.gz/rules/30-nispom.rules
Changed
@@ -1,4 +1,4 @@ -## This file contains the a sample audit configuration intended to +## This file contains a sample audit configuration intended to ## meet the NISPOM Chapter 8 rules. This rule depends on having ## 10-base-config.rules & 99-finalize.rules installed. @@ -47,10 +47,10 @@ -a always,exit -F arch=b64 -S mkdir,link,symlink,mkdirat -F exit=-EPERM -F key=creation ## unsuccessful open --a always,exit -F arch=b32 -S open,openat,open_by_handle_at -F exit=-EACCES -F key=open --a always,exit -F arch=b64 -S open,openat,open_by_handle_at -F exit=-EACCES -F key=open --a always,exit -F arch=b32 -S open,openat,open_by_handle_at -F exit=-EPERM -F key=open --a always,exit -F arch=b64 -S open,openat,open_by_handle_at -F exit=-EPERM -F key=open +-a always,exit -F arch=b32 -S open,openat,openat2,open_by_handle_at -F exit=-EACCES -F key=open +-a always,exit -F arch=b64 -S open,openat,openat2,open_by_handle_at -F exit=-EACCES -F key=open +-a always,exit -F arch=b32 -S open,openat,openat2,open_by_handle_at -F exit=-EPERM -F key=open +-a always,exit -F arch=b64 -S open,openat,openat2,open_by_handle_at -F exit=-EPERM -F key=open ## unsuccessful close -a always,exit -F arch=b32 -S close -F exit=-EIO -F key=close
View file
_service:tar_scm:audit-3.0.1.tar.gz/rules/30-ospp-v42-3-access-failed.rules -> _service:tar_scm:audit-3.0.9.tar.gz/rules/30-ospp-v42-3-access-failed.rules
Changed
@@ -1,5 +1,5 @@ ## Unsuccessful file access (any other opens) This has to go last. --a always,exit -F arch=b32 -S open,openat,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=unsuccessful-access --a always,exit -F arch=b64 -S open,openat,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=unsuccessful-access --a always,exit -F arch=b32 -S open,openat,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=unsuccessful-access --a always,exit -F arch=b64 -S open,openat,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=unsuccessful-access +-a always,exit -F arch=b32 -S open,openat,openat2,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=unsuccessful-access +-a always,exit -F arch=b64 -S open,openat,openat2,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=unsuccessful-access +-a always,exit -F arch=b32 -S open,openat,openat2,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=unsuccessful-access +-a always,exit -F arch=b64 -S open,openat,openat2,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=unsuccessful-access
View file
_service:tar_scm:audit-3.0.1.tar.gz/rules/30-ospp-v42-3-access-success.rules -> _service:tar_scm:audit-3.0.9.tar.gz/rules/30-ospp-v42-3-access-success.rules
Changed
@@ -1,4 +1,4 @@ ## Successful file access (any other opens) This has to go last. ## These next two are likely to result in a whole lot of events --a always,exit -F arch=b32 -S open,openat,open_by_handle_at -F success=1 -F auid>=1000 -F auid!=unset -F key=successful-access --a always,exit -F arch=b64 -S open,openat,open_by_handle_at -F success=1 -F auid>=1000 -F auid!=unset -F key=successful-access +-a always,exit -F arch=b32 -S open,openat,openat2,open_by_handle_at -F success=1 -F auid>=1000 -F auid!=unset -F key=successful-access +-a always,exit -F arch=b64 -S open,openat,openat2,open_by_handle_at -F success=1 -F auid>=1000 -F auid!=unset -F key=successful-access
View file
_service:tar_scm:audit-3.0.1.tar.gz/rules/30-ospp-v42.rules -> _service:tar_scm:audit-3.0.9.tar.gz/rules/30-ospp-v42.rules
Changed
@@ -54,6 +54,7 @@ -a always,exit -F path=/usr/bin/passwd -F perm=x -F auid>=1000 -F auid!=unset -F key=special-config-changes -a always,exit -F path=/usr/bin/crontab -F perm=x -F auid>=1000 -F auid!=unset -F key=special-config-changes -a always,exit -F path=/usr/bin/at -F perm=x -F auid>=1000 -F auid!=unset -F key=special-config-changes +-a always,exit -F path=/usr/sbin/grub2-set-bootflag -F perm=x -F auid>=1000 -F auid!=unset -F key=special-config-changes ## Privilege escalation via su or sudo. This is entirely handled by pam.
View file
_service:tar_scm:audit-3.0.1.tar.gz/rules/30-pci-dss-v31.rules -> _service:tar_scm:audit-3.0.9.tar.gz/rules/30-pci-dss-v31.rules
Changed
@@ -8,7 +8,7 @@ ## 3) It is also assumed that 1000 represents the first usable user account. To ## be sure, look at UID_MIN in /etc/login.defs. ## 4) If these rules generate too much spurious data for your tastes, limit the -## the syscall file rules with a directory, like -F dir=/etc +## syscall file rules with a directory, like -F dir=/etc ## 5) You can search for the results on the key fields in the rules ## @@ -92,7 +92,7 @@ ## logs off the system to assure that there is an unaltered copy. ## 10.5.1 Limit viewing of audit trails to those with a job-related need. -## The audit daemon by default limits viewing of the auit trail to root. +## The audit daemon by default limits viewing of the audit trail to root. ## If someone that is not an admin has a job related need to see logs, then ## create a unique group for people with this need and set the log_group ## configuration item in auditd.conf
View file
_service:tar_scm:audit-3.0.1.tar.gz/rules/30-stig.rules -> _service:tar_scm:audit-3.0.9.tar.gz/rules/30-stig.rules
Changed
@@ -8,7 +8,7 @@ ## 3) It is also assumed that 1000 represents the first usable user account. To ## be sure, look at UID_MIN in /etc/login.defs. ## 4) If these rules generate too much spurious data for your tastes, limit the -## the syscall file rules with a directory, like -F dir=/etc +## syscall file rules with a directory, like -F dir=/etc ## 5) You can search for the results on the key fields in the rules ## ## @@ -100,10 +100,10 @@ -a always,exit -F arch=b64 -S setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr -F auid>=1000 -F auid!=unset -F key=perm_mod ##- Unauthorized access attempts to files (unsuccessful) --a always,exit -F arch=b32 -S open,creat,truncate,ftruncate,openat,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access --a always,exit -F arch=b32 -S open,creat,truncate,ftruncate,openat,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access --a always,exit -F arch=b64 -S open,truncate,ftruncate,creat,openat,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access --a always,exit -F arch=b64 -S open,truncate,ftruncate,creat,openat,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b32 -S open,creat,truncate,ftruncate,openat,openat2,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b32 -S open,creat,truncate,ftruncate,openat,openat2,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open,truncate,ftruncate,creat,openat,openat2,open_by_handle_at -F exit=-EACCES -F auid>=1000 -F auid!=unset -F key=access +-a always,exit -F arch=b64 -S open,truncate,ftruncate,creat,openat,openat2,open_by_handle_at -F exit=-EPERM -F auid>=1000 -F auid!=unset -F key=access ##- Use of print command (unsuccessful and successful)
View file
_service:tar_scm:audit-3.0.9.tar.gz/rules/44-installers.rules
Added
@@ -0,0 +1,9 @@ +# These rules watch for invocation of things known to install software + +-a always,exit -F perm=x -F path=/usr/bin/dnf-3 -F key=software-installer +-a always,exit -F perm=x -F path=/usr/bin/yum -F key=software-installer +-a always,exit -F perm=x -F path=/usr/bin/pip -F key=software-installer +-a always,exit -F perm=x -F path=/usr/bin/npm -F key=software-installer +-a always,exit -F perm=x -F path=/usr/bin/cpan -F key=software-installer +-a always,exit -F perm=x -F path=/usr/bin/gem -F key=software-installer +-a always,exit -F perm=x -F path=/usr/bin/luarocks -F key=software-installer
View file
_service:tar_scm:audit-3.0.1.tar.gz/rules/71-networking.rules -> _service:tar_scm:audit-3.0.9.tar.gz/rules/71-networking.rules
Changed
@@ -1,3 +1,3 @@ -## This is to check if the system is making or recieving connections +## This is to check if the system is making or receiving connections ## externally -a always,exit -F arch=b64 -S accept,connect -F key=external-access
View file
_service:tar_scm:audit-3.0.1.tar.gz/rules/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/rules/Makefile.am
Changed
@@ -13,8 +13,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -37,6 +38,7 @@ 30-ospp-v42-6-owner-change-success.rules \ 31-privileged.rules 32-power-abuse.rules \ 40-local.rules 41-containers.rules 42-injection.rules 43-module-load.rules \ +44-installers.rules \ 70-einval.rules 71-networking.rules \ 99-finalize.rules README-rules
View file
_service:tar_scm:audit-3.0.1.tar.gz/rules/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/rules/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -196,6 +197,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -207,8 +210,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -264,6 +269,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -317,6 +323,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -346,6 +353,7 @@ 30-ospp-v42-6-owner-change-success.rules \ 31-privileged.rules 32-power-abuse.rules \ 40-local.rules 41-containers.rules 42-injection.rules 43-module-load.rules \ +44-installers.rules \ 70-einval.rules 71-networking.rules \ 99-finalize.rules README-rules @@ -416,7 +424,6 @@ cscope cscopelist: - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/rules/README-rules -> _service:tar_scm:audit-3.0.9.tar.gz/rules/README-rules
Changed
@@ -20,7 +20,10 @@ that should be thought out and individual files copied to /etc/audit/rules.d/ For example, if you wanted to set a system up in the STIG configuration, copy rules 10-base-config, 30-stig, 31-privileged, and 99-finalize. You can add -more if you like. +more if you like. Also, not all arches have the same syscalls. It is expected +that the rules be fine tuned for the arch they are deployed on. For example, +aarch64 does not have the open syscall. It should just be deleted from the +rules. Once you have the rules in the rules.d directory, you can load them by running augenrules --load
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/src/Makefile.am
Changed
@@ -13,8 +13,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -24,31 +25,30 @@ SUBDIRS = test AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/lib -I${top_srcdir}/src/libev -I${top_srcdir}/auparse -I${top_srcdir}/audisp -I${top_srcdir}/common sbin_PROGRAMS = auditd auditctl aureport ausearch autrace -AM_CFLAGS = -D_GNU_SOURCE -Wno-pointer-sign +AM_CFLAGS = -D_GNU_SOURCE -Wno-pointer-sign ${WFLAGS} noinst_HEADERS = auditd-config.h auditd-event.h auditd-listen.h ausearch-llist.h ausearch-options.h auditctl-llist.h aureport-options.h ausearch-parse.h aureport-scan.h ausearch-lookup.h ausearch-int.h auditd-dispatch.h ausearch-string.h ausearch-nvpair.h ausearch-common.h ausearch-avc.h ausearch-time.h ausearch-lol.h auditctl-listing.h ausearch-checkpt.h auditd_SOURCES = auditd.c auditd-event.c auditd-config.c auditd-reconfig.c auditd-sendmail.c auditd-dispatch.c if ENABLE_LISTENER auditd_SOURCES += auditd-listen.c endif -auditd_CFLAGS = -fPIE -DPIE -g -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pthread -Wno-pointer-sign +auditd_CFLAGS = -fPIE -DPIE -g -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pthread -Wno-pointer-sign ${WFLAGS} auditd_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now -auditd_DEPENDENCIES = libev/libev.a ${top_builddir}/audisp/libdisp.a -auditd_LDADD = @LIBWRAP_LIBS@ -Llibev -lev -L${top_builddir}/audisp -ldisp -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -lpthread -lrt -lm $(gss_libs) -L${top_builddir}/common -laucommon +auditd_LDADD = @LIBWRAP_LIBS@ ${top_builddir}/src/libev/libev.la ${top_builddir}/audisp/libdisp.la ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la -lpthread -lm $(gss_libs) ${top_builddir}/common/libaucommon.la auditctl_SOURCES = auditctl.c auditctl-llist.c delete_all.c auditctl-listing.c -auditctl_CFLAGS = -fPIE -DPIE -g -D_GNU_SOURCE +auditctl_CFLAGS = -fPIE -DPIE -g -D_GNU_SOURCE ${WFLAGS} auditctl_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now -auditctl_LDADD = -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -L${top_builddir}/common -laucommon +auditctl_LDADD = ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la ${top_builddir}/common/libaucommon.la aureport_SOURCES = aureport.c auditd-config.c ausearch-llist.c aureport-options.c ausearch-string.c ausearch-parse.c aureport-scan.c aureport-output.c ausearch-lookup.c ausearch-int.c ausearch-time.c ausearch-nvpair.c ausearch-avc.c ausearch-lol.c -aureport_LDADD = -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -L${top_builddir}/common -laucommon +aureport_LDADD = ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la ${top_builddir}/common/libaucommon.la ausearch_SOURCES = ausearch.c auditd-config.c ausearch-llist.c ausearch-options.c ausearch-report.c ausearch-match.c ausearch-string.c ausearch-parse.c ausearch-int.c ausearch-time.c ausearch-nvpair.c ausearch-lookup.c ausearch-avc.c ausearch-lol.c ausearch-checkpt.c -ausearch_LDADD = -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -L${top_builddir}/common -laucommon +ausearch_LDADD = ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la ${top_builddir}/common/libaucommon.la autrace_SOURCES = autrace.c delete_all.c auditctl-llist.c -autrace_LDADD = -L${top_builddir}/lib -laudit +autrace_LDADD = ${top_builddir}/lib/libaudit.la libev/libev.a: make -C libev
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/src/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,8 +29,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -136,7 +137,9 @@ auditctl-delete_all.$(OBJEXT) \ auditctl-auditctl-listing.$(OBJEXT) auditctl_OBJECTS = $(am_auditctl_OBJECTS) -auditctl_DEPENDENCIES = +auditctl_DEPENDENCIES = ${top_builddir}/lib/libaudit.la \ + ${top_builddir}/auparse/libauparse.la \ + ${top_builddir}/common/libaucommon.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -155,6 +158,11 @@ auditd-auditd-dispatch.$(OBJEXT) $(am__objects_1) auditd_OBJECTS = $(am_auditd_OBJECTS) am__DEPENDENCIES_1 = +auditd_DEPENDENCIES = ${top_builddir}/src/libev/libev.la \ + ${top_builddir}/audisp/libdisp.la \ + ${top_builddir}/lib/libaudit.la \ + ${top_builddir}/auparse/libauparse.la $(am__DEPENDENCIES_1) \ + ${top_builddir}/common/libaucommon.la auditd_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(auditd_CFLAGS) $(CFLAGS) \ $(auditd_LDFLAGS) $(LDFLAGS) -o $@ @@ -166,7 +174,9 @@ ausearch-time.$(OBJEXT) ausearch-nvpair.$(OBJEXT) \ ausearch-avc.$(OBJEXT) ausearch-lol.$(OBJEXT) aureport_OBJECTS = $(am_aureport_OBJECTS) -aureport_DEPENDENCIES = +aureport_DEPENDENCIES = ${top_builddir}/lib/libaudit.la \ + ${top_builddir}/auparse/libauparse.la \ + ${top_builddir}/common/libaucommon.la am_ausearch_OBJECTS = ausearch.$(OBJEXT) auditd-config.$(OBJEXT) \ ausearch-llist.$(OBJEXT) ausearch-options.$(OBJEXT) \ ausearch-report.$(OBJEXT) ausearch-match.$(OBJEXT) \ @@ -176,11 +186,13 @@ ausearch-avc.$(OBJEXT) ausearch-lol.$(OBJEXT) \ ausearch-checkpt.$(OBJEXT) ausearch_OBJECTS = $(am_ausearch_OBJECTS) -ausearch_DEPENDENCIES = +ausearch_DEPENDENCIES = ${top_builddir}/lib/libaudit.la \ + ${top_builddir}/auparse/libauparse.la \ + ${top_builddir}/common/libaucommon.la am_autrace_OBJECTS = autrace.$(OBJEXT) delete_all.$(OBJEXT) \ auditctl-llist.$(OBJEXT) autrace_OBJECTS = $(am_autrace_OBJECTS) -autrace_DEPENDENCIES = +autrace_DEPENDENCIES = ${top_builddir}/lib/libaudit.la AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -280,8 +292,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -330,6 +340,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -341,8 +353,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -398,6 +412,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -451,6 +466,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -467,25 +483,24 @@ CONFIG_CLEAN_FILES = *.rej *.orig SUBDIRS = test AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/lib -I${top_srcdir}/src/libev -I${top_srcdir}/auparse -I${top_srcdir}/audisp -I${top_srcdir}/common -AM_CFLAGS = -D_GNU_SOURCE -Wno-pointer-sign +AM_CFLAGS = -D_GNU_SOURCE -Wno-pointer-sign ${WFLAGS} noinst_HEADERS = auditd-config.h auditd-event.h auditd-listen.h ausearch-llist.h ausearch-options.h auditctl-llist.h aureport-options.h ausearch-parse.h aureport-scan.h ausearch-lookup.h ausearch-int.h auditd-dispatch.h ausearch-string.h ausearch-nvpair.h ausearch-common.h ausearch-avc.h ausearch-time.h ausearch-lol.h auditctl-listing.h ausearch-checkpt.h auditd_SOURCES = auditd.c auditd-event.c auditd-config.c \ auditd-reconfig.c auditd-sendmail.c auditd-dispatch.c \ $(am__append_1) -auditd_CFLAGS = -fPIE -DPIE -g -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pthread -Wno-pointer-sign +auditd_CFLAGS = -fPIE -DPIE -g -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pthread -Wno-pointer-sign ${WFLAGS} auditd_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now -auditd_DEPENDENCIES = libev/libev.a ${top_builddir}/audisp/libdisp.a -auditd_LDADD = @LIBWRAP_LIBS@ -Llibev -lev -L${top_builddir}/audisp -ldisp -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -lpthread -lrt -lm $(gss_libs) -L${top_builddir}/common -laucommon +auditd_LDADD = @LIBWRAP_LIBS@ ${top_builddir}/src/libev/libev.la ${top_builddir}/audisp/libdisp.la ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la -lpthread -lm $(gss_libs) ${top_builddir}/common/libaucommon.la auditctl_SOURCES = auditctl.c auditctl-llist.c delete_all.c auditctl-listing.c -auditctl_CFLAGS = -fPIE -DPIE -g -D_GNU_SOURCE +auditctl_CFLAGS = -fPIE -DPIE -g -D_GNU_SOURCE ${WFLAGS} auditctl_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now -auditctl_LDADD = -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -L${top_builddir}/common -laucommon +auditctl_LDADD = ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la ${top_builddir}/common/libaucommon.la aureport_SOURCES = aureport.c auditd-config.c ausearch-llist.c aureport-options.c ausearch-string.c ausearch-parse.c aureport-scan.c aureport-output.c ausearch-lookup.c ausearch-int.c ausearch-time.c ausearch-nvpair.c ausearch-avc.c ausearch-lol.c -aureport_LDADD = -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -L${top_builddir}/common -laucommon +aureport_LDADD = ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la ${top_builddir}/common/libaucommon.la ausearch_SOURCES = ausearch.c auditd-config.c ausearch-llist.c ausearch-options.c ausearch-report.c ausearch-match.c ausearch-string.c ausearch-parse.c ausearch-int.c ausearch-time.c ausearch-nvpair.c ausearch-lookup.c ausearch-avc.c ausearch-lol.c ausearch-checkpt.c -ausearch_LDADD = -L${top_builddir}/lib -laudit -L${top_builddir}/auparse -lauparse -L${top_builddir}/common -laucommon +ausearch_LDADD = ${top_builddir}/lib/libaudit.la ${top_builddir}/auparse/libauparse.la ${top_builddir}/common/libaucommon.la autrace_SOURCES = autrace.c delete_all.c auditctl-llist.c -autrace_LDADD = -L${top_builddir}/lib -laudit +autrace_LDADD = ${top_builddir}/lib/libaudit.la all: all-recursive .SUFFIXES: @@ -914,7 +929,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/auditctl-listing.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/auditctl-listing.c
Changed
@@ -1,20 +1,20 @@ -/* auditctl-listing.c -- - * Copyright 2014,16 Red Hat Inc., Durham, North Carolina. +/* auditctl-listing.c -- + * Copyright 2014,16,2021 Red Hat Inc. * All Rights Reserved. * - * 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 - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. * - * This program is distributed in the hope that it will be useful, + * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor * Boston, MA 02110-1335, USA. * * Authors: @@ -122,7 +122,7 @@ else printf(" -F arch%sb32", audit_operator_to_symbol(op)); - } else { + } else { const char *ptr = audit_machine_to_name(machine); printf(" -F arch%s%s", audit_operator_to_symbol(op), ptr); @@ -398,7 +398,7 @@ printf(" -F perm=%s", perms); } else if (field == AUDIT_INODE) { // This is unsigned - printf(" -F %s%s%u", name, + printf(" -F %s%s%u", name, audit_operator_to_symbol(op), r->valuesi); } else if (field == AUDIT_FIELD_COMPARE) { @@ -411,7 +411,7 @@ // Show these as hex if (count > 1 || interpret == 0) - printf(" -F %s%s0x%X", name, + printf(" -F %s%s0x%X", name, audit_operator_to_symbol(op), r->valuesi); else { // Use ignore to mean interpret @@ -460,14 +460,23 @@ audit_operator_to_symbol(op), audit_fstype_to_name( r->valuesi)); + } else if (field == AUDIT_LOGINUID || + field == AUDIT_SESSIONID) { + if (r->valuesi == -1 && interpret) + printf(" -F %s%sunset", name, + audit_operator_to_symbol(op)); + else + printf(" -F %s%s%d", name, + audit_operator_to_symbol(op), + r->valuesi); } else { // The default is signed decimal - printf(" -F %s%s%d", name, + printf(" -F %s%s%d", name, audit_operator_to_symbol(op), r->valuesi); } } else { - // The field name is unknown + // The field name is unknown printf(" f%d%s%d", r->fieldsi, audit_operator_to_symbol(op), r->valuesi); @@ -576,7 +585,7 @@ #endif printed = 1; break; -#if defined(HAVE_DECL_AUDIT_FEATURE_VERSION) +#if HAVE_DECL_AUDIT_FEATURE_VERSION == 1 case AUDIT_GET_FEATURE: { uint32_t mask = AUDIT_FEATURE_TO_MASK( @@ -599,7 +608,7 @@ printed = 1; return 1; default: - printf("Unknown: type=%d, len=%d\n", rep->type, + printf("Unknown: type=%d, len=%d\n", rep->type, rep->nlh->nlmsg_len); printed = 1; break;
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/auditctl.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/auditctl.c
Changed
@@ -110,7 +110,7 @@ " -C f=f Compare collected fields if available:\n" " Field name, operator(=,!=), field name\n" " -d <l,a> Delete rule from <l>ist with <a>ction\n" - " l=task,exit,user,exclude\n" + " l=task,exit,user,exclude,filesystem\n" " a=never,always\n" " -D Delete all rules and watches\n" " -e 0..2 Set enabled flag\n" @@ -130,12 +130,12 @@ " -R <file> read rules from file\n" " -s Report status\n" " -S syscall Build rule: syscall name or number\n" - " --signal <signal> Send the specified signal to the daemon" + " --signal <signal> Send the specified signal to the daemon\n" " -t Trim directory watches\n" " -v Version\n" " -w <path> Insert watch at <path>\n" " -W <path> Remove watch at <path>\n" -#if defined(HAVE_DECL_AUDIT_FEATURE_VERSION) +#if HAVE_DECL_AUDIT_FEATURE_VERSION == 1 " --loginuid-immutable Make loginuids unchangeable once set\n" #endif #if HAVE_DECL_AUDIT_VERSION_BACKLOG_WAIT_TIME == 1 || \ @@ -153,30 +153,30 @@ static int lookup_filter(const char *str, int *filter) { - if (strcmp(str, "task") == 0) - *filter = AUDIT_FILTER_TASK; - else if (strcmp(str, "exit") == 0) + if (strcmp(str, "exit") == 0) *filter = AUDIT_FILTER_EXIT; + else if (strcmp(str, "task") == 0) + *filter = AUDIT_FILTER_TASK; else if (strcmp(str, "user") == 0) *filter = AUDIT_FILTER_USER; - else if (strcmp(str, "filesystem") == 0) - *filter = AUDIT_FILTER_FS; else if (strcmp(str, "exclude") == 0) { *filter = AUDIT_FILTER_EXCLUDE; exclude = 1; - } else + } else if (strcmp(str, "filesystem") == 0) + *filter = AUDIT_FILTER_FS; + else return 2; return 0; } static int lookup_action(const char *str, int *act) { - if (strcmp(str, "never") == 0) + if (strcmp(str, "always") == 0) + *act = AUDIT_ALWAYS; + else if (strcmp(str, "never") == 0) *act = AUDIT_NEVER; else if (strcmp(str, "possible") == 0) return 1; - else if (strcmp(str, "always") == 0) - *act = AUDIT_ALWAYS; else return 2; return 0; @@ -200,8 +200,8 @@ *p = 0; /* Try opt both ways */ - if (lookup_filter(opt, filter) == 2) { - rc = lookup_action(opt, act); + if (lookup_action(opt, act) == 2) { + rc = lookup_filter(opt, filter); if (rc != 0) { *p = ','; return rc; @@ -368,7 +368,7 @@ return 0; } -static void check_rule_mismatch(int lineno, const char *option) +static int check_rule_mismatch(int lineno, const char *option) { struct audit_rule_data tmprule; unsigned int old_audit_elf = _audit_elf; @@ -386,17 +386,28 @@ _audit_elf = AUDIT_ARCH_S390; break; } + + char *ptr, *saved, *tmp = strdup(option); + if (tmp == NULL) + return -1; + ptr = strtok_r(tmp, ",", &saved); memset(&tmprule, 0, sizeof(struct audit_rule_data)); - audit_rule_syscallbyname_data(&tmprule, option); + while (ptr) { + audit_rule_syscallbyname_data(&tmprule, ptr); + ptr = strtok_r(NULL, ",", &saved); + } if (memcmp(tmprule.mask, rule_new->mask, AUDIT_BITMASK_SIZE)) rc = 1; + free(tmp); + _audit_elf = old_audit_elf; - if (rc) { + if (rc) { if (lineno) audit_msg(LOG_WARNING, "WARNING - 32/64 bit syscall mismatch in line %d, you should specify an arch", lineno); else audit_msg(LOG_WARNING, "WARNING - 32/64 bit syscall mismatch, you should specify an arch"); } + return 0; } @@ -532,7 +543,7 @@ static struct option long_opts = { -#if defined(HAVE_DECL_AUDIT_FEATURE_VERSION) +#if HAVE_DECL_AUDIT_FEATURE_VERSION == 1 {"loginuid-immutable", 0, NULL, 1}, #endif #if HAVE_DECL_AUDIT_VERSION_BACKLOG_WAIT_TIME == 1 || \ @@ -824,7 +835,8 @@ case 0: _audit_syscalladded = 1; if (unknown_arch && add != AUDIT_FILTER_UNSET) - check_rule_mismatch(lineno, optarg); + if (check_rule_mismatch(lineno, optarg) == -1) + retval = -1; break; case -1: audit_msg(LOG_ERR, "Syscall name unknown: %s", @@ -1008,7 +1020,7 @@ } break; case 'p': - if (!add && !del) { + if (add == AUDIT_FILTER_UNSET && del == AUDIT_FILTER_UNSET) { audit_msg(LOG_ERR, "permission option needs a watch given prior to it"); retval = -1;
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/auditd-config.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/auditd-config.c
Changed
@@ -1,5 +1,5 @@ /* auditd-config.c -- - * Copyright 2004-2011,2013-14,2016,2018 Red Hat Inc., Durham, North Carolina. + * Copyright 2004-2011,2013-14,2016,2018,2020-21 Red Hat Inc. * All Rights Reserved. * * This program is free software; you can redistribute it and/or modify @@ -18,7 +18,7 @@ * * Authors: * Steve Grubb <sgrubb@redhat.com> - * + * */ #include "config.h" @@ -347,7 +347,7 @@ config->krb5_principal = NULL; config->krb5_key_file = NULL; config->distribute_network_events = 0; - config->q_depth = 400; + config->q_depth = 2000; config->overflow_action = O_SYSLOG; config->max_restarts = 10; config->plugin_dir = strdup("/etc/audit/plugins.d"); @@ -1768,7 +1768,9 @@ if (i > 99999) { audit_msg(LOG_ERR, "q_depth must be 99999 or less"); return 1; - } + } else if (i < 512) + audit_msg(LOG_WARNING, + "q_depth should be larger than 512 for safety margin"); config->q_depth = i; return 0; } @@ -1948,6 +1950,21 @@ "Error - incremental flushing chosen, but 0 selected for freq"); return 1; } + if (config->log_group != 0) { + int rc = 0; + char *path = strdup(config->log_file); + const char *dir = dirname(path); + if (dir && strcmp(dir, "/var/log") == 0) { + audit_msg(LOG_ERR, + "Error - log_file is directly in %s and chgrp" + " will alter a system directory's permissions. Use" + " another directory.", dir); + rc = 1; + } + free(path); + if (rc) + return rc; + } /* Warnings */ if (config->flush > FT_INCREMENTAL_ASYNC && config->freq != 0) { audit_msg(LOG_WARNING, @@ -2016,8 +2033,13 @@ audit_msg(LOG_ERR, "Unable to get machine name"); rc = -1; - } else + } else { + // Remove any spaces + char *p; + while ((p = strchr(tmp_name, ' '))) + *p = '_'; config->node_name = strdup(tmp_name); + } break; case N_USER: if (config->node_name == NULL) {
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/auditd-event.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/auditd-event.c
Changed
@@ -1,5 +1,5 @@ -/* auditd-event.c -- - * Copyright 2004-08,2011,2013,2015-16,2018 Red Hat Inc.,Durham, North Carolina. +/* auditd-event.c -- + * Copyright 2004-08,2011,2013,2015-16,2018,2021 Red Hat Inc. * All Rights Reserved. * * This program is free software; you can redistribute it and/or modify @@ -42,6 +42,7 @@ #include "libaudit.h" #include "private.h" #include "auparse.h" +#include "auparse-idata.h" /* This is defined in auditd.c */ extern volatile int stop; @@ -56,7 +57,7 @@ static void do_disk_full_action(void); static void do_disk_error_action(const char *func, int err); static void fix_disk_permissions(void); -static void check_excess_logs(void); +static void check_excess_logs(void); static void rotate_logs_now(void); static void rotate_logs(unsigned int num_logs, unsigned int keep_logs); static void shift_logs(void); @@ -70,7 +71,7 @@ /* Local Data */ static struct daemon_conf *config; static volatile int log_fd; -static FILE *log_file; +static FILE *log_file = NULL; static unsigned int disk_err_warning = 0; static int fs_space_warning = 0; static int fs_admin_space_warning = 0; @@ -117,7 +118,7 @@ config->space_left); fprintf(f, "admin_space_left setting %lu MB\n", config->admin_space_left); - } + } fprintf(f, "logging suspended = %s\n", logging_suspended ? "yes" : "no"); fprintf(f, "file system space action performed = %s\n", @@ -131,17 +132,14 @@ void shutdown_events(void) { - /* Give it 5 seconds to clear the queue */ - alarm(5); - - // Nudge the flush thread - pthread_cond_signal(&do_flush); - pthread_join(flush_thread, NULL); - + // We are no longer processing events, sync the disk and close up. + pthread_cancel(flush_thread); free((void *)format_buf); + auparse_destroy_ext(au, AUPARSE_DESTROY_ALL); + if (log_fd >= 0) + fsync(log_fd); if (log_file) fclose(log_file); - auparse_destroy_ext(au, AUPARSE_DESTROY_ALL); } int init_event(struct daemon_conf *conf) @@ -160,8 +158,8 @@ log_fd = 1; // stdout log_file = fdopen(log_fd, "a"); if (log_file == NULL) { - audit_msg(LOG_ERR, - "Error setting up stdout descriptor (%s)", + audit_msg(LOG_ERR, + "Error setting up stdout descriptor (%s)", strerror(errno)); return 1; } @@ -177,7 +175,8 @@ format_buf = (char *)malloc(FORMAT_BUF_LEN); if (format_buf == NULL) { audit_msg(LOG_ERR, "No memory for formatting, exiting"); - fclose(log_file); + if (log_file) + fclose(log_file); log_file = NULL; return 1; } @@ -193,11 +192,12 @@ /* This is a worker thread. Don't handle signals. */ sigemptyset(&sigs); - sigaddset(&sigs, SIGALRM); sigaddset(&sigs, SIGTERM); sigaddset(&sigs, SIGHUP); sigaddset(&sigs, SIGUSR1); sigaddset(&sigs, SIGUSR2); + sigaddset(&sigs, SIGCHLD); + sigaddset(&sigs, SIGCONT); pthread_sigmask(SIG_SETMASK, &sigs, NULL); while (!stop) { @@ -208,13 +208,16 @@ // into a loop of fsyncs. while (flush == 0) { pthread_cond_wait(&do_flush, &flush_lock); - if (stop) + if (stop) { + pthread_mutex_unlock(&flush_lock); return NULL; + } } flush = 0; pthread_mutex_unlock(&flush_lock); - fsync(log_fd); + if (log_fd >= 0) + fsync(log_fd); } return NULL; } @@ -227,6 +230,7 @@ pthread_cond_init(&do_flush, NULL); flush = 0; pthread_create(&flush_thread, NULL, flush_thread_main, NULL); + pthread_detach(flush_thread); } static void replace_event_msg(struct auditd_event *e, const char *buf) @@ -238,7 +242,8 @@ e->reply.message = strdup(buf); else { // If too big, we must truncate the event due to API - e->reply.message = strndup(buf, MAX_AUDIT_MESSAGE_LENGTH-1); + e->reply.message = strndup(buf, + MAX_AUDIT_MESSAGE_LENGTH-1); len = MAX_AUDIT_MESSAGE_LENGTH; } // For network originating events, len should be used @@ -263,7 +268,7 @@ "node=%s type=DAEMON_ERR op=format-raw msg=NULL res=failed", config->node_name); else - snprintf(format_buf, MAX_AUDIT_MESSAGE_LENGTH, + snprintf(format_buf, MAX_AUDIT_MESSAGE_LENGTH, "type=DAEMON_ERR op=format-raw msg=NULL res=failed"); } else { int len, nlen; @@ -271,7 +276,7 @@ char unknown32; type = audit_msg_type_to_name(rep->type); if (type == NULL) { - snprintf(unknown, sizeof(unknown), + snprintf(unknown, sizeof(unknown), "UNKNOWN%d", rep->type); type = unknown; } @@ -283,7 +288,7 @@ len = rep->len; } - // Note: This can truncate messages if + // Note: This can truncate messages if // MAX_AUDIT_MESSAGE_LENGTH is too small if (config->node_name_format != N_NONE) nlen = snprintf(format_buf, FORMAT_BUF_LEN - 32, @@ -295,9 +300,9 @@ "type=%s msg=%.*s", type, len, message); /* Replace \n with space so it looks nicer. */ - ptr = format_buf; + ptr = format_buf; while ((ptr = strchr(ptr, 0x0A)) != NULL) - *ptr = ' '; + *ptr = ' '; /* Trim trailing space off since it wastes space */ if (format_bufnlen-1 == ' ') @@ -339,7 +344,7 @@ } field_namei = 0; nlen = i; - + // get the translated value value = auparse_interpret_field(au); if (value == NULL) @@ -393,10 +398,10 @@ "node=%s type=DAEMON_ERR op=format-enriched msg=NULL res=failed", config->node_name); else - snprintf(format_buf, MAX_AUDIT_MESSAGE_LENGTH, + snprintf(format_buf, MAX_AUDIT_MESSAGE_LENGTH, "type=DAEMON_ERR op=format-enriched msg=NULL res=failed"); } else { - int rc; + int rc, rtype; size_t mlen, len; char *message; // Do raw format to get event started @@ -429,6 +434,17 @@ // Loop over all fields while possible to add field rc = auparse_first_record(au); + rtype = auparse_get_type(au); + switch (rtype) + { // Flush before adding to pickup new associations + case AUDIT_ADD_USER: + case AUDIT_ADD_GROUP: + _auparse_flush_caches(); + break; + default: + break; + } + while (rc > 0 && len > MIN_SPACE_LEFT) { // See what kind of field we have size_t vlen; @@ -456,6 +472,17 @@ rc = auparse_next_field(au); } + switch(rtype) + { // Flush after modification to remove stale entries + case AUDIT_USER_MGMT: + case AUDIT_DEL_USER: + case AUDIT_DEL_GROUP: + case AUDIT_GRP_MGMT: + _auparse_flush_caches(); + break; + default: + break; + } free(message); } return format_buf; @@ -555,20 +582,21 @@ rc = fflush_unlocked(log_file); } while (rc < 0 && errno == EINTR); if (errno) { - if (errno == ENOSPC && + if (errno == ENOSPC && fs_space_left == 1) { fs_space_left = 0; do_disk_full_action(); - } else + } else //EIO is only likely failure mode - do_disk_error_action("flush", + do_disk_error_action("flush", errno); } if (config->daemonize == D_BACKGROUND) { if (config->flush == FT_INCREMENTAL) { /* EIO is only likely failure */ - if (fsync(log_fd) != 0) { + if (log_fd >= 0 && + fsync(log_fd) != 0) { do_disk_error_action( "fsync", errno); @@ -577,7 +605,8 @@ pthread_mutex_lock(&flush_lock); flush = 1; pthread_cond_signal(&do_flush); - pthread_mutex_unlock(&flush_lock); + pthread_mutex_unlock( + &flush_lock); } } } @@ -604,7 +633,7 @@ void resume_logging(void) { audit_msg(LOG_NOTICE, "Audit daemon is attempting to resume logging."); - logging_suspended = 0; + logging_suspended = 0; fs_space_left = 1; // User space action scripts cause fd to close @@ -614,7 +643,7 @@ fix_disk_permissions(); if (open_audit_log()) { int saved_errno = errno; - audit_msg(LOG_WARNING, + audit_msg(LOG_WARNING, "Could not reopen a log after resume logging"); logging_suspended = 1; do_disk_error_action("resume", saved_errno); @@ -665,7 +694,7 @@ log_size += rc; check_log_file_size(); // Keep loose tabs on the free space - if ((log_size % 3) < 2) + if ((log_size % 8) < 3) check_space_left(); } @@ -696,6 +725,14 @@ case SZ_SUSPEND: audit_msg(LOG_ERR, "Audit daemon is suspending logging due to logfile size."); + // We need to close the file so that manual + // intervention can move or delete the file. + // We don't want to keep logging to a deleted + // file. + if (log_file) + fclose(log_file); + log_file = NULL; + log_fd = -1; logging_suspended = 1; break; case SZ_ROTATE: @@ -711,7 +748,7 @@ shift_logs(); break; default: - audit_msg(LOG_ALERT, + audit_msg(LOG_ALERT, "Audit daemon log file is larger than max size and unknown action requested"); break; } @@ -723,6 +760,9 @@ int rc; struct statfs buf; + if (log_fd < 0) + return; + rc = fstatfs(log_fd, &buf); if (rc == 0) { if (buf.f_bavail < 5) { @@ -733,7 +773,7 @@ unsigned long blocks; unsigned long block_size = buf.f_bsize; blocks = config->space_left * (MEGABYTE/block_size); - if (buf.f_bavail < blocks) { + if (buf.f_bavail < blocks) { if (fs_space_warning == 0) { do_space_left_action(0); // Allow unlimited rotation @@ -747,7 +787,7 @@ fs_space_warning = 0; } blocks=config->admin_space_left * (MEGABYTE/block_size); - if (buf.f_bavail < blocks) { + if (buf.f_bavail < blocks) { if (fs_admin_space_warning == 0) { do_space_left_action(1); // Allow unlimited rotation @@ -762,11 +802,11 @@ } } } - else audit_msg(LOG_DEBUG, "fstatfs returned:%d, %s", rc, + else audit_msg(LOG_DEBUG, "fstatfs returned:%d, %s", rc, strerror(errno)); } -extern int sendmail(const char *subject, const char *content, +extern int sendmail(const char *subject, const char *content, const char *mail_acct); static void do_space_left_action(int admin) { @@ -782,7 +822,7 @@ case FA_IGNORE: break; case FA_SYSLOG: - audit_msg(LOG_ALERT, + audit_msg(LOG_ALERT, "Audit daemon is low on disk space for logging"); break; case FA_ROTATE: @@ -794,23 +834,24 @@ break; case FA_EMAIL: if (admin == 0) { - sendmail("Audit Disk Space Alert", + sendmail("Audit Disk Space Alert", "The audit daemon is low on disk space for logging! Please take action\nto ensure no loss of service.", config->action_mail_acct); - audit_msg(LOG_ALERT, + audit_msg(LOG_ALERT, "Audit daemon is low on disk space for logging"); } else { - sendmail("Audit Admin Space Alert", + sendmail("Audit Admin Space Alert", "The audit daemon is very low on disk space for logging! Immediate action\nis required to ensure no loss of service.", config->action_mail_acct); - audit_msg(LOG_ALERT, + audit_msg(LOG_ALERT, "Audit daemon is very low on disk space for logging"); } break; case FA_EXEC: // Close the logging file in case the script zips or // moves the file. We'll reopen in sigusr2 handler - fclose(log_file); + if (log_file) + fclose(log_file); log_file = NULL; log_fd = -1; logging_suspended = 1; @@ -822,20 +863,27 @@ case FA_SUSPEND: audit_msg(LOG_ALERT, "Audit daemon is suspending logging due to low disk space."); + // We need to close the file so that manual + // intervention can move or delete the file. We + // don't want to keep logging to a deleted file. + if (log_file) + fclose(log_file); + log_file = NULL; + log_fd = -1; logging_suspended = 1; break; case FA_SINGLE: - audit_msg(LOG_ALERT, + audit_msg(LOG_ALERT, "The audit daemon is now changing the system to single user mode"); change_runlevel(SINGLE); break; case FA_HALT: - audit_msg(LOG_ALERT, + audit_msg(LOG_ALERT, "The audit daemon is now halting the system"); change_runlevel(HALT); break; default: - audit_msg(LOG_ALERT, + audit_msg(LOG_ALERT, "Audit daemon is low on disk space for logging and unknown action requested"); break; } @@ -860,7 +908,8 @@ case FA_EXEC: // Close the logging file in case the script zips or // moves the file. We'll reopen in sigusr2 handler - fclose(log_file); + if (log_file) + fclose(log_file); log_file = NULL; log_fd = -1; logging_suspended = 1; @@ -869,22 +918,29 @@ case FA_SUSPEND: audit_msg(LOG_ALERT, "Audit daemon is suspending logging due to no space left on logging partition."); + // We need to close the file so that manual + // intervention can move or delete the file. We + // don't want to keep logging to a deleted file. + if (log_file) + fclose(log_file); + log_file = NULL; + log_fd = -1; logging_suspended = 1; break; case FA_SINGLE: - audit_msg(LOG_ALERT, + audit_msg(LOG_ALERT, "The audit daemon is now changing the system to single user mode due to no space left on logging partition"); change_runlevel(SINGLE); break; case FA_HALT: - audit_msg(LOG_ALERT, + audit_msg(LOG_ALERT, "The audit daemon is now halting the system due to no space left on logging partition"); change_runlevel(HALT); break; default: audit_msg(LOG_ALERT, "Unknown disk full action requested"); break; - } + } } static void do_disk_error_action(const char *func, int err) @@ -897,7 +953,7 @@ break; case FA_SYSLOG: if (disk_err_warning < 5) { - snprintf(text, sizeof(text), + snprintf(text, sizeof(text), "%s: Audit daemon detected an error writing an event to disk (%s)", func, strerror(err)); audit_msg(LOG_ALERT, "%s", text); @@ -907,7 +963,8 @@ case FA_EXEC: // Close the logging file in case the script zips or // moves the file. We'll reopen in sigusr2 handler - fclose(log_file); + if (log_file) + fclose(log_file); log_file = NULL; log_fd = -1; logging_suspended = 1; @@ -916,28 +973,35 @@ case FA_SUSPEND: audit_msg(LOG_ALERT, "Audit daemon is suspending logging due to previously mentioned write error"); + // We need to close the file so that manual + // intervention can move or delete the file. We + // don't want to keep logging to a deleted file. + if (log_file) + fclose(log_file); + log_file = NULL; + log_fd = -1; logging_suspended = 1; break; case FA_SINGLE: - audit_msg(LOG_ALERT, + audit_msg(LOG_ALERT, "The audit daemon is now changing the system to single user mode due to previously mentioned write error"); change_runlevel(SINGLE); break; case FA_HALT: - audit_msg(LOG_ALERT, + audit_msg(LOG_ALERT, "The audit daemon is now halting the system due to previously mentioned write error."); change_runlevel(HALT); break; default: - audit_msg(LOG_ALERT, + audit_msg(LOG_ALERT, "Unknown disk error action requested"); break; - } + } } static void rotate_logs_now(void) { - if (config->max_log_size_action == SZ_KEEP_LOGS) + if (config->max_log_size_action == SZ_KEEP_LOGS) shift_logs(); else rotate_logs(0, 0); @@ -955,7 +1019,7 @@ if (config->max_log_size_action != SZ_ROTATE || config->num_logs < 2) return; - + len = strlen(config->log_file) + 16; name = (char *)malloc(len); if (name == NULL) { /* Not fatal - just messy */ @@ -963,7 +1027,7 @@ return; } - // We want 1 beyond the normal logs + // We want 1 beyond the normal logs i = config->num_logs; rc = 0; while (rc == 0) { @@ -1012,7 +1076,7 @@ free(path); } - + static void rotate_logs(unsigned int num_logs, unsigned int keep_logs) { int rc, i; @@ -1032,17 +1096,21 @@ /* Close audit file. fchmod and fchown errors are not fatal because we * already adjusted log file permissions and ownership when opening the * log file. */ - if (fchmod(log_fd, config->log_group ? S_IRUSR|S_IRGRP : S_IRUSR) < 0){ - audit_msg(LOG_WARNING, "Couldn't change permissions while " + if (log_fd >= 0) { + if (fchmod(log_fd, config->log_group ? S_IRUSR|S_IRGRP : + S_IRUSR) < 0){ + audit_msg(LOG_WARNING, "Couldn't change permissions while " "rotating log file (%s)", strerror(errno)); - } - if (fchown(log_fd, 0, config->log_group) < 0) { - audit_msg(LOG_WARNING, "Couldn't change ownership while " + } + if (fchown(log_fd, 0, config->log_group) < 0) { + audit_msg(LOG_WARNING, "Couldn't change ownership while " "rotating log file (%s)", strerror(errno)); + } } - fclose(log_file); + if (log_file) + fclose(log_file); log_file = NULL; - + /* Rotate */ len = strlen(config->log_file) + 16; oldname = (char *)malloc(len); @@ -1064,7 +1132,7 @@ num_logs = config->num_logs; /* Handle this case first since it will not enter the for loop */ - if (num_logs == 2) + if (num_logs == 2) snprintf(oldname, len, "%s.1", config->log_file); known_logs = 0; @@ -1076,7 +1144,7 @@ if (rc == -1 && errno != ENOENT) { // Likely errors: ENOSPC, ENOMEM, EBUSY int saved_errno = errno; - audit_msg(LOG_ERR, + audit_msg(LOG_ERR, "Error rotating logs from %s to %s (%s)", oldname, newname, strerror(errno)); if (saved_errno == ENOSPC && fs_space_left == 1) { @@ -1106,7 +1174,7 @@ /* At this point, we've failed to rotate the original log. * So, let's make the old log writable and try again next * time */ - chmod(config->log_file, + chmod(config->log_file, config->log_group ? S_IWUSR|S_IRUSR|S_IRGRP : S_IWUSR|S_IRUSR); } @@ -1115,7 +1183,7 @@ /* open new audit file */ if (open_audit_log()) { int saved_errno = errno; - audit_msg(LOG_CRIT, + audit_msg(LOG_CRIT, "Could not reopen a log after rotating."); logging_suspended = 1; do_disk_error_action("reopen", saved_errno); @@ -1141,7 +1209,7 @@ // Find last log num_logs = last_log; while (num_logs) { - snprintf(name, len, "%s.%u", config->log_file, + snprintf(name, len, "%s.%u", config->log_file, num_logs); if (access(name, R_OK) != 0) break; @@ -1154,7 +1222,7 @@ audit_msg(LOG_WARNING, "Last known log disappeared (%s)", name); num_logs = last_log = 1; while (num_logs) { - snprintf(name, len, "%s.%u", config->log_file, + snprintf(name, len, "%s.%u", config->log_file, num_logs); if (access(name, R_OK) != 0) break; @@ -1179,7 +1247,7 @@ if (config->write_logs == 0) return 0; - flags = O_WRONLY|O_APPEND|O_NOFOLLOW; + flags = O_WRONLY|O_APPEND|O_NOFOLLOW|O_CLOEXEC; if (config->flush == FT_DATA) flags |= O_DSYNC; else if (config->flush == FT_SYNC) @@ -1224,12 +1292,6 @@ } } - if (fcntl(lfd, F_SETFD, FD_CLOEXEC) == -1) { - audit_msg(LOG_ERR, "Error setting log file CLOEXEC flag (%s)", - strerror(errno)); - close(lfd); - return 1; - } if (fchmod(lfd, config->log_group ? S_IRUSR|S_IWUSR|S_IRGRP : S_IRUSR|S_IWUSR) < 0) { audit_msg(LOG_ERR, @@ -1268,7 +1330,7 @@ pid = fork(); if (pid < 0) { - audit_msg(LOG_ALERT, + audit_msg(LOG_ALERT, "Audit daemon failed to fork switching runlevels"); return; } @@ -1300,7 +1362,7 @@ pid = fork(); if (pid < 0) { - audit_msg(LOG_ALERT, + audit_msg(LOG_ALERT, "Audit daemon failed to fork doing safe_exec"); return; } @@ -1358,7 +1420,7 @@ oconf->priority_boost = nconf->priority_boost; errno = 0; rc = nice(-oconf->priority_boost); - if (rc == -1 && errno) + if (rc == -1 && errno) audit_msg(LOG_WARNING, "Cannot change priority in " "reconfigure (%s)", strerror(errno)); } @@ -1368,7 +1430,7 @@ // Only update this if we are in background mode since // foreground mode writes to stderr. - if ((oconf->write_logs != nconf->write_logs) && + if ((oconf->write_logs != nconf->write_logs) && (oconf->daemonize == D_BACKGROUND)) { oconf->write_logs = nconf->write_logs; need_reopen = 1; @@ -1388,8 +1450,8 @@ free((void *)nconf->action_mail_acct); // node_name - if (oconf->node_name_format != nconf->node_name_format || - (oconf->node_name && nconf->node_name && + if (oconf->node_name_format != nconf->node_name_format || + (oconf->node_name && nconf->node_name && strcmp(oconf->node_name, nconf->node_name) != 0)) { oconf->node_name_format = nconf->node_name_format; free((char *)oconf->node_name); @@ -1399,7 +1461,7 @@ // network listener auditd_tcp_listen_reconfigure(nconf, oconf); - // distribute network events + // distribute network events oconf->distribute_network_events = nconf->distribute_network_events; // Dispatcher items @@ -1413,7 +1475,7 @@ oconf->plugin_dir = nconf->plugin_dir; } - /* At this point we will work on the items that are related to + /* At this point we will work on the items that are related to * a single log file. */ // max logfile action @@ -1449,12 +1511,13 @@ free((void *)nconf->log_file); if (need_reopen) { - fclose(log_file); + if (log_file) + fclose(log_file); log_file = NULL; fix_disk_permissions(); if (open_audit_log()) { int saved_errno = errno; - audit_msg(LOG_ERR, + audit_msg(LOG_ERR, "Could not reopen a log after reconfigure"); logging_suspended = 1; // Likely errors: ENOMEM, ENOSPC @@ -1465,7 +1528,7 @@ } } - /* At this point we will start working on items that are + /* At this point we will start working on items that are * related to the amount of space on the partition. */ // space left @@ -1580,7 +1643,7 @@ } e->reply.type = AUDIT_DAEMON_CONFIG; - e->reply.len = snprintf(e->reply.msg.data, MAX_AUDIT_MESSAGE_LENGTH-2, + e->reply.len = snprintf(e->reply.msg.data, MAX_AUDIT_MESSAGE_LENGTH-2, "%s: op=reconfigure state=changed auid=%u pid=%d subj=%s res=success", date, uid, pid, ctx ); e->reply.message = e->reply.msg.data;
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/auditd-listen.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/auditd-listen.c
Changed
@@ -119,9 +119,9 @@ static char *sockaddr_to_addr(struct sockaddr_storage *addr) { - static char buf40; + static char buf64; - snprintf(buf, sizeof(buf), "%s:%u", + snprintf(buf, sizeof(buf), "%52s:%u", sockaddr_to_string(addr), sockaddr_to_port(addr)); return buf; @@ -321,14 +321,16 @@ gss_failure_2(msg, minor_status, GSS_C_MECH_CODE); } -#define KCHECK(x,f) if (x) { \ +#define KCHECK(x,f, k) if (x) { \ const char *kstr = krb5_get_error_message(kcontext, x); \ audit_msg(LOG_ERR, "krb5 error: %s in %s\n", kstr, f); \ krb5_free_error_message(kcontext, kstr); \ + krb5_free_context(k); k = NULL; \ return -1; } /* These are our private credentials, which come from a key file on our server. They are aquired once, at program start. */ +static krb5_context kcontext = NULL; static int server_acquire_creds(const char *service_name, gss_cred_id_t *lserver_creds) { @@ -336,7 +338,6 @@ gss_name_t server_name; OM_uint32 major_status, minor_status; - krb5_context kcontext = NULL; int krberr; my_service_name = strdup(service_name); @@ -363,9 +364,9 @@ (void) gss_release_name(&minor_status, &server_name); krberr = krb5_init_context(&kcontext); - KCHECK (krberr, "krb5_init_context"); + KCHECK (krberr, "krb5_init_context", kcontext); krberr = krb5_get_default_realm(kcontext, &my_gss_realm); - KCHECK (krberr, "krb5_get_default_realm"); + KCHECK (krberr, "krb5_get_default_realm", kcontext); audit_msg(LOG_DEBUG, "GSS creds for %s acquired", service_name); @@ -413,10 +414,9 @@ GSS_C_NO_CHANNEL_BINDINGS, &client, NULL, &send_tok, &sess_flags, NULL, NULL); - if (recv_tok.value) { - free(recv_tok.value); - recv_tok.value = NULL; - } + if (recv_tok.value) + gss_release_buffer(&min_stat, &recv_tok); + if (maj_stat != GSS_S_COMPLETE && maj_stat != GSS_S_CONTINUE_NEEDED) { gss_release_buffer(&min_stat, &send_tok); @@ -440,6 +440,7 @@ if (*context != GSS_C_NO_CONTEXT) gss_delete_sec_context(&min_stat, context, GSS_C_NO_BUFFER); + gss_release_name(&min_stat, &client); return -1; } gss_release_buffer(&min_stat, &send_tok); @@ -454,14 +455,22 @@ return -1; } - audit_msg(LOG_INFO, "GSS-API Accepted connection from: %s", - (char *)recv_tok.value); - io->remote_name = strdup(recv_tok.value); - io->remote_name_len = strlen(recv_tok.value); + if (asprintf(&io->remote_name, "%.*s", (int)recv_tok.length, + (char *)recv_tok.value) < 0) { + io->remote_name = strdup("?"); + io->remote_name_len = 1; + } else + io->remote_name_len = recv_tok.length; + + audit_msg(LOG_INFO, "GSS-API Accepted connection from: %s", + io->remote_name); gss_release_buffer(&min_stat, &recv_tok); - slashptr = strchr(io->remote_name, '/'); - atptr = strchr(io->remote_name, '@'); + if (io->remote_name) { + slashptr = strchr(io->remote_name, '/'); + atptr = strchr(io->remote_name, '@'); + } else + slashptr = NULL; if (!slashptr || !atptr) { audit_msg(LOG_ERR, "Invalid GSS name from remote client: %s", @@ -875,7 +884,7 @@ /* Make the client data structure */ client = (struct ev_tcp *)malloc (sizeof (struct ev_tcp)); if (client == NULL) { - audit_msg(LOG_CRIT, "Unable to allocate TCP client data"); + audit_msg(LOG_CRIT, "Unable to allocate TCP client data"); snprintf(emsg, sizeof(emsg), "op=alloc addr=%s port=%u res=no", sockaddr_to_string(&aaddr), @@ -970,7 +979,7 @@ hints.ai_flags = AI_PASSIVE | AI_ADDRCONFIG; hints.ai_socktype = SOCK_STREAM; hints.ai_family = AF_UNSPEC; - snprintf(local, sizeof(local), "%lu", config->tcp_listen_port); + snprintf(local, sizeof(local), "%u", (unsigned)config->tcp_listen_port); rc = getaddrinfo(NULL, local, &hints, &ai); if (rc) { @@ -1003,11 +1012,11 @@ // we only need one. if (runp->ai_family == AF_INET && prefer_ipv6) goto next_try; - + listen_socketnlsocks = socket(runp->ai_family, runp->ai_socktype, runp->ai_protocol); if (listen_socketnlsocks < 0) { - audit_msg(LOG_ERR, "Cannot create %s listener socket", + audit_msg(LOG_ERR, "Cannot create %s listener socket", runp->ai_family == AF_INET ? "IPv4" : "IPv6"); goto next_try; } @@ -1027,7 +1036,7 @@ if (bind(listen_socketnlsocks, runp->ai_addr, runp->ai_addrlen)) { if (errno != EADDRINUSE) - audit_msg(LOG_ERR, + audit_msg(LOG_ERR, "Cannot bind listener socket to port %ld (%s)", config->tcp_listen_port, strerror(errno)); close(listen_socketnlsocks); @@ -1036,7 +1045,7 @@ } if (listen(listen_socketnlsocks, config->tcp_listen_queue)) { - audit_msg(LOG_ERR, "Unable to listen on %ld (%s)", + audit_msg(LOG_ERR, "Unable to listen on %ld (%s)", config->tcp_listen_port, strerror(errno)); close(listen_socketnlsocks); @@ -1138,6 +1147,8 @@ #ifdef USE_GSSAPI if (USE_GSS) { gss_release_cred(&status, &server_creds); + krb5_free_context(kcontext); + kcontext = NULL; free(my_service_name); my_service_name = NULL; }
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/auditd-reconfig.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/auditd-reconfig.c
Changed
@@ -1,5 +1,5 @@ /* auditd-reconfig.c -- - * Copyright 2005 Red Hat Inc., Durham, North Carolina. + * Copyright 2005,2021 Red Hat Inc. * All Rights Reserved. * * This program is free software; you can redistribute it and/or modify @@ -50,7 +50,7 @@ int start_config_manager(struct auditd_event *e) { int retval, rc = 0; - + retval = pthread_mutex_trylock(&config_lock); if (retval == 0) { pthread_attr_t detached; @@ -60,19 +60,19 @@ PTHREAD_CREATE_DETACHED); if (pthread_create(&config_thread, &detached, - config_thread_main, e) < 0) { - audit_msg(LOG_ERR, + config_thread_main, e) < 0) { + audit_msg(LOG_ERR, "Couldn't create config thread, no config changes"); free(e); pthread_mutex_unlock(&config_lock); - rc = 1; + rc = 1; } pthread_attr_destroy(&detached); } else { - audit_msg(LOG_ERR, + audit_msg(LOG_ERR, "Config thread already running, no config changes"); free(e); - rc = 1; + rc = 1; } return rc; } @@ -91,11 +91,11 @@ /* This is a worker thread. Don't handle signals. */ sigemptyset(&sigs); - sigaddset(&sigs, SIGALRM); sigaddset(&sigs, SIGTERM); sigaddset(&sigs, SIGHUP); sigaddset(&sigs, SIGUSR1); sigaddset(&sigs, SIGUSR2); + sigaddset(&sigs, SIGCHLD); sigaddset(&sigs, SIGCONT); pthread_sigmask(SIG_SETMASK, &sigs, NULL); @@ -104,10 +104,10 @@ new_config.sender_uid = e->reply.signal_info->uid; new_config.sender_pid = e->reply.signal_info->pid; if (e->reply.len > 24) - new_config.sender_ctx = + new_config.sender_ctx = strdup(e->reply.signal_info->ctx); else - new_config.sender_ctx = strdup("?"); + new_config.sender_ctx = strdup("?"); memcpy(e->reply.msg.data, &new_config, sizeof(new_config)); e->reply.conf = (struct daemon_conf *)e->reply.msg.data; e->reply.type = AUDIT_DAEMON_RECONFIG; @@ -125,6 +125,6 @@ } pthread_mutex_unlock(&config_lock); - return NULL; + return NULL; }
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/auditd.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/auditd.c
Changed
@@ -1,5 +1,5 @@ /* auditd.c -- - * Copyright 2004-09,2011,2013,2016-18 Red Hat Inc., Durham, North Carolina. + * Copyright 2004-09,2011,2013,2016-18,2021 Red Hat Inc. * All Rights Reserved. * * This program is free software; you can redistribute it and/or modify @@ -79,7 +79,6 @@ /* Local function prototypes */ int send_audit_event(int type, const char *str); -static void close_down(void); static void clean_exit(void); static int get_reply(int fd, struct audit_reply *rep, int seq); static char *getsubj(char *subj); @@ -113,16 +112,9 @@ EV_STOP (); } -/* - * Used with sigalrm to force exit - */ -static void thread_killer( int sig ) -{ - exit(0); -} /* - * Used with sigalrm to force exit + * Used to reconfigure the daemon */ static void hup_handler( struct ev_loop *loop, struct ev_signal *sig, int revents ) { @@ -200,6 +192,7 @@ if (f == NULL) return; + fprintf(f, "audit version = %s\n", VERSION); time_t now = time(0); strftime(buf, sizeof(buf), "%x %X", localtime(&now)); fprintf(f, "current time = %s\n", buf); @@ -311,8 +304,9 @@ e->reply.type = type; if (seq_num == 0) { - srand(time(NULL)); - seq_num = rand()%10000; + // seq_num does not have to cryptographically secure + srandom(time(NULL)); + seq_num = random()%10000; } else seq_num++; // Write event into netlink area like normal events @@ -456,8 +450,10 @@ return -1; /* Success - die a happy death */ - if (status == SUCCESS) + if (status == SUCCESS) { + free_config(&config); _exit(0); + } return -1; } @@ -478,88 +474,97 @@ static void netlink_handler(struct ev_loop *loop, struct ev_io *io, int revents) { - if (cur_event == NULL) { - if ((cur_event = malloc(sizeof(*cur_event))) == NULL) { - char emsgDEFAULT_BUF_SZ; - if (*subj) - snprintf(emsg, sizeof(emsg), + int rc = 1, cnt = 0; + + // Try to get all the events that are waiting but yield after 5 to + // let other handlers run. Five should cover PATH events. + // FIXME: backing down to 3 until IPC is faster + while (rc > 0 && cnt < 3) { + if (cur_event == NULL) { + if ((cur_event = malloc(sizeof(*cur_event))) == NULL) { + char emsgDEFAULT_BUF_SZ; + if (*subj) + snprintf(emsg, sizeof(emsg), "op=error-halt auid=%u pid=%d subj=%s res=failed", - audit_getloginuid(), getpid(), subj); - else - snprintf(emsg, sizeof(emsg), + audit_getloginuid(), + getpid(), subj); + else + snprintf(emsg, sizeof(emsg), "op=error-halt auid=%u pid=%d res=failed", - audit_getloginuid(), getpid()); - EV_STOP (); - send_audit_event(AUDIT_DAEMON_ABORT, emsg); - audit_msg(LOG_ERR, + audit_getloginuid(), + getpid()); + EV_STOP (); + send_audit_event(AUDIT_DAEMON_ABORT, emsg); + audit_msg(LOG_ERR, "Cannot allocate audit reply, exiting"); - close_down(); - if (pidfile) - unlink(pidfile); - shutdown_dispatcher(); - return; + shutdown_events(); + if (pidfile) + unlink(pidfile); + shutdown_dispatcher(); + return; + } + cur_event->ack_func = NULL; } - cur_event->ack_func = NULL; - } - if (audit_get_reply(fd, &cur_event->reply, - GET_REPLY_NONBLOCKING, 0) > 0) { - switch (cur_event->reply.type) - { /* Don't process these */ - case NLMSG_NOOP: - case NLMSG_DONE: - case NLMSG_ERROR: - case AUDIT_GET: /* Or these */ - case AUDIT_WATCH_INS...AUDIT_WATCH_LIST: - case AUDIT_ADD_RULE...AUDIT_GET_FEATURE: - case AUDIT_FIRST_DAEMON...AUDIT_LAST_DAEMON: - case AUDIT_REPLACE: - break; - case AUDIT_SIGNAL_INFO: - if (hup_info_requested) { - char hupMAX_AUDIT_MESSAGE_LENGTH; - audit_msg(LOG_DEBUG, + + rc = audit_get_reply(fd, &cur_event->reply, + GET_REPLY_NONBLOCKING, 0); + if (rc > 0) { + switch (cur_event->reply.type) + { /* Don't process these */ + case NLMSG_NOOP: + case NLMSG_DONE: + case NLMSG_ERROR: + case AUDIT_GET: /* Or these */ + case AUDIT_WATCH_INS...AUDIT_WATCH_LIST: + case AUDIT_ADD_RULE...AUDIT_GET_FEATURE: + case AUDIT_FIRST_DAEMON...AUDIT_LAST_DAEMON: + case AUDIT_REPLACE: + break; + case AUDIT_SIGNAL_INFO: + if (hup_info_requested) { + char hupMAX_AUDIT_MESSAGE_LENGTH; + audit_msg(LOG_DEBUG, "HUP detected, starting config manager"); - reconfig_ev = cur_event; - if (start_config_manager(cur_event)) { - audit_format_signal_info(hup, + reconfig_ev = cur_event; + if (start_config_manager(cur_event)) { + audit_format_signal_info(hup, sizeof(hup), "reconfigure state=no-change", &cur_event->reply, "failed"); send_audit_event(AUDIT_DAEMON_CONFIG, hup); - } - cur_event = NULL; - hup_info_requested = 0; - } else if (usr1_info_requested) { - char usr1MAX_AUDIT_MESSAGE_LENGTH; + } + cur_event = NULL; + hup_info_requested = 0; + } else if (usr1_info_requested) { + char usr1MAX_AUDIT_MESSAGE_LENGTH; audit_format_signal_info(usr1, sizeof(usr1), "rotate-logs", &cur_event->reply, "success"); send_audit_event(AUDIT_DAEMON_ROTATE, usr1); - usr1_info_requested = 0; - } else if (usr2_info_requested) { - char usr2MAX_AUDIT_MESSAGE_LENGTH; + usr1_info_requested = 0; + } else if (usr2_info_requested) { + char usr2MAX_AUDIT_MESSAGE_LENGTH; audit_format_signal_info(usr2, sizeof(usr2), "resume-logging", &cur_event->reply, "success"); - resume_logging(); - libdisp_resume(); - send_audit_event(AUDIT_DAEMON_RESUME, usr2); - usr2_info_requested = 0; + resume_logging(); + libdisp_resume(); + send_audit_event(AUDIT_DAEMON_RESUME, + usr2); + usr2_info_requested = 0; + } + break; + default: + distribute_event(cur_event); + cur_event = NULL; + break; } - break; - default: - distribute_event(cur_event); - cur_event = NULL; - break; - } - } else { - if (errno == EFBIG) { - // FIXME do err action } + cnt++; } } @@ -875,7 +880,7 @@ audit_msg(LOG_ERR, "Unable to set initial audit startup state to '%s', exiting", startup_statesopt_startup); - close_down(); + shutdown_events(); if (pidfile) unlink(pidfile); shutdown_dispatcher(); @@ -904,7 +909,7 @@ stop = 1; send_audit_event(AUDIT_DAEMON_ABORT, emsg); audit_msg(LOG_ERR, "Unable to set audit pid, exiting"); - close_down(); + shutdown_events(); if (pidfile) unlink(pidfile); shutdown_dispatcher(); @@ -1000,7 +1005,7 @@ } if (rc <= 0) send_audit_event(AUDIT_DAEMON_END, - "op=terminate auid=-1 pid=-1 subj=? res=success"); + "op=terminate auid=-1 uid=-1 ses=-1 pid=-1 subj=? res=success"); free(cur_event); // Tear down IO watchers Part 2 @@ -1018,26 +1023,13 @@ // Tear down IO watchers Part 3 ev_signal_stop(loop, &sigchld_watcher); - close_down(); + shutdown_events(); free_config(&config); ev_default_destroy(); return 0; } -static void close_down(void) -{ - struct sigaction sa; - - /* We are going down. Give the event thread a chance to shutdown. - Just in case it hangs, set a timer to get us out of trouble. */ - sa.sa_flags = 0 ; - sigemptyset( &sa.sa_mask ) ; - sa.sa_handler = thread_killer; - sigaction( SIGALRM, &sa, NULL ); - shutdown_events(); -} - /* * A clean exit means :
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/aureport-options.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/aureport-options.c
Changed
@@ -177,8 +177,10 @@ "\t--comm\t\t\t\tCommands run report\n" "\t-c,--config\t\t\tConfig change report\n" "\t-cr,--crypto\t\t\tCrypto report\n" + "\t--debug\t\t\t\tWrite malformed events that are skipped to stderr\n" "\t--eoe-timeout secs\t\tEnd of Event Timeout\n" "\t-e,--event\t\t\tEvent report\n" + "\t--escape option\t\t\tEscape output\n" "\t-f,--file\t\t\tFile name report\n" "\t--failed\t\t\tonly failed events in report\n" "\t-h,--host\t\t\tRemote Host name report\n" @@ -187,8 +189,8 @@ "\t-if,--input <Input File name>\tuse this file as input\n" "\t--input-logs\t\t\tUse the logs even if stdin is a pipe\n" "\t--integrity\t\t\tIntegrity event report\n" - "\t-l,--login\t\t\tLogin report\n" "\t-k,--key\t\t\tKey report\n" + "\t-l,--login\t\t\tLogin report\n" "\t-m,--mods\t\t\tModification to accounts report\n" "\t-ma,--mac\t\t\tMandatory Access Control (MAC) report\n" "\t-n,--anomaly\t\t\taNomaly report\n" @@ -264,8 +266,8 @@ varsc); retval = -1; } else { - if (strlen(optarg) >= PATH_MAX) { - fprintf(stderr, + if (strlen(optarg) >= PATH_MAX-32) { + fprintf(stderr, "File name is too long %s\n", optarg); retval = -1;
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/aureport.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/aureport.c
Changed
@@ -109,7 +109,7 @@ lol_set_eoe_timeout((time_t)config.end_of_event_timeout); /* - * If an override was specified on the command line, overide the config + * If an override was specified on the command line, override the config */ if (arg_eoe_timeout != 0) lol_set_eoe_timeout((time_t)arg_eoe_timeout); @@ -168,10 +168,10 @@ int num = 0; if (user_file && userfile_is_dir) { - char dirnameMAXPATHLEN; + char dirnameMAXPATHLEN+1; clear_config (&config); - strcpy(dirname, user_file); + strncpy(dirname, user_file, MAXPATHLEN-32); if (dirnamestrlen(dirname)-1 != '/') strcat(dirname, "/"); strcat (dirname, "audit.log");
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/ausearch-llist.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/ausearch-llist.c
Changed
@@ -136,11 +136,11 @@ int list_find_item(llist *l, unsigned int i) { register lnode* node; - + if (l->cur && (l->cur->item <= i)) node = l->cur; /* Try to use where we are */ else - node = l->head; /* Can't, start over */ + node = l->head; /* Can't, start over */ while (node) { if (node->item == i) { @@ -167,12 +167,12 @@ l->head = NULL; l->cur = NULL; l->cnt = 0; - l->e.milli = 0L; - l->e.sec = 0L; - l->e.serial = 0L; + l->e.milli = 0L; + l->e.sec = 0L; + l->e.serial = 0L; free((char *)l->e.node); l->e.node = NULL; - l->e.type = 0; + l->e.type = 0; l->s.gid = -1; l->s.egid = -1; l->s.ppid = -1; @@ -239,8 +239,8 @@ lnode *list_find_msg(llist *l, int i) { register lnode* node; - - node = l->head; /* start at the beginning */ + + node = l->head; /* start at the beginning */ while (node) { if (node->type == i) { l->cur = node; @@ -258,7 +258,7 @@ if (high <= low) return NULL; - node = l->head; /* Start at the beginning */ + node = l->head; /* Start at the beginning */ while (node) { if (node->type >= low && node->type <= high) { l->cur = node;
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/ausearch-llist.h -> _service:tar_scm:audit-3.0.9.tar.gz/src/ausearch-llist.h
Changed
@@ -69,9 +69,9 @@ char *acct; // account used when uid is invalid char *uuid; // virtual machine unique universal identifier char *vmname; // virtual machine name - const char *tuid; // interpretted uid - const char *teuid; // interpretted euid - const char *tauid; // interpretted auid + const char *tuid; // interpreted uid + const char *teuid; // interpreted euid + const char *tauid; // interpreted auid } search_items; /* This is the node of the linked list. Any data elements that are per
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/ausearch-lol.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/ausearch-lol.c
Changed
@@ -27,6 +27,7 @@ #include <errno.h> #include <string.h> #include <stdio.h> +#include <limits.h> #include "ausearch-common.h" #include "auditd-config.h" #include "common.h" @@ -99,13 +100,13 @@ errno = 0; e->sec = strtoul(s, NULL, 10); - if (errno) + if (errno || e->sec > (LONG_MAX - eoe_timeout -1)) return -1; ptr = strchr(s, '.'); if (ptr) { ptr++; e->milli = strtoul(ptr, NULL, 10); - if (errno) + if (errno || e->milli > 999) return -1; s = ptr; } else @@ -192,7 +193,8 @@ // Now should be pointing to msg= ptr = audit_strsplit(NULL); - if (ptr) { + // strlen is for fuzzers that make invalid lines + if (ptr && strnlen(ptr, 20) > 18) { if (*(ptr+9) == '(') ptr+=9; else
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/ausearch-lookup.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/ausearch-lookup.c
Changed
@@ -300,6 +300,9 @@ while (isxdigit(*ptr)) ptr++; } + if ((ptr - buf) == 0) + return NULL; + str = strndup(buf, ptr - buf); if (*buf == '(')
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/ausearch-lookup.h -> _service:tar_scm:audit-3.0.9.tar.gz/src/ausearch-lookup.h
Changed
@@ -1,6 +1,6 @@ /* * ausearch-lookup.h - Header file for ausearch-lookup.c -* Copyright (c) 2005-06,2014,2017 Red Hat Inc., Durham, North Carolina. +* Copyright (c) 2005-06,2014,2017,2022 Red Hat Inc. * All Rights Reserved. * * This software may be freely redistributed and/or modified under the @@ -15,7 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; see the file COPYING. If not, write to the -* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor * Boston, MA 02110-1335, USA. * * Authors: @@ -34,13 +34,16 @@ const char *aulookup_result(avc_t result); const char *aulookup_success(int s); -const char *aulookup_syscall(llist *l, char *buf, size_t size); -const char *aulookup_uid(uid_t uid, char *buf, size_t size); +const char *aulookup_syscall(llist *l, char *buf, size_t size) + __attr_access ((__write_only__, 2, 3)); +const char *aulookup_uid(uid_t uid, char *buf, size_t size) + __attr_access ((__write_only__, 2, 3)); void aulookup_destroy_uid_list(void); char *unescape(const char *buf); int is_hex_string(const char *str); void print_tty_data(const char *val); -void safe_print_string_n(const char *s, unsigned int len, int ret); +void safe_print_string_n(const char *s, unsigned int len, int ret) + __attr_access ((__read_only__, 1, 2)); void safe_print_string(const char *s, int ret); #endif
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/ausearch-match.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/ausearch-match.c
Changed
@@ -79,7 +79,7 @@ slist *sptr = event_node_list; if (l->e.node == NULL) - return 0; + return 0; slist_first(sptr); sn=slist_get_cur(sptr); @@ -97,17 +97,17 @@ return 0; if (group_match(l) == 0) return 0; - if ((event_ppid != -1) && + if ((event_ppid != -1) && (event_ppid != l->s.ppid)) return 0; - if ((event_pid != -1) && + if ((event_pid != -1) && (event_pid != l->s.pid)) return 0; - if (event_machine != -1 && + if (event_machine != -1 && (event_machine != audit_elf_to_machine(l->s.arch))) return 0; - if ((event_syscall != -1) && + if ((event_syscall != -1) && (event_syscall != l->s.syscall)) return 0; if ((event_session_id != -2) && @@ -139,7 +139,7 @@ found = 1; break; } - } while((in = + } while((in = ilist_next(event_type))); if (found) break; @@ -148,7 +148,7 @@ return 0; } - // Done all the easy compares, now do the + // Done all the easy compares, now do the // string searches. if (event_filename) { int found = 0; @@ -184,31 +184,31 @@ if (event_hostname) { if (l->s.hostname == NULL) return 0; - if (strmatch(event_hostname, + if (strmatch(event_hostname, l->s.hostname) == 0) - return 0; + return 0; } if (event_terminal) { if (l->s.terminal == NULL) return 0; - if (strmatch(event_terminal, + if (strmatch(event_terminal, l->s.terminal) == 0) - return 0; + return 0; } if (event_exe) { if (l->s.exe == NULL) return 0; - if (strmatch(event_exe, + if (strmatch(event_exe, l->s.exe) == 0) - return 0; - } + return 0; + } if (event_comm) { if (l->s.comm == NULL) return 0; - if (strmatch(event_comm, + if (strmatch(event_comm, l->s.comm) == 0) - return 0; - } + return 0; + } if (event_key) { if (l->s.key == NULL) return 0; @@ -232,7 +232,7 @@ if (!found) return 0; } - } + } if (event_vmname) { if (l->s.vmname == NULL) return 0; @@ -258,23 +258,23 @@ /* * This function compares strings. It returns a 0 if no match and a 1 if - * there is a match + * there is a match */ static int strmatch(const char *needle, const char *haystack) { if (event_exact_match) { if (strcmp(haystack, needle) != 0) - return 0; + return 0; } else { if (strstr(haystack, needle) == NULL) - return 0; + return 0; } return 1; } /* * This function compares user id's. - * It returns a 0 if no match and a 1 if there is a match + * It returns a 0 if no match and a 1 if there is a match */ static int user_match(llist *l) { @@ -335,7 +335,7 @@ /* * This function compares group id's. It returns a 0 if no match and a 1 if - * there is a match + * there is a match */ static int group_match(llist *l) { @@ -358,7 +358,7 @@ /* * This function compares contexts. It returns a 0 if no match and a 1 if - * there is a match + * there is a match */ static int context_match(llist *l) { @@ -366,21 +366,21 @@ if (event_subject) { if (l->s.avc && alist_find_subj(l->s.avc)) { do { - if (strmatch(event_subject, + if (strmatch(event_subject, l->s.avc->cur->scontext)) return 1; } while(alist_next_subj(l->s.avc)); } - } + } if (event_object) { if (l->s.avc) { alist_first(l->s.avc); if (alist_find_obj(l->s.avc)) { do { - if (strmatch(event_object, + if (strmatch(event_object, l->s.avc->cur->tcontext)) return 1; - } while(alist_next_obj(l->s.avc)); + } while(alist_next_obj(l->s.avc)); } } } @@ -391,19 +391,19 @@ return 0; if (alist_find_subj(l->s.avc)) { do { - if (strmatch(event_subject, + if (strmatch(event_subject, l->s.avc->cur->scontext)) return 1; } while(alist_next_subj(l->s.avc)); } return 0; - } + } if (event_object) { if (l->s.avc == NULL) return 0; if (alist_find_obj(l->s.avc)) { do { - if (strmatch(event_object, + if (strmatch(event_object, l->s.avc->cur->tcontext)) return 1; } while(alist_next_obj(l->s.avc));
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/ausearch-options.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/ausearch-options.c
Changed
@@ -202,7 +202,12 @@ "\t--checkpoint <checkpoint file>\tsearch from last complete event\n" "\t--debug\t\t\tWrite malformed events that are skipped to stderr\n" "\t-e,--exit <Exit code or errno>\tsearch based on syscall exit code\n" + "\t-escape <option>\t\tescape output\n" "\t--eoe-timeout secs\t\tEnd of Event timeout\n" + "\t--extra-keys\t\t\tadd a final column with key information\n" + "\t--extra-labels\t\t\tadd columns of information about subject and object labels\n" + "\t--extra-obj2\t\t\tadd columns of information about a second object\n" + "\t--extra-time\t\t\tadd columns of information about broken down time\n" "\t-f,--file <File name>\t\tsearch based on file name\n" "\t--format raw|default|interpret|csv|text results format options\n" "\t-ga,--gid-all <all Group id>\tsearch based on All group ids\n" @@ -252,14 +257,14 @@ errno = 0; tmp = strtoul(optarg, NULL, 10); if (errno) { - fprintf(stderr, + fprintf(stderr, "Numeric message type conversion error (%s) for %s\n", strerror(errno), optarg); retval = -1; } } else { tmp = audit_name_to_msg_type(optarg); - if (tmp < 0) + if (tmp < 0) retval = -1; } if (retval == 0) { @@ -324,7 +329,7 @@ switch (audit_lookup_option(varsc)) { case S_EVENT: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; @@ -340,7 +345,7 @@ } c++; } else { - fprintf(stderr, + fprintf(stderr, "Audit event id must be a numeric value, was %s\n", optarg); retval = -1; @@ -369,56 +374,56 @@ case S_EXTRA_KEYS: extra_keys = 1; if (optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is NOT required for %s\n", varsc); - retval = -1; + retval = -1; } break; case S_EXTRA_LABELS: extra_labels = 1; if (optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is NOT required for %s\n", varsc); - retval = -1; + retval = -1; } break; case S_EXTRA_OBJ2: extra_obj2 = 1; if (optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is NOT required for %s\n", varsc); - retval = -1; + retval = -1; } break; case S_EXTRA_TIME: extra_time = 1; if (optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is NOT required for %s\n", varsc); - retval = -1; + retval = -1; } break; case S_COMM: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; break; } else { event_comm = strdup(optarg); - if (event_comm == NULL) - retval = -1; + if (event_comm == NULL) + retval = -1; c++; } break; case S_FILENAME: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; @@ -432,120 +437,120 @@ break; } event_filename = strdup(optarg); - if (event_filename == NULL) - retval = -1; + if (event_filename == NULL) + retval = -1; c++; } break; case S_KEY: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; } else { event_key = strdup(optarg); - if (event_key == NULL) - retval = -1; + if (event_key == NULL) + retval = -1; c++; } break; case S_ALL_GID: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; break; } - if (isdigit(optarg0)) { + if (isdigit(optarg0)) { errno = 0; - event_gid = strtoul(optarg,NULL,10); + event_gid = strtoul(optarg,NULL,10); if (errno) { - fprintf(stderr, + fprintf(stderr, "Numeric group ID conversion error (%s) for %s\n", strerror(errno), optarg); - retval = -1; + retval = -1; } - } else { + } else { struct group *gr ; gr = getgrnam(optarg) ; if (gr == NULL) { - fprintf(stderr, + fprintf(stderr, "Group ID is non-numeric and unknown (%s)\n", optarg); retval = -1; break; } event_gid = gr->gr_gid; - } + } event_egid = event_gid; event_ga = 1; c++; break; case S_EFF_GID: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; break; } - if (isdigit(optarg0)) { + if (isdigit(optarg0)) { errno = 0; - event_egid = strtoul(optarg,NULL,10); + event_egid = strtoul(optarg,NULL,10); if (errno) { - fprintf(stderr, + fprintf(stderr, "Numeric group ID conversion error (%s) for %s\n", strerror(errno), optarg); - retval = -1; + retval = -1; } - } else { + } else { struct group *gr ; gr = getgrnam(optarg) ; if (gr == NULL) { - fprintf(stderr, + fprintf(stderr, "Effective group ID is non-numeric and unknown (%s)\n", optarg); retval = -1; break; } event_egid = gr->gr_gid; - } + } c++; break; case S_GID: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; break; } - if (isdigit(optarg0)) { + if (isdigit(optarg0)) { errno = 0; - event_gid = strtoul(optarg,NULL,10); + event_gid = strtoul(optarg,NULL,10); if (errno) { - fprintf(stderr, + fprintf(stderr, "Numeric group ID conversion error (%s) for %s\n", strerror(errno), optarg); - retval = -1; + retval = -1; } - } else { + } else { struct group *gr ; gr = getgrnam(optarg) ; if (gr == NULL) { - fprintf(stderr, + fprintf(stderr, "Group ID is non-numeric and unknown (%s)\n", optarg); retval = -1; break; } event_gid = gr->gr_gid; - } + } c++; break; case S_HELP: @@ -554,7 +559,7 @@ break; case S_HOSTNAME: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; @@ -569,25 +574,32 @@ if (report_format == RPT_DEFAULT) report_format = RPT_INTERP; else { - fprintf(stderr, + fprintf(stderr, "Conflicting output format %s\n", varsc); - retval = -1; + retval = -1; } if (optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is NOT required for %s\n", varsc); - retval = -1; + retval = -1; } break; case S_INFILE: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; } else { + if (strlen(optarg) >= PATH_MAX-32) { + fprintf(stderr, + "File name is too longs %s\n", + optarg); + retval = -1; + break; + } user_file = strdup(optarg); if (user_file == NULL) retval = -1; @@ -596,10 +608,10 @@ break; case S_MESSAGE_TYPE: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); - retval = -1; + retval = -1; } else { if (strcasecmp(optarg, "ALL") != 0) { retval = parse_msg(optarg); @@ -608,7 +620,7 @@ } if (retval < 0) { int i; - fprintf(stderr, + fprintf(stderr, "Valid message types are: ALL "); for (i=AUDIT_USER;i<=AUDIT_LAST_VIRT_MSG;i++){ const char *name; @@ -616,28 +628,28 @@ i = AUDIT_FIRST_USER_MSG; name = audit_msg_type_to_name(i); if (name) - fprintf(stderr, "%s ", name); + fprintf(stderr, "%s ", name); } - fprintf(stderr, "\n"); + fprintf(stderr, "\n"); } break; case S_OBJECT: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; break; } else { event_object = strdup(optarg); - if (event_object == NULL) - retval = -1; + if (event_object == NULL) + retval = -1; c++; } break; case S_PPID: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; @@ -650,7 +662,7 @@ retval = -1; c++; } else { - fprintf(stderr, + fprintf(stderr, "Parent process id must be a numeric value, was %s\n", optarg); retval = -1; @@ -658,7 +670,7 @@ break; case S_PID: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; @@ -671,7 +683,7 @@ retval = -1; c++; } else { - fprintf(stderr, + fprintf(stderr, "Process id must be a numeric value, was %s\n", optarg); retval = -1; @@ -681,19 +693,19 @@ if (report_format == RPT_DEFAULT) report_format = RPT_RAW; else { - fprintf(stderr, + fprintf(stderr, "Conflicting output format --raw\n"); - retval = -1; + retval = -1; } if (optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is NOT required for --raw\n"); - retval = -1; + retval = -1; } break; case S_ESCAPE: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; @@ -707,7 +719,7 @@ else if (strcmp(optarg, "shell_quote") == 0) escape_mode = AUPARSE_ESC_SHELL_QUOTE; else { - fprintf(stderr, + fprintf(stderr, "Unknown option (%s)\n", optarg); retval = -1; @@ -718,13 +730,13 @@ break; case S_FORMAT: if (report_format != RPT_DEFAULT) { - fprintf(stderr, + fprintf(stderr, "Multiple output formats, use only 1\n"); - retval = -1; + retval = -1; break; } if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; @@ -740,7 +752,7 @@ else if (strcmp(optarg, "text") == 0) report_format = RPT_TEXT; else { - fprintf(stderr, + fprintf(stderr, "Unknown option (%s)\n", optarg); retval = -1; @@ -751,7 +763,7 @@ break; case S_NODE: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; @@ -767,7 +779,7 @@ } slist_create(event_node_list); } - + sn.str = strdup(optarg); sn.key = NULL; sn.hits=0; @@ -776,7 +788,7 @@ break; case S_SYSCALL: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; @@ -786,27 +798,27 @@ errno = 0; event_syscall = (int)strtoul(optarg, NULL, 10); if (errno) { - fprintf(stderr, + fprintf(stderr, "Syscall numeric conversion error (%s) for %s\n", strerror(errno), optarg); - retval = -1; + retval = -1; } } else { if (event_machine == -1) { int machine; - machine = audit_detect_machine(); - if (machine < 0) { - fprintf(stderr, + machine = audit_detect_machine(); + if (machine < 0) { + fprintf(stderr, "Error detecting machine type"); - retval = -1; + retval = -1; break; } event_machine = machine; } - event_syscall = audit_name_to_syscall(optarg, + event_syscall = audit_name_to_syscall(optarg, event_machine); if (event_syscall == -1) { - fprintf(stderr, + fprintf(stderr, "Syscall %s not found\n", optarg); retval = -1; @@ -816,55 +828,55 @@ break; case S_CONTEXT: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; break; } else { event_subject = strdup(optarg); - if (event_subject == NULL) - retval = -1; + if (event_subject == NULL) + retval = -1; event_object = strdup(optarg); - if (event_object == NULL) - retval = -1; + if (event_object == NULL) + retval = -1; event_se = 1; c++; } break; case S_SUBJECT: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; break; } else { event_subject = strdup(optarg); - if (event_subject == NULL) - retval = -1; + if (event_subject == NULL) + retval = -1; c++; } break; case S_OSUCCESS: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; break; } - if ( (strstr(optarg, "yes")!=NULL) || + if ( (strstr(optarg, "yes")!=NULL) || (strstr(optarg, "no")!=NULL) ) { - if (strcmp(optarg, "yes") == 0) + if (strcmp(optarg, "yes") == 0) event_success = S_SUCCESS; else event_success = S_FAILED; - } else { - fprintf(stderr, + } else { + fprintf(stderr, "Success must be 'yes' or 'no'.\n"); - retval = -1; - } + retval = -1; + } c++; break; case S_SESSION: @@ -879,7 +891,7 @@ break; } } - { + { size_t len = strlen(optarg); if (isdigit(optarg0)) { errno = 0; @@ -898,7 +910,7 @@ } c++; } else { - fprintf(stderr, + fprintf(stderr, "Session id must be a numeric value, was %s\n", optarg); retval = -1; @@ -916,7 +928,7 @@ retval = -1; break; } - } + } { size_t len = strlen(optarg); if (isdigit(optarg0)) { @@ -940,7 +952,7 @@ event_exit = audit_name_to_errno(optarg); if (event_exit == 0) { retval = -1; - fprintf(stderr, + fprintf(stderr, "Unknown errno, was %s\n", optarg); } @@ -952,19 +964,19 @@ break; case S_TIME_END: if (optarg) { - if ( (c+2 < count) && varsc+2 && + if ( (c+2 < count) && varsc+2 && (varsc+20 != '-') ) { /* Have both date and time - check order*/ if (strchr(optarg, ':')) { if (ausearch_time_end(varsc+2, - optarg) != 0) + optarg) != 0) retval = -1; } else { - if (ausearch_time_end(optarg, + if (ausearch_time_end(optarg, varsc+2) != 0) retval = -1; } - c++; + c++; } else { // Check against recognized words int t = lookup_time(optarg); @@ -984,17 +996,17 @@ retval = -1; } } - c++; + c++; break; - } - fprintf(stderr, + } + fprintf(stderr, "%s requires either date and/or time\n", varsc); retval = -1; break; case S_TIME_START: if (optarg) { - if ( (c+2 < count) && varsc+2 && + if ( (c+2 < count) && varsc+2 && (varsc+20 != '-') ) { /* Have both date and time - check order */ if (strchr(optarg, ':')) { @@ -1002,7 +1014,7 @@ varsc+2, optarg) != 0) retval = -1; } else { - if (ausearch_time_start(optarg, + if (ausearch_time_start(optarg, varsc+2) != 0) retval = -1; } @@ -1034,47 +1046,47 @@ c++; break; } - fprintf(stderr, + fprintf(stderr, "%s requires either date and/or time\n", varsc); retval = -1; break; case S_TERMINAL: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; - } else { + } else { event_terminal = strdup(optarg); if (event_terminal == NULL) - retval = -1; + retval = -1; c++; } break; case S_UID: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; break; } - if (isdigit(optarg0)) { + if (isdigit(optarg0)) { errno = 0; - event_uid = strtoul(optarg,NULL,10); + event_uid = strtoul(optarg,NULL,10); if (errno) { - fprintf(stderr, + fprintf(stderr, "Numeric user ID conversion error (%s) for %s\n", strerror(errno), optarg); - retval = -1; + retval = -1; } - } else { + } else { struct passwd *pw; pw = getpwnam(optarg); if (pw == NULL) { - fprintf(stderr, + fprintf(stderr, "Effective user ID is non-numeric and unknown (%s)\n", optarg); retval = -1; @@ -1082,32 +1094,32 @@ } event_uid = pw->pw_uid; event_tuid = strdup(optarg); - } + } c++; break; case S_EFF_UID: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; break; } - if (isdigit(optarg0)) { + if (isdigit(optarg0)) { errno = 0; - event_euid = strtoul(optarg,NULL,10); + event_euid = strtoul(optarg,NULL,10); if (errno) { - fprintf(stderr, + fprintf(stderr, "Numeric user ID conversion error (%s) for %s\n", strerror(errno), optarg); - retval = -1; + retval = -1; } - } else { + } else { struct passwd *pw ; pw = getpwnam(optarg) ; if (pw == NULL) { - fprintf(stderr, + fprintf(stderr, "User ID is non-numeric and unknown (%s)\n", optarg); retval = -1; @@ -1115,32 +1127,32 @@ } event_euid = pw->pw_uid; event_teuid = strdup(optarg); - } + } c++; break; case S_ALL_UID: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; break; } - if (isdigit(optarg0)) { + if (isdigit(optarg0)) { errno = 0; - event_uid = strtoul(optarg,NULL,10); + event_uid = strtoul(optarg,NULL,10); if (errno) { - fprintf(stderr, + fprintf(stderr, "Numeric user ID conversion error (%s) for %s\n", strerror(errno), optarg); - retval = -1; + retval = -1; } - } else { + } else { struct passwd *pw ; pw = getpwnam(optarg) ; if (pw == NULL) { - fprintf(stderr, + fprintf(stderr, "User ID is non-numeric and unknown (%s)\n", optarg); retval = -1; @@ -1150,7 +1162,7 @@ event_tuid = strdup(optarg); event_teuid = strdup(optarg); event_tauid = strdup(optarg); - } + } event_ua = 1; event_euid = event_uid; event_loginuid = event_uid; @@ -1172,9 +1184,9 @@ size_t len = strlen(optarg); if (isdigit(optarg0)) { errno = 0; - event_loginuid = strtoul(optarg,NULL,10); + event_loginuid = strtoul(optarg,NULL,10); if (errno) { - fprintf(stderr, + fprintf(stderr, "Numeric user ID conversion error (%s) for %s\n", strerror(errno), optarg); retval = -1; @@ -1193,7 +1205,7 @@ pw = getpwnam(optarg) ; if (pw == NULL) { - fprintf(stderr, + fprintf(stderr, "Login user ID is non-numeric and unknown (%s)\n", optarg); retval = -1; @@ -1248,14 +1260,14 @@ break; case S_EXECUTABLE: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; - } else { + } else { event_exe = strdup(optarg); if (event_exe == NULL) - retval = -1; + retval = -1; c++; } break; @@ -1267,20 +1279,20 @@ break; case S_CHECKPOINT: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; } else { checkpt_filename = strdup(optarg); - if (checkpt_filename == NULL) - retval = -1; + if (checkpt_filename == NULL) + retval = -1; c++; } break; case S_ARCH: if (!optarg) { - fprintf(stderr, + fprintf(stderr, "Argument is required for %s\n", varsc); retval = -1; @@ -1288,10 +1300,10 @@ } if (event_machine != -1) { if (event_syscall != -1) - fprintf(stderr, + fprintf(stderr, "Arch needs to be defined before the syscall\n"); else - fprintf(stderr, + fprintf(stderr, "Arch is already defined\n"); retval = -1; break; @@ -1307,7 +1319,7 @@ c++; break; default: - fprintf(stderr, "%s is an unsupported option\n", + fprintf(stderr, "%s is an unsupported option\n", varsc); retval = -1; break;
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/ausearch-parse.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/ausearch-parse.c
Changed
@@ -1,6 +1,6 @@ /* * ausearch-parse.c - Extract interesting fields and check for match -* Copyright (c) 2005-08,2011,2013-14,2018-20 Red Hat +* Copyright (c) 2005-08,2011,2013-14,2018-21 Red Hat * Copyright (c) 2011 IBM Corp. * All Rights Reserved. * @@ -175,6 +175,7 @@ case AUDIT_MMAP: case AUDIT_PROCTITLE: case AUDIT_REPLACE...AUDIT_BPF: + case AUDIT_OPENAT2: // Nothing to parse break; case AUDIT_NETFILTER_CFG: @@ -420,8 +421,10 @@ str = strstr(term, "comm="); if (str) { /* Make the syscall one override */ - if (s->comm) + if (s->comm) { free(s->comm); + s->comm = NULL; + } str += 5; if (*str == '"') { str++; @@ -431,7 +434,7 @@ *term = 0; s->comm = strdup(str); *term = '"'; - } else + } else s->comm = unescape(str); } else return 38; @@ -1029,7 +1032,7 @@ if (str) { str += 5; term = str; - while (*term != ' ' && *term != ':') + while (*term != ' ' && *term != ':' && *term) term++; if (term == str) return 24; @@ -1130,7 +1133,7 @@ } } skip: - mptr = term + 1; + mptr = term; if (event_comm) { // dont do this search unless needed @@ -1184,7 +1187,7 @@ } } } - mptr = term + 1; + mptr = term; // get hostname if (event_hostname) { @@ -1242,7 +1245,7 @@ char *end = str; int legacy = 0; - while (*end != ' ') { + while (*end != ' ' && *end) { if (!isxdigit(*end)) { legacy = 1; } @@ -1293,7 +1296,7 @@ char *end = str; int legacy = 0; - while (*end != ' ') { + while (*end != ' ' && *end) { if (!isxdigit(*end)) { legacy = 1; } @@ -1656,12 +1659,21 @@ if (event_hostname || event_filename) { str = strstr(n->message, "saddr="); if (str) { - int len; + unsigned int len = 0; struct sockaddr *saddr; char nameNI_MAXHOST; str += 6; - len = strlen(str)/2; + const char *ptr = str; + if (*ptr == '(') { + const char *ptr2 = strchr(ptr, ')'); + if (ptr2) + len = (ptr2 - ptr) + 1; + } else { + while (isxdigit(ptrlen)) + len++; + len /= 2; + } s->hostname = unescape(str); if (s->hostname == NULL) return 4; @@ -1681,17 +1693,13 @@ } len = sizeof(struct sockaddr_in6); } else if (saddr->sa_family == AF_UNIX) { - struct sockaddr_un *un = - (struct sockaddr_un *)saddr; - if (un->sun_path0) - len = strlen(un->sun_path); - else // abstract name - len = strlen(&un->sun_path1); - if (len == 0) { + if (len < 4) { fprintf(stderr, "sun_path len too short\n"); return 3; } + struct sockaddr_un *un = + (struct sockaddr_un *)saddr; if (event_filename) { if (!s->filename) { //create @@ -1734,7 +1742,7 @@ s->hostname = NULL; return 0; } - if (getnameinfo(saddr, len, name, NI_MAXHOST, + if (getnameinfo(saddr, len, name, NI_MAXHOST, NULL, 0, NI_NUMERICHOST) ) { free(s->hostname); s->hostname = NULL; @@ -1993,6 +2001,10 @@ *term = '"'; } else { s->comm = unescape(str); + if (s->comm == NULL) { + rc = 11; + goto err; + } term = str + 6; } } @@ -2261,6 +2273,23 @@ *term = ' '; } + // optionally get res + if (event_success != S_UNSET) { + str = strstr(term, "res="); + if (str != NULL) { + ptr = str + 4; + term = strchr(ptr, ' '); + if (term) + *term = 0; + errno = 0; + s->success = strtoul(ptr, NULL, 10); + if (errno) + return 68; + if (term) + *term = ' '; + } + } + return 0; } @@ -2630,7 +2659,7 @@ return 58; *term = ' '; } else - s->loginuid = (unsigned long)-1; + s->loginuid = (uid_t)-1; if (s->tauid) free((void *)s->tauid); s->tauid = lookup_uid("auid", s->loginuid); } @@ -2666,7 +2695,7 @@ return 61; *term = ' '; } else - s->session_id = (unsigned long)-1; + s->session_id = (uint32_t)-1; } // get subject if not already filled if (!s->avc && event_subject) { @@ -2696,8 +2725,10 @@ str = strstr(term, "comm="); if (str) { /* Make the syscall one override */ - if (s->comm) + if (s->comm) { free(s->comm); + s->comm = NULL; + } str += 5; if (*str == '"') { str++; @@ -2731,6 +2762,23 @@ } else s->exe = strdup("(null)"); } + // optionally get res + if (event_success != S_UNSET) { + str = strstr(term, "res="); + if (str != NULL) { + ptr = str + 4; + term = strchr(ptr, ' '); + if (term) + *term = 0; + errno = 0; + s->success = strtoul(ptr, NULL, 10); + if (errno) + return 69; + if (term) + *term = ' '; + } + } + return 0; }
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/ausearch-report.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/ausearch-report.c
Changed
@@ -450,7 +450,7 @@ rc = auparse_normalize(au, extra_labels ? NORM_OPT_ALL : NORM_OPT_NO_ATTRS); - //DATE + // DATE if (tv) { strftime(tmp, sizeof(tmp), "%x", tv); printf("%s", tmp); @@ -602,7 +602,13 @@ if (auparse_get_field_type(au) == AUPARSE_TYPE_ESCAPED_FILE) val = auparse_interpret_realpath(au); - else + else if (auparse_get_type(au) == AUDIT_CONFIG_CHANGE) { + if (action && ((strcmp(action, "set") == 0) || + (strcmp(action, "seccomp-logging") == 0))) + val = auparse_get_field_name(au); + else + val = auparse_interpret_field(au); + } else val = auparse_interpret_field(au); printf("%s", val); } @@ -706,7 +712,8 @@ rc = auparse_normalize_subject_secondary(au); if (rc == 1) { int uid = auparse_get_field_int(au); - if (uid != id && id != -2) + // if they are different, id exists, and uid is not unset + if (uid != id && id != -2 && uid != -1) printf(", acting as %s,", auparse_interpret_field(au)); } @@ -750,6 +757,13 @@ val = auparse_interpret_sock_address(au); if (val == NULL) val = auparse_interpret_sock_family(au); + } else if (type == AUDIT_CONFIG_CHANGE) { + if (action && + ((strcmp(action, "set") == 0) || + strcmp(action, "seccomp-logging") == 0)) + val = auparse_get_field_name(au); + else + val = auparse_interpret_field(au); } if (val == NULL)
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/ausearch.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/ausearch.c
Changed
@@ -14,8 +14,9 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * along with this program; see the file COPYING. If not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1335, USA. * * Authors: * Steve Grubb <sgrubb@redhat.com> @@ -116,7 +117,7 @@ lol_set_eoe_timeout((time_t)config.end_of_event_timeout); /* - * If an override was specified on the command line, overide the config + * If an override was specified on the command line, override the config */ if (arg_eoe_timeout != 0) lol_set_eoe_timeout((time_t)arg_eoe_timeout); @@ -164,6 +165,7 @@ /* we deal with failures via * checkpt_failure later */ (void)set_ChkPtFileDetails(user_file); + free_config(&config); break; } } else if (force_logs) @@ -227,10 +229,10 @@ int ret; if (user_file && userfile_is_dir) { - char dirnameMAXPATHLEN; + char dirnameMAXPATHLEN+1; clear_config (&config); - strcpy(dirname, user_file); + strncpy(dirname, user_file, MAXPATHLEN-32); if (dirnamestrlen(dirname)-1 != '/') strcat(dirname, "/"); strcat (dirname, "audit.log"); @@ -515,11 +517,15 @@ static int process_stdin(void) { + struct sigaction sa; log_fd = stdin; - input_is_pipe=1; + input_is_pipe = 1; + + sa.sa_flags = 0; + sigemptyset(&sa.sa_mask); + sa.sa_handler = alarm_handler; - if (signal(SIGALRM, alarm_handler) == SIG_ERR || - siginterrupt(SIGALRM, 1) == -1) + if (sigaction(SIGALRM, &sa, NULL) < 0) return -1; return process_log_fd();
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/autrace.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/autrace.c
Changed
@@ -89,6 +89,7 @@ rc |= audit_rule_syscallbyname_data(rule, "readlinkat"); rc |= audit_rule_syscallbyname_data(rule, "execve"); rc |= audit_rule_syscallbyname_data(rule, "name_to_handle_at"); + rc |= audit_rule_syscallbyname_data(rule, "openat2"); if (machine != MACH_X86 && machine != MACH_S390X && machine != MACH_S390) {
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/libev/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/src/libev/Makefile.am
Changed
@@ -13,8 +13,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -24,6 +25,7 @@ AM_CFLAGS = -fPIC -DPIC -g -fno-strict-aliasing ${DEBUG} noinst_HEADERS = ev.h ev_vars.h ev_wrap.h event.h -noinst_LIBRARIES = libev.a +noinst_LTLIBRARIES = libev.la -libev_a_SOURCES = ev.c event.c +libev_la_SOURCES = ev.c event.c +libev_la_LDFLAGS = -no-undefined -static
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/libev/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/src/libev/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -105,16 +105,17 @@ CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru -AM_V_AR = $(am__v_AR_@AM_V@) -am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) -am__v_AR_0 = @echo " AR " $@; -am__v_AR_1 = -libev_a_AR = $(AR) $(ARFLAGS) -libev_a_LIBADD = -am_libev_a_OBJECTS = ev.$(OBJEXT) event.$(OBJEXT) -libev_a_OBJECTS = $(am_libev_a_OBJECTS) +LTLIBRARIES = $(noinst_LTLIBRARIES) +libev_la_LIBADD = +am_libev_la_OBJECTS = ev.lo event.lo +libev_la_OBJECTS = $(am_libev_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libev_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libev_la_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -130,14 +131,10 @@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/ev.Po ./$(DEPDIR)/event.Po +am__depfiles_remade = ./$(DEPDIR)/ev.Plo ./$(DEPDIR)/event.Plo am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ @@ -154,8 +151,8 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -SOURCES = $(libev_a_SOURCES) -DIST_SOURCES = $(libev_a_SOURCES) +SOURCES = $(libev_la_SOURCES) +DIST_SOURCES = $(libev_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -179,8 +176,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp README DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -203,6 +198,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -214,8 +211,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -271,6 +270,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -324,6 +324,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -353,8 +354,9 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -363,8 +365,9 @@ EXTRA_DIST = README ev_epoll.c ev_poll.c ev_select.c ev_iouring.c ev_linuxaio.c libev.m4 AM_CFLAGS = -fPIC -DPIC -g -fno-strict-aliasing ${DEBUG} noinst_HEADERS = ev.h ev_vars.h ev_wrap.h event.h -noinst_LIBRARIES = libev.a -libev_a_SOURCES = ev.c event.c +noinst_LTLIBRARIES = libev.la +libev_la_SOURCES = ev.c event.c +libev_la_LDFLAGS = -no-undefined -static all: all-am .SUFFIXES: @@ -399,13 +402,19 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^^/*$$|.|; s|/^/*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } -libev.a: $(libev_a_OBJECTS) $(libev_a_DEPENDENCIES) $(EXTRA_libev_a_DEPENDENCIES) - $(AM_V_at)-rm -f libev.a - $(AM_V_AR)$(libev_a_AR) libev.a $(libev_a_OBJECTS) $(libev_a_LIBADD) - $(AM_V_at)$(RANLIB) libev.a +libev.la: $(libev_la_OBJECTS) $(libev_la_DEPENDENCIES) $(EXTRA_libev_la_DEPENDENCIES) + $(AM_V_CCLD)$(libev_la_LINK) $(libev_la_OBJECTS) $(libev_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -413,8 +422,8 @@ distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ev.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/event.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ev.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/event.Plo@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @@ -500,7 +509,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am @@ -536,7 +544,7 @@ done check-am: all-am check: check-am -all-am: Makefile $(LIBRARIES) $(HEADERS) +all-am: Makefile $(LTLIBRARIES) $(HEADERS) installdirs: install: install-am install-exec: install-exec-am @@ -570,12 +578,12 @@ @echo "it deletes files that may require special tools to rebuild." clean: clean-am -clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am - -rm -f ./$(DEPDIR)/ev.Po - -rm -f ./$(DEPDIR)/event.Po + -rm -f ./$(DEPDIR)/ev.Plo + -rm -f ./$(DEPDIR)/event.Plo -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -621,8 +629,8 @@ installcheck-am: maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/ev.Po - -rm -f ./$(DEPDIR)/event.Po + -rm -f ./$(DEPDIR)/ev.Plo + -rm -f ./$(DEPDIR)/event.Plo -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -644,7 +652,7 @@ .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-libtool clean-noinstLIBRARIES \ + clean-generic clean-libtool clean-noinstLTLIBRARIES \ cscopelist-am ctags ctags-am distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/libev/ev.c -> _service:tar_scm:audit-3.0.9.tar.gz/src/libev/ev.c
Changed
@@ -4872,6 +4872,8 @@ char buf EV_INOTIFY_BUFSIZE; int ofs; int len = read (fs_fd, buf, sizeof (buf)); + if (len < 0) + return; for (ofs = 0; ofs < len; ) {
View file
_service:tar_scm:audit-3.0.1.tar.gz/src/test/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/src/test/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -194,8 +194,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no @@ -378,6 +376,7 @@ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -423,6 +422,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -434,8 +435,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -491,6 +494,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -544,6 +548,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -813,7 +818,7 @@ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -875,7 +880,6 @@ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/test-driver -> _service:tar_scm:audit-3.0.9.tar.gz/test-driver
Changed
@@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2011-2020 Free Software Foundation, Inc. +# Copyright (C) 2011-2021 Free Software Foundation, Inc. # # 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 @@ -42,11 +42,13 @@ { cat <<END Usage: - test-driver --test-name=NAME --log-file=PATH --trs-file=PATH - --expect-failure={yes|no} --color-tests={yes|no} - --enable-hard-errors={yes|no} -- + test-driver --test-name NAME --log-file PATH --trs-file PATH + --expect-failure {yes|no} --color-tests {yes|no} + --enable-hard-errors {yes|no} -- TEST-SCRIPT TEST-SCRIPT-ARGUMENTS + The '--test-name', '--log-file' and '--trs-file' options are mandatory. +See the GNU Automake documentation for information. END } @@ -103,8 +105,11 @@ trap "st=141; $do_exit" 13 trap "st=143; $do_exit" 15 -# Test script is run here. -"$@" >$log_file 2>&1 +# Test script is run here. We create the file first, then append to it, +# to ameliorate tests themselves also writing to the log file. Our tests +# don't, but others can (automake bug#35762). +: >"$log_file" +"$@" >>"$log_file" 2>&1 estatus=$? if test $enable_hard_errors = no && test $estatus -eq 99; then @@ -126,7 +131,7 @@ # know whether the test passed or failed simply by looking at the '.log' # file, without the need of also peaking into the corresponding '.trs' # file (automake bug#11814). -echo "$res $test_name (exit status: $estatus)" >>$log_file +echo "$res $test_name (exit status: $estatus)" >>"$log_file" # Report outcome to console. echo "${col}${res}${std}: $test_name"
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/tools/Makefile.am
Changed
@@ -12,9 +12,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com>
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/tools/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -28,9 +28,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -175,8 +176,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -225,6 +224,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -236,8 +237,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -293,6 +296,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -346,6 +350,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -498,7 +503,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/aulast/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/tools/aulast/Makefile.am
Changed
@@ -12,9 +12,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -23,8 +24,8 @@ CONFIG_CLEAN_FILES = *.loT *.rej *.orig EXTRA_DIST = $(man_MANS) AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/lib -I${top_srcdir}/auparse -LIBS = -L${top_builddir}/auparse -lauparse -AM_CFLAGS = -D_GNU_SOURCE +LIBS = ${top_builddir}/auparse/libauparse.la +AM_CFLAGS = -D_GNU_SOURCE ${WFLAGS} bin_PROGRAMS = aulast noinst_HEADERS = aulast-llist.h man_MANS = aulast.8
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/aulast/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/tools/aulast/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -28,9 +28,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -227,8 +228,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -251,6 +250,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -262,8 +263,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -276,7 +279,7 @@ LDFLAGS = @LDFLAGS@ LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ LIBOBJS = @LIBOBJS@ -LIBS = -L${top_builddir}/auparse -lauparse +LIBS = ${top_builddir}/auparse/libauparse.la LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ LIBWRAP_LIBS = @LIBWRAP_LIBS@ @@ -319,6 +322,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -372,6 +376,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -388,7 +393,7 @@ CONFIG_CLEAN_FILES = *.loT *.rej *.orig EXTRA_DIST = $(man_MANS) AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/lib -I${top_srcdir}/auparse -AM_CFLAGS = -D_GNU_SOURCE +AM_CFLAGS = -D_GNU_SOURCE ${WFLAGS} noinst_HEADERS = aulast-llist.h man_MANS = aulast.8 aulast_SOURCES = aulast.c aulast-llist.c @@ -615,7 +620,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/aulast/aulast.8 -> _service:tar_scm:audit-3.0.9.tar.gz/tools/aulast/aulast.8
Changed
@@ -1,4 +1,4 @@ -.TH AULAST: "8" "June 2016" "Red Hat" "System Administration Utilities" +.TH AULAST "8" "June 2016" "Red Hat" "System Administration Utilities" .SH NAME aulast \- a program similar to last .SH SYNOPSIS @@ -17,11 +17,15 @@ Report on the bad logins. .TP +.B \-\-debug +Print debug messages to stderr. + +.TP .B \-\-extract Write raw audit records used to create the displayed report into a file aulast.log in the current working directory. .TP -.BI \-f file +.BI \-f\ file Use the file instead of the audit logs for input. .TP @@ -33,11 +37,11 @@ Take audit records from stdin. The audit events must be in the raw format. .TP -.BI \-\-tty +.BI \-\-tty\ tty Limit the report to a specific tty's activity. The names of ttys can be abbreviated. For example, 0 is the same as tty0. .TP -.BI \-\-user name +.BI \-\-user\ name Limit the report to a specific user. .SH "EXAMPLES"
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/aulast/aulast.c -> _service:tar_scm:audit-3.0.9.tar.gz/tools/aulast/aulast.c
Changed
@@ -45,7 +45,8 @@ void usage(void) { fprintf(stderr, - "usage: aulast --stdin --proof --extract -f file --user name --tty tty\n"); + "usage: aulast --bad --debug --stdin --proof --extract -f file " + "--user name --tty tty\n"); } /* This outputs a line of text reporting the login/out times */ @@ -95,8 +96,11 @@ int mins, hours, days; if (notime) printf("- %-7.5s", " "); - else - printf("- %-7.5s", ctime(&cur->end) + 11); + else { + char *ttime = ctime(&cur->end); + printf("- %-7.5s", ttime ? ttime + 11 : + "bad value"); + } secs = cur->end - cur->start; mins = (secs / 60) % 60; hours = (secs / 3600) % 24; @@ -127,10 +131,13 @@ strftime(start, sizeof(start), "%x %T", btm); if (cur->end != 0) { btm = localtime(&cur->end); - strftime(end, sizeof(end), "%x %T", btm); - printf(" ausearch --start %s --end %s", - start, end); + if (btm) { + strftime(end, sizeof(end), "%x %T", btm); + printf(" ausearch --start %s --end %s", + start, end); + } else goto no_end; } else { +no_end: printf(" ausearch --start %s", start); } if (cur->name == NULL) @@ -401,7 +408,7 @@ static void process_bootup(auparse_state_t *au) { lnode *cur; - int start; + time_t start; // See if we have unclosed boot up and make into CRASH record list_first(&l);
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/aulastlog/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/tools/aulastlog/Makefile.am
Changed
@@ -12,9 +12,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -23,8 +24,8 @@ CONFIG_CLEAN_FILES = *.loT *.rej *.orig EXTRA_DIST = $(man_MANS) AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/auparse -LIBS = -L${top_builddir}/auparse -lauparse -AM_CFLAGS = -D_GNU_SOURCE +LIBS = ${top_builddir}/auparse/libauparse.la +AM_CFLAGS = -D_GNU_SOURCE ${WFLAGS} bin_PROGRAMS = aulastlog noinst_HEADERS = aulastlog-llist.h man_MANS = aulastlog.8
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/aulastlog/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/tools/aulastlog/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -28,9 +28,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -227,8 +228,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -251,6 +250,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -262,8 +263,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -276,7 +279,7 @@ LDFLAGS = @LDFLAGS@ LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ LIBOBJS = @LIBOBJS@ -LIBS = -L${top_builddir}/auparse -lauparse +LIBS = ${top_builddir}/auparse/libauparse.la LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ LIBWRAP_LIBS = @LIBWRAP_LIBS@ @@ -319,6 +322,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -372,6 +376,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -388,7 +393,7 @@ CONFIG_CLEAN_FILES = *.loT *.rej *.orig EXTRA_DIST = $(man_MANS) AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/auparse -AM_CFLAGS = -D_GNU_SOURCE +AM_CFLAGS = -D_GNU_SOURCE ${WFLAGS} noinst_HEADERS = aulastlog-llist.h man_MANS = aulastlog.8 aulastlog_SOURCES = aulastlog.c aulastlog-llist.c @@ -615,7 +620,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/aulastlog/aulastlog.8 -> _service:tar_scm:audit-3.0.9.tar.gz/tools/aulastlog/aulastlog.8
Changed
@@ -1,4 +1,4 @@ -.TH AULASTLOG: "8" "June 2016" "Red Hat" "System Administration Utilities" +.TH AULASTLOG "8" "June 2016" "Red Hat" "System Administration Utilities" .SH NAME aulastlog \- a program similar to lastlog .SH SYNOPSIS
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/ausyscall/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/tools/ausyscall/Makefile.am
Changed
@@ -12,9 +12,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -23,8 +24,8 @@ CONFIG_CLEAN_FILES = *.loT *.rej *.orig EXTRA_DIST = $(man_MANS) AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/lib -LIBS = -L${top_builddir}/lib -laudit -AM_CFLAGS = -D_GNU_SOURCE +LIBS = ${top_builddir}/lib/libaudit.la +AM_CFLAGS = -D_GNU_SOURCE ${WFLAGS} bin_PROGRAMS = ausyscall man_MANS = ausyscall.8
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/ausyscall/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/tools/ausyscall/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -28,9 +28,10 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1335, USA. # # Authors: # Steve Grubb <sgrubb@redhat.com> @@ -223,8 +224,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -247,6 +246,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -258,8 +259,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -272,7 +275,7 @@ LDFLAGS = @LDFLAGS@ LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ LIBOBJS = @LIBOBJS@ -LIBS = -L${top_builddir}/lib -laudit +LIBS = ${top_builddir}/lib/libaudit.la LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ LIBWRAP_LIBS = @LIBWRAP_LIBS@ @@ -315,6 +318,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -368,6 +372,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -384,7 +389,7 @@ CONFIG_CLEAN_FILES = *.loT *.rej *.orig EXTRA_DIST = $(man_MANS) AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/lib -AM_CFLAGS = -D_GNU_SOURCE +AM_CFLAGS = -D_GNU_SOURCE ${WFLAGS} man_MANS = ausyscall.8 ausyscall_SOURCES = ausyscall.c all: all-am @@ -609,7 +614,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/ausyscall/ausyscall.8 -> _service:tar_scm:audit-3.0.9.tar.gz/tools/ausyscall/ausyscall.8
Changed
@@ -1,16 +1,16 @@ -.TH AUSYSCALL: "8" "Nov 2008" "Red Hat" "System Administration Utilities" +.TH AUSYSCALL "8" "Nov 2008" "Red Hat" "System Administration Utilities" .SH NAME ausyscall \- a program that allows mapping syscall names and numbers .SH SYNOPSIS .B ausyscall arch name | number | \-\-dump | \-\-exact .SH DESCRIPTION -\fBausyscall\fP is a program that prints out the mapping from syscall name to number and reverse for the given arch. The arch can be anything returned by `uname \-m`. If arch is not given, the program will take a guess based on the running image. You may give the syscall name or number and it will find the opposite. You can also dump the whole table with the \-\-dump option. By default a syscall name lookup will be a substring match meaning that it will try to match all occurrences of the given name with syscalls. So giving a name of chown will match both fchown and chown as any other syscall with chown in its name. If this behavior is not desired, pass the \-\-exact flag and it will do an exact string match. +\fBausyscall\fP is a program that prints out the mapping from syscall name to number and reverse for the given arch. The arch can be anything returned by `uname \-m`. If arch is not given, the program will take a guess based on the running image. Or for convenience, you can pass \fBb32\fP or \fBb64\fP to use the current arch but a specific ABI. You may give the syscall name or number and it will find the opposite. You can also dump the whole table with the \-\-dump option. By default a syscall name lookup will be a substring match meaning that it will try to match all occurrences of the given name with syscalls. So giving a name of chown will match both fchown and chown as any other syscall with chown in its name. If this behavior is not desired, pass the \-\-exact flag and it will do an exact string match. This program can be used to verify syscall numbers on a biarch platform for rule optimization. For example, suppose you had an auditctl rule: .B \-a always, exit \-S open \-F exit=\-EPERM \-k fail\-open -If you wanted to verify that both 32 and 64 bit programs would be audited, run "ausyscall i386 open" and then "ausyscall x86_64 open". Look at the returned numbers. If they are different, you will have to write two auditctl rules to get complete coverage. +If you wanted to verify that both 32 and 64 bit programs would be audited, run "ausyscall i386 open" and then "ausyscall x86_64 open". (Or use the b32 and b64 option.) Look at the returned numbers. If they are different, you will have to write two auditctl rules to get complete coverage. .nf .B \-a always,exit \-F arch=b32 \-S open \-F exit=\-EPERM \-k fail\-open
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/ausyscall/ausyscall.c -> _service:tar_scm:audit-3.0.9.tar.gz/tools/ausyscall/ausyscall.c
Changed
@@ -56,7 +56,7 @@ usage(); } syscall_num = strtol(argvi, 0, 10); - } else if ((rc = audit_name_to_machine(argvi)) != -1) { + } else if ((rc = audit_determine_machine(argvi)) >= 0) { if (machine != -1) { fputs("Two machine types not allowed\n",stderr); usage();
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/auvirt/Makefile.am -> _service:tar_scm:audit-3.0.9.tar.gz/tools/auvirt/Makefile.am
Changed
@@ -29,8 +29,8 @@ -I${top_srcdir}/lib \ -I${top_srcdir}/auparse \ -I${top_srcdir}/src -LIBS = -L${top_builddir}/auparse -lauparse -AM_CFLAGS = -D_GNU_SOURCE +LIBS = ${top_builddir}/auparse/libauparse.la +AM_CFLAGS = -D_GNU_SOURCE ${WFLAGS} bin_PROGRAMS = auvirt noinst_HEADERS = auvirt-list.h man_MANS = auvirt.8
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/auvirt/Makefile.in -> _service:tar_scm:audit-3.0.9.tar.gz/tools/auvirt/Makefile.in
Changed
@@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.2 from Makefile.am. +# Makefile.in generated by automake 1.16.5 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2020 Free Software Foundation, Inc. +# Copyright (C) 1994-2021 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -231,8 +231,6 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ @@ -255,6 +253,8 @@ CPPFLAGS = @CPPFLAGS@ CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ CYGPATH_W = @CYGPATH_W@ DEBUG = @DEBUG@ DEFS = @DEFS@ @@ -266,8 +266,10 @@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ +ETAGS = @ETAGS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ +FILECMD = @FILECMD@ GOLANG = @GOLANG@ GOROOT = @GOROOT@ GREP = @GREP@ @@ -280,7 +282,7 @@ LDFLAGS = @LDFLAGS@ LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ LIBOBJS = @LIBOBJS@ -LIBS = -L${top_builddir}/auparse -lauparse +LIBS = ${top_builddir}/auparse/libauparse.la LIBTOOL = @LIBTOOL@ LIBTOOL_DEPS = @LIBTOOL_DEPS@ LIBWRAP_LIBS = @LIBWRAP_LIBS@ @@ -323,6 +325,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +WFLAGS = @WFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -376,6 +379,7 @@ pyexecdir = @pyexecdir@ python3dir = @python3dir@ pythondir = @pythondir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -396,7 +400,7 @@ -I${top_srcdir}/auparse \ -I${top_srcdir}/src -AM_CFLAGS = -D_GNU_SOURCE +AM_CFLAGS = -D_GNU_SOURCE ${WFLAGS} noinst_HEADERS = auvirt-list.h man_MANS = auvirt.8 auvirt_SOURCES = auvirt.c \ @@ -641,7 +645,6 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - distdir: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) distdir-am
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/auvirt/auvirt.8 -> _service:tar_scm:audit-3.0.9.tar.gz/tools/auvirt/auvirt.8
Changed
@@ -35,7 +35,7 @@ Show records for all virtualization related events. .TP \fB--debug\fP -Print debug messages to standard output. +Print debug messages to stderr. .TP \fB-f\fP, \fB--file\fP \fIfile\fP Read records from the given \fIfile\fP instead from the system audit log file.
View file
_service:tar_scm:audit-3.0.1.tar.gz/tools/auvirt/auvirt.c -> _service:tar_scm:audit-3.0.9.tar.gz/tools/auvirt/auvirt.c
Changed
@@ -145,7 +145,7 @@ fprintf(output, "usage: auvirt --stdin --all-events --summary " "--start start-date start-time " "--end end-date end-time --file file-name " - "--show-uuid --proof " + "--show-uuid --proof --debug " "--uuid uuid --vm vm-name\n"); }
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2