Commit Graph

8364 Commits

Author SHA1 Message Date
Corinna Vinschen 92596190c4 * autoload.cc (MsgWaitForMultipleObjectsEx): Define.
(MsgWaitForMultipleObjects): Remove.
	* select.cc (select_stuff::wait): Use MsgWaitForMultipleObjectsEx with
	QS_ALLPOSTMESSAGE and, if possible, MWMO_INPUTAVAILABLE flags.  Explain
	why.  Fix a potential crash due to a NULL pointer in WAIT_FAILED case.
	(peek_windows): Use filter pattern on NT4.  Explain why.
	* wincap.h (wincaps::has_mwmo_inputavailable): New element.
	* wincap.cc: Implement above element throughout.
2010-08-30 10:39:43 +00:00
Christopher Faylor 98edb049e4 add missing file 2010-08-30 02:09:30 +00:00
Christopher Faylor 92117cb21f * winlean.h: New file.
* automode.c: Use "winlean.h".
* binmode.c: Ditto.
* gmon.c: Ditto.
* textmode.c: Ditto.
* textreadmode.c: Ditto.
* winsup.h: Ditto.
* lib/cygwin_attach_dll.c: Ditto.
* lib/dll_main.cc: Ditto.
* profile.c: Ditto.
* crt0.c: Ditto.  Cleanup ancient cruft.  Add dummy calls to cygwin_premain*.
* include/sys/cygwin.h: Remove old stuff.  Move premain declarations nearer to
other cygwin-specific function declarations.
* globals.cc: Add comment.
2010-08-30 01:57:37 +00:00
Corinna Vinschen 552bc28f46 * ldh.cc (WinMain): Change DONT_RESOLVE_DLL_REFERENCES to
LOAD_WITH_ALTERED_SEARCH_PATH.
2010-08-28 12:12:53 +00:00
Corinna Vinschen 9bf2a8a84a * new-features.sgml (ov-new1.7.7): Document change to avoid DLL
hijacking.
2010-08-28 11:36:43 +00:00
Corinna Vinschen 71d8f118da * loadlib.h: New header implementing safe LoadLibrary calls.
Include throughout files using LoadLibrary function.
	* cygcheck.cc (dump_sysinfo): Retrieve kernel32.dll handle via
	GetModuleHandle, rather than using LoadLibrary.
	* cygpath.cc (get_long_name): Ditto.
	(do_sysfolders): Append .dll suffix in LoadLibrary call.
	* ldh.cc (WinMain): Use LoadLibraryExW with DONT_RESOLVE_DLL_REFERENCES
	to avoid loading malicious library code.
	* locale.cc (print_locale_with_codeset): Change way to retrieve
	kernel32.dll path.
2010-08-28 11:22:37 +00:00
Corinna Vinschen 893a8b78fc * autoload.cc (LoadDLLprime): Change dllname storage to string16.
(struct dll_info): Convert name to WCHAR.
	(std_dll_init): Load DLLs with full path to windows system directory.
	Add hint to Microsoft security advisory.
	* dcrt0.cc (init_windows_system_directory): New function.
	(dll_crt0_0): Call init_windows_system_directory first.
	* exceptions.cc (windows_system_directory): Move to globals.cc.
	(windows_system_directory_length): Ditto.
	(events_init): Drop code fetching windows_system_directory.
	* globals.cc (windows_system_directory): New global variable.
	(windows_system_directory_length): Ditto.
	* net.cc (load_ipv6_funcs): Use windows_system_directory rather than
	GetSystemDirectoryW.
	* netdb.cc (open_system_file): Ditto.  Simplify debug output.
2010-08-28 08:51:21 +00:00
Chris Sutcliffe 657f0e4a14 2010-08-26 Chris Sutcliffe <ir0nh34d@users.sf.net>
* include/w32api.h: Increment version to 3.15.
        * Makefile.in: Ditto.
2010-08-27 23:36:30 +00:00
Chris Sutcliffe d27709722c 2010-08-26 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* Makefile.in: Update naming convention and compression format (lzma),
        leaving existing naming convention and compression format as is for Cygwin.
2010-08-27 21:11:29 +00:00
Corinna Vinschen 6c43f249ac * new-features.sgml (ov-new1.7.7): Change to describe partial
reversion to pre-1.7.6 behaviour.
	(ov-new1.7.6): Deprecate description of CWD handling.
	* pathnames.sgml (pathnames-win32-api): Rewrite to reflect new CWD
	behaviour.
2010-08-27 18:56:28 +00:00
Corinna Vinschen 1121c57f54 * external.cc (sync_wincwd): Remove.
(cygwin_internal): Drop CW_SYNC_WINCWD case.
	* globals.cc (ro_u_pipedir): New R/O unicode string.
	* ntdll.h (RtlSetCurrentDirectory_U): Declare.
	* path.cc (cwdstuff::set): Improve comments.  Drop setting Win32 CWD to
	\\?\PIPE\ on init.  Keep Win32 CWD in sync, if possible.  Set to
	\\?\PIPE\ otherwise.
	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Revert to 230.
	* include/sys/cygwin.h (cygwin_getinfo_types): Remove CW_SYNC_WINCWD.
