]> sourceware.org Git - newlib-cygwin.git/blame - winsup/cygwin/ChangeLog
* ps.cc (main): Use uid or uid32 member of struct external_pinfo
[newlib-cygwin.git] / winsup / cygwin / ChangeLog
CommitLineData
3a571063
CV
12002-05-29 Corinna Vinschen <corinna@vinschen.de>
2
3 * external.cc (fillout_pinfo): Use new version define.
4 * include/sys/cygwin.h (external_pinfo): Define
5 EXTERNAL_PINFO_VERSION_16_BIT and EXTERNAL_PINFO_VERSION_32_BIT
6 instead of just EXTERNAL_PINFO_VERSION.
7
9fef0139
CF
82002-05-29 Christopher Faylor <cgf@redhat.com>
9
10 * external.cc (fillout_pinfo): Set new version field in external_pinfo
11 structure.
12 * include/sys/cygwin.h (external_pinfo): Replace strace_file with
13 version field.
14
a8d7ae61
CV
152002-05-29 Corinna Vinschen <corinna@vinschen.de>
16
17 Change internal uid datatype from __uid16_t to __uid32_t
18 throughout.
19 * cygwin.din: Export new symbols getpwuid32, getpwuid_r32, getuid32,
20 geteuid32, setuid32, seteuid32.
21 * passwd.cc (getpwuid32): New function.
22 (getpwuid_r32): Ditto.
23 * syscalls.cc (seteuid32): Ditto.
24 (setuid32): Ditto.
25 * uinfo.cc (getuid32): Ditto.
26 (geteuid32): Ditto.
27 * winsup.h (uid16touid32): New macro, correclt casting from __uid16_t
28 to __uid32_t.
29 (gid16togid32): Ditto fir gids.
30 (getuid32): Declare.
31 (geteuid32): Ditto.
32 (getpwuid32): Ditto.
33 * include/sys/cygwin.h (struct external_pinfo): Add members uid32 and
34 gid32.
35
9854c44c
CV
362002-05-29 Corinna Vinschen <corinna@vinschen.de>
37
38 * include/cygwin/socket.h: Protect some symbols against multiple
39 definition.
40 * include/netinet/ip.h: Ditto.
41 * include/netinet/tcp.h: Ditto.
42
432002-05-29 Wu Yongwei <adah@netstd.com>
44
45 * include/netinet/ip.h: Replace by BSD derived version of the file.
46 * include/netinet/tcp.h: Ditto.
47 * include/netinet/udp.h: New file.
48 * include/cygwin/ip.h: Remove.
49
cef69559
CF
502002-05-29 Christopher Faylor <cgf@redhat.com>
51
52 * dtable.cc (dtable::init_std_file_from_handle): Attempt stronger
53 detection of invalid handle.
54 (handle_to_fn): Detect pathological condition where NT resets the
55 buffer pointer to NULL on an invalid handle.
56
a761ad82
CF
572002-05-28 Christopher Faylor <cgf@redhat.com>
58
59 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Properly
60 check for whether we should be opening the file to search for #!
654783b6
CF
61 characters. Set path_conv structure execability, too, when
62 appropriate.
a761ad82 63
7ea70e99
CV
642002-05-28 Corinna Vinschen <corinna@vinschen.de>
65
66 * security.cc (set_security_attribute): Call getegid32() instead of
67 getegid().
68 * include/cygwin/grp.h: Declare getegid32().
69
57196405
CV
702002-05-28 Corinna Vinschen <corinna@vinschen.de>
71
72 Change internal gid datatype from __gid16_t to __gid32_t
73 throughout.
74 * cygwin.din: Export new symbols chown32, fchown32, getegid32,
75 getgid32, getgrgid32, getgrnam32, getgroups32, initgroups32, lchown32,
76 setgid32, setegid32, getgrent32.
77 * grp.cc (grp32togrp16): New static function.
78 (getgrgid32): New function.
79 (getgrnam32): Ditto.
80 (getgrent32): Ditto.
81 (getgroups32): Change name of internal function from getgroups.
82 (getgroups32): New function.
83 (initgroups32): Ditto.
84 * syscalls.cc (chown32): Ditto.
85 (lchown32): Ditto.
86 (fchown32): Ditto.
87 (setegid32): Ditto.
88 (setgid32): Ditto.
89 * uinfo.cc (getgid32): Ditto.
90 (getegid32): Ditto.
91 * include/cygwin/grp.h: Remove declaration of getgrgid() and getgrnam().
92 Declare getgrgid32() and getgrnam32() instead. Declare getgid32().
93
0c12979b
CF
942002-05-27 Christopher Faylor <cgf@redhat.com>
95
96 * autoload.cc (noload): Properly mask low order word for determining
97 number of bytes to pop.
98
57e2ae68
CF
992002-05-27 Christopher Faylor <cgf@redhat.com>
100
101 * fhandler_disk_file.cc (fhandler_disk_file::fstat): Minor logic
102 cleanup.
103
2402700d
CF
1042002-05-27 Christopher Faylor <cgf@redhat.com>
105
106 * autoload.cc (LoadFuncEx): Define via new LoadFuncEx2 macro.
107 (LoadFuncEx2): Adapted from LoadFuncEx. Provides control of return
108 value for nonexistent function.
109 (NtQueryObject): Declare.
110 (IsDebuggerPresent): Declare via LoadFuncEx2 and always return true if
111 not available.
112 * debug.h (being_debugged): Just rely on IsDebuggerPresent return
113 value.
114 * dtable.cc (handle_to_fn): New function.
115 (dtable::init_std_file_from_handle): Attempt to derive std handle's
116 name via handle_to_fn.
117 (dtable::build_fhandler_from_name): Fill in what we can in path_conv
118 structure when given a handle and path doesn't exist.
119 * fhandler.cc (fhandler_base::open): Don't set the file pointer here.
120 Use pc->exists () to determine if file exists rather than calling
121 GetFileAttributes again.
122 * fhandler.h (fhandler_base::exec_state_isknown): New method.
123 (fhandler_base::fstat_helper): Add extra arguments to declaration.
124 (fhandler_base::fstat_by_handle): Declare new method.
125 (fhandler_base::fstat_by_name): Declare new method.
126 * fhandler_disk_file (num_entries): Make __stdcall.
127 (fhandler_base::fstat_by_handle): Define new method.
128 (fhandler_base::fstat_by_name): Define new method.
129 (fhandler_base:fstat): Call fstat_by_{handle,name} as appropriate.
130 (fhandler_disk_file::fstat_helper): Accept extra arguments for filling
131 out stat structure. Move handle or name specific stuff to new methods
132 above.
133 (fhandler_disk_file::open): Use real_path->exists rather than calling
134 GetFileAttributes again.
135 * ntdll.h (FILE_NAME_INFORMATION): Define new structure.
136 (OBJECT_INFORMATION_CLASS): Partially define new enum.
137 (OBJECT_NAME_INFORMATION): Define new structure.
138 (NtQueryInformationFile): New declaration.
139 (NtQueryObject): New declaration.
140 * path.cc (path_conv::fillin): Define new method.
141 * path.h (path_conv::fillin): Declare new method.
142 (path_conv::drive_thpe): Rename from 'get_drive_type'.
143 (path_conv::volser): Declare new method.
144 (path_conv::volname): Declare new method.
145 (path_conv::root_dir): Declare new method.
146 * syscalls.cc (fstat64): Send real path_conv to fstat as second
147 argument.
148
74b2f73e
CV
1492002-05-24 Pierre Humblet <pierre.humblet@ieee.org>
150
151 * security.cc (lsa2str): New function.
152 (get_priv_list): Call lsa2str instead of sys_wcstombs.
153
75bf2931
CV
1542002-05-22 Pierre Humblet <pierre.humblet@ieee.org>
155
156 * syscalls.cc (seteuid): Do not take allow_ntsec into account.
157 Attempt to use an existing or new token even when the uid
158 matches orig_uid, but the gid is not in the process token.
159 Major reorganization after several incremental changes.
160 (setegid): Do not take allow_ntsec into account. Minor
161 reorganization after several incremental changes.
162
918a268c
CF
1632002-05-26 Christopher Faylor <cgf@redhat.com>
164
165 * debug.h (being_debugged): New macro.
166 * dtable.cc (dtable::extend): Use new macro.
167 * exceptions.cc (try_to_debug): Ditto.
168 * strace.cc (strace::hello): Only output debugging info when we think
169 we're being debugged.
170
0cfbfc24
CF
1712002-05-25 Robert Collins <rbtcollins@hotmail.com>
172
173 * winsup.h: Remove duplicate declarations of malloc_lock and
174 malloc_unlock.
175
d7b4a300
CF
1762002-05-24 Christopher Faylor <cgf@redhat.com>
177
178 Remove unneeded sync.h, where appropriate, throughout.
179 Remove unneeded heap.h, where appropriate, throughout.
180 Remove unneeded exceptions.h, where appropriate, throughout.
181 Remove unneeded perprocess.h, where appropriate, throughout.
182
908f9b65
CV
1832002-05-22 Pierre Humblet <pierre.humblet@ieee.org>
184
185 * security.cc (create_token): Call __sec_user() instead of
186 sec_user() to remove dependence on allow_ntsec. Verify that
187 the returned sd is non-null.
188
a6247be9
RC
1892002-05-25 Robert Collins <rbtcollins@hotmail.com>
190
191 * gmon.c (fake_sbrk): Correctly return -1 on failed malloc's.
192
ff938546
CF
1932002-05-24 Christopher Faylor <cgf@redhat.com>
194
195 * dtable.cc (dtable::build_fhandler_from_name): Just pass posix path
196 along to set_name via return_and_clear_normalized_path.
197 (dtable::build_fhandler): New method with const char * argument.
198 (dtable::reset_unix_path_name): Eliminate.
199 (dtable::dup_worker): Use correct build_fhandler method.
200 * mmap.cc (mmap_record::alloc_fh): Ditto.
201 * dtable.h (dtable::build_fhandler): New method.
202 (dtable::reset_unix_path_name): Eliminate.
203 * fhandler.cc (fhandler_base::set_name): Assume that unix_name has
204 already been cmalloced.
205 (fhandler_base::reset_unix_path_name): Eliminate.
206 (fhandler_base::~fhandler_base): Coercion for cfree.
207 * fhandler.h (fhandler_base::unix_path_name): Make const char *.
208 (fhandler_base::win32_path_name): Ditto.
209 (fhandler_base::reset_unix_path_name): Eliminate.
210 * fhandler_disk_file.cc (fhandler_cygdrive::set_drives): Accommodate
211 const char *ness of win32_path_name.
212 * fhandler_socket.cc (fhandler_socket::fstat): Accommodate new set_name
213 requirements.
214 * path.cc (path_conv::return_and_clear_normalized_path): New method.
215 (path_conv::clear_normalized_path): Eliminate.
216 (path_conv::~path_conv): Ditto.
217 (path_conv::check): Accommodate new build_fhandler method.
218 * path.h (path_conv::~path_conv): Eliminate.
219 (path_conv::clear_normalized_path): Ditto.
220 (path_conv::return_and_clear_normalized_path): Declare new method.
221
b4bb31ad
CF
2222002-05-23 Christopher Faylor <cgf@redhat.com>
223
224 * path.cc (path_conv::check): Make sure any trailing path component is
225 part of potential normalized posix path.
226
b2f338e9
CF
2272002-05-23 Christopher Faylor <cgf@redhat.com>
228
229 * smallprint.c (__small_vsprintf): Implement '%o' after all these
230 years.
231
fc240f58
CF
2322002-05-22 Christopher Faylor <cgf@redhat.com>
233
234 * fhandler.h (fhandler_virtual::exists): Eliminate path argument.
235 (fhandler_proc::exists): Ditto.
236 (fhandler_registry::exists): Ditto.
237 (fhandler_process::exists): Ditto.
238 * fhandler_proc.cc (fhandler_proc::exists): Ditto. Use built-in name.
239 * fhandler_process.cc (fhandler_process::exists): Ditto.
240 (fstat): Ditto.
241 * fhandler_registry.cc (fhandler_registry::exists): Ditto.
242 (fhandler_registry::fstat): Ditto.
243 * fhandler_virtual.cc (fhandler_virtual::opendir): Ditto.
244 * path.cc (path_conv::check): Ditto. Add debugging.
245
2462002-05-22 Christopher Faylor <cgf@redhat.com>
247
248 * syscalls.cc (dup): Always call dup2 for error handling.
249
1d2b71d6
CV
2502002-05-22 Corinna Vinschen <corinna@vinschen.de>
251
252 * include/cygwin/types.h: Revert previous patch.
253
36f86a55
CV
2542002-05-22 Corinna Vinschen <corinna@vinschen.de>
255
256 * include/cygwin/types.h: Define pthread stuff only if _POSIX_THREADS
257 is defined.
258
2d6ce5c2
CV
2592002-05-19 Pierre Humblet <pierre.humblet@ieee.org>
260
fc240f58 261 * security.cc (open_local_policy): Initialize lsa to
2d6ce5c2
CV
262 INVALID_HANDLE_VALUE instead of NULL.
263 (get_logon_server_and_user_domain): Test for INVALID_HANDLE_VALUE
264 instead of NULL.
265 (create_token): Both of the above.
266
9ded8bd8
CF
2672002-05-18 Christopher Faylor <cgf@redhat.com>
268
269 * fhandler_disk_file.cc (fhandler_disk_file::fstat): Make handling of
270 nlink consistent for remote files.
271
2701126a
CF
2722002-05-18 Christopher Faylor <cgf@redhat.com>
273
274 * path.cc (path_conv::check): Always set executable bit for executable
275 extension.
276
b05b7d84
CF
2772002-05-17 Christopher Faylor <cgf@redhat.com>
278
279 * fhandler.cc (fhandler_base::lseek): Avoid calling SetFilePointer with
280 high order part of 64 bit address on OS's which do not support that
281 kind of operation. Otherwise Windows 95 will become confused.
282
d6dc9825
CV
2832002-05-16 Pierre Humblet <pierre.humblet@ieee.org>
284
285 * fhandler_raw.cc (fhandler_dev_raw::open): Replace set_errno()
286 by __seterrno_from_win_error().
287 * security.cc (open_local_policy): Ditto.
288 (get_lsa_srv_inf): Ditto.
289 (get_user_groups): Ditto.
290 (get_user_primary_group): Ditto.
291 (create_token): Ditto.
292 (subauth): Ditto.
293
35a89cbe
CV
2942002-05-17 Corinna Vinschen <corinna@vinschen.de>
295
296 * times.cc (utimes): Use FILE_WRITE_ATTRIBUTES even on 9x/Me when
297 opening file for writing timestamp.
298 * wincap.cc: Remove flag has_specific_access_rights.
299 * wincap.h: Ditto.
300
ebbdc703
CV
3012002-05-13 Pierre Humblet <pierre.humblet@ieee.org>
302
303 * syscalls.cc (seteuid): Set default dacl in process token.
304 Replace in-line code by call to verify_token().
305 (setegid): Reverse change from 2002-01-21. Add call to
306 RevertToSelf and set primary group in impersonation token.
307 * security.cc (create_token): Store pgrpsid in token security
308 descriptor, except if it already appears in my_grps.
309 Use sec_acl() in place of get_dacl().
310 (verify_token): Create from code in seteuid(), with tighter checks.
311 (get_dacl) Deleted.
312 (get_group_sidlist): Add argument to indicate if pgrpsid is already
313 in the groups.
314 * security.h: Define verify_token().
315 * autoload.cc: Load GetKernelObjectSecurity().
316
feb7f1a9
CF
3172002-05-13 Mark Bradshaw <bradshaw@staff.crosswalk.com>
318
319 * cygwin.din: Add strlcat and strlcpy.
320 * include/cygwin/version.h: Increment API minor version number.
321
fc240f58 3222002-05-09 Pierre Humblet <pierre.humblet@ieee.org>
043bc3e1
CV
323
324 * shared.cc (__sec_user): Split into sec_acl() and call orig_sid().
325 (sec_acl): Create from part of __sec_user(), except creator/owner.
326 * security.h: Define sec_acl() and MAX_DACL_LEN.
327
c8b20196
CF
3282002-05-12 Christopher Faylor <cgf@redhat.com>
329
330 * fhandler_disk_file.cc (fhandler_disk_file::open): Avoid using
331 O_DIROPEN when OS doesn't support it. Return proper errno in that
332 case.
333
b4f8d31f
CF
3342002-05-12 Christopher Faylor <cgf@redhat.com>
335
56caca1d
CF
336 * syscalls.cc (_read): Change error to EBADF if attempt to read from a
337 non-readable fd.
b4f8d31f 338
29ee580d
CF
3392002-05-11 Christopher Faylor <cgf@redhat.com>
340
341 * fhandler.h (executable_states): For now, make dont_care_if_executable
342 equivalent to not_executable.
343 * sys/mount.h: Define MOUNT_NOTEXEC.
344 * path.h (fs_info): New class.
345 (path_conv): Move fs-specific fields to new 'fs' structure.
346 (path_conv::update_fs_info): Move to fs_info and rename to just 'update'.
347 * path.cc (fs_info::update): Ditto. Return 'true' if successful.
348 (fillout_mntent): Add ',noexec' to list of reported options.
349
b84621d2
CF
3502002-05-11 Christopher Faylor <cgf@redhat.com>
351
352 * fhandler_virtual.cc (fhandler_virtual::close): Quiet a compiler
353 warning.
354
9ba913a5
CF
3552002-05-10 Christopher January <chris@atomice.net>
356
357 * autoload.cc: Add dynamic load statements for
358 'ZwQueryInformationProcess' and 'ZwQueryVirtualMemory'.
359 * fhandler.h: Change type of bufalloc and filesize members of
360 fhandler_virtual from int to size_t. Change type of position member
361 from __off32_t to __off64_t. Add new fileid member to fhandler_virtual
362 class. Make seekdir take an __off64_t argument. Make lseek take an
363 __off64_t argument. Add fill_filebuf method to fhandler_virtual. Add
364 fill_filebuf method to fhandler_proc. Add fill_filebuf method to
365 fhandler_registry. Add fill_filebuf method to fhandler_process. Add
366 saved_pid and saved_p members to fhandler_process.
367 * fhandler_proc.cc (proc_listing_array): Add 'loadavg', 'meminfo', and 'stat'.
368 (proc_fhandlers array): Ditto.
369 (fhandler_proc::open): Use fill_filebuf to flesh out the file contents.
370 (fhandler_proc::fill_filebuf): New method.
371 (fhandler_proc::format_proc_meminfo): Ditto.
372 (fhandler_proc::format_proc_stat): Ditto.
373 (fhandler_proc::format_proc_uptime): Ditto.
374 * fhandler_process.cc (process_listing): Add 'stat' and 'statm'.
375 (fhandler_process::fstat): Find the _pinfo structure for the process
376 named in the filename. Return ENOENT if the process is no longer
377 around. Set the gid and uid fields of the stat structure.
378 (fhandler_process::open): Store pid and pointer to _pinfo structure in
379 saved_pid and saved_p respectively. Use fill_filebuf to flesh out file
380 contents.
381 (fhandler_proc::fill_filebuf): New method.
382 (format_process_stat): New function.
383 (format_process_status): Ditto.
384 (format_process_statm): Ditto.
385 (get_process_state): Ditto.
386 (get_mem_values): Ditto.
387 * fhandler_registry.cc (fhandler_registry::seekdir): Change argument
388 type from __off32_t to __off64_t.
389 (fhandler_registry::fill_filebuf): New method.
390 * fhandler_virtual.cc (fhandler_virtual::seekdir): Change argument type
391 from __off32_t to __off64_t.
392 (fhandler_virtual::lseek): Ditto.
393 (fhandler_virtual::fill_filebuf): New method.
394 (fhandler_virtual::fhandler_virtual): Initialise fileid to -1.
395 * wincap.cc: Set flag has_process_io_counters appropriately.
396 * wincap.h: Add flag has_process_io_counters.
397
3982002-05-09 Christopher Faylor <cgf@redhat.com>
f561f644
CF
399
400 * syscalls.cc (_write): Change error to EBADF if attempt to write to a
56caca1d 401 non-writeable fd.
f561f644 402
6327de5f
CV
4032002-05-08 Corinna Vinschen <corinna@vinschen.de>
404
405 * cygheap.h (class cygheap_user): Add member `orig_psid'.
406 Add method `orig_sid()'.
407 * cygheap.cc (cygheap_user::set_sid): Maintain orig_psid.
408
795b46cf
CV
4092002-04-28 Norbert Schulze <norbert.schulze@web.de>
410
411 * localtime.cc (tzsetwall): Use wildabbr if generated timezone name
412 length < 3.
413
a9917779
CV
4142002-05-05 Pierre Humblet <pierre.humblet@ieee.org>
415
416 * spawn.cc (spawn_guts): Move call to set_process_privilege()
417 to load_registry_hive().
418 * registry.cc (load_registry_hive): ditto.
419 * fork.cc (fork_parent): Call sec_user_nih() only once.
420
4212002-05-04 Christopher January <chris@atomice.net>
13ee3618
CF
422
423 * path.h (path_conv::path_conv): Initialise normalized_path to NULL.
424
8761c1dc
CF
4252002-05-03 Christopher Faylor <cgf@redhat.com>
426
427 * net.cc (getdomainname): Change second argument of getdomainname to
428 size_t.
429
4302002-05-03 Christopher January <chris@atomice.net>
431
432 * fhandler_proc.cc (proc_listing): Add '.' and '..' to directory
433 listing.
434 (fhandler_proc::open): Change use of mode to flags. If the file does
435 not exist already, fail with EROFS if O_CREAT flag is set. Change
436 EROFS error to EACCES error when writing to a file. Use cmalloc to
437 allocate memory for filebuf.
438 (fhandler_proc::close): Use cfree to free filebuf.
439 (fhandler_proc::get_proc_fhandler): Properly detect attempts to access
440 unknown subdir.
441 * fhandler_process.cc (process_listing): Add '.' and '..' to directory
442 listing.
443 (fhandler_process::open): Use cmalloc to allocate memory for filebuf.
444 (fhandler_process::close): Use cfree to free filebuf.
445 * fhandler_registry.cc (registry_listing): Add . and '..' to directory
446 listing.
447 (fhandler_registry::open): Move check for open for writing before
448 open_key. Use cmalloc to allocate memory for filebuf.
449 (fhandler_registry::close): Use cfree to free filebuf.
450 (fhandler_registry::telldir): Use lower 16 bits of __d_position as
451 position in directory.
452 (fhandler_registry::seekdir): Ditto.
453 * fhandler_virtual.cc (fhandler_virtual::write): Change EROFS error to
454 EACCES error.
455 (fhandler_virtual::open): Set the NOHANDLE flag.
456 (fhandler_virtual::dup): Add call to fhandler_base::dup. Allocate
457 child's filebuf using cmalloc. Copy filebuf from parent to child.
458 (fhandler_virtual::close): Use cfree to free filebuf.
459 (fhandler_virtual::~fhandler_virtual): Ditto.
460 (from Chris Faylor <cgf@redhat.com>).
461 (fhandler_registry::readdir): Add support for '.' and '..' files in
462 subdirectories of /proc/registry.
463 * path.cc (path_conv::check): Do not return ENOENT if a file is not
464 found in /proc.
465
335c87f9
CF
4662002-05-02 Christopher Faylor <cgf@redhat.com>
467
468 * fhandler_proc.cc (fhandler_proc::fstat): Use fhandler name rather
469 than path_conv name.
470 (fhandler_proc::open): Ditto.
471 * fhandler_process.cc (fhandler_process::fstat): Use fhandler name
472 rather than path_conv name.
473 (fhandler_process::open): Ditto.
474 * fhandler_registry.cc (fhandler_registry::fstat): Use fhandler name
475 rather than path_conv name.
476 (fhandler_registry::open): Ditto.
477 * path.cc (path_conv::check): Don't copy posix path when virtual.
478 (mount_info::conv_to_win32_path): Don't zero string when isproc. Just
479 derive normal windows path.
480
481 * path.h (path_conv::clear_normalized_path): Declare new method.
482 * path.cc (path_conv::clear_normalized_path): Define new method.
483 * dtable.cc (build_fhandler_from_name): Clear normalized path when
484 finished to conserve space.
485
3bb7eb44
CF
4862002-05-02 Christopher Faylor <cgf@redhat.com>
487
488 * fhandler_proc.cc (fhandler_proc::fstat): Prime with information from
489 fhandler_base::fstat. Use defines rather than constants for permission
490 settings.
491
d055ecb0
CV
4922002-04-30 Eric Blake <ebb9@email.byu.edu>
493
494 * path.cc (hash_path_name): Improve hash function strength.
495
37143995
RC
4962002-05-02 Robert Collins <rbtcollins@hotmail.com>
497
498 * thread.cc (__pthread_cond_dowait): Fix a race on signalling from a
499 thread woken by the same condition variable it's signalling on. Thanks
500 to Michael Beach for the report and test case.
501
291be307
CF
5022002-05-02 Christopher Faylor <cgf@redhat.com>
503
504 * path.h (pathconv_arg): Add PC_POSIX.
505 (path_conv): Add normalized_path field.
506 * path.cc (path_conv::~path_conv): New destructor.
507 (path_conv::check): Set normalized_path, where appropriate.
508 * dtable.cc (build_fhandler_from_name): Use normalized path from
509 path_conv.
510 * syscalls.cc (chroot): Ditto.
511
512 * cygheap.h: Remove path_prefix_p declaration.
513
5142002-02-26 Christopher January <chris@atomice.net>
515 Christopher Faylor <cgf@redhat.com> (minor fixups)
516
517 * Makefile.in: Add fhandler_proc.o, fhandler_registry.o,
518 fhandler_process.o and fhandler_virtual.o.
519 * dtable.cc (dtable::build_fhandler): Add entries for FH_PROC,
520 FH_REGISTRY and FH_PROCESS. Set unix_name to the normalized posix
521 path.
522 * fhandler.h: Add constants for FH_PROC, FH_REGISTRY and FH_PROCESS.
523 Add class declarations for fhandler_virtual, fhandler_proc,
524 fhandler_registry and fhandler_virtual. Update fhandler_union
525 accordingly.
526 * fhandler_proc.cc: New file. Add implementation for fhandler_proc.
527 * fhandler_virtual.cc: New file. Add implementation for
528 fhandler_virtual.
529 * fhandler_process.cc: New file. Add implementation for
530 fhandler_process.
531 * fhandler_registry.cc: New file. Add implementation for
532 fhandler_registry.
8761c1dc
CF
533 * path.cc (isproc): New macro.
534 (isvirtual_dev): Ditto.
291be307
CF
535 * path.cc (path_conv::check): Add check for virtual devices.
536 * path.cc (mount_info::conv_to_win32_path): Convert paths in /proc to
537 empty Win32 paths.
538 * path.cc (chdir): Replace check for FH_CYGDRIVE with more generic
539 isvirtual_dev macro. Force setting of posix path for virtual
540 fhandlers.
8761c1dc 541 * path.h (path_prefix_p): Declare.
291be307
CF
542
543
fee93846
CF
544Wed May 1 16:06:02 2002 Jason Tishler <jason@tishler.net>
545
546 * include/cygwin/types.h: Include <sys/sysmacros.h>.
547
9b15f5fa
CV
548Wed Apr 17 11:27:04 2002 Jason Tishler <jason@tishler.net>
549
550 * security.cc (get_lsa_srv_inf): Prevent extraneous backslashes for
551 the NT Domain case.
552
4deace13
CV
5532002-04-12 Corinna Vinschen <corinna@vinschen.de>
554
555 * net.cc (cygwin_accept): Set socket type for accepted socket.
556 (socketpair): Set socket type for both sockets.
557
5582002-04-12 Egor Duda <deo@logos-m.ru>
559
291be307 560 * fhandler.h (class fhandler_socket): New member to store socket type.
4deace13
CV
561 (fhandler_socket::get_socket_type): Access it.
562 (fhandler_socket::set_socket_type): Ditto.
563 * net.cc (cygwin_socket): Store socket type.
564 (cygwin_connect): Disable security checks for connectionless sockets.
565 (cygwin_accept): Ditto.
566
dbe67a81
CF
5672002-04-09 Mark Bradshaw <bradshaw@staff.crosswalk.com>
568
569 * cygwin.din: Add strptime.
570 * include/cygwin/version.h: Increment API version number.
571
464b3e80
CV
5722002-04-09 Corinna Vinschen <corinna@vinschen.de>
573
574 * fork.cc (fork_child): Call fixup_mmaps_after_fork() somewhat earlier.
575
d78bda7b
CV
5762002-04-09 Corinna Vinschen <corinna@vinschen.de>
577
578 * fhandler.cc (fhandler_base::open): Set read-only bit in
579 file_attributes when adequate.
580
8996623b
CF
5812002-03-28 Christopher Faylor <cgf@redhat.com>
582
583 * times.cc (gettimeofday): Fix typo in previous patch.
584
7d7524e5
CF
5852002-03-27 Wu Yongwei <adah@netstd.com>
586
587 * times.cc (gettimeofday): Revert to setting timezone info if tz !=
588 NULL.
589
2f3126f6
CF
5902002-03-21 Christopher Faylor <cgf@redhat.com>
591
592 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Always set
593 st_[ug]id to value derived from get_file_attributes.
594
45d2ea8a
CF
5952002-03-21 Christopher Faylor <cgf@redhat.com>
596
597 * spawn.cc (find_exec): Return input if file not found.
598
99dbafac
CV
5992002-03-19 Boris Schaeling <boriss@web.de>
600
291be307 601 * poll.cc (poll): Add support for invalid descriptors.
99dbafac 602
b0359971
RC
6032002-03-15 Robert Collins <rbtcollins@hotmail.com>
604
605 * fhandler.h (fhandler_termios::lseek): Override lseek.
606 * fhandler_termios.cc (fhandler_termios::lseek): Implement this.
607
59a2339f
CF
6082002-03-15 Christopher Faylor <cgf@redhat.com>
609
610 * cygserver.cc: Include stdlib.h for exit declaration.
611 * threaded_queue.cc: Ditto.
612
ca175377
CF
6132002-03-15 Christopher Faylor <cgf@redhat.com>
614
615 * pinfo.cc (pinfo::init): Use PID_ALLPIDS flag to control when a
616 redirected block should be marked as nonexistent.
617 (winpids::add): Use PID_ALLPIDS when looking for all pids.
618 * cygwin.h (PID_ALLPIDS): New enum element.
619
d78bda7b 6202002-03-15 Corinna Vinschen <corinna@vinschen.de>
2f263187 621
291be307 622 * glob.c (stat32_to_STAT): New function.
2f263187
CV
623 (g_lstat): Call user space functions always with 32 bit struct stat
624 as a workaround.
625 (g_stat): Ditto.
626 * include/glob.h (struct glob): Don't prototype function pointers
627 when compiling Cygwin.
628
4af6d4a9
CF
6292002-03-14 Christopher Faylor <cgf@redhat.com>
630
631 * pinfo.cc (pinfo::init): Properly handle execed process stub when
632 PID_NOREDIR is specified.
633
6ea9c716
CV
6342002-03-13 Boris Schaeling <boriss@web.de>
635
e10c087b
CF
636 * poll.cc (poll): Remove variable open_fds. Rearrange and add code to
637 fix settings of revents.
6ea9c716 638
d78bda7b 6392002-03-13 Corinna Vinschen <corinna@vinschen.de>
bbe09139
CV
640
641 * mmap.cc (mmap_record::map_map): Return -1 if VirtualProtect fails.
642 (list::erase): New method with no argument. Erase latest record
643 added.
644 (mmap64): Fail if map_map() fails.
645
d78bda7b 6462002-03-12 Corinna Vinschen <corinna@vinschen.de>
cb4589f4
CV
647
648 * sysconf.cc (sysconf): Fix condition.
649
d78bda7b 6502002-03-11 Corinna Vinschen <corinna@vinschen.de>
2817e0dc
CV
651
652 * mmap.cc (msync): Check area given by addr and len for being a
653 contigeous mmap'd region.
654
d78bda7b 6552002-03-11 Corinna Vinschen <corinna@vinschen.de>
713fb38b
CV
656
657 * fork.cc (fork_child): Call fixup_mmaps_after_fork() before
658 closing parent process handle. Call fixup_mmaps_after_fork()
659 with parent process handle as parameter.
660 * mmap.cc (mmap_record::access): New method.
661 (fixup_mmaps_after_fork): Take process handle as parameter.
662 In case of FILE_MAP_COPY access, copy valid memory regions to child.
663 * pinfo.h (fixup_mmaps_after_fork): Change prototype accordingly.
664
d78bda7b 6652002-03-07 Corinna Vinschen <corinna@vinschen.de>
c8c3824d
CV
666
667 * autoload.cc (NetGetDCName): Add symbol.
668 (NetServerEnum): Remove symbol.
669 * security.cc (get_lsa_srv_inf): Call NetGetDCName() instead of
670 NetServerEnum() since it's faster. Don't call it at all if machine
671 is not a domain member.
672
9420d2b8
CF
6732002-03-06 Christopher Faylor <cgf@redhat.com>
674
675 * path.cc (normalize_posix_path): Avoid runs of '.'s > 2.
676
07a21bce
CF
6772002-03-05 Christopher Faylor <cgf@redhat.com>
678
679 * errno.cc: Change EPERM associated text to "Operation not permitted"
680 throughout.
681
eeac69d8
CF
6822002-03-05 Christopher Faylor <cgf@redhat.com>
683
684 * fhandler_socket.cc (fhandler_socket::close): Respond to signals while
685 looping, waiting for socket to close. Superstitiously clear last error
686 when WSAEWOULDBLOCK.
687
241a7c5a
RC
6882002-03-05 Robert Collins <rbtcollins@hotmail.com>
689
291be307 690 * cygserver_transport_pipes.cc (transport_layer_pipes::transport_layer_pipes):
241a7c5a
RC
691 Always init - until static members work correctly.
692 * shm.cc (shmget): Initialize the security descriptor - thanks Corinna!
291be307 693 * include/sys/ipc.h: Make the ipc control constants partitioned off from the sem
241a7c5a
RC
694 control constants.
695
ad2864f4
CV
6962002-03-04 Christian Lestrade <christian.lestrade@free.fr>
697
698 * include/sys/termios.h: Define _POSIX_VDISABLE. Define CCEQ macro.
699 * fhandler_termios.cc: Include <sys/termios.h>.
700 (line_edit): Recognize disabled c_cc[] chars. Ignore VDISCARD when
701 not in ICANON mode.
702
59149930
CV
7032002-03-04 Dmitry Timoshkov <dmitry@baikal.ru>
704
705 * syscalls.cc (truncate64): Use ftruncate64 directly to not lose
706 upper 32 bits.
707
7c3617cc
RC
7082002-03-04 Robert Collins <rbtcollins@hotmail.com>
709
710 * cygserver_shm.cc (delete_shmnode): New function.
711 (client_request_shm::serve): Use it.
712
038c71f1
RC
7132002-03-04 Robert Collins <rbtcollins@hotmail.com>
714
715 * cygserver_shm.cc (client_request_shm::serve): Implement SHM_DETACH.
716 * shm.cc (shmdt): Implement.
717
67be0adb
RC
7182002-03-04 Robert Collins <rbtcollins@hotmail.com>
719
720 * cygserver_shm.cc: Run indent.
721 (deleted_head): New global for storing shm id's pending deletion.
722 (client_request_shm::serve): Return ENOSYS for invalid request types.
723 Implement SHM_DEL - delete a shm id.
724 * cygserver_shm.h (SHM_DEL): New type value.
725 * shm.cc (delete_inprocess_shmds): New function, does what it's name implies.
726 (shmctl): Implement shm_rmid control type.
727
74c3173a
RC
7282002-03-04 Robert Collins <rbtcollins@hotmail.com>
729
730 * Makefile.in (install): Remove install-bin to allow make install to work.
731
009314a4
RC
7322002-03-03 Robert Collins <rbtcollins@hotmail.com>
733
734 * shm.cc (shmat): Prevent a compile error.
735 (shmdt): Set errno as this function is incomplete.
736
e7729287
CF
7372002-02-28 Christopher Faylor <cgf@redhat.com>
738
739 * times.cc: Remove if 0'd code. Clean up slightly.
740
f449bfef
RC
7412002-02-28 Robert Collins <rbtcollins@hotmail.com>
742
743 * Merged cygwin_daemon into head minus the new shm and ipc exports.
744
7452002-02-28 Robert Collins <rbtcollins@hotmail.com>
746
747 * fhandler_tty.cc (fhandler_tty_slave::open): More debugging.
748 (fhandler_tty_slave::read): Fix printf type for the handle.
749 * tty.cc (tty::common_init): Add a FIXME for security.
750
7512002-01-29 Robert Collins <rbtcollins@hotmail.com>
752
753 * Makefile.in (OBJS): Remove duplicate localtime.o.
754
7552002-01-17 Robert Collins <rbtcollins@hotmail.com>
756
291be307 757 * cygserver.cc (check_and_dup_handle): Consolidate the two variants for
f449bfef
RC
758 simplicity.
759 Add Some basic debug output.
760 (client_request_attach_tty::serve): Use the new debug_printf for clarity.
761 Mark the duplicated handles as inheritable - fixup_after_fork() doesn't reopen
762 tty's.
763
7642002-01-16 Robert Collins <rbtcollins@hotmail.com>
765
766 * cygserver.cc (transport): Correct scope.
767 (client_request_attach_tty::serve): Add more debug information.
768 Fix erroneous use of transport instead of conn.
769 * cygserver_transport_pipes.cc (transport_layer_pipes::close): More debug.
770 (transport_layer_pipes::read): Ditto.
771 (transport_layer_pipes::write): Ditto.
772 (transport_layer_pipes::impersonate_client): Ditto.
773
774Mon Oct 8 7:41:00 2001 Robert Collins <rbtcollins@hotmail.com>
775
776 * cygserver.cc (server_request::process): Rename client_request_shm_get to
777 client_request_shm.
778 * cygserver_process.cc (process_cache::add): Rename to add_task.
779 Use process_cleanup instead of process_request.
780 (process_cache::remove_process): New method.
781 (process::process): Initialize new members.
782 (process::~process): New member.
783 (process::cleanup): New method.
784 (process::add_cleanup_routine): New method.
785 (process_request::process): Rename to process_cleanup.
786 Call the process object's cleanup method and then delete it.
787 (process_process_param::request_loop): Remove the signalling process.
788 * cygserver_shm.cc: Globally rename client_request_shm_get to client_request_shm.
789 (client_request_shm_get::serve): Handle attach request counting.
790 * cygserver_shm.h: Globally rename client_request_shm_get to client_request_shm.
791 (class shm_cleanup): New class.
792 * shm.cc: Globally rename client_request_shm_get to client_request_shm.
793 (client_request_shm::client_request_shm): New constructor for attach requests.
794 (shmat): Use it.
291be307 795 * include/cygwin/cygserver_process.h (class process_request): Rename to
f449bfef
RC
796 process_cleanup.
797 (class cleanup_routine): New class.
798 (class process): New members and methods to allow calling back when the process
799 terminates.
800
801Thu Oct 4 14:12:00 2001 Robert Collins <rbtcollins@hotmail.com>
802 * cygserver.cc (request_loop): Make static.
803 (main): Use new cache constructor syntax.
804 Start cache worker threads.
805 Cleanup the cache at shutdown.
806 * cygserver_process.cc: Run indent.
807 (process_cache::process_cache): Add a trigger to use when adding a process.
808 (process_cache::process): Move process_entry to process.
809 Insert at the end of the list.
810 Trigger the request loop when new process's inserted.
811 (process_cache::process_requests): Do it.
812 (process_cache::add): New method.
813 (process_cache::handle_snapshot): New method.
814 (process::process): Merge in the process_entry fields.
815 (process::handle): Make a stub function.
816 (process::exit_code): New method.
817 (process_request::process): New method.
818 (process_process_param::request_loop): New method.
819 * cygserver_shm.cc: New header dependency - threaded_queue.h.
820 * threaded_queue.cc (threaded_queue::cleanup): Clearer messages.
821 (queue_process_param::stop): Short spinlock on interruptible threads.
822 * threaded_queue.h (class threaded_queue): New constructor.
823 * include/cygwin/cygserver_process.h (process_request): New class.
824 (process_entry): Remove.
825 (process): Merge in process_entry.
826 (process_cache): Inherit from threaded_queue.
827
828Tue Oct 2 23:24:00 2001 Robert Collins <rbtcollins@hotmail.com>
829
830 * cygserver.cc (class server_process_param): Use new constructor syntax.
831 * cygserver_process.cc (process_cache::~process_cache): New function.
832 * threaded_queue.cc: Define condition debug_printf.
833 Run indent.
834 (threaded_queue::cleanup): Move queue_process_param guts to a method.
835 (threaded_queue::process_requests): Ditto.
836 (queue_process_param::queue_process_param): New method.
837 (queue_process_param::~queue_process_param): Ditto.
838 (queue_process_param::start): Ditto.
839 (queue_process_param::stop): Ditto.
291be307 840 * threaded_queue.h (class queue_process_param): Add support for
f449bfef
RC
841 interruptible request loops.
842 * cygwin/include/cygwin/cygserver_process.h (class process_cache): Add
843 destructor.
844
845Tue Oct 2 23:24:00 2001 Robert Collins <rbtcollins@hotmail.com>
846
847 * cygserver_client.cc: New flag allow_daemon to disable the daemon completely.
848 (cygserver_request): Check it.
849 (cygserver_init): Ditto.
850 * environ.cc (parse_thing): Add (no)daemon option.
851
852Tue Oct 2 23:00:00 2001 Robert Collins <rbtcollins@hotmail.com>
853
854 * shm.cc: Update to handle include changes from HEAD.
855
856Tue Oct 2 16:06:00 2001 Robert Collins <rbtcollins@hotmail.com>
857
291be307 858 * Makefile.in: Remove cygserver_shm.o from cygwin1.dll.
f449bfef
RC
859 Rename cygserver_shm_outside.o to cygserver_shm.o.
860 * cygserver.cc (server_request::process): Use the new client_request
861 constructor.
862 * cygserver_client.cc: Remove the #ifdef's stubs for the server method
863 within cygwin.
864 (client_request_attach_tty::client_request_attach_tty): Use the new
865 client_request constructor.
866 (client_request_shutdown::client_request_shutdown): Ditto.
867 (client_request::client_request): Ditto.
291be307 868 * cygserver_shm.cc (client_request_shm_get::serve): Remove the
f449bfef
RC
869 #ifdef'd stub for in-cygwin builds.
870 (client_request_shm_get::client_request_shm_get): Use the new
871 client_request constructor, and remove the in-cygwin variants.
872 * cygserver_shm.h (class client_request_shm_get): #ifndef test the
873 serve method - it's only used in cygserver.
874 * shm.cc (client_request_shm_get::client_request_shm_get): New function.
875 * include/cygwin/cygserver.h (request_header): New constructor.
291be307 876 (class client_request): Use it.
f449bfef
RC
877 New constructor accepting the header size.
878 #ifndef test the server method - it's only used within cygserver.
879 (client_request_get_version): #ifdef test the server method.
880 (client_request_shutdown): Ditto.
881 (client_request_attach_tty): Ditto.
882
883Tue Oct 2 9:57:00 2001 Robert Collins <rbtcollins@hotmail.com>
884
885 * Makefile.in: add threaded_queue.o to cygserver.exe.
886 * cygserver.cc: Include threaded_queue.h
887 (class server_request): Inherit from queue_request.
888 (class server_process_param): Inherit from queue_process_param.
889 (class server_request_queue): Inherit from threaded_queue.
890 (request_loop): Adjust for new types.
291be307 891 (server_request_queue::process_requests): Remove guts to
f449bfef
RC
892 threaded_queue::process_requests.
893 (server_request::server_request): Adjust for new types.
894 (worker_function): Delete.
895 (server_request_queue::create_workers): Delete.
896 (server_request_queue::cleanup): Delete.
897 (server_request_queue::add): Move guts to threaded_queue::add.
898 * threaded_queue.cc: New file.
899 * threaded_queue.h: New file.
900
901Mon Oct 1 12:38:00 2001 Robert Collins <rbtcollins@hotmail.com>
902
903 * cygserver.cc (client_request::serve): New function.
904 * cygserver_process.cc: Inlude <pthread.h> for pthread_once.
905 (process_cache::process_cache): Initialise a crtiical section for write access.
291be307 906 (process_cache::process): Use the critical section. Also add missing entries to
f449bfef
RC
907 the cache.
908 (do_process_init): New function to initalise class process static variables.
291be307 909 (process::process): Ensure that the process access critical section is
f449bfef
RC
910 initialised.
911 (process::handle): Close the handle of old process's when they have terminated
912 and we are returning the handle for a process with the same pid.
913 * cygserver_shm.cc: Run indent.
914 Include cygserver_process.h to allow process cache functionality.
915 (client_request_shm_get::serve): New parameter for process cache support.
916 Use the process cache, not OpenProcess to get a handle to the originating process.
917 Fix a handle leak with token_handle.
291be307 918 * cygserver_shm.h (class client_request_shm_get): Update ::serve for process
f449bfef
RC
919 cache support.
920 * cygserver_transport_pipes.cc: Redefine debug_printf to be conditional on DEBUG.
291be307 921 * include/cygwin/cygserver.h: Do not implement client_request::serve in the
f449bfef 922 header.
291be307
CF
923 * include/cygwin/cygserver_process.h (class process_cache): Add a write access
924 critical section to prevent races when requests from a multithreaded
f449bfef
RC
925 application arrive.
926
927Sun Sep 30 23:41:00 2001 Robert Collins <rbtcollins@hotmail.com>
928
929 * Makefile.in: Add cygserver_process.o to cygserver.exe.
930 * cygserver.cc: Include signal.h and cygwin_version.h.
931 Define debug_printf as a macro.
932 Define DEBUG to a value.
933 (client_request_attach_tty::serve): Add beginning of process cache support.
934 Change from #ifdef DEBUG to work with new DEBUG style.
935 (client_request_get_version::serve): Add beginning of process cache support.
936 (class server_request): New prototype for support of process cache.
937 (class queue_process_param): New class to allow request loop threading.
938 (class server_request_queue): Add beginning of process cache support.
939 Allow request loop threading.
940 (request_loop): Thread function for request loops.
941 (server_request_queue::process_requests): Initiator for threaded request loops.
942 (client_request_shutdown::serve): Add beginning of process cache support.
943 (server_request::server_request): Ditto.
291be307 944 (server_request::process): Use debug_printf. Add beginning of process cache
f449bfef
RC
945 support.
946 (server_request_queue::cleanup): Kill off any request loop threads.
947 (server_request_queue::add): Add beginning of process cache support.
948 (handle_signal): Trigger a shutdown.
949 (main): Print out some useful info at startup - version, date time.
950 Add process cache support.
951 Spawn a separate thread for the transport request loop, thus allowing concurrent
952 support for multiple transports.
291be307 953 * cygserver_client.cc (client_request_get_version::serve): Add process cache
f449bfef
RC
954 support.
955 (client_request_attach_tty::serve): Add process cache support.
956 (client_request_shutdown::serve): Add process cache support.
957 * cygsserver_process.cc: New file with the process cache support.
958 * cygserver_shm.cc: Redefine debug_printf to allow conditional output.
959 * cygwin.din: Export shmdt().
960 * shm.cc: Run indent.
961 Update FIXME's.
962 (shmdt): New function.
963 * include/cygwin/cygserver.h (class client_request): Add process cache support.
964 (class client_request_get_version): Ditto.
965 (class client_request_shutdown): Ditto.
966 (class client_request_attach_tty): Ditto.
967 * include/cygwin/cygserver_process.h: New header for process cache support.
968
969Sun Sep 30 8:52:00 2001 Robert Collins <rbtcollins@hotmail.com>
970
971 * include/cygwin/cygserver_transport.h: Add copyright header.
972 * include/cygwin/cygserver_transport_pipes.h: Ditto.
973 * include/cygwin/cygserver_transport_sockets.h: Ditto.
974
975Sat Sep 29 20:40:00 2001 Robert Collins <rbtcollins@hotmail.com>
976
977 * Makefile.in: Add cygserver_transport_sockets.o to DLL_OFILES.
978 Add cygserver_transport_sockets_outside.o to cygserver.exe.
979 * cygserver.cc: Include new include files.
980 * cygserver_client.cc: Ditto.
981 * cygserver_shm.h: No need to include <sys/socket.h> now.
982 * cygerver_transport.cc: Include new include files.
983 (transport_layer_base::transport_layer_base): Strip back to a stub.
984 (transport_layer_base::listen): Ditto.
985 (transport_layer_base::accept): Ditto.
986 (transport_layer_base::close): Ditto.
987 (transport_layer_base::read): Ditto.
988 (transport_layer_base::write): Ditto.
989 (transport_layer_base::connect): Ditto.
291be307 990 * cygserver_transport_pipes.cc: Include new header
f449bfef
RC
991 "cygwin/cygserver_transport_pipes.h".
992 * cygserver_transport_sockets.cc: New file.
993 * dcrt0.cc: No need to include <sys/socket.h> now.
994 * fhandler_tty.cc: Ditto.
995 * tty.cc: Ditto.
996 * include/cygwin/cygserver_transport.h: Strip the base class to a stub.
997 Remove the cygserver_transport_pipes class.
998 * include/cygwin/cygserver_transport_pipes.h: New file.
999 * include/cygwin/cygserver_transport_sockets.h: New file.
1000
1001Tue Sep 25 16:22:00 2001 Robert Collins <rbtcollins@hotmail.com>
1002
1003 * autoload.cc: Add dynamic load statement for 'ImpersonateNamedPipeClient'.
1004 * Makefile.in: Add new object files, and build instructions for cygserver.exe.
1005 * cygwin.din: Export ftok, shmat, shmctl and shmget.
1006 * dcrt0.cc: Additional includes for cygserver support.
1007 (dll_crt0_1): Initialise the cygserver client.
1008 * fhandler.h (fhandler_tty): New method cygserver_attach_tty.
1009 * fhandler_tty.cc: Additional includes for cygserver support.
1010 (fhandler_tty_slave::open): Attempt to use the cygserver when obtaining
1011 handles from the parent process. On failure or 9x use the current method.
1012 (fhandler_tty_slave::cygserver_attach_tty): New function.
1013 * fork.cc (fork_child): Fixup shm memory mapped areas.
1014 * pinfo.h: Declare fixup_shms_after_fork().
1015 * security.h: Declare alloc_sd().
1016 * tty.cc: Additonal includes to support cygserver.
1017 (tty::common_init): Don't allow others to open us if the cygserver is running.
1018 * winsup.h: Declare cygserver_running.
1019 * cygserver.cc: New file.
1020 * cygserver_client.cc: New file.
1021 * cygserver_shm.cc: New file.
1022 * cygserver_shm.h: New file.
1023 * cygserver_transport.cc: New file.
1024 * cygserver_transport_pipes.cc: New file.
1025 * ipc.cc: New file.
1026 * shm.cc: New file.
1027 * include/cygwin/cygserver.h: New file.
1028 * include/cygwin/cygserver_transport.h: New file.
1029 * include/sys/ipc.h: New file.
1030 * include/sys/shm.h: New file.
1031
062401c9
RC
10322002-02-28 Robert Collins <rbtcollins@hotmail.com>
1033
1034 * thread.cc (semaphore::TryWait): Set errno as required by posix 1003.1.
1035 (__sem_wait): Ditto.
1036 (__sem_trywait): Ditto.
1037
d1f50ae5
CF
10382002-02-27 Christopher Faylor <cgf@redhat.com>
1039
1040 * include/cygwin/version.h: Bump DLL minor number.
1041
acb56175
CV
10422002-02-23 Corinna Vinschen <corinna@vinschen.de>
1043
1044 * cygwin.din (fstat64): New symbol.
1045 (ftruncate64): Ditto.
1046 (lseek64): Ditto.
1047 (lstat64): Ditto.
1048 (mmap64): Ditto.
1049 (seekdir64): Ditto.
1050 (stat64): Ditto.
1051 (telldir64): Ditto.
1052 (truncate64): Ditto.
1053 * dir.cc (telldir64): New function.
1054 (telldir): Call telldir64().
1055 (seekdir64): New function.
1056 (seekdir): Call seekdir64().
1057 * fhandler.h: Redefine all methods using __off32_t to use __off64_t.
1058 * fhandler.cc: Use __off64_t and struct __stat64 throughout.
1059 * fhandler_clipboard.cc: Ditto.
1060 * fhandler_disk_file.cc: Ditto.
1061 * fhandler_dsp.cc: Ditto.
1062 * fhandler_floppy.cc: Ditto.
1063 * fhandler_mem.cc: Ditto.
1064 * fhandler_random.cc: Ditto.
1065 * fhandler_socket.cc: Ditto.
1066 * fhandler_tape.cc: Ditto.
1067 * fhandler_zero.cc: Ditto.
1068 * pipe.cc: Ditto.
1069 * glob.c: Ditto, call lstat64 and stat64 in Cygwin.
1070 * mmap.cc: Use __off64_t throughout.
1071 (mmap64): New function.
1072 * sec_acl.cc (acl_worker): Use struct __stat64, call stat64 and lstat64.
1073 * syscalls.cc (lseek64): New function.
1074 (stat64_to_stat32): Ditto.
1075 (fstat64): Ditto.
1076 (stat64): Ditto.
1077 (lstat64): Ditto.
1078 (ftruncate64): Ditto.
1079 (truncate64): Ditto.
1080 (_fstat): Call fstat64.
1081 (_stat): Call stat64.
1082 (cygwin_lstat): Rename to avoid declaration problem. Call lstat64.
1083 (stat_worker): Use struct __stat64.
1084 (access): Ditto.
1085 (ftruncate): Call ftruncate64.
1086 (truncate): Call truncate64.
1087 * wincap.cc: Set flag has_64bit_file_access appropriately.
1088 * wincap.h: Add flag has_64bit_file_access.
1089 * winsup.h (ILLEGAL_SEEK): Define as __off64_t.
1090 (stat_dev): Declare using struct __stat64.
1091 (stat_worker): Ditto.
1092 * include/cygwin/stat.h (struct __stat32): Define if compiling Cygwin.
1093 (struct __stat64): Ditto.
1094 (struct stat): Revert definition with explicitly sized datatypes.
1095 Eliminate sized field names.
1096 * include/cygwin/types.h (blksize_t): New type.
1097 (__blkcnt32_t): Ditto.
1098 (__blkcnt64_t): Ditto.
1099 (blkcnt_t): Ditto.
1100
083abe54
CF
11012002-02-22 Christopher Faylor <cgf@redhat.com>
1102
1103 * sync.h (new_muto): Just accept an argument which denotes the name of
1104 the muto. Use this argument to construct static storage.
1105 * cygheap.cc (cygheap_init): Reflect above change.
1106 * exceptions.cc (events_init): Ditto.
1107 * malloc.cc (malloc_init): Ditto.
1108 * path.cc (cwdstuff::init): Ditto.
1109 * cygheap.h (cwdstuff): Change name of lock element to make it less
1110 generic.
1111 * path.cc (cwdstuff::get_hash): Ditto.
1112 (cwdstuff::get_initial): Ditto.
1113 (cwdstuff::set): Ditto.
1114 (cwdstuff::get): Ditto.
1115 * sigproc.cc (proc_subproc): Ditto.
1116
1117 * debug.cc (lock_debug): Change to method. Use method rather than
1118 macro throughout.
1119
1120 * tty.h (tty_min::kill_pgrp): Declare new method.
1121 * fhandler_termios.cc (tty_min::kill_pgrp): New method.
1122 (fhandler_termios::line_edit): Use new method for killing process.
1123 * dcrt0.cc (do_exit): Ditto.
1124
1125 * dtable.cc (dtable::get_debugger_info): New method for inheriting
1126 dtable info from a debugger.
1127 * tty.cc (tty_init): Attempt to grab file handle info from parent
1128 debugger, if appropriate.
1129
1130 # dtable.cc (dtable::stdio_init): Make this a method.
1131 (dtable::init_std_file_from_handle): Don't set fd unless it's not open.
1132 (dtable::build_fhandler_from_name): Move name setting to
1133 dtable::build_fhandler.
1134 (dtable::build_fhandler): Add win32 name parameter.
1135 * dcrt0.cc (dll_crt0_1): Change to use dtable stdio_init.
1136 * dtable.h (dtable): Reflect build_fhandler parameter change.
1137 * mmap.cc (mmap_record::alloc_fh): Don't set name parameter in
1138 build_fhandler.
1139 * net.cc (fdsock): Remove set_name call since it is now handled by
1140 build_fhandler.
1141
1142 * sigproc.cc (proc_subproc): Release muto as early as possible.
1143
a6790c5f
CV
11442001-02-22 Corinna Vinschen <corinna@vinschen.de>
1145
1146 * smallprint.c (rn): Allow long long values.
1147 (__small_vsprintf): Add 'D', 'U' and 'X' formats for long long
1148 parameters.
1149
aa6df8d7
CF
11502002-02-19 Christopher Faylor <cgf@redhat.com>
1151
1152 * fhandler.cc (fhandler_base::puts_readahead): Remove default parameter
1153 setting. Newer gcc's complain about this.
1154 (fhandler_base::set_readahead_valid): Ditto.
1155 * fhandler_dsp.cc (Audio::open): Ditto.
1156 (fhandler_dev_dsp::open): Ditto.
1157
cecb74ae
CF
11582002-02-19 Christopher Faylor <cgf@redhat.com>
1159
1160 * fork.cc (fork_parent): Use sec_user_nih to control process/thread
1161 inheritance/permission.
1162 * spawn.cc (spawn_guts): Ditto.
1163 * security.cc (create_token): Initialize token so that it is not tested
1164 for bogus value later. Use sec_user to control process/thread
1165 creation.
1166 * security.h (__sec_user): Rename declaration from sec_user.
1167 (sec_user_nih): Declare here as inline function wrapper for __sec_user.
1168 (sec_user): Ditto.
1169 * sigproc.cc (czombies): Allocate a character array for zombies to
1170 avoid constructor overhead
1171 (extremely hackish, I know).
1172 (cpchildren): Ditto.
1173 (pchildren): New define.
1174 (zombies): Ditto.
1175 (getsem): Use sec_user_nih to control semaphore inheritance/permission.
1176
2bd22312
CF
11772002-02-16 Christopher Faylor <cgf@redhat.com>
1178
1179 * times.cc (hires::prime): Restore thread priority on failure
1180 condition.
1181
1182 * uinfo.cc (uinfo_init): Use more robust method for determining if
1183 process was invoked from a non-cygwin process.
1184
1185 * sync.h (muto::init): Eliminate "inheritance" parameter.
1186 (new_muto): Reflect removal of parameter.
1187 * sync.cc (muto::init): Ditto.
1188 * cygheap.cc (cygheap_init): Ditto.
1189 * debug.cc (threadname_init): Ditto.
1190 * exceptions.cc (events_init): Ditto.
1191 * malloc.cc (malloc_init): Ditto.
1192 * path.cc (cwdstuff::init): Ditto.
1193 * sigproc.cc (sigproc_init): Ditto.
1194
4c761646
CF
1195 * grp.cc (group_lock): Use different method for locking with static
1196 member.
2bd22312 1197 (read_etc_group): REALLY ensure that read lock mutex is released.
4c761646
CF
1198 * passwd.cc (passwd_lock): Use different method for locking with static
1199 member.
1200 (read_etc_passwd): REALLY ensure that read lock mutex is released.
2bd22312
CF
1201
1202 * shared.cc (sec_user): Correct reversed inheritance test.
1203
60b68f0d
CF
12042002-02-15 Christopher Faylor <cgf@redhat.com>
1205
1206 * hires.h (hires::usecs): Rename from utime. Accept an argument.
1207 * strace.cc (strace::microseconds): Use hires class for calculating
1208 times.
1209 * sync.h (new_muto): Use NO_COPY explicitly in declaration.
1210 * times.cc (gettimeofday): Reflect change in usecs argument.
1211 (hires::usecs): Ditto. Changed name from utime.
1212 * winsup.h (NO_COPY): Add nocommon attribute to force setting aside
1213 space for variable.
1214 * regcomp.c (REQUIRE): Add a void cast to bypass a warning.
1215
dce87b21
CF
12162002-02-15 Christopher Faylor <cgf@redhat.com>
1217
1218 * hires.h: New file.
1219 * times.cc (gettimeofday): Use hires class for calculating current time.
1220 (hires::prime): New method.
1221 (hires::utime): Ditto.
1222
3d456520
CF
12232002-02-14 Christopher Faylor <cgf@redhat.com>
1224
1225 * include/sys/cygwin.h (cygwin_getinfo_types): New CW_STRACE_ACTIVE.
1226 * external.cc (cygwin_internal): Handle CW_STRACE_ACTIVE.
1227
907dc7d0
CF
12282002-02-14 Christopher Faylor <cgf@redhat.com>
1229
1230 * exceptions.cc (unused_sig_wrapper): Eliminate unused parameter to
1231 asm.
1232 * external.cc (cygwin_internal): Change CW_STRACE_ON to
1233 CW_STRACE_TOGGLE.
1234 * strace.cc (strace::hello): Toggle strace on and off.
1235 * sync.cc (muto::init): Renamed from constructor.
1236 * sync.h (muto::new): Delete.
1237 (muto::delete): Ditto.
1238 (new_muto): Simplify. Use muto.init for nearly everything.
1239 * uinfo.cc (uinfo_init): Avoid closing a NULL handle.
1240 * include/sys/cygwin.h (cygwin_getinfo_types): Rename CW_STRACE_OFF to
1241 CW_STRACE_TOGGLE. Delete CW_STRACE_OFF.
1242 * include/sys/strace.h (strace): Add "inited" field.
1243
4753a17b
CV
12442001-02-12 Corinna Vinschen <corinna@vinschen.de>
1245
1246 * include/cygwin/acl.h: Fix definition of aclent_t.
1247
909acaf6
CF
12482002-02-10 Christopher Faylor <cgf@redhat.com>
1249
1250 * Makefile.in (DLL_OFILES): Consolidate object files.
1251
de4e0d30
CV
12522002-02-10 Corinna Vinschen <corinna@vinschen.de>
1253
b31c68c4
CV
1254 * child_info.h, cygheap.h, fhandler_clipboard.cc, fhandler_dsp.cc,
1255 fhandler_floppy.cc, fhandler_mem.cc, fhandler_random.cc,
1256 fhandler_tape.cc, fhandler_zero.cc, grp.cc, mmap.cc, passwd.cc,
1257 pinfo.cc, pinfo.h, pipe.cc, sec_acl.cc, sec_helper.cc, security.cc,
1258 security.h, thread.h, uinfo.cc, include/cygwin/acl.h: Fix copyright.
1259
12602002-02-10 Corinna Vinschen <corinna@vinschen.de>
1261
1262 * child_info.h, cygheap.h, dcrt0.cc, dir.cc, fhandler.cc, fhandler.h,
de4e0d30
CV
1263 fhandler_clipboard.cc, fhandler_disk_file.cc, fhandler_dsp.cc,
1264 fhandler_floppy.cc, fhandler_mem.cc, fhandler_random.cc,
1265 fhandler_tape.cc, fhandler_zero.cc, grp.cc, mmap.cc, passwd.cc,
1266 pinfo.cc, pinfo.h, pipe.cc, sec_acl.cc, sec_helper.cc, security.cc,
b31c68c4 1267 security.h, spawn.cc, syscalls.cc, thread.h, uinfo.cc, winsup.h:
de4e0d30
CV
1268 Change usage of uid_t to __uid16_t, gid_t to __gid16_t and
1269 off_t to __off32_t throughout. Use INVALID_UID, INVALID_GID and
1270 INVALID_SEEK instead casting -1 to the appropriate type.
1271 * winsup.h: Define INVALID_UID, INVALID_GID and INVALID_SEEK.
1272 * include/cygwin/acl.h: Define internal __aclent16_t and __aclent32_t
1273 types. Don't declare acl functions when compiling Cygwin.
1274 * include/cygwin/grp.h: Declare getgrgid() and getgrnam() with
1275 correct types for internal usage.
1276
39b553b8
CV
12772002-02-10 Corinna Vinschen <corinna@vinschen.de>
1278
1279 Patch suggested by Pierre A. Humblet <Pierre.Humblet@ieee.org>:
1280 * uinfo.cc (internal_getlogin): Try evaluating user by SID even if
1281 ntsec is off.
1282 (uinfo_init): Set primary group even if ntsec is off.
1283
52296b85
CV
12842002-02-09 Corinna Vinschen <corinna@vinschen.de>
1285
1286 * include/cygwin/grp.h: New file.
1287 * include/cygwin/stat.h: Ditto.
1288 * include/cygwin/types.h: Add definitions for __off32_t,
1289 __off64_t, off_t, __uid16_t, __uid32_t, uid_t, __gid16_t,
1290 __gid32_t and gid_t.
1291 * include/sys/cygwin.h: Use correct uid and gid types.
1292
ff86860b
CV
12932002-02-09 Corinna Vinschen <corinna@vinschen.de>
1294
1295 * dtable.cc (dtable::dup2): Revert previous patch.
1296 * fhandler.h: Ditto.
1297 (fhandler_socket::recv): Define new method.
1298 (fhandler_socket::send): Ditto.
1299 * fhandler_socket.cc (fhandler_socket::recv): New method.
1300 (fhandler_socket::send): Ditto.
1301 (fhandler_socket::read): Call fhandler_socket::recv() now.
1302 (fhandler_socket::write): Call fhandler_socket::send() now.
1303 * net.cc (class wsock_event): Move definition to wsock_event.h.
1304 (fdsock): Revert previous patch.
1305 (cygwin_recv): Move implementation to fhandler_socket::recv().
1306 (cygwin_send): Move implementation to fhandler_socket::send().
1307 * wsock_event.h: New file.
1308
d0672acc
CV
13092002-02-06 Alexander Gottwald <Alexander.Gottwald@s1999.tuchemnitz.de>
1310
1311 * net.cc (get_2k_ifconf): Create interface entries for tokenring cards.
1312
fae28904
CV
13132002-02-08 Corinna Vinschen <corinna@vinschen.de>
1314
1315 * dtable.cc (dtable::dup2): Store fd for fhandler_socket.
1316 * fhandler.h (fhandler_base::set_fd): New virtual method.
1317 (fhandler_base::get_fd): Ditto.
1318 (fhandler_socket::set_fd): Ditto.
1319 (fhandler_socket::get_fd): Ditto.
1320 * fhandler_socket.cc (fhandler_socket::read): Call cygwin_recv instead
1321 of native Winsock recv.
1322 (fhandler_socket::write): Call cygwin_send instead of native Winsock
1323 send.
1324 * net.cc (fdsock): Store fd in fhandler_socket.
1325
1f64102f
CV
13262002-02-07 Corinna Vinschen <corinna@vinschen.de>
1327
1328 * net.cc (cygwin_getsockname): Fix handling of NULL sun_path.
1329
562d9745
CV
13302002-01-29 Corinna Vinschen <corinna@vinschen.de>
1331
1332 * net.cc (getdomainname): Fix registry key for 9x systems, too.
1333
94ee02fa
CV
13342002-01-29 Corinna Vinschen <corinna@vinschen.de>
1335
1336 * net.cc (getdomainname): Fix registry key for NT systems.
1337
494a66d9
CF
13382002-01-28 Christopher Faylor <cgf@redhat.com>
1339
1340 * external.cc (cygwin_internal): Initialize various internal settings
1341 if required to allow use of some things from user loaded DLL.
1342 (CW_STRACE_ON): Add new feature.
1343 (CW_CYGWIN_PID_TO_WINPID): Ditto.
1344 * pinfo.cc (set_myself): Call "strace.hello" to initiate possible
1345 strace session.
1346 (pinfo::init): Guard against dereferencing uninitialized myself.
1347 * sigproc.cc (wait_sig): Call strace.hello() when __SIGTRACE "signal"
1348 received.
1349 * strace.cc (strace::hello): New method.
1350 * wincap.cc (wincapc::init): Avoid initializing if already initialized.
1351 * wincap.h (wincapc::wincapc): New method.
1352 * include/sys/cygwin.h: Add new CW_ enums. Kludge typedefs of
1353 {g,u}id_t if required.
1354 * strace.h (strace::hello): Declare new method.
1355
6616e6cf
CF
13562002-01-28 Earnie Boyd <earnie@users.sf.net>
1357
1358 * include/sys/strace.h (_STRACE_ON): Define.
1359 (_STRACE_OFF): Ditto.
1360
dfb4c347
CF
13612002-01-24 Christopher Faylor <cgf@redhat.com>
1362
1363 * speclib: Ensure that temporary def file is removed.
1364
3c07fbeb
CF
13652002-01-23 Christopher Faylor <cgf@redhat.com>
1366
1367 * speclib: Use rm -f to remove temp file just to quiet any potential
1368 warnings.
1369
f6fc31e1
CV
13702002-01-23 Corinna Vinschen <corinna@vinschen.de>
1371
1372 * security.cc (create_token): Use sec_user() to create
be6d8567
CV
1373 SECURITY_ATTRIBUTES structure for primary token. Use
1374 MAXIMUM_ALLOWED access rights instead of TOKEN_ALL_ACCESS.
f6fc31e1 1375
adbd01af
CV
13762002-01-23 Corinna Vinschen <corinna@vinschen.de>
1377
1378 * path.cc (symlink): Fix check for already existing file.
1379
aed69a5b
CF
13802002-01-21 Christopher Faylor <cgf@redhat.com>
1381
1382 * cygmagic: Suppress error output when figuring out if sum takes an
1383 option.
1384
f3647dd7
CF
13852002-01-21 Christopher Faylor <cgf@redhat.com>
1386
1387 * cygmagic: Attempt to figure out if sum takes an option.
1388
51076b73
CF
13892002-01-21 DJ Delorie <dj@redhat.com>
1390
1391 * Makefile.in (libpthread.a): Pass the assembler also.
291be307 1392 (libm.a): Ditto.
51076b73
CF
1393 (libc.a): Ditto.
1394 * speclib: Specify the assembler to dlltool.
1395
0ac2abea
CF
13962002-01-21 Christopher Faylor <cgf@redhat.com>
1397
1398 * include/cygwin/version.h: Bump DLL minor number.
1399
ac11ec88
CV
14002002-01-21 Corinna Vinschen <corinna@vinschen.de>
1401
28982aa8 1402 * grp.cc (getgrgid): Don't return default gid entry when ntsec is on.
ac11ec88
CV
1403 * syscalls.cc (setegid): Don't set primary group in process token.
1404
8ef47135
CF
14052002-01-21 Christopher Faylor <cgf@redhat.com>
1406
1407 * speclib: Don't use /dev/null as DLL name. Just default to what's
1408 already in .def file.
1409
14102002-01-21 Christopher Faylor <cgf@redhat.com>
1411
1412 * exceptions.cc (sig_handle): Remove last vestiges of SA_NOCLDSTOP code
1413 which caused SIGCHLD to be ignored.
1414
07cc1f1f
CF
14152002-01-20 Christopher Faylor <cgf@redhat.com>
1416
1417 * include/cygwin/version.h: Bump DLL minor number.
1418
385437d4
CF
14192002-01-20 Christopher Faylor <cgf@redhat.com>
1420
1421 * syscalls.cc (regfree): Make dll_export.
1422
d7c16d8d
CF
14232002-01-20 Christopher Faylor <cgf@redhat.com>
1424
1425 * exceptions.cc (ctrl_c_handler): Convert windows pid to cygwin pid
1426 when detecting if we should actually handle CTRL-C.
1427
216109a8
CF
14282002-01-19 Christopher Faylor <cgf@redhat.com>
1429
1430 * Makefile.in (new-cygwin1.dll): Revert previous change. libsupc++.a
1431 is only available in libstdc++-v3.
1432
9e73b339
CF
14332002-01-19 Christopher Faylor <cgf@redhat.com>
1434
1435 * exceptions.cc (sig_handle_tty_stop): Don't send SIGCHLD if parent
1436 doesn't want it.
1437 (sig_handle): Don't check for SA_NOCLDSTOP here. We don't have enough
1438 information.
1439
5946622e
CF
14402002-01-19 Christopher Faylor <cgf@redhat.com>
1441
1442 * include/cygwin/version.h: Bump DLL minor number.
1443
994fe87b
CF
14442002-01-19 Christopher Faylor <cgf@redhat.com>
1445
1446 * Makefile.in (new-cygwin1.dll): Just use -lsupc++ for link.
1447 * sigproc.cc (proc_exists): Change existence criteria.
1448 * sync.h (new_muto): Add volatile to definition to avoid gcc
1449 optimization problems.
1450
df3af773
CV
14512002-01-19 Corinna Vinschen <corinna@vinschen.de>
1452
1453 * include/cygwin/version.h: Bump API minor version to 51.
1454
7d6be0d6
CV
14552002-01-19 Mark Bradshaw <bradshaw@staff.crosswalk.com>
1456
291be307
CF
1457 * cygwin.din: Add recvmsg and sendmsg.
1458 * net.cc: Add cygwin_recvmsg and cygwin_sendmsg.
1459 * /usr/include/sys/socket.h: Add recvmsg and sendmsg.
7d6be0d6 1460
2d3dab2e
CV
14612002-01-19 Corinna Vinschen <corinna@vinschen.de>
1462
1463 * security.cc (create_token): Close processes token handle as soon
1464 as it's not used anymore.
1465
104c3be6
CV
14662002-01-17 Corinna Vinschen <corinna@vinschen.de>
1467
1468 * Makefile.in: Add fnmatch.o to DLL_OFILES.
1469 * cygwin.din: Add fnmatch export symbol.
1470 * fnmatch.c: New file.
1471 * include/fnmatch.h: Ditto.
1472 * include/cygwin/version.h: Bump API minor version to 50.
1473
9a7e1562
CV
14742002-01-15 Corinna Vinschen <corinna@vinschen.de>
1475
1476 * path.cc (fchdir): Call chdir with full windows path.
1477
7eddac1b
CV
14782002-01-14 Corinna Vinschen <corinna@vinschen.de>
1479
1480 * dir.cc: Use INVALID_FILE_ATTRIBUTES instead of "(DWORD) -1"
1481 for file attributes throughout.
1482 * fhandler.cc: Ditto.
1483 * fhandler_disk_file.cc: Ditto.
1484 * path.cc: Ditto.
1485 * path.h: Ditto.
1486 * syscalls.cc: Ditto.
1487 * times.cc (utimes): Use path_conv::isdir() instead of explicit
1488 GetFileAttributes() call.
1489
5daa0835
CF
14902002-01-13 Christopher Faylor <cgf@redhat.com>
1491
1492 * dcrt0.cc (multiple_cygwin_problem): Clarify logic and make
1493 CYGWIN_MISMATCH_OK more powerful.
1494
06486d9e
CF
14952002-01-10 Christopher Faylor <cgf@redhat.com>
1496
1497 * exceptions.cc (sig_handle): Accept a second argument indicating
1498 whether the signal came from this process or not.
1499 * sigproc.h: Reflect sig_handle arg change.
1500 * signal.cc (kill_pgrp): Add sigframe info.
1501 (abort): New function. Eliminates newlib function of same name.
1502 * sigproc.cc (wait_sig): Pass "signal from this process" value as arg
1503 2.
1504
bb5225c2
CV
15052002-01-10 Corinna Vinschen <corinna@vinschen.de>
1506
1507 * syscalls.cc (pathconf): Guard _PC_PATH_MAX branch against invalid
1508 file parameter.
1509
c0a8e8d0 15102002-01-09 Christopher Faylor <cgf@redhat.com>
291be307 1511 Robert Collins <rbtcollins@hotmail.com>
c0a8e8d0
CF
1512
1513 * exceptions.cc (early_stuff_init): Rename from misnamed
1514 set_console_handler.
1515 (ctrl_c_handler): Attempt to work around potential signal duplication
1516 during process startup.
1517 (sig_handle): Ignore SIGINT when we're just an "exec stub".
1518 * spawn.cc (spawn_guts): Store pid of spawned process in global for use
1519 by ctrl_c_handler.
1520 * dcrt0.cc (dll_crt0_1): Call renamed initialization function.
1521 * winsup.h: Reflect function name change.
1522
fe37dd79
CV
15232002-01-08 Corinna Vinschen <corinna@vinschen.de>
1524
1525 * net.cc (cygwin_accept): Set sun_path for newly connected socket.
1526
cbf7a9eb
CF
15272002-01-07 Ralf Habacker <Ralf.Habacker@freenet.de>
1528
1529 * Makefile.in: Add uninstall target.
1530
a2e12d0c
CF
15312002-01-07 Christopher Faylor <cgf@redhat.com>
1532
1533 * sigproc.cc (getsem): Clean up debugging output.
1534
4a08cbfe
CF
15352002-01-07 Christopher Faylor <cgf@redhat.com>
1536
1537 * sigproc.cc (getsem): Set errno when unable to create own semaphore.
1538 Reorganize to make clearer that error should only come from initial
1539 creation of process semaphore.
1540
10dedaaa
CF
15412002-01-06 Christopher Faylor <cgf@redhat.com>
1542
1543 * dtable.cc (dtable::init_std_file_from_handle): Add some defensive
1544 code to invalid handle case.
1545
d6154fb7
CV
15462002-01-06 Corinna Vinschen <corinna@vinschen.de>
1547
1548 * ioctl.cc (ioctl): Make third argument optional.
1549 * include/sys/ioctl.h: Ditto in declaration.
1550 * dtable.cc (dtable::init_std_file_from_handle): Revert previous
1551 bogus patch.
1552 * window.cc (WndProc): Raise SIGURG instead of SIGIO in case of FD_OOB
1553 message.
1554
9125cbd7 15552002-01-05 Christopher Faylor <cgf@redhat.com>
fcb76c5d 1556
9125cbd7
CF
1557 * dir.cc (opendir): Guarantee release of alloced fhandler structure on
1558 error.
fcb76c5d 1559
9125cbd7
CF
15602002-01-05 Corinna Vinschen <corinna@vinschen.de>
1561
1562 * exceptions.cc (sig_handle): Set default action for SIGURG to SIG_IGN.
1563
15642002-01-05 Corinna Vinschen <corinna@vinschen.de>
2edba236
CV
1565
1566 * dtable.cc (dtable::init_std_file_from_handle): Don't treat NULL
1567 handle as errorneous.
1568
acf05df7
CF
15692002-01-04 Christopher Faylor <cgf@redhat.com>
1570
1571 * cygmagic: Change logic for equality test.
1572
7acba971
CF
15732002-01-04 Christopher Faylor <cgf@redhat.com>
1574
1575 * dir.cc (opendir): Don't attempt to call sub-opendir if ENOENT.
1576
9125cbd7 15772002-01-04 Corinna Vinschen <corinna@vinschen.de>
dc63cea5
CV
1578
1579 * net.cc: Replace usage of AF_UNIX by Posix compliant AF_LOCAL
1580 throughout.
1581 (socketpair): Explicitly allow SOCK_STREAM and SOCK_DGRAM socket types
1582 in families AF_UNIX and AF_LOCAL. Explicitly allow PF_UNSPEC, PF_LOCAL
1583 and PF_INET protocols. Return error otherwise. Implement datagram
1584 socketpairs.
1585
3b789217
CF
15862002-01-01 Christopher Faylor <cgf@redhat.com>
1587
291be307 1588 * speclib: Remove temp files automatically.
3b789217 1589
2fe27909 15902002-01-01 Corinna Vinschen <corinna@vinschen.de>
2fe27909
CV
1591 * fhandler.h (fhandler_socket::sun_path): New private member.
1592 (fhandler_socket::set_sun_path): New method.
1593 (fhandler_socket::get_sun_path): Ditto.
1594 * fhandler_socket.cc (fhandler_socket::fhandler_socket): Initialize
1595 sun_path to NULL.
1596 (fhandler_socket::~fhandler_socket): Free sun_path if needed.
1597 (fhandler_socket::set_sun_path): New method.
1598 * net.cc (cygwin_bind): Set sun_path to path of local socket file.
1599 (cygwin_getsockname): Add code to return correct sockaddr for unix
1600 domain sockets.
This page took 0.20086 seconds and 5 git commands to generate.