aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/ChangeLog
blob: 0e5a318721d62be0cabdf8960e295daec1d224bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
2003-01-24  Christopher Faylor  <cgf@redhat.com>

	* fhandler_console.cc (fhandler_console::send_winch_maybe): Reset
	scroll region if size changes.

2003-01-24  Pierre Humblet <pierre.humblet@ieee.org>
	    Jason Tishler  <jason@tishler.net>

	* cygwin.din: Export setreuid32, setreuid, setregid32, setregid.
	* syscalls.cc (setreuid32): New function.
	(setreuid): Ditto.
	(setregid32): Ditto.
	(setregid): Ditto.
	* include/cygwin/version.h: Bump API minor number.

2003-01-23  Christopher Faylor  <cgf@redhat.com>

	* pwdrp.h (pwdgrp::refresh): Lock entire test prior to reading.

2003-01-23  Christopher Faylor  <cgf@redhat.com>

	* grp.cc (pwdgrp::parse_group): Eliminate arg and use class member
	instead.  Use next_str and next_int to parse arguments.
	* passwd.cc (pwdgrp::parse_passwd): Ditto.
	(grab_string): Eliminate.
	(grab_int): Ditto.
	* pwdgrp.h (pwdgrp::parse): Eliminate input arg.
	(pwdgrp::parse_passwd): Reflect above change.
	(pwdgrp::parse_group): Reflect above change.
	(pwdgrp::next_str): New function.
	(pwdgrp::next_int): Ditto.
	(pwdgrp::gets): Eliminate.
	* uinfo.cc (pwdgrp::next_str): New function.
	(pwdgrp::next_int): Ditto.
	(pwdgrp::add_line): Subsume gets.
	(pwdgrp::gets): Eliminate.
	(pwdgrp::load): Just call add_line to parse input buffer.

2003-01-22  Thomas Pfaff  <tpfaff@gmx.net>

	* include/pthread.h (PTHREAD_MUTEX_RECURSIVE): Revert changes from
	2003-01-09 mutex patch.
	(PTHREAD_MUTEX_ERRORCHECK): Ditto.

2003-01-22  Corinna Vinschen  <corinna@vinschen.de>

	* cygrun.c: Move from here to ../testsuite.
	* Makefile.in: Remove cygrun.exe dependencies.

2003-01-21  Jason Tishler  <jason@tishler.net>

	* cygwin.din: Export nanosleep().
	* signal.cc (nanosleep): New function.
	(sleep): Move old functionality to nanosleep().  Call nanosleep().
	(usleep): Remove old functionality.  Call nanosleep().
	* include/cygwin/version.h: Bump API minor number.

2003-01-21  Christopher Faylor  <cgf@redhat.com>

	* grp.cc: Call gr.refresh() rather than doing isunitialized tests
	throughout.
	(gr): Use constructor (sigh).
	(pwdgrp::parse_group): Rename from parse_grp.
	(pwdgrp::read_group): Rename from read_etc_group.  Just call gr.load
	with a single argument.
	* passwd.cc: Call pr.refresh() rather than doing isunitialized tests
	throughout.
	(pr): Use constructor (sigh).
	(pwdgrp::parse_passwd): Rename from "parse_pwd".
	(pwdgrp::read_passwd): Rename from read_etc_passwd.  Just call pr.load
	with a single argument.
	* pwdgrp.h (pwdgrp_state): Eliminate.
	(pwdgrp): Reflect above renamings.
	(pwdgrp::etc_ix): Rename from pwd_ix.
	(pwdgrp::read): New element.
	(pwdgrp::lock): New element.
	(pwdgrp::refresh): New function.
	(pwdgrp::load): Eliminate variations which take buffer arguments.
	(pwdgrp::pwdgrp): New constructors.  Initialize mutex here.
	* uinfo.cc (pwdgrp::load): Accommodate pwd_ix -> etc_ix renaming.
	(pwdgrp::load): Set initialized state to true rather than setting state
	to loaded.

2003-01-21  Christopher Faylor  <cgf@redhat.com>

	* include/cygwin/version.h: Bump DLL minor number.