2010-08-27 17:58:45 +00:00
Corinna Vinschen 1165007539 * fhandler_proc.cc (format_proc_partitions): Improve comment. 2010-08-27 09:08:32 +00:00
Corinna Vinschen 708bbfd08e * cygpath.cc (get_device_name): Prefer the \\.\X: DOS device for
harddisks, if available.
2010-08-26 12:06:27 +00:00
Corinna Vinschen 46059af75c * fhandler_proc.cc (format_proc_partitions): Simplify code and enable
partition layout printing for non-privileged users.
2010-08-26 10:59:13 +00:00
Chris Sutcliffe ec7bb66c7a 2010-08-25 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/oleacc.h (STATE_SYSTEM_HASPOPUP, STATE_SYSTEM_NORMAL,
        STATE_SYSTEM_PROTECTED): Define.

        Thank you to Marcus von Appen for reporting the issue.
2010-08-26 03:06:09 +00:00
Chris Sutcliffe 465ad88a27 2010-08-25 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/winuser.h (CF_DIBV5): Define.
        (CF_MAX): Adjust accordingly.

        Thank you to Lenard Lindstrom for reporting the issue.
2010-08-26 02:51:37 +00:00
Chris Sutcliffe 2cb94d2ba4 2010-08-25 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/sspi.h (QuerySecurityContextToken): Define.
        * lib/secur32.def: Regenerate using gendef on a Win7 machine.

        Thank you to Magnus Hagander for reporting the issue.
2010-08-26 02:42:31 +00:00
Chris Sutcliffe 8ea817cb14 2010-08-25 Ali Sabil <asabil@users.sourceforge.net>
* include/ocidl.h: Define COBJMACROS for IPropertyBag and IPropertyBag2.
2010-08-26 02:13:12 +00:00
Chris Sutcliffe aec4fa1895 2010-08-25 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/shlwapi (ASSOCDATA): Update definition.

        Thank you to Frederic Deschamps for reporting the issue.
2010-08-26 02:05:58 +00:00
Chris Sutcliffe b898a48b69 2010-08-25 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/winbase.h (COPY_FILE_OPEN_SOURCE_FOR_WRITE,
        COPY_FILE_ALLOW_DECRYPTED_DESTINATION, COPY_FILE_COPY_SYMLINK,
        COPY_FILE_NO_BUFFERING): Define.

        Thank you to Roland Schwingel for reporting the issue.
2010-08-26 01:57:46 +00:00
Chris Sutcliffe 8d5dd74cdc Add missing thank you notes. 2010-08-25 23:47:17 +00:00
Chris Sutcliffe 4594048d19 2010-08-25 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/winuser.h (HHOOK): Move definition from here...
        * include/windef.h: ...to here, as per MSDN.
2010-08-25 23:39:29 +00:00
Chris Sutcliffe 0fc2536a69 2010-08-25 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/winbase.h (GetEnvironmentStrings, GetEnvironmentStringsA): Per
        MSDN, change return type to LPCH.
        (GetEnvironmentStringsW): Per MSDN, change return type to LPWCH.
2010-08-25 23:33:14 +00:00
Corinna Vinschen 2f1832898f * mount.cc (fs_info::update): Fix comments. 2010-08-25 09:20:11 +00:00
Corinna Vinschen df70da7f6c * syscalls.cc (rename): Open file with FILE_READ_ATTRIBUTES. 2010-08-25 08:51:41 +00:00
Chris Sutcliffe 58ae62fd94 2010-08-24 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/prsht.h (SNDMDG, POSTMSG): Fix typo.
        * include/windowsx.h (SNDMSG): Ditto.
2010-08-25 01:59:51 +00:00
Chris Sutcliffe 5ec52f06c2 2010-08-24 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/prsht.h (SNDMSG, POSTMSG): Define macros and use throughout.

        Thank you to Ozkan Sezer for reporting the issue.
2010-08-24 23:09:52 +00:00
Chris Sutcliffe fbf44d908a 2010-08-24 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/windowsx.h (SNDMSG): Define macro and use throughout.

        Thank you to Chris Oldwood for reporting the issue.
2010-08-24 23:03:57 +00:00
Chris Sutcliffe 89a45c6f61 2010-08-24 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/oleacc.h (AccessibleObjectFromEvent): Correct definition.

        Thank you to Rick Walsh for reporting the issue.
2010-08-24 22:41:36 +00:00
Chris Sutcliffe 6d480dc617 2010-08-24 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/winbase.h (MoveFileWithProcessA, MoveFileWithProgressW): Define.
2010-08-24 22:35:39 +00:00
Chris Sutcliffe c7a5ff6c03 2010-08-24 Vinky <rabbit_vinky@users.sourceforge.net>
* include/winbase.h (OVERLAPPED): Correct definition.
2010-08-24 22:25:44 +00:00
Chris Sutcliffe b075ce0ecd 2010-08-24 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/winnt.h (IMAGE_NT_HEADERS32, IMAGE_NT_HEADERS64): Correct
        definition.

        Thank you to Pasi Ruokola for reporting the issue.
2010-08-24 22:20:33 +00:00
Chris Sutcliffe a5791e0e69 2010-08-24 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/exdisp.h (get_RegisterAsBrowser): Fix typo.

        Thank you to cheznonnon for reporting the issue.
