OSDN Git Service

* Makefile.in: Don't touch winver_stamp if mkvers.sh was unsuccessful.
[pf3gnuchains/pf3gnuchains4x.git] / winsup / cygwin / ChangeLog
1 Tue Jun 20 20:46:28 2000  Christopher Faylor <cgf@cygnus.com>
2
3         * Makefile.in: Don't touch winver_stamp if mkvers.sh was unsuccessful.
4
5 Tue Jun 20 17:41:30 2000  Christopher Faylor <cgf@cygnus.com>
6
7         * mkvers.sh: Fix problem with handling of CVS tags causing .rc syntax
8         errors.
9
10 Tue Jun 20 13:38:12 2000  Christopher Faylor <cgf@cygnus.com>
11
12         * Makefile.in: Change to build the DLL during a cross-compiler build.
13
14 Mon Jun 19 20:46:33 2000  Christopher Faylor <cgf@cygnus.com>
15
16         * select.cc (socket_cleanup): Shutdown I/O on dummy sockets prior to
17         closing them.
18
19 Mon Jun 19 19:35:00 2000  Corinna Vinschen <corinna@vinschen.de>
20
21         * dcrt0.cc: Add load statements for `GetSidIdentifierAuthority'
22         and `RegLoadKeyA'.
23         * registry.cc (get_registry_hive_path): New function.
24         (load_registry_hive): Ditto.
25         * security.cc (convert_sid_to_string_sid): New function.
26         (get_ssid): Renamed to `convert_string_sid_to_sid'.
27         (get_pw_sid): Call `convert_string_sid_to_sid' instead of `get_ssid'.
28         (get_gr_sid): Ditto.
29         (get_admin_sid): Ditto.
30         (get_system_sid): Ditto.
31         (get_creator_owner_sid): Ditto.
32         (get_world_sid): Ditto.
33         * shared.h: New prototypes for `get_registry_hive_path' and
34         `load_registry_hive'.
35         * spawn.cc (spawn_guts): Set child->psid to NULL to force calling
36         `internal_getlogin' from child process in case of changing user context.
37         Call `load_registry_hive' in case of changing user context.
38         (_spawnve): Copy user infos only if user context remains the same.
39         * uinfo.cc: Add load statement for `NetUserGetInfo'.
40         Remove load statement for `NetGetDCName'.
41         (internal_getlogin): Rewrite to speed up process startup
42         and to correct user environment in case user context changes.
43         (uinfo_init): Call internal_getlogin only if myself->psid is NULL,
44         that is user context changes.
45         * winsup.h: Add prototypes for `convert_sid_to_string_sid',
46         `convert_string_sid_to_sid' and `get_pw_sid'.
47
48 Sun Jun 18 13:42:50 2000  Christopher Faylor <cgf@cygnus.com>
49
50         * fhandler.h (set_name): Don't use 'unix' as name since this is defined
51         by gcc now.
52         * fhandler.cc (set_name): Ditto.
53
54 2000-06-17  Kazuhiro Fujieda <fujieda@jaist.ac.jp>
55
56         * winsup.h (isabspath): Don't report `C:foo' as an absolute path.
57
58 Sat Jun 17 13:51:48 2000  Christopher Faylor <cgf@cygnus.com>
59
60         * configure.in: Detect "cross-hosting" situation and set appropriate
61         variables in Makefile to avoid building excess stuff.
62         * configure: Regenerate.
63         * Makefile.in: Accomodate above change.
64
65 Sat Jun 17 19:52:00 2000  Corinna Vinschen <corinna@vinschen.de>
66
67         * pinfo.cc (pinfo_init): Revert previous patch.
68
69 Sat Jun 17 13:29:00 2000  Corinna Vinschen <corinna@vinschen.de>
70
71         * pinfo.cc (pinfo_init): Add missing initializers.
72         * uinfo.cc (internal_getlogin): Request domain infos only
73         when ntsec is ON.
74
75 Fri Jun 16 19:27:27 2000  Christopher Faylor <cgf@cygnus.com>
76
77         * Makefile.in: Just use library files from this tree when building
78         cygrun.exe.
79         * path.cc (chdir): Don't set cache to offending chdir.  Change comment
80         to reflect current reality.
81
82 Fri Jun 16 20:55:00 2000  Corinna Vinschen <corinna@vinschen.de>
83
84         * cygwin.din: Define symbols for `cygwin_logon_user' and
85         `cygwin_set_impersonation_token'.
86         * dcrt0.cc (dll_crt0_1): Eliminate superfluous conditional
87         statements.
88         Add load statements for `ImpersonateLoggedOnUser', `LogonUserA'
89         and `RevertToSelf'.
90         * fork.cc (fork): Care for correct impersonation of parent
91         and child process.
92         * security.cc (cygwin_set_impersonation_token): New function.
93         (cygwin_logon_user): Ditto.
94         shared.h (class pinfo): New members `orig_uid', `orig_gid',
95         `real_uid' nad `real_gid'.
96         spawn.cc (spawn_guts): Care for impersonation when starting
97         child process in a different user context.
98         * syscalls.cc (setgid): Call `setegid' now. Set real_gid.
99         (setuid): Call `seteuid' now. Set real_uid.
100         (seteuid): Functionality moved from setuid to here. Care for
101         correct impersonation.
102         (setegid): Functionality moved from setgid to here.
103         * uinfo.cc (uinfo_init): Initialization of additional pinfo
104         members.
105         (getuid): Return real uid.
106         (getgid): Return real gid.
107         (geteuid): Return effective uid.
108         (getegid): Return effective gid.
109         include/sys/cygwin.h: Add prototypes for `cygwin_logon_user' and
110         `cygwin_set_impersonation_token'.
111         include/cygwin/version.h: Bump API minor version to 22.
112
113 Thu Jun 15 15:43:50 2000  Christopher Faylor <cgf@cygnus.com>
114
115         * path.cc (normalize_posix_path): Convert path to POSIX if it seems to
116         be a Windows path.
117
118 2000-06-15 Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
119
120         * path.cc (mount_info::add_item): Eliminate a trailing backslash
121         included in a native path starting with '//[A-Za-z]/...'.
122         * path.cc (mount_info::del_item): Accept a native path as its target.
123
124 Wed Jun 14 23:47:19 2000  Christopher Faylor <cgf@cygnus.com>
125
126         * environ.cc (conv_envvars): Detect and convert all environment
127         variables used by libiberty's choose-temp.c
128
129 Tue Jun 13 12:41:41 2000  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
130
131         * path.cc (mount_info::add_item): The previous patch can't handle
132         the case of overwriting a mount entry.
133
134 Tue Jun 13 00:17:04 2000  Christopher Faylor <cgf@cygnus.com>
135
136         * thread.h: Shorten "current_directory" variables to "cwd_*"
137         throughout.
138         * path.cc: Ditto.
139         (normalize_posix_path): Add some extra debugging info.
140         (chdir): Ditto.  Store chdir'ed posix and MS-DOS directory names in
141         "cache" here rather than trying to derive them later.
142
143 Sun Jun 11 15:57:00 2000  Corinna Vinschen <corinna@vinschen.de>
144
145         * fhandler_random.cc (read): Call CryptAquireContext with
146         CRYPT_VERIFYCONTEXT.
147
148 Thu Jun  8 22:49:00 2000  Corinna Vinschen <corinna@vinschen.de>
149
150         * path.cc (path_conv::check): Erase two lines checked in
151         by mistake.
152
153 Thu Jun  8 15:53:00 2000  Corinna Vinschen <corinna@vinschen.de>
154
155         * fhandler.cc (fhandler_disk_file::open): Check for directory
156         to set O_DIROPEN on directories anyway.
157
158 2000-06-07  Kazuhiro Fujieda <fujieda@jaist.ac.jp>
159
160         * path.cc (mount_info::init): Eliminate the mount_slash feature.
161         (mount_slash): Eliminated.
162         (mount_info::read_mounts): Eliminate looking up existing entries. The
163         loop for deleting cygpath entries is done only when such entries exist.
164         (mount_info::from_registry): Eliminate sorting.
165         (mount_info::add_item): Call add_reg_mount if necessary. Check nmounts
166         more precisely. Use strcasematch in looking up existing entries.
167         (mount_info::del_item): Call del_reg_mount if necessary. Use
168         strcasematch. Use memmove instead of memcpy.
169         (mount_info::import_v1_registry): Everything is done in this method.
170         (mount_info::to_registry): Eliminated.
171         (mount_info::from_v1_registry): Eliminated.
172         (cygwin_umount): Simply call del_item.
173         * shared.h: Modify the declaration of add_item and del_item. Remove the
174         declaration of from_v1_registry.
175
176 Wed Jun  7 23:56:10 2000  Christopher Faylor <cgf@cygnus.com>
177
178         * include/cygwin/version.h: Bump DLL minor version number to 3.
179
180 2000-06-07  DJ Delorie  <dj@cygnus.com>
181
182         * cygwin.din: add cygwin_dll_init
183         * dcrt0.cc (cygwin_dll_init): new
184         (dll_crt0_1): short circuit if manually loaded
185         * path.cc (mount_info::init): don't init if manually loaded
186
187 Wed Jun  7 13:47:00 2000  Corinna Vinschen <corinna@vinschen.de>
188
189         * include/netinet/in_systm.h: New file.
190         * include/cygwin/in_systm.h: Ditto.
191
192 Thu Jun  1 01:55:45 2000  Christopher Faylor <cgf@cygnus.com>
193
194         * exceptions.cc: Remove unneeded include.
195         * dcrt0.cc: Wrap LoadDLLfunc stuff in dummy function.
196         * init.cc: Ditto.
197         * uinfo.cc: Ditto.
198
199 2000-05-31  DJ Delorie  <dj@cygnus.com>
200
201         * include/cygwin/version.h: use decimal, NOT octal
202
203 Wed May 31 16:40:00 2000  Corinna Vinschen <corinna@vinschen.de>
204
205         * fhandler.cc (fhandler_disk_file::open): Check for executable
206         even if ntsec is on if filesystem doesn't support ACLs.
207
208 Wed May 31 15:57:00 2000  Corinna Vinschen <corinna@vinschen.de>
209
210         * dcrt0.cc: Use LoadDLLfuncEx for loading Crypto API functions
211         with parameter `notimp' set to 1.
212
213 Tue May 30 16:58:33 2000  Christopher Faylor <cgf@cygnus.com>
214
215         * path.cc (mount_info::conv_to_win32_path): Previous patch was too
216         aggressive in adding a trailing slash.
217
218 Mon May 29 20:31:01 2000  Christopher Faylor <cgf@cygnus.com>
219
220         * Makefile.in: Remove libadvapi32.a.
221         * autoload.h: Add additional field to autoload block for handling
222         unimplemented functions.
223         (LoadDLLfuncEx): New function which accepts additional parameter for
224         controlling unimplemented function behavior.
225         (LoadDLLfunc): Use LoadDLLfuncEx.
226         * dcrt0.cc: Use new arguments for LoadDLLfunc.  Add advapi32 routines.
227         (noload): Rewrite in assembler.  Handle new unimplemented function
228         type.
229         * exceptions.cc: Eliminate another vestige of StackWalk stuff.
230         * net.cc: Use new arguments for LoadDLLfunc.
231         * uinfo.cc: Ditto.
232
233 Mon May 29 20:18:47 2000  Christopher Faylor <cgf@cygnus.com>
234
235         * config.h.in: Remove obsolete define.
236         * path.h (isdrive): New macro.
237         * dcrt0.cc (globify): Use new macro to determine if a string refers to
238         an MS-DOS drive.
239         * environ.cc (winenv): Ditto.
240         * spawn.cc (find_exec): Ditto.
241         * path.cc (get_raw_device_number): Ditto.
242         (mount_info::conv_to_posix_path): Ditto.
243         (chdir): Ditto.
244         (cygwin_posix_path_list_p): Ditto.
245         (cygwin_split_path): Ditto.
246         (path_conv::check): Move tmp_buf to beginning of function since it can
247         be used earlier in the loop.  Use tmp_buf rather than 'root' to hold
248         root information.
249         (mount_info::conv_to_win32_path): Add trailing slash to end of mount
250         path when it translates to a drive.  Add defensive code to avoid
251         writing beyond the end of 'dst'.
252
253 Sat May 27 15:57:00 2000  Corinna Vinschen <corinna@vinschen.de>
254
255         * fhandler_random.cc (read): Use CRYPT_MACHINE_KEYSET in
256         call to CryptAcquireContext() to serve users that did not
257         log in interactively.
258
259 Fri May 26 11:16:00 2000  Corinna Vinschen <corinna@vinschen.de>
260
261         * errno.cc (errmap): Map ERROR_BAD_NET_NAME to errno ENOSHARE.
262
263 Fri May 26 02:23:35 2000  Christopher Faylor <cgf@cygnus.com>
264
265         * sigproc.h (sigframe::set): Accept a default frame pointer.
266         * sigproc.cc (sig_send): Use passed in frame pointer, if appropriate.
267
268 Thu May 25 17:44:25 2000  Christopher Faylor <cgf@cygnus.com>
269
270         * dir.cc (rmdir): Use file attributes that have already been discovered
271         by path_conv.
272
273 2000-05-25  Kazuhiro Fujieda <fujieda@jaist.ac.jp>
274
275         * dir.cc (rmdir): Correct the manner in checking the target directory.
276
277 Wed May 24 21:59:00 2000  Corinna Vinschen <corinna@vinschen.de>
278
279         * dir.cc (writable_directory): Comment out previous code,
280         return always 1 for now.
281         (mkdir): Call set_file_attribute explicitely with S_IFDIR mode bit.
282         * syscalls.cc (chown_worker): Ditto.
283         (chmod): Ditto.
284         * security.cc (get_nt_attribute): Fix error in debug output.
285         Never set FILE_DELETE_CHILD for files.
286         Construct appropriate inherit attribute according to file type.
287
288 2000-05-23  DJ Delorie  <dj@cygnus.com>
289
290         * syscalls.cc (_cygwin_istext_for_stdio): New, for newlib
291         * include/cygwin/version.h: Bump API number for detect old
292         programs using old getc/putc macros
293
294 2000-05-23  DJ Delorie  <dj@cygnus.com>
295
296         * dir.cc (writable_directory): handle root directories
297
298 Tue May 23 10:09:26 2000  Christopher Faylor <cgf@cygnus.com>
299
300         * uname.cc (uname): Use a "s" to denote a snapshot to avoid confusion
301         with the number "5".
302
303 Tue May 23 10:01:07 2000  Christopher Faylor <cgf@cygnus.com>
304
305         * path.cc (mount_info::conv_to_posix_path): Avoid putting a trailing
306         slash on a directory name when the ms-dos path spec is a root directory
307         of a device.
308         * registry.cc (reg_key::build_reg): Set 'key_is_invalid' flag rather
309         than using an INVALID_HANDLE_KEY.
310         (reg_key::get_int): Test for key validity before performing registry
311         operations.
312         (reg_key::set_int): Ditto.
313         (reg_key::get_string): Ditto.
314         (reg_key::set_string): Ditto.
315         (reg_key::kill): Ditto.
316         (reg_key::~reg_key): Ditto.
317
318 Tue May 23 01:13:33 2000  Christopher Faylor <cgf@cygnus.com>
319
320         * mkvers.sh: Use snapshot date as build date since it is more
321         interesting.
322         * uname.cc (uname): Detect if this is a snapshot build and add an "S"
323         to the version number.  Report the snapshot date as the release date.
324
325 Mon May 22 17:11:25 2000  Christopher Faylor <cgf@cygnus.com>
326
327         * environ.cc (regopt): Scan HKLM if HKCU scan fails.
328
329 Mon May 16 23:39:00 2000  Corinna Vinschen <corinna@vinschen.de>
330
331         * dir.cc (rmdir): Care for misleading error messages
332         when trying to remove a directory on a samba share.
333         Eliminate superfluous else branch.
334         * syscalls.cc (_rename): Additional check for ERROR_FILE_EXISTS
335         if MoveFile fails.
336
337 Sun May 21 20:51:44 2000  Christopher Faylor <cgf@cygnus.com>
338
339         * dcrt0.cc (dll_crt0_1): Move uinfo_init call to before sigproc_init to
340         avoid a race.
341         (noload): Add an extra argument for debugging.
342         * uinfo.cc (uinfo_init): Eliminate test for multiple calls.
343         (getlogin): Assume that uinfo_init has already been called.
344
345 Sat May 20 01:34:57 2000  Christopher Faylor <cgf@cygnus.com>
346
347         * exceptions.cc (interruptible): Add an argument to control whether
348         function just checks for validity.  Flag module handle == 0 as
349         noninterrupible.
350         (call_handler): Always acquire and release ebp lock.  Loop for only a
351         fixed amount of time attempting to grab mutos and find an interruptible
352         PC.
353
354 2000-05-19  DJ Delorie  <dj@cygnus.com>
355
356         * syscalls.cc (setmode): change mode of any matching FILE* also.
357
358 Thu May 18 17:28:19 2000  Christopher Faylor <cgf@cygnus.com>
359
360         * Makefile.in: Remove external.h dependency.
361         * dcrt0.cc (sigthread::init): Move here from sigproc.h.
362         * sigproc.h (sigthread): Move init to dcrt0.cc.
363
364 Thu May 18 01:28:02 2000  Christopher Faylor <cgf@cygnus.com>
365
366         * select.cc (thread_pipe): Add paranoid check to ensure thread
367         termination.
368         * external.cc: Eliminate obsolete include.
369         * getopt.c (getopt_long): Fix compiler warning.
370         * shared.h: Moved PID_ definitions to include/sys/cygwin so that they
371         can be used by external programs.
372         * include/sys/cygwin.h: Move external definitions here.  Include
373         sys/resource.h to avoid having to do this everywhere.
374
375 Thu May 18 01:04:02 2000  Christopher Faylor <cgf@cygnus.com>
376
377         * sigproc.h (sigframe): Don't set frame info unless tid matches this
378         thread id.
379
380 Wed May 17 23:13:32 2000  Christopher Faylor <cgf@cygnus.com>
381
382         * dcrt0.cc (dll_crt0_1): Initialize mainthread stuff here before
383         anything needs it.
384         * sigproc.cc (sigproc_init): Move mainthread initialization out of
385         here.
386         * sigproc.h (sigthread): Add init() method.
387         (sigframe): Don't try to initialize muto.
388         * sync.cc: Undef WaitForSingleObject to avoid recursion.
389
390 2000-05-17  DJ Delorie  <dj@cygnus.com>
391
392         * testsuite/winsup.api/crlf.c: New
393         * testsuite/winsup.api/iospeed.c: New
394
395 Wed May 17 01:05:52 2000  Christopher Faylor <cgf@cygnus.com>
396
397         * path.cc (mount_info::cygdrive_posix_path): Don't add trailing slash
398         if referring to something like c:\.
399         * dcrt0.cc (dll_crt0_1): Move uinfo initialization prior to sig_send
400         initialization to give signal thread a chance to finish.
401         * debug.cc (WFSO): Move to sigproc.cc
402         (WFMO): Ditto.
403         * exceptions.cc (interruptible): Allocate slightly more space for
404         directory just for paranoia's sake.
405         (call_handler): Eliminate nonmain argument.  Determine if main thread
406         has set a frame pointer and use it if so.
407         (sig_handle): Eliminate nonmain argument.
408         * net.cc: Record frame information in appropriate routines throughout.
409         * select.cc (select): Ditto.
410         * sigproc.cc: Use sigthread structure to record mainthread id
411         throughout.
412         (sig_send): Record frame information for signal handler.
413         (wait_sig): Reflect argument change in sig_handle.
414         (WFSO): Move here and record frame information for signal handler.
415         (WFMO): Ditto.
416         * sigproc.h: Implement new "sigthread" class.  Implement "sigframe"
417         class for manipulating signal frame info.
418         * thread.cc (__pthread_kill): Use standard _kill() function rather than
419         calling sig_send directly.
420         * winsup.h: Eliminate ebp element from signal_dispatch class.
421
422 Tue May 16 23:39:00 2000  Corinna Vinschen <corinna@vinschen.de>
423
424         Patch suggested by John Rowley <wjr@bgs.ac.uk>
425         * fhandler_tape.cc (fhandler_dev_tape::ioctl): Check
426         for filemark feature on MTWEOF operation.
427
428 Tue May 16 11:49:13 2000  Christopher Faylor <cgf@cygnus.com>
429
430         * include/cygwin/in.h (AF_INET6): Use correct in6_addr struct.
431
432 Mon May 15 00:35:35 2000  Christopher Faylor <cgf@cygnus.com>
433
434         * include/cygwin/version.h: Bump DLL minor version number to 2.
435
436 Sun May 14 23:41:24 2000  Christopher Faylor <cgf@cygnus.com>
437
438         * shared.h: Bump PROC_MAGIC.
439         * include/cygwin/version.h: Bump API minor to accomodate two recent
440         exports.
441
442 2000-05-13  Mumit Khan  <khan@xraylith.wisc.edu>
443
444         * include/cygwin/socket.h (AF_INET6): Use same value as winsock2.
445
446 2000-05-12  Mumit Khan  <khan@xraylith.wisc.edu>
447
448         * include/cygwin/in.h (struct in6_addr): Fix spelling.
449         * include/cygwin/socket.h (AF_INET6, PF_INET6): Define macros.
450         (AF_MAX, PF_MAX): Bump to 32 to leave room for future expansion.
451
452 Fri May 12 21:35:54 2000  Christopher Faylor <cgf@cygnus.com>
453
454         * dcrt0.cc (build_argv): Remove unneeded variable.
455         * select.cc (peek_pipe): Don't check for "ready" if it's already set.
456         (peek_console): Ditto.
457         (peek_serial): Ditto.
458         (peek_socket): Ditto.
459         (peek_windows): Ditto.
460
461 Fri May 12 20:31:00 2000  Corinna Vinschen <corinna@vinschen.de>
462
463         * fhandler_raw.cc (write_file, read_file): New wrapper functions
464         for WriteFile and ReadFile to get rid of ERROR_MEDIA_CHANGED
465         and ERROR_BUS_RESET in case of first access to tape.
466         (fhandler_dev_raw::raw_write): Use write_file instead of WriteFile.
467         (fhandler_dev_raw::raw_read): Use read_file instead of ReadFile.
468
469 Fri May 12 01:04:57 2000  Christopher Faylor <cgf@cygnus.com>
470
471         * Makefile.in (DLL_OFILES): Sort.
472         * fhandler_tty.cc (fhandler_tty_slave::send_ioctl_request): Eliminate.
473         (fhandler_tty_slave::ioctl): Rewrite to avoid races.
474
475 2000-05-11  Mumit Khan  <khan@xraylith.wisc.edu>
476
477         * mmap.cc (list::erase): Increment loop counter.
478         (map::erase): Likewise.
479
480 Thu May 11 00:54:00 2000  Charles Wilson <cwilson@ece.gatech.edu>
481
482         * cygwin.din: insure that regsub() is included in
483         cygwin1.dll
484
485 Tue May  9 18:59:41 2000  Christopher Faylor <cgf@cygnus.com>
486
487         * Makefile.in: Use appropriate VARIABLE to refer to cygwin.def in load
488         line.
489
490 Thu May  9  23:53:00 2000  Corinna Vinschen <corinna@vinschen.de>
491
492         * fhandler.cc (fhandler_base::puts_readahead): Change
493         while condition to disallow wild runs.
494
495 Thu May  9  15:24:00 2000  Corinna Vinschen <corinna@vinschen.de>
496
497         Patch suggested by <lha@stacken.kth.se>
498         * window.cc (setitimer): Check for overflow condition
499         in tv_sec.
500
501 Thu May  9  0:47:00 2000  Corinna Vinschen <corinna@vinschen.de>
502
503         Patch suggested by Eric Fifer <EFifer@sanwaint.com>
504         * errno.cc: Change mapping of ERROR_BAD_PATHNAME to ENOENT.
505
506 Thu May  9  0:47:00 2000  Corinna Vinschen <corinna@vinschen.de>
507
508         * path.cc (symlink::info): Treat non readable files
509         as normal non symlink files.
510
511 2000-05-08  Paul K. Fisher  <pfisher@plexware.com>
512
513         * include/pthread.h (pthread_detach): Add missing prototype.
514         (pthread_join): same.
515
516 2000-05-08  DJ Delorie  <dj@cygnus.com>
517
518         * fhandler.cc (lock): use signed math to allow checking ranges
519         properly.
520
521 Sat May  6 23:22:25 2000  Christopher Faylor <cgf@cygnus.com>
522
523         * dcrt0.cc (insert_file): Eliminate unused parameter.
524         (build_argv): Ditto.
525         * exceptions.cc (stack): Eliminate unused parameters.
526         (stackdump): Ditto.
527         (cygwin_stackdump): Reflect above changes.
528         (sig_handle): Ditto.
529         * fhandler.cc (fhandler_base::set_inheritance): Use kludge to avoid
530         unused parameter warning.
531
532 2000-05-06  Mumit Khan  <khan@xraylith.wisc.edu>
533
534         * include/wchar.h (wcscmp, wcslen): Fix prototypes.
535         * syscalls.cc (wcslen, wcscmp): Adjust.
536
537 Fri May  5 23:32:07 2000  Christopher Faylor <cgf@cygnus.com>
538
539         * errno.cc (errmap): Correct DIRECTORY mapping to ENOTDIR.
540
541 2000-05-04  Mumit Khan  <khan@xraylith.wisc.edu>
542
543         * Makefile.in (install): Install profile startup and library.
544
545 Wed May  3 21:54:11 2000  Christopher Faylor <cgf@cygnus.com>
546
547         * configure.in: Use -gstabs+ as compile debug option.  This seems to
548         promote better handling of symbols.
549         * configure: Regenerate.
550         * delqueue.cc (delqueue_list::process_queue): Allow ERROR_ACCESS_DENIED
551         to indicate that a file is being shared under Windows 95.
552         * syscalls.cc (_unlink): Use full path name.  Take special action for
553         Windows 95.  Assume that an ERROR_ACCESS_DENIED indicates a sharing
554         violation unless it's on a remote drive.  Punt if there is an
555         ERROR_ACCESS_DENIED on a remote drive.
556
557 Wed May  3 18:07:00 2000  Corinna Vinschen <corinna@vinschen.de>
558
559         * errno.cc (errmap): Map ERROR_BAD_NETPATH to new errno ENOSHARE.
560         (_sys_errlist): Add entry for ENOSHARE.
561         (strerror): Add case for ENOSHARE.
562         * syscalls.cc (stat_worker): Check for errno ENOSHARE.
563
564 Wed May  3 17:28:00 2000  Corinna Vinschen <corinna@vinschen.de>
565
566         * Makefile.in: Add dependencies for fhandler_random.o
567         * fhandler.h: Add device type FH_RANDOM. Add class
568         fhandler_dev_random.
569         * fhandler_random.cc: New file. Implementation of
570         fhandler_dev_random.
571         * hinfo.cc (build_fhandler): Add case for FH_RANDOM.
572         * path.cc: Add device names for random devices to
573         windows_device_names.
574         (get_device_number): Add if branch for random devices.
575         (win32_device_name): Add device name generation for
576         random devices.
577         winsup.h: Include <wincrypt.h>.
578
579 2000-05-02  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
580
581         * path.cc (mount_info::conv_to_win32_path): Previous patch
582         failed to set flags on a win32 path.
583
584 Tue May  2 11:34:00 2000  Corinna Vinschen <corinna@vinschen.de>
585
586         * security.cc (read_sd): Return 1 on success because we
587         can't rely on the returned SD size from GetFileSecurity.
588
589 Tue May  2  2:22:00 2000  Corinna Vinschen <corinna@vinschen.de>
590
591         * dcrt0.cc: Add dynamic load code for `OemToCharA' from user32.dll.
592         * security.cc (read_sd): Call `OemToCharA' to make
593         `GetFileSecurity' happy on filenames with umlauts.
594
595 Wed Apr 26 23:23:23 2000  Christopher Faylor <cgf@cygnus.com>
596
597         * path.cc (normalize_win32_path): Don't add a trailing slash when one
598         already exists.
599         (mount_info::conv_to_win32_path): Use existing code for dealing with
600         relative path names when input is already a win32 path.
601
602 2000-04-26  DJ Delorie  <dj@cygnus.com>
603
604         * Makefile.in (install): install regexp.h
605
606 Wed Apr 26 16:20:00 2000  Corinna Vinschen <corinna@vinschen.de>
607
608         * syscalls.cc (stat_worker): Previous patch could succeed
609         in stating a non-existant file.
610
611 Wed Apr 26 01:07:16 2000  Christopher Faylor <cgf@cygnus.com>
612
613         * exceptions.cc (interruptible): Allocate slightly more space for
614         directory name check.  Windows 95 seems to null-terminate the directory
615         otherwise.
616         (interrupt_on_return): Issue a fatal error if we can't find the
617         caller's stack.
618
619 Tue Apr 25 16:50:54 2000  Christopher Faylor <cgf@cygnus.com>
620
621         * spawn.cc (find_exec): Accept a path_conv argument rather than a
622         buffer so that the caller can find things out about a translated path.
623         (perhaps_suffix): Ditto.
624         (spawn_guts): Allocate path_conv stuff here so that we can find out
625         stuff about the translated path (this is work in progress).
626         * environ.cc (environ_init): Accept an as-yet unused argument
627         indicating whether we were invoked from a cygwin parent or not.
628         (winenv): Ditto.
629         (posify): Accept an argument indicating whether the path has already
630         been translated.
631         * dlfcn.cc (check_access): Provide a path_conv buffer to find_exec.
632         * exec.cc (sexecvpe): Ditto.
633         * path.cc (path_conv::check): Rename from path_conv::path_conv.
634         (mount_item::getmntent): Recognize "Cygwin executable" bit.
635         (symlink_info::check): Remove debugging statements.
636         * path.h (class path_conv): Add iscygexec method.  Rewrite constructor
637         to call "check" method to allow multiple operations on a path_conv
638         variable.
639         * pinfo.cc (pinfo_init): Pass argument to environ_init.
640         * shared.h: Bump PROC_MAGIC.
641         * winsup.h: Reflect above changes to function arguments.
642         * include/sys/mount.h: Add MOUNT_CYGWIN_EXEC type.
643
644 Thu Apr 25 21:35:00 2000  Corinna Vinschen <corinna@vinschen.de>
645
646         * syscalls.cc (stat_worker): Previous patch failed to stat
647         each drives root dir on 9X.
648
649 Thu Apr 25 16:37:00 2000  Corinna Vinschen <corinna@vinschen.de>
650
651         * fhandler.cc (fhandler_disk_file::open): Check for allow_ntsec
652         when determining exec flag.
653         * path.cc (symlink_info::check): Remove call to get_file_attribute().
654         * security.cc (read_sd): Rename, ditto for variables to conform
655         to common naming convention. Use GetFileSecurity() instead of
656         BackupRead() to avoid permission problems when reading ACLs.
657         (write_sd): Same renaming as for read_sd().
658         (alloc_sd): Change default permissions according to Linux permissions
659         for group and world when write permission is set.
660         * syscalls.cc (stat_worker): Avoid different permission problems
661         when requesting file informations.
662
663 Thu Apr 25 10:50:00 2000  Corinna Vinschen <corinna@vinschen.de>
664
665         * net.cc: Avoid a warning in declaration inet_network.
666
667 Mon Apr 24 17:38:25 2000  Thorsten Otto <t.otto@germanynet.de>
668
669         * fhandler_console.cc (fhandler_console::read): Detect extended keycode
670         information for Windows 9x so that function keys will work correctly.
671
672 2000-04-24  Vadim Egorov  <egorovv@mailandnews.com>
673
674         * net.cc (cygwin_inet_network): new function.
675         * cygwin.din (inet_network): new export
676
677 Fri Apr 21 10:37:08 2000  Christopher Faylor <cgf@cygnus.com>
678
679         * path.cc (normalize_posix_path): Previous two patches were still
680         incorrect so rewrite this function to deal with trailing dots.
681         (mount_info::conv_to_win32_path): Just check for '/' where appropriate.
682         Eliminate nofinalslash call since it is handled in normalize_posix_path
683         now.
684
685 Thu Apr 20 17:32:42 2000  Christopher Faylor <cgf@cygnus.com>
686
687         * exceptions.cc (handle_exceptions): Search further for stack info to
688         accomodate Windows 95.
689
690 Thu Apr 20 16:39:18 2000  Christopher Faylor <cgf@cygnus.com>
691
692         * path.cc (normalize_posix_path): Previous change failed to take root
693         access into account.
694
695 Thu Apr 20 11:26:00 2000  Corinna Vinschen <corinna@vinschen.de>
696
697         * syscalls.cc (_link): Check new link path for trailing dot.
698
699 Thu Apr 20 00:32:03 2000  Christopher Faylor <cgf@cygnus.com>
700
701         * fhandler.h (fhandler_base::hclose): New virtual method.
702         (fhandler_base::set_inheritance): Make this a method so that we can use
703         the appropriate close methods.
704         * fhandler.cc (fhandler_base::set_inheritance): Ditto.
705         * path.cc (normalize_posix_path): Eliminate /.  trailing path
706         component.
707
708 Wed Apr 20  0:19:00 2000  Corinna Vinschen <corinna@vinschen.de>
709
710         * syscalls.cc (setuid): Allow switching user context after
711         successful call to ImpersonateLogedOnUser (NT only).
712         (setgid): Ditto.
713         (seteuid): Call setuid.
714         (setegid): Call setgid.
715
716 Wed Apr 19 22:00:00 2000  Corinna Vinschen <corinna@vinschen.de>
717
718         * uinfo.cc (internal_getlogin): Use NetGetDCName() instead
719         of NetGetAnyDCName().
720
721 Mon Apr 17 12:08:47 2000  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
722
723         * syscalls.cc (_rename): Try MoveFile() at first before
724         MoveFileEx(..., MOVEFILE_REPLACE_EXISTING).
725
726 Tue Apr 18 19:15:29 2000  Christopher Faylor <cgf@cygnus.com>
727
728         * dcrt0.cc (globify): Don't use \ quoting when apparently quoting a DOS
729         path spec, even within a quoted string.
730
731 Sun Apr 16 18:54:21 2000  Christopher Faylor <cgf@cygnus.com>
732
733         * init.cc (dll_entry): Use better check for determining when to set
734         thread specific stuff.
735         * syscalls.cc (_unlink): Continue with chmod'ing file even if
736         DELETE_ON_CLOSE succeeds, if file still exists.
737
738 Fri Apr 14 23:51:15 2000  Christopher Faylor <cgf@cygnus.com>
739
740         * fhandler_console.cc (keytable): Add support for keypad 5 key, which
741         MS seems to think is equivalent to VK_CLEAR.
742         * debug.cc (thread_stub): Eliminate initialization of reent stuff.
743         * init.cc (dll_entry): Move it here.
744
745 Thu Apr 13 18:32:26 2000  Christopher Faylor <cgf@cygnus.com>
746
747         * dcrt0.cc (insert_file): Avoid freeing previously allocated argument
748         list.
749         * path.cc (symlink_info::check): Rename from symlink_check_one.  Use
750         new symlink_info struct for communication.
751         (path_conv::path_conv): Use symlink_info structure for communication
752         with symlink_info::check.  Fix typo which resulted in symbolic links
753         always being resolved.
754         (readlink): Use stat_suffixes array when resolving a link.
755         * syscalls.cc (stat_suffixes): Make global.
756
757 Thu Apr 13 20:50:00 2000  Corinna Vinschen <corinna@vinschen.de>
758
759         * include/cygwin/version.h: Bump minor api to reflect export change.
760
761 Thu Apr 13  8:48:00 2000  Corinna Vinschen <corinna@vinschen.de>
762
763         * path.cc (conv_to_win32_path): Detect a win32 path
764         if path contains backslashes.
765         * cygwin.din: Add symbol for `lacl'.
766         * security.cc (ReadSD): Add debug output.
767         (acl_worker):  New static function.
768         (acl): Call acl_worker now.
769         (lacl): New function.
770         (facl): Call acl_worker now.
771         * include/cygwin/acl.h: Add prototype for `lacl'.
772
773 Wed Apr 12 18:48:33 2000  Christopher Faylor <cgf@cygnus.com>
774
775         * path.cc (path_conv::path_conv): Ensure that suffix is correctly
776         copied to path when we've found a symlink but aren't following
777         symlinks.
778
779 Sat Apr  8 00:46:14 2000  Christopher Faylor <cgf@cygnus.com>
780
781         * fhandler.cc (fhandler_disk_file::fstat): Allocate enough space for
782         root dir determination or overflow an array.
783
784 Sat Apr  8 00:08:53 2000  Christopher Faylor <cgf@cygnus.com>
785
786         * exceptions.cc (sigsave): Copy on fork so that we can restore correct
787         behavior in forked process.
788         (interruptible): Flag as interruptible when running in main process
789         module.
790         (interrupt_setup): Save return address and address of return address.
791         (signal_fixup_after_fork): New function.  Uses above two values to
792         restore proper behavior to forked process.
793         (interrupt_on_return): Pass return address address to interupt_setup.
794         (interrupt_now): Pass NULL for return address address to
795         interrupt_setup.
796         * fork.cc (fork): Call signal_fixup_after_fork.
797         * shared.h: Lint cleanups.
798         * winsup.h: Ditto.
799
800 Mon Apr  3 14:10:44 2000  Christopher Faylor <cgf@cygnus.com>
801
802         * fhandler.h (select_stuff): Eliminate use of 'total'.
803         * select.cc (cygwin_select): Ditto.
804         (select_stuff::wait): Use maximum size for w4 rather than calculating
805         what will fit.
806
807 Mon Apr 03 13:58:00 2000  Corinna Vinschen <corinna@vinschen.de>
808
809         * grp.cc (parse_grp): Save empty array instead of
810         NULL in gr_mem if no supplementary group is given.
811
812 Sun Apr 02 16:02:00 2000  Corinna Vinschen <corinna@vinschen.de>
813
814         * syscalls.cc (chown_worker): Use previous uid/gid if
815         new uid/gid is -1.
816
817 Fry Mar 31 22:55:00 2000  Corinna Vinschen <corinna@vinschen.de>
818
819         * syscalls.cc (chown_worker): New static function with
820         chown functionality.
821         (chown): Call chown_worker with SYMLINK_FOLLOW.
822         (fchown): New function. Call chown_worker with SYMLINK_FOLLOW.
823         (lchown): New function. Call chown_worker with SYMLINK_IGNORE.
824         * cygwin.din: Add symbols for fchown, lchown.
825
826 Fry Mar 31 11:18:00 2000  Corinna Vinschen <corinna@vinschen.de>
827
828         * path.cc (symlink): Call `set_file_attribute()' and
829         `SetFileAttributeA()' instead of `chmod()' to set
830         uid/gid correct.
831
832 Wed Mar 29 22:49:56 2000  Christopher Faylor <cgf@cygnus.com>
833
834         * fhandler.h (select_record): Explicitly zero elements of this class.
835         (select_stuff): Ditto.
836         * select.cc (cygwin_select): Eliminate memset zero of sel.
837
838 Tue Mar 28 16:45:42 2000  Christopher Faylor <cgf@cygnus.com>
839
840         * Makefile.in: Use default rules when compiling cygrun.o.
841         * dcrt0.cc (host_dependent_constants::init): Limit non-NT platforms to
842         32K chunks when copying regions during a fork.
843         * path.cc (symlink_check_one): Add temporary debugging output.
844         Simplify PATH_EXEC test.
845         * syscalls.cc (stat_suffixes): Null terminate this list.
846
847 Sat Mar 25 20:46:39 2000  Christopher Faylor <cgf@cygnus.com>
848
849         * path.cc (symlink_check_one): Recognize symlink settings from the
850         mount table.
851         * path.h: Make PATH_SYMLINK an alias for MOUNT_SYMLINK.
852         * syscalls.cc (stat_worker): Use extension search mechanism in
853         path_conv to look for .exe rather than trying to special case it here.
854         * mount.h: Make MOUNT_SYMLINK a real option.
855
856 Sat Mar 25 00:22:32 2000  Christopher Faylor <cgf@cygnus.com>
857
858         * environ.cc: Add TMPDIR to the list of environment variables which are
859         converted to POSIX format.
860         * sigproc.cc (proc_terminate): Don't attempt to delete when a muto
861         pointer is NULL.
862
863 Sun Mar 19 12:01:00 2000  Corinna Vinschen <corinna@vinschen.de>
864
865         * syscalls.cc (stat_worker): Set st_nlink to 1 on remote drives.
866
867 Sat Mar 18 23:04:27 2000  Christopher Faylor <cgf@cygnus.com>
868
869         * times.cc: Fix extern declarations for variables that are exported but
870         used by this modules.
871
872 Sat Mar 18 01:32:04 2000  Christopher Faylor <cgf@cygnus.com>
873
874         * dcrt0.cc (host_dependent_constants::init): Eliminate DELETE flag
875         from shared constant.
876
877 Sat Mar 18 01:24:25 2000  Christopher Faylor <cgf@cygnus.com>
878
879         * delqueue.cc (delqueue_list::queue_file): Add some debugging.
880         * path.h (class path_conv): Add a char * operator for the most common
881         case.
882         * syscalls.cc (_unlink): Rewrite to use FILE_FLAG_DELETE_ON_CLOSE when
883         possible (i.e., on NT).
884
885 Fri Mar 17 18:16:00 2000  Corinna Vinschen <corinna@vinschen.de>
886
887         Patch suggested by Eric Fifer <EFifer@sanwaint.com>
888         * fhandler.cc (fhandler_base::open): Call set_file_attribute()
889         only if a file is really created.
890
891 Thu Mar 16 14:15:00 2000  Corinna Vinschen <corinna@vinschen.de>
892
893         * security.cc (set_process_privileges): Remove `static'.
894         (get_nt_attribute): Returns uid and gid additionally. Remove call
895         to set_process_privileges().
896         (get_file_attribute): Returns uid and gid additionally. Don't
897         call ntea if ntsec is ON.
898         (set_nt_attribute): Remove call to set_process_privileges().
899         Don't call ntea if ntsec is ON.
900         (acl): Remove call to set_process_privileges().
901         * dcrt0.cc (dll_crt0_1): Call set_process_privileges().
902         * winsup.h: New prototype for set_process_privileges(),
903         changed prototype for get_file_attribute().
904         * fhandler.cc (get_file_owner): Discard function.
905         (get_file_group): Ditto.
906         (fhandler_disk_file::fstat): Discard calls to get_file_owner() and
907         get_file_group().
908         * path.cc (path_conv::path_conv): New debugging output for result
909         of GetVolumeInformation().
910         (mount_info::conv_to_win32_path): Call backslashify() with pathbuf
911         instead of src_path.
912         * syscalls.cc (chown): Reformat slightly.
913         (chmod): Replace get_file_owner() and get_file_group() calls
914         by a call to get_file_attribute(). Discard local variable has_acls.
915         Reformat slightly.
916         (stat_worker): Root dir check now done by a call to rootdir().
917         Don't call num_entries() on remote drives.
918         Discard local variable has_acls.
919
920 Wed Mar 15 20:38:06 2000  Corinna Vinschen <corinna@vinschen.de>
921
922         * errno.cc: Map ERROR_NOACCESS to EFAULT.
923
924 Wed Mar 15 14:25:38 2000  Christopher Faylor <cgf@cygnus.com>
925
926         * spawn.cc (spawn_guts): Restore dependency on signal_arrived.  It's
927         needed to wake up the WaitForSingleObject.
928
929 Tue Mar 14 23:41:16 2000  Christopher Faylor <cgf@cygnus.com>
930
931         Pipe changes throughout suggested by Eric Fifer <EFifer@sanwaint.com>
932         * debug.cc (threadname_init): Pass name of lock as arg 2 of new_muto.
933         * malloc.cc (malloc_init): Ditto.
934         * sigproc.cc (sigproc_init): Ditto.
935         * exceptions.cc (events_init): Ditto.
936         (call_handler): Eliminate special case for hExeced.  Report locked
937         thread in debugging output.
938         * fhandler.cc (fhandker_pipe::fhandler_pipe): Propagate device type to
939         base class.
940         * fhandler.h (fhandler_pipe): Ditto.
941         * hinfo.cc (hinfo::build_fhandler): Pass specific type of pipe to
942         constructor.
943         * spawn.cc (spawn_guts): Eliminate dependency on signal when waiting
944         for subprocess.
945         * strace.cc: Remove obsolete #ifdef.
946         * sync.cc (muto::muto): Save the name of the muto.
947         (muto:~muto): Also release the muto.
948         * sync.h: Add a muto name field.
949         * select.cc (peek_pipe): Avoid doing a PeekNamedPipe on the write end
950         of a pipe.
951
952 Sun Mar 12 01:14:33 2000  Christopher Faylor <cgf@cygnus.com>
953
954         * fhandler.cc (fhandler_base::get_readahead_into_buffer): New function.
955         * fhandler.h: Declare new function.  Add extra argument to
956         process_slave_output.
957         * fhandler_console.cc (fhandler_console::read): Move read ahead code to
958         new function.
959         * fhandler_tty.cc (fhandler_pty_master::process_slave_output): Move
960         common code here.
961         (fhandler_tty_slave::read): Understand readahead.
962         (fhandler_pty_master::read): Move code to process_slave_output.
963         * select.cc (peek_pipe): Avoid performing certain checks when non-read
964         and on inappropriate fh types.
965
966 Sat Mar 11 22:47:43 2000  Christopher Faylor <cgf@cygnus.com>
967
968         * fhandler_console.cc (fhandler_console::read): Don't even think about
969         breaking on interrupt if executing in a "cygwin" thread.
970         * fhandler_tty.cc (fhandler_pty_master::process_slave_output):
971         Streamline, simplify code.
972         * sigproc.cc (sig_send): Remove debugging statement.
973
974 Fri Mar 10 13:20:50 2000  Christopher Faylor <cgf@cygnus.com>
975
976         * sigproc.cc: Set wait_sig priority to normal.
977
978 Fri Mar 10 13:03:06 2000  Christopher Faylor <cgf@cygnus.com>
979
980         * sigproc.cc (wait_sig): Add addtional debugging output.
981
982 Thu Mar  9 15:25:01 2000  Christopher Faylor <cgf@cygnus.com>
983
984         * environ.cc: Eliminate oldstack CYGWIN option.
985         * exceptions.cc (sfta): Eliminate obsolete function.
986         (sgmb): Eliminate obsolete function.
987         (class stack_info): Remove MS method for walking the stack.
988         (stack_info::init): Just initialize required fields.
989         (stack_info::brute_force): Rename to stack_info::walk.
990         (handle_exceptions): Pass derived frame pointer to sig_send.
991         (interrupt_setup): Clear saved frame pointer here.
992         (interrupt_on_return): thestack is no longer a pointer.
993         (call_handler): Accept a flag to indicate when a signal was sent from
994         other than the main thread.  Use saved frame pointer for determining
995         where to place signal handler call.
996         (sig_handle): Accept "nonmain" argument.  Pass it to call_handler.
997         * fhandler_tty.cc (fhandler_tty_common::__acquire_output_mutex): Change
998         debugging output slightly.
999         * (fhandler_tty_common::__release_output_mutex): Ditto.
1000         (fhandler_tty_slave::read): Fix a comment, remove a goto.
1001         * sigproc.cc (sig_send): Accept an optional frame pointer argument for
1002         use when suspending the main process.  sigcomplete_main is an autoreset
1003         event now.  Save frame pointer for non-main operation.
1004         (wait_sig): Make sigcomplete_main an autoreset event.  Eliminate
1005         NOSIGQUEUE.  Pass rc to sig_handle to signify if this was a nonmain
1006         process.
1007         * sigproc.h: Reflect change to sig_send argument.
1008         * syscalls.cc (swab): Eliminate swab function since it is now available
1009         in newlib.
1010         * winsup.h (signal_dispatch): Change CONTEXT cx to DWORD ebp.
1011
1012 Tue Mar  7 13:31:10 2000  Christopher Faylor <cgf@cygnus.com>
1013
1014         * sigproc.cc (sig_send): Eliminate sync_sig_send synchronization since
1015         it didn't seem to affect the "bash hangs" problem.
1016
1017 Tue Mar  7 13:17:56 2000  Christopher Faylor <cgf@cygnus.com>
1018
1019         * mcount.c: Remove strace.h include.
1020
1021 Tue Mar  7 00:29:34 2000  Christopher Faylor <cgf@cygnus.com>
1022
1023         Throughout use strace class in place of individual functions and
1024         variables.
1025         * cygwin.din: Eliminate _strace_wm.
1026         * sigproc.cc (wait_sig): Temporarily add more debugging output.
1027         * include/cygwin/version.h: Bump minor api to reflect export change.
1028
1029 Sun Mar  5 01:17:05 2000  Christopher Faylor <cgf@cygnus.com>
1030
1031         * exceptions.cc (call_handler): Streamline to use only one call to
1032         ResumeThread.
1033         * sigproc.cc (sig_send): Use a muto around the ReleaseSemaphore.
1034         Remove priority setting since it didn't solve anything.
1035
1036 Tue Feb 29 00:46:09 2000  Christopher Faylor <cgf@cygnus.com>
1037
1038         * sigproc.cc (sig_send): Temporarily set priority to highest while
1039         sending a signal.
1040
1041 Mon Feb 28 11:23:29 2000  Christopher Faylor <cgf@cygnus.com>
1042
1043         * pinfo.cc (set_myself): Add build date to strace output.
1044
1045 Mon Feb 28 11:17:30 2000  Eric Fifer <EFifer@sanwaint.com>
1046
1047         * sigproc.cc (proc_subproc): Only clear wait event when not attending
1048         to a signal.
1049
1050 Mon Feb 28 00:08:09 2000  Christopher Faylor <cgf@cygnus.com>
1051
1052         * configure.in: Remove --enable-strace-hhmmss option.
1053         * configure: Regenerate.
1054
1055 Sun Feb 27 23:11:57 2000  Christopher Faylor <cgf@cygnus.com>
1056
1057         * dcrt0.cc (set_os_type): Record OS name string.
1058         (getprogname): Eliminate obsolete function.
1059         (dll_crt0_1): Move initial strace initialization output to set_myself.
1060         * exceptions.cc (interruptible): Add debugging output.
1061         (interrupt_setup): New function.
1062         (interrupt_now): Use interrupt_setup to set up common interrupt handler
1063         stuff.
1064         (interrupt_on_return): Ditto.
1065         (call_handler): Move signal_arrived arm and clear threads to region
1066         where signalled thread is suspended or suffer races.
1067         * pinfo.cc (set_myself): Output interesting information when strace is
1068         first initialized.  Initialize progname here.
1069         * sigproc.cc (sig_dispatch_pending): Modify to ensure that flush signal
1070         are sent synchronously.
1071         * strace.cc (strace_vsprintf): Move code into strace program.
1072         * uname.cc (uname): Use 'osname' global to construct cygwin name +
1073         Windows type + version.
1074
1075 Fri Feb 25 19:26:42 2000  Christopher Faylor <cgf@cygnus.com>
1076
1077         * exceptions.cc (interruptible): Make a little more structured.
1078         (call_handler): Allow signals to be sent even if signalled thread is
1079         stopped.  Change order of signal_arrived arming/waiting threads
1080         clearing to eliminate a race.
1081         (reset_signal_arrived): New helper function.
1082         * malloc.cc (malloc_init): Use mutos so that signal handler can keep
1083         track of who owns the lock.
1084         (__malloc_lock): Ditto.
1085         (__malloc_unlock): Ditto.
1086         * sync.h (new_muto): Actually use a muto for the "buffer".
1087         * Makefile.in: Fix a dependency.
1088
1089 2000-02-25  DJ Delorie  <dj@cygnus.com>
1090
1091         * Makefile.in: fix "make check" support and cygrun.
1092
1093 Thu Feb 24 15:56:00 2000  Christopher Faylor <cgf@cygnus.com>
1094
1095         * syscalls.c (_read): Clear errno before doing any read operation.
1096
1097 Thu Feb 24 14:45:06 2000  Christopher Faylor <cgf@cygnus.com>
1098
1099         * exceptions.cc (call_handler): Use new muto linked list to look for
1100         all potential mutos owned by suspended thread.  Clear waiting threads
1101         while thread is stopped.
1102         (proc_subproc): Clarify debugging output.
1103         * sync.h (class muto): Add 'next' field.
1104         (new_muto): Keep linked list alive.
1105
1106 Thu Feb 24 00:59:15 2000  Christopher Faylor <cgf@cygnus.com>
1107
1108         Fix final round of gcc warnings relating to unused parameters.
1109         * debug.cc (iscygthread): New function.
1110         * debug.h: Declare it.
1111         * exceptions.cc (set_process_mask): Flush pending signals.
1112         (handle_sigsuspend): No need to flush pending signals.
1113         (call_handler): Refine previous tests of muto ownership.  Only clear
1114         wait()'s when we have definitely responded to a signal.
1115         * fhandler_console.cc (fhandler_console::read): Don't set EINTR if
1116         executing in a "cygwin" thread.
1117         * sigproc.cc (proc_subproc): Use second argument to control whether
1118         CLEARWAIT actually sets "signalled" flag.
1119         * sync.h (muto): Add 'unstable' method.
1120
1121 Wed Feb 23 21:59:44 2000  Christopher Faylor <cgf@cygnus.com>
1122
1123         * hinfo.cc (hinfo::extend): Clean up debugging output.
1124
1125 Wed Feb 23 21:34:58 2000  Christopher Faylor <cgf@cygnus.com>
1126
1127         * exceptions.cc (interruptible): Change method for determining if
1128         something is interruptible.
1129         (call_handler): Avoid suspending a thread if it owns a muto.  Only set
1130         signal_arrived if the thread was actually interrupted.
1131         (events_init): Initialize module information needed by interruptible().
1132         * init.cc (dll_entry): Record module handle of main for use by
1133         interruptible().
1134         (proc_subproc): Reorganize handling of terminated child so that the
1135         bulk of the processing comes from the signal thread.
1136         (wait_sig): Force processing of waiting threads if SIGCHLD is not
1137         processed.
1138
1139 Tue Feb 22 23:06:01 2000  Christopher Faylor <cgf@cygnus.com>
1140
1141         Respond to more g++ warnings relating to initializing structures.
1142
1143 Mon Feb 21 18:36:37 2000  Christopher Faylor <cgf@cygnus.com>
1144
1145         * fhandler.cc (set_inheritance): Revert previous patch which got rid of
1146         'name' parameter.
1147
1148 Mon Feb 21 00:19:40 2000  Christopher Faylor <cgf@cygnus.com>
1149
1150         Respond to a multitude of new g++ warnings.
1151
1152 Sun Feb 20 22:10:21 2000  Christopher Faylor <cgf@cygnus.com>
1153
1154         * environ.cc (getwinenv): Make __stdcall.
1155         (winenv): Ditto.
1156         * malloc.cc (strdup): New function.  Occludes newlib version.
1157         (_strdup_r): Ditto.
1158         * winsup.h: Reflect above __stdcall changes.
1159
1160 Sun Feb 20 21:31:00 2000  Corinna Vinschen <corinna@vinschen.de>
1161
1162         * fhandler.cc (fhandler_disk_file::fstat): Modify get_file_attribute
1163         return value if FILE_ATTRIBUTE_READONLY is set.
1164
1165 Thu Feb 17 11:00:23 2000  Christopher Faylor <cgf@cygnus.com>
1166
1167         * environ.cc (environ_init): Cosmetic change.
1168
1169 Mon Feb  7 16:50:44 2000  Christopher Faylor <cgf@cygnus.com>
1170
1171         * Makefile.in: cygrun needs libshell32.a.
1172
1173 Sun Feb  6 22:17:58 2000  Christopher Faylor <cgf@cygnus.com>
1174
1175         * sigproc.cc (proc_subproc): Simplify case for when a child process is
1176         stopped since new signal handler ensures the desired behavior.
1177
1178 Sun Feb  6 21:52:33 2000  Christopher Faylor <cgf@cygnus.com>
1179
1180         * Makefile.in: Fix install target so that directories will be created
1181         when necessary.
1182
1183 Sun Feb  6 18:12:17 2000  Christopher Faylor <cgf@cygnus.com>
1184
1185         * Makefile.in: exceptions.cc should depend on autoload.h.
1186         * exceptions.cc: Undef DECLSPEC_IMPORT prior to including imagehlp.h to
1187         avoid defining StackWalk as "import".
1188         (call_handler): Minor optimizations.
1189         (sig_handle_tty_stop): Fix typo in previous checkin.
1190         * sigproc.cc (sigproc_init): Ditto, for signal_arrived initialization.
1191
1192 Sat Feb  5 15:37:37 2000  Christopher Faylor <cgf@cygnus.com>
1193
1194         * dcrt0.cc (isquote): Convert to inline function.
1195
1196 Sat Feb  5 00:26:01 2000  Christopher Faylor <cgf@cygnus.com>
1197
1198         Throughout, rename global_signal_arrived to signal_arrived.
1199         Throughout, eliminate use of arm_signals and __signal_arrived.
1200         Throughout, revert to use of simple call to WaitForSingleObject or
1201         WaitForMultipleObjects.
1202         * debug.h: Eliminate obsolete function declaration.
1203         * exceptions.cc (sigWaitForSingleObject): Eliminate obsolete function
1204         definition.
1205         * fhandler.h: Reflect change to select_stuff wait method.
1206         * fhandler_tape.cc (get_ll): Accomodate new w32api LARGE_INTEGER
1207         definition.
1208         * ntea.c (NTReadEARaw): Ditto.
1209         (NTWriteEA): Ditto.
1210         * security.cc (ReadSD): Ditto.
1211         (WriteSD): Ditto.
1212         * syscalls.cc (_link): Ditto.
1213         * uname.cc (uname): Eliminate PPC switch.
1214
1215 2000-02-01  Salvador Eduardo Tropea  <salvador@inti.gov.ar>
1216
1217         * include/io.h: add return type to setmode()
1218
1219 2000-01-27  DJ Delorie  <dj@cygnus.com>
1220
1221         * include/netdb.h (h_errno): change __imp_ to dllimport
1222         * cygwin.din (reent_data): add DATA
1223
1224 Thu Jan 27 01:07:14 2000  Christopher Faylor <cgf@cygnus.com>
1225
1226         * exceptions.cc (call_handler): Add debugging output.
1227         * select.cc (MAKEready): Arm signals earlier.
1228         * sigproc.cc (__signal_arrived:arm): Move debugging version of this
1229         method here.
1230         (__signal_arrived::release): Ditto.
1231         * sigproc.h: Recognize debugging versions of above two methods.
1232         (arm_signals::WaitForMultipleObjects): Don't release signal lock unless
1233         signal arrived.
1234         (arm_signals::WaitForMultipleSingleObject): Ditto.
1235         (arm_signals::MsgWaitForMultipleObjects): Ditto.
1236
1237 Thu Jan 27 00:19:26 2000  Christopher Faylor <cgf@cygnus.com>
1238
1239         * sync.h (new_muto): Workaround change in gcc behavior.
1240
1241 Wed Jan 26 12:57:13 2000  Christopher Faylor <cgf@cygnus.com>
1242
1243         * Makefile.in: Ensure that all required libraries are built prior
1244         to linking cygrun.exe.
1245
1246 Tue Jan 25 21:26:57 2000  Christopher Faylor <cgf@cygnus.com>
1247
1248         * exceptions.cc (sig_handle): Crudely work around potential problem
1249         when main thread has a lock but is killed by a fatal signal.
1250         * fhandler_tty.cc (fhandler_pty_master::write): Don't perform line
1251         editing on the pty master (so why do we need the second argument to
1252         line_edit, then?)
1253         * thread.cc: Reformat to GNU standards.
1254
1255 2000-01-11  DJ Delorie  <dj@cygnus.com>
1256
1257         * ROADMAP: new
1258
1259 2000-01-11  DJ Delorie  <dj@cygnus.com>
1260
1261         * fhandler_zero.cc: new, emulate /dev/zero
1262         * testsuite/winsup.api/devzero.c: new, test /dev/zero
1263         * Makefile.in: build fhandler_zero.o
1264         * fhandler.h: add support for /dev/zero
1265         * hinfo.cc: ditto
1266         * path.cc: ditto
1267
1268 2000-01-11  DJ Delorie  <dj@cygnus.com>
1269
1270         * mmap.cc (mmap): MSDN says *one* of FILE_MAP_*, fix flags for
1271         MAP_PRIVATE.
1272
1273 Mon Jan 10 01:11:00 2000  Corinna Vinschen  <corinna@vinschen.de>
1274
1275         * security.cc (acl_access): New function.
1276         * syscalls.cc (access): Call acl_access if ntsec is on.
1277
1278 Mon Jan 10 01:11:00 2000  Corinna Vinschen  <corinna@vinschen.de>
1279
1280         * fhandler.cc (get_file_owner): Use of ReadSD() instead of
1281         GetFileSecurity().
1282         (get_file_group): Ditto.
1283
1284 Sun Jan  9 15:43:07 2000  Christopher Faylor <cgf@cygnus.com>
1285
1286         * debug.cc (struct thread_start): Add a flag to determine whether a
1287         field is in use.  Eliminate thread_start_ix since it was not
1288         thread-safe.
1289         (thread_stub): Use notavail flag to control whether the entry in
1290         start_buf can be reused.
1291         (makethread): Ditto.
1292
1293 Sun Jan  9 20:18:00 2000  Corinna Vinschen  <corinna@vinschen.de>
1294
1295         * security.cc (alloc_sd): Rearrange order of ACE creation.
1296         (setacl): Optimize creation of ACEs related to inheritance.  Code
1297         cleanup.
1298         (aclcheck): Disable check for existance of DEF_)CLASS_OBJ.
1299
1300 Sat Jan  8 18:42:32 2000  Christopher Faylor <cgf@cygnus.com>
1301
1302         * mkvers.h: Reorg fix.
1303
1304 Sat Jan  8 20:00:00 2000  Corinna Vinschen  <corinna@vinschen.de>
1305
1306         * cygwin.din: Add new acl API calls.
1307         * grp.cc (getgroups): Change to work for any username.
1308         * security.cc (get_id_from_sid): Change to work with acl API.
1309         (is_grp_member): New function.
1310         (get_nt_attribute): Rewritten.
1311         (add_access_allowed_ace): New function.
1312         (add_access_denied_ace): Ditto.
1313         (alloc_sd): Rewritten.
1314         (setacl): New function.
1315         (getace): Ditto.
1316         (searchace): Ditto.
1317         (getacl): Ditto.
1318         (acl): Ditto.
1319         (facl): Ditto.
1320         (aclcheck): Ditto.
1321         (acecmp): Ditto.
1322         (aclsort): Ditto.
1323         (acltomode): Ditto.
1324         (aclfrommode): Ditto.
1325         (acltopbits): Ditto.
1326         (aclfrompbits): Ditto.
1327         (permtostr): Ditto.
1328         (acltotext): Ditto.
1329         (permfromstr): Ditto.
1330         (aclfromtext): Ditto.
1331         * syscalls.cc (access): Set errno again when needed.
1332         * include/cygwin/acl.h: New file.
1333         * include/sys/acl.h: Ditto.
1334
1335 Sat Jan  8 14:46:19 2000  Christopher Faylor <cgf@cygnus.com>
1336
1337         * Makefile.in: Add cygwin DLL specific CFLAGS define.
1338
1339 Fri Jan  7 21:01:57 2000  Christopher Faylor <cgf@cygnus.com>
1340
1341         * exceptions.cc (interrupt_on_return): Properly coerce assignment of
1342         sigsave.func.
1343
1344 2000-01-07  Mumit Khan  <khan@xraylith.wisc.edu>
1345
1346         * acconfig.h: New file.
1347         * configure.in Add check for memset builtin.
1348         (AC_CONFIG_HEADER): Use.
1349         (STRACE_HHMMSS): Define instead of substituting.
1350         (_MT_SAFE): Likewise.
1351         (_CYG_THREAD_FAILSAFE): Likewise.
1352         (DEBUGGING): Likewise.
1353         (MT_SAFE): Substitute as a yes/no variable.
1354         * Makefile.in: Remove DEBUGGING, STRACE_HHMMSS, and THREAD_FAILSAFE
1355         variables and add DEFS. Update usage of MT_SAFE to reflect yes/no
1356         values. Add config.h to winsup.h dependency.
1357         (CFLAGS_CONFIG): Update.
1358         (INCLUDES): Prepend `-I.'.
1359         * utils/Makefile.in (INCLUDES): Likewise.
1360         * winsup.h: Conditionally include config.h.
1361         * thread.cc: Likewise.
1362         * config.h.in: Generate new file.
1363         * configure: Regenerate.
1364
1365
1366 Fri Jan  7 16:21:01 2000  Christopher Faylor <cgf@cygnus.com>
1367
1368         * dcrt0.cc (dll_crt0): Allow signal handling for dynamically loaded
1369         case.
1370
1371 Thu Jan  6 00:30:12 2000  Corinna Vinschen  <corinna@vinschen.de>
1372
1373         * path.cc (symlink_check_one): Initialize local variable `unixattr'
1374         before calling `get_file_attribute'.
1375         * syscalls.cc (chown): Ditto.
1376         * security.cc (get_nt_attribute): Eliminate attribute copying from
1377         world to user/group in case of missing ACEs.
1378         (alloc_sd): Set special rights for administrators group only if it's
1379         neither owner nor group.
1380         * utils/mkpasswd.c: Create entry for local group administrators (SID
1381         544).
1382
1383 Thu Jan 6 00:21:31 2000 Christopher Faylor <cgf@cygnus.com>
1384
1385         Change function calls to __stdcall throughout.
1386         * exceptions.cc (handle_exceptions): Probe stack for return address to
1387         use with new signal method.  Fill out sigsave.cx with this information.
1388         (call_handler): Use sigsave.cx if it is available, rather than trying
1389         to find the context of the main thread.
1390         (interrupt_on_return): Use address of context rather than
1391         pass-by-reference.
1392         (interrupt_now): Ditto.
1393
1394 Thu Jan  6 00:21:31 2000  Corinna Vinschen  <corinna@vinschen.de>
1395
1396         * grp.cc (getgroups): Return supplementary groups now.
1397         * include/limits.h: Define NGROUP_MAX as 16 now.