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: 0c6b6d21b8ac099694b4e28e791bb6847ada0cce (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
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
2014-08-11  Corinna Vinschen  <corinna@vinschen.de>

	* cpuid.h: Add missing copyright header.  Fix formatting.  Use uint32_t
	instead of unsigned throughout.  Change functions to static inline and
	always inline.
	(cpuid): Add parameter to set ecx, allowing to request extended CPUID
	info.
	* fhandler_proc.cc (format_proc_cpuinfo): Use uint32_t instead of
	unsigned throughout.  Add fake decimal places to MHz info.  Handle more
	feature flags.
	* fhandler_random.cc (fhandler_dev_random::write): Allow up to 4K
	input to add entropy.
	* syscalls.cc: Drop including cpuid.h.

2014-08-07  Yaakov Selkowitz  <yselkowi@redhat.com>

	* common.din (__cxa_finalize): Export.
	* dcrt0.cc (cygwin_atexit): Use d->handle with __cxa_atexit.
	* dll_init.cc (dll_list::detach): Use d->handle with __cxa_finalize.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Use 274 for
	__cxa_finalize as well.

2014-08-04  Anthony Heading  <anthony@ajrh.net>

	* include/sys/file.h: Add extern "C".

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

	* common.din (__cxa_atexit): Export.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump to 274.

2014-07-31  Eric Blake  <eblake@redhat.com>

	* include/pthread.h: Decorate attribute names with __, for
	namespace safety.
	* include/cygwin/core_dump.h: Likewise.
	* include/cygwin/cygwin_dll.h: Likewise.
	* include/sys/cygwin.h: Likewise.
	* include/sys/strace.h: Likewise.

2014-07-24  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_socket.cc (fhandler_socket::send_internal): Fix value of
	out_len when tweaking the last buffer so out_len is correct in a
	subsequent if expression.

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

	* thread.cc (pthread::init_mainthread): Initialize thread mutex to
	type PTHREAD_MUTEX_RECURSIVE, just as for any other thread.

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

	* thread.cc (pthread::create): Handle stackaddr as upper bound address.
	Add comment.
	(pthread_attr_setstack): Store upper bound address in stackaddr.
	Explain why.
	(pthread_attr_getstack): Handle stackaddr as upper bound address.
	Add comment.
	(pthread_attr_setstackaddr): Add comment.
	(pthread_attr_getstackaddr): Add comment.
	(pthread_attr_getstacksize): Return default stacksize if stacksize has
	not been set by the application, just as on Linux.  Add comment.
	(pthread_getattr_np): Store upper bound address in stackaddr.  Explain
	why.
	* include/pthread.h: Remove outdated comment.
	(pthread_attr_getstackaddr): Mark as deprecated, as on Linux.
	(pthread_attr_setstackaddr): Ditto.

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

	* sigproc.cc (sigproc_init): Set aside more buffer space for signal
	pipes.
	(sig_send): Retry WriteFiles which fail when there is no error but
	packbytes have not been sent.

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

	* sigproc.cc (send_sig): Don't report an error if WriteFile succeeds.

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

	* sigproc.cc (send_sig): Fix bad format in diagnostic output.

2014-07-14  Yaakov Selkowitz  <yselkowitz@cygwin.com>

	* thread.cc (pthread_mutex::pthread_mutex): Change default type
	to PTHREAD_MUTEX_NORMAL.
	(pthread_mutex::unlock): Return EPERM if the mutex has no owner and
	the mutex type is PTHREAD_MUTEX_ERRORCHECK, as on Linux.
	(pthread_mutexattr::pthread_mutexattr): Ditto.
	(pthread_mutex_unlock): Do not fail if mutex is a normal mutex
	initializer.
	* include/pthread.h (PTHREAD_MUTEX_INITIALIZER): Redefine as
	PTHREAD_NORMAL_MUTEX_INITIALIZER_NP.

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

	* thread.cc (pthread::create): Use PTHREAD_DEFAULT_STACKSIZE stacksize
	if attr.stacksize is 0.
	(pthread_attr::pthread_attr): Initialize stacksize to 0 to align more
	closely to Linux.
	(pthread_attr_getstack): Fix incorrect stackaddr computation.  Return
	stackaddr just like pthread_attr_getstackaddr.  Remove slightly off
	comment.
	(pthread_attr_getstackaddr): Remove slightly off comment.
	(pthread_getattr_np): Return stackaddr and stacksize based on the full
	allocated stackarea.

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

	* exceptions.cc (exception::myfault_handle): Rephrase comment.

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

	* exceptions.cc (exception::myfault_handle): Fix typo in comment.

2014-07-07  Corinna Vinschen  <corinna@vinschen.de>

	* exceptions.cc (exception::myfault_handle): Disable handling
	STATUS_STACK_OVERFLOW.  Explain why.

2014-07-07  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_socket.cc (fhandler_socket::send_internal): Improve loop to
	write streams in chunks of wmem() bytes to raise performance when
	writing small buffers.  Rename variables and add comments to help
	understanding the code in years to come.

2014-07-07  Corinna Vinschen  <corinna@vinschen.de>

	* libc/minires.c (minires_dprintf): Change "Minires" to "Resolv" to
	differ from external minres lib.
	(res_nquerydomain): Fix off-by-one in domain concatenation.  Add debug
	output.

2014-07-03  Corinna Vinschen  <corinna@vinschen.de>

	* fhandler_disk_file.cc (fhandler_disk_file::fstatvfs): Add debug
	output.

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

	* spawn.cc (find_exec): Initialize err (CID 60111).
	* strace.cc (strace::activate): Fix potential buffer overrun (CID 59938)
	* syscalls.cc (popen): Close parent pipe descriptor via fclosing fp on
	error to avoid resource leak (CID 59981).
	* thread.cc (pthread::exit): Avoid accessing cygtls member after
	deleting "this" (CID 60217).

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

	* select.cc (start_thread_socket): Delete si on early return in case of
	an error (CID 59967).

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

	* regex/regcomp.c (computematchjumps): Free local memory in case of
	error (CID 59975).

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

	* mount.cc (fs_info::update): Define dir in the outermost scope to avoid
	accessing out-of-scope value (CID 60027).  Always initialize attr to
	upath (CID 60113).

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

	* malloc_wrapper.cc (mallinfo): Initialize m if external malloc is used,
	too (CID 60120).

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

	* localtime.cc (tzload): Fix leaking memory (CID 60001).

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

	* exceptions.cc (try_to_debug): Free environment pointer when not used
	anymore (CID 59968).

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

	* net.cc (cygwin_getaddrinfo): Fix value of hint->ai_addrlen on 64 bit.
	Explain why.

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

	* environ.cc (regopt): Allocate small local buffer to avoid copying
	twice.  Fixes resource leak (CID 60012).  Add comment.

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

	* dll_init.cc (dll_list::alloc): Fix buffer overrun (CID 59940).

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

	* dcrt0.cc (insert_file): Fix resource leaks (CIDs 59987, 59988).

2014-06-17  David Stacey  <drstacey@tiscali.co.uk>

	* libc/rexec.cc (cygwin_rexec): Make ahostbuf static to avoid returning
	an out-of-scope address.

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

	* fhandler_socket.cc (fhandler_socket::evaluate_events): Call
	WSASetLastError after setsockopt.  Explain why.

2014-06-16  Denis Excoffier  <cygwin@Denis-Excoffier.org>

	* grp.cc (getgrouplist): Fix setting ngroups to make sure to return
	the right value.

2014-06-05  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* timer.cc (timer_tracker::cancel): Demote api_fatal to system_printf,
	printing more details about odd failure condition.

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

	* gmon.h: Pull in profile.h.  Explain why.

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

	* libc/bsdlib.cc (forkpty): Close master and slave if fork fails to
	avoid resource leak (CID 59997).
	* libc/fts.c: Update to FreeBSD version 1.39 (CID 59947).
	* libc/minires.c (minires_get_search): Fix out-of-bounds read from
	words array (CID 59937).

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

	* flock.cc (delete_lock_in_parent): Use LIST_FOREACH_SAFE to avoid
	dereferencing freed pointer (CID 60224).

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

	* fhandler_procsysvipc.cc (format_procsysvipc_msg): Rearrange code to
	avoid resource leakage (CID 60002).  Don't use tmp_pathbuf, explain why.
	Fix indentation.
	(format_procsysvipc_sem): Ditto.
	(format_procsysvipc_shm): Ditto (CID 60003).

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

	* fhandler_process.cc (get_mem_values): Rearrange code slightly to
	avoid resource leakage (CID 59973).
	(format_process_stat): Drop temporary variable wcmd and avoid
	string copy without length check (CID 60050).
	(format_process_status): Ditto (CID 60051).

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

	* fhandler_proc.cc (format_proc_swaps): Use tmp_pathbuf for filename,
	rather than allocating and forgetting to free (CID 59982).

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

	* fhandler_floppy.cc (fhandler_dev_floppy::get_drive_info): Fix floppy
	drive handling broken with 1.7.19.  

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

	* scandir.cc (scandir): Assume namelist is always valid, per POSIX.
	(CID 60021).
	* sec_auth.cc (cygwin_logon_user): Securely erase password copy.
	(lsaprivkeyauth): Avoid trying to dereference data if no key is stored
	in the registry (CID 60122).  Securely erase passwords after usage.

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

	* pseudo-reloc.cc (__report_error): Raise size of module name buffer to
	PATH_MAX.  Fix length in call to GetModuleFileNameW (CID 59947).

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

	* net.cc (call_gaa): Fix setting pa_ret pointer in case of an error
	from GetAdaptersAddresses (CID 60218).
	(get_ifs): Add missing braces in AF_INET6 case which broke netmask
	computation.  Break out of loop if prefix gets <= 0 (CID 59939).

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

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

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

	* dtable.cc (handle_to_fn): Fix length parameter in call to
	QueryDosDeviceW (CID 59936).

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

	* pinfo.cc (pinfo_basic::pinfo_basic): Fix size of progname array in
	call to GetModuleFileNameW (CID 59935).

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

	* smallprintf.cc (__small_vsprintf): Add missing break in 'C' case.

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

	* exceptions.cc (try_to_debug): Fix size of dbg_cmd (CID 59929).

2014-05-18  David Stacey  <drstacey@tiscali.co.uk>

	* syscalls.cc (getusershell): Fix buffer overrun (Coverity ID 59932).

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

	* fhandler_socket.cc (fhandler_socket::ioctl): Handle the different
	ideas of u_long between Winsock and Cygwin applications on x86_64.
	Add long comment.

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

	* signal.cc (sigprocmask): Fix strace output to include "how".

	* fhandler_console.cc (dev_console::save_restore): Only save current
	dwEnd line rather than the one after that.

2014-05-05  Corinna Vinschen  <corinna@vinschen.de>

	* net.cc (cygwin_getsockopt): Rearrange code slightly and handle
	TCP_NODELAY just like SO_KEEPALIVE and SO_DONTROUTE.

2014-05-03  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* spawn.cc (av::setup): Eat trailing whitespace on #! script.

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

	* fhandler_dsp.cc (ioctl): Use _ioctl for recursive call.

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

	* DevNotes: Add entry cgf-000026.
	* fhandler.h (fhandler_console::save_top): Save top of screen
	coordinates.
	* fhandler_console.cc (dev::save_restore): Record top of screen
	coordinates.  Clear entire buffer when restoring saved buffer and try
	to position the cursor on the save relative place on the screen.

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

	* syscalls.cc (NT_TRANSACTIONAL_ERROR): Cover all status codes up to
	STATUS_TRANSACTION_NOT_ENLISTED.

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

	* fhandler_socket.cc: On x86_64, define u_long as __ms_u_long before
	including the windows headers.  Explain why.
	(get_inet_addr): Convert ANY address to LOOPBACK address.  Explain why.
	(fhandler_socket::evaluate_events): Forcibly set SO_ERROR socket option
	in case a connection attempt failed.  Explain why.
	(fhandler_socket::ioctl): Drop x86_64 re-definition of u_long here.
	* fhandler_procnet.cc: On x86_64, define u_long as __ms_u_long before
	including the windows headers.  Explain why.
	* net.cc: Ditto.

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

	* miscfuncs.cc (check_iovec): Allow 0 as valid iovcnt value.

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

	* winf.cc (linebuf::fromargv): Temporarily revert patch from 2014-01-24.

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

	* cygtls.h (TP_NUM_C_BUFS): Raise to 50 to allow SYMLOOP_MAX recursions
	path_conv <-> normalize_posix_path, plus a bit of buffer.
	(TP_NUM_W_BUFS): Ditto.
	(class san): Change type of _c_cnt and _w_cnt to unsigned.
	* path.cc (normalize_posix_path): Guard recursion into path_conv
	against tmp_pathbuf overflow.  Generate normalized path in call to
	path_conv.  If the path is valid, replace dst with the normalized_path
	from path_conv call.  Add comment to explain why we're doing this.
	* tls_pbuf.cc (tls_pathbuf::destroy): Only free buffers until the
	first buffer pointer is NULL.
	(tmp_pathbuf::c_get): Simplify error message.
	(tmp_pathbuf::w_get): Ditto.
	* tls_pbuf.h (class tmp_pathbuf): Change type of c_buf_old and w_buf_old
	to unsigned.
	(tmp_pathbuf::check_usage): New inline method to check if we have
	enough tmp_pathbuf buffers left to call a function using tmp_pathbuf
	buffers.
	* tlsoffsets.h: Regenerate.
	* tlsoffsets64.h: Regenerate.

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

	* net.cc (cygwin_setsockopt): Ignore IPV6_TCLASS the same way as IP_TOS.

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

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

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

	* cygwin.sc.in: (Temporarily?) workaround serious ld bug which
	truncates symbols in certain computations to 32 bit.  See
	https://sourceware.org/bugzilla/show_bug.cgi?id=16821

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

	* exceptions.cc (exception::myfault_handle): Only handle the minimum
	amount of exceptions the myfault handler was designed for.

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

	* cygserver_ipc.h (ipc_set_proc_info): Add bool parameter to specify
	whether or not to send signal_arrived. 
	* shm.cc (client_request_shm::client_request_shm): Call
	ipc_set_proc_info with bool parameter set to true to not send
	signal_arrived.

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

	* ntea.cc (EA_BUFSIZ): Fix comment.
	(read_ea): Use tmp_pathbuf for local buffer rather than alloca.
	Throughout change ZwQueryEaFile to NtQueryEaFile in comments.

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

	* ntea.cc (EA_BUFSIZ): Reduce to 64K.  Add comment to explain why.

2014-03-29  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* DevNotes: Add entry cgf-000025.
	* exceptions.cc (_cygtls::signal_debugger): Reorganize to avoid
	contacting the debugger if we have already done so via the exception
	handler.  Eliminate need for goto.  Remove an ifdef in favor of just
	allocating a larger buffer.

2014-03-28  Corinna Vinschen  <corinna@vinschen.de>

	* dcrt0.cc (dll_crt0_0): Install myfault exception handler on x86_64.
	* exception.h (exception_list): Typedef as void on x86_64.
	(exception::handler_installed): Remove.
	(exception::handle_while_being_debugged): Remove.
	(exception::myfault_handle): Declare for x86_64.
	(exception::handle): Declare as ordinary exception handler on x86_64
	as well.
	(exception::exception): Drop previous code (again).  Install
	exception::handle as SEH handler.
	(exception::install_myfault_handler): New x86_64-only method to
	install exception::myfault_handle as VEH handler.  Explain why.
	(exception::~exception): For x86_64, define frame end label (again).
	* exceptions.cc (CYG_EXC_CONTINUE_EXECUTION): Drop definition.
	(CYG_EXC_CONTINUE_SEARCH): Ditto.
	(exception::myfault_handle): New x86_64-only method, VEH handler to
	handle myfault exceptions.
	(exception::handle): Define as ordinary exception handler on x86_64
	as well.  Use ExceptionContinueExecution and ExceptionContinueSearch
	throughout instead of deleted Cygwin macros.  Don't handle myfault
	exceptions on x86_64.

2014-03-28  Corinna Vinschen  <corinna@vinschen.de>

	* sec_auth.cc (create_token): Initialize lsa handle to NULL, rather than
	to INVALID_HANDLE_VALUE.
	(lsaauth): Ditto.
	(lsaprivkeyauth): Ditto.
	* setlsapwd.cc (setlsapwd): Don't initialize lsa handle.

2014-03-28  Corinna Vinschen  <corinna@vinschen.de>

	* exceptions.cc (_cygtls::signal_debugger): Move memcpy to copy context
	from incoming siginfo_t to thread_context, too.

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

	* gendef (_sigbe/x86_64): Fix typo in .seh_proc pseudo-op.
	(setjmp/x86_64): Drop storing ExceptionList pointer in jmp_buf->Frame.
	Drop comment.  Store likely frame in rdx.  Jump to __setjmpex.
	(__setjmpex): New function providing setjmp functionality.  Fetch
	jmp_buf->Frame from rdx, like MSVCRT setjmpex.
	(__sjfault/x86_64): Store rdx content in jmp_buf->Frame.
	(__ljfault/x86_64): Don't restore ExceptionList pointer.
	(longjmp/x86_64): Ditto.

2014-03-19  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* fhandler_dsp.cc (fhandler_dev_dsp::ioctl): Actually pass ioctl
	argument to _ioctl.

2014-03-19  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* fhandler.h (fhandler_dev_dsp): Remove variable names from
	declarations.
	(fhandler_dev_dsp::close_audio_in): Make __reg1.
	(fhandler_dev_dsp::close_audio_out): Make __reg2.
	* fhandler_dsp.cc (fhandler_dev_dsp::close_audio_in): Make __reg1.
	(fhandler_dev_dsp::close_audio_out): Make __reg2.
	(fhandler_dev_dsp::close): Don't abruptly terminate sound just because
	we are exiting.

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

	* exception.h (exception::handle_while_being_debugged): Declare.
	(exception::exception): Install unhandled exception filter.
	* exceptions.cc (exception::handle_while_being_debugged): New method.

2014-03-18  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* fhandler_dsp.cc (fhandler_dev_dsp::fixup_after_fork): Actually call
	_fixup_after_fork rather than looping forever.
	(fhandler_dev_dsp::fixup_after_exec): Ditto.

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

	Partially revert patch from 2014-03-04.
	* exception.h (exception::handler_installed): Declare.
	(exception::exception): Install vectored exception handler on x86_64.
	(exception::~exception): Remove for x86_64.
	* exceptions.cc (exception::handler_installed): Define.

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

	* sigproc.h (no_thread_exit_protect): New class.
	* sigproc.cc (thread_exit): Use no_thread_exit_protect to determine if
	we need to coordinate ThreadExit/ExitProcess.
	* fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::stop): Use
	no_thread_exit_protect to kludge around waiting for waveOutClose as it
	waits for a thread that never exits.
	(fhandler_dev_dsp::Audio_in::stop): Ditto for waveInClose.

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

	* fhandler.h (fhandler_dev_dsp::base): New method.
	(fhandler_dev_dsp::_read): Ditto.
	(fhandler_dev_dsp::_write): Ditto.
	(fhandler_dev_dsp::_ioctl): Ditto.
	(fhandler_dev_dsp::_fixup_after_fork): Ditto.
	(fhandler_dev_dsp::_fixup_after_exec): Ditto.
	* fhandler_dsp.cc (fhandler_dev_dsp::read): Call real function via
	base() pointer.
	(fhandler_dev_dsp::write): Ditto.
	(fhandler_dev_dsp::ioctl): Ditto.
	(fhandler_dev_dsp::fixup_after_fork): Ditto.
	(fhandler_dev_dsp::fixup_after_exec): Ditto.
	(fhandler_dev_dsp::_read): Rename by adding an leading underscore.
	(fhandler_dev_dsp::_write): Ditto.
	(fhandler_dev_dsp::_ioctl): Ditto.
	(fhandler_dev_dsp::_fixup_after_fork): Ditto.
	(fhandler_dev_dsp::_fixup_after_exec): Ditto.

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

	* include/cygwin/socket.h (IPV6_JOIN_GROUP): Revert.
	(IPV6_LEAVE_GROUP): Ditto.

