Commit Graph

97 Commits

Author SHA1 Message Date
Christopher Faylor
2cf9359a8a * dcrt0.cc (insert_file): Avoid freeing previously allocated argument list.
* path.cc (symlink_info::check): Rename from symlink_check_one.  Use new
symlink_info struct for communication.
(path_conv::path_conv): Use symlink_info structure for communication with
symlink_info::check.  Fix typo which resulted in symbolic links always being
resolved.
(readlink): Use stat_suffixes array when resolving a link.
* syscalls.cc (stat_suffixes): Make global.
2000-04-13 22:43:48 +00:00
Corinna Vinschen
8a06963c1c * include/cygwin/version.h: Bump minor api to reflect export change. 2000-04-13 18:52:12 +00:00
Corinna Vinschen
b53881fd27 * cygwin.din: Add symbol for `lacl'.
* security.cc (ReadSD): Add debug output.
	(acl_worker):  New static function.
	(acl): Call acl_worker now.
	(lacl): New function.
	(facl): Call acl_worker now.
	* include/cygwin/acl.h: Add prototype for `lacl'.
2000-04-13 06:53:24 +00:00
Corinna Vinschen
a4bf66dd75 * path.cc (conv_to_win32_path): Detect a win32 path
if path contains backslashes.
2000-04-13 06:48:14 +00:00
Christopher Faylor
418068d4b0 * cygpath.cc (main): Add -a -o and -c options.
(doit): Ditto.
2000-04-13 05:23:30 +00:00
Christopher Faylor
7ef25eb606 Fix typo. 2000-04-13 01:00:59 +00:00
Christopher Faylor
0d60da2632 * path.cc (path_conv::path_conv): Ensure that suffix is correctly copied to
path when we've found a symlink but aren't following symlinks.
2000-04-12 22:50:08 +00:00
Christopher Faylor
d13dac7f30 Add a debugging line. 2000-04-11 21:22:53 +00:00
Christopher Faylor
caa8b1ca9b * include/winbase.h: Change first argument of ENUMRES* types to coincide with
Microsoft usage.
2000-04-11 12:51:58 +00:00
Christopher Faylor
138d4f510e * cygpath.cc (main): Add -f option for processing a group of paths from a file.
(doit): New function.
2000-04-11 02:57:25 +00:00
Christopher Faylor
23ee7c4463 * include/string.h: Use proper prototype for _strerror. 2000-04-10 23:00:27 +00:00
Christopher Faylor
ba87a619ef * Makefile.common: Resolve srcdir to absolute path or it will confuse usages
when passed to submakes.  Eliminate vestigal use of MAKEOVERRIDES.
2000-04-10 03:51:39 +00:00
Christopher Faylor
7f363152c5 * Makefile.in: Work around MAKEOVERRIDES problem with older versions of make.
* Makefile.common: Ditto.
2000-04-09 06:15:43 +00:00
Christopher Faylor
0ccdde4c26 Remove erroneous entry. 2000-04-08 05:03:01 +00:00
Christopher Faylor
af3e5ed279 * fhandler.cc (fhandler_disk_file::fstat): Allocate enough space for root dir
determination or overflow an array.
2000-04-08 04:47:15 +00:00
Christopher Faylor
0cda2f4609 * exceptions.cc (sigsave): Copy on fork so that we can restore correct behavior
in forked process.
(interruptible): Flag as interruptible when running in main process module.
(interrupt_setup): Save return address and address of return address.
(signal_fixup_after_fork): New function.  Uses above two values to restore
proper behavior to forked process.
(interrupt_on_return): Pass return address address to interupt_setup.
(interrupt_now): Pass NULL for return address address to interrupt_setup.
* fork.cc (fork): Call signal_fixup_after_fork.
* shared.h: Lint cleanups.
* winsup.h: Ditto.
2000-04-08 04:13:12 +00:00
Ron Parker
61e196e361 Updated to build cinstall with mingw. See Changelog for numerous setup.c changes. 2000-04-07 22:12:41 +00:00
Christopher Faylor
25a99cabd3 Bump minor version. 2000-04-07 00:09:27 +00:00
Christopher Faylor
aefbf3885d * fhandler.h (select_stuff): Eliminate use of 'total'.
* select.cc (cygwin_select): Ditto.
(select_stuff::wait): Use maximum size for w4 rather than calculating what will
fit.
2000-04-03 18:15:01 +00:00
Corinna Vinschen
476839eb03 * grp.cc (parse_grp): Save empty array instead of
NULL in gr_mem if no supplementary group is given.
2000-04-03 18:08:13 +00:00
Christopher Faylor
6c8ef0489b update copyright. 2000-04-03 01:29:06 +00:00
Corinna Vinschen
796e3b20bc * newlib/libc/include/sys/unistd.h: Add prototypes for
fchmod, fchown, lchown.
        * winsup/cygwin/syscalls.cc (chown_worker): Use previous
        uid/gid if new uid/gid is -1.
        New static function with chown functionality.
        (chown): Call chown_worker with SYMLINK_FOLLOW.
        (fchown): New function. Call chown_worker with SYMLINK_FOLLOW.
        (lchown): New function. Call chown_worker with SYMLINK_IGNORE.
        * cygwin.din: Add symbols for fchown, lchown.
        * path.cc (symlink): Call `set_file_attribute()' and
        `SetFileAttributeA()' instead of `chmod()' to set
        uid/gid correct.
