]> sourceware.org Git - newlib-cygwin.git/blame - winsup/cygwin/ChangeLog
* mmap.cc (mmap64): Allow MAP_FIXED with pagesize granularity (4K).
[newlib-cygwin.git] / winsup / cygwin / ChangeLog
CommitLineData
65561780
CV
12003-07-03 Corinna Vinschen <corinna@vinschen.de>
2
3 * mmap.cc (mmap64): Allow MAP_FIXED with pagesize granularity (4K).
4 If a non-zero addr is given, align it to the next lower 64K boundary.
5 (fhandler_disk_file::mmap): If a non-zero address is given, try
6 mapping using the given address first. If it fails and flags is not
7 MAP_FIXED, try again with NULL address.
8
92003-07-01 Christopher Faylor <cgf@redhat.com>
10
11 * thread.cc: Remove _MT_SAFE conditional.
12
132003-07-01 Christopher Faylor <cgf@redhat.com>
14
15 * configure.in: Fix --enable-server option.
16 * configure: Regenerate.
17
182003-07-01 Christopher Faylor <cgf@redhat.com>
19
20 * Makefile.in: Remove cygserver stuff.
21 * acconfig.h: Add USE_CYGSERVER define.
22 * config.h.in: Regenerate.
23 * configure.in: Add --enable-server setting.
24 * configure: Regenerate.
25 * fhandler_tty.cc (fhandler_tty_slave::open): Conditionalize
26 compilation of cygserver stuff.
27 * fork.cc (fork_child): Ditto.
28 * shm.cc: Ditto.
29 * tty.cc (tty::common_init): Ditto.
30
31 * dcrt0.cc: Use bool rather than BOOL for CYGWIN environment variable
32 definitions.
33 * environ.cc: Ditto.
34 * ntea.cc: Ditto.
35 * security.cc: Ditto.
36 * security.h: Ditto.
37 * syscalls.cc (check_posix_perm): Remove externs that were already
38 declared in a header.
39 * winsup.h: Ditto. Declare _MT_SAFE here. Delete it someday since
40 cygwin should always be _MT_SAFE.
41
f3ff0ca9
CF
422003-07-01 Christopher Faylor <cgf@redhat.com>
43
44 * thread.cc: Remove _MT_SAFE conditional.
45
8fb2df19
CF
462003-07-01 Christopher Faylor <cgf@redhat.com>
47
48 * configure.in: Fix --enable-server option.
49 * configure: Regenerate.
50
3872e9a4
CF
512003-07-01 Christopher Faylor <cgf@redhat.com>
52
53 * Makefile.in: Remove cygserver stuff.
54 * acconfig.h: Add USE_CYGSERVER define.
55 * config.h.in: Regenerate.
56 * configure.in: Add --enable-server setting.
57 * configure: Regenerate.
58 * fhandler_tty.cc (fhandler_tty_slave::open): Conditionalize
59 compilation of cygserver stuff.
60 * fork.cc (fork_child): Ditto.
61 * shm.cc: Ditto.
62 * tty.cc (tty::common_init): Ditto.
63
64 * dcrt0.cc: Use bool rather than BOOL for CYGWIN environment variable
65 definitions.
66 * environ.cc: Ditto.
67 * ntea.cc: Ditto.
68 * security.cc: Ditto.
69 * security.h: Ditto.
70 * syscalls.cc (check_posix_perm): Remove externs that were already
71 declared in a header.
72 * winsup.h: Ditto. Declare _MT_SAFE here. Delete it someday since
73 cygwin should always be _MT_SAFE.
74
70249d56
CV
752003-06-30 Pierre Humblet <pierre.humblet@ieee.org>
76
77 * cygheap.h (enum impersonation): New enum.
78 (cygheap_user::token): Delete.
79 (cygheap_user::impersonated): Delete.
80 (cygheap_user::external_token): New member.
81 (cygheap_user::internal_token): New member.
82 (cygheap_user::impersonation_state): New member.
83 (cygheap_user::issetuid): Modify.
84 (cygheap_user::token): New method.
85 (cygheap_user::deimpersonate): New method.
86 (cygheap_user::reimpersonate): New method.
87 (cygheap_user::has_impersonation_tokens): New method.
88 (cygheap_user::close_impersonation_tokens): New method.
89 * dtable.cc (dtable::vfork_child_dup): Use new cygheap_user methods.
90 * fhandler_socket.cc (fhandler_socket::dup): Ditto.
91 * fork.cc (fork_child): Ditto.
92 (fork_parent): Ditto.
93 * grp.cc (internal_getgroups): Ditto.
94 * security.cc (verify_token): Ditto.
95 (check_file_access): Ditto.
96 (cygwin_set_impersonation_token): Detect conflicts. Set
97 user.external_token.
98 * spawn.cc (spawn_guts): Use new cygheap_user methods.
99 * syscalls.cc (seteuid32): Rearrange to use the two tokens
100 in cygheap_user.
101 (setegid32): Use new cygheap_user methods.
102 * uinfo.cc: (internal_getlogin): Ditto.
103
b06d4a08
CF
1042003-06-25 Doru Carastan <doru.carastan@mvista.com>
105
106 * Makefile.in: Use INSTALL_PROGRAM to install the cygwin DLL.
107
e1e196a2
TP
1082003-06-24 Thomas Pfaff <tpfaff@gmx.net>
109
110 * thread.cc (MTinterface::fixup_after_fork): Fix thread list after
111 fork.
112 (pthread::threads): Instantiate.
113 (pthread::pthread): Initialize running and suspendend.
114 Initialize next with NULL.
115 Add thread to thread list if it is not the null_pthread.
116 (pthread::~pthread): Remove thread from thread list if it is
117 not the null_pthread.
118 (pthread::postcreate): Set running flag.
119 (pthread::exit): Reset running flag.
120 (pthread::cancel): Try to cancel thread only if still running.
121 (pthread::_fixup_after_fork): Implement.
122 (pthread::detach): Check if thread is still running before detach.
123 * thread.h (pthread::running): New member.
124 (pthread::next): Ditto.
125 (pthread::fixup_after_fork): New static method.
126 (pthread::threads): New static method.
127 (pthread::_fixup_after_fork): New method.
128
6c6f7094
CF
1292003-06-20 Christopher Faylor <cgf@redhat.com>
130
131 * pinfo.cc (_pinfo::commune_send): Don't attempt to communicate with a
132 pure windows process.
133
c9a5cfa0
PH
1342003-06-18 Pierre Humblet <pierre.humblet@ieee.org>
135
136 * autoload.cc (GetNetworkParams): Add.
137 * net.cc (getdomainname): Call GetNetworkParams and read the
138 DhcpDomain registry value if warranted.
139
0d58ef9d
CF
1402003-06-17 Christopher Faylor <cgf@redhat.com>
141
142 * path.cc (mount): Do more strict checking on posix path arguments.
143
c433f461
CF
1442003-06-15 Christopher Faylor <cgf@redhat.com>
145
146 Throughout, remove "include <errno.h>" from files which already include
147 cygerrno.h.
148
1492003-06-15 Thomas Pfaff <tpfaff@gmx.net>
150
151 * include/cygwin/config.h (__DYNAMIC_REENT__): Define.
152 * include/cygwin/version.h: Bump API minor version.
153 * cygwin.din: Export __getreent
154 * cygerrno.h: Include errno.h. Fix places where _impure_ptr is used
155 directly to store the errno value.
156 * debug.cc (__set_errno): Ditto.
157 * errno.cc: Remove _RRENT_ONLY define to get errno.cc compiled.
158 * signal.cc: Rename _reent_clib to _REENT throughout.
159 * thread.h (reent_clib): Remove prototype.
160 * thread.cc (reent_clib): Rename reent_clib to __getreent. Return
161 _impure_ptr until MTinterface is initialized.
162 (reent_winsup): Fix a possible SEGV when _r == NULL. Return NULL
163 instead.
164 * MTinterface::fixup_after_fork: Switch reent back to _impure_ptr to
165 keep signal handling running when fork is called from a thread other
166 than the mainthread.
167
1c80421c
TP
1682003-06-12 Thomas Pfaff <tpfaff@gmx.net>
169
170 * thread.cc (pthread_attr_init): Revert change from 2003-06-11
171 to return 0 if attribute is already initialized back to EBUSY.
172 (pthread_condattr_init): Ditto.
173 (pthread_rwlockattr_init): Ditto.
174 (pthread_mutexattr_init): Ditto.
175
5bdb56f0
CV
1762003-06-12 Corinna Vinschen <corinna@vinschen.de>
177
178 * exceptions.cc (ctrl_c_handler): Don't send a signal on
179 CTRL_SHUTDOWN_EVENT. Add a comment to rationalize the patch.
180
00e6660b
TP
1812003-06-11 Thomas Pfaff <tpfaff@gmx.net>
182
183 * thread.cc (pthread_attr_init): Return 0 if attribute is already
184 initialized.
185 Fix return code if out of memory.
186 (pthread_condattr_init): Ditto.
187 (pthread_rwlockattr_init): Ditto.
188 (pthread_mutexattr_init): Return 0 if attribute is already
189 initialized.
190
271c1935
CV
1912003-06-09 Pierre Humblet <pierre.humblet@ieee.org>
192
193 * spawn.cc (spawn_guts): Call CreateProcess while impersonated,
194 when the real {u,g}ids and the groups are original.
195 Move RevertToSelf and ImpersonateLoggedOnUser to the main line.
196 * uinfo.cc (uinfo_init): Reorganize. If CreateProcess was called
197 while impersonated, preserve the uids and gids and call
198 ImpersonateLoggedOnUser. Preserve the uids and gids on Win9X.
199
200 * exceptions.cc (error_start_init): Quote the pgm in the command.
201
42a737d0
CF
2022003-06-07 Christopher Faylor <cgf@redhat.com>
203
204 * poll.cc: Define FD_SETSIZE to ridiculously large number so that there
32173f7e 205 will be no artificially small limits.
42a737d0 206
9501a0a1
CF
2072003-06-07 Christopher Faylor <cgf@redhat.com>
208
209 * fhandler_tty.cc (fhandler_tty_slave::close): Free the console when
210 last tty closes.
211
f496071c
TP
2122003-06-07 Thomas Pfaff <tpfaff@gmx.net>
213
214 * fhandler_socket.cc (fhandler_socket::connect): Change error
215 handling for nonblocking connects to return EALREADY when
216 connect is called more than once for the same socket.
217
54152c7e
CV
2182003-06-06 Corinna Vinschen <corinna@vinschen.de>
219
220 * cygwin.din: Add vsyslog.
221 * fhandler.cc (fhandler_base::write): Only make file sparse if the
222 seeked area is >= 128K.
223 * syslog.cc (vsyslog): New function, overtaking functionality from
224 syslog.
225 (syslog): Just call vsyslog.
226 * include/cygwin/version.h: Bump API minor.
227 * include/sys/syslog.h: Add vsyslog declaration.
228
979233a5
CF
2292003-06-05 Christopher Faylor <cgf@redhat.com>
230
231 * cygthread.cc (cygthread::terminate_thread): Change system_printf to
232 debug_printf.
233
f51e42ac
CF
2342003-06-04 Christopher Faylor <cgf@redhat.com>
235
236 * shared.cc (shared_info::heap_chunk_size): Be really defensive about
237 making sure that heap_chunk is set.
238
7b17543f
CF
2392003-06-04 Christopher Faylor <cgf@redhat.com>
240
241 * path.cc (conv_path_list): Use correct value when calculating length
242 to avoid a potential SEGV.
243
9f033c22
PH
2442003-06-03 Pierre Humblet <pierre.humblet@ieee.org>
245
271c1935
CV
246 * fhandler_disk_file.cc (fhandler_disk_file::fstat): Mark the pc
247 as non-executable if the file cannot be opened for read. Retry query
248 open only if errno is EACCES. Never change the mode, even if it is 000
249 when query open() fails.
9f033c22 250
1e61337c
CF
2512003-06-03 Christopher Faylor <cgf@redhat.com>
252
253 * configure.in: Allow any i?86 variant.
254 * configure: Regenerate.
255
fb6b1418
CV
2562003-06-03 Corinna Vinschen <corinna@vinschen.de>
257 Thomas Pfaff <tpfaff@gmx.net>
258
259 * fhandler_socket.cc (connect_thread): Remove.
260 (accept_thread): Remove.
261 (fhandler_socket::connect): Remove all special blocking handling.
262 (fhandler_socket::accept): Ditto.
263 * net.cc (cygwin_connect): Make blocking sockets temporarily
264 non-blocking and call cygwin_select on them to be interruptible.
265 (cygwin_accept): Ditto.
266
0c8fe172
CF
2672003-06-02 Christopher Faylor <cgf@redhat.com>
268
269 * spawn.cc (spawn_guts): Don't hang around if the parent doesn't exist.
270
3786526e
CF
2712003-06-02 Christopher Faylor <cgf@redhat.com>
272
273 * cygthread.h (cygthread::terminate_thread): Mark private.
274 * cygthread.cc (cygthread::terminate_thread): Deallocate free_range
275 thread stuff.
276
cbdc3d17
CV
2772003-06-02 Corinna Vinschen <corinna@vinschen.de>
278
279 * fhandler_socket.cc (fhandler_socket::accept): Rename `signalled'
280 to `interrupted' as used in fhandler_socket::connect.
281
dfe7d288
CV
2822003-06-02 Corinna Vinschen <corinna@vinschen.de>
283
284 * fhandler_socket.cc (fhandler_socket::connect): Simplify previous
285 patch.
286 (fhandler_socket::accept): Ditto.
287
8e13bd14
CV
2882003-06-02 Corinna Vinschen <corinna@vinschen.de>
289
290 * fhandler_socket.cc: Include cygthread.h.
291 (class sock_event): Remove.
292 (thread_connect): New function.
293 (thread_accept): Ditto.
294 (fhandler_socket::connect): Use cygthread instead of socket event
295 handling for blocking sockets.
296 (fhandler_socket::accept): Ditto.
297
418c6236
CF
2982003-06-02 Christopher Faylor <cgf@redhat.com>
299
300 * fhandler.cc (fhandler_base::write): Correct minor printf formatting
301 style glitch.
302
c17e8306
PH
3032003-06-01 Pierre Humblet <pierre.humblet@ieee.org>
304
8e13bd14
CV
305 * fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name): Assume
306 an existing directory is a root if FindFirstFile fails.
c17e8306 307
e59c6ff4
CF
3082003-05-30 Christopher Faylor <cgf@redhat.com>
309
310 * path.cc (mount_info::conv_to_win32_path): gcc warning about chroot_ok
311 was actually valid. Fix it.
312
cbe53754
CF
3132003-05-30 Christopher Faylor <cgf@redhat.com>
314
315 * cygheap.cc (init_cheap): Temporarily remove inline that newer gcc's
316 have problems with.
317
318 * path.cc (path_conv::check): Rework has_acls logic slightly. Uncouple
319 exec tests away from filesystem tests.
320
4aa10069
CV
3212003-05-30 Corinna Vinschen <corinna@vinschen.de>
322
323 * include/sys/param.h: Add DEV_BSIZE.
324
4e2db52c
CV
3252003-05-29 Pierre Humblet <pierre.humblet@ieee.org>
326 Corinna Vinschen <corinna@vinschen.de>
327
328 * fhandler_socket.cc (fhandler_socket::dup): Rearrange. Fix
329 conditional.
330
b666c2eb
CF
3312003-05-28 Christopher Faylor <cgf@redhat.com>
332
333 * mkvers.sh: Avoid "-dontuse" tags.
334
335 * path.cc (path_conv::check): Set exec state based on known situations.
336
337 * path.cc (mount_item::fnmunge): New function.
338 (mount_item::build_win32): New function.
339 (mount_info::conv_to_win32_path): Use build_win32 to build windows
340 path.
341 * path.h (mount_item::fnmunge): Declare new function.
4e2db52c 342 (mount_item::build_win32): Ditto.
b666c2eb
CF
343 * sys/mount.h (MOUNT_ENC): Define.
344
72c1470d
CV
3452003-05-28 Corinna Vinschen <corinna@vinschen.de>
346
347 * fhandler_socket.cc (fhandler_socket::dup): If running impersonated,
348 revert to original account before calling fixup_before_fork_exec
349 and impersonate again afterwards. Change comment accordingly.
350 Clean up error handling and debug output.
351
a946fb03
TP
3522003-05-27 Thomas Pfaff <tpfaff@gmx.net>
353
354 * fhandler_socket.cc (sock_event::~sock_event): New method.
355 (sock_event::load): Change to void. Check if winsock2 is available.
356 (socke_event::wait): Return 0 if interruptible mode is not available.
357 (fhandler_socket::connect): Remove checks for winsock2 availability.
358 (fhandler_socket::accept): Ditto.
359
dae86e45
CV
3602003-05-27 Corinna Vinschen <corinna@vinschen.de>
361
362 * fhandler_socket.cc (fhandler_socket::dup): First try duplicating
363 using WSADuplicateSocket/WSASocket, if that fails, try DuplicateHandle.
364
2311f6b0
CV
3652003-05-27 Bill C. Riemers <cygwin@docbill.net>
366
367 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Filter
368 permissions throug umask on FAT or if ntsec is off.
369
ada0376f
CV
3702003-05-26 Pierre Humblet <pierre.humblet@ieee.org>
371
372 * syscalls.cc (statfs): Call GetDiskFreeSpaceEx before GetDiskFreeSpace.
373
0372ad9f
CV
3742003-05-26 Corinna Vinschen <corinna@vinschen.de>
375
376 * fhandler.cc (is_at_eof): Fix conditional. Use INVALID_FILE_SIZE
377 instead of numeric constant.
378
6852f6c0
CV
3792003-05-26 Corinna Vinschen <corinna@vinschen.de>
380
381 * fhandler_socket.cc (fhandler_socket::connect): Guard calls to
382 sock_event methods by a check for WinSock2 availability.
383 (fhandler_socket::accept): Ditto.
384
fac297d5
CV
3852003-05-26 Corinna Vinschen <corinna@vinschen.de>
386
387 * fhandler.h: Rename FH_W95LSBUG flag to FH_LSEEKED.
388 (fhandler_base::set_did_lseek): Rename from set_check_win95_lseek_bug.
389 (fhandler_base::get_did_lseek): Rename from get_check_win95_lseek_bug.
390 (fhandler_base::set_fs_flags): New method.
391 (fhandler_base::get_fs_flags): Ditto.
392 * fhandler.cc (fhandler_base::write): Make 64 bit clean. Convert file
393 to a "sparse" file when writing after a long lseek (>64K) beyond EOF.
394 (fhandler_base::lseek): Call set_did_lseek() instead of
395 set_check_win95_lseek_bug().
396 (fhandler_base::fhandler_base): Initialize fs_flags to 0.
397 * fhandler_disk_file.cc (fhandler_disk_file::open): Don't create files
398 as "sparse" unconditionally. Set fs_flags member.
399
a80229fd
CV
4002003-05-25 Pierre Humblet <pierre.humblet@ieee.org>
401
402 * autoload.cc (GetDiskFreeSpaceEx): Add.
403 * syscalls.cc (statfs): Call full_path.root_dir() instead of
404 rootdir(full_path). Use GetDiskFreeSpaceEx when available and
405 report space available in addition to free space.
406 * fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name):
407 Do not call FindFirstFile for disk root directories.
408
c295ce6f
CV
4092003-05-24 Joe Buehler <jhpb@draco.hekimian.com>
410
a80229fd 411 * fhandler_process.cc (format_process_stat): Use PagefileUsage
c295ce6f
CV
412 instead of VirtualSize.
413 (get_mem_values): Ditto.
414
5c768c97
CV
4152003-05-21 Corinna Vinschen <corinna@vinschen.de>
416
417 * shared_info.h: Match shared_name declaration with below change.
418 * shared.cc (shared_name): Use incoming char * parameter instead of
419 local static buffer.
420 (open_shared): Accomodate new calling convention for shared_name.
421 * exceptions.cc (events_init): Ditto.
422 * sigproc.cc (getsem): Ditto.
423 * syscalls.cc (login): Ditto.
424 (logout): Ditto.
425 (pututline): Ditto.
426
44be8197
CV
4272003-05-20 Corinna Vinschen <corinna@vinschen.de>
428
429 * fhandler_socket.cc (secret_event_name): Return void. Use incoming
5c768c97 430 char * parameter instead of local static buffer.
44be8197
CV
431 (fhandler_socket::create_secret_event): Accomodate new calling
432 convention for secret_event_name.
433 (fhandler_socket::close_secret_event): Ditto.
434
d4f3ce31
CV
4352003-05-20 Corinna Vinschen <corinna@vinschen.de>
436
437 * fhandler_socket.cc (SECRET_EVENT_NAME): Remove.
438 (ENTROPY_SOURCE_NAME): Ditto.
439 (secret_event_name): New static function. Create shared event name
440 with "Global\" prefix on systems supporting terminal services.
441 (fhandler_socket::set_connect_secret): Fix conditional.
442 (fhandler_socket::create_secret_event): Create secret event using
443 secret_event_name().
444 (fhandler_socket::close_secret_event): Ditto.
445 * shared.cc (shared_name): Create shared object name with "Global\"
446 prefix on systems supporting terminal services.
447 * wincap.cc: Set has_terminal_services capability throughout.
448 (wincap_2003): New global object representing Windows 2003 Server
449 capabilities.
450 (wincapc::init): Accomodate Windows 2003 Server.
451 * wincap.h (struct wincaps): Add has_terminal_services capability.
452
10bada05
CV
4532003-05-20 Charles Wilson <cygwin@cwilson.fastmail.fm>
454
455 * winsup/cygwin/include/cygwin/version.h: Bump API minor version.
456 * winsup/cygwin/include/cygwin/types.h: Define key_t as long long.
457 * winsup/cygwin/cygwin.din: Add ftok, _ftok.
458 * winsup/cygwin/ipc.cc (ftok): Rework implementation.
459
d8ee8ca5
CF
4602003-05-18 Joe Buehler <jhpb@hekimian.com>
461
10bada05 462 * spawn.cc (spawn_guts): Show more of command line in strace output.
d8ee8ca5 463
c8fa3426
TP
4642003-05-15 Thomas Pfaff <tpfaff@gmx.net>
465
466 * thread.h (pthread::init_mainthread): Remove function parameter.
467 (MTinterface::Init): Ditto.
468 * thread.cc (MTinterface::Init): Remove function parameter.
469 Always initialize reent_key.
470 (pthread::init_mainthread): Remove function parameter.
471 (MTinterface::fixup_after_fork): Fix pthread::init_mainthread call.
472 * dcrt0.cc (dll_crt_0_1) Fix calls to MTinterface::Init and
473 pthread::init_mainthread.
474 Call pthread::init_mainthread only when not forked.
475
f2669f5d
CV
4762003-05-15 Corinna Vinschen <corinna@vinschen.de>
477
478 * fhandler_proc.cc (format_proc_meminfo): Make swap memory output
479 Linux style values.
480
5d575f7d
CV
4812003-05-13 Corinna Vinschen <corinna@vinschen.de>
482
483 * include/cygwin/config.h: Define __USE_INTERNAL_STAT64 appropriately.
484
194d9eb3
CV
4852003-05-12 Corinna Vinschen <corinna@vinschen.de>
486
487 * Makefile.in (CYGWIN_START): Define as crt0.o. Add to TARGET_LIBS.
488 * fhandler.h (fhandler_virtual::fstat): Remove useless declaration.
489 * fhandler_virtual.cc: Remove _COMPILING_NEWLIB define.
490 * ipc.cc (ftok): Use stat64.
491 * syscalls.cc (_fstat64): Remove alias.
492 (_fstat): Ditto.
493 (_stat): Ditto.
494 (_fstat64_r): New function.
495 (_fstat_r): Ditto.
496 (_stat64_r): Ditto.
497 (stat_r): Ditto.
498 * crt0.o: New file, moved from newlib.
499 * include/sys/param.h: Ditto.
500 * include/sys/utime.h: Ditto.
501 * include/sys/utmp.h: Ditto.
502 * include/sys/dirent.h: Ditto. Expose different struct dirent,
503 dependening of the environment.
504
cc95baad
CV
5052003-05-11 Corinna Vinschen <corinna@vinschen.de>
506
507 Replace ino_t by __ino64_t throughout.
508
aee70853
CV
5092003-05-11 Corinna Vinschen <corinna@vinschen.de>
510
511 * include/cygwin/types.h: Add key_t typedef.
512
066ca06f
CF
5132003-05-10 Christopher Faylor <cgf@redhat.com>
514
515 * dir.cc (readdir): Fill out new old_d_ino field.
516 * fhandler.h (fhandler_base::namehash): Define as ino_t.
517 (fhandler_base::get_namehash): Ditto.
518 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Accommodate
519 new 64 bit st_ino.
520 * fhandler_socket.cc (fhandler_socket::fstat): Ditto.
521 * path.cc (hash_path_name): Return ino_t.
522 * syscalls.cc (stat64_to_stat32): Convert 64 bit inode to 32 bit.
523 * winsup.h (hash_path_name): Declare as returning ino_t.
524 * include/cygwin/stat.h (__stat32): Use 32 bit st_ino.
525 (__stat64): Use 64 bit st_ino.
526 * include/cygwin/types.h (__ino64_t): Define.
527 (__ino32_t): Ditto.
528 (ino_t): Define appropriately.
529
3e66a81c
CV
5302003-05-10 Corinna Vinschen <corinna@vinschen.de>
531
532 * Makefile.in (NEW_FUNCTIONS): All 32/64 from 0.79 API get
533 leading underscore.
534 * cygwin.din: Ditto.
535 * include/cygwin/version.h: Bump API minor number.
536
d3b450f3
CV
5372003-05-09 Corinna Vinschen <corinna@vinschen.de>
538
539 * include/cygwin/config.h: New file.
540
9508ebc5
CF
5412003-05-09 Christopher Faylor <cgf@redhat.com>
542
543 * cygthread.cc (cygthread::detach): Prioritize waiting for I/O
544 completion over waiting for signal delivery.
545
0bb7254f
TP
5462003-05-06 Thomas Pfaff <tpfaff@gmx.net>
547
548 * signal.cc (nanosleep): Do not wait twice for signal arrival.
549
a6d745f5
CV
5502003-05-03 Corinna Vinschen <corinna@vinschen.de>
551
552 * include/cygwin/types.h: Fix erroneous definition of ino_t from
553 2003-04-28.
554
40d3c804
CV
5552003-05-03 Corinna Vinschen <corinna@vinschen.de>
556
557 * syscalls.cc (chown_worker): Allow chown'ing of socket files.
558
2238537c
TP
5592003-04-30 Thomas Pfaff <tpfaff@gmx.net>
560
561 * Makefile.in: Revert patch from 2003-04-17.
562
6ef342e4
CF
5632003-04-28 Brian Ford <ford@vss.fsi.com>
564
565 * profil.h (PROFADDR): Prevent overflow when text segments are larger
566 than 256k.
567 * profil.c (profthr_func): Raise thread priority for more accurate
568 sampling.
569
5702003-04-26 Christopher Faylor <cgf@redhat.com>
571
572 * path.cc (hash_path_name): Use ino_t as type.
573
7d6d38aa
CF
5742003-04-26 Christopher Faylor <cgf@redhat.com>
575
576 * errno.cc (_sys_nerr): Fix compile error erroneously checked in on
577 2003-04-23.
578
f615d74b
CV
5792003-04-25 Corinna Vinschen <corinna@vinschen.de>
580
581 * include/netinet/ip.h: Include netinet/in_systm.h and netinet/in.h
582 to allow standalone usage (autoconf).
583
5d9a7c87
CF
5842003-04-23 Christopher Faylor <cgf@redhat.com>
585
586 * fork.cc: Change SLOW_PID_REUSE to NO_SLOW_PID_REUSE and invert ifdef
587 sense throughout.
588
0eaf24fe
CF
5892003-04-22 Christopher Faylor <cgf@redhat.com>
590
591 * select.cc (fhandler_pipe::ready_for_read): Assure that get_guard is
592 called for successful non-blocking pipe reads.
593
e8a57b4f
CV
5942003-04-22 Corinna Vinschen <corinna@vinschen.de>
595
596 * include/inttypes.h: New file.
597 * include/stdint.h: New file.
598 * include/cygwin/in.h: Include stdint.h instead of sys/types.h.
599 * include/cygwin/types.h: Include stdint.h. Remove typedefs for
600 intN_t and uintN_t since these are defined in stdint.h now.
601
99b1a40d
CF
6022003-04-21 Christopher Faylor <cgf@redhat.com>
603
650dc784 604 * include/cygwin/version.h: Bump DLL major number to 1005. Change DLL
99b1a40d
CF
605 minor number to 0. Bump API minor number.
606
beb54085
CV
6072003-04-20 Corinna Vinschen <corinna@vinschen.de>
608
609 * autoload.cc (CreateWindowStationA): Add.
610 (SetProcessWindowStation): Add.
611
6b3bdf38
CF
6122003-04-19 Christopher Faylor <cgf@redhat.com>
613
614 * wincap.h (wincaps:pty_needs_alloc_console): New element.
615 (wincapc:pty_needs_alloc_console): New function.
616 * wincap.cc: Add pty_needs_alloc_console throughout.
617 * fhandler_tty.cc (fhandler_tty_slave::open): Open an "invisible"
618 console on first pty allocation.
619
afa18d8a
CF
6202003-04-18 Christopher Faylor <cgf@redhat.com>
621
622 * fhandler_tty.cc (fhandler_tty_slave::open): Allocate a console
623 whenever a pty is allocated.
624
4e0d8778
CF
6252003-04-18 Christopher Faylor <cgf@redhat.com>
626
627 * Makefile.in: Use ${nostdlib} variable.
628
6292003-04-18 Diego Biurrun <diego@biurrun.de>
630
631 * fhandler_proc.cc (format_proc_cpuinfo): Change /proc/cpuinfo "vendor
632 id" string to "vendor_id" to conform with Linux systems.
633
4e837e73
CF
6342003-04-17 Christopher Faylor <cgf@redhat.com>
635
636 * syscalls.cc (setsid): Don't call FreeConsole if ctty is already < 0.
637
f3c1c540
TP
6382003-04-17 Thomas Pfaff <tpfaff@gmx.net>
639
640 * Makefile.in: Add finline-functions optimization to CXXFLAGS.
641 * autoload.cc (LoadDLLprime): Rename std_dll_init to
642 _std_dll_init.
643 (std_dll_init): Remove name mangling prototype. Add attributes
644 used and noinline.
645 (wsock_init): Ditto.
646 Change wsock_init to _wsock_init in wsock32 and ws2_32
647 LoadDLLprime.
648 * exceptions.cc (unused_sig_wrapper): Remove prototype. Add
649 attributes used and noinline.
650 * pwdgrp.h ((pwdgrp (passwd *&)): Remove inline code.
651 (pwdgrp (__group32 *&)): Ditto.
652 * grp.cc (pwdgrp (passwd *&)): Outline constructor.
653 (pwdgrp (__group32 *&)): Ditto.
654
a4cea440
TP
6552003-04-17 Thomas Pfaff <tpfaff@gmx.net>
656
657 * thread.h (pthread::equal): New static method.
658 * thread.cc: Rename pthread_equal to pthread::equal throughout.
659 (pthread_equal): Use pthread::equal to compare threads ids.
660
c448f78f
CF
6612003-04-15 Christopher Faylor <cgf@redhat.com>
662
663 * termios.cc (setspeed): New function.
664 (cfsetospeed): Use setspeed to set speed.
665 (cfsetispeed): Use setspeed to set speed.
666
6672003-04-15 Chris January <chris@atomice.net>
668
669 * autoload.cc: Add load statement for UuidCreate, and
670 UuidCreateSequential.
671 * cpuid.h: New file.
672 * cygwin.din: Export gethostid.
673 * fhandler_proc.cc (cpuid): Move to cpuid.h.
674 (can_set_flag): Move to cpuid.h.
675 * syscalls.cc (gethostid): New function.
5f92bef8 676 * version.h: Bump api minor version number to 83.
c448f78f 677
ffb576fb
TP
6782003-04-15 Thomas Pfaff <tpfaff@gmx.net>
679
680 * thread.h (pthread_rwlock::release): New method.
c448f78f
CF
681 * thread.cc (pthread_rwlock::unlock): Use release to signal waiting
682 threads.
ffb576fb
TP
683 (pthread_rwlock::rdlock_cleanup): Signal waiting threads after a
684 cancelation.
685 (pthread_rwlock::wrlock_cleanup): Ditto.
686
b3acb772
CF
6872003-04-13 Pierre Humblet <pierre.humblet@ieee.org>
688
689 * mkvers.sh: Prefix day with 0 in date only when day < 10.
690
2e23862a
CV
6912003-04-11 Pierre Humblet <pierre.humblet@ieee.org>
692
693 * security.cc (get_info_from_sd): New function.
694 (get_nt_attribute): Only call read_sd and get_info_from_sd.
695 Return void.
696 (get_file_attribute): Move sd error handling to get_info_from_sd.
697 and symlink handling to fhandler_disk_file::fstat_helper.
698 (get_nt_object_attribute): Only call read_sd and get_info_from_sd.
699 Return void.
700 (get_object_attribute): Remove symlink handling and simply return -1
701 when ntsec is off.
702 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): For
703 symlinks set the attribute, call get_file_attribute to get the ids
704 and return. In the normal case call get_file_attribute with the
705 addresses of the buffer ids and do not recheck if the file is a socket.
706
73afb2ab
CF
7072003-04-10 Christopher Faylor <cgf@redhat.com>
708
709 * cygthread.cc (cygthread::stub): Initialize stack pointer earlier.
710 (cygthread::simplestub): Initialize stack pointer.
711 (cygthread::terminate_thread): Account for possibility that stack
712 pointer has not been set. Issue warnings for unusual conditions.
713
2a1e8e11
CV
7142003-04-10 Corinna Vinschen <corinna@vinschen.de>
715
716 * regex/regex.h: Define regoff_t as _off_t.
717 * regex/regex2.h: Ditto.
718
ac5ec961
CV
7192003-04-10 Corinna Vinschen <corinna@vinschen.de>
720
721 * cygwin.din: Export wcscoll, wcswidth and wcwidth.
722 * include/cygwin/version.h: Bump API minor number.
723
e5d6d535
CF
7242003-04-10 Christopher Faylor <cgf@redhat.com>
725
726 * cygthread.h: Change 'avail' cygthread element to 'inuse' throughout.
727 * cygthread.cc: Ditto.
728 (cygthread::stub): Don't initialize already initialized events.
729 (cygthread::freerange): Don't create thread here.
730 (cygthread::cygthread): Create thread here. Die if thread not created.
731 (cygthread::operator new): Simplify. Just grab a thread structure from
732 the pool. Don't try to start the thread.
733 (cygthread::terminate_thread): Don't close event handles. Just reuse
d8ee8ca5 734 them. Call MEM_RELEASE rather than MEM_DECOMMIT (from Joe uehler).
e5d6d535 735
ca81cd60
CF
7362003-04-08 Bob Cassels <bcassels@abinitio.com>
737
738 * fhandler_console.cc (fhandler_console::read) Handle certain key up
739 events, to allow pasting accented characters and typing them using the
740 "alt + numerics" sequences.
741
7422003-04-07 Christopher Faylor <cgf@redhat.com>
743
744 * include/limits.h (IOV_MAX): Set to a number which is small enough to
745 use in an array.
746
b410f168
CF
7472003-04-04 Christopher Faylor <cgf@redhat.com>
748
9dbe3289
CF
749 * cygthread.h (cygthread::avail): Make LONG for easier use with
750 Interlocked* functions.
751 * cygthread.cc (cygthread::init): Eliminate unneeded muto.
752 (cygthread::operator new): Don't lock. Instead change use of avail
753 variable into tri-state: available (1), not available (-1),
754 uninitialized (0).
755 (cygthread::terminate_thread): Set avail to uninitialized.
756 (cygthread::detach): Eliminate local 'avail'. Always set avail to 1
757 unless signalled.
758
7592003-04-04 Christopher Faylor <cgf@redhat.com>
760
761 * cygthread.cc (cygthread::operator new): Be more defensive when messing with
b410f168
CF
762 threads that are marked "unavailable".
763
a61bf8c3
CF
7642003-04-03 Christopher Faylor <cgf@redhat.com>
765
766 * fhandler_console.cc (CONVERT_LIMIT): Use a size for the 21st century.
767
d5292d66
CV
7682003-04-03 Corinna Vinschen <corinna@vinschen.de>
769
770 * external.cc (check_ntsec): Return general ntsec state on NULL
771 filename. Check wincap.is_security() additionally.
772
5a87c616
CF
7732003-04-02 Christopher Faylor <cgf@redhat.com>
774
775 * Makefile.in (EXTRA_OFILES): Remove debugging object.
776
d99c6176
CF
7772003-04-02 Jason Tishler <jason@tishler.net>
778 Christopher Faylor <cgf@redhat.com>
779
780 * external.cc (check_ntsec): New function.
781 (cygwin_internal): Add CW_CHECK_NTSEC handling to call check_ntsec()
782 from applications.
783 * include/cygwin/version.h: Bump API minor number.
784 * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_CHECK_NTSEC.
785
7862003-04-02 Christopher Faylor <cgf@redhat.com>
787
788 * cygthread.cc (cygthread::new): Add more defensive debugging.
789
2d388e43 7902003-04-01 Pierre Humblet <pierre.humblet@ieee.org>
d99c6176 791
2d388e43
CV
792 * fhandler.cc (fhandler_base::fstat): Set the uid and gid fields
793 from the current effective ids.
794 * fhandler_socket.cc (fhandler_socket::fstat): Keep the uid and gid set
795 by fhandler_base::fstat.
796 * security.cc (get_nt_attribute): Do not test wincap.has_security ().
797 (get_nt_object_attribute): Ditto.
798 (get_file_attribute): Add test for wincap.has_security ().
799 (get_object_attribute): Ditto.
800
1727fba0
CV
8012003-04-01 Corinna Vinschen <corinna@vinschen.de>
802
803 * dir.cc: Change __off32_t to _off_t and __off64_t to _off64_t
804 throughout.
805 * fhandler.cc: Ditto.
806 * fhandler.h: Ditto.
807 * fhandler_clipboard.cc: Ditto.
808 * fhandler_disk_file.cc: Ditto.
809 * fhandler_dsp.cc: Ditto.
810 * fhandler_floppy.cc: Ditto.
811 * fhandler_mem.cc: Ditto.
812 * fhandler_proc.cc: Ditto.
813 * fhandler_process.cc: Ditto.
814 * fhandler_random.cc: Ditto.
815 * fhandler_registry.cc: Ditto.
816 * fhandler_tape.cc: Ditto.
817 * fhandler_termios.cc: Ditto.
818 * fhandler_virtual.cc: Ditto.
819 * fhandler_zero.cc: Ditto.
820 * mmap.cc: Ditto.
821 * pipe.cc: Ditto.
822 * syscalls.cc: Ditto.
823 * winsup.h: Ditto.
824 * include/cygwin/stat.h: Ditto.
825 * include/cygwin/types.h: Ditto. Remove definition of __off32_t
826 and __off64_t.
827
333879e7
CF
8282003-03-31 Christopher Faylor <cgf@redhat.com>
829
830 * exceptions.cc (setup_handler): Make sure winapi lock is released when
831 exiting loop.
832
a2105d93
CF
8332003-03-30 Christopher Faylor <cgf@redhat.com>
834
835 * include/cygwin/fs.h: Remove unneeded include.
836 * include/cygwin/in.h: Include sys/types.h rather than cygwin/types.h.
837
856a9750
CV
8382003-03-29 Corinna Vinschen <corinna@vinschen.de>
839
840 * syscalls.cc (login): Fix comment.
841 (logout): Ditto.
842
8304de2e
CV
8432003-03-29 Corinna Vinschen <corinna@vinschen.de>
844
845 * syscalls.cc: Slightly cleanup all utmp functions.
846 (login): Use mutex to secure against concurrent access to wtmp file.
847 (logout): Rewrite using POSIX calls.
848 (utmp_fd): Initialized to -1 now. Any value < 0 is treated as closed
849 in subsequent functions.
850 (utmp_readonly): New variable, indicating utmp file open for reading
851 only.
852 (internal_setutent): New function implementing setutent().
853 (setutent): Call internal_setutent now.
854 (endutent): Reset utmp_readonly.
855 (getutent): Return immediately if utmp file can't be opened.
856 (getutid): Ditto.
857 (getutline): Ditto.
858 (pututline): Ditto. Use mutex to secure against concurrent access to
859 utmp file.
860
46c8214c
CF
8612003-03-28 Christopher Faylor <cgf@redhat.com>
862
863 * Makefile.in: Remove EXE_LDFLAGS. Fix fhandler_CFLAGS typo. Recognize .s suffix.
864 * configure.in: Remove EXE_LDFLAGS.
865 * configure: Regenerate.
866
a7ab35c1
CF
8672003-03-28 Christopher Faylor <cgf@redhat.com>
868
869 * include/sys/cygwin.h: Declare cygwin_internal as unsigned long.
870 * external.cc (cygwin_internal): Define as unsigned long.
871
8722003-03-27 Christopher Faylor <cgf@redhat.com>
873
874 * include/sys/cygwin.h: Move cygwin_internal outside of WINVER
875 conditional.
876
eff6c00e
TP
8772003-03-27 Thomas Pfaff <tpfaff@gmx.net>
878
879 * thread.cc: Change 1==foo equations to foo==1 throughout.
880
15648790
TP
8812003-03-27 Thomas Pfaff <tpfaff@gmx.net>
882
883 * thread.h: Change class names, methods, members and local vars
884 according to the GNU coding style.
885 * thread.cc: Ditto.
886 * dcrt0.cc (dll_crt0_1): Rename pthread::initMainThread call to
887 pthread::init_mainthread.
888 * pthread.cc (pthead_getsequence_np): Rename pthread::isGoodObject
889 call to pthread::is_good_object.
890
98b36ec8
CV
8912003-03-27 Joe Buehler <jhpb@draco.hekimian.com>
892
1ce82d24
CF
893 * autoload.cc: Add RegGetKeySecurity().
894 * security.cc (get_nt_object_attribute): Use RegGetKeySecurity() for
98b36ec8
CV
895 performance.
896
85738bf7
CF
8972003-03-25 Christopher Faylor <cgf@redhat.com>
898 Joe Buehler <jhpb@draco.hekimian.com>
899
900 * fork.cc (fork_parent): Don't copy signals from parent to child here.
901 * sigproc.cc (proc_subproc): Copy signals from parent to child pinfo
902 here.
903
9306ba2e
TP
9042003-03-23 Thomas Pfaff <tpfaff@gmx.net>
905
85738bf7
CF
906 * thread.h (class List): Move inline code inside class declaration.
907 (List::forEach): Change callback parameter to template class member
908 function pointer.
909 (pthread_keys::fixup_before_fork): Change to inline. Use List::forEach
910 to fixup keys.
9306ba2e
TP
911 (pthread_keys::fixup_after_fork): Ditto.
912 (pthread_keys::runAllDestructors): Ditto.
913 (pthread_key::saveAKey): Remove.
914 (pthread_key::restoreAKey): Ditto.
915 (pthread_key::destroyAKey): Ditto.
916 (pthread_key::run_destructor): Rename to runDestructor.
85738bf7
CF
917 (pthread_mutex::fixup_after_fork): Change to inline. Use List::forEach
918 to fixup mutexes after a fork.
9306ba2e
TP
919 (pthread_mutex::FixupAfterFork): New method.
920 (pthread_mutex::mutexes): New member.
85738bf7
CF
921 (pthread_cond::fixup_after_fork): Change to inline. Use List::forEach
922 to fixup conds after a fork.
9306ba2e
TP
923 (pthread_cond::FixupAfterFork): New method.
924 (pthread_cond::conds): New member.
85738bf7 925 (pthread_rwlock::fixup_after_fork): Change to inline. Use
9306ba2e
TP
926 List::forEach to fixup rwlocks after a fork.
927 (pthread_rwlock::FixupAfterFork): New method.
928 (pthread_rwlock::rwlocks): New member.
85738bf7
CF
929 (semaphore::fixup_after_fork): Change to inline. Use List::forEach to
930 fixup mutexes after a fork.
9306ba2e
TP
931 (semaphore::FixupAfterFork): New method.
932 (semaphore::semaphores): New member.
933 (MTinterface::mutexs): Remove.
934 (MTinterface::conds): Ditto.
935 (MTinterface::rwlocks): Ditto.
936 (MTinterface::semaphores): Ditto.
937 (pthread_equal): Add extern "C".
938 (pthread_mutex_lock): Ditto.
85738bf7
CF
939
940 * thread.cc (MTinterface::fixup_after_fork): Change fixup_after_fork
941 calls for pthread objects.
9306ba2e 942 (semaphore::conds): Instantiate.
85738bf7
CF
943 (pthread_cond::pthread_cond): Use List::Insert rather than custom list
944 code.
945 (pthread_cond::~pthread_cond): Use List::Remove rather than custom list
946 code.
9306ba2e
TP
947 (pthread_cond::fixup_after_fork): Rename to FixupAfterFork.
948 (pthread_rwlock::rwlocks): Instantiate.
85738bf7
CF
949 (pthread_rwlock::pthread_crwlock): Use List::Insert rather than custom
950 list code.
951 (pthread_rwlock::~pthread_rwlock): Use List::Remove rather than custom
952 list code.
9306ba2e
TP
953 (pthread_rwlock::fixup_after_fork): Rename to FixupAfterFork.
954 (pthread_key::saveAKey): Remove.
955 (pthread_key::fixup_before_fork): Ditto.
956 (pthread_key::restoreAKey): Ditto.
957 (pthread_key::fixup_after_fork): Ditto.
958 (pthread_key::destroyAKey): Ditto.
959 (pthread_key::runAllDestructors): Ditto.
960 (pthread_key::run_destructor): Rename to runDestructor.
961 (pthread_mutex::mutexes): Instantiate.
85738bf7
CF
962 (pthread_mutex::pthread_mutex): Use List::Insert rather than custom
963 list code.
964 (pthread_mutex::~pthread_mutex): Use List::Remove rather than custom
965 list code.
9306ba2e
TP
966 (pthread_mutex::fixup_after_fork): Rename to FixupAfterFork.
967 (semaphore::conds): Instantiate.
85738bf7
CF
968 (semaphore::semaphore): Use List::Insert rather than custom list code.
969 (semaphores::~semaphore): Use List::Remove rather than custom list
9306ba2e 970 code.
9306ba2e
TP
971 (semaphore::fixup_after_fork): Rename to FixupAfterFork.
972
ff3ef36d
CF
9732003-03-22 Christopher Faylor <cgf@redhat.com>
974
975 * pipe.cc (fhandler_pipe::dup): Don't dup input_handle if it doesn't
976 exist.
977
ca04f61f
CF
9782003-03-22 Christopher Faylor <cgf@redhat.com>
979
980 * syscalls.cc (unlink): Be more defensive when SetFileAttributes is
981 called. Fix typo in debugging output.
982
89e7a1ce
CF
9832003-03-21 Christopher Faylor <cgf@redhat.com>
984
985 * fork.cc: Conditionalize use of slow_pid_reuse throughout. It's not
986 necessary for newer versions of bash.
987
fa85038b
CV
9882003-03-20 Corinna Vinschen <corinna@vinschen.de>
989
990 * fhandler_socket.cc (fhandler_socket::sendto): Restrict EPIPE and
991 SIGPIPE handling to connection oriented sockets. Add comment.
992
4da34970
CF
9932003-03-19 Christopher Faylor <cgf@redhat.com>
994
995 * sigproc.h (signal_fixup_after_exec): Eliminate argument in declaration.
996 * exceptions.cc (signal_fixup_after_exec): Eliminate argument in
997 definition. Don't reset signal handlers after spawm. Just treat like
998 fork/exec.
999 * dcrt0.cc (dll_crt0_1): Don't pass PROC_SPAWN argument to
1000 signal_fixup_after_exec.
1001 * syscalls.cc (unlink): Don't change attributes of file if not readonly/system.
1002 Ditto for resetting of arguments.
1003
036ac6b3
CV
10042003-03-19 Corinna Vinschen <corinna@vinschen.de>
1005
1006 * glob.c: Eliminate __INSIDE_CYGWIN__ preprocessor conditionals
1007 throughout.
1008
b1897d27
CV
10092003-03-19 Corinna Vinschen <corinna@vinschen.de>
1010
1011 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Fix
1012 wrong usage of S_IFDIR.
1013 * security.cc (get_attribute_from_acl): Ditto.
1014 (get_file_attribute): Fix wrong usage of S_IFLNK.
1015 (get_object_attribute): Ditto.
1016 (alloc_sd): Fix wrong usage of S_IFDIR.
1017 * syscalls.cc (chmod): Allow chmod'ing of socket files.
1018
c16d0946
CV
10192003-03-19 Corinna Vinschen <corinna@vinschen.de>
1020
1021 * include/cygwin/version.h (CYGWIN_VERSION_CHECK_FOR_USING_BIG_TYPES):
1022 Define.
1023 * glob.c (g_lstat): Use CYGWIN_VERSION_CHECK_FOR_USING_BIG_TYPES
1024 instead of numerical constants.
1025 (g_stat): Ditto.
1026
6a80a133
TP
10272003-03-18 Thomas Pfaff <tpfaff@gmx.net>
1028
1029 * pthread.cc (pthread_attr_init): Remove
1030 (pthread_attr_destroy): Ditto.
1031 (pthread_attr_setdetachstate): Ditto.
1032 (pthread_attr_getdetachstate): Ditto.
1033 (pthread_attr_setstacksize): Ditto.
1034 (pthread_attr_getstacksize): Ditto.
1035 (pthread_attr_setinheritsched): Ditto.
1036 (pthread_attr_getinheritsched): Ditto.
1037 (pthread_attr_setschedparam): Ditto.
1038 (pthread_attr_getschedparam): Ditto.
1039 (pthread_attr_setschedpolicy): Ditto.
1040 (pthread_attr_getschedpolicy): Ditto.
1041 (pthread_attr_setscope): Ditto.
1042 (pthread_attr_getscope): Ditto.
1043 (pthread_attr_setstackaddr): Ditto.
1044 (pthread_attr_getstackaddr): Ditto.
1045 (pthread_key_create): Ditto.
1046 (pthread_key_delete): Ditto.
1047 (pthread_setspecific): Ditto.
1048 (pthread_getspecific): Ditto.
1049 (pthread_kill): Ditto.
1050 (pthread_sigmask): Ditto.
1051 (pthread_equal): Ditto.
1052 (pthread_mutex_lock): Ditto.
1053 (pthread_mutex_trylock): Ditto.
1054 (pthread_mutex_unlock): Ditto.
1055 (pthread_mutex_destroy): Ditto.
1056 (pthread_mutex_setprioceiling): Ditto.
1057 (pthread_mutex_getprioceiling): Ditto.
1058 (pthread_mutexattr_destroy): Ditto.
1059 (pthread_mutexattr_getprioceiling): Ditto.
1060 (pthread_mutexattr_getprotocol): Ditto.
1061 (pthread_mutexattr_getpshared): Ditto.
1062 (pthread_mutexattr_gettype): Ditto.
1063 (pthread_mutexattr_init): Ditto.
1064 (pthread_mutexattr_setprioceiling): Ditto.
1065 (pthread_mutexattr_setprotocol): Ditto.
1066 (pthread_mutexattr_setpshared): Ditto.
1067 (pthread_mutexattr_settype): Ditto.
1068 (pthread_cond_destroy): Ditto.
1069 (pthread_cond_signal): Ditto.
1070 (pthread_cond_broadcast): Ditto.
1071 (pthread_condattr_init): Ditto.
1072 (pthread_condattr_destroy): Ditto.
1073 (pthread_condattr_getpshared): Ditto.
1074 (pthread_condattr_setpshared): Ditto.
1075 (pthread_rwlock_destroy): Ditto.
1076 (pthread_rwlock_rdlock): Ditto.
1077 (pthread_rwlock_tryrdlock): Ditto.
1078 (pthread_rwlock_wrlock): Ditto.
1079 (pthread_rwlock_trywrlock): Ditto.
1080 (pthread_rwlock_unlock): Ditto.
1081 (pthread_rwlockattr_init): Ditto.
1082 (pthread_rwlockattr_getpshared): Ditto.
1083 (pthread_rwlockattr_setpshared): Ditto.
1084 (pthread_rwlockattr_destroy): Ditto.
1085 (pthread_getconcurrency): Ditto.
1086 (pthread_setconcurrency): Ditto.
1087 (pthread_getschedparam): Ditto.
1088 (pthread_setschedparam): Ditto.
1089
1090 * thread.h (__pthread_attr_init): Remove prototype.
1091 (__pthread_attr_destroy): Ditto.
1092 (__pthread_attr_setdetachstate): Ditto.
1093 (__pthread_attr_getdetachstate): Ditto.
1094 (__pthread_attr_setstacksize): Ditto.
1095 (__pthread_attr_getstacksize): Ditto.
1096 (__pthread_attr_setinheritsched): Ditto.
1097 (__pthread_attr_getinheritsched): Ditto.
1098 (__pthread_attr_setschedparam): Ditto.
1099 (__pthread_attr_getschedparam): Ditto.
1100 (__pthread_attr_setschedpolicy): Ditto.
1101 (__pthread_attr_getschedpolicy): Ditto.
1102 (__pthread_attr_setscope): Ditto.
1103 (__pthread_attr_getscope): Ditto.
1104 (__pthread_attr_setstackaddr): Ditto.
1105 (__pthread_attr_getstackaddr): Ditto.
1106 (__pthread_key_create): Ditto.
1107 (__pthread_key_delete): Ditto.
1108 (__pthread_setspecific): Ditto.
1109 (__pthread_getspecific): Ditto.
1110 (__pthread_kill): Ditto.
1111 (__pthread_sigmask): Ditto.
1112 (__pthread_equal): Ditto.
1113 (__pthread_mutex_lock): Ditto.
1114 (__pthread_mutex_trylock): Ditto.
1115 (__pthread_mutex_unlock): Ditto.
1116 (__pthread_mutex_destroy): Ditto.
1117 (__pthread_mutex_setprioceiling): Ditto.
1118 (__pthread_mutex_getprioceiling): Ditto.
1119 (__pthread_mutexattr_destroy): Ditto.
1120 (__pthread_mutexattr_getprioceiling): Ditto.
1121 (__pthread_mutexattr_getprotocol): Ditto.
1122 (__pthread_mutexattr_getpshared): Ditto.
1123 (__pthread_mutexattr_gettype): Ditto.
1124 (__pthread_mutexattr_init): Ditto.
1125 (__pthread_mutexattr_setprioceiling): Ditto.
1126 (__pthread_mutexattr_setprotocol): Ditto.
1127 (__pthread_mutexattr_setpshared): Ditto.
1128 (__pthread_mutexattr_settype): Ditto.
1129 (__pthread_cond_destroy): Ditto.
1130 (__pthread_cond_signal): Ditto.
1131 (__pthread_cond_broadcast): Ditto.
1132 (__pthread_condattr_init): Ditto.
1133 (__pthread_condattr_destroy): Ditto.
1134 (__pthread_condattr_getpshared): Ditto.
1135 (__pthread_condattr_setpshared): Ditto.
1136 (__pthread_rwlock_destroy): Ditto.
1137 (__pthread_rwlock_rdlock): Ditto.
1138 (__pthread_rwlock_tryrdlock): Ditto.
1139 (__pthread_rwlock_wrlock): Ditto.
1140 (__pthread_rwlock_trywrlock): Ditto.
1141 (__pthread_rwlock_unlock): Ditto.
1142 (__pthread_rwlockattr_init): Ditto.
1143 (__pthread_rwlockattr_getpshared): Ditto.
1144 (__pthread_rwlockattr_setpshared): Ditto.
1145 (__pthread_rwlockattr_destroy): Ditto.
1146 (__pthread_getconcurrency): Ditto.
1147 (__pthread_setconcurrency): Ditto.
1148 (__pthread_getschedparam): Ditto.
1149 (__pthread_setschedparam): Ditto.
1150
1151 * thread.cc: Rename __pthread_equal to pthread_equal throughout.
1152 Change pthread_self parameter appropriate.
1153 (__pthread_attr_init): Remove __ prefix. Change to extern "C".
1154 (__pthread_attr_destroy): Ditto.
1155 (__pthread_attr_setdetachstate): Ditto.
1156 (__pthread_attr_getdetachstate): Ditto.
1157 (__pthread_attr_setstacksize): Ditto.
1158 (__pthread_attr_getstacksize): Ditto.
1159 (__pthread_attr_setinheritsched): Ditto.
1160 (__pthread_attr_getinheritsched): Ditto.
1161 (__pthread_attr_setschedparam): Ditto.
1162 (__pthread_attr_getschedparam): Ditto.
1163 (__pthread_attr_setschedpolicy): Ditto.
1164 (__pthread_attr_getschedpolicy): Ditto.
1165 (__pthread_attr_setscope): Ditto.
1166 (__pthread_attr_getscope): Ditto.
1167 (__pthread_attr_setstackaddr): Ditto.
1168 (__pthread_attr_getstackaddr): Ditto.
1169 (__pthread_key_create): Ditto.
1170 (__pthread_key_delete): Ditto.
1171 (__pthread_setspecific): Ditto.
1172 (__pthread_getspecific): Ditto.
1173 (__pthread_kill): Ditto.
1174 (__pthread_sigmask): Ditto.
1175 (__pthread_equal): Ditto.
1176 (__pthread_mutex_lock): Ditto.
1177 (__pthread_mutex_trylock): Ditto.
1178 (__pthread_mutex_unlock): Ditto.
1179 (__pthread_mutex_destroy): Ditto.
1180 (__pthread_mutex_setprioceiling): Ditto.
1181 (__pthread_mutex_getprioceiling): Ditto.
1182 (__pthread_mutexattr_destroy): Ditto.
1183 (__pthread_mutexattr_getprioceiling): Ditto.
1184 (__pthread_mutexattr_getprotocol): Ditto.
1185 (__pthread_mutexattr_getpshared): Ditto.
1186 (__pthread_mutexattr_gettype): Ditto.
1187 (__pthread_mutexattr_init): Ditto.
1188 (__pthread_mutexattr_setprioceiling): Ditto.
1189 (__pthread_mutexattr_setprotocol): Ditto.
1190 (__pthread_mutexattr_setpshared): Ditto.
1191 (__pthread_mutexattr_settype): Ditto.
1192 (__pthread_cond_destroy): Ditto.
1193 (__pthread_cond_signal): Ditto.
1194 (__pthread_cond_broadcast): Ditto.
1195 (__pthread_condattr_init): Ditto.
1196 (__pthread_condattr_destroy): Ditto.
1197 (__pthread_condattr_getpshared): Ditto.
1198 (__pthread_condattr_setpshared): Ditto.
1199 (__pthread_rwlock_destroy): Ditto.
1200 (__pthread_rwlock_rdlock): Ditto.
1201 (__pthread_rwlock_tryrdlock): Ditto.
1202 (__pthread_rwlock_wrlock): Ditto.
1203 (__pthread_rwlock_trywrlock): Ditto.
1204 (__pthread_rwlock_unlock): Ditto.
1205 (__pthread_rwlockattr_init): Ditto.
1206 (__pthread_rwlockattr_getpshared): Ditto.
1207 (__pthread_rwlockattr_setpshared): Ditto.
1208 (__pthread_rwlockattr_destroy): Ditto.
1209 (__pthread_getconcurrency): Ditto.
1210 (__pthread_setconcurrency): Ditto.
1211 (__pthread_getschedparam): Ditto.
1212 (__pthread_setschedparam): Ditto.
1213
00d296a3
TP
12142003-03-18 Thomas Pfaff <tpfaff@gmx.net>
1215
1216 * cygwin.din: Add pthread_rwlock_destroy, pthread_rwlock_init,
1217 pthread_rwlock_rdlock, pthread_rwlock_tryrdlock,
1218 pthread_rwlock_wrlock, pthread_rwlock_trywrlock,
1219 pthread_rwlock_unlock, pthread_rwlockattr_init,
1220 pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared,
1221 and pthread_rwlockattr_destroy.
1222 * include/cygwin/version.h: Bump API minor number.
1223 * include/pthread.h (PTHREAD_RWLOCK_INITIALIZER): Define a
1224 reasonable value.
1225 Add prototypes for pthread_rwlock_destroy, pthread_rwlock_init,
1226 pthread_rwlock_rdlock, pthread_rwlock_tryrdlock,
1227 pthread_rwlock_wrlock, pthread_rwlock_trywrlock,
1228 pthread_rwlock_unlock, pthread_rwlockattr_init,
1229 pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared,
1230 and pthread_rwlockattr_destroy.
1231 * thread.h (PTHREAD_ONCE_MAGIC): Remove superflous semicolon.
1232 (PTHREAD_RWLOCK_MAGIC): New define.
1233 (PTHREAD_RWLOCKATTR_MAGIC): Ditto.
1234 (pthread_rwlockattr): New class.
1235 (pthread_rwlock): Ditto.
1236 (MTinterface::rwlocks): New member.
1237 (MTinterface::MTinterface): Initialize rwlocks.
1238 Add prototypes for __pthread_rwlock_destroy,
1239 __pthread_rwlock_wrlock, __pthread_rwlock_trywrlock,
1240 __pthread_rwlock_unlock, __pthread_rwlockattr_init,
1241 __pthread_rwlockattr_getpshared, __pthread_rwlockattr_setpshared,
1242 and __pthread_rwlockattr_destroy.
1243 * thread.cc (MTinterface::Init): Initialize rwlock internal mutex.
1244 (MTinterface::fixup_after_fork): Fixup rwlocks after fork.
1245 (pthread_rwlockattr::isGoodObject): Implement.
1246 (pthread_rwlockattr::pthread_rwlockattr): Ditto.
1247 (pthread_rwlockattr::~pthread_rwlockattr): Ditto.
1248 (pthread_rwlock::initMutex): Ditto.
1249 (pthread_rwlock::pthread_rwlock): Ditto.
1250 (pthread_rwlock::~pthread_rwlock): Ditto.
1251 (pthread_rwlock::RdLock): Ditto.
1252 (pthread_rwlock::TryRdLock): Ditto.
1253 (pthread_rwlock::WrLock): Ditto.
1254 (pthread_rwlock::TryWrLock): Ditto.
1255 (pthread_rwlock::UnLock): Ditto.
1256 (pthread_rwlock::addReader): Ditto.
1257 (pthread_rwlock::removeReader): Ditto.
1258 (pthread_rwlock::lookupReader): Ditto.
1259 (pthread_rwlock::RdLockCleanup): Ditto.
1260 (pthread_rwlock::WrLockCleanup): Ditto.
1261 (pthread_rwlock::fixup_after_fork): Ditto.
1262 (pthread_rwlock::isGoodObject): Ditto.
1263 (pthread_rwlock::isGoodInitializer): Ditto.
1264 (pthread_rwlock::isGoodInitializerOrObject): Ditto.
1265 (pthread_rwlock::isGoodInitializerOrBadObject): Ditto.
1266 (__pthread_rwlock_destroy): Ditto.
1267 (pthread_rwlock::init): Ditto.
1268 (__pthread_rwlock_rdlock): Ditto.
1269 (__pthread_rwlock_tryrdlock): Ditto.
1270 (__pthread_rwlock_wrlock): Ditto.
1271 (__pthread_rwlock_trywrlock): Ditto.
1272
f592b05d
TP
12732003-03-18 Thomas Pfaff <tpfaff@gmx.net>
1274
1275 * thread.h (pthread_cond::ExitingWait): Remove.
1276 (pthread_cond::mutex): Ditto.
1277 (pthread_cond::cond_access): Ditto.
1278 (pthread_cond::win32_obj_id): Ditto.
1279 (pthread_cond::TimedWait): Ditto.
1280 (pthread_cond::BroadCast): Ditto.
1281 (pthread_cond::Signal): Ditto.
1282 (pthread_cond::waiting): Change type to unsigned long.
1283 (pthread_cond::pending): New member.
1284 (pthread_cond::semWait): Ditto.
1285 (pthread_cond::mtxIn): Ditto.
1286 (pthread_cond::mtxOut): Ditto.
1287 (pthread_cond::mtxCond): Ditto.
1288 (pthread_cond::UnBlock): New method.
1289 (pthread_cond::Wait): Ditto.
1290 * thread.cc: Update list of cancellation points.
1291 (pthread_cond::pthread_cond): Rewrite.
1292 (pthread_cond::~pthread_cond): Ditto.
1293 (pthread_cond::TimedWait): Remove.
1294 (pthread_cond::BroadCast): Ditto.
1295 (pthread_cond::Signal): Ditto.
1296 (pthread_cond::UnBlock): Implement.
1297 (pthread_cond::Wait): Ditto.
1298 (pthread_cond::fixup_after_fork): Rewrite.
1299 (pthread_mutex::fixup_after_fork): Remove DETECT_BAD_APP
1300 conditional.
1301 (__pthread_cond_broadcast): Just return 0 if the condition is
1302 not initialized. Call pthread_cond::UnBlock to release blocked
1303 threads.
1304 (__pthread_cond_signal): Ditto.
1305 (__pthread_cond__dowait): Rewrite.
1306 (pthread_cond_timedwait): Add pthread_testcancel call. Fix
1307 waitlength calculation.
1308 (pthread_cond_wait): Add pthread_testcancel call.
1309
2ff03dc2
TP
13102003-03-18 Thomas Pfaff <tpfaff@gmx.net>
1311
1312 * include/pthread.h (PTHREAD_MUTEX_NORMAL): New define.
1313 * thread.cc: Remove errno.h include.
1314 (pthread::precreate): Change internal mutex type to normal.
1315 (pthread_mutex::canBeUnlocked): Implement.
1316 (pthread_mutex::pthread_mutex): Initialize lock_counter with 0.
1317 (pthread_mutex::Lock): Rename to _Lock. Add self parameter.
1318 Change lock_counter logic. Update SetOwner call.
1319 (pthread_mutex::TryLock): Rename to _TryLock. Add self parameter.
1320 Change lock_counter logic. Update SetOwner call.
1321 (pthread_mutex::UnLock): Rename to _UnLock. Add self parameter.
1322 Change lock_counter logic.
1323 (pthread_mutex::Destroy): Rename to _Destroy. Update TryLock call.
1324 (pthread_mutex::SetOwner): Move to thread.h as inline.
1325 (pthread_mutex::LockRecursive): Ditto.
1326 (pthread_mutex::fixup_after_fork): Change lock_counter logic.
1327 (__pthread_mutexattr_settype): Add PTHREAD_MUTEX_NORMAL to valid
1328 types check.
1329 * thread.h: Include errno.h and limits.h.
1330 (MUTEX_LOCK_COUNTER_INITIAL): Remove.
1331 (MUTEX_OWNER_ANONYMOUS): New define.
1332 (pthread_mutex::canBeUnlocked): New static method.
1333 (pthread_mutex::lock_counter): Change type to unsigned long.
1334 (pthread_mutex::GetPthreadSelf): New method.
1335 (pthread_mutex::Lock): Call _Lock with pthread_self pointer.
1336 (pthread_mutex::TryLock): Call _TryLock with pthread_self pointer.
1337 (pthread_mutex::UnLock): Call _UnLock with pthread_self pointer.
1338 (pthread_mutex::Destroy): Call _Destroy with pthread_self pointer.
1339 (pthread_mutex::SetOwner): Moved from thread.cc as inline.
1340 (pthread_mutex::LockRecursive): Ditto.
1341 (pthread_mutex::_Lock): New method.
1342 (pthread_mutex::_TryLock): New method.
1343 (pthread_mutex::_UnLock): New method.
1344 (pthread_mutex::_Destroy): New method.
1345
dcd350f0
CV
13462003-03-18 Christopher January <chris@atomice.net>
1347
1348 * fhandler_proc.cc (format_proc_cpuinfo): Use IsProcessorFeaturePresent
1349 only on Windows NT. Read CPU Mhz value only on NT. Revert previous
1350 change so cpuid instruction is called even on non-NT systems.
1351
c51dc9c2
CV
13522003-03-17 Corinna Vinschen <corinna@vinschen.de>
1353
a2105d93 1354 * glob.c (g_lstat): Change API minor test to match API minor number
c51dc9c2
CV
1355 change in previous patch.
1356 (g_stat): Ditto.
1357
f194ba1f
CF
13582003-03-17 Christopher Faylor <cgf@redhat.com>
1359
1360 * include/cygwin/version.h: Reorganize last two api versions so that
1361 btowc and trunc exports show up before previous bump since there has
1362 been no exported version of the DLL with the 64 bit changes yet but
1363 1.3.22 will have the btowc and trunc.
1364
3543669f
CF
13652003-03-17 Christopher Faylor <cgf@redhat.com>
1366
1367 * cygwin.din: Export btowc, trunc.
1368 * include/cygwin/version.h: Reflect new exports.
1369 * syscalls.cc (_stat): Rename to stat to avoid newlib wrapper.
1370 * syscalls.cc (_fstat): Ditto.
1371
13722003-03-16 Christopher Faylor <cgf@redhat.com>
1373
1374 * fhandler_console.cc (fhandler_console::close): Correct check for
1375 current tty. Add debugging output when console is freed.
1376 (set_console_state_for_spawn): Add debugging output.
1377 * fhandler_tty.cc (fhandler_tty_slave::open): Don't decrement console
1378 open flag when vforking.
1379 * sigproc.cc (sigproc_terminate): Fix debugging output.
1380 * spawn.cc (handle): Eliminate second argument.
1381 (spawn_guts): Reflect elimination of argument change to handle.
1382 * syscalls.cc (setsid): Add debugging output when console is freed.
1383
13842003-03-14 Christopher Faylor <cgf@redhat.com>
1385
1386 * syscalls.cc (rename): Revert assumption that DELETE_ON_CLOSE works on
1387 Win9x.
1388
41ffdfa5
CF
13892003-03-13 Christopher Faylor <cgf@redhat.com>
1390
1391 * include/cygwin/version.h: Bump DLL minor number to 23.
1392
5b186cd9
CV
13932003-03-13 Corinna Vinschen <corinna@vinschen.de>
1394
1395 * autoload.cc (IsProcessorFeaturePresent): Add.
1396 * fhandler_proc.cc (format_proc_cpuinfo): Add case for 9x systems.
1397
c58555c7
CV
13982003-03-13 Corinna Vinschen <corinna@vinschen.de>
1399
1400 * fhandler_proc.cc (format_proc_cpuinfo): Fix vendor id in cpuid case.
1401
49a0d53c
CV
14022003-03-13 Corinna Vinschen <corinna@vinschen.de>
1403
1404 * net.cc (cygwin_rcmd): Use correct file descriptor in call to fdsock.
1405 (cygwin_rexec): Ditto.
1406
6fcd5661
CF
14072003-03-13 Christopher Faylor <cgf@redhat.com>
1408
1409 * fhandler_tty.cc (fhandler_tty_slave::close): Fix typo in debug
1410 output.
1411
1412 * syscalls.cc (rename): Assume that DELETE_ON_CLOSE works on Win9x.
1413
aa39b7f7
CV
14142003-03-11 Corinna Vinschen <corinna@vinschen.de>
1415
1416 * fhandler_socket.cc (fhandler_socket::dup): Don't call
1417 fhandler_base::dup() but call DuplicateHandle directly instead to have
1418 control over socket inheritence.
1419
2afa7f58
CV
14202003-03-11 Corinna Vinschen <corinna@vinschen.de>
1421
1422 * fhandler_socket.cc (fhandler_socket::dup): On NT systems avoid
1423 using WinSock2 socket duplication methods. Add comment.
1424
14252003-03-11 Pierre Humblet <pierre.humblet@ieee.org>
1426
1427 * fhandler_socket.cc (fhandler_socket::fixup_after_fork):
1428 Set io_handle to INVALID_SOCKET in case of failure.
1429 (fhandler_socket::dup): Return 0 if the io_handle is valid.
1430
556ceaeb
CV
14312003-03-10 Corinna Vinschen <corinna@vinschen.de>
1432
1433 * sec_acl.cc (setacl): Don't handle DELETE flag specially.
1434 * security.cc (alloc_sd): Ditto.
1435
a201401c
CV
14362003-03-09 Corinna Vinschen <corinna@vinschen.de>
1437
6bbf711e 1438 * winver.rc: Change Copyright hint to include 2003.
a201401c 1439
b1aae492
CV
14402003-03-09 Corinna Vinschen <corinna@vinschen.de>
1441
1442 Switch to 32/64 datatypes:
1443 * Makefile.in (OBSOLETE_FUNCTIONS): Add open acl aclcheck aclfrommode
1444 aclfrompbits aclfromtext aclsort acltomode acltopbits acltotext chown
1445 facl fchown fgetpos fopen freopen fseeko fsetpos fstat ftello
1446 ftruncate getegid geteuid getgid getgrent getgrgid getgrnam getgroups
1447 getpwuid getpwuid_r getuid initgroups lchown lseek lstat mknod mmap
1448 seekdir setegid seteuid setgid setgroups setregid setreuid setuid stat
1449 telldir truncate.
1450 (NEW_FUNCTIONS): Add _open64 acl32 aclcheck32 aclfrommode32
1451 aclfrompbits32 aclfromtext32 aclsort32 acltomode32 acltopbits32
1452 acltotext32 chown32 facl32 fchown32 fgetpos64 fopen64 freopen64
1453 fseeko64 fsetpos64 fstat64 ftello64 ftruncate64 getegid32 geteuid32
1454 getgid32 getgrent32 getgrgid32 getgrnam32 getgroups32 getpwuid32
1455 getpwuid_r32 getuid32 initgroups32 lchown32 lseek64 lstat64 mknod32
1456 mmap64 seekdir64 setegid32 seteuid32 setgid32 setgroups32 setregid32
1457 setreuid32 setuid32 stat64 telldir64 truncate64 to substitute the
1458 above.
1459 * cygserver_shm.h (class client_request_shm): Change uid_t and gid_t
1460 members to __uid32_t and __gid32_t.
1461 * cygwin.din: Add symbols acl32 aclcheck32 aclfrommode32
1462 aclfrompbits32 aclfromtext32 aclsort32 acltomode32 acltopbits32
1463 acltotext32 facl32 fgetpos64 fopen64 freopen64 fseeko64 fsetpos64
1464 _fstat64 ftello64 _lseek64 mknod32 _open64.
1465 * glob.c: Include perprocess.h.
1466 (globtilde): Call getpwuid32 and getuid32 instead of getpwuid and
1467 getuid.
1468 (g_lstat): Check for applications API version to call the appropriate
1469 typed gl_lstat function.
1470 (g_stat): Ditto for gl_stat.
1471 * shm.cc (client_request_shm::client_request_shm): Call geteuid32
1472 and getegid32 instead of geteuid and getegid throughout.
1473 * syscalls.cc (_open64): New alias for open.
1474 (_lseek64): New alias for lseek64.
1475 (_fstat64): New alias for fseek64.
1476 (mknod32): New function.
1477 (mknod): Calls mknod32 now.
1478 * winsup.h: Make function declarations for getuid32, geteuid32,
1479 and getpwuid32 accessible for plain C sources. Add declarations
1480 for getegid32 and getpwnam.
1481 * include/cygwin/version.h: Bum API minor number to 78.
1482 * include/sys/cygwin.h: Guard C++ specific members of struct
1483 per_process against inclusion in plain C sources.
1484 * include/sys/mman.h (mman): Add guard to avoid type clash when
1485 compiling Cygwin.
1486
659fb3ff
CF
14872003-03-09 Christopher Faylor <cgf@redhat.com>
1488
d580d86c 1489 * include/cygwin/version.h: Bump DLL minor number to 22.
659fb3ff 1490
c367dfd0
CF
14912003-03-09 Christopher Faylor <cgf@redhat.com>
1492
1493 Do some minor reformatting of 'extern "C"' use throughout.
1494
14952003-03-06 Christopher January <chris@atomice.net>
1496
1497 * autoload.cc (GetSystemTimes): Define new autoload function.
1498 * fhandler_proc.cc (proc_listing): Add cpuinfo and partitions entries.
1499 (fhandler_proc::fill_filebuf): Add PROC_CPUINFO and PROC_PARTITIONS
1500 cases.
1501 (format_proc_uptime): Use GetSystemTimes if available.
1502 (read_value): New macro.
1503 (print): New macro.
1504 (cpuid): New function.
1505 (can_set_flag): New function.
1506 (format_proc_cpuinfo): New function.
1507 (format_proc_partitions): New function.
1508
36c4a441
CF
15092003-03-09 Christopher Faylor <cgf@redhat.com>
1510
1511 * syscalls.cc (unlink): Attempt to be more clever about setting
1512 attributes of file. Only open file in query mode to avoid having to
1513 mess with security stuff for reading.
1514
639ebe29
CV
15152003-03-09 Corinna Vinschen <corinna@vinschen.de>
1516
1517 * rmsym: Fix regular expression.
1518
3a1d827f
CF
15192003-03-09 Christopher Faylor <cgf@redhat.com>
1520
1521 * Makefile.in: Change from using new-* to cygwin0 for temporary
1522 targets.
1523
ca0e9071
CV
15242003-03-09 Corinna Vinschen <corinna@vinschen.de>
1525
1526 * include/cygwin/socket.h: Set SOMAXCONN to Winsock2 value.
1527
ed269cea
CF
15282003-03-08 Christopher Faylor <cgf@redhat.com>
1529
1530 * syscalls.cc (unlink): Always attempt to use FILE_FLAG_CLOSE_ON_DELETE
1531 to delete files since this allows us to preserve the protection of hard
1532 linked files.
1533 (link): Generate full path for potentially recalculated .lnk target.
1534
1114c3d0
CF
15352003-03-08 Christopher Faylor <cgf@redhat.com>
1536
1537 Revert below changes regarding _pinfo::cmdline.
1538
d66ac2bc
CV
15392003-03-08 Corinna Vinschen <corinna@vinschen.de>
1540
1541 * external.cc (cygwin_internal): Change n to __off64_t to match change
1542 of _pinfo::cmdline.
1543 * fhandler.h (class fhandler_virtual): Change filesize member to
1544 __off64_t.
1545 * fhandler_proc.cc (format_proc_meminfo): Change to return __off64_t.
1546 (format_proc_stat): Ditto.
1547 (format_proc_uptime): Ditto.
1548 * fhandler_process.cc (format_process_stat): Ditto.
1549 (format_process_status): Ditto.
1550 (format_process_statm): Ditto.
1551 * pinfo.cc (_pinfo::cmdline): Expect __off64_t parameter.
1552 * pinfo.h (class _pinfo): Change declaration of cmdline accordingly.
1553
762520f3
CF
15542003-03-07 Christopher Faylor <cgf@redhat.com>
1555
1556 * path.h (PATH_LNK): New enum val.
1557 (path_conv::is_lnk_symlink): New function. True if path represents
1558 .lnk style symlink.
1559 * path.cc (check_shortcut): Set PATH_LNK in pflags when appropriate.
1560 (symlink_info::check): Ditto. Remove PATH_LNK from pflags initially.
1561 * syscalls.cc (unlink): Always remove readonly attribute from a symlink
1562 regardless of type.
1563 (link): (from Corinna Vinschen) Allow links to symlinks. Reset
1564 attributes on a symlink after successful link creation.
1565 (chmod): Use is_lnk_symlink where appropriate.
1566 (rename): Ditto.
1567
15682003-03-07 Pierre Humblet <pierre.humblet@ieee.org>
1569
1570 * tty.cc (create_tty_master): Call GetComputerName instead of
1571 cygwin_gethostname. Set ut_id.
1572 * syscalls.cc (login): Call endutent.
1573 (setutent): Do not seek after a fresh open.
1574
6f8102cb
CV
15752003-03-07 Corinna Vinschen <corinna@vinschen.de>
1576
1577 * syscalls.cc (seteuid32): Fix formatting.
1578
88243328
TP
15792003-03-04 Thomas Pfaff <tpfaff@gmx.net>
1580
1581 * thread.cc (MTinterface::fixup_after_fork): Initialize mainthread
1582 prior to pthread objects.
762520f3 1583
12390bc4
CV
15842003-03-04 Jason Tishler <jason@tishler.net>
1585
1586 * fhandler_socket.cc (fhandler_socket::dup): Initialize type.
1587
c418817e
CF
15882003-03-03 Christopher Faylor <cgf@redhat.com>
1589
1590 * fhandler.h (fhandler_tty_slave::close): Declare new function.
1591 (fhandler_tty_slave::dup): Declare new function.
1592 (fhandler_tty_slave::fixup_after_function): Declare new function.
1593 * fhandler_tty.cc (fhandler_tty_slave_open): Only increment
1594 fhandler_console::open_fhs when associated with a pty.
1595 (fhandler_tty_slave::close): Define new function. Decrement
1596 fhandler_console::open_fhs when associated with a pty.
1597 (fhandler_tty_slave::dup): Define new function. Increment
1598 fhandler_console::open_fhs when associated with a pty.
1599 (fhandler_tty_slave::fixup_after_fork): Define new function. Increment
1600 fhandler_console::open_fhs when associated with a pty.
1601
e11fe31b
CF
16022003-03-03 Christopher Faylor <cgf@redhat.com>
1603
1604 * fhandler_tty.cc (fhandler_pty_slave::open): Grudgingly increment
1605 fhandler_console::open_fhs here.
1606 (fhandler_pty_slave::close): Ditto for close.
1607
cffdb4b1
CF
16082003-03-02 Christopher Faylor <cgf@redhat.com>
1609
1610 * lib/getopt.c: Refresh from NetBSD sources.
1611
d5d2ffee
CF
16122003-03-02 Christopher Faylor <cgf@redhat.com>
1613
1614 * fhandler_console.cc (fhandler_console::close): Don't decrement
1615 in use counter if in vfork fixup stage.
1616
c2c6b170
CF
16172003-03-02 Christopher Faylor <cgf@redhat.com>
1618
1619 * lib/getopt.c: Nuke use of unneeded BSDisms.
1620
8b19b43d
CF
16212003-03-02 Christopher Faylor <cgf@redhat.com>
1622
1623 * dll_init.cc (dll_list::load_after_fork): Don't revert to LoadLibrary
1624 if LoadLibraryEx fails.
1625 * dtable.cc (dtable::dec_console_fds): Eliminate.
1626 (dtable::release): Don't treat console specially.
1627 (dtable::build_fhandler): Ditto.
1628 * dtable.h (console_fds): Eliminate.
1629 (dtable::dec_console_fds): Eliminate.
1630 (dtable::inc_console_fds): Eliminate.
1631 * fhandler.h (fhandler_console::open_fhs): New static element.
1632 * fhandler_console.cc (fhandler_console::open): Increment open_fs.
1633 (fhandler_console::close): Call FreeConsole if no more open consoles
1634 and ctty is not associated with the console.
1635 * syscalls.cc (setsid): Simplify check for when to call FreeConsole.
1636 (check_pty_fds): Eliminate definition.
1637 * winsup.h (check_pty_fds): Eliminate declaration.
1638
3efc65f7
CF
16392003-03-02 Christopher Faylor <cgf@redhat.com>
1640
1641 * dll_init.cc (dll_list::load_after_fork): Fix typo where result of
1642 LoadLibrary was ignored.
1643
5a082e9e
CV
16442003-03-01 Corinna Vinschen <corinna@vinschen.de>
1645
1646 * fhandler_socket.cc (fhandler_socket::bind): Open and write socket
1647 file using Win32 calls.
1648
9d913f07
CV
16492003-03-01 Corinna Vinschen <corinna@vinschen.de>
1650
1651 * fhandler_socket.cc (get_inet_addr): Open and read socket file using
1652 Win32 calls.
1653
005c3065
CF
16542003-02-28 Christopher Faylor <cgf@redhat.com>
1655
1656 * cygwin.din: Wrap atexit and exit with cygwin, thread-safe functions.
1657 * dcrt0.cc (cygwin_atexit): New function.
1658 (cygwin_exit): Ditto.
1659
27b4082a
PH
16602003-02-28 Pierre Humblet <pierre.humblet@ieee.org>
1661
1662 * syscalls.cc (fstat64): Pass get_name () to pc.
005c3065 1663 (access): Pass fn to stat_worker.
27b4082a
PH
1664
16652003-03-27 Corinna Vinschen <corinna@vinschen.de>
5777b970
CV
1666
1667 * fhandler_socket.cc (class sock_event): New class managing Winsock
1668 events for interruptible socket calls.
1669 (fhandler_socket::connect): Move support for interruptible call to
1670 class sock_event. Use class object instead.
1671 (fhandler_socket::accept): Ditto. Remove useless casts.
1672
005c3065 16732003-03-27 Thomas Pfaff <tpfaff@gmx.net>
5777b970
CV
1674
1675 * fhandler_socket.cc (fhandler_socket::connect): Add support for
1676 an interruptable connect.
1677
7b2ce663
CV
16782003-02-27 Pierre Humblet <pierre.humblet@ieee.org>
1679
1680 * uinfo.cc (internal_getlogin): Only update user.groups.pgsid
1681 if the call to set the primary group succeeds.
1682
0e7a60fe
CF
16832003-02-27 Christopher Faylor <cgf@redhat.com>
1684
1685 * cygthread::detach: Improve error message.
1686
61a52599
CV
16872003-02-26 Pierre Humblet <pierre.humblet@ieee.org>
1688
1689 * sec_helper.cc (get_sids_info): debug_print owner_sid and group_sid.
1690
6b9a9ce6
CV
16912003-02-25 Corinna Vinschen <corinna@vinschen.de>
1692
1693 * mmap.cc (mmap64): Fix returned address by taking the granularity
1694 into account.
1695
1ffc44aa
PH
16962003-02-23 Pierre Humblet <pierre.humblet@ieee.org>
1697
1698 * syslog.cc (syslog): Do not unlock the file before closing it
1699 and remove debug_printf about stream errors.
1700
a066f364
CF
17012003-02-22 Christopher Faylor <cgf@redhat.com>
1702
1703 * cygmalloc.h: Remove MORECORE_CANNOT_TRIM. It's not true.
1704 # cygwin.din: Export mallinfo.
1705 # malloc_wrapper.cc (mallinfo): New function.
1706
878e60c5
CF
17072003-02-22 Pierre Humblet <pierre.humblet@ieee.org>
1708
1709 * syslog.cc (syslog): Do not print the Windows pid. Print the Cygwin
1710 pid as an unsigned decimal. On Win95 print a timestamp and attempt to
1711 lock the file up to four times in 3 ms.
1712
b1d1e50d
CV
17132003-02-21 Corinna Vinschen <corinna@vinschen.de>
1714
1715 * fhandler_socket.cc (fhandler_socket::fhandler_socket): Fix compiler
1716 warning.
1717 (fhandler_socket::fstat): Simplify. Set st_uid/st_gid to effective
1718 uid/gid of current process in case of open sockets.
1719
cf762b08
CV
17202003-02-21 Corinna Vinschen <corinna@vinschen.de>
1721
1722 * dtable.cc (dtable::build_fhandler_from_name): Set some fhandler
1723 data on sockets to evaluate AF_LOCAL sockets correctly.
1724 (dtable::build_fhandler): Set unit number on sockets.
1725 * fhandler.h (fhandler_socket): Add unit number.
1726 (fhandler_socket::get_unit): New method.
1727 * fhandler_socket.cc (fhandler_socket::fhandler_socket): Set unit
1728 number.
1729 (fhandler_socket::fstat): Reorganize to return more Linux-like
1730 values.
1731 * net.cc: include ctype.h.
1732 (fdsock): Set unit number when building fhandler.
1733 * path.cc (path_conv::check): Set device type to FH_SOCKET if file
1734 is a AF_UNIX socket.
1735 (get_devn): Evaluate unit for virtual socket devices.
1736 (win32_device_name): Set windows path for sockets to unix_path with
1737 just backslashes to keep the different names.
1738 * syscalls.cc (fstat64): Don't override st_ino, st_dev and st_rdev
1739 for sockets.
1740 (stat_worker): Ditto.
1741
17422003-02-21 Pierre Humblet <pierre.humblet@ieee.org>
1743
1744 * autoload.cc (AccessCheck): Add.
1745 (DuplicateToken): Add.
1746 * security.h (check_file_access): Declare.
1747 * syscalls.cc (access): Convert path to Windows, check existence
1748 and readonly attribute. Call check_file_access instead of acl_access.
1749 * security.cc (check_file_access): Create.
1750 * sec_acl (acl_access): Delete.
1751
5cd82412
CF
17522003-02-19 Christopher Faylor <cgf@redhat.com>
1753
1754 * fhandler.cc (fhandler_base::open): Move some filesystem specific
1755 stuff.
1756 (fhandler_disk_file::open): Accept some filesystem specific stuff.
1757 * sigproc.cc (wait_for_sigthread): Become slightly more thread safe.
1758 (sig_send): Don't assume that signal thread is ready.
1759
892d8962
CV
17602003-02-20 Corinna Vinschen <corinna@vinschen.de>
1761
1762 * wincap.h (wincap): Remove unnecessary definition of
1763 supports_sparse_files.
1764 * wincap.cc: Ditto.
1765
518f5d49
CV
17662003-02-20 Corinna Vinschen <corinna@vinschen.de>
1767
1768 * fhandler_disk_file.cc (fhandler_disk_file::opendir): Check descriptor
1769 created by cygheap_fdnew constructor.
1770 * fhandler_virtual.cc (fhandler_virtual::opendir): Ditto.
1771 * fhandler_socket.cc (fhandler_socket::accept): Ditto and move
1772 creation of file descriptor behind blocking OS call.
1773 * net.cc (cygwin_socket): Ditto.
1774 (cygwin_rcmd): Ditto.
1775 (cygwin_rresvport): Ditto.
1776 (cygwin_rexec): Ditto.
1777 (socketpair): Ditto.
1778
3a88cf1b
CV
17792003-02-20 Corinna Vinschen <corinna@vinschen.de>
1780
1781 * autoload.cc (GetCompressedFileSize): Add.
1782 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Compute
1783 st_blocks value from GetCompressedFileSize() if available.
1784
79207923
CV
17852003-02-18 Vaclav Haisman <V.Haisman@sh.cvut.cz>
1786
1787 * wincap.h (wincaps::supports_sparse_files): New flag.
1788 (wincapc::supports_sparse_files): New method.
1789 * wincap.cc (wincap_unknown): Define value for the new flag.
1790 (wincap_95): Ditto.
1791 (wincap_95osr2): Ditto.
1792 (wincap_98): Ditto.
1793 (wincap_98se): Ditto.
1794 (wincap_me): Ditto.
1795 (wincap_nt3): Ditto.
1796 (wincap_nt4): Ditto.
1797 (wincap_nt4sp4): Ditto.
1798 (wincap_2000): Ditto.
1799 (wincap_xp): Ditto.
1800 * path.h (path_conv::fs_flags): New method.
005c3065
CF
1801 * fhandler_disk_file.cc: Include winioctl.h for DeviceIoControl.
1802 (fhandler_disk_file::open): Set newly created and truncated files as
79207923
CV
1803 sparse on platforms that support it.
1804
afe13e84
CV
18052003-02-17 Pierre Humblet <pierre.humblet@ieee.org>
1806
1807 * grp.cc (internal_getgroups): Handle properly tokens with
1808 no groups. Fix bug introduced on 2003-02-04.
1809
8fc16812
CF
18102003-02-16 Christopher Faylor <cgf@redhat.com>
1811
408e9b2f 1812 * cygwin.din: Export all appropriate newlib libm functions. Sort.
8fc16812
CF
1813 * include/cygwin/version.h: Bump API minor number.
1814
f655eadf
CF
18152003-02-15 Christopher Faylor <cgf@redhat.com>
1816
8fc16812 1817 * cygwin.din: Export all appropriate newlib libc functions.
f655eadf
CF
1818 * include/cygwin/version.h: Bump API minor number.
1819
4d9ba012
CV
18202003-02-14 Jason Tishler <jason@tishler.net>
1821
1822 * mmap.cc (mprotect): Add missing break.
1823
dff01e3a
CF
18242003-02-13 Christopher Faylor <cgf@redhat.com>
1825
1826 * exceptions.cc (try_to_debug): Don't reset priority when returning
1827 from non-waitloop call.
d1d1797e
CF
1828
18292003-02-13 Vaclav Haisman <V.Haisman@sh.cvut.cz>
005c3065 1830 Christopher Faylor <cgf@redhat.com>
d1d1797e
CF
1831
1832 * fhandler_console.cc (fhandler_console::write_normal): Use MessageBeep
1833 for bell sound.
1834 * autoload.cc (MessageBeep): Add.
1835
97c61aeb
CF
18362003-02-13 Christopher Faylor <cgf@redhat.com>
1837
1838 * include/cygwin/types.h: Use correct ifdef guard for u_ definitions.
1839
a200c081
CF
18402003-02-13 Christopher Faylor <cgf@redhat.com>
1841
1842 * environ.cc (environ_init): Use strechr.
1843
2858de3a
CF
18442003-02-13 Christopher Faylor <cgf@redhat.com>
1845
1846 * include/cygwin/in.h (sockaddr_in): Fix typo.
1847
75c8a70c
CF
18482003-02-12 Christopher Faylor <cgf@redhat.com>
1849
1850 * path.h (path_conv): Reorganize slightly.
1851
939d19b0
CF
18522003-02-12 Christopher Faylor <cgf@redhat.com>
1853
1854 * fhandler_tty.cc (process_input): Add sanity check to ensure that
1855 console typeahead is cleared on signal.
1856
7a44ba05
CF
18572003-02-12 Christopher Faylor <cgf@redhat.com>
1858
1859 * spawn.cc (linebuf::~linebuf): Resurrect commented out (for
1860 debugging?) code.
1861
407b8df6
CF
18622003-02-10 Ralf Habacker <ralf.habacker@freenet.de>
1863
1864 * include/cygwin/in.h (in_attr_t): Define new type.
1865 * include/arpa/inet.h (inet_addr): Change return type to in_addr_t.
1866 (inet_lnaof): Ditto.
1867 (inet_netof): Ditto.
1868 (inet_network): Ditto.
1869
18702003-02-10 Christopher Faylor <cgf@redhat.com>
1871
1872 * include/cygwin/types.h: Move many *_t typedefs here. Protect them
1873 with ifdefs.
1874 * fhandler_disk_file.cc (fhandler_disk_file::fstat): Change ntsec_atts to mode_t.
1875 * security.cc (get_attribute_from_acl): Accept mode_t attribute.
1876 (get_nt_attribute): Ditto.
1877 (get_file_attribute): Ditto.
1878 (get_nt_object_attribute): Ditto.
1879 (get_object_attribute): Ditto.
1880 * security.h: Reflect above changes.
1881 * syscalls.cc (chown_worker): Change attrib to mode_t.
1882
ad80bc42
CF
18832003-02-08 Christopher Faylor <cgf@redhat.com>
1884
67c64e3b 1885 * include/cygwin/version.h: Bump DLL minor number to 21.
ad80bc42
CF
1886
18872003-02-07 Christopher Faylor <cgf@redhat.com>
1888
1889 * malloc.cc (DEFAULT_MMAP_THRESHOLD): Bump down to 16MB thanks to below
1890 changes.
1891
4136fdb1
CV
18922003-02-07 Corinna Vinschen <corinna@vinschen.de>
1893
1894 * mmap.cc (mmap_record::alloc_map): De-inline. Add offset and length
1895 parameter. Only protect pages actually unused currently. Do job
1896 of map_map() when initializing a map.
1897 (mmap_record::map_map): Reduce functionality for the reuse case
1898 of private anonymous mapping.
1899 (mmap_record::fixup_map): Format change.
1900 (list::add_record): Add offset and length parameter to call
1901 mmap_record::alloc_map() correctly.
1902 (mmap64): Rename `l' variable to `map_list'. Accomodate above changes.
1903 (munmap): Rename `l' variable to `map_list'.
1904 (msync): Ditto.
1905 (fhandler_disk_file::mmap): Streamline code.
1906 (mprotect): Ditto.
1907 (fixup_mmaps_after_fork): Rename `l' variable to `map_list'.
1908
49b84ce4
CF
19092003-02-07 Vaclav Haisman <V.Haisman@sh.cvut.cz>
1910 Christopher Faylor <cgf@redhat.com>
1911
1912 * exceptions.cc (try_to_debug): Set priority of current thread rather
1913 than the main thread. Make busy waiting loop less busy. Restore
1914 priority when function returns.
1915
bc5b63ed
CF
19162003-02-07 Christopher Faylor <cgf@redhat.com>
1917
1918 * malloc.cc (DEFAULT_MMAP_THRESHOLD): Set high to avoid mmaps.
1919
19202003-02-07 Christopher Faylor <cgf@redhat.com>
1921
1922 * pipe.cc (fhandler_pipe::close): Avoid extraneous this->.
1923
1de8d164
CF
19242003-02-06 Christopher Faylor <cgf@redhat.com>
1925
1926 * heap.cc (heap_init): Remove debugging code.
1927
565e8015
CV
19282003-02-06 Pierre Humblet <pierre.humblet@ieee.org>
1929
1930 * security.h: Introduce names UNKNOWN_UID and UNKNOWN_GID and delete
1de8d164 1931 declaration of is_grp_member.
565e8015
CV
1932 * uinfo.cc (internal_getlogin): Use UNKNOWN_GID.
1933 * passwd.cc (pwdgrp::read_passwd): Use UNKNOWN_UID.
1934 * grp.cc (pwdgrp::read_group): Change group name to provide better
1935 feedback.
1936 (getgrgid): Use gid16togid32.
1937 * sec_helper.cc (is_grp_member): Delete.
1938
d238c1b4
CF
19392003-02-05 Christopher Faylor <cgf@redhat.com>
1940
1941 * path.cc: Change 'to_posix_p' to 'to_posix' throughout.
1942 (conv_path_list_buf_size): Accommodate relative paths.
1943
b7f52fe8
CF
19442003-02-05 Christopher Faylor <cgf@redhat.com>
1945
1946 * path.cc (etc::dir_changed): Fix debug printf.
1947
62cd433e
CV
19482003-02-05 Corinna Vinschen <corinna@vinschen.de>
1949
1950 * sec_acl.cc (setacl): Move all permission settings to beginning of
1951 loop. Set default rights to same values as in alloc_sd(). Set DELETE
1952 for owner and default owner only if S_IWOTH is given.
1953
19542003-02-05 Pierre Humblet <pierre.humblet@ieee.org>
1955
1956 * sec_acl.cc: Change all __aclent16_t to __aclent32_t except in
1957 wrapper function definitions. Replace call to the aclXYZ functions by
1958 calls aclXYZ32.
1959 (searchace): Change type of third argument to __uid32_t and use
1960 ILLEGAL_UID instead of -1;
1961 (setacl): Remove some initializations. Only give STANDARD_RIGHTS_WRITE
1962 for S_IWOTH. Replace -1 by ILLEGAL_UID.
1963 (getacl): Change type of owner_sid, group_sid and ace_sid to cygpsid.
1964 In last else clause, suppress second call to ace_sid.get_id and use
1965 TRUE in first call. Replace EqualSid by ==.
1966 (acl_access): Call internal_getgroups in USER and GROUP cases.
1967 (acecmp: Define static.
1968 (acl32): Create from 16 bit type.
1969 (facl32): Ditto.
1970 (lacl32): Ditto.
1971 (aclcheck32): Ditto.
1972 (aclsort32): Ditto.
1973 (acltomode32): Ditto.
1974 (aclfrommode32): Ditto.
1975 (acltopbits32): Ditto.
1976 (aclfrompbits32): Ditto.
1977 (acltotext32): Ditto.
1978 (aclfromtext32): Ditto, and use strechr.
1979 (acl16to32): Create.
1980 (acl): Make it a wrapper function.
1981 (facl): Ditto.
1982 (lacl): Ditto.
1983 (aclcheck): Ditto.
1984 (aclsort): Ditto.
1985 (acltomode): Ditto.
1986 (aclfrommode): Ditto.
1987 (acltopbits): Ditto.
1988 (aclfrompbits): Ditto.
1989 (acltotext): Ditto.
1990 (aclfromtext): Ditto.
1991 * security.cc (write_sd): Call set_process_privilege and check
1992 ownership.
1993 (alloc_sd): Remove call to set_process_privilege and the owner check.
1994
cadd065b
CF
19952003-02-05 Christopher Faylor <cgf@redhat.com>
1996
1997 * include/sys/cygwin.h: Use C-style comments.
1998
0c8455c3
CV
19992003-02-05 Pierre Humblet <pierre.humblet@ieee.org>
2000
2001 * sec_helper.cc (get_sids_info): New function.
2002 * security.cc (extract_nt_dom_user): Simplify with strechr.
2003 (get_user_groups): Initialize glen to MAX_SID_LEN.
2004 (get_user_local_groups): Ditto.
2005 (get_attribute_from_acl): Define ace_sid as cygpsid.
2006 (get_nt_attribute): Define owner_sid and group_sid as cygpsid.
2007 Call get_sids_info instead of cygsid.get_{u,g}id and is_grp_member.
2008 (get_nt_object_attribute): Ditto.
2009 (alloc_sd): Define ace_sid as cygpsid.
2010
5ae9331a
TP
20112003-02-04 Thomas Pfaff <tpfaff@gmx.net>
2012
2013 * syscalls.cc (struct system_cleanup_args): New struct.
2014 (system_cleanup): New function.
2015 (system): Use pthread_cleanup_push and _pop to save and restore
2016 signal handlers and sigprocmask.
2017
3dbafd87
CV
20182003-02-04 Corinna Vinschen <corinna@vinschen.de>
2019
2020 * path.cc (symlink): Create security attributes so that only the
2021 user can modify the symlink.
2022 * security.cc (set_security_attribute): Remove symlink special
2023 handling.
2024
0daf2561
CV
20252003-02-04 Pierre Humblet <pierre.humblet@ieee.org>
2026
2027 * grp.cc (internal_getgroups): Do not return without closing
2028 the process handle.
2029
4a21c2d5
CV
20302003-02-04 Pierre Humblet <pierre.humblet@ieee.org>
2031
2032 * security.h (class cygpsid): New class.
2033 (class cygsid): Use cygpsid as base. Remove members psid, get_id,
2034 get_uid, get_gid, string, debug_printf and the == and != operators.
2035 (cygsidlist::clear_supp): Only do work if setgroups has been called.
2036 * sec_helper.cc: Define sid_auth NO_COPY.
2037 (cygpsid::operator==): New operator.
2038 (cygpsid::get_id): New function.
2039 (cygpsid::string): New function.
2040 (cygsid::string): Delete.
2041 (cygsid::get_id): Delete.
2042 * pwdgrp.h: Change arguments of internal_getpwsid,
2043 internal_getgrsid and internal_getgroups to cygpsid.
2044 * passwd.cc (internal_getpwsid): Change argument from cygsid to cygpsid.
d238c1b4 2045 * grp.cc (internal_getgrsid): Ditto.
4a21c2d5
CV
2046 (internal_getgroups): Ditto.
2047
335556d5
CF
20482003-02-03 Christopher Faylor <cgf@redhat.com>
2049
2050 Eliminate most unneeded this-> pointers throughout.
2051
153e83c6
CV
20522003-02-03 Pierre Humblet <pierre.humblet@ieee.org>
2053
2054 * security.h: Add third argument to set_process_privilege.
2055 * autoload.cc: Add OpenThreadToken.
2056 * sec_helper.cc (set_process_privilege): Add and use use_thread
2057 argument.
2058 * security.cc (alloc_sd): Modify call to set_process_privilege.
2059 Remember the result in each process. If failed and file owner is not
2060 the user, fail.
2061
f0f3ea68
CV
20622003-02-03 Corinna Vinschen <corinna@vinschen.de>
2063
2064 * fhandler_socket.cc (fhandler_socket::recvfrom): Return buffer
2065 length and don't set errno in case of WSAEMSGSIZE error.
2066 (fhandler_socket::recvmsg): Ditto.
2067
6688a061
CF
20682003-02-01 Christopher Faylor <cgf@redhat.com>
2069
2070 * grp.cc (getgrent32): Only refresh group entries when at beginning.
2071 (internal_getgrsid): Only refresh if uninitialized.
2072 (internal_getgrent): Ditto.
2073 * passwd.cc (getpwent): Only refresh passwd entries when at beginning.
2074 (pwdgrp::read_passwd): linebuf *cannot* be NO_COPY.
2075 (internal_getpwsid): Only refresh if uninitialized.
2076 (getpass): No need to refresh passwd data here.
2077 * pwdgrp.h (refresh): Eliminate default.
2078
a5a93a62
CF
20792003-01-31 Christopher Faylor <cgf@redhat.com>
2080
2081 * dlfcn.cc (dlerror): Only report load errors once per error.
2082
b0a82a85
CF
20832003-01-31 Christopher Faylor <cgf@redhat.com>
2084
2085 * fhandler_serial.cc (fhandler_serial::open): Avoid extraneous setting
2086 of res.
2087
2088 * termios.cc (tcsetattr): Correctly record errno after tcsetattr call.
2089
20902003-01-31 Troy Curtiss <troyc@usa.net>
2091
2092 * fhandler_serial.cc (fhandler_serial::tcsetattr): Add error-checking
2093 so that if any Win32 SetComm*() calls fail, errno gets set to EINVAL
2094 and tcsetattr() returns -1. Catch invalid bitrates, mostly. If baud
2095 rate setting is B0, just drop DTR and leave Win32 DCB bitrate as-is
2096 since 0 is not a valid Win32 setting.
2097 (fhandler_serial::tcgetattr): If DTR is low, populate the bitrate as
2098 B0, otherwise get it from the DCB.
2099
949c3da1
CF
21002003-01-31 Christopher Faylor <cgf@redhat.com>
2101
2102 * passwd.cc (pwdgrp::read_passwd): linebuf *must* be static (from
2103 Pierre Humblet).
2104 * pwdgrp.h (pwdgrp::refresh): Avoid calling read function if we already
2105 have lock since that means we are in the process of reading the file.
2106
485d85bf
CF
21072003-01-31 Jason Tishler <jason@tishler.net>
2108
2109 * shared.cc (shared_info::heap_chunk_size): Use correct variable when
2110 reading HKLM.
2111
704ce461
CF
21122003-01-30 Christopher Faylor <cgf@redhat.com>
2113
2114 * fhandler_registry.cc (fhandler_registry::exists): Fix off-by-one
2115 error when inspecting path.
2116
ba6e1083
CF
21172003-01-29 Christopher Faylor <cgf@redhat.com>
2118
2119 * lib/getopt.c: Allow environment variable control of POSIXLY_INCORRECT
2120 behavior.
2121
21222003-01-28 Corinna Vinschen <corinna@vinschen.de>
01e3c897
CV
2123
2124 * fhandler_socket.cc (fhandler_socket::accept): On successful execution
2125 set connection state of returned socket to CONNECTED.
2126
dfb366da
CF
21272003-01-27 Christopher Faylor <cgf@redhat.com>
2128
2129 * passwd.cc (pwdgrp::parse_passwd): Be more unforgiving about
2130 non-numeric fields.
2131
03dba1de
CF
21322003-01-26 Christopher Faylor <cgf@redhat.com>
2133
2134 * uinfo.cc (pwdgrp::next_num): Remove check for NULL since it is no
2135 longer a valid return from next_str.
2136 (pwdgrp::add_line): Duh. Revert to use strchr.
2137
fea48988
CF
21382003-01-26 Christopher Faylor <cgf@redhat.com>
2139
ca6018a0 2140 * string.h (strechr): New function.
fea48988
CF
2141 * uinfo.cc (pwdgrp::next_str): Search only for input char in string.
2142 Return EOS on failure. Don't check for NULL since it shouldn't be
2143 possible.
2144 (pwdgrp::add_line): Revert to replacing '\n' in input line with '\0'.
2145 (pwdgrp::next_num): Pass explicit separator character to next_str.
2146 * grp.cc (pwdgrp::parse_group): Ditto.
2147 * passwd.cc (pwdgrp::parse_passwd): Ditto. Revamp test for garbage
2148 input.
2149 * pwdgrp.h (pwdgrp::next_str): Don't use default parameter.
2150
9a751621
CF
21512003-01-26 Christopher Faylor <cgf@redhat.com>
2152
2153 * uinfo.cc (pwdgrp::load): Regularize strace output. Add warning for
2154 CreateFile failure.
2155
c9133395
CF
21562003-01-26 Christopher Faylor <cgf@redhat.com>
2157
bdbd7fb6
CF
2158 * passwd.cc (pwdgrp::parse_passwd): Eliminate use of memset. The
2159 structure should always be completely filled out.
2160 * grp.cc (pwdgrp::parse_group): Ditto.
2161
21622003-01-26 Christopher Faylor <cgf@redhat.com>
2163
2164 * grp.cc (pwdgrp::parse_group): Fix off-by-one problem in allocating
c9133395 2165 gr_mem.
65037056
CF
2166
21672003-01-26 Christopher Faylor <cgf@redhat.com>
2168
2169 * include/sys/strace.h (paranoid_printf): Define as not being part of
2170 "all" output.
2171
21722003-01-25 Christopher Faylor <cgf@redhat.com>
2173
2174 * pwdgrp.h (pwdgrp::next_num): Rename from next_int. Returns
2175 true/false if parse operation succeeded.
2176 (pwdgrp::reparse): Remove.
2177 (pwdgrp::raw_ptr): New function. Returns pointer in line.
2178 (pwdgrp::next_num): New functions for parsing other than unsigned long.
2179 * grp.cc (pwdgrp::parse_group): Reinstate previous parsing behavior.
2180 Don't fill in fields with NULL and assign empty gr_mem to known pointer
2181 rather than doing a pointless calloc. Streamline gr_mem parsing.
2182 Don't increment curr_lines here.
2183 * passwd.cc (pwdgrp::parse_passwd): Use new behavior of next_num.
2184 Don't increment curr_lines here.
2185 * uinfo.cc (pwdgrp::next_str): Keep returning EOL if out of data.
2186 (pwdgrp::reparse): Remove.
2187 (pwdgrp::next_num): Rename from next_int. Return bool indicating
2188 success of parse, argument returns value parsed.
2189 (pwdgrp::add_line): Increment curr_lines here on successful parse.
2190 (pwdgrp::load): (from Pierre Humblet) Don't return status. Just report
2191 it here.
2192
a53ddfe6
CF
21932003-01-25 Christopher Faylor <cgf@redhat.com>
2194
2195 * pwdgrp.cc (pwdgrp::reparse): Declare.
2196 * uinfo.cc (pwdgrp::reparse): Define.
c9b99d0d 2197 * grp.cc (pwdgrp::parse_group): Use reparse.
a53ddfe6 2198
4f7e12dd
CV
21992003-01-25 Pierre Humblet <pierre.humblet@ieee.org>
2200
2201 * syscalls.cc (seteuid32): On Win95 get the pw entry. If it exists
2202 update the euid and call cygheap->user.set_name. Remove special
2203 handling of ILLEGAL_UID.
ba6e1083 2204 (setgid32): Add a debug_printf. On Win95, always set the egid.
4f7e12dd
CV
2205 Remove special handling of ILLEGAL_GID. Do not compare gid and gr_gid.
2206 * child_info.h (class cygheap_exec_info): Remove uid.
2207 * spawn.cc (spawn_guts): Do not set ciresrv.moreinfo->uid.
2208 * dcrto.cc (dll_crt0_1): Always call uinfo_init.
2209 * uinfo.cc (uinfo_init): Reorganize and close handle if needed.
2210 (cygheap_user::ontherange): Do not call internal_getpwnam if pw is NULL.
2211
45dbfc26
CF
22122003-01-24 Christopher Faylor <cgf@redhat.com>
2213
2214 * fhandler_console.cc (fhandler_console::send_winch_maybe): Reset
2215 scroll region if size changes.
2216
7d33eefa
CV
22172003-01-24 Pierre Humblet <pierre.humblet@ieee.org>
2218 Jason Tishler <jason@tishler.net>
2219
2220 * cygwin.din: Export setreuid32, setreuid, setregid32, setregid.
2221 * syscalls.cc (setreuid32): New function.
2222 (setreuid): Ditto.
2223 (setregid32): Ditto.
2224 (setregid): Ditto.
2225 * include/cygwin/version.h: Bump API minor number.
2226
ac413374 22272003-01-23 Christopher Faylor <cgf@redhat.com>
69fae986 2228
ac413374 2229 * pwdrp.h (pwdgrp::refresh): Lock entire test prior to reading.
2037688a 2230
ac413374 22312003-01-23 Christopher Faylor <cgf@redhat.com>
09a88426
CF
2232
2233 * grp.cc (pwdgrp::parse_group): Eliminate arg and use class member
2234 instead. Use next_str and next_int to parse arguments.
2235 * passwd.cc (pwdgrp::parse_passwd): Ditto.
2236 (grab_string): Eliminate.
2237 (grab_int): Ditto.
2238 * pwdgrp.h (pwdgrp::parse): Eliminate input arg.
2239 (pwdgrp::parse_passwd): Reflect above change.
2240 (pwdgrp::parse_group): Reflect above change.
2241 (pwdgrp::next_str): New function.
2242 (pwdgrp::next_int): Ditto.
2243 (pwdgrp::gets): Eliminate.
2244 * uinfo.cc (pwdgrp::next_str): New function.
2245 (pwdgrp::next_int): Ditto.
2246 (pwdgrp::add_line): Subsume gets.
2247 (pwdgrp::gets): Eliminate.
2248 (pwdgrp::load): Just call add_line to parse input buffer.
2249
ac413374
CF
22502003-01-22 Thomas Pfaff <tpfaff@gmx.net>
2251
2252 * include/pthread.h (PTHREAD_MUTEX_RECURSIVE): Revert changes from
2253 2003-01-09 mutex patch.
2254 (PTHREAD_MUTEX_ERRORCHECK): Ditto.
2255
22562003-01-22 Corinna Vinschen <corinna@vinschen.de>
2257
2258 * cygrun.c: Move from here to ../testsuite.
2259 * Makefile.in: Remove cygrun.exe dependencies.
2260
22612003-01-21 Jason Tishler <jason@tishler.net>
2262
2263 * cygwin.din: Export nanosleep().
2264 * signal.cc (nanosleep): New function.
2265 (sleep): Move old functionality to nanosleep(). Call nanosleep().
2266 (usleep): Remove old functionality. Call nanosleep().
2267 * include/cygwin/version.h: Bump API minor number.
2268
57394495
CF
22692003-01-21 Christopher Faylor <cgf@redhat.com>
2270
2271 * grp.cc: Call gr.refresh() rather than doing isunitialized tests
2272 throughout.
2273 (gr): Use constructor (sigh).
2274 (pwdgrp::parse_group): Rename from parse_grp.
2275 (pwdgrp::read_group): Rename from read_etc_group. Just call gr.load
2276 with a single argument.
2277 * passwd.cc: Call pr.refresh() rather than doing isunitialized tests
2278 throughout.
2279 (pr): Use constructor (sigh).
2280 (pwdgrp::parse_passwd): Rename from "parse_pwd".
2281 (pwdgrp::read_passwd): Rename from read_etc_passwd. Just call pr.load
2282 with a single argument.
2283 * pwdgrp.h (pwdgrp_state): Eliminate.
2284 (pwdgrp): Reflect above renamings.
2285 (pwdgrp::etc_ix): Rename from pwd_ix.
2286 (pwdgrp::read): New element.
2287 (pwdgrp::lock): New element.
2288 (pwdgrp::refresh): New function.
2289 (pwdgrp::load): Eliminate variations which take buffer arguments.
2290 (pwdgrp::pwdgrp): New constructors. Initialize mutex here.
2291 * uinfo.cc (pwdgrp::load): Accommodate pwd_ix -> etc_ix renaming.
2292 (pwdgrp::load): Set initialized state to true rather than setting state
2293 to loaded.
2294
984864e9
CF
22952003-01-21 Christopher Faylor <cgf@redhat.com>
2296
89f7e8d1 2297 * include/cygwin/version.h: Bump DLL minor number.
984864e9 2298
d8cde3a3
CF
22992003-01-21 Pierre Humblet <pierre.humblet@ieee.org>
2300
2301 * path.h (etc::change_possible): Revert the type to bool.
2302 (etc::set_last_modified): Remove obsolete function.
2303 * path.cc (etc::change_possible): Revert type to bool.
2304 (etc::test_file_change): Do not test for negative values of
2305 change_possible and do not set it to -res.
2306 (etc::dir_changed): When the handle is NULL, call memset instead of
09a88426
CF
2307 test_file_changed. When the handle is invalid, return true. Detect
2308 filename change in /etc.
d8cde3a3 2309 (etc::file_changed): Remove unneeded check for !fn[n].
33de631b 2310 * uinfo.cc (pwdgrp::load): Eliminate spurious setting of fh to NULL.
b99b804b 2311 * pwdgrp.h (pwdgrp::operator =): Eliminate.
d8cde3a3 2312
7905c4f1
CF
23132003-01-19 Christopher Faylor <cgf@redhat.com>
2314
2315 * pwdgrp.h (etc): Move to path.h.
2316 (pwdgrp::max_lines): New field.
2317 (pwdgrp::curr_lines): New field.
2318 (pwdgrp::pwdgrp_buf): Ditto.
2319 (pwdgrp_buf_elem_size): Ditto.
2320 (pwdgrp_parse): Ditto.
2321 (pwdgrp::gets): Just declare here.
2322 (pwdgrp::load): Ditto. Just take one argument.
2323 (pwdgrp::load): Define overloaded function accepting passwd buf.
2324 (pwdgrp::load): Define overloaded function accepting group buf.
2325 * grp.cc: Use pwdgrp elements rather than standalone static variables
2326 throughout.
2327 (curr_lines): Eliminate.
2328 (max_lines): Ditto.
2329 (add_grp_line): Ditto.
2330 (parse_grp): Define as returning boolean. Accept void * arg and line
2331 count. Coerce first argument into __group32 buf reference. Increment
2332 curr_line as appropriate.
2333 (read_etc_group): Pass pwdgrp buffer to gr.load.
2334 * passwd.cc: Use pwdgrp elements rather than standalone static variables
2335 throughout.
2336 (curr_lines): Eliminate.
2337 (max_lines): Ditto.
2338 (add_grp_line): Ditto.
2339 (parse_passwd): Define as returning boolean. Accept void * arg and line
2340 count. Coerce first argument into passwd buf reference. Increment
2341 curr_line as appropriate.
2342 (read_etc_group): Pass pwdgrp buffer to pr.load.
2343 * path.cc (etc::fn): Extend buffer size to allow index by 1 rather than
2344 zero.
2345 (etc::last_modified): Ditto.
2346 (etc::change_possible): Ditto. Renamed from sawchange. Change to
2347 signed char since elements are now tri-state.
2348 (etc::init): Assume "handle" is 1 based rather than 0.
2349 (etc::test_file_change): New function. Sets change_possible based on
2350 file date comparison.
2351 (etc::dir_changed): Check file states immediately after changed_h is
2352 initialized to avoid a race.
2353 (etc::file_changed): Use test_file_change to detect if file needs to be
2354 updated.
2355 * path.h (etc): Move class here from pwdgrp.h.
7905c4f1
CF
2356 * uinfo.cc: Move etc:: functions to path.cc. Move pwdgrp functions
2357 here.
2358 (pwdgrp::gets): Eliminate buf checks. Just check eptr and set lptr.
2359 (pwdgrp::add_line): New function.
2360 (pwdgrp::load): Call generic add_line function which will call correct
2361 parser.
2362
4c6a3e50
CF
23632003-01-17 Christopher Faylor <cgf@redhat.com>
2364
2365 * cygheap.cc: Change most 'int's to 'unsigned's.
2366 (_cmalloc): Only check for size of malloced region when calculating
97d2bc79 2367 bucket. Add overhead when performing the sbrk. Previous change broke
4c6a3e50
CF
2368 _crealloc.
2369
e9152439
CF
23702003-01-17 Christopher Faylor <cgf@redhat.com>
2371
2372 * dcrt0.cc (initialize_env): Use colon for CYGWIN_DEBUG separator.
2373 * grp.cc: Change most statics to NO_COPY throughout.
2374 * passwd.cc: Ditto.
2375
23762003-01-17 Christopher Faylor <cgf@redhat.com>
2377
2378 * pwdgrp.h: Change some BOOLs to bools.
2379 (pwdgrp::pwdgrp): Remove unneeded constructor.
2380 * passwd.cc: Change BOOL to bool throughout.
2381
afa378e7
CV
23822003-01-17 Corinna Vinschen <corinna@vinschen.de>
2383
2384 * cygwin.din: Add strerror_r.
2385 * include/cygwin/version.h: Bump API minor number.
2386
1de6f431
CF
23872003-01-17 Christopher Faylor <cgf@redhat.com>
2388
2389 * uinfo.cc (etc::dir_changed): Don't print a warning if can't open
2390 /etc, unless debugging.
2391
d8cde3a3 23922003-01-17 Pierre Humblet <pierre.humblet@ieee.org>
14ea5029
CF
2393
2394 * grp.cc (read_etc_group): On NT, add a line for gid = -1. Change name
2395 "unknown" to "mkgroup".
2396 (internal_getgrgid): Do not return default in nontsec case.
2397 (internal_getgroups): Add argument srchsid and look for it in groups if
2398 not NULL.
2399 * passwd.cc (read_etc_passwd): On NT, add a line for uid = -1. Use
2400 same default uid for Win95 and NT. Call cygheap_user::ontherange to
2401 initialize HOME.
2402
14ea5029
CF
24032003-01-16 Christopher Faylor <cgf@redhat.com>
2404
2405 * cygheap.cc (init_cygheap::etc_changed): Move to uinfo.cc.
2406 * cygheap.h (init_cygheap::etc_changed_h): Remove.
2407 (init_cygheap::etc_changed): Ditto.
2408 * grp.cc (group_state): Remove. Use gr instead throughout.
2409 (gr): Define as class pwdgrp.
2410 (read_etc_group): Remove gr definition. Remove calls to
2411 set_last_modified and close. Pass add_grp to gr.load to load file.
2412 * passwd.cc (passwd_state): Remove. Use pr instead, throughout.
2413 (pr): Define as class pwdgrp.
2414 (read_etc_passwd): Remove pr definition. Remove calls to
2415 set_last_modified and close. Pass add_pwd_line to pr.load to load
2416 file.
2417 * pwdgrp.h (etc): New helper class for pwdgrp.
2418 (pwdgrp): Combine pwdgrp_check and pwdgrp_read into one class. Remove
2419 file_w32 and last_modified fields.
2420 (pwdgrp::set_last_modified): Remove.
2421 (pwdgrp::isinitializing): Remove FindFirstFile stuff. Move to
2422 etc::file_changed.
2423 (pwdgrp::load): Rename from 'open'. Call etc::init to initialize etc
2424 scanning. Close file handle after reading buffer into memory. Parse
2425 buffer by calling second argument.
2426 (pwdgrp::gets): Reorganize slightly to rely on eptr starting at
5304bcdf 2427 beginning of buffer.
14ea5029
CF
2428 (pwdgrp::close): Remove.
2429 * uinfo.cc (etc::dir_changed): New function.
2430 (etc::init): Ditto.
2431 (etc::file_changed): Ditto.
2432 (etc::set_last_modified): Ditto.
2433
41429bc9
CV
24342003-01-16 Jason Tishler <jason@tishler.net>
2435
2436 * mmap.cc (fixup_mmaps_after_fork): Add ERROR_NOACCESS to the list of
2437 ReadProcessMemory() error codes that trigger a retry with temporary
2438 PAGE_READONLY access. Note that this can occur on NT 4.0.
2439
18813254
CF
24402003-01-15 Christopher Faylor <cgf@redhat.com>
2441
2442 * path.cc (normalize_posix_path): Convert win32 path separators to
2443 slashes when full path is specified.
2444
77cb0c56
CF
24452003-01-15 Pierre Humblet <pierre.humblet@ieee.org>
2446
2447 * cmalloc.cc (_cmalloc): Fix memory leak.
2448
ce542f78
CV
24492003-01-15 Corinna Vinschen <corinna@vinschen.de>
2450
2451 * autoload.cc: Fix copyright date.
2452 * fhandler_dsp.cc: Ditto.
2453 * mmap.cc: Ditto.
2454 * net.cc: Ditto.
2455 * ntdll.h: Ditto.
2456 * signal.cc: Ditto.
2457 * syscalls.cc: Ditto.
2458 * uname.cc: Ditto.
2459 * wait.cc: Ditto.
2460
15996b6f
CV
24612003-01-14 Corinna Vinschen <corinna@vinschen.de>
2462
2463 * mmap.cc (fixup_mmaps_after_fork): Copy protection to child process.
2464 Change ambiguous debug output.
2465
857b65dd
CV
24662003-01-14 Corinna Vinschen <corinna@vinschen.de>
2467
2468 * mmap.cc (mmap_record::access): Change argument type to caddr_t
2469 for strictness.
2470 (mprotect): Protect against calling VirtualProtect() for shared
2471 pages on 9x/Me.
2472 (fixup_mmaps_after_fork): If ReadProcessMemory() fails, try to
2473 change protection of parent page to PAGE_READONLY, then try again.
2474 Revert protection afterwards.
2475
e14328f4
TP
24762003-01-14 Thomas Pfaff <tpfaff@gmx.net>
2477
2478 * syscalls.cc (system): Add pthread_testcancel call.
2479 * thread.cc: Update list of cancellation points.
2480
4a3584c8
TP
24812003-01-14 Thomas Pfaff <tpfaff@gmx.net>
2482
2483 * wait.cc: Include thread.h
2484 (wait4): Add pthread_testcancel call.
2485 Wait for child process and cancellation event.
2486 * thread.cc: Update list of cancellation points.
2487
7ec66a2c
TP
24882003-01-14 Thomas Pfaff <tpfaff@gmx.net>
2489
2490 * signal.cc (sleep): Add pthread_testcancel call.
2491 Wait for signal and cancellation event.
2492 (usleep): Ditto.
2493
24942003-01-14 Thomas Pfaff <tpfaff@gmx.net>
3457ce4d
TP
2495
2496 * exceptions.cc (handle_sigsuspend): Add pthread_testcancel call.
2497 Wait for signal and cancellation event.
2498 * thread.cc: Update list of cancellation points.
2499
2673d5f2
CF
25002003-01-14 David Huang <davehzhr@hotmail.com>
2501
2502 * fhandler_dsp.cc (fhandler_dsp::ioctl): Add limited support for
2503 SNDCTL_DSP_GETFMTS.
2504
9f0d3f37
CF
25052003-01-12 Christopher Faylor <cgf@redhat.com>
2506
2507 * ntdll.h: Fix typo.
2508
7f129d87
CV
25092003-01-12 Corinna Vinschen <corinna@vinschen.de>
2510
2511 * uname.cc (uname): Use cygwin_gethostname() to retrieve hostname.
2512
ab2dbccc
CV
25132003-01-12 Pierre Humblet <pierre.humblet@ieee.org>
2514
2515 * sec_acl.cc (search_ace): Use id == -1, instead of < 0, as wildcard.
2516 (setacl): Start the search for a matching default at the next entry.
2517 Invalidate the type of merged entries instead of clearing it.
2518 Use well_known_creator for default owner and owning group and do
2519 not try to merge non-default and default entries in these cases.
2520 (getacl): Recognize well_known_creator for default owner and group.
2521 (acl_worker): Improve errno settings and streamline the nontsec case.
2522 * security.cc (write_sd): Remove the call to set_process_privilege.
2523 (alloc_sd): If the owner changes, call set_process_privilege and return
2524 immediately on failure. Change inheritance rules: on new directories add
2525 inherit only allow ACEs for creator_owner, creator_group and everyone.
2526 Preserve all inheritances through chmod and chown calls. Introduce
2527 isownergroup to implement the uid == gid case, to keep the inheritance
2528 code simple. Do not initialize owner_sid and group_sid and stop using
2529 the variable psd.
2530
68115c74
CF
25312003-01-10 Christopher Faylor <cgf@redhat.com>
2532
2533 * net.cc: Use gethostname define from winsock2.h.
2534
e3abf986
CF
25352003-01-10 Christopher Faylor <cgf@redhat.com>
2536
2537 * path.cc: Unrevert below reversion except for
2538 mount_info::conv_to_posix_path part.
2539
df2caa88
CV
25402003-01-10 Corinna Vinschen <corinna@vinschen.de>
2541
2542 * path.cc: Revert patch from 2003-01-09 to normalize a windows path
2543 rather than converting to posix.
2544
dc8d11f5
CV
25452003-01-10 Corinna Vinschen <corinna@vinschen.de>
2546
2547 * autoload.cc (gethostname): Make call optional, return 1 if function
2548 can't get loaded.
2549 * net.cc (cygwin_gethostname): Call GetComputerName if return value
2550 of gethostname is non-zero.
2551
70d61f30
CV
25522003-01-10 Charles Wilson <cwilson@ece.gatech.edu>
2553
8735f49f 2554 * cygwin.din: Add asprintf and vasprintf, as well as the reentrant
70d61f30 2555 versions and underscore variants.
8735f49f 2556 * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR.
70d61f30 2557
a7711767
CV
25582003-01-10 Corinna Vinschen <corinna@vinschen.de>
2559
2560 * net.cc (cygwin_gethostname): Fix call to wsock function gethostname.
2561
d5223b2b
CF
25622003-01-09 Christopher Faylor <cgf@redhat.com>
2563
2564 * cygthread.cc (cygthread::cygthread): Be more noisy about odd
2565 condition.
2566 * miscfuncs.cc (low_priority_sleep): Sleep in regular priority if
2567 that's what we're currently running at.
2568
65f207e8
TP
25692003-01-09 Thomas Pfaff <tpfaff@gmx.net>
2570
2571 * include/semaphore.h: Modify typedef for sem_t.
2572 * include/cygwin/types.h: Modify typedefs for pthread_t,
2573 pthread_mutex_t, pthread_key_t, pthread_attr_t,
2574 pthread_mutexattr_t, pthread_condattr_t, pthread_cond_t,
2575 pthread_rwlock_t and pthread_rwlockattr_t.
2576
09cbb9d6
TP
25772003-01-09 Thomas Pfaff <tpfaff@gmx.net>
2578
2579 * thread.h (WAIT_CANCELED): New define.
2580 (pthread::cancelable_wait): New static method.
2581 * thread.cc (pthread::cancelable_wait): Implement.
2582 (semaphore::Wait): Wait on semaphore and thread cancellation.
2583 (pthread::join): Wait on joined thread and thread cancellation.
2584 (semaphore::wait): Add testcancel to check for thread
2585 cancellation even if the semaphore is available.
2586
5d68d1de
TP
25872003-01-09 Thomas Pfaff <tpfaff@gmx.net>
2588
2589 * include/pthread.h: Add define for errorchecking mutexes.
2590 Change default mutex type.
2591 * thread.cc (pthread_cond::TimedWait): Update mutex unlock
2592 calls.
2593 (pthread_mutex::pthread_mutex): New implement.
2594 (pthread_mutex::~pthread_mutex): Ditto.
2595 (pthread_mutex::Lock): Ditto.
2596 (pthread_mutex::TryLock): Ditto.
2597 (pthread_mutex::UnLock): Ditto.
2598 (pthread_mutex::Destroy): Implement new method.
2599 (pthread_mutex::SetOwner): Ditto.
2600 (pthread_mutex::LockRecursive): Ditto.
2601 (pthread_mutex::fixup_after_fork): Restore locking state after
2602 fork.
2603 (__pthread_mutex_lock): Return pthread_mutex::Lock errorcode.
2604 (__pthread_mutex_trylock): Return pthread_mutex::TryLock
2605 errorcode.
2606 (__pthread_mutex_unlock): Return pthread_mutex::UnLock
2607 errorcode.
2608 (__pthread_mutex_destroy): Call pthread_mutex::Destroy to
3457ce4d 2609 destroy mutex.
5d68d1de
TP
2610 (__pthread_mutexattr_settype): Allow errorchecking and recursive
2611 types.
2612 * thread.h (MUTEX_LOCK_COUNTER_INITIAL): New define.
2613 (pthread_mutex::criticalsection): Remove.
2614 (pthread_mutex::lock_counter): New member.
2615 (pthread_mutex::recursion_counter): Ditto.
2616 (pthread_mutex::owner): Ditto.
2617 (pthread_mutex::type): Ditto.
2618 (pthread_mutex::Destroy): New method.
2619 (pthread_mutex::SetOwner): Ditto.
2620 (pthread_mutex::LockRecursive): Ditto.
2621
ed9fe455
TP
26222003-01-09 Thomas Pfaff <tpfaff@gmx.net>
2623
2624 * pthread.cc (pthread_cond_init): Use new pthread_cond::init.
2625 * thread.cc: Some white spaces cleanups.
2626 Change __pthread_cond_init to pthread_cond::init throughout.
2627 (nativeMutex): Move class methods outside pthread_mutex.
2628 (MTinterface::Init): Initialize pthread_cond init lock.
2629 (pthread_cond::condInitializationLock): Instantiate.
2630 (pthread_cond::initMutex): New Method.
2631 (pthread_cond::isGoodInitializerOrBadObject): Ditto.
2632 * thread.h: Some white spaces cleanups.
2633 (nativeMutex): Move class declaration outside pthread_mutex.
2634 (pthread_cond::condInitializationLock): New static member.
2635 (pthread_cond::initMutex): New Method.
2636 (pthread_cond::isGoodInitializerOrBadObject): Ditto.
2637 (__pthread_cond_init): Remove prototype.
2638
93353aee
CV
26392003-01-09 Corinna Vinschen <corinna@vinschen.de>
2640
2641 * fhandler_disk_file.cc (num_entries): Return 2 as link count if
2642 directory unreadable.
2643
3eb27a4e
CV
26442003-01-09 Corinna Vinschen <corinna@vinschen.de>
2645
2646 * security.cc (get_nt_attribute): Always return -1 when read_sd()
2647 fails.
2648 (get_file_attribute): Set permissions to 0 and owner/group to -1
2649 if security descriptor is unreadable.
2650
85ba109d
CF
26512003-01-09 Christopher Faylor <cgf@redhat.com>
2652
2653 Use isdirsep rather than SLASH_P throughout.
2654 * path.cc (iscygdrive): Disallow /cygdrive\x.
2655 (normalize_posix_path): "Normalize" a windows path, if detected, rather
2656 than converting to posix.
2657
26582003-01-06 Troy Curtiss <troyc@usa.net>
2659
2660 * fhandler_serial.cc (fhandler_serial::tcsetattr): Add support and
2661 capability checking for B230400 bitrate.
2662 (fhandler_serial::tcgetattr): Add support for B230400 bitrate.
2663 * include/sys/termios.h: Add B230400 definition for Posix support of
2664 230.4Kbps.
2665
cbdbe9d7
CF
26662003-01-05 Christopher Faylor <cgf@redhat.com>
2667
2668 * pinfo.cc (_pinfo::commune_send): Use myself->lock rather than just
2669 lock when leaving.
2670
f3afe99b
CF
26712003-01-03 Christopher Faylor <cgf@redhat.com>
2672
2673 * dtable.h (dtable::in_vfork_cleanup): New function. True if vfork
2674 cleanup needed.
2675 * dtable.cc (dtable::vfork_parent_restore): Remove assertion.
2676 * pipe.cc (fhandler_pipe::close): Don't close read_state during
2677 fork_fixup since it wasn't inherited.
2678
2665fb15
CF
26792003-01-01 Christopher Faylor <cgf@redhat.com>
2680
2681 * passwd.cc (getpwuid_r32): Revert previous change.
2682
8619b42b
CF
26832003-01-01 Christopher Faylor <cgf@redhat.com>
2684
2685 * sysconf.cc (sysconf): Return arbitrary values for
2686 _SC_GETGR_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_GETPW_R_SIZE_MAX.
2687
2688 * passwd.cc (getpwuid_r32): Add uid/gid fields to size check
2689 calculation.
2690
This page took 0.34318 seconds and 5 git commands to generate.