2003-01-21  Pierre Humblet  <pierre.humblet@ieee.org>

	* path.h (etc::change_possible): Revert the type to bool.
	(etc::set_last_modified): Remove obsolete function.
	* path.cc (etc::change_possible): Revert type to bool.
	(etc::test_file_change): Do not test for negative values of
	change_possible and do not set it to -res.
	(etc::dir_changed): When the handle is NULL, call memset instead of
	test_file_changed.  When the handle is invalid, return true.  Detect
	filename change in /etc.
	(etc::file_changed): Remove unneeded check for !fn[n].
	* uinfo.cc (pwdgrp::load): Eliminate spurious setting of fh to NULL.
	* pwdgrp.h (pwdgrp::operator =): Eliminate.

2003-01-19  Christopher Faylor  <cgf@redhat.com>

	* pwdgrp.h (etc): Move to path.h.
	(pwdgrp::max_lines): New field.
	(pwdgrp::curr_lines): New field.
	(pwdgrp::pwdgrp_buf): Ditto.
	(pwdgrp_buf_elem_size): Ditto.
	(pwdgrp_parse): Ditto.
	(pwdgrp::gets): Just declare here.
	(pwdgrp::load): Ditto.  Just take one argument.
	(pwdgrp::load): Define overloaded function accepting passwd buf.
	(pwdgrp::load): Define overloaded function accepting group buf.
	* grp.cc: Use pwdgrp elements rather than standalone static variables
	throughout.
	(curr_lines): Eliminate.
	(max_lines): Ditto.
	(add_grp_line): Ditto.
	(parse_grp): Define as returning boolean.  Accept void * arg and line
	count.  Coerce first argument into __group32 buf reference.  Increment
	curr_line as appropriate.
	(read_etc_group): Pass pwdgrp buffer to gr.load.
	* passwd.cc: Use pwdgrp elements rather than standalone static variables
	throughout.
	(curr_lines): Eliminate.
	(max_lines): Ditto.
	(add_grp_line): Ditto.
	(parse_passwd): Define as returning boolean.  Accept void * arg and line
	count.  Coerce first argument into passwd buf reference.  Increment
	curr_line as appropriate.
	(read_etc_group): Pass pwdgrp buffer to pr.load.
	* path.cc (etc::fn): Extend buffer size to allow index by 1 rather than
	zero.
	(etc::last_modified): Ditto.
	(etc::change_possible): Ditto.  Renamed from sawchange.  Change to
	signed char since elements are now tri-state.
	(etc::init): Assume "handle" is 1 based rather than 0.
	(etc::test_file_change): New function.  Sets change_possible based on
	file date comparison.
	(etc::dir_changed): Check file states immediately after changed_h is
	initialized to avoid a race.
	(etc::file_changed): Use test_file_change to detect if file needs to be
	updated.
	* path.h (etc): Move class here from pwdgrp.h.
	* uinfo.cc: Move etc:: functions to path.cc.  Move pwdgrp functions
	here.
	(pwdgrp::gets): Eliminate buf checks.  Just check eptr and set lptr.
	(pwdgrp::add_line): New function.
	(pwdgrp::load): Call generic add_line function which will call correct
	parser.

2003-01-17  Christopher Faylor  <cgf@redhat.com>

	* cygheap.cc: Change most 'int's to 'unsigned's.
	(_cmalloc): Only check for size of malloced region when calculating
	bucket.  Add overhead when performing the sbrk.  Previous change broke
	_crealloc.

2003-01-17  Christopher Faylor  <cgf@redhat.com>

	* dcrt0.cc (initialize_env): Use colon for CYGWIN_DEBUG separator.
	* grp.cc: Change most statics to NO_COPY throughout.
	* passwd.cc: Ditto.

2003-01-17  Christopher Faylor  <cgf@redhat.com>

	* pwdgrp.h: Change some BOOLs to bools.
	(pwdgrp::pwdgrp): Remove unneeded constructor.
	* passwd.cc: Change BOOL to bool throughout.

2003-01-17  Corinna Vinschen  <corinna@vinschen.de>

	* cygwin.din: Add strerror_r.
	* include/cygwin/version.h: Bump API minor number.

2003-01-17  Christopher Faylor  <cgf@redhat.com>

	* uinfo.cc (etc::dir_changed): Don't print a warning if can't open
	/etc, unless debugging.