2000-04-02 20:42:42 +00:00
Christopher Faylor
c90d7012d3 * include/wininet.h: Add three more "INTERNET_OPTIONS". 2000-04-02 01:52:38 +00:00
Christopher Faylor
fd5afe2066 * MAINTAINERS: Add Ron Parker as maintainer of cinstall stuff.
Add ChangeLog to doc directory.
2000-03-31 04:46:47 +00:00
Mumit Khan
ab81a36772 2000-03-30 Mumit Khan <khan@xraylith.wisc.edu>
* Makefile.in (subdirs): Workaround for broken shells.
2000-03-31 04:43:46 +00:00
Mumit Khan
152e16e798 2000-03-30 Mumit Khan <khan@xraylith.wisc.edu>
* include/winbase.h (CreateHardLink{A,W}): Add prototypes.
	* include/winerror.h (ERROR_TOO_MANY_LINKS): Add macro.
	* include/winnt.h (SEC_*): Add macros.
	* lib/th32.def: Use Kernel32.dll instead of TH32.DLL.
2000-03-30 06:10:11 +00:00
Mumit Khan
f36f4868d1 2000-03-30 Mumit Khan <khan@xraylith.wisc.edu>
* include/ole.h: Workaround for C++ parser bug.
	* include/rpcdcep.h: Likewise.
	* include/winsock.h: Likewise.
