Compare commits
7 Commits
Author | SHA1 | Date |
---|---|---|
Fedora Release Engineering | 2bb1dcd35f | |
Bill Nottingham | 5383cfa46f | |
Jiří Moskovčák | 698edd543f | |
Jiří Moskovčák | de4be8989e | |
Jiří Moskovčák | 84c71b1e27 | |
Jiří Moskovčák | 448cce22e2 | |
Jesse Keating | 5f44e9d670 |
21
Makefile
21
Makefile
|
@ -1,21 +0,0 @@
|
|||
# Makefile for source rpm: acl
|
||||
# $Id: Makefile,v 1.1 2004/09/09 02:52:01 cvsdist Exp $
|
||||
NAME := acl
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attempt a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
|
@ -0,0 +1,27 @@
|
|||
--- acl-2.2.39/setfacl/setfacl.c.exitcode 2007-11-08 14:45:01.000000000 +0100
|
||||
+++ acl-2.2.39/setfacl/setfacl.c 2007-11-08 14:39:19.000000000 +0100
|
||||
@@ -144,7 +144,7 @@ restore(
|
||||
if (error < 0)
|
||||
goto fail;
|
||||
if (error == 0)
|
||||
- return 0;
|
||||
+ return status;
|
||||
|
||||
if (path_p == NULL) {
|
||||
if (filename) {
|
||||
@@ -158,6 +158,7 @@ restore(
|
||||
"aborting\n"),
|
||||
progname, backup_line);
|
||||
}
|
||||
+ status = 1;
|
||||
goto getout;
|
||||
}
|
||||
|
||||
@@ -176,6 +177,7 @@ restore(
|
||||
fprintf(stderr, _("%s: %s: %s in line %d\n"),
|
||||
progname, xquote(filename), strerror(errno),
|
||||
line);
|
||||
+ status = 1;
|
||||
goto getout;
|
||||
}
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
diff -urp acl-2.2.39/getfacl/getfacl.c acl-2.2.39mzk/getfacl/getfacl.c
|
||||
--- acl-2.2.39/getfacl/getfacl.c 2007-07-25 13:12:13.000000000 +0200
|
||||
+++ acl-2.2.39mzk/getfacl/getfacl.c 2007-07-25 12:51:14.000000000 +0200
|
||||
@@ -42,7 +42,7 @@
|
||||
--- acl-2.2.47_old/getfacl/getfacl.c 2008-02-07 04:39:57.000000000 +0100
|
||||
+++ acl-2.2.47/getfacl/getfacl.c 2008-07-31 12:23:10.000000000 +0200
|
||||
@@ -43,7 +43,7 @@
|
||||
#define POSIXLY_CORRECT_STR "POSIXLY_CORRECT"
|
||||
|
||||
#if !POSIXLY_CORRECT
|
||||
|
@ -10,12 +9,12 @@ diff -urp acl-2.2.39/getfacl/getfacl.c acl-2.2.39mzk/getfacl/getfacl.c
|
|||
#endif
|
||||
#define POSIXLY_CMD_LINE_OPTIONS "d"
|
||||
|
||||
@@ -540,18 +540,18 @@ void help(void)
|
||||
@@ -541,23 +541,23 @@ void help(void)
|
||||
#if !POSIXLY_CORRECT
|
||||
} else {
|
||||
printf(_(
|
||||
-" --access display the file access control list only\n"
|
||||
+" -a, --access display the file access control list only\n"
|
||||
+" -a, --access display the file access control list only\n"
|
||||
" -d, --default display the default access control list only\n"
|
||||
-" --omit-header do not display the comment header\n"
|
||||
-" --all-effective print all effective rights\n"
|
||||
|
@ -38,9 +37,15 @@ diff -urp acl-2.2.39/getfacl/getfacl.c acl-2.2.39mzk/getfacl/getfacl.c
|
|||
}
|
||||
#endif
|
||||
printf(_(
|
||||
diff -urp acl-2.2.39/man/man1/getfacl.1 acl-2.2.39mzk/man/man1/getfacl.1
|
||||
--- acl-2.2.39/man/man1/getfacl.1 2006-06-20 08:51:25.000000000 +0200
|
||||
+++ acl-2.2.39mzk/man/man1/getfacl.1 2007-07-25 13:17:17.000000000 +0200
|
||||
-" --version print version and exit\n"
|
||||
-" --help this help text\n"));
|
||||
+" -v, --version print version and exit\n"
|
||||
+" -h, --help this help text\n"));
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
--- acl-2.2.47_old/man/man1/getfacl.1 2008-02-07 04:39:57.000000000 +0100
|
||||
+++ acl-2.2.47/man/man1/getfacl.1 2008-07-31 11:23:45.000000000 +0200
|
||||
@@ -12,10 +12,10 @@ getfacl \- get file access control lists
|
||||
.SH SYNOPSIS
|
||||
|
||||
|
@ -82,9 +87,9 @@ diff -urp acl-2.2.39/man/man1/getfacl.1 acl-2.2.39mzk/man/man1/getfacl.1
|
|||
Skip files that only have the base ACL entries (owner, group, others).
|
||||
.TP
|
||||
.I \-R, \-\-recursive
|
||||
@@ -108,17 +108,17 @@ subdirectories.
|
||||
Physical walk, skip all symbolic links. This also skips symbolic link
|
||||
arguments.
|
||||
@@ -109,17 +109,20 @@ Physical walk, do not follow symbolic li
|
||||
link arguments.
|
||||
Only effective in combination with \-R.
|
||||
.TP
|
||||
-.I \-\-tabular
|
||||
+.I \-t, \-\-tabular
|
||||
|
@ -96,6 +101,9 @@ diff -urp acl-2.2.39/man/man1/getfacl.1 acl-2.2.39mzk/man/man1/getfacl.1
|
|||
strip leading slash characters.
|
||||
.TP
|
||||
-.I \-\-version
|
||||
+.I \-n, \-\-numeric
|
||||
+List numeric user and group IDs
|
||||
+.TP
|
||||
+.I \-v, \-\-version
|
||||
Print the version of getfacl and exit.
|
||||
.TP
|
||||
|
@ -104,3 +112,44 @@ diff -urp acl-2.2.39/man/man1/getfacl.1 acl-2.2.39mzk/man/man1/getfacl.1
|
|||
Print help explaining the command line options.
|
||||
.TP
|
||||
.I \-\-
|
||||
--- acl-2.2.47_old/man/man1/setfacl.1 2008-02-07 04:39:57.000000000 +0100
|
||||
+++ acl-2.2.47/man/man1/setfacl.1 2008-07-31 13:53:29.000000000 +0200
|
||||
@@ -115,10 +115,10 @@ This also skips symbolic link arguments.
|
||||
Only effective in combination with \-R.
|
||||
This option cannot be mixed with `\-\-restore'.
|
||||
.TP 4
|
||||
-.I \-\-version
|
||||
+.I \-v, \-\-version
|
||||
Print the version of setfacl and exit.
|
||||
.TP 4
|
||||
-.I \-\-help
|
||||
+.I \-h, \-\-help
|
||||
Print help explaining the command line options.
|
||||
.TP 4
|
||||
.I \-\-
|
||||
--- acl-2.2.47_old/setfacl/setfacl.c 2008-07-31 11:23:18.000000000 +0200
|
||||
+++ acl-2.2.47/setfacl/setfacl.c 2008-07-31 12:23:13.000000000 +0200
|
||||
@@ -42,10 +42,10 @@ extern int do_set(const char *path_p, co
|
||||
|
||||
/* '-' stands for `process non-option arguments in loop' */
|
||||
#if !POSIXLY_CORRECT
|
||||
-# define CMD_LINE_OPTIONS "-:bkndm:M:x:X:RLP"
|
||||
+# define CMD_LINE_OPTIONS "-:bkndvhm:M:x:X:RLP"
|
||||
# define CMD_LINE_SPEC "[-bkndRLP] { -m|-M|-x|-X ... } file ..."
|
||||
#endif
|
||||
-#define POSIXLY_CMD_LINE_OPTIONS "-:bkndm:M:x:X:"
|
||||
+#define POSIXLY_CMD_LINE_OPTIONS "-:bkndvhm:M:x:X:"
|
||||
#define POSIXLY_CMD_LINE_SPEC "[-bknd] {-m|-M|-x|-X ... } file ..."
|
||||
|
||||
struct option long_options[] = {
|
||||
@@ -265,8 +265,8 @@ void help(void)
|
||||
}
|
||||
#endif
|
||||
printf(_(
|
||||
-" --version print version and exit\n"
|
||||
-" --help this help text\n"));
|
||||
+" -v, --version print version and exit\n"
|
||||
+" -h, --help this help text\n"));
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
--- acl-2.2.45/setfacl/setfacl.c.segfault 2008-01-28 13:56:36.000000000 +0100
|
||||
+++ acl-2.2.45/setfacl/setfacl.c 2008-01-28 13:58:08.000000000 +0100
|
||||
@@ -679,6 +679,8 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
while (optind < argc) {
|
||||
+ if(!seq)
|
||||
+ goto synopsis;
|
||||
if (seq_empty(seq))
|
||||
goto synopsis;
|
||||
saw_files = 1;
|
|
@ -1,152 +1,13 @@
|
|||
--- acl-2.2.39/getfacl/getfacl.c.walk 2006-06-20 08:51:25.000000000 +0200
|
||||
+++ acl-2.2.39/getfacl/getfacl.c 2007-03-21 10:52:07.000000000 +0100
|
||||
@@ -34,7 +34,6 @@
|
||||
#include <dirent.h>
|
||||
#include <libgen.h>
|
||||
#include <getopt.h>
|
||||
-#include <ftw.h>
|
||||
#include <locale.h>
|
||||
#include "config.h"
|
||||
#include "user_group.h"
|
||||
@@ -70,9 +69,9 @@
|
||||
const char *progname;
|
||||
const char *cmd_line_options;
|
||||
|
||||
-int opt_recursive; /* recurse into sub-directories? */
|
||||
-int opt_walk_logical; /* always follow symbolic links */
|
||||
-int opt_walk_physical; /* never follow symbolic links */
|
||||
+int opt_recursive = 0; /* recurse into sub-directories? */
|
||||
+int opt_walk_logical = 0; /* always follow symbolic links */
|
||||
+int opt_walk_physical = 0; /* never follow symbolic links */
|
||||
int opt_print_acl = 0;
|
||||
int opt_print_default_acl = 0;
|
||||
int opt_strip_leading_slash = 1;
|
||||
@@ -562,71 +561,140 @@
|
||||
|
||||
|
||||
static int __errors;
|
||||
-int __do_print(const char *file, const struct stat *stat,
|
||||
- int flag, struct FTW *ftw)
|
||||
+
|
||||
+int walk_tree(const char *file)
|
||||
--- acl-2.2.39/getfacl/getfacl.c.old 2007-11-08 14:38:56.000000000 +0100
|
||||
+++ acl-2.2.39/getfacl/getfacl.c 2007-11-08 14:39:19.000000000 +0100
|
||||
@@ -598,17 +598,17 @@ int __do_print(const char *file, const s
|
||||
char *resolve_symlinks(const char *file)
|
||||
{
|
||||
- int saved_errno = errno;
|
||||
+ static int level = 0;
|
||||
+ static int link_count = 0;
|
||||
+ DIR *dir;
|
||||
+ struct dirent *entry;
|
||||
+ struct stat buf;
|
||||
+ char path[FILENAME_MAX];
|
||||
+ char path2[FILENAME_MAX];
|
||||
+ char path3[FILENAME_MAX];
|
||||
+ char *dir_name;
|
||||
+ size_t len;
|
||||
+ ssize_t slen;
|
||||
+ int res;
|
||||
|
||||
/* Process the target of a symbolic link, and traverse the link,
|
||||
only if doing a logical walk, or if the symbolic link was
|
||||
specified on the command line. Always skip symbolic links if
|
||||
doing a physical walk. */
|
||||
|
||||
- if (S_ISLNK(stat->st_mode) &&
|
||||
- (opt_walk_physical || (ftw->level > 0 && !opt_walk_logical)))
|
||||
+ len = strlen(file);
|
||||
+ /* check for FILENAME_MAX */
|
||||
+ if (len >= FILENAME_MAX) {
|
||||
+ fprintf(stderr, "%s: %s: %s\n", progname, xquote(file),
|
||||
+ strerror(ENAMETOOLONG));
|
||||
+ __errors++;
|
||||
return 0;
|
||||
+ }
|
||||
+ /* string ends with '/', remove it and restart */
|
||||
+ if (len > 1 && file[len-1] == '/') {
|
||||
+ strncpy(path, file, len);
|
||||
+ path[len-1] = '\0'; /* overwrite slash */
|
||||
+ return walk_tree(path);
|
||||
+ }
|
||||
|
||||
- if (do_print(file, stat))
|
||||
- __errors++;
|
||||
+ if (level > 0 && !opt_recursive)
|
||||
+ return 0;
|
||||
|
||||
- if (flag == FTW_DNR && opt_recursive) {
|
||||
- /* Item is a directory which can't be read. */
|
||||
- fprintf(stderr, "%s: %s: %s\n",
|
||||
- progname, file, strerror(saved_errno));
|
||||
+ if (lstat(file, &buf) != 0) {
|
||||
+ fprintf(stderr, "%s: %s: %s\n", progname, xquote(file),
|
||||
+ strerror(errno));
|
||||
+ __errors++;
|
||||
return 0;
|
||||
}
|
||||
|
||||
- /* We also get here in non-recursive mode. In that case,
|
||||
- return something != 0 to abort nftw. */
|
||||
+ if (S_ISLNK(buf.st_mode)) {
|
||||
+ /* physical means: no links at all */
|
||||
+ if (opt_walk_physical)
|
||||
+ return 1;
|
||||
+
|
||||
+ /* logical: show information or walk if points to directory
|
||||
+ * also for symbolic link arguments on level 0 */
|
||||
+ if (opt_walk_logical || level == 0) {
|
||||
+ /* copy and append terminating '\0' */
|
||||
+ strncpy(path2, file, len+1);
|
||||
+
|
||||
+ /* get directory name */
|
||||
+ dir_name = dirname(path2);
|
||||
+
|
||||
+ /* get link target */
|
||||
+ slen = readlink(file, path, FILENAME_MAX-1);
|
||||
+ if (slen < 0) {
|
||||
+ fprintf(stderr, "%s: %s: %s\n", progname,
|
||||
+ xquote(file), strerror(errno));
|
||||
+ __errors++;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ path[slen] = '\0';
|
||||
|
||||
- if (!opt_recursive)
|
||||
- return 1;
|
||||
+ if (slen == 0 || path[0] == '/') {
|
||||
+ /* absolute:
|
||||
+ * copy and append terminating '\0' */
|
||||
+ strncpy(path3, path, slen+1);
|
||||
+ } else
|
||||
+ /* relative */
|
||||
+ snprintf(path3, FILENAME_MAX, "%s/%s",
|
||||
+ dir_name, path);
|
||||
+
|
||||
+ if (lstat(path3, &buf) != 0) {
|
||||
+ fprintf(stderr, "%s: %s: %s\n", progname,
|
||||
+ xquote(path), strerror(errno));
|
||||
+ __errors++;
|
||||
+ return 0;
|
||||
+ }
|
||||
|
||||
- return 0;
|
||||
-}
|
||||
+ if ((S_ISDIR(buf.st_mode) && opt_recursive &&
|
||||
+ link_count < 1) || S_ISLNK(buf.st_mode)) {
|
||||
+ /* walk directory or follow symlink on level
|
||||
+ * 0 */
|
||||
+ link_count++;
|
||||
+ res = walk_tree(path3);
|
||||
+ link_count--;
|
||||
+ if (res != 1)
|
||||
+ return 0;
|
||||
+ } else
|
||||
+ if (do_print(path3, &buf))
|
||||
+ __errors++;
|
||||
|
||||
-char *resolve_symlinks(const char *file)
|
||||
-{
|
||||
- static char buffer[4096];
|
||||
- char *path = NULL;
|
||||
static char buffer[4096];
|
||||
+ struct stat stat;
|
||||
char *path = NULL;
|
||||
- ssize_t len;
|
||||
-
|
||||
|
||||
- len = readlink(file, buffer, sizeof(buffer)-1);
|
||||
- if (len < 0) {
|
||||
- if (errno == EINVAL) /* not a symlink, use given path */
|
||||
|
@ -154,82 +15,44 @@
|
|||
- } else {
|
||||
- buffer[len+1] = '\0';
|
||||
- path = buffer;
|
||||
+ return 1;
|
||||
+ }
|
||||
}
|
||||
- return path;
|
||||
-}
|
||||
-
|
||||
-int walk_tree(const char *file)
|
||||
-{
|
||||
- const char *p;
|
||||
|
||||
- __errors = 0;
|
||||
- if ((p = resolve_symlinks(file)) == NULL) {
|
||||
- fprintf(stderr, "%s: %s: %s\n", progname,
|
||||
- xquote(file), strerror(errno));
|
||||
- __errors++;
|
||||
- } else if (nftw(p, __do_print, 0, opt_walk_logical? 0 : FTW_PHYS) < 0) {
|
||||
- fprintf(stderr, "%s: %s: %s\n", progname, xquote(file),
|
||||
- strerror(errno));
|
||||
+ if (do_print(file, &buf))
|
||||
__errors++;
|
||||
- }
|
||||
+ if (lstat(file, &stat) == -1)
|
||||
+ return path;
|
||||
+
|
||||
+ /* it is a directory, walk */
|
||||
+ if (S_ISDIR(buf.st_mode)) {
|
||||
+ dir = opendir(file);
|
||||
+ if (!dir) {
|
||||
+ fprintf(stderr, "%s: %s: %s\n", progname,
|
||||
+ xquote(file), strerror(errno));
|
||||
+ __errors++;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (S_ISLNK(stat.st_mode) && !opt_walk_physical)
|
||||
+ path = realpath(file, buffer);
|
||||
+ else
|
||||
+ path = (char *)file; /* not a symlink, use given path */
|
||||
+
|
||||
+ level++;
|
||||
+ while ((entry = readdir(dir)) != NULL) {
|
||||
+ if (! strcmp(entry->d_name, ".") ||
|
||||
+ ! strcmp(entry->d_name, ".."))
|
||||
+ continue;
|
||||
+
|
||||
+ snprintf(path, FILENAME_MAX, "%s/%s", file,
|
||||
+ entry->d_name);
|
||||
+
|
||||
+ /* ignore result, walk every entry */
|
||||
+ res = walk_tree(path);
|
||||
+ }
|
||||
+ level--;
|
||||
+
|
||||
+ closedir(dir);
|
||||
}
|
||||
- return __errors;
|
||||
+
|
||||
+ return 1;
|
||||
return path;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
@@ -762,15 +830,22 @@
|
||||
if (*line == '\0')
|
||||
continue;
|
||||
--- acl-2.2.39/setfacl/setfacl.c.old 2006-06-20 08:51:25.000000000 +0200
|
||||
+++ acl-2.2.39/setfacl/setfacl.c 2007-11-08 14:39:19.000000000 +0100
|
||||
@@ -314,17 +316,17 @@ int __do_set(const char *file, const str
|
||||
char *resolve_symlinks(const char *file)
|
||||
{
|
||||
static char buffer[4096];
|
||||
+ struct stat stat;
|
||||
char *path = NULL;
|
||||
- ssize_t len;
|
||||
|
||||
- had_errors += walk_tree(line);
|
||||
+ /* ignore result of walk_tree, use __errors */
|
||||
+ __errors = 0;
|
||||
+ walk_tree(line);
|
||||
+ had_errors += __errors;
|
||||
}
|
||||
if (!feof(stdin)) {
|
||||
fprintf(stderr, _("%s: Standard input: %s\n"),
|
||||
progname, strerror(errno));
|
||||
had_errors++;
|
||||
}
|
||||
- } else
|
||||
- had_errors += walk_tree(argv[optind]);
|
||||
+ } else {
|
||||
+ /* ignore result of walk_tree, use __errors */
|
||||
+ __errors = 0;
|
||||
+ walk_tree(argv[optind]);
|
||||
+ had_errors += __errors;
|
||||
+ }
|
||||
optind++;
|
||||
} while (optind < argc);
|
||||
- len = readlink(file, buffer, sizeof(buffer)-1);
|
||||
- if (len < 0) {
|
||||
- if (errno == EINVAL) /* not a symlink, use given path */
|
||||
- path = (char *)file;
|
||||
- } else {
|
||||
- buffer[len+1] = '\0';
|
||||
- path = buffer;
|
||||
- }
|
||||
+ if (lstat(file, &stat) == -1)
|
||||
+ return path;
|
||||
+
|
||||
+ if (S_ISLNK(stat.st_mode) && !opt_walk_physical)
|
||||
+ path = realpath(file, buffer);
|
||||
+ else
|
||||
+ path = (char *)file; /* not a symlink, use given path */
|
||||
+
|
||||
return path;
|
||||
}
|
||||
|
||||
|
|
25
acl.spec
25
acl.spec
|
@ -1,7 +1,7 @@
|
|||
Summary: Access control list utilities
|
||||
Name: acl
|
||||
Version: 2.2.39
|
||||
Release: 10%{?dist}
|
||||
Release: 14%{?dist}
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
BuildRequires: libattr-devel >= 2.4.1
|
||||
BuildRequires: autoconf, libtool >= 1.5, gettext, gawk
|
||||
|
@ -11,7 +11,8 @@ Patch1: acl-2.2.39-build.patch
|
|||
Patch2: acl-2.2.39-path_max.patch
|
||||
Patch3: acl-2.2.39-walk.patch
|
||||
Patch4: acl-2.2.39-params.patch
|
||||
Patch5: acl-2.2.39-man.patch
|
||||
Patch5: acl-2.2.39-exitcode.patch
|
||||
Patch6: acl-2.2.39-segfault.patch
|
||||
License: GPL
|
||||
Group: System Environment/Base
|
||||
URL: http://oss.sgi.com/projects/xfs/
|
||||
|
@ -51,7 +52,8 @@ defined in POSIX 1003.1e draft standard 17.
|
|||
%patch2 -p1 -b .path_max
|
||||
%patch3 -p1 -b .walk
|
||||
%patch4 -p1 -b .params
|
||||
%patch5 -p1 -b .man
|
||||
%patch5 -p1 -b .exitcode
|
||||
%patch6 -p1 -b .segfault
|
||||
autoconf
|
||||
|
||||
%build
|
||||
|
@ -107,6 +109,23 @@ rm -rf $RPM_BUILD_ROOT
|
|||
/%{_lib}/libacl.so.*
|
||||
|
||||
%changelog
|
||||
* Fri Aug 1 2008 Jiri Moskovcak <jmoskovc@redhat.com> 2.2.39-14
|
||||
- improved params patch to make get/setfacl honor the same cmdline
|
||||
options
|
||||
- rework params patch to apply with fuzz=0 (tcallawa@redhat.com)
|
||||
- fix license tag (tcallawa@redhat.com)
|
||||
- Resolves: #457244
|
||||
|
||||
* Mon Jan 28 2008 Jiri Moskovcak <jmoskovc@redhat.com> 2.2.39-13
|
||||
- Fixed segfault when using only "--" as parameter
|
||||
- Resolves: #430458
|
||||
|
||||
* Thu Nov 8 2007 Jiri Moskovcak <jmoskovc@redhat.com> 2.2.39-12
|
||||
- Fixed setfacl exitcodes
|
||||
|
||||
* Wed Nov 7 2007 Jiri Moskovcak <jmoskovc@redhat.com> 2.2.39-11
|
||||
- New walk patch backported from upstream
|
||||
|
||||
* Thu Sep 20 2007 Jiri Moskovcak <jmoskovc@redhat.com> 2.2.39-10
|
||||
- Rewriten path_max patch to support long UTF8 names
|
||||
- Resolves #287701, #183181
|
||||
|
|
Loading…
Reference in New Issue