2014-03-10  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* fhandler.h (dev_console::b): Redefine as CONSOLE_SCREEN_BUFFER_INFO
	for use with older OS.
	* fhandler_console.cc (dev_console::fillin): Ditto for
	GetConsoleScreenBufferInfo.

2014-03-10  Christopher Faylor  <me.cygwin2014@cgf.cx>

	* fhandler_console.cc (dev_console::save_restore): Save entire line of
	current cursor position.

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

	* fhandler_console.cc (fhandler_console::save_restore): Save only until
	last written row and, because of this, don't bother trying to restore
	the screen buffer size.  Set cursor position after refilling buffer.
	(fhandler_console::write): Use absolute paths when saving/restoring
	cursor position or suffer odd problems after a saved screen is
	restored.

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

	* fhandler.h (fhandler_console::dwBufferSize): Delete.
	(fhandler_console::dwCursorPosition): Ditto.
	(fhandler_console::wAttributes): Ditto.
	(fhandler_console::b): New field encompassing previously disparate
	screen buffer info.
	(fhandler_console::save_bufsize): Rename from savebufsiz
	(fhandler_console::save_buf): Rename sfrom savebuf.
	(fhandler_console::save_cursor): New field.
	(fhandler_console::save_restore): New function.
	(fhandler_console::con): Rename from dev_state.
	(fhandler_console::focus_aware): Accommodate name change.
	* fhandler_console.cc: Use 'b' field of dev_console throughout instead
	of disparate names.  Accommodate dev_state -> con rename.
	(dev_state:save_restore): New function.  Attempt to save the entire
	screen buffer rather than just the visible part.  Clear the buffer when
	saving, like Linux.
	(fhandler_console::char_command): Use con.save_restore() for
	Save/restore screen sequence.

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

	* sigproc.cc (_cygtls::remove_wq): Reset thread_ev inside of lock.  Set
	to NULL when done.

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

	* fhandler_console.cc (fhandler_console::char_command): Properly use
	calculated value rather than directly using dev_state.args[0].

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

	* dir.cc (opendir): Propagate any errno from build_fh_name.

