diff --git a/tar-1.35-CVE-2025-45582.patch b/tar-1.35-CVE-2025-45582.patch index 6ed0ccd..be62be3 100644 --- a/tar-1.35-CVE-2025-45582.patch +++ b/tar-1.35-CVE-2025-45582.patch @@ -1,6 +1,6 @@ -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/aclocal.m4 tar-1.35-rhel-10.2-clean/aclocal.m4 +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/aclocal.m4 tar-1.35-rhel-10.2-clean/aclocal.m4 --- tar-1.35-rhel-10.1/aclocal.m4 2025-12-03 14:00:07.905275300 +0100 -+++ tar-1.35-rhel-10.2-clean/aclocal.m4 2025-12-03 15:02:33.841903373 +0100 ++++ tar-1.35-rhel-10.2-clean/aclocal.m4 2025-12-19 16:56:06.180341993 +0100 @@ -1339,6 +1339,7 @@ m4_include([m4/open-slash.m4]) m4_include([m4/open.m4]) @@ -9,188 +9,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli m4_include([m4/opendir.m4]) m4_include([m4/parse-datetime.m4]) m4_include([m4/pathmax.m4]) -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/configure tar-1.35-rhel-10.2-clean/configure ---- tar-1.35-rhel-10.1/configure 2025-12-03 14:00:09.533325171 +0100 -+++ tar-1.35-rhel-10.2-clean/configure 2025-12-03 15:02:35.473950516 +0100 -@@ -1070,6 +1070,8 @@ - PARSE_DATETIME_BISON - GL_COND_OBJ_OPENDIR_FALSE - GL_COND_OBJ_OPENDIR_TRUE -+GL_COND_OBJ_OPENAT2_FALSE -+GL_COND_OBJ_OPENAT2_TRUE - GL_COND_OBJ_OPENAT_FALSE - GL_COND_OBJ_OPENAT_TRUE - GL_COND_OBJ_OPEN_FALSE -@@ -1587,6 +1589,7 @@ - NEXT_FCNTL_H - GL_GNULIB_MDA_OPEN - GL_GNULIB_MDA_CREAT -+GL_GNULIB_OPENAT2 - GL_GNULIB_OPENAT - GL_GNULIB_OPEN - GL_GNULIB_NONBLOCKING -@@ -1598,6 +1601,7 @@ - REPLACE_OPEN - REPLACE_FCNTL - REPLACE_CREAT -+HAVE_OPENAT2 - HAVE_OPENAT - HAVE_FCNTL - GL_COND_OBJ_FCHOWNAT_FALSE -@@ -4535,6 +4539,9 @@ - as_fn_append ac_func_c_list " mprotect HAVE_MPROTECT" - as_fn_append ac_func_c_list " mkdirat HAVE_MKDIRAT" - as_fn_append ac_func_c_list " mknod HAVE_MKNOD" -+as_fn_append ac_func_c_list " openat2 HAVE_OPENAT2" -+as_fn_append ac_func_c_list " fstatfs HAVE_FSTATFS" -+as_fn_append ac_header_c_list " sys/vfs.h sys_vfs_h HAVE_SYS_VFS_H" - as_fn_append ac_func_c_list " pipe HAVE_PIPE" - as_fn_append ac_header_c_list " priv.h priv_h HAVE_PRIV_H" - as_fn_append ac_header_c_list " malloc.h malloc_h HAVE_MALLOC_H" -@@ -8292,6 +8299,7 @@ - # Code from module openat-die: - # Code from module openat-h: - # Code from module openat-safer: -+ # Code from module openat2: - # Code from module opendir: - # Code from module opendirat: - # Code from module parse-datetime: -@@ -15189,6 +15197,7 @@ - - HAVE_FCNTL=1; - HAVE_OPENAT=1; -+ HAVE_OPENAT2=0; - REPLACE_CREAT=0; - REPLACE_FCNTL=0; - REPLACE_OPEN=0; -@@ -15217,6 +15226,10 @@ - - - -+ GL_GNULIB_OPENAT2=0 -+ -+ -+ - GL_GNULIB_MDA_CREAT=1 - - -@@ -17899,8 +17912,8 @@ - LIBS=$save_LIBS - test $gl_pthread_api = yes && break - done -- echo "$as_me:17902: gl_pthread_api=$gl_pthread_api" >&5 -- echo "$as_me:17903: LIBPTHREAD=$LIBPTHREAD" >&5 -+ echo "$as_me:17915: gl_pthread_api=$gl_pthread_api" >&5 -+ echo "$as_me:17916: LIBPTHREAD=$LIBPTHREAD" >&5 - - gl_pthread_in_glibc=no - # On Linux with glibc >= 2.34, libc contains the fully functional -@@ -17926,7 +17939,7 @@ - - ;; - esac -- echo "$as_me:17929: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5 -+ echo "$as_me:17942: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5 - - # Test for libpthread by looking for pthread_kill. (Not pthread_self, - # since it is defined as a macro on OSF/1.) -@@ -18080,7 +18093,7 @@ - - fi - fi -- echo "$as_me:18083: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5 -+ echo "$as_me:18096: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5 - fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5 - printf %s "checking whether POSIX threads API is available... " >&6; } -@@ -22254,6 +22267,9 @@ - - - -+ -+ -+ - : ${YACC='bison -o y.tab.c'} - - -@@ -39815,6 +39831,76 @@ - - - -+ -+ -+ -+ -+ case $ac_cv_func_openat2 in #( -+ yes) : -+ HAVE_OPENAT2=1 ;; #( -+ *) : -+ ;; -+esac -+ -+ -+ if test $HAVE_OPENAT2 = 0; then -+ GL_COND_OBJ_OPENAT2_TRUE= -+ GL_COND_OBJ_OPENAT2_FALSE='#' -+else -+ GL_COND_OBJ_OPENAT2_TRUE='#' -+ GL_COND_OBJ_OPENAT2_FALSE= -+fi -+: -+ if test -z "${GL_COND_OBJ_OPENAT2_TRUE}" && test -z "${GL_COND_OBJ_OPENAT2_FALSE}"; then -+ GL_COND_OBJ_OPENAT2_TRUE='#' -+ GL_COND_OBJ_OPENAT2_FALSE='#' -+ fi -+ -+ if test -z "$GL_COND_OBJ_OPENAT_TRUE"; then : -+ -+ -+ -+ -+ case $ac_cv_func_fstatfs,$ac_cv_header_sys_vfs_h in #( -+ yes,yes) : -+ ac_fn_c_check_member "$LINENO" "struct statfs" "f_type" "ac_cv_member_struct_statfs_f_type" "$ac_includes_default -+ #include -+ -+" -+if test "x$ac_cv_member_struct_statfs_f_type" = xyes -+then : -+ -+printf "%s\n" "#define HAVE_STRUCT_STATFS_F_TYPE 1" >>confdefs.h -+ -+ -+fi -+ ;; #( -+ *) : -+ ;; -+esac -+ -+ -+fi -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ GL_GNULIB_OPENAT2=1 -+ -+ -+ -+ -+ -+printf "%s\n" "#define GNULIB_TEST_OPENAT2 1" >>confdefs.h -+ -+ -+ -+ - - - ac_fn_c_check_func "$LINENO" "opendir" "ac_cv_func_opendir" -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/doc/tar.texi tar-1.35-rhel-10.2-clean/doc/tar.texi +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/doc/tar.texi tar-1.35-rhel-10.2-clean/doc/tar.texi --- tar-1.35-rhel-10.1/doc/tar.texi 2025-12-03 13:55:36.036944349 +0100 +++ tar-1.35-rhel-10.2-clean/doc/tar.texi 2025-12-03 14:40:02.627364006 +0100 @@ -12952,26 +12952,31 @@ @@ -259,7 +78,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli @item Do not let untrusted users access files extracted from untrusted archives without checking first for problems such as setuid programs. -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/gnu/fcntl.in.h tar-1.35-rhel-10.2-clean/gnu/fcntl.in.h +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/gnu/fcntl.in.h tar-1.35-rhel-10.2-clean/gnu/fcntl.in.h --- tar-1.35-rhel-10.1/gnu/fcntl.in.h 2025-12-03 13:59:51.584775360 +0100 +++ tar-1.35-rhel-10.2-clean/gnu/fcntl.in.h 2025-12-03 15:02:17.653435608 +0100 @@ -238,6 +238,46 @@ @@ -325,7 +144,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli #endif /* _@GUARD_PREFIX@_FCNTL_H */ #endif /* _@GUARD_PREFIX@_FCNTL_H */ #endif -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/gnu/Makefile.am tar-1.35-rhel-10.2-clean/gnu/Makefile.am +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/gnu/Makefile.am tar-1.35-rhel-10.2-clean/gnu/Makefile.am --- tar-1.35-rhel-10.1/gnu/Makefile.am 2025-12-03 14:00:01.585081698 +0100 +++ tar-1.35-rhel-10.2-clean/gnu/Makefile.am 2025-12-03 15:02:27.665724946 +0100 @@ -86,6 +86,7 @@ @@ -364,7 +183,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli ## begin gnulib module opendir if GL_COND_OBJ_OPENDIR -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/gnu/openat2.c tar-1.35-rhel-10.2-clean/gnu/openat2.c +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/gnu/openat2.c tar-1.35-rhel-10.2-clean/gnu/openat2.c --- tar-1.35-rhel-10.1/gnu/openat2.c 1970-01-01 01:00:00.000000000 +0100 +++ tar-1.35-rhel-10.2-clean/gnu/openat2.c 2025-12-03 15:02:17.941443932 +0100 @@ -0,0 +1,596 @@ @@ -964,7 +783,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli + } + return r; +} -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/m4/fcntl_h.m4 tar-1.35-rhel-10.2-clean/m4/fcntl_h.m4 +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/m4/fcntl_h.m4 tar-1.35-rhel-10.2-clean/m4/fcntl_h.m4 --- tar-1.35-rhel-10.1/m4/fcntl_h.m4 2025-12-03 13:59:52.312797661 +0100 +++ tar-1.35-rhel-10.2-clean/m4/fcntl_h.m4 2025-12-03 15:02:18.381456650 +0100 @@ -1,6 +1,6 @@ @@ -1002,7 +821,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli REPLACE_CREAT=0; AC_SUBST([REPLACE_CREAT]) REPLACE_FCNTL=0; AC_SUBST([REPLACE_FCNTL]) REPLACE_OPEN=0; AC_SUBST([REPLACE_OPEN]) -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/m4/gnulib-comp.m4 tar-1.35-rhel-10.2-clean/m4/gnulib-comp.m4 +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/m4/gnulib-comp.m4 tar-1.35-rhel-10.2-clean/m4/gnulib-comp.m4 --- tar-1.35-rhel-10.1/m4/gnulib-comp.m4 2025-12-03 13:59:54.620868365 +0100 +++ tar-1.35-rhel-10.2-clean/m4/gnulib-comp.m4 2025-12-03 15:02:20.701523703 +0100 @@ -237,6 +237,7 @@ @@ -1043,7 +862,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli m4/opendir.m4 m4/parse-datetime.m4 m4/pathmax.m4 -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/m4/openat2.m4 tar-1.35-rhel-10.2-clean/m4/openat2.m4 +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/m4/openat2.m4 tar-1.35-rhel-10.2-clean/m4/openat2.m4 --- tar-1.35-rhel-10.1/m4/openat2.m4 1970-01-01 01:00:00.000000000 +0100 +++ tar-1.35-rhel-10.2-clean/m4/openat2.m4 2025-12-03 15:02:18.549461506 +0100 @@ -0,0 +1,33 @@ @@ -1080,7 +899,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli + #include + ]])]) +]) -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/NEWS tar-1.35-rhel-10.2-clean/NEWS +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/NEWS tar-1.35-rhel-10.2-clean/NEWS --- tar-1.35-rhel-10.1/NEWS 2025-12-03 13:55:36.028944104 +0100 +++ tar-1.35-rhel-10.2-clean/NEWS 2025-12-03 14:40:02.623363898 +0100 @@ -1,6 +1,17 @@ @@ -1102,7 +921,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli version 1.35 - Sergey Poznyakoff, 2023-07-18 * Fail when building GNU tar, if the platform supports 64-bit time_t -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/common.h tar-1.35-rhel-10.2-clean/src/common.h +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/common.h tar-1.35-rhel-10.2-clean/src/common.h --- tar-1.35-rhel-10.1/src/common.h 2025-12-03 13:55:36.040944472 +0100 +++ tar-1.35-rhel-10.2-clean/src/common.h 2025-12-03 14:40:02.631364114 +0100 @@ -401,7 +401,7 @@ @@ -1141,7 +960,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli int chdir_count (void); void close_diag (char const *name); -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/compare.c tar-1.35-rhel-10.2-clean/src/compare.c +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/compare.c tar-1.35-rhel-10.2-clean/src/compare.c --- tar-1.35-rhel-10.1/src/compare.c 2025-12-03 13:55:36.040944472 +0100 +++ tar-1.35-rhel-10.2-clean/src/compare.c 2025-12-03 14:40:02.631364114 +0100 @@ -218,7 +218,9 @@ @@ -1196,7 +1015,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli if (fd < 0) { -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/create.c tar-1.35-rhel-10.2-clean/src/create.c +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/create.c tar-1.35-rhel-10.2-clean/src/create.c --- tar-1.35-rhel-10.1/src/create.c 2025-12-03 13:55:36.040944472 +0100 +++ tar-1.35-rhel-10.2-clean/src/create.c 2025-12-03 14:40:02.631364114 +0100 @@ -1376,8 +1376,10 @@ @@ -1395,7 +1214,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli } else if (S_ISSOCK (st->stat.st_mode)) { -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/exclist.c tar-1.35-rhel-10.2-clean/src/exclist.c +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/exclist.c tar-1.35-rhel-10.2-clean/src/exclist.c --- tar-1.35-rhel-10.1/src/exclist.c 2025-12-03 13:55:36.040944472 +0100 +++ tar-1.35-rhel-10.2-clean/src/exclist.c 2025-12-03 14:40:02.631364114 +0100 @@ -79,7 +79,7 @@ @@ -1421,9 +1240,9 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli if ((result = excluded_file_name (ep->excluded, rname))) break; -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/extract.c tar-1.35-rhel-10.2-clean/src/extract.c +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/extract.c tar-1.35-rhel-10.2-clean/src/extract.c --- tar-1.35-rhel-10.1/src/extract.c 2025-12-03 13:55:36.040944472 +0100 -+++ tar-1.35-rhel-10.2-clean/src/extract.c 2025-12-03 14:40:02.635364223 +0100 ++++ tar-1.35-rhel-10.2-clean/src/extract.c 2025-12-19 16:50:16.334289994 +0100 @@ -246,7 +246,8 @@ if (result == 0 || implemented (errno)) return result; @@ -1694,7 +1513,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli + && fstatat (f.fd, f.base, &st, AT_SYMLINK_NOFOLLOW) == 0 + && st1.st_dev == st.st_dev + && st1.st_ino == st.st_ino)) -+ return true; ++ return 0; errno = e; } while ((rc = maybe_recoverable (file_name, false, &interdir_made)) @@ -1815,7 +1634,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli e = errno; } break; -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/misc.c tar-1.35-rhel-10.2-clean/src/misc.c +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/misc.c tar-1.35-rhel-10.2-clean/src/misc.c --- tar-1.35-rhel-10.1/src/misc.c 2025-12-03 13:55:36.040944472 +0100 +++ tar-1.35-rhel-10.2-clean/src/misc.c 2025-12-03 14:40:02.635364223 +0100 @@ -269,6 +269,30 @@ @@ -2341,7 +2160,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli if (fd < 0) { if (!must_exist && errno == ENOENT) -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/names.c tar-1.35-rhel-10.2-clean/src/names.c +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/names.c tar-1.35-rhel-10.2-clean/src/names.c --- tar-1.35-rhel-10.1/src/names.c 2025-12-03 13:55:36.040944472 +0100 +++ tar-1.35-rhel-10.2-clean/src/names.c 2025-12-03 14:40:02.635364223 +0100 @@ -1797,8 +1797,9 @@ @@ -2356,7 +2175,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli if (dir_fd < 0) open_diag (name->name); else -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/tar.c tar-1.35-rhel-10.2-clean/src/tar.c +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/tar.c tar-1.35-rhel-10.2-clean/src/tar.c --- tar-1.35-rhel-10.1/src/tar.c 2025-12-03 13:55:36.044944594 +0100 +++ tar-1.35-rhel-10.2-clean/src/tar.c 2025-12-03 14:40:02.635364223 +0100 @@ -2614,16 +2614,29 @@ @@ -2398,7 +2217,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli } fstatat_flags = dereference_option ? 0 : AT_SYMLINK_NOFOLLOW; -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/unlink.c tar-1.35-rhel-10.2-clean/src/unlink.c +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/unlink.c tar-1.35-rhel-10.2-clean/src/unlink.c --- tar-1.35-rhel-10.1/src/unlink.c 2025-12-03 13:55:36.044944594 +0100 +++ tar-1.35-rhel-10.2-clean/src/unlink.c 2025-12-03 14:40:02.635364223 +0100 @@ -117,7 +117,10 @@ @@ -2443,7 +2262,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli dunlink_reclaim (p); dunlink_count--; p = next; -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/update.c tar-1.35-rhel-10.2-clean/src/update.c +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/update.c tar-1.35-rhel-10.2-clean/src/update.c --- tar-1.35-rhel-10.1/src/update.c 2025-12-03 13:55:36.044944594 +0100 +++ tar-1.35-rhel-10.2-clean/src/update.c 2025-12-03 14:40:02.635364223 +0100 @@ -49,7 +49,8 @@ @@ -2456,7 +2275,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli if (handle < 0) { -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/xattrs.c tar-1.35-rhel-10.2-clean/src/xattrs.c +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/src/xattrs.c tar-1.35-rhel-10.2-clean/src/xattrs.c --- tar-1.35-rhel-10.1/src/xattrs.c 2025-12-03 13:55:36.044944594 +0100 +++ tar-1.35-rhel-10.2-clean/src/xattrs.c 2025-12-03 14:40:02.635364223 +0100 @@ -299,7 +299,8 @@ @@ -2520,7 +2339,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli sysname = "lsetfileconat"; } -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/tests/extrac31.at tar-1.35-rhel-10.2-clean/tests/extrac31.at +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/tests/extrac31.at tar-1.35-rhel-10.2-clean/tests/extrac31.at --- tar-1.35-rhel-10.1/tests/extrac31.at 1970-01-01 01:00:00.000000000 +0100 +++ tar-1.35-rhel-10.2-clean/tests/extrac31.at 2025-12-03 14:40:02.639364330 +0100 @@ -0,0 +1,55 @@ @@ -2579,7 +2398,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli +tar: Exiting with failure status due to previous errors +]) +AT_CLEANUP -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/tests/Makefile.am tar-1.35-rhel-10.2-clean/tests/Makefile.am +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/tests/Makefile.am tar-1.35-rhel-10.2-clean/tests/Makefile.am --- tar-1.35-rhel-10.1/tests/Makefile.am 2025-12-03 13:55:36.044944594 +0100 +++ tar-1.35-rhel-10.2-clean/tests/Makefile.am 2025-12-03 14:40:02.635364223 +0100 @@ -126,6 +126,7 @@ @@ -2590,7 +2409,7 @@ diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnuli filerem01.at\ filerem02.at\ dirrem01.at\ -diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' --unidirectional-new-file -ur tar-1.35-rhel-10.1/tests/testsuite.at tar-1.35-rhel-10.2-clean/tests/testsuite.at +diff -x '*~' -x autom4te.cache -x gnulib -x build-aux -x gnulib.modules -x gnulib-cache.m4 -x .git -x '*.in' -x configure -x .gitmodules --unidirectional-new-file -ur tar-1.35-rhel-10.1/tests/testsuite.at tar-1.35-rhel-10.2-clean/tests/testsuite.at --- tar-1.35-rhel-10.1/tests/testsuite.at 2025-12-03 13:55:36.052944840 +0100 +++ tar-1.35-rhel-10.2-clean/tests/testsuite.at 2025-12-03 14:40:02.643364439 +0100 @@ -350,6 +350,7 @@