2000-03-30 06:08:58 +00:00
Christopher Faylor
b0ddfa70a5 Simplify constructors and initializers for select_record. 2000-03-30 04:23:11 +00:00
Christopher Faylor
e3be633dd8 * fhandler.h (select_record): Explicitly zero elements of this class.
(select_stuff): Ditto.
* select.cc (cygwin_select): Eliminate memset zero of sel.
2000-03-30 03:51:30 +00:00
Christopher Faylor
d29b6111a5 * Makefile.in: Use default rules when compiling cygrun.o.
* dcrt0.cc (host_dependent_constants::init): Limit non-NT platforms to 32K
chunks when copying regions during a fork.
* path.cc (symlink_check_one): Add temporary debugging output.  Simplify
PATH_EXEC test.
* syscalls.cc (stat_suffixes): Null terminate this list.
2000-03-28 21:49:16 +00:00
Christopher Faylor
1bee0008e6 * include/winnt.h: Eliminate duplicate PCONTEXT and LPCONTEXT typedefs. 2000-03-26 19:24:12 +00:00
Christopher Faylor
c114dfb0c0 * path.cc (symlink_check_one): Recognize symlink settings from the mount table.
* path.h: Make PATH_SYMLINK an alias for MOUNT_SYMLINK.
* syscalls.cc (stat_worker): Use extension search mechanism in path_conv to
look for .exe rather than trying to special case it here.
* mount.h: Make MOUNT_SYMLINK a real option.
2000-03-26 01:54:22 +00:00
Christopher Faylor
4f7831c1f5 * environ.cc: Add TMPDIR to the list of environment variables which are
converted to POSIX format.
* sigproc.cc (proc_terminate): Don't attempt to delete when a muto pointer is
NULL.
2000-03-25 05:25:27 +00:00
Corinna Vinschen
1b16b354fa * syscalls.cc (stat_worker): Set st_nlink to 1 on remote drives. 2000-03-19 11:05:14 +00:00
Christopher Faylor
5bc5ee4457 * times.cc: Fix extern declarations for variables that are exported but used by
this modules.
2000-03-19 04:14:07 +00:00
Christopher Faylor
731d9d5b3c * times.cc: Remove unneeded (and incorrect) externs. 2000-03-19 04:05:14 +00:00
Christopher Faylor
c6c9f06b7c Patch suggested by Mumit Khan <khan@xraylith.wisc.edu>:
* strace.cc (_impure_ptr): New global variable to make strace build under
Cygwin gcc.
2000-03-19 03:53:18 +00:00
Christopher Faylor
72ac8b4f0f * Makefile.in: Make CXXFLAGS consistent with cygwin. 2000-03-18 17:45:35 +00:00
Christopher Faylor
073519645b * dcrt0.cc (host_dependent_constants::init): Eliminate DELETE flag from shared
constant.
2000-03-18 06:33:33 +00:00
Christopher Faylor
87b82db4e7 * delqueue.cc (delqueue_list::queue_file): Add some debugging.
* path.h (class path_conv): Add a char * operator for the most common case.
* syscalls.cc (_unlink): Rewrite to use FILE_FLAG_DELETE_ON_CLOSE when possible
(i.e., on NT).
2000-03-18 06:26:14 +00:00
Corinna Vinschen
2be36bd9c4 * fhandler.cc (fhandler_base::open): Call set_file_attribute() only if a file is really created. 2000-03-17 17:22:53 +00:00
Corinna Vinschen
af792540a6 Change ChangeLog entry to more common format. 2000-03-16 20:46:50 +00:00
Corinna Vinschen
5d4af61e5d * security.cc (set_process_privileges): Removed `static'.
(get_nt_attribute): Returns uid and gid additionally. Removed call
        to set_process_privileges().
        (get_file_attribute): Returns uid and gid additionally. Don't
        call ntea if ntsec is ON.
        (set_nt_attribute): Removed call to set_process_privileges().
        Don't call ntea if ntsec is ON.
        (acl): Removed call to set_process_privileges().
        * dcrt0.cc (dll_crt0_1): Calls set_process_privileges() now.
        * winsup.h: New prototype for set_process_privileges(),
        changed prototype for get_file_attribute().
        * fhandler.cc (get_file_owner): Discarded.
        (get_file_group): Ditto.
        (fhandler_disk_file::fstat): Discard calls to get_file_owner() and
        get_file_group().
        * path.cc (path_conv::path_conv): Added debugging output for result
        of GetVolumeInformation().
        (mount_info::conv_to_win32_path): Call backslashify() with pathbuf
        instead of src_path.
        * syscalls.cc (chown): Reformatted.
        (chmod): Replace get_file_owner() and get_file_group() calls
        by a call to get_file_attribute(). Discard local variable has_acls.
        Slightly reformatted.
        (stat_worker): Replaced idiot's (it's me) root dir check by call
        to rootdir(). Don't call num_entries() on remote drives.
        Discard local variable has_acls.
2000-03-16 19:35:18 +00:00
Corinna Vinschen
427cf50a1a * errno.cc: Map ERROR_NOACCESS to EFAULT. 2000-03-15 20:40:07 +00:00
Christopher Faylor
181438ea70 * spawn.cc (spawn_guts): Restore dependency on signal_arrived. It's needed to
wake up the WaitForSingleObject.
2000-03-15 19:29:15 +00:00
Christopher Faylor
1b534ee1be * Makefile.in: Use MINGW_CXXFLAGS when compiling strace. 2000-03-15 14:38:09 +00:00
Christopher Faylor
332600d80c Pipe changes throughout suggested by Eric Fifer <EFifer@sanwaint.com>
* debug.cc (threadname_init): Pass name of lock as arg 2 of new_muto.
* malloc.cc (malloc_init): Ditto.
* sigproc.cc (sigproc_init): Ditto.
* exceptions.cc (events_init): Ditto.
(call_handler): Eliminate special case for hExeced.  Report locked thread in
debugging output.
* fhandler.cc (fhandker_pipe::fhandler_pipe): Propagate device type to base
class.
* fhandler.h (fhandler_pipe): Ditto.
* hinfo.cc (hinfo::build_fhandler): Pass specific type of pipe to constructor.
* spawn.cc (spawn_guts): Eliminate dependency on signal when waiting for
subprocess.
* strace.cc: Remove obsolete #ifdef.
* sync.cc (muto::muto): Save the name of the muto.
(muto:~muto): Also release the muto.
* sync.h: Add a muto name field.
* select.cc (peek_pipe): Avoid doing a PeekNamedPipe on the write end of a
pipe.
2000-03-15 04:49:36 +00:00
DJ Delorie
31b3dbe174 settimeofday was listed twice 2000-03-13 22:57:59 +00:00
Christopher Faylor
22fe0c41ec * strace.cc: Throughout, track information like start_time, etc. on a
per-process basis.
2000-03-13 02:23:47 +00:00
Christopher Faylor
3f0b493540 * fhandler.cc (fhandler_base::get_readahead_into_buffer): New function.
* fhandler.h: Declare new function.  Add extra argument to
process_slave_output.
* fhandler_console.cc (fhandler_console::read): Move read ahead code to new
function.
* fhandler_tty.cc (fhandler_pty_master::process_slave_output): Move common code
here.
(fhandler_tty_slave::read): Understand readahead.
(fhandler_pty_master::read): Move code to process_slave_output.
* select.cc (peek_pipe): Avoid performing certain checks when non-read and on
inappropriate fh types.
2000-03-12 06:29:54 +00:00