2014-03-05  Corinna Vinschen  <corinna@vinschen.de>

	* include/cygwin/config.h (__TM_GMTOFF): Define.
	(__TM_ZONE): Define.

2014-03-05  Corinna Vinschen  <corinna@vinschen.de>

	* localtime.cc: Define TM_GMTOFF and TM_ZONE based on __TM_GMTOFF and
	__TM_ZONE being defined.  Throughout, write to these struct tm members
	only if CYGWIN_VERSION_CHECK_FOR_EXTRA_TM_MEMBERS is true.
	* libc/strptime.cc: Ditto.
	* include/cygwin/version.h (CYGWIN_VERSION_CHECK_FOR_EXTRA_TM_MEMBERS):
	Define.
	(CYGWIN_VERSION_API_MINOR): Bump to 272.

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

	* exception.h (exception::handler_installed): Remove.
	(exception::exception): Remove old code.  Manually install SEH handler
	instead.
	(exception::~exception): For x86_64, define frame end label.
	* exceptions.cc (exception::handler_installed): Remove.

2014-03-03  Corinna Vinschen  <corinna@vinschen.de>

	* exception.h (exception::exception): Install vectored exception
	handler rather than vectored continue handler.

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

	* fhandler.h (fhandler_console::scroll_buffer_screen): New function.
	* fhandler_console.cc (fhandler_console::scroll_buffer_screen): New function.
	(fhandler_console::char_command): Use scroll_buffer_screen as appropriate.
	(dev_console::scroll_buffer): Remove if 0'ed block.

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

	* external.cc (cygwin_internal): Add cases for CW_GETPWSID and
	CW_GETGRSID.
	* include/sys/cygwin.h (cygwin_getinfo_types): Add CW_SETENT, CW_GETENT,
	CW_ENDENT, CW_GETNSSSEP, CW_GETPWSID and CW_GETGRSID.

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

	* dev_console::scroll_buffer): Reinstate clipping region.

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".

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-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-11  Christopher Faylor  <me.cygwin2014@cgf.cx>

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

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>

	* 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  Christopher Faylor  <me.cygwin2014@cgf.cx>

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

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.
	* 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.