2003-01-17  Pierre Humblet  <pierre.humblet@ieee.org>

	* grp.cc (read_etc_group): On NT, add a line for gid = -1.  Change name
	"unknown" to "mkgroup".
	(internal_getgrgid): Do not return default in nontsec case.
	(internal_getgroups): Add argument srchsid and look for it in groups if
	not NULL.
	* passwd.cc (read_etc_passwd): On NT, add a line for uid = -1.  Use
	same default uid for Win95 and NT.  Call cygheap_user::ontherange to
	initialize HOME.

2003-01-16  Christopher Faylor  <cgf@redhat.com>

	* cygheap.cc (init_cygheap::etc_changed): Move to uinfo.cc.
	* cygheap.h (init_cygheap::etc_changed_h): Remove.
	(init_cygheap::etc_changed): Ditto.
	* grp.cc (group_state): Remove.  Use gr instead throughout.
	(gr): Define as class pwdgrp.
	(read_etc_group): Remove gr definition.  Remove calls to
	set_last_modified and close.  Pass add_grp to gr.load to load file.
	* passwd.cc (passwd_state): Remove.  Use pr instead, throughout.
	(pr): Define as class pwdgrp.
	(read_etc_passwd): Remove pr definition.  Remove calls to
	set_last_modified and close.  Pass add_pwd_line to pr.load to load
	file.
	* pwdgrp.h (etc): New helper class for pwdgrp.
	(pwdgrp): Combine pwdgrp_check and pwdgrp_read into one class.  Remove
	file_w32 and last_modified fields.
	(pwdgrp::set_last_modified): Remove.
	(pwdgrp::isinitializing): Remove FindFirstFile stuff.  Move to
	etc::file_changed.
	(pwdgrp::load): Rename from 'open'.  Call etc::init to initialize etc
	scanning.  Close file handle after reading buffer into memory.  Parse
	buffer by calling second argument.
	(pwdgrp::gets): Reorganize slightly to rely on eptr starting at
	beginning of buffer.
	(pwdgrp::close): Remove.
	* uinfo.cc (etc::dir_changed): New function.
	(etc::init): Ditto.
	(etc::file_changed): Ditto.
	(etc::set_last_modified): Ditto.

2003-01-16  Jason Tishler  <jason@tishler.net>

	* mmap.cc (fixup_mmaps_after_fork): Add ERROR_NOACCESS to the list of
	ReadProcessMemory() error codes that trigger a retry with temporary
	PAGE_READONLY access.  Note that this can occur on NT 4.0.

2003-01-15  Christopher Faylor  <cgf@redhat.com>

	* path.cc (normalize_posix_path): Convert win32 path separators to
	slashes when full path is specified.

2003-01-15  Pierre Humblet  <pierre.humblet@ieee.org>

	* cmalloc.cc (_cmalloc): Fix memory leak.

2003-01-15  Corinna Vinschen <corinna@vinschen.de>

	* autoload.cc: Fix copyright date.
	* fhandler_dsp.cc: Ditto.
	* mmap.cc: Ditto.
	* net.cc: Ditto.
	* ntdll.h: Ditto.
	* signal.cc: Ditto.
	* syscalls.cc: Ditto.
	* uname.cc: Ditto.
	* wait.cc: Ditto.

2003-01-14  Corinna Vinschen <corinna@vinschen.de>

	* mmap.cc (fixup_mmaps_after_fork): Copy protection to child process.
	Change ambiguous debug output.

2003-01-14  Corinna Vinschen <corinna@vinschen.de>

	* mmap.cc (mmap_record::access): Change argument type to caddr_t
	for strictness.
	(mprotect): Protect against calling VirtualProtect() for shared
	pages on 9x/Me.
	(fixup_mmaps_after_fork): If ReadProcessMemory() fails, try to
	change protection of parent page to PAGE_READONLY, then try again.
	Revert protection afterwards.

2003-01-14  Thomas Pfaff  <tpfaff@gmx.net>

	* syscalls.cc (system): Add pthread_testcancel call.
	* thread.cc: Update list of cancellation points.

2003-01-14  Thomas Pfaff  <tpfaff@gmx.net>

	* wait.cc: Include thread.h
	(wait4): Add pthread_testcancel call.
	Wait for child process and cancellation event.
	* thread.cc: Update list of cancellation points.

2003-01-14  Thomas Pfaff  <tpfaff@gmx.net>

	* signal.cc (sleep): Add pthread_testcancel call.
	Wait for signal and cancellation event.
	(usleep): Ditto.

