1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-03-06 21:12:38 +02:00
Commit Graph

23414 Commits

Author SHA1 Message Date
Paul Eggert
d847e28b37 Add a test for the X bug. 2006-07-17 03:12:44 +00:00
Paul Eggert
01014bb951 Remove re_protect case that no longer applies.
GNU chmod now behaves like other versions of chmod.
2006-07-17 03:12:22 +00:00
Paul Eggert
4d9d2da4a8 Do the setgid test instead of bailing. 2006-07-17 03:11:51 +00:00
Paul Eggert
577faf65e3 (main): Adjust to new mode_adjust API. 2006-07-17 03:11:01 +00:00
Paul Eggert
1d396d7008 (main): Adjust to new mode_adjust API. 2006-07-17 03:10:29 +00:00
Paul Eggert
76b12f0005 (struct mkdir_options): New struct.
(announce_mkdir, make_ancestor): New functions.
(main): Use them.  Adjust to mode_adjust API change.  Stick with
umask 0.  Use make_dir_parents for all the work.
2006-07-17 03:10:10 +00:00
Paul Eggert
83978a5654 Include mkancesdirs.h.
(announce_mkdir, make_ancestor): New functions.
(DEFAULT_MODE): New macro, specifying initial value of 'mode'.
(mode): Use it.
(dir_mode, dir_mode_bits): New vars.
(main): Set dir modes separately from nondir, so that the X
op of -m works correctly.
(main): Remove cwd_errno cruft, since make_dir_parents no longer
affects cwd.  Adjust to new make_dir_parents API.
(install_file_in_file_parents): 2nd arg is now char *, not char
const *.  Use mkancesdirs instead of rolling our own code.
(change_attributes): Don't worry about AFS, since that kludge
should not be needed any more.
2006-07-17 03:09:49 +00:00
Paul Eggert
8401b6ae54 (process_file): Adjust to mode_adjust API change. 2006-07-17 03:09:26 +00:00
Paul Eggert
c09c4070ff (gl_PREREQ): Require gl_MKANCESDIRS. 2006-07-17 03:09:09 +00:00
Paul Eggert
6060142d89 (gl_MKDIR_PARENTS): Mention dirchownmod.c, dirchownmod.h.
Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER; no longer needed.
Require gl_FUNC_LCHOWN, since dirchownmod.c needs it.
2006-07-17 03:08:42 +00:00
Paul Eggert
1d5f7fa081 Remove; no longer needed. 2006-07-17 03:08:18 +00:00
Paul Eggert
b2bc8fd0fd (gl_MACROS): Remove gl_AFS. 2006-07-17 03:08:04 +00:00
Paul Eggert
86e8a6b15e (mode_adjust): New API. 2006-07-17 03:07:41 +00:00
Paul Eggert
44ba013923 (octal_to_mode): New function.
(struct mode_change): New member mentioned.
(make_node_op_equals): New arg mentioned.  All callers changed.
(mode_compile): Keep track of which mode bits the user has explicitly
mentioned.
(mode_adjust): New arg DIR, so that we implement the X op correctly.
New arg PMODE_BITS, to keep track of which mode bits the user
mentioned; it treats S_ISUID and S_ISGID speciall.
All callers changed.
2006-07-17 03:07:23 +00:00
Paul Eggert
9a1ed6fbf9 Adjust to new make_dir_parents API. 2006-07-17 03:07:04 +00:00
Paul Eggert
a60cc14aed Don't include alloca.h, stdio.h, sys/types.h,
unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
(make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
callers changed.  Revamp internals significantly, by not
attempting to create directories that are temporarily more
permissive than the final results.  Do not attempt to use
save_cwd/restore_cwd; it isn't worth it for mkdir and install.
This removes some race conditions, fixes some bugs, and simplifies
things.  Use new dirchownmod function to do owner and mode changes.
2006-07-17 03:06:48 +00:00
Paul Eggert
e9b48653e2 (Mode Structure): Modernize the explanation of the
setuid and setgid bits on directories.
(Changing Special Mode Bits): Mention that a implies both u and g
for s.  Cross reference to new node.
(Numeric Modes): Don't claim that 0055 is the same as 55; this isn't
true any more.  Mention new node.
4755 is now like u=rwxs,go=rx,g-s, not like u=rwxs,go=rx.
(Directory Setuid and Setgid): New node.
2006-07-17 03:06:25 +00:00
Paul Eggert
3a10b32994 Change GNU to @acronym{GNU} in a few places.
Use "set-user-ID" and "set-group-ID" a bit more consistently.
Use "appropriate privileges" rather than "super-user" a bit
more consistently.
(install invocation): Parent directories are now 755 without uid
or gid changing.  The default mode is now 0755, not 755.
(mkdir invocation): Rewrite the top-level usage description, since
I couldn't easily follow the old one.  It's now 3 lines not 8.
For -m, describe file permission bits versus other bits, and note
that mkdir is atomic if you don't mention special bits.
(chmod invocation): Mention what chmod does to setgid and setuid bits.
2006-07-17 03:06:03 +00:00
Paul Eggert
f25ddb12c6 Initial version. 2006-07-17 03:05:23 +00:00
Paul Eggert
999eeed90f chmod, install, and mkdir now leave setgid and setuid bits
of directories alone unless you specify them explicitly.
install and mkdir now implement X correctly.
install now creates parent directories with mode 755, without
changing their owner or group.
2006-07-17 03:02:45 +00:00
Jim Meyering
c5b6394401 * userspec.c (parse_with_separator): Say "invalid spec" rather than
the sometimes erroneous "cannot get the login group of a numeric UID"
for a spec like "not-a-username:" or "1:".  Reported by
suckfish@ihug.co.nz in https://bugzilla.redhat.com/bugzilla/199027.
2006-07-16 07:13:07 +00:00
Paul Eggert
77c9d9a009 (do_decode): Output to parameter OUT, not to stdout. 2006-07-14 17:54:54 +00:00
Jim Meyering
a283f2df1a * Makefile.maint (CVS_LIST): Use new file, build-aux/vc-list-files,
rather than open-coding it.  Now supports mercurial, too.
* .hgignore: New file.
* Makefile.am (EXTRA_DIST): Add .hgignore, which ignores nearly
all generated files, including ones like configure and po/*.po
that are currently version-controlled in cvs.
* build-aux/vc-list-files: New file.
2006-07-14 14:42:27 +00:00
Jim Meyering
01e7d49a3b * Makefile.am (EXTRA_DIST): Add a few more .??* files.
They've been in CVS, just haven't been distributed before this.
Distribute ChangeLog-2005, too.
(MAINTAINERCLEANFILES): Add THANKS-to-translators.
2006-07-14 14:27:38 +00:00
Paul Eggert
d6697c60c3 Assume <dirent.h> exists, since gnulib assumes this now as well. 2006-07-11 17:22:15 +00:00
Paul Eggert
2b6236d156 Sync from gnulib. 2006-07-11 17:19:48 +00:00
Paul Eggert
888ee9b8d9 (gl_STDINT_H): Like yesterday's change to
absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
"no/such/file/stdint.h" when there is no such file, so that
the resulting C code can be parsed by dodgy compilers.
Problems reported by Bob Proulx.
2006-07-11 03:29:56 +00:00
Paul Eggert
6e1e9cd9b4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
around the absolute name, to work around a problem with the HP-UX
11.23 native C compiler, reported by Bob Proulx.
2006-07-10 04:37:33 +00:00
Jim Meyering
86f86c121b *** empty log message *** 2006-07-09 17:49:28 +00:00
Jim Meyering
6eb562ad35 (TESTS): Add dir2dir. 2006-07-09 17:49:24 +00:00
Jim Meyering
04463c3a6f *** empty log message *** 2006-07-09 17:48:13 +00:00
Jim Meyering
159f930158 Adjust so failing with ENOTEMPTY is ok, too.
That happens with Linux/tmpfs.
2006-07-09 17:48:08 +00:00
Paul Eggert
914c8674a5 Regenerate. 2006-07-09 17:20:26 +00:00
Paul Eggert
f354f3be02 Adjust to recent updates from gnulib. 2006-07-09 17:09:48 +00:00
Paul Eggert
197b96d069 Adjust to today's renaming changes in system.h. 2006-07-09 17:08:55 +00:00
Paul Eggert
b3e1ad7a5d (print_it): Don't assume char is unsigned. 2006-07-09 17:07:12 +00:00
Paul Eggert
b35b31b0f8 (print_esc): Don't assume char is unsigned. 2006-07-09 17:06:35 +00:00
Paul Eggert
20c336e6d2 (create_fullname): Don't assume char is unsigned. 2006-07-09 17:06:06 +00:00
Paul Eggert
2b001e3490 (is_blank): Remove; no longer needed. All uses
replaced by isblank (to_uchar (...)).
2006-07-09 17:05:33 +00:00
Paul Eggert
c7a6c4014f (unexpand): Don't assume that isprint etc. return
booleans (needed for pre-C99 hosts).
2006-07-09 17:05:13 +00:00
Paul Eggert
8c572b86f6 (is_char_class_member): Don't assume that isprint etc. return
booleans (needed for pre-C99 hosts).
2006-07-09 17:04:48 +00:00
Paul Eggert
613b3f819c (initialize_regex, fix_output_parameters): Don't assume that isprint
etc. return booleans (needed for pre-C99 hosts).
(SKIP_NON_WHITE, SKIP_WHITE, SKIP_WHITE_BACKWARDS):
(copy_unescaped_string): Don't assume char is unsigned.
2006-07-09 17:04:06 +00:00
Paul Eggert
925076c5d6 (check_punctuation): Don't assume that isprint etc. return
booleans (needed for pre-C99 hosts).
2006-07-09 17:03:20 +00:00
Paul Eggert
55755b03cd (expand): Don't assume that isprint etc. return
booleans (needed for pre-C99 hosts).
2006-07-09 17:02:53 +00:00
Paul Eggert
1ee1c4d4a3 (inittables): Use toupper rather than
islower followed by toupper; it's simpler and typically
faster now that we assume at least C89 semantics.  Similarly
for tolower.
2006-07-09 17:02:17 +00:00
Paul Eggert
7c3fd7cbec (apply_translations): Use toupper rather than
islower followed by toupper; it's simpler and typically
faster now that we assume at least C89 semantics.  Similarly
for tolower.
2006-07-09 17:01:38 +00:00
Paul Eggert
d740f05066 (_D_EXACT_NAMELEN): Renamed from NLENGTH, for
convenience on GNU systems.  All uses changed.  Don't bother
looking for any dirent.h substitute other than ndir.h.
(D_INO): Remove unnecessary parentheses.
(IN_CTYPE_DOMAIN, ISGRAPH, ISPRINT, ISALNUM, ISALPHA):
(ISCNTRL, ISLOWER, ISPUNCT, ISSPACE, ISUPPER, ISXDIGIT):
(ISDIGIT_LOCALE, TOLOWER, TOUPPER): Remove.  All uses changed
to ctype.h equivalents.
(isblank): Renamed from ISBLANK.  Check for HAVE_DECL_ISBLANK too.
All uses changed.
2006-07-09 17:01:13 +00:00
Paul Eggert
fbb436b3f8 Update from gnulib. 2006-07-09 16:59:35 +00:00
Paul Eggert
cb052e4f6c Update from gnulib. 2006-07-09 16:59:05 +00:00
Paul Eggert
28edf6a75e (stdint.h): FULL_PATH_STDINT_H -> ABSOLUTE_STDINT_H,
to accommodate update from gnulib.
2006-07-09 16:57:35 +00:00