2010-08-24 22:10:28 +00:00
Chris Sutcliffe a3a74aa453 2010-08-24 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/ws2_32.def: Regenerate using gendef on a Win7 machine.
2010-08-24 22:05:38 +00:00
Chris Sutcliffe af02b239ea 2010-08-24 Ozkan Sezer <sezero@users.sourceforge.net>
* winnt.h: Fix several SUBLANG ID errors (ref:
        http://msdn.microsoft.com/en-us/library/dd318693(VS.85).aspx).
        (SUBLANG_UI_CUSTOM_DEFAULT): 0x05, not 0x03.
        (SUBLANG_HAUSA_NIGERIA): Bad ID name, correct one is ...
        (SUBLANG_HAUSA_NIGERIA_LATIN): ... this.
        (SUBLANG_INUKTITUT_CANADA_LATIN): 0x02, not 0x01.
        (SUBLANG_IRISH_IRELAND): 0x02, not 0x01.
        (SUBLANG_LAO_LAO_PDR): Bad ID name, correct one is ...
        (SUBLANG_LAO_LAO): ... this.
        (SUBLANG_LOWER_SORBIAN_GERMANY): 0x02, not 0x01.
        (SUBLANG_SAMI_SKOLT_FINLAND): 0x08, not 0x03.
        (SUBLANG_SAMI_INARI_FINLAND): 0x09, not 0x03.
        (SUBLANG_SYRIAC_SYRIA): define as SUBLANG_SYRIAC (what MSDN mentions).
        (SUBLANG_TIGRIGNA_ERITREA): 0x02, not 0x01.
        (SUBLANG_BENGALI_INDIA): 0x01, not 0x00.
        (SUBLANG_BENGALI_BANGLADESH): 0x02, not 0x01.
        (SUBLANG_PUNJABI_INDIA): 0x01, not 0x00.
        (SUBLANG_PUNJABI_PAKISTAN): not defined in MSDN.
        (SUBLANG_ROMANIAN_ROMANIA): 0x01, not 0x00.
        (SUBLANG_ROMANIAN_MOLDOVA): not defined in MSDN.
2010-08-24 21:26:51 +00:00
Chris Sutcliffe 57bcacf206 2010-08-24 LRN <lrn1986@gmail.com>
* include/mmreg.h (MPEGLAYER3WAVEFORMAT, WAVE_FORMAT_UNKNOWN,
        WAVE_FORMAT_PCM, WAVE_FORMAT_ADPCM, WAVE_FORMAT_IEEE_FLOAT,
        WAVE_FORMAT_VSELP, WAVE_FORMAT_IBM_CVSD, WAVE_FORMAT_ALAW,
        WAVE_FORMAT_MULAW, WAVE_FORMAT_OKI_ADPCM, WAVE_FORMAT_DVI_ADPCM,
        WAVE_FORMAT_MEDIASPACE_ADPCM, WAVE_FORMAT_SIERRA_ADPCM,
        WAVE_FORMAT_G723_ADPCM, WAVE_FORMAT_DIGIFIX, WAVE_FORMAT_DIALOGIC_OKI_ADPCM,
        WAVE_FORMAT_MEDIAVISION_ADPCM, WAVE_FORMAT_CU_CODEC,
        WAVE_FORMAT_YAMAHA_ADPCM, WAVE_FORMAT_SONARC,
        WAVE_FORMAT_DSPGROUP_TRUESPEECH, WAVE_FORMAT_ECHOSC1,
        WAVE_FORMAT_AUDIOFILE_AF36, WAVE_FORMAT_APTX, WAVE_FORMAT_AUDIOFILE_AF10,
        WAVE_FORMAT_PROSODY_1612, WAVE_FORMAT_LRC, WAVE_FORMAT_DOLBY_AC2,
        WAVE_FORMAT_GSM610, WAVE_FORMAT_MSNAUDIO, WAVE_FORMAT_ANTEX_ADPCME,
        WAVE_FORMAT_CONTROL_RES_VQLPC, WAVE_FORMAT_DIGIREAL, WAVE_FORMAT_DIGIADPCM,
        WAVE_FORMAT_CONTROL_RES_CR10, WAVE_FORMAT_NMS_VBXADPCM,
        WAVE_FORMAT_ROLAND_RDAC, WAVE_FORMAT_ECHOSC3, WAVE_FORMAT_ROCKWELL_ADPCM,
        WAVE_FORMAT_ROCKWELL_DIGITALK, WAVE_FORMAT_XEBEC, WAVE_FORMAT_G721_ADPCM,
        WAVE_FORMAT_G728_CELP, WAVE_FORMAT_MSG723, WAVE_FORMAT_MPEG,
        WAVE_FORMAT_RT24, WAVE_FORMAT_PAC, WAVE_FORMAT_MPEGLAYER3,
        WAVE_FORMAT_LUCENT_G723, WAVE_FORMAT_CIRRUS, WAVE_FORMAT_ESPCM,
        WAVE_FORMAT_VOXWARE, WAVE_FORMAT_CANOPUS_ATRAC, WAVE_FORMAT_G726_ADPCM,
        WAVE_FORMAT_G722_ADPCM, WAVE_FORMAT_DSAT, WAVE_FORMAT_DSAT_DISPLAY,
        WAVE_FORMAT_VOXWARE_BYTE_ALIGNED, WAVE_FORMAT_VOXWARE_AC8,
        WAVE_FORMAT_VOXWARE_AC10, WAVE_FORMAT_VOXWARE_AC16,
        WAVE_FORMAT_VOXWARE_AC20, WAVE_FORMAT_VOXWARE_RT24,
        WAVE_FORMAT_VOXWARE_RT29, WAVE_FORMAT_VOXWARE_RT29HW,
        WAVE_FORMAT_VOXWARE_VR12, WAVE_FORMAT_VOXWARE_VR18,
        WAVE_FORMAT_VOXWARE_TQ40, WAVE_FORMAT_SOFTSOUND, WAVE_FORMAT_VOXWARE_TQ60,
        WAVE_FORMAT_MSRT24, WAVE_FORMAT_G729A, WAVE_FORMAT_MVI_MV12,
        WAVE_FORMAT_DF_G726, WAVE_FORMAT_DF_GSM610, WAVE_FORMAT_ISIAUDIO,
        WAVE_FORMAT_ONLIVE, WAVE_FORMAT_SBC24, WAVE_FORMAT_DOLBY_AC3_SPDIF,
        WAVE_FORMAT_ZYXEL_ADPCM, WAVE_FORMAT_PHILIPS_LPCBB, WAVE_FORMAT_PACKED,
        WAVE_FORMAT_RHETOREX_ADPCM, WAVE_FORMAT_IRAT, WAVE_FORMAT_VIVO_G723,
        WAVE_FORMAT_VIVO_SIREN, WAVE_FORMAT_DIGITAL_G723,
        WAVE_FORMAT_CREATIVE_ADPCM, WAVE_FORMAT_CREATIVE_FASTSPEECH8,
        WAVE_FORMAT_CREATIVE_FASTSPEECH10, WAVE_FORMAT_QUARTERDECK,
        WAVE_FORMAT_FM_TOWNS_SND, WAVE_FORMAT_BTV_DIGITAL, WAVE_FORMAT_VME_VMPCM,
        WAVE_FORMAT_OLIGSM, WAVE_FORMAT_OLIADPCM, WAVE_FORMAT_OLICELP,
        WAVE_FORMAT_OLISBC, WAVE_FORMAT_OLIOPR, WAVE_FORMAT_LH_CODEC,
        WAVE_FORMAT_NORRIS, WAVE_FORMAT_ISIAUDIO,
        WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS, WAVE_FORMAT_DVM, WAVE_FORMAT_RAW_AAC1,
        WAVE_FORMAT_MPEG_HEAAC, WAVE_FORMAT_MPEG_ADTS_AAC, WAVE_FORMAT_DRM,
        WAVE_FORMAT_DTS, WAVE_FORMAT_WMAVOICE9, WAVE_FORMAT_WMASPDIF,
        WAVE_FORMAT_WMAUDIO_LOSSLESS, WAVE_FORMAT_WMAUDIO2, WAVE_FORMAT_WMAUDIO3,
        WAVE_FORMAT_MPEG_LOAS, WAVE_FORMAT_RAW_SPORT, WAVE_FORMAT_ESST_AC3,
        WAVE_FORMAT_DTS2): Define.
        * include/msacm.h (HACMDRIVERID, HACMDRIVER, HACMSTREAM, HACMOBJ,
        ACMSTREAMHEADER, WAVEFILTER, acmDriverAddA, acmDriverAddW, acmDriverRemove,
        acmMetrics, acmStreamOpen, acmStreamSize, acmStreamPrepareHeader,
        acmStreamUnprepareHeader, acmStreamReset, acmStreamClose, acmStreamConvert):
        Define.
2010-08-24 19:09:50 +00:00
Corinna Vinschen 48f6c6c664 * include/cygwin/version.h: Fix comment. 2010-08-24 15:25:46 +00:00
Corinna Vinschen 8ae578d6ae * external.cc (cygwin_internal): In CW_CVT_MNT_OPTS case, initialize
flags with *pflags to restore original behaviour.
2010-08-24 15:11:24 +00:00
Chris Sutcliffe bfb9c22649 2010-08-23 LRN <lrn1986@gmail.com>
* include/winbase.h (SYMBOLIC_LINK_FLAG_DIRECTORY, FILE_NAME_NORMALIZED,
        FILE_NAME_OPENED, VOLUME_NAME_DOS, VOLUME_NAME_GUID, VOLUME_NAME_NONE,
        VOLUME_NAME_NT, FILE_BASIC_INFO, FILE_STANDARD_INFO, FILE_NAME_INFO,
        FILE_STREAM_INFO, FILE_COMPRESSION_INFO, FILE_ATTRIBUTE_TAG_INFO,
        FILE_ID_BOTH_DIR_INFO, FILE_REMOTE_PROTOCOL_INFO, FILE_INFO_BY_HANDLE_CLASS,
        GetFileInformationByHandleEx, GetFinalPathNameByHandleA,
        GetFinalPathNameByHandleW): Define.
2010-08-24 00:15:51 +00:00
Corinna Vinschen 16e1c98c1b * ldd.cc (report): Drop long pathname considerations which result in
invalid path, now that this is done in cygwin_conv_path.
2010-08-23 11:04:04 +00:00
Chris Sutcliffe 59ecc5766c 2010-08-22 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/CheckConflicts.sh: New file.
2010-08-22 04:03:33 +00:00
Chris Sutcliffe f6ce088fb3 2010-08-21 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/kernel32.def (CopyLZFile, GetExpandedNameA, GetExpandedNameW, LZClose,
        LZCopy, LZInit, LZOpenFileA, LZOpenFileW, LZRead, LZSeek, OpenProcessToken,
        OpenThreadToken, RegCloseKey, RegCreateKeyExA, RegCreateKeyExW,
        RegDeleteKeyExA, RegDeleteKeyExW, RegDeleteValueA, RegDeleteValueW,
        RegEnumKeyExA, RegEnumKeyExW, RegEnumValueA, RegEnumValueW, RegFlushKey,
        RegGetKeySecurity, RegLoadKeyA, RegLoadKeyW, RegNotifyChangeKeyValue,
        RegOpenCurrentUser, RegOpenKeyExA, RegOpenKeyExW, RegOpenUserClassesRoot,
        RegQueryInfoKeyA, RegQueryInfoKeyW, RegQueryValueExA, RegQueryValueExW,
        RegRestoreKeyA, RegRestoreKeyW, RegSetKeySecurity, RegSetValueExA,
        RegSetValueW, RegUnLoadKeyA, RegUnLoadKeyW, RtlCaptureStackBackTrace,
        RtlFillMemory, RtlMoveMemory, RtlZeroMemory, SetThreadToken): Remove
        conflicting definition.
        * lib/th32.def: Remove.
        * lib/ntdll.def (RtlUnwind): Remove conflicting definition.
        * lib/version.def (VerLanguageNameA, VerLanguageNameW): Remove conflicting
        definition.
2010-08-22 03:52:59 +00:00
Chris Sutcliffe 387589c4a4 2010-08-21 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/kernel32.def (CreateProcessAsUserW): Remove definition.
2010-08-21 19:21:33 +00:00
Corinna Vinschen 43c394deb6 * Makefile.in (DLL_IMPORTS): Link against advapi32.a before kernel32.a. 2010-08-21 18:57:36 +00:00
Christopher Faylor ff7fca61df * cygthread.cc: Update copyright. 2010-08-20 15:28:28 +00:00
Corinna Vinschen a6fc3a61c2 * path.cc (path_conv::check): Close handle in conv_handle if we're
following a symlink.
2010-08-20 14:29:56 +00:00
Corinna Vinschen 74f50846a9 * endian.h (htobe16, htobe32, htobe64, be16toh, be32toh, be64toh,
htole16, htole32, htole64, le16toh, le32toh, le64toh): Define.
2010-08-20 12:18:47 +00:00
Corinna Vinschen a6c83569dc * fhandler_disk_file.cc (readdir_check_reparse_point): Rename from
is_volume_mountpoint.  Return valid d_type value for underlying
	reparse point type.
	(readdir_get_ino): Don't rely on the handle set in pc.check.  Open
	file here if pc.handle() is NULL.
	(fhandler_disk_file::readdir_helper): Try to set a correct d_type value
	more diligent.
	(fhandler_disk_file::readdir): Don't reset dirent_set_d_ino unless
	we're really sure it's due to an untrusted FS.  Simplify usage of
	FileAttributes, which is 0 if buf is NULL, anyway.  Set d_type
	correctly for faked "." and ".." entries.  Improve debug output.
	* path.cc (symlink_info::check): Don't keep handle to volume mount
	point open.  Explain why.
2010-08-20 11:18:58 +00:00
Corinna Vinschen dd442880af * fhandler_disk_file.cc (fhandler_disk_file::fstatvfs): Revert usage
of get_stat_handle () to get_handle ().  Add comment to explain why.
	* syscalls.cc (statvfs): Drop using PC_KEEP_HANDLE.
2010-08-20 08:52:25 +00:00
Chris Sutcliffe fb20493f3d 2010-08-20 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/kernel32.def: Regenerate using gendef on a Win7 machine.
2010-08-20 04:14:18 +00:00
Corinna Vinschen e8c4b3427c * include/winnt.h: Define FILE_ATTRIBUTE_VIRTUAL. Change
FILE_ATTRIBUTE_VALID_FLAGS accordingly.
	* include/ddk/winddk.h: Ditto.
2010-08-19 16:08:56 +00:00
Corinna Vinschen f43eed1c08 * new-features.sgml (ov-new1.7.7): New section.
* pathnames.sgml: Throughout, align style of screen elements.
	Throughout, make all emphasis elements bold.
	(pathnames-win32-api): Rewrite section.
2010-08-19 10:35:25 +00:00
Corinna Vinschen e652eb9230 * external.cc (sync_wincwd): New function.
(cygwin_internal): Rename CW_SETCWD to CW_SYNC_WINCWD.  Call
	sync_wincwd from here.
	* include/sys/cygwin.h (cygwin_getinfo_types): Rename CW_SETCWD to
	CW_SYNC_WINCWD.
2010-08-19 10:14:31 +00:00
Chris Sutcliffe 1087b2462f 2010-08-18 Ladislav Michl <ladis@users.sourceforge.net>
* include/winbase.h (SYMBOLIC_LINK_FLAG_DIRECTORY, CreateSymbolicLinkW,
        CreateSymbolicLinkA, CreateSymbolicLink): Define
2010-08-18 23:34:08 +00:00
Christopher Faylor 590ad4793f * external.cc (CW_SETCWD): New option.
* include/cygwin/version.h: Bump api minor to 231.
* include/sys/cygwin.h (CW_SETCWD): Define.
2010-08-18 19:15:37 +00:00
Corinna Vinschen 6a84234cd2 * pathnames.sgml (pathnames-win32-api): Try to use a more clear wording. 2010-08-18 15:28:15 +00:00
Corinna Vinschen ce9898da68 * syscalls.cc (rename): Fix renaming file-based devices. 2010-08-18 15:21:35 +00:00
Corinna Vinschen 75a3b85877 * exceptions.cc (open_stackdumpfile): Don't try to open file if we
have no filesystem based CWD.  Add comment.
	* path.cc (cwdstuff::set): Set CWD handle to NULL if CWD is a virtual
	path.  Simplify matching comment.
2010-08-18 14:22:07 +00:00
Corinna Vinschen d15ed91c04 * fhandler_disk_file.cc (fhandler_base::fstat_helper): Set st_rdev
to correct device number for fs_special devices.
2010-08-18 10:10:14 +00:00
Keith Marshall 0f0a0b7361 Make PATH_MAX consistent with MAX_PATH 2010-08-17 21:18:21 +00:00
Corinna Vinschen adb4e0f3de * include/cygwin/version.h: Bump DLL minor version number to 6. 2010-08-16 13:41:19 +00:00
Corinna Vinschen f5a51f9187 * pipe.cc (fhandler_pipe::open): Duplicate content of opened pipe
fhandler before calling dup method.
2010-08-14 11:16:09 +00:00
Corinna Vinschen 5578c33733 * mount.cc (from_fstab): Fix potentially fatal typo. 2010-08-13 19:10:22 +00:00
Corinna Vinschen a016fed8ba * faq-programming.xml (faq.programming.win32-api): Remove simplicity.
Add note and xrefs to User's Guide chapters explaining restrictions
	using the Win32 API.
	* new-features.sgml (ov-new1.7.6): Add note about Win CWD.
	* overview2.sgml (ov-hi-intro): Add note and xrefs about Win32 API
	restrictions.  Tone down flexibility.
	* pathnames.sgml (pathnames-intro): Add xref to pathnames-win32-api
	section.
	(pathnames-win32-api): New section describing Win32 CWD restriction.
	* setup2.sgml (setup-env-ov): New sub-section.
	(setup-env-win32): Ditto, describing Win32 environment restriction.
2010-08-13 11:52:13 +00:00
Corinna Vinschen 260b80740e * cygheap.h (class cwdstuff): Make drive_length private.
Add "error" member.
	(cwdstuff::get_error): New inline method.
	(cwdstuff::get_error_desc): Declare.
	(cwdstuff::set): Change first parameter to pointer to path_conv.
	* path.cc (chdir): Drop doit.  Align call to cwdstuff::set to
	new arguments.
	(cwdstuff::init): Only call cwdstuff::set if it's not already
	initialized.  Add comment.  Drop third parameter in call to
	cwdstuff::set.
	(cwdstuff::set): Partially rewrite.  Add lots of comments to explain
	everything.  Drop "doit" since it's not used anymore.  Always create
	new handle to CWD if not in a virtual path.  Drop PEB locking when
	reading PEB values in init phase.  Check for accessibility to set
	correct error code.  Drop Vista workaround.  Never write back into PEB.
	Set Win32 CWD to \\?\PIPE\ on init.  Simplify creation of win32 path.
	Set new error member to a meaningful value.
	(cwdstuff::get_error_desc): New method to generate error message
	from cwd error code.
	* spawn.cc (spawn_guts): Call cwdstuff::get_error_desc to create
	more meaningful error message when not being able to start native
	Win32 app due to CWD restrictions.  When starting native Win32 app,
	lock cwd and use in calls to CreateProcessW/CreateProcessAsUserW.
2010-08-13 11:51:54 +00:00
Corinna Vinschen 841003a9b3 * new-features.sgml (ov-new1.7.6): Document "bind" option.
* pathnames.sgml (mount-table): Add "bind" option with example.
2010-08-11 11:12:10 +00:00
Corinna Vinschen 68a178b37c * mount.cc (do_mount): Don't treat "bind" mount as remote mount.
(mount_entries): Drop the "bind" option from output.
	* utils.sgml (mount): Match examples to actual mount output.  Add
	"bind" option and add example.
2010-08-11 11:01:14 +00:00
Corinna Vinschen a5fe426282 * mount.cc (struct opt): Add "bind" option.
(mount_info::from_fstab_line): Handle "bind" option.
	(fillout_mntent): Add "bind" option to mnt_opts.
	(mount): Handle "bind" option.
	* include/sys/mount.h (MOUNT_BIND): New mount flag.
2010-08-11 10:58:06 +00:00
Yaakov Selkowitz ac8050277c * mingw: Use sysroot, if present, for mingw_dir. 2010-08-11 03:01:55 +00:00
Christopher Faylor 92514fd261 * sigproc.cc (init_sig_pipe): Add retry loop. 2010-08-10 16:44:37 +00:00
Christopher Faylor 514fdad34d * cygheap.h (cygheap_fdmanip): Delete fh and use fd index into cygheap->fdtab
throughout.
(cygheap_fdnew): Replace fh by using fd index into cygheap->fdtab throughout.
(cygheap_fdget): Ditto.  (cygheap_fdenum): Ditto.
2010-08-09 16:53:35 +00:00
Yaakov Selkowitz 6d27f82985 * new-features.sgml (ov-new1.7.6): Document POSIX Monotonic Clock. 2010-08-09 16:49:28 +00:00
Yaakov Selkowitz b150f5236b Implement POSIX.1-2004 Monotonic Clock.
* hires.h: Change hires_us to hires_ns, with nanosecond resolution.
(hires_ns::primed_ft): Remove.
(hires_ns::nsecs): New prototype.
(hires_ns::usecs): Rewrite in terms of nsecs.
(hires_ns::resolution): New prototype.
* times.cc: Change hires_us to hires_ns.
(ntod): Declare.
(systime): Remove.
(hires_ns::prime): Increase resolution to nanoseconds.
(hires_ns::nsecs): Rename usecs to nsecs to reflect increased resolution.
Remove justdelta argument.
(hires_ns::resolution): New function.
(clock_gettime): Accept CLOCK_MONOTONIC.
Use EINVAL instead of ENOSYS per POSIX.1-2004.
(clock_getres): Ditto.
(clock_setres): Use EINVAL instead of ENOSYS to conform with other
implementations.
* strace.cc (strace::microseconds): Adjust for hires_ns.
* sysconf.cc (sca): Set _SC_MONOTONIC_CLOCK to _POSIX_MONOTONIC_CLOCK.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
2010-08-09 16:47:48 +00:00
Corinna Vinschen 95fe28c61e * new-features.sgml (ov-new1.7.6): Document /proc/filesystems. 2010-08-09 08:20:51 +00:00
Corinna Vinschen a52993d426 * fhandler_proc.cc: Add /proc/filesystems virtual file.
(format_proc_filesystems): New function.
	* mount.cc (fs_names): Move to global scope. Redefine as array
	of { "name", block_device? } structs.
	(fillout_mntent): Use name member of fs_names.
	* mount.h (fs_names): New prototype.
2010-08-09 08:18:30 +00:00
Corinna Vinschen 99006a85e2 * include/dlfcn.h (RTLD_LOCAL): Define. 2010-08-09 07:48:24 +00:00
Corinna Vinschen 5c9d7a42fc * include/sys/dirent.h (d_fileno): Define as d_ino. 2010-08-06 18:55:25 +00:00
Corinna Vinschen 06cc41a63a * path.cc (cygwin_conv_path): Rearrange test for "." in POSIX to
relative DOS path conversion.  Simplify fixing the path.
	In CCP_POSIX_TO_WIN_W conversion, always drop long path prefix if path
	fits into MAX_PATH.  Explain why.
2010-08-04 11:25:13 +00:00
Christopher Faylor 0b6fbd396c * exceptions.cc (_cygtls::interrupt_now): Revert to checking for "spinning"
when choosing to defer signal.
(_cygtls::call_signal_handler): Grab func when we have the lock.
* gendef: Update copyright.
(__sigbe): Simplify slightly.
(_sigdelayed): Grab a lock before manipulating stuff.
(_cygtls::pop): Properly return popped value.
(stabilize_sig_stack): Set incyg when we have the lock.
* sigproc.cc: Update copyright.
2010-08-01 19:10:52 +00:00
Christopher Faylor 4db1bd4040 * cygthread.h (LPVOID_THREAD_START_ROUTINE): Define.
(cygthread::create): Rename from cygthread::cygthread.
(cygthread::cygthread): Define new constructor which accepts
LPVOID_THREAD_START_ROUTINE as the first argument.  Call cygthread::create.
* cygthread.cc (cygthread::create): Rename from cygthread::cygthread.  Use
'arglen' rather than 'n' since 'n' is no longer supplied.
* fhandler_tty.cc (process_input): Define as void/noreturn.
(process_output): Ditto.
(process_ioctl): Ditto.
(fhandler_tty_master::init): Don't "zap_h" cygthreads which are noreturn.  It's
now implied.
2010-07-30 18:04:22 +00:00
Andy Koppe aab56a41cf * setup-net.sgml, faq-setup.xml: Rename setup.exe's "Partial"
view to "Pending"
2010-07-26 22:56:24 +00:00
Keith Marshall 9411deb401 Accept that mingwrt headers are not guaranteed to precede GCC's in the system include search path; (issue reported by Mark Brand). 2010-07-25 20:20:46 +00:00
Chris Sutcliffe e3bef3f7d5 2010-07-22 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/kernel32.def(FatalExit): Correct definiton.
2010-07-24 03:01:20 +00:00
Corinna Vinschen cb6bfcff1a * fhandler.cc (fhandler_base::raw_write): Remove STATUS_DISK_FULL
special handling.
2010-07-23 10:08:34 +00:00
Chris Sutcliffe 125c76f59e 2010-07-22 Ozkan Sezer <sezero@users.sourceforge.net>
* include/io.h (_findfirst, _findnext, _findclose, _findfirst32,
        _findnext32, _findfirsti64, _findnexti64, _findfirst32i64, _findfirst64i32,
        _findnext32i64, _findnext64i32, _findnext64, _findfirst, _findnext,
        _findfirsti64, _findnexti64, _findfirst, _findnext, _findfirsti64,
        _findnexti64): Correct definition.
2010-07-23 02:16:28 +00:00
Chris Sutcliffe a1c44c468c 2010-07-22 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/basetyps.h (REFGUID, REFIID, REFCLSID, REFFMTID): Revert change
        from 2010-07-17 since it breaks several applications.
2010-07-22 10:47:30 +00:00
Chris Sutcliffe a3ee6a48f3 2010-07-21 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* lib/kernel32.def: Regenerate using gendef.
2010-07-22 03:10:28 +00:00
Corinna Vinschen 822b654fe0 * dump_setup.cc (tfx_chars): New WCHAR array, copied from Cygwin.
(transform_chars): New function, copied from Cygwin.
	(simple_nt_stat): New function to check file existance using native
	NT function.  Explain why.
	(directory_exists): Call simple_nt_stat.
	(file_exists): Ditto.
2010-07-21 10:30:53 +00:00
Chris Sutcliffe cfdaf5654c 2010-07-20 Ozkan Sezer <sezero@users.sourceforge.net>
* include/commctrl.h (LVIF_GROUPID): Fix definition.

2010-07-20  Michael James  <james.me@gmail.com>

        * include/commctrl.h (LVIF_COLUMNS): Fix definition.
2010-07-20 18:17:52 +00:00
Chris Sutcliffe 2af268382a 2010-07-17 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/winnt.h (HEAP_MAKE_TAG_FLAGS, VALID_INHERIT_FLAGS): Correct
        definition.
        * include/rpcndr.h (NdrUnMarshConfStringHdr, NdrUnMarshCCtxtHdl,
        NdrMarshSCtxtHdl): Ditto.
        * include/basetyps.h (REFGUID, REFIID, REFCLSID, REFFMTID): Remove macro
        definition in favour of typedef definition.

        Thank you to Yuta Tomino for reporting the issues.
2010-07-20 00:18:31 +00:00
Eric Blake 2693eddb32 Document mkostemp and mkostemps.
* textbinary.sgml (textbin-devel): Document temp file behavior.
(textbin-issue): Use sed rather than cat as an example of a
default-mode application.
* new-features.sgml (ov-new1.7.6): Document mkostemp[s].
2010-07-19 18:25:41 +00:00
Eric Blake 3083fa9447 Add mkostemp and mkostemps.
* mktemp.cc (_gettemp): Add flags argument.  All callers updated.
(mkostemp, mkostemps): New functions.
* cygwin.din (mkostemp, mkostemps): Export.
* posix.sgml: Document them.
* include/cygwin/version.h: Bump version.
2010-07-19 18:22:40 +00:00
Christopher Faylor bee6d43176 * autoload.cc (noload): Use "pushl" rather than "push". 2010-07-18 20:14:51 +00:00
Christopher Faylor 9134e80ac6 * exceptions.cc (_cygtls::interrupt_now): Avoid nonsensical tests which delay
an interrupt.
(setup_handler): Remove unneeded DEBUGGING handling.  Ensure that stack is
locked when we are about to do push/pop to it.  Fix debugging output.
2010-07-18 20:13:26 +00:00
Christopher Faylor 3a7c5515b2 * gendef: Throughout, remove lock from xchgl since it is implied.
(__ZN7_cygtls3popEv): Avoid potential (but probably nonexistent) race when
clearing element after pop.
2010-07-18 20:10:22 +00:00
Corinna Vinschen ac40a19527 * wincap.cc (wincap_7): Set needs_count_in_si_lpres2 to false. 2010-07-15 08:00:52 +00:00
Chris Sutcliffe cc077128d3 2010-07-08 Markus Koenig <basilo@users.sourceforge.net>
* include/gdiplus.h: New file.
        * include/gdiplus/gdiplus.h: New file.
        * include/gdiplus/gdiplusbase.h: New file.
        * include/gdiplus/gdiplusbrush.h: New file.
        * include/gdiplus/gdipluscolor.h: New file.
        * include/gdiplus/gdipluscolormatrix.h: New file.
        * include/gdiplus/gdipluseffects.h: New file.
        * include/gdiplus/gdiplusenums.h: New file.
        * include/gdiplus/gdiplusflat.h: New file.
        * include/gdiplus/gdiplusgpstubs.h: New file.
        * include/gdiplus/gdiplusgraphics.h: New file.
        * include/gdiplus/gdiplusheaders.h: New file.
        * include/gdiplus/gdiplusimageattributes.h: New file.
        * include/gdiplus/gdiplusimagecodec.h: New file.
        * include/gdiplus/gdiplusimaging.h: New file.
        * include/gdiplus/gdiplusimpl.h: New file.
        * include/gdiplus/gdiplusinit.h: New file.
        * include/gdiplus/gdipluslinecaps.h: New file.
        * include/gdiplus/gdiplusmatrix.h: New file.
        * include/gdiplus/gdiplusmem.h: New file.
        * include/gdiplus/gdiplusmetafile.h: New file.
        * include/gdiplus/gdiplusmetaheader.h: New file.
        * include/gdiplus/gdipluspath.h: New file.
        * include/gdiplus/gdipluspen.h: New file.
        * include/gdiplus/gdipluspixelformats.h: New file.
        * include/gdiplus/gdiplusstringformat.h: New file.
        * include/gdiplus/gdiplustypes.h: New file.
        * lib/gdiplus.c: New file containing GDI+ variable definitions
        and GUIDs.
        * lib/gdiplus.def: New file.
        * lib/Makefile.in: Add gdiplus.o to EXTRA_OBJS,
        add gdiplus.c to SOURCES.
        * lib/test.c: Include gdiplus.h.
2010-07-08 23:14:54 +00:00
Corinna Vinschen 975a85f42c * syscalls.cc (unlink_nt): Disable try_to_bin for netapp drives.
Explain why.
2010-07-07 07:53:22 +00:00
Corinna Vinschen c492992f13 Align seekdir and telldir API to POSIX definition.
* Makefile.in (NEW_FUNCTIONS): Remove seekdir and telldir mappings.
	* dir.cc (telldir): Move functionality from telldir64 here.  Use
	long, rather than _off_t.
	(telldir64): Just call telldir.  Only keep for backward compatibility.
	(seekdir): Move functionality from seekdir64 here.  Use long, rather
	than _off_t.
	(seekdir64): Just call seekdir.  Only keep for backward compatibility.
	* fhandler.h: Throughout, change prototypes of seekdir and telldir
	methods to use long, rather than _off64_t.
	* fhandler_disk_file.cc: Change aforementioned methods accordingly.
	* fhandler_netdrive.cc: Ditto.
	* fhandler_registry.cc: Ditto.
	* fhandler_virtual.cc: Ditto.
	* include/sys/dirent.h (struct __DIR): Change __d_position from
	_off_t to long to reflect API change.
	(telldir): Change prototype to use long, rather than off_t.
	(seekdir): Ditto.
2010-07-05 16:59:56 +00:00
Christopher Faylor c8fe6dc446 * ldd.cc: Clean up formatting throughout.
(head): Move earlier.
(saw_file): Ditto.
(print_dlls): Reset head here.  Record seen dll names so they will not
potentially be printed later.
(process_file): Remove clearing of head here.
2010-07-05 16:24:24 +00:00