2003-01-14  Thomas Pfaff  <tpfaff@gmx.net>

	* exceptions.cc (handle_sigsuspend): Add pthread_testcancel call.
	Wait for signal and cancellation event.
	* thread.cc: Update list of cancellation points.

2003-01-14  David Huang  <davehzhr@hotmail.com>

	* fhandler_dsp.cc (fhandler_dsp::ioctl): Add limited support for
	SNDCTL_DSP_GETFMTS.

2003-01-12  Christopher Faylor  <cgf@redhat.com>

	* ntdll.h: Fix typo.

2003-01-12  Corinna Vinschen <corinna@vinschen.de>

	* uname.cc (uname): Use cygwin_gethostname() to retrieve hostname.

2003-01-12  Pierre Humblet  <pierre.humblet@ieee.org>

	* sec_acl.cc (search_ace): Use id == -1, instead of < 0, as wildcard.
	(setacl): Start the search for a matching default at the next entry.
	Invalidate the type of merged entries instead of clearing it.
	Use well_known_creator for default owner and owning group and do
	not try to merge non-default and default entries in these cases.
	(getacl): Recognize well_known_creator for default owner and group.
	(acl_worker): Improve errno settings and streamline the nontsec case.
	* security.cc (write_sd): Remove the call to set_process_privilege.
	(alloc_sd): If the owner changes, call set_process_privilege and return
	immediately on failure. Change inheritance rules: on new directories add
	inherit only allow ACEs for creator_owner, creator_group and everyone.
	Preserve all inheritances through chmod and chown calls. Introduce
	isownergroup to implement the uid == gid case, to keep the inheritance
	code simple. Do not initialize owner_sid and group_sid and stop using
	the variable psd.

2003-01-10  Christopher Faylor  <cgf@redhat.com>

	* net.cc: Use gethostname define from winsock2.h.

2003-01-10  Christopher Faylor  <cgf@redhat.com>

	* path.cc: Unrevert below reversion except for
	mount_info::conv_to_posix_path part.

2003-01-10  Corinna Vinschen <corinna@vinschen.de>

	* path.cc: Revert patch from 2003-01-09 to normalize a windows path
	rather than converting to posix.

2003-01-10  Corinna Vinschen <corinna@vinschen.de>

	* autoload.cc (gethostname): Make call optional, return 1 if function
	can't get loaded.
	* net.cc (cygwin_gethostname): Call GetComputerName if return value
	of gethostname is non-zero.

2003-01-10  Charles Wilson  <cwilson@ece.gatech.edu>

	* cygwin.din: Add asprintf and vasprintf, as well as the reentrant
	versions and underscore variants.
	* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR.

2003-01-10  Corinna Vinschen <corinna@vinschen.de>

	* net.cc (cygwin_gethostname): Fix call to wsock function gethostname.

2003-01-09  Christopher Faylor  <cgf@redhat.com>

	* cygthread.cc (cygthread::cygthread): Be more noisy about odd
	condition.
	* miscfuncs.cc (low_priority_sleep): Sleep in regular priority if
	that's what we're currently running at.

2003-01-09  Thomas Pfaff  <tpfaff@gmx.net>

	* include/semaphore.h: Modify typedef for sem_t.
	* include/cygwin/types.h: Modify typedefs for pthread_t,
	pthread_mutex_t, pthread_key_t, pthread_attr_t,
	pthread_mutexattr_t, pthread_condattr_t, pthread_cond_t,
	pthread_rwlock_t and pthread_rwlockattr_t.

2003-01-09  Thomas Pfaff  <tpfaff@gmx.net>

	* thread.h (WAIT_CANCELED): New define.
	(pthread::cancelable_wait): New static method.
	* thread.cc (pthread::cancelable_wait): Implement.
	(semaphore::Wait): Wait on semaphore and thread cancellation.
	(pthread::join): Wait on joined thread and thread cancellation.
	(semaphore::wait): Add testcancel to check for thread
	cancellation even if the semaphore is available.

