Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ChangeLog « cygwin « winsup - cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 7a3259adf2326f36e5b0fd8fc9792a5290b1c732 (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
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
2014-02-22  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* fhandler.h (dev_console::is_fullscreen): Delete.
	(dev_console::scroll_window): Return bool indicating success.
	(dev_console::scroll_screen): New function.
	(dev_console::clear_screen): New function.
	(fhandler_console::clear_screen): Make __reg3.
	(fhandler_console::cursor_set): Ditto.
	(fhandler_console::cursor_get): Ditto.
	(fhandler_console::cursor_rel): Ditto.
	* fhandler_console.cc (dev_console::scroll_buffer): Adapt from
	fhandler_console.
	(fhandler_console::scroll_buffer): Use dev_console function.
	(dev_console::is_fullscreen): Delete.
	(dev_console::scroll_window): Return true if we cleared the screen.
	Shrink/grow buffer first before scrolling to ensure that there is
	sufficient space after scrolling.
	(fhandler_console::clear_screen): Make reg3, use dev_console function.
	(dev_console::clear_screen): New function adapted from
	fhandler_console.
	(fhandler_console::cursor_set): Make __reg3.
	(fhandler_console::cursor_rel): Ditto.
	(fhandler_console::cursor_get): Ditto.
	(fhandler_console::write): Fix "reverse index".

014-02-22  Corinna Vinschen  <corinna@vinschen.de>

	* external.cc (cygwin_internal): Add cases for CW_GETNSSSEP,
	CW_GETPWSID and CW_GETGRSID.
	* grp.cc (internal_getgrsid_from_db): New function.
	* passwd.cc (internal_getpwsid_from_db): New function.
	(pg_ent::setent): Add special case for call from mkpasswd/mkgroup.
	* pwdgrp.h (internal_getpwsid_from_db): Declare.
	(internal_getgrsid_from_db): Declare.
	(enum nss_enum_t): Move to include/sys/cygwin.h.
	(class pg_ent): Add comment.
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Fix typo in comment.
	Change "UNIX" to "Unix" in domain name.
	* include/sys/cygwin.h (cygwin_getinfo_types): Add CW_GETNSSSEP,
	CW_GETPWSID and CW_GETGRSID.
	(enum nss_enum_t): Define here.

2014-02-21  Corinna Vinschen  <corinna@vinschen.de>

	* pwdgrp.h (pwdgrp::fetch_account_from_windows): Add bool parameter
	to declaration, set to true by default.
	* uinfo.cc (pwdgrp::fetch_account_from_windows): Add bool parameter
	"ugid_caching".  Only add account to ugid_cache if set to true.
	* grp.cc (gr_ent::enumerate_local): Call fetch_account_from_windows
	with ugid_caching parameter set to false.
	* passwd.cc (pg_ent::enumerate_builtin): Ditto.
	(pg_ent::enumerate_sam): Ditto.
	(pg_ent::enumerate_ad): Ditto.

2014-02-20  Corinna Vinschen  <corinna@vinschen.de>

	* grp.cc (getgrouplist): Fix previous fix so ret is only set to ngroups
	if ngroups isn't too small.

2014-02-20  Corinna Vinschen  <corinna@vinschen.de>

	* grp.cc (get_groups): Don't add gid to list if it's ILLEGAL_GID.
	(getgrouplist): Return number of groups, just like glibc.

2014-02-19  Corinna Vinschen  <corinna@vinschen.de>

	* passwd.cc (pg_ent::setent): Initialize cygheap domain info.
	* sec_auth.cc (get_logon_server): Ditto.

2014-02-18  Corinna Vinschen  <corinna@vinschen.de>

	* external.cc (cygwin_internal): Handle new CW_SETENT, CW_GETENT and
	CW_ENDENT info types.
	* grp.cc (setgrent_filtered): New function, called from cygwin_internal.
	(getgrent_filtered): Ditto.
	(endgrent_filtered): Ditto.
	* passwd.cc (pg_ent::setent): Set state explicitely to from_cache.
	(pg_ent::getent): Handle the fact that a DC has no SAM and enumerating
	local accounts is equivalent to enumerating domain accounts.
	(setpwent_filtered): New function, called from cygwin_internal.
	(getpwent_filtered): Ditto.
	(endpwent_filtered): Ditto.
	* pwdgrp.h (setpwent_filtered): Declare.
	(getgrent_filtered): Ditto.
	(endgrent_filtered): Ditto.
	(setpwent_filtered): Ditto.
	(getpwent_filtered): Ditto.
	(endpwent_filtered): Ditto.
	* include/sys/cygwin.h (cygwin_getinfo_types): Add CW_SETENT, CW_GETENT,
	and CW_ENDENT.

2014-02-18  Corinna Vinschen  <corinna@vinschen.de>

	* setlsapwd.cc (setlsapwd): Fix conditional expression after breaking
	it on 2014-01-23.

2014-02-17  Corinna Vinschen  <corinna@vinschen.de>

	* autoload.cc (ldap_abandon): Import.
	(ldap_result): Import.
	(ldap_searchW): Import.
	(NetGroupEnum): Import.
	(NetLocalGroupEnum): Import.
	(NetUserEnum): Import.
	* cygheap.h (class cygheap_pwdgrp): Add members enums and enum_tdoms.
	(cygheap_pwdgrp::nss_db_enums): New inline method.
	(cygheap_pwdgrp::nss_db_enum_tdoms): Ditto.
	* cygtls.h (struct _local_storage): Drop unused members pw_pos and
	grp_pos.
	* grp.cc (grent): New static variable of class gr_ent.
	(gr_ent::enumerate_caches): New method.
	(gr_ent::enumerate_local): New method.
	(gr_ent::getgrent): New method.
	(setgrent): Call gr_ent method.
	(getgrent32): Ditto.
	(endgrent): Ditto.
	* ldap.cc (sid_attr): Rename from nfs_attr.
	(cyg_ldap::close): Abandon still running asynchronous search.
	(cyg_ldap::fetch_ad_account): Reduce filter buffer size.
	(cyg_ldap::enumerate_ad_accounts): New method.
	(cyg_ldap::next_account): New method.
	(cyg_ldap::fetch_posix_offset_for_domain): Reduce filter buffer size.
	(cyg_ldap::fetch_unix_sid_from_ad): Ditto.  Fix return value in case
	no value has been read.
	(cyg_ldap::fetch_unix_name_from_rfc2307): Reduce filter buffer size.
	* ldap.h (class cyg_ldap): Add msg_id member.
	(cyg_ldap::enumerate_ad_accounts): Declare.
	(cyg_ldap::next_account): Declare:
	* passwd.cc (pwent): New static variable of class pw_ent.
	(pg_ent::clear_cache): New method.
	(pg_ent::setent): New method.
	(pg_ent::getent): New method.
	(pg_ent::endent): New method.
	(pg_ent::enumerate_file): New method.
	(pg_ent::enumerate_builtin): New method.
	(pg_ent::enumerate_sam): New method.
	(pg_ent::enumerate_ad): New method.
	(pw_ent::enumerate_caches): New method.
	(pw_ent::enumerate_local): New method.
	(pw_ent::getpwent): New method.
	(setpwent): Call pw_ent method.
	(getpwent): Ditto.
	(endpwent): Ditto.
	* pwdgrp.h (class pwdgrp): Define pg_ent, pw_ent and gr_ent as friend
	classes.
	(pwdgrp::add_account_post_fetch): Declare with extra bool parameter.
	(pwdgrp::file_attr): New inline method.
	(enum nss_enum_t): Define.
	(class pg_ent): Define.
	(class pw_ent): Define.
	(class gr_ent): Define.
	* tlsoffsets.h: Regenerate.
	* tlsoffsets64.h: Ditto.
	* uinfo.cc (cygheap_pwdgrp::init): Initialize enums and enum_tdoms.
	(cygheap_pwdgrp::nss_init_line): Fix typo in preceeding comment.
	Handle new "db_enum" keyword.
	(pwdgrp::add_account_post_fetch): Take additional `bool lock' parameter
	and acquire pglock before adding element to array if lock is true.
	(pwdgrp::add_account_from_file): Call add_account_post_fetch with lock
	set to true.
	(pwdgrp::add_account_from_windows): Ditto in case of caching.
	(pwdgrp::fetch_account_from_windows): Handle builtin aliases only
	known to the domain controller.  Only call NetLocalGroupGetInfo for
	aliases.

2014-02-16  Corinna Vinschen  <corinna@vinschen.de>

	* miscfuncs.h (NT_readline::close): New function to close handle.
	(NT_readline::~NT_readline): Call close.
	* sec_auth.cc (verify_token): Use constructor to initialize tok_usersid.
	* security.h (cygsid::cygsid): Add copy constructor taking cygsid as
	source.

2014-02-16  Corinna Vinschen  <corinna@vinschen.de>

	* dcrt0.cc (dll_crt0_1): Call initial_setlocale before fetching
	current user information.

2014-02-15  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* DevNotes: Add entry cgf-000024.
	* fhandler.h (dev_console::state): Remove trailing underscore.
	(dev_console::args): Ditto.
	(dev_console::nargs): Ditto.
	(dev_console::info): Eliminate subclass.
	(dev_console::dwEnd): New field.
	(dev_console::scroll_window): New function.
	(dev_console::is_fullscreen): Ditto.
	(dev_console::fillin): Rename from fillin_info.
	(fhandler_console::scroll_buffer): Rename from scroll_screen.
	* fhandler_console.cc: Throughout s/dev_state\.info/dev_state/g.
	Accommodate other name changes.
	(dev_console::fillin): Accommodate rename.  Notice max x/y written to.
	Forgo memset if GetConsoleScreenBufferInfo fails.
	(fhandler_console::scroll_buffer): Accommodate rename.  Don't treat y
	coordinate of zero as top of screen.
	(dev_console::is_fullscreen): New function.
	(dev_console::scroll_window): Ditto.
	(fhandler_console::clear_screen): Just scroll the screen when clearing
	the screen in a state where the screen buffer is bigger than the
	screen.
	(fhandler_console::char_command): Try harder to get 'S' and 'T' working
	in the presence of a screen buffer.  Use temporary 'n' variable rather
	than dev_state.args[0].  Use GNU ?: shortcut method.

2014-02-14  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* pinfo.cc (winpids::add): Always copy pinfo structure when winpid.
	Fill out dwProcessId explicitly to handle exec from a windows process.
	(winpids::enum_processes): Reorganize to iterate over known cygwin pids
	when !winpid.  Simplify logic.  Don't do duplicate detection for
	winpid.

2014-02-14  Corinna Vinschen  <corinna@vinschen.de>

	* uinfo.cc (pwdgrp::fetch_account_from_windows): Default to /bin/bash
	as login shell.

2014-02-13  Corinna Vinschen  <corinna@vinschen.de>

	* ldap.cc (cyg_ldap::fetch_posix_offset_for_domain): If domain name
	has no dot, it's a Netbios name.  Change the search filter expression
	accordingly and filter by flatName.  Add comment.
	* uinfo.cc (cygheap_domain_info::init):  Gracefully handle NULL
	DnsDomainName and DomainSid members in DS_DOMAIN_TRUSTSW structure.
	Add comment.  Fix comment preceeding fetching the mapping server
	from registry.
	(pwdgrp::fetch_account_from_file): Convert str to a local array.
	(fetch_posix_offset): New static function.
	(pwdgrp::fetch_account_from_windows): Add debug output in case
	LookupAccountSidW fails.  Simplify code by calling fetch_posix_offset
	where appropriate.  If LookupAccountSidW fails, check if the SID is
	one of the known trusted domains.  If so, create a more informative
	account entry.

2014-02-12  Corinna Vinschen  <corinna@vinschen.de>

	* uinfo.cc (cygheap_pwdgrp::nss_init_line): Explicitely ignore a colon
	as separator char.

2014-02-11  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* winsup.h: Turn off previous workaround but leave a comment.

2014-02-11  Corinna Vinschen  <corinna@vinschen.de>

	* ldap.cc (rediscover_thread): Give argument a useful name.
	* miscfuncs.cc (NT_readline::init): It's a really bad idea trying to
	print a pointer to a PUNICODE_STRING as PUNICODE_STRING.  Fix it.
	* uinfo.cc (cygheap_domain_info::init): Print status codes as hex
	values in debug output.

2014-02-11  Corinna Vinschen  <corinna@vinschen.de>

	* autoload.cc (NetLocalGroupGetInfo): Replace NetGroupGetInfo.
	* cygheap.h (class cygheap_ugid_cache): Move ugid_cache_t type here
	and rename.
	(struct init_cygheap): Add cygheap_ugid_cache member "ugid_cache".
	* pwdgrp.h (class ugid_cache_t): Remove here.
	* fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): Accommodate
	move of ugid_cache to cygheap.
	* sec_helper.cc (get_sids_info): Ditto.
	* uinfo.cc (ugid_cache): Remove.
	(pwdgrp::fetch_account_from_windows): Define id_val globally.
	Move SidTypeAlias handling into SidTypeUser/SidTypeGroup branch since
	aliases are handled like groups in SAM.  Accommodate move of ugid_cache
	to cygheap.  Consolidate code reading SAM comments into a single branch
	for both, SidTypeUser and SidTypeAlias.  For SidTypeAlias, fix thinko
	and call NetLocalGroupGetInfo rather than NetGroupGetInfo.  Simplify
	code setting Cygwin primary group for SAM accounts.  Add code to handle
	UNIX uid/gid from SAM comment.

2014-02-11  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* winsup.h (Interlocked*): Use intrinsic versions of Interlocked
	functions.

	* cygwin.sc.in: More closely emulate default pe/i386 linker script.

2014-02-10  Corinna Vinschen  <corinna@vinschen.de>

	* uinfo.cc (cygheap_domain_info::init): Drop accidentally leftover if
	statement.

2014-02-10  Corinna Vinschen  <corinna@vinschen.de>

	* uinfo.cc (cygheap_domain_info::init): Fix handling of account domain
	on donmain controllers.  Explain why.

2014-02-10  Corinna Vinschen  <corinna@vinschen.de>

	* cygheap.cc (cwcsdup): Change parameter to correct PWCSTR.
	(cwcsdup1): Ditto.
	* cygheap_malloc.h: Change declarations accordingly.

2014-02-10  Corinna Vinschen  <corinna@vinschen.de>

	* uinfo.cc (pwdgrp::fetch_account_from_windows): Add code to allow
	setting the primary group from the SAM comment field.

2014-02-10  Corinna Vinschen  <corinna@vinschen.de>

	* dcrt0.cc (child_info_spawn::handle_spawn): Call fixup_lockf_after_exec
	with additional argument to specify if the process has been execed
	or spawned.
	* flock.cc (fixup_lockf_after_exec): Take bool parameter to handle
	exec and spawn differently.  In case of spawn, just give up POSIX
	locks in favor of the still running parent.  Add comments to explain.

2014-02-09  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* environ.cc (strbrk): Properly deal with environment variable sans
	quote.

2014-02-09  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* environ.cc (strbrk): New function.
	(parse_options): Use strbrk to parse CYGWIN environment variable.

2014-02-09  Corinna Vinschen  <corinna@vinschen.de>

	Introduce reading passwd/group entries from SAM/AD.  Introduce
	/etc/nsswitch.conf file to configure it.
	* Makefile.in (DLL_OFILES): Add ldap.o.
	* autoload.cc: Import ldap functions from wldap32.dll.
	(DsEnumerateDomainTrustsW): Import.
	(NetGroupGetInfo): Import.
	* cygheap.h (class cygheap_domain_info): New class to keep global
	domain info.
	(class cygheap_pwdgrp): New class to keep passwd/group caches and
	configuration info from /etc/nssswitch.conf.
	(struct init_cygheap): Add cygheap_domain_info member "dom" and
	cygheap_pwdgrp member "pg".
	* cygtls.h (struct _local_storage): Remove unused member "res".
	Rearrange slightly, Add members pwbuf and grbuf to implement non-caching
	passwd/group fetching from SAM/AD.  Make pw_pos and pw_pos unsigned.
	* fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): Add RFC 2307
	uid/gid mapping.
	* fhandler_process.cc: Drop including pwdgrp.h.
	* fhandler_procsysvipc.cc: Ditto.
	* fhandler_registry.cc (fhandler_registry::fstat): Set key uid/gid
	to ILLEGAL_UID/ILLEGAL_GID rather than UNKNOWN_UID/UNKNOWN_GID.
	* grp.cc (group_buf): Drop.
	(gr): Drop.
	(pwdgrp::parse_group): Fill pg_grp.
	(pwdgrp::read_group): Remove.
	(pwdgrp::init_grp): New method.
	(pwdgrp::prep_tls_grbuf): New method.
	(pwdgrp::find_group): New methods.
	(internal_getgrsid): Convert to call new pwdgrp methods.
	(internal_getgrnam): Ditto.
	(internal_getgrgid): Ditto.
	(getgrgid_r): Drop 2nd parameter from internal_getgrgid call.
	(getgrgid32): Ditto.
	(getgrnam_r): Ditto for internal_getgrnam.
	(getgrnam32): Ditto.
	(getgrent32): Convert to call new pwdgrp methods.
	(internal_getgrent): Remove.
	(internal_getgroups): Simplify, especially drop calls to
	internal_getgrent.
	* ldap.cc: New file implementing cyg_ldap class for LDAP access to AD
	and RFC 2307 server.
	* ldap.h: New header, declaring cyg_ldap class.
	* passwd.cc (passwd_buf): Drop.
	(pr): Drop.
	(pwdgrp::parse_passwd): Fill pg_pwd.
	(pwdgrp::read_passwd): Remove.
	(pwdgrp::init_pwd): New method.
	(pwdgrp::prep_tls_pwbuf): New method.
	(find_user): New methods.
	(internal_getpwsid): Convert to call new pwdgrp methods.
	(internal_getpwnam): Ditto.
	(internal_getpwuid): Ditto.
	(getpwuid32): Drop 2nd parameter from internal_getpwuid call.
	(getpwuid_r): Ditto.
	(getpwnam): Ditto for internal_getpwnam.
	(getpwnam_r): Ditto.
	(getpwent): Convert to call new pwdgrp methods.
	* path.cc (class etc): Remove all methods.
	* path.h (class etc): Drop.
	* pinfo.cc (pinfo_basic::pinfo_basic): Set gid to ILLEGAL_GID rather
	than UNKNOWN_GID.
	(pinfo_init): Ditto.
	* pwdgrp.h (internal_getpwnam): Drop 2nd parameter from declaration.
	(internal_getpwuid): Ditto.
	(internal_getgrgid): Ditto.
	(internal_getgrnam): Ditto.
	(internal_getgrent): Drop declaration.
	(enum fetch_user_arg_type_t): New type.
	(struct fetch_user_arg_t): New type.
	(struct pg_pwd): New type.
	(struct pg_grp): New type.
	(class pwdgrp): Rework to provide functions for file and db requests
	and caching.
	(class ugid_cache_t): New class to provide RFC 2307 uid map caching.
	(ugid_cache): Declare.
	* sec_acl.cc: Drop including pwdgrp.h.
	* sec_auth.cc: Drop including dsgetdc.h and pwdgrp.h.
	(get_logon_server): Convert third parameter to ULONG flags argument
	to allow arbitrary flags values in DsGetDcNameW call and change calls
	to this function throughout.  Use cached account domain name rather
	than calling GetComputerNameW.
	(get_unix_group_sidlist): Remove.
	(get_server_groups): Drop call to get_unix_group_sidlist.
	(verify_token): Rework token group check without calling
	internal_getgrent.
	* sec_helper.cc (cygpsid::pstring): New methods, like string() but
	return pointer to end of string.
	(cygsid::getfromstr): Add wide character implementation.
	(get_sids_info): Add RFC 2307 uid/gid mapping for Samba shares.
	* security.cc: Drop including pwdgrp.h.
	* security.h (DEFAULT_UID): Remove.
	(UNKNOWN_UID): Remove.
	(UNKNOWN_GID): Remove.
	(uinfo_init): Move here from winsup.h.
	(ILLEGAL_UID): Ditto.
	(ILLEGAL_GID): Ditto.
	(UNIX_POSIX_OFFSET): Define.  Add lengthy comment.
	(UNIX_POSIX_MASK): Ditto.
	(MAP_UNIX_TO_CYGWIN_ID): Ditto.
	(ILLEGAL_UID16): Move here from winsup.h.
	(ILLEGAL_GID16): Ditto.
	(uid16touid32): Ditto.
	(gid16togid32): Ditto.
	(sid_id_auth): New convenience macro for SID component access.
	(sid_sub_auth_count): Ditto.
	(sid_sub_auth): Ditto.
	(sid_sub_auth_rid): Ditto.
	(cygpsid::pstring): Declare.
	(cygsid::getfromstr): Declare wide character variant.
	(cygsid::operator=): Ditto.
	(cygsid::operator*=): Ditto.
	(get_logon_server): Change declaration according to source code.
	* setlsapwd.cc (setlsapwd): Drop 2nd parameter from internal_getpwnam
	call.
	* shared.cc (memory_init): Call cygheap->pg.init in first process.
	* syscalls.cc: Drop including pwdgrp.h.
	* tlsoffsets.h: Regenerate.
	* tlsoffsets64.h: Ditto.
	* uinfo.cc (internal_getlogin): Drop gratuitious internal_getpwuid
	call.  Fix debug output.  Overwrite user gid in border case of a
	missing passwd file while a group file exists.
	(pwdgrp::add_line): Allocate memory on cygheap.
	(pwdgrp::load): Remove.
	(ugid_cache): Define.
	(cygheap_pwdgrp::init): New method.
	(cygheap_pwdgrp::nss_init_line): New method.
	(cygheap_pwdgrp::_nss_init): New method.
	(cygheap_domain_info::init): New method.
	(logon_sid): Define.
	(get_logon_sid): New function.
	(pwdgrp::add_account_post_fetch): New method.
	(pwdgrp::add_account_from_file): New methods.
	(pwdgrp::add_account_from_windows): New methods.
	(pwdgrp::check_file): New method.
	(pwdgrp::fetch_account_from_line): New method.
	(pwdgrp::fetch_account_from_file): New method.
	(pwdgrp::fetch_account_from_windows): New method.
	* winsup.h: Move aforementioned macros and declarations to security.h.

2014-02-09  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* sigproc.cc (sig_send): Don't bother with an error message if we are
	exiting.

2014-02-08  Corinna Vinschen  <corinna@vinschen.de>

	* miscfuncs.h (class NT_readline): New class to implement line-wise
	reading from file using native NT functions.
	* miscfuncs.cc (NT_readline::init): New method.
	(NT_readline::fgets): New method.
	* mount.cc (mount_info::from_fstab): Utilize NT_readline to read
	fstab files.

2014-02-06  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_disk_file.cc (fhandler_disk_file::fchown): Fix typo in
	comment.
	* mount.cc (mount_info::from_fstab): Use tmp_pathbuf rather than
	stack for big local buffer.
	* net.cc (cygwin_gethostname): Call GetComputerNameExA rather than
	GetComputerNameA if gethostname failed.
	* shared.cc (user_info::initialize): Fix formatting.

2014-02-06  Corinna Vinschen  <corinna@vinschen.de>

	* include/sys/file.h: Define flock and accompanying macros if not
	already defined in sys/_default_fcntl.h.

2014-02-04  Corinna Vinschen  <corinna@vinschen.de>

	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 29.

2014-01-30  Corinna Vinschen  <corinna@vinschen.de>

	* dir.cc (opendir): Call set_unique_id only with valid fh.

2014-01-30  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* fhandler.h (cltype): Add cl_buf_beg, cl_buf_end.
	* fhandler_console.cc (dev_console::console_attrs::set_cl_x): Honor
	buffer locations.
	(dev_console::console_attrs::set_cl_y): Ditto.
	(fhandler_console::write): On reset, use absolute positioning to go to
	beginning of buffer.  Clear entire buffer.

2014-01-27  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* gendef (_setjmp (x86)): Save FPU control word location in sequential
	location.  Adjust sigstack save accordingly.
	(_longjmp (x86)): Ditto for restore.

2014-01-27  Corinna Vinschen  <corinna@vinschen.de>

	* gendef (sigdelayed (x86_64)): Save and restore FPU control word.
	(_sigdelayed (x86)): Ditto.  Save and restore XMM registers.  Add
	comment.
	(_setjmp (x86)): Save FPU control word, following FreeBSD here.
	(_longjmp (x86)): Restore FPU control word.

2014-01-24  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* winf.cc (linebuf::fromargv): Treat '=' as a special character.

2014-01-23  Corinna Vinschen  <corinna@vinschen.de>

	* security.h (open_local_policy): Remove declaration.
	(lsa_open_policy): Declare.
	(lsa_close_policy): Declare.
	* sec_auth.cc (lsa_open_policy): Rename from open_local_policy.  Take
	server name as parameter.  Return NULL in case of error, rather than
	INVALID_HANDLE_VALUE.
	(lsa_close_policy): Rename from close_local_policy.  Make externally
	available.  Get handle by value.
	(create_token): Convert call to open_local_policy/close_local_policy
	according to aforementioned changes.
	(lsaauth): Ditto.
	(lsaprivkeyauth): Ditto.
	* setlsapwd.cc (setlsapwd): Ditto.

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

	* path.cc (etc::test_file_change): In case of NtQueryFullAttributesFile
	returning an error, only return true if file actually exists.

2014-01-20  Corinna Vinschen  <corinna@vinschen.de>

	* include/cygwin/in6.h (struct ipv6_rt_hdr): Define.
	* include/cygwin/socket.h: Fix formatting.
	(IP_UNICAST_IF): Define.
	(IPV6_JOIN_GROUP): Remove Windowism.
	(IPV6_LEAVE_GROUP): Ditto.
	(IPV6_UNICAST_IF): Define.
	(IPV6_TCLASS): Ditto.
	(IPV6_RECVTCLASS): Ditto.

2014-01-18  Corinna Vinschen  <corinna@vinschen.de>

	* include/netinet/ip6.h: New file, copied from FreeBSD vebatim.

2014-01-17  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* dtable.h (dtable::lock): Revert static.
	(dtable::unlock): Ditto.

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

	* passwd.cc (setpassent): Align to BSD definition.

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

	* syscalls.cc (popen): Introduce Glibc 'e' flag to allow thread-safe
	opening of the pipe with O_CLOEXEC flag.  Simplify FD_CLOEXEC handling.

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

	* include/sys/file.h (LOCK_SH): Drop definition in favor of new
	definitions in newlib.
	(LOCK_EX): Ditto.
	(LOCK_NB): Ditto.
	(LOCK_UN): Ditto.
	(flock): Ditto.
	(F_OK): Drop.  Already correctly defined in unistd.h.
	(X_OK): Ditto.
	(W_OK): Ditto.
	(R_OK): Ditto.

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

	* include/cygwin/config.h (_STDIO_BSD_SEMANTICS): Define as 1.

2014-01-16  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* dtable.h (dtable::lock): Make static.
	(dtable::unlock): Ditto.

2014-01-08  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* exception.h (cygwin_exception::open_stackdumpfile): Move old
	function into class.
	(cygwin_exception::h): New member.
	(cygwin_exception::cygwin_exception): Initialize h to NULL.
	* exceptions.cc (cygwin_exception::open_stackdumpfile): Move into
	cygwin_exception class.  Use 'h' class member.
	(cygwin_exception::dumpstack): Close stack dump file handle if opened.

2014-01-04  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* fhandler.h (cltype): New enum.
	(dev_console::console_attrs): Define struct name.
	(dev_console::console_attrs::set_cl_x): New function.
	(dev_console::console_attrs::set_cl_y): New function.
	(fhandler_console::clear_screen): Redefine input params.
	* fhandler_console.cc: Throughout, reflect change in arguments to
	fhandler_console::clear_screeen.
	(fhandler_console::mouse_aware): Simplify logic slightly.
	(fhandler_console::scroll_screen): Remove hopefully obsolete win95
	code.
	(dev_console::console_attrs::set_cl_x): New function.
	(dev_console::console_attrs::set_cl_y): New function.
	(fhandler_console::clear_screen): Redefine input params.  Calculate
	position based on enum value.
	(region_split): Change arguments.  Simplify.
	(ReadConsoleOutputWrapper): Remove coord argument since we now always
	use 0, 0.  Send extra arguments to region_split.