2003-01-09  Thomas Pfaff  <tpfaff@gmx.net>

	* include/pthread.h: Add define for errorchecking mutexes.
	Change default mutex type.
	* thread.cc (pthread_cond::TimedWait): Update mutex unlock
	calls.
	(pthread_mutex::pthread_mutex): New implement.
	(pthread_mutex::~pthread_mutex): Ditto.
	(pthread_mutex::Lock): Ditto.
	(pthread_mutex::TryLock): Ditto.
	(pthread_mutex::UnLock): Ditto.
	(pthread_mutex::Destroy): Implement new method.
	(pthread_mutex::SetOwner): Ditto.
	(pthread_mutex::LockRecursive): Ditto.
	(pthread_mutex::fixup_after_fork): Restore locking state after
	fork.
	(__pthread_mutex_lock): Return pthread_mutex::Lock errorcode.
	(__pthread_mutex_trylock): Return pthread_mutex::TryLock
	errorcode.
	(__pthread_mutex_unlock): Return pthread_mutex::UnLock
	errorcode.
	(__pthread_mutex_destroy): Call pthread_mutex::Destroy to
	destroy mutex.
	(__pthread_mutexattr_settype): Allow errorchecking and recursive
	types.
	* thread.h (MUTEX_LOCK_COUNTER_INITIAL): New define.
	(pthread_mutex::criticalsection): Remove.
	(pthread_mutex::lock_counter): New member.
	(pthread_mutex::recursion_counter): Ditto.
	(pthread_mutex::owner): Ditto.
	(pthread_mutex::type): Ditto.
	(pthread_mutex::Destroy): New method.
	(pthread_mutex::SetOwner): Ditto.
	(pthread_mutex::LockRecursive): Ditto.

2003-01-09  Thomas Pfaff  <tpfaff@gmx.net>

	* pthread.cc (pthread_cond_init): Use new pthread_cond::init.
	* thread.cc: Some white spaces cleanups.
	Change __pthread_cond_init to pthread_cond::init throughout.
	(nativeMutex): Move class methods outside pthread_mutex.
	(MTinterface::Init): Initialize pthread_cond init lock.
	(pthread_cond::condInitializationLock): Instantiate.
	(pthread_cond::initMutex): New Method.
	(pthread_cond::isGoodInitializerOrBadObject): Ditto.
	* thread.h: Some white spaces cleanups.
	(nativeMutex): Move class declaration outside pthread_mutex.
	(pthread_cond::condInitializationLock): New static member.
	(pthread_cond::initMutex): New Method.
	(pthread_cond::isGoodInitializerOrBadObject): Ditto.
	(__pthread_cond_init): Remove prototype.

2003-01-09  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_disk_file.cc (num_entries): Return 2 as link count if
	directory unreadable.

2003-01-09  Corinna Vinschen  <corinna@vinschen.de>

	* security.cc (get_nt_attribute): Always return -1 when read_sd()
	fails.
	(get_file_attribute): Set permissions to 0 and owner/group to -1
	if security descriptor is unreadable.

2003-01-09  Christopher Faylor  <cgf@redhat.com>

	Use isdirsep rather than SLASH_P throughout.
	* path.cc (iscygdrive): Disallow /cygdrive\x.
	(normalize_posix_path): "Normalize" a windows path, if detected, rather
	than converting to posix.

2003-01-06  Troy Curtiss <troyc@usa.net>

	* fhandler_serial.cc (fhandler_serial::tcsetattr): Add support and
	capability checking for B230400 bitrate.
	(fhandler_serial::tcgetattr): Add support for B230400 bitrate.
	* include/sys/termios.h: Add B230400 definition for Posix support of
	230.4Kbps.

2003-01-05  Christopher Faylor  <cgf@redhat.com>

	* pinfo.cc (_pinfo::commune_send): Use myself->lock rather than just
	lock when leaving.

2003-01-03  Christopher Faylor  <cgf@redhat.com>

	* dtable.h (dtable::in_vfork_cleanup): New function.  True if vfork
	cleanup needed.
	* dtable.cc (dtable::vfork_parent_restore): Remove assertion.
	* pipe.cc (fhandler_pipe::close): Don't close read_state during
	fork_fixup since it wasn't inherited.

2003-01-01  Christopher Faylor  <cgf@redhat.com>

	* passwd.cc (getpwuid_r32): Revert previous change.

2003-01-01  Christopher Faylor  <cgf@redhat.com>

	* sysconf.cc (sysconf): Return arbitrary values for
	_SC_GETGR_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_GETPW_R_SIZE_MAX.

	* passwd.cc (getpwuid_r32): Add uid/gid fields to size check
	calculation.