Commit Graph

6241 Commits

Author SHA1 Message Date
Corinna Vinschen 2b26c2fc41 * fhandler.cc (fhandler_base::fhaccess): Check if opening registry
actually created a handle.  This handles the registry root dir.
	* fhandler_registry.cc (fhandler_registry::open): Set io_handle in
	case of opening one of the predefined registry keys.
2006-10-22 09:38:47 +00:00
Corinna Vinschen 70158cafd7 * regtool.cc (key_type): Drop.
(REG_AUTO): Define.
	(value_type): Replace key_type.  Use REG_xxx values directly.
	Accomodate change throughout.
	(longopts): Add --dword, --dword-le, --none, --qword and --hex options.
	(opts): Add -d, -D, -n, -Q and -x options.
	(types): Array to convert REG_xxx into strings.
	(hex): New variable to keep value of --hex option.
	(usage): Accomodate new options.  Print only the necessary by default.
	Only be verbose in case of -h/--help option.
	(cmd_list): Use key separator from -K option when printing.
	Print value type when verbose option is given.  Handle so far not
	handled REG_xxx types.
	(cmd_set): Avoid SEGV due to missing argument.  Handle so far not
	handled REG_xxx types.
	(cmd_get): Handle --binary option type agnostic.  Handle so far not
	handled REG_xxx types.
	(main): Handle new options.
2006-10-21 17:19:29 +00:00
Corinna Vinschen 1b4153db74 * fhandler.cc (fhandler_base::fhaccess): Call check_registry_access
for registry keys/values if ntsec is on.
	* security.cc (check_access): New static function derived from
	check_file_access, but object type agnostic.
	(check_file_access): Only do file specific stuff.  Call check_access.
	(check_registry_access): New access check function for registry keys/
	values.
	* security.h (check_registry_access): Declare.
2006-10-21 11:05:32 +00:00
Corinna Vinschen 9367c0dcff * fhandler_registry.cc (fhandler_registry::fstat): Set restrictive
permission and ownership if key can't be opened for reading security.
	(open_key): If opening key fails, retry opening with backup intent.
2006-10-21 10:58:35 +00:00
Corinna Vinschen d698e833cd * net.cc (cygwin_getnameinfo): Fix typo in comment. 2006-10-20 12:57:25 +00:00
Corinna Vinschen 20f9af5348 * fhandler.h (fhandler_base::set_name): Make virtual.
(class fhandler_registry): Add wow64 and prefix_len members.
	Declare set_name method.
	* fhandler_proc.cc (PROC_REGISTRY32): Define.
	(PROC_REGISTRY64): Define.
	(proc_listing): Add "registry32" and "registry64" elements.
	(proc_fhandlers): Add corresponding FH_REGISTRY values.
	* fhandler_registry.cc (registry_len): Drop static value in favor of
	class member prefix_len.  Use preifx_len instead of registry_len
	throughout.
	(fhandler_registry::set_name): Define.  Set wow64 and prefix_len
	according to directory prefix.
	(fhandler_registry::fhandler_registry): Set wow64 and prefix_len to
	default values.
	(open_key): Add wow64 argument.  Handle wow64 in call to RegOpenKeyEx.
	Use fhandler_registry member wow64 in this place throughout.
2006-10-19 10:01:03 +00:00
Corinna Vinschen d145878a07 * fhandler_proc.cc: Drop superfluous definition of _WIN32_WINNT.
* miscfuncs.cc: Ditto.
	* sched.cc: Ditto.
2006-10-19 09:15:26 +00:00
Corinna Vinschen 3c256e38f9 * regtool.cc (longopts): Add --wow32 option.
(opts): Add -W option.
	(usage): Add text for --wow32/-W option.
	(main): Handle --wow32/-W option.
	* utils.sgml: Document the new -W option.
2006-10-19 09:08:44 +00:00
Corinna Vinschen 733c9ed374 * glob.c: Remove.
* glob.cc: New file.  Latest glob version from FreeBSD plus Cygwin
	specific changes (__stat64/__stat32, ignore_case_with_glob,
	drop collate functions).
	(glob3): Return GLOB_ABORTED in case directory is unreadable and
	GLOB_ERR is set, as demanded by SUSv3.
	* glob.h: Import latest version from FreeBSD.
2006-10-17 17:34:56 +00:00
Corinna Vinschen bf4875e4b0 * winsup.h (WINVER): Define instead of _WIN32_WINNT. Set to 0x0502.
(_NO_W32_PSEUDO_MODIFIERS): Define.
2006-10-17 13:55:05 +00:00
Corinna Vinschen 53930874cb * regtool.cc (KEY_WOW64_64KEY): Drop definition. Instead define
WINVER to 0x0502 before including windows.h.
2006-10-16 19:34:27 +00:00
Corinna Vinschen 40c60b89d5 * regtool.cc (KEY_WOW64_64KEY): Define.
(longopts): Add --wow64 option.
	(opts): Add -w option.
	(wow64): New variable to control usage of KEY_WOW64_64KEY access flag.
	(usage): Add text for --wow64/-w option.
	(print_version): Fix copyright.
	(find_key): Use wow64 value in calls to RegOpenKeyEx and RegCreateKeyEx.
	(cmd_add): Use wow64 value in call to RegCreateKeyEx.
	(regDeleteKeyEx): New function pointer to load RegDeleteKeyEx function
	dynamically.
	(cmd_remove): Load and use regDeleteKeyEx when wow64 is set.
	(main): Handle --wow64/-w option.
	* utils.sgml: Document the new -w option.
2006-10-16 18:00:06 +00:00
Corinna Vinschen 0b8affca5e * fhandler_disk_file.cc (fhandler_disk_file::opendir): Drop redundant
access check.
2006-10-16 13:11:29 +00:00
Corinna Vinschen c28fea1bdc * include/asm/byteorder.h: Fix copyright dates.
Fix typos in ChangeLog.
2006-10-16 12:34:34 +00:00
Corinna Vinschen b031f5c3c5 Fix pathnames. 2006-10-16 12:31:19 +00:00
Corinna Vinschen 2c1ffdbf5e * autoload.cc (PrivilegeCheck): Define.
* fhandler.cc (fhandler_base::open): Always try opening with backup
	resp. restore intent.
	* fhandler_disk_file.cc (fhandler_disk_file::opendir): Always try
	opening with backup intent.
	(fhandler_disk_file::readdir): Ditto when trying to retrieve file id
	explicitely.
	* security.cc (check_file_access): Replace pbuf with correctly
	PPRIVILEGE_SET typed pset.  Check explicitely for backup and/or restore
	privileges when AccessCheck fails, to circumvent AccessCheck
	shortcoming.  Add comment to explain.
2006-10-16 12:26:59 +00:00
Christopher Faylor 7af26e0cc0 * winsup.h: Turn off DEBUGGING. 2006-10-13 12:49:18 +00:00
Corinna Vinschen ace7360b45 * Makefile.in (CFLAGS): Drop -nostdinc.
* cygsuba.c: Reorder includes to allow building with VC++.
	* make-64bit-version-with-visual-c.bat: New file.
2006-10-13 11:55:05 +00:00
Corinna Vinschen fb7dc2480c * autoload.cc (Wow64DisableWow64FsRedirection): Define.
(Wow64RevertWow64FsRedirection): Define.
	* security.cc (cygsuba_installed): New shared variable to store result
	of cygsuba.dll installation test.
	(subauth): Check if cygsuba.dll has been installed and registered
	before issuing the (sub)authentication.
2006-10-13 11:10:28 +00:00
Corinna Vinschen 208e95c2f2 * security.cc (create_token): Fix condition for source identifier. 2006-10-12 15:38:26 +00:00
Danny Smith 0d94042d8f * include/winuser.h (LR_DEFAULTSIZE, LR_VGACOLOUR): Define. 2006-10-12 04:25:56 +00:00
Corinna Vinschen 9565e2333c * select.cc (struct socketinf): Convert ser_num and w4 to dynamically
allocated arrays.  Add max_w4 member to keep track.
	(thread_socket): Make timeout depending on number of sockets to wait
	for.  Loop WFMO over all sockets.
	(start_thread_socket): Handle any number of sockets.  Fix typo.  Don't
	close socket event in out of memory condition.
	(socket_cleanup): Free ser_num and w4.
2006-10-11 16:21:12 +00:00
Corinna Vinschen b9c7deed9a * path.cc (path_conv::get_nt_native_path): Properly detect \\?\ paths.
(mount_info::conv_to_win32_path): Update comment.
	* fhandler_disk_file.cc (path_conv::ndisk_links): Use backslashes
	to make NT kernel functions work for \\?\GLOBALROOT paths.
2006-10-09 14:01:52 +00:00
Corinna Vinschen 5623fbd4ca * devices.in: Raise number of handled serial ports to 64.
* devices.cc: Regenerate.
2006-10-09 08:27:23 +00:00
Christopher Faylor 16b6142ad4 . 2006-10-06 22:32:09 +00:00
Corinna Vinschen cea9b62102 * cygcheck.cc (get_word, get_dword): Move to path.cc.
(LINK_EXTENSION): New macro.
	(check_existence): New static function.
	(find_on_path): Check for symbolic links if asked.
	(dll_info): New error handling.
	(track_down): Only call dll_info() for executables, display
	an error for symlinks, and print magic number for others.
	(find_app_on_path): New static function.
	(cygcheck, dump_sysinfo): Call find_app_on_path() instead of
	find_on_path().
	* path.cc (cmp_shortcut_header): New static function.
	(get_word, get_dword): Moved from cygcheck.cc.
	(EXE_MAGIC, SHORTCUT_MAGIC, SYMLINK_COOKIE, SYMLINK_MAGIC): New
	macros.
	(is_exe, is_symlink, readlink): New functions.
	* path.h (is_exe, is_symlink, readlink): Declare.
	(get_word, get_dword): Ditto.
2006-10-05 17:24:13 +00:00
Danny Smith 66845c62b1 * include/winreg.h (RegDeleteKeyEx{A|W}): Add prototype and UNICODE
mappings.
	(KEY_WOW64_32KEY, KEY_WOW64_64KEY): Define.
	* lib/advapi.def (RegDeleteKeyEx{A|W}): Export.
2006-10-05 07:36:06 +00:00
Corinna Vinschen fbcc8bbe74 * Makefile.in: Semi-revert semi-reversion of 2006-08-30 change, now
correctly parenthesized.
2006-10-04 12:52:42 +00:00
Danny Smith e4aebff6e8 * include/winnt.h (CASSERT): Define.
[mingw-Bugs-1568067]
	* include/winuser.h: (DISP_CHANGE_BADDUALVIEW): Define.
	* include/wingdi.h: (DM_POSITION): Define.
2006-10-04 08:57:27 +00:00
Danny Smith b3fc0d3bf5 * lib/rpcrt4.def: Remove "_imp__"-prefixed export symbols.
* lib/user32.def: Likewise.
2006-10-03 08:43:40 +00:00
Danny Smith c0b5e094e2 * mingwex/mb_wc_common.h (get_codepage): Get it
from __lc_codepage.
2006-09-19 09:09:58 +00:00
Christopher Faylor b44ba33a1f * byteorder.h: Correct typo. 2006-09-17 23:22:10 +00:00
Christopher Faylor 22aa38a0a8 * byteorder.h: Don't #define n* macros if -fnoinline is specified. 2006-09-17 22:34:45 +00:00
Danny Smith dad3363707 * mingwex/gdtoa/g_xfmt.c (g_xfmt): Fix representation of infinity. Use fpclassify.
* mingwex/gdtoa/strtopx (__strtopx): Avoid cast of long double* to void*.
	* mingwex/gdtoa/gdtoa.h (__g_fmt): Make declaration consistent with others.
2006-09-17 22:27:56 +00:00
Danny Smith 3e231d9a38 * mingwex/gdtoa/strtopx.c (strtopx): Fix (sic) infinity. 2006-09-16 07:35:45 +00:00
Christopher Faylor 8552e20ec4 white space 2006-09-13 15:33:37 +00:00
Christopher Faylor aa45b3b73d Check in previously mentioned change to cygcheck.cc 2006-09-13 15:32:04 +00:00
Christopher Faylor 56ec0f9c9c * Makefile.in: Fix -ntdll typo.
* cygcheck.cc (main): Restore POSIXLY_CORRECT before displaying user's
environment.
2006-09-12 15:14:51 +00:00
Chris Sutcliffe 1a0a1d3218 Forgot ChangeLog in last commit 2006-09-12 00:29:39 +00:00
Chris Sutcliffe 3742ca27a4 2006-09-11 Chris Sutcliffe <ir0n3h4d@users.sourceforge.net>
* lib/Makefile.in: fix typo.
        * lib/ddk/Makefile.in: fix typo.
        * lib/directx/Makefile.in: fix typo.

        Thanks to Keith Marshall (keithmarshall at users dot sourceforge dot net)
        for pointing it out.
2006-09-12 00:29:04 +00:00
Christopher Faylor c48cea17a8 * Makefile.in: Semi-revert 2006-08-30 change. 2006-09-11 16:06:35 +00:00
Chris Sutcliffe 08b5122764 2006-09-10 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* Makefile.in: Remove files from lib directory with distclean target
2006-09-10 22:55:43 +00:00
Danny Smith 910edf4a02 * include/_mingw.h (__MINGW_ATTRIB_DEPRECATED): Define.
(__MINGW_IMPORT): Ansify.
	* include/stdlib.h (_sleep, _beep, _seterrormode): Add
	__MINGW_ATTRIB_DEPRECATED.
2006-09-10 21:16:05 +00:00
Chris Sutcliffe 88a815f3c0 2006-09-10 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/winuser.h (CS_DROPSHADOW): Define.
2006-09-10 14:55:24 +00:00
Keith Marshall 7146ace87f * aclocal.m4 (LIB_AC_PROG_CC, LIB_AC_PROG_CC_GNU, LIB_AC_PROG_CXX):
Redundant macros; deleted.

	* configure.in (LIB_AC_PROG_CC): Replaced by...
	(AC_PROG_CC): ...this.

	* configure: Regenerated.
2006-09-10 14:44:55 +00:00
Danny Smith 635f4bd398 2006-09-08 Michael Gerdau <mgdde@users.sourceforge.net>
* include/uxtheme.h: (TMT_GRADIENTCOLOR4, TMT_GRADIENTCOLOR5,
	TMT_SHADOWCOLOR, TMT_GLOWCOLOR, TMT_TEXTBORDERCOLOR,
	TMT_TEXTSHADOWCOLOR, TMT_GLYPHTEXTCOLOR, TMT_GLYPHTRANSPARENTCOLOR,
	TMT_FILLCOLORHINT, TMT_BORDERCOLORHINT, TMT_ACCENTCOLORHINT):
	Increase each constant by 1.
2006-09-08 01:16:46 +00:00
Christopher Faylor d6b1ac7faa * environ.cc (build_env): Don't put an empty environment variable into the
environment.  Optimize use of "len".
* errno.cc (ERROR_MORE_DATA): Translate to EMSGSIZE rather than EAGAIN.
2006-09-07 20:42:53 +00:00
Danny Smith 19ff420025 [mingw-Bugs-1553275]
* include/wingdi.h (SetLayout): Add prototype.
	(GetLayout): Likewise.
2006-09-07 09:09:13 +00:00
Danny Smith ab1d66234a * mingwex/gdtoa/misc.c (pow5mult): Restore original code.
* mingwex/gdtoa/gdtoa.h. Add comment that files have been modified.
	* mingwex/gdtoa/gdtoaimp.h: Include system headers with <> brackets.
2006-09-06 22:03:16 +00:00
Danny Smith a046f426ed [mingw-Bugs-1550139]
* include/oleauto.h (GetRecordInfoFromTypeInfo): Add prototype.
	(GetRecordInfoFromGuids): Add prototype.
2006-09-02 09:00:45 +00:00
Danny Smith 1202770601 * include/winbase.h: Add comment about 'missing' SEM flag. 2006-09-01 01:28:30 +00:00
Danny Smith e635b30956 Import David Gay's gdtoa library.
* mingwex/gdtoa: New directory.
	* mingwex/gdtoa/(arithchk.c, dmisc.c, dtoa.c, g__fmt.c, g_dfmt.c,
	g_ffmt.c, g_xfmt.c, gd_arith.h, gd_qnan.h, gdtoa.c, gdtoa.h,
	gdtoaimp.h, gethex.c, gmisc.c, hd_init.c, hexnan.c, misc.c, qnan.c,
	README, smisc.c, strtodg.c, strtodnrp.c, strtof.c, strtopx.c, sum.c,
	ulp.c): New files.
	* mingwex/(strtof.c, strtold.c, ldtoa.c): Remove files.
	* mingwex/math/(cephes-emath.c, cephes-emath.h): Remove files.
	* mingwex/mb_wc_common.h (get_cp_from_locale); Rename to get_codepage().
        * mingwex/(btowc.c, wctob.c, mbrtowc.c, wcrtomb.c): Adjust call to get_codepage().
	* mingwex/wcstold.c: Avoid using strtold internals.
	* mingwex/wcstof.c: Rewrite.
	* mingwex/Makefile.in (GDTOA_DISTFILES): Add to distribution.
	(GDTOA_OBJS): Add to library.
	(DISTFILES): Remove strtof.c strtold.c ldtoa.c cephes-emath.c cephes-emath.h.
	(STDLIB_OBJS): Remove.
	(STDLIB_STUB_OBJS): Remove strtof.o wcstof,o.
	(Q8_OBJS): Add wcstof.o wcstold.o.
	* include/stdlib.h (strtof): Remove inline definition.
	(wcstof): Likewise.
	* include/wchar.h (wcstof): Remove inline definition.
2006-08-31 23:48:56 +00:00
Corinna Vinschen 55283468e6 * grp.cc (initgroups32): Run get_server_groups under original token.
* syscalls.cc (seteuid32): Slightly reorganize code creating a token.
2006-08-31 15:57:56 +00:00
Christopher Faylor c9f1f4b438 * Makefile.in: Make install-license .PHONY. Make sure that doc directory is
created before copying to it.
2006-08-31 00:53:48 +00:00
Corinna Vinschen 7e5d0e9f95 * Makefile.in: Make installation of CYGWIN_LICENSE configurable.
* aclocal.m4: Regenerate.
	* configure.in: Add GCC_NO_EXECUTABLES call. Add configuration for
	INSTALL_LICENSE.  Make cygwin subdirectory optional.  Add sanity
	check for cygwin resp. mingw subdirectories dependent of the target.
	* configure: Regenerate.
2006-08-30 13:05:46 +00:00
Corinna Vinschen 3cdac9e9d4 * Makefile.in: Add with_cross_host to allow more granular checks.
Set installation directories accordingly.  Override CC setting only
	if building a Cygwin target.
	* aclocal.m4: Regenerate.
	* configure.in: Move AC_CANONICAL_SYSTEM check up.  Add
	GCC_NO_EXECUTABLES.  Substitute with_cross_host in depending files.
	Test AC_ALLOCA only if building on a native system.
	* configure: Regenerate.
2006-08-30 13:05:05 +00:00
Corinna Vinschen fc0256b600 * configure.in: Substitute with_cross_host in depending files.
* configure: Regenerate.
	* lib/Makefile.in: Add with_cross_host to allow more granular checks.
	Set installation directories accordingly.
	* lib/ddk/Makefile.in: Ditto.
	* lib/directx/Makefile.in: Ditto.
2006-08-30 13:04:41 +00:00
Christopher Faylor 1cc0c5d6f9 * child_info.h (child_info_spawn::~child_info_spawn): Don't close myself_pinfo
handle when spawning.
2006-08-27 16:46:27 +00:00
Chris Sutcliffe d9baa656ed 2006-08-27 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/ctype.h: Fix typo.
2006-08-27 12:14:58 +00:00
Joshua Daniel Franklin 1e069c300d * faq-setup.xml (faq.setup.uninstall): Mention Safe Mode
requirement for accessing the Security tab in XP Home.
        * faq-using.xml (faq.using.chmod): Mention FAT32.
2006-08-26 19:11:00 +00:00
Danny Smith 80f52ae1dd * include/ctype.h: Expose iswblank if __cplusplus.
* include/wctype.h: Expose iswblank if __cplusplus.
2006-08-25 09:10:05 +00:00
Corinna Vinschen f1f69c58bf * fhandler_disk_file.cc (fhandler_disk_file::opendir): Fix formatting. 2006-08-20 12:31:07 +00:00
Corinna Vinschen b0662a051b * fhandler_disk_file.cc (DIR_NUM_ENTRIES): Set to 100 to maximize
performance on remote shares.
	(fhandler_disk_file::opendir): Move comment about Samba weirdness into
	fhandler_disk_file::readdir.  Don't disallow
	FileIdBothDirectoryInformation on Samba.
	(fhandler_disk_file::readdir): Workaround Samba problem with
	FileIdBothDirectoryInformation by rereading already read entries
	using FileBothDirectoryInformation.  Change comment about Samba
	weirdness explaining this change.
2006-08-20 12:18:12 +00:00
Christopher Faylor ffa6849093 * fhandler_disk_file.cc (fhandler_disk_file::pread): Properly check for
non-error return from lseek.
2006-08-19 21:44:58 +00:00
Corinna Vinschen 30691bd756 * fhandler_serial.cc (raw_read): Evaluate minchars taking the
vmin_ > ulen case into account.  Simplify evaluating the bytes to read.
	Don't use bytes in Queue value from ClearCommError call in case vtime_
	is > 0.  Reformat GetOverlappedResult call.  Simplify call to ReadFile.
2006-08-17 14:51:48 +00:00
Corinna Vinschen 94dc73adc5 * security.cc (subauth): Initialize user_token to NULL. Add comment. 2006-08-14 11:32:11 +00:00
Corinna Vinschen e39a29e36b * shared.cc (open_shared): Desperately try to get shared memory, only
when DEBUGGING enabled for now.
2006-08-11 15:40:07 +00:00
Danny Smith fc43c1d925 * lib/wtsapi32.def (WTSGetActiveConsoleSessionId). Move from here...
* lib/kernel32.def (WTSGetActiveConsoleSessionId). ...to here.
2006-08-10 21:06:01 +00:00
Christopher Faylor 1767b8d028 * pinfo.cc (_onreturn::~onreturn): Don't attempt to close a NULL handle. 2006-08-10 20:25:54 +00:00
Christopher Faylor 2f98d8bdc7 revert erroneous checkin 2006-08-10 14:16:24 +00:00
Christopher Faylor 44d67b9b31 * winsup.h: Turn on DEBUGGING by default for now. 2006-08-10 14:15:00 +00:00
Corinna Vinschen 887e02e478 * fhandler_disk_file.cc (fhandler_disk_file::lock): Handle
ERROR_NOT_LOCKED returned from UnlockFileEx.
2006-08-10 08:44:43 +00:00
Christopher Faylor eab543a1d6 * overview2.sgml: Remove inaccurate "full support for windows pathnames"
clause.
2006-08-09 16:13:56 +00:00
Corinna Vinschen 6f3105405d * path.h (SYMLINK_EA_NAME): Remove.
(SHORTCUT_HDR_SIZE): Ditto.
2006-08-09 15:33:46 +00:00
Christopher Faylor bbf38a55c6 * autoload.cc (GetHandleInformation): Declare new function.
(SetHandleInformation): Ditto.
* debug.cc (add_handle): Use SetHandleInformation to protect handle.
(close_handle): Use SetHandleInformation to unprotect handle.
* spawn.cc (spawn_guts): Move detached test outside of P_OVERLAY block.
2006-08-09 15:04:32 +00:00
Corinna Vinschen 7636b58590 * autoload.cc (NtSetInformationFile): Define.
* cygwin.din: Export posix_fadvise and posix_fallocate.
	* fhandler.cc (fhandler_base::fadvise): New method.
	(fhandler_base::ftruncate): Add allow_truncate parameter.
	* fhandler.h (class fhandler_base): Add fadvise method.  Accomodate
	new parameter to ftruncate.
	(class fhandler_pipe): Add fadvise and ftruncate methods.
	(class fhandler_disk_file): Add fadvise method.  Accomodate new
	parameter to ftruncate.
	* fhandler_disk_file.cc (fhandler_disk_file::fadvise): New method.
	(fhandler_disk_file::ftruncate): Accomodate new allow_truncate
	parameter.  Set EOF using NtSetInformationFile on NT.
	* ntdll.h (struct _FILE_END_OF_FILE_INFORMATION): Define.
	(NtSetInformationFile): Declare.
	* pipe.cc (fhandler_pipe::fadvise): New method.
	(fhandler_pipe::ftruncate): Ditto.
	* syscalls.cc (posix_fadvise): New function.
	(posix_fallocate): Ditto.
	(ftruncate64): Accomodate second parameter to fhandler's ftruncate
	method.
	* include/fcntl.h: Add POSIX_FADV_* flags.  Add declarations of
	posix_fadvise and posix_fallocate.
	* include/cygwin/version.h: Bump API minor number.
2006-08-07 19:29:14 +00:00
Danny Smith 840d9c1abe * include/ctype.h: Remove stray ')'. 2006-08-03 21:05:05 +00:00
Corinna Vinschen fb43e6237c * path.cc (vconcat): Don't convert backslahes to slashes.
(cygpath): Return native path with all backslashes.
2006-08-03 15:29:30 +00:00
Danny Smith bb1a7afa67 * include/ctype.h (_BLANK): Expand comment.
(isblank): Add prototype and inline definition.
	(iswblank): Add prototype and inline definition.
	* include/wctype.h (iswblank): Add prototype and inline definition.
	* mingwex/isblank.c: New file.
	* mingwex/iswblank.c: New file.
	* mingwex/Makefile.in: Add isblank, iswblank to libmingwex.a
2006-08-03 07:44:30 +00:00
Christopher Faylor 9e4051d4b7 fix typo 2006-08-03 03:59:27 +00:00
Christopher Faylor bee65cb860 * Makefile.in (subauth): Add dependency on mingw. 2006-08-03 03:47:54 +00:00
Christopher Faylor 6f1d48621e * environ.cc (env_win32_to_posix_path_list): Declare.
(conv_envvars): Use env_win32_to_posix_path_list rather than
cygwin_win32_to_posix_path_list.
(posify): Translate back to win32 path if errno is EIDRM.
* environ.h: Update copyright.  Define ENV_CVT.
* path.cc (conv_path_list): If converting for the environment and removed an
element set errno to ENV_CVT.
(env_win32_to_posix_path_list): New function.
2006-08-02 15:11:48 +00:00
Corinna Vinschen 2dba45f4aa * Makefile.in (cygpath.exe): Add rule to link cygpath against ntdll.dll.
* cygpath.cc: Include DDK headers.
	(RtlAllocateUnicodeString): New static inline function.
	(get_device_name): New static function to evaluate DOS path from
	native NT path.
	(get_device_paths): New function to do the same for path lists.
	(doit): Call get_device_paths/get_device_name where appropriate.
2006-08-02 09:48:18 +00:00
Christopher Faylor 8fe03354d9 * cygwinenv.sgml: Document [no]dosfilewarning option. 2006-08-01 18:06:49 +00:00
Christopher Faylor 01bbb24d15 * environ.cc (dos_file_warning): Declare.
(parse_thing): Add "dosfilewarning".  Alphabetize.
* path.cc (normalize_posix_path): Return -1 when MS-DOS path detected.
(warn_msdos): New function.
(path_conv::check): Call if !PC_NOWARN and MS-DOS path detected.
(cygwin_conv_to_win32_path): Set PC_NOWARN when calling path_conv.
(cygwin_conv_to_full_win32_path): Ditto.
* path.h (pathconv_arg::PC_NOWARN): Define.
* shared_info.h (user_info::warned_msdos): New field.
(CURR_USER_MAGIC): Reset.
2006-08-01 18:00:44 +00:00
Corinna Vinschen b23bc8c33c * fhandler_socket.cc (fhandler_socket::recv_internal): Fix a problem
with poll(2) after shutdown(SHUT_RD) has been called on the local side.
	* poll.cc (poll): Use POSIX type nfds_t for second parameter.  Drop
	special socket handling for POLLIN.  Add comment to explain why.
	* include/sys/poll.h: Declare nfds_t.  Use as type for second parameter
	in poll(2) declaration.
2006-07-31 14:27:56 +00:00
Corinna Vinschen 1f7dbb011a * fhandler_socket.cc (fhandler_socket::evaluate_events): Circumvent
potential race condition.
	(fhandler_socket::recv_internal): Fix MSG_PEEK bug on blocking sockets
	and simplify recv loop.
	(fhandler_socket::send_internal): Only lock when changing wsock_events.
2006-07-31 12:55:20 +00:00
Corinna Vinschen a947b6879f * autoload.cc: Drop LoadDLLprime for wsock32 since no wsock32 function
is used anymore.  Drop all unused ws2_32.dll functions.
2006-07-31 08:59:56 +00:00
Corinna Vinschen acc31d1a90 * cygpath.cc (get_long_name): Fallback to get_long_path_name_w32impl. 2006-07-31 07:31:56 +00:00
Danny Smith 4838aa88d9 Update more IMAGE relocation type indicators
to PECOFF v8 (May, 2006) specs.

	* include/winnt.h (IMAGE_REL_SH3_ABSOLUTE,
	IMAGE_REL_SH3_DIRECT16, IMAGE_REL_SH3_DIRECT32,
	IMAGE_REL_SH3_DIRECT8, IMAGE_REL_SH3_DIRECT8_WORD,
	IMAGE_REL_SH3_DIRECT8_LONG, IMAGE_REL_SH3_DIRECT4,
	IMAGE_REL_SH3_DIRECT4_WORD, IMAGE_REL_SH3_DIRECT4_LONG,
	IMAGE_REL_SH3_PCREL8_WORD, IMAGE_REL_SH3_PCREL8_LONG,
	IMAGE_REL_SH3_PCREL12_WORD, IMAGE_REL_SH3_STARTOF_SECTION,
	IMAGE_REL_SH3_SIZEOF_SECTION, IMAGE_REL_SH3_SECTION,
	IMAGE_REL_SH3_SECREL, IMAGE_REL_SH3_DIRECT32_NB,
	IMAGE_REL_SH3_GPREL4_LONG, IMAGE_REL_SH3_TOKEN,
	IMAGE_REL_SHM_PCRELPT, IMAGE_REL_SHM_REFLO,
	IMAGE_REL_SHM_REFHALF, IMAGE_REL_SHM_RELLO,
	IMAGE_REL_SHM_RELHALF, IMAGE_REL_SHM_PAIR,
	IMAGE_REL_SHM_NOMODE): Add defines.

	(IMAGE_REL_M32R_ABSOLUTE, IMAGE_REL_M32R_ADDR32,
	IMAGE_REL_M32R_ADDR32NB, IMAGE_REL_M32R_ADDR24,
	IMAGE_REL_M32R_GPREL16, IMAGE_REL_M32R_PCREL24,
	IMAGE_REL_M32R_PCREL16, IMAGE_REL_M32R_PCREL8,
	IMAGE_REL_M32R_REFHALF, IMAGE_REL_M32R_REFHI,
	IMAGE_REL_M32R_REFLO, IMAGE_REL_M32R_PAIR,
	IMAGE_REL_M32R_SECTION, IMAGE_REL_M32R_SECREL,
	IMAGE_REL_M32R_TOKEN): Add defines.

	(IMAGE_REL_MIPS_JMPADDR16): Add define.
2006-07-29 09:25:45 +00:00
Corinna Vinschen 8f713b6b08 * fhandler.h (struct wsa_event): Define here.
(class fhandler_socket): Make wsock_evt private again.
	(fhandler_socket::wsock_event): New read accessor for wsock_evt.
	(fhandler_socket::serial_number): New read accessor to get the
	socket's serial number.
	(fhandler_socket::ready_for_read): Just return true.
	* fhandler_socket.cc (struct wsa_event): Move definition to fhandler.h.
	* select.cc (struct socketinf): Add serial number vector.
	(start_thread_socket): Identify duplicate sockets by their serial
	number, not (wrongly) by their wsock_evt.
2006-07-28 08:50:46 +00:00
Corinna Vinschen bc31293a0d * cygpath.c (get_long_name): Cover the case that GetLongPathName
doesn't return valid information for non-existant files.  Just return
	incoming filename in that case.
2006-07-27 21:07:33 +00:00
Corinna Vinschen fd5879c110 * fhandler_socket.cc: Revert misguided attempt to handle FD_CLOSE error
conditions in evaluate_events.
	(search_wsa_event_slot): Move wrongly placed memset in
	fhandler_socket::init_events here.
	(fhandler_socket::init_events): Initially set FD_WRITE event for
	connectionless sockets.
	* poll.cc (poll): Don't add sockets always to except_fds since select
	is now supposed to do it right.
	* select.cc (set_bits): Set connection state correctly for failed
	af_local_connect on local sockets.  Remove socket special handling
	for except_selected descriptors.
	(peek_socket): Try to set the read/write/exception bits actually
	correctly.
2006-07-27 13:58:54 +00:00
Corinna Vinschen 883861544a * fhandler_socket.cc (fhandler_socket::recvmsg): Remove unused tot
argument.  All callers changed.
	(fhandler_socket::sendmsg): Likewise.
	* net.cc (cygwin_recvmsg): Likewise.
	(cygwin_sendmsg): Likewise, and prevent calling sendmsg whith an
	invalid iovec.
	* fhandler.h (fhandler_socket::recvmsg): Adjust prototype.
	(fhandler_socket::sendmsg): Likewise.
2006-07-27 09:18:28 +00:00
Corinna Vinschen 9869e006f3 * fhandler.h (class fhandler_socket): Remove prot_info_ptr.
(fhandler_socket::fixup_before_fork_exec): Remove.
	(fhandler_socket::fixup_after_exec): Remove.
	(fhandler_socket::need_fixup_before): Remove.
	* fhandler_socket.cc (fhandler_socket::fhandler_socket): Drop
	initializing prot_info_ptr.  Remove unused code.
	(fhandler_socket::~fhandler_socket): Drop free'ing prot_info_ptr.
	(struct wsa_event): Rename connect_errorcode to errorcode.
	(fhandler_socket::evaluate_events): Handle FD_CLOSE error condition
	as FD_CONNECT error condition, except, never reset an FD_CLOSE error
	condition.  Always set FD_WRITE after successfully recorded FD_CONNECT.
	(fhandler_socket::fixup_before_fork_exec): Remove.
	(fhandler_socket::fixup_after_fork): Revert to using handle duplication.
	(fhandler_socket::fixup_after_exec): Remove.
	(fhandler_socket::dup): Revert to using handle duplication.
	(fhandler_socket::send_internal): Only call wait_for_events in case
	of WSAEWOULDBLOCK condition.
	(fhandler_socket::set_close_on_exec): Call
	fhandler_base::set_close_on_exec.
	* net.cc (fdsock): Just set socket to inheritable on non-NT.  Don't
	call inc_need_fixup_before.
	* select.cc (peek_socket): Don't set except_ready on every FD_CLOSE,
	just on error.
2006-07-27 09:11:38 +00:00
Danny Smith 40f67ea198 Update some IMAGE flags to PECOFF v8 (May, 2006) specs.
* include/winnt.h (IMAGE_FILE_MACHINE_AM33,
	IMAGE_FILE_MACHINE_ARM, IMAGE_FILE_MACHINE_EBC,
	IMAGE_FILE_MACHINE_M32R, IMAGE_FILE_MACHINE_MIPS16,
	IMAGE_FILE_MACHINE_MIPSFPU, IMAGE_FILE_MACHINE_MIPSFPU16,
	IMAGE_FILE_MACHINE_POWERPCFP, IMAGE_FILE_MACHINE_R4000,
	IMAGE_FILE_MACHINE_SH3, IMAGE_FILE_MACHINE_SH3DSP,
	IMAGE_FILE_MACHINE_SH4, IMAGE_FILE_MACHINE_SH5,
	IMAGE_FILE_MACHINE_THUMB, IMAGE_FILE_MACHINE_WCEMIPSV2):
	Add defines.

	(IMAGE_SUBSYSTEM_EFI_APPLICATION,
	IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER,
	IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER, IMAGE_SUBSYSTEM_EFI_ROM):
	Add defines.

	(IMAGE_SYM_CLASS_CLR_TOKEN): Add define

	(IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE,
	IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY,
	IMAGE_DLL_CHARACTERISTICS_NX_COMPAT,
	IMAGE_DLLCHARACTERISTICS_NO_ISOLATION, IMAGE_DLLCHARACTERISTICS_NO_SEH,
	IMAGE_DLLCHARACTERISTICS_NO_BIND,
	IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE): Add defines.


	(IMAGE_REL_I386_TOKEN, IMAGE_REL_I386_SECREL7): Add defines.

	(IMAGE_REL_AMD64_ABSOLUTE, IMAGE_REL_AMD64_ADDR64,
	IMAGE_REL_AMD64_ADDR32, IMAGE_REL_AMD64_ADDR32NB, IMAGE_REL_AMD64_REL32,
	IMAGE_REL_AMD64_REL32_1, IMAGE_REL_AMD64_REL32_2,
	IMAGE_REL_AMD64_REL32_3, IMAGE_REL_AMD64_REL32_4,
	IMAGE_REL_AMD64_REL32_5, IMAGE_REL_AMD64_SECTION,
	IMAGE_REL_AMD64_SECREL, IMAGE_REL_AMD64_SECREL7, IMAGE_REL_AMD64_TOKEN,
	IMAGE_REL_AMD64_SREL32, IMAGE_REL_AMD64_PAIR, IMAGE_REL_AMD64_SSPAN32):
	Add defines.

	(IMAGE_REL_IA64_ABSOLUTE, IMAGE_REL_IA64_IMM14, IMAGE_REL_IA64_IMM22,
	IMAGE_REL_IA64_IMM64, IMAGE_REL_IA64_DIR32, IMAGE_REL_IA64_DIR64,
	IMAGE_REL_IA64_PCREL21B, IMAGE_REL_IA64_PCREL21M,
	IMAGE_REL_IA64_PCREL21F, IMAGE_REL_IA64_GPREL22, IMAGE_REL_IA64_LTOFF22,
	IMAGE_REL_IA64_SECTION, IMAGE_REL_IA64_SECREL22,
	IMAGE_REL_IA64_SECREL64I, IMAGE_REL_IA64_SECREL32,
	IMAGE_REL_IA64_DIR32NB, IMAGE_REL_IA64_SREL14, IMAGE_REL_IA64_SREL22,
	IMAGE_REL_IA64_SREL32, IMAGE_REL_IA64_UREL32, IMAGE_REL_IA64_PCREL60X,
	IMAGE_REL_IA64_PCREL60B, IMAGE_REL_IA64_PCREL60F,
	IMAGE_REL_IA64_PCREL60I, IMAGE_REL_IA64_PCREL60M,
	IMAGE_REL_IA64_IMMGPREL64, IMAGE_REL_IA64_TOKEN, IMAGE_REL_IA64_GPREL32,
	IMAGE_REL_IA64_ADDEND): Add defines.

	(IMAGE_SCN_GPREL): Add define.
2006-07-27 08:30:33 +00:00
Christopher Faylor 5ecd1ea663 * fhandler.cc (fhandler_base::read): Call get_readahead_into_buffer instead of
duplicating it.
2006-07-27 03:32:51 +00:00
Corinna Vinschen a0bb355ffe * shared.cc (offsets): Define as offsets relative to cygwin_hmodule
instead of addresses.
	(off_addr): New macro.
	(open_shared): Use offsets array accordingly.  Remove unused code.
	* shared_info.h (cygwin_shared_address): Remove.
2006-07-26 21:02:01 +00:00
Corinna Vinschen 5faa48850f * cygheap.h (struct init_cygheap): Remove shared_h and mt_h members.
* fhandler_tape.cc (mt): Define as DLL shared area in
	.cygwin_dll_common instead of as dynamically allocated area.
	Change referencing throughout.
	* mtinfo.h (mt_h): Remove entirely.
	(mt): Remove extern declaration.
	* shared.cc (cygwin_shared_area): New global cygwin_shared
	variable located in .cygwin_dll_common.
	(offsets): Define shared region addresses descending from
	cygwin_shared_address.
	(open_shared): Replace usage of SH_CYGWIN_SHARED by SH_USER_SHARED.
	(memory_init): Set cygwin_shared just by pointing to cygwin_shared_area.
	* shared_info.h (shared_locations): Remove SH_CYGWIN_SHARED and
	SH_MTINFO.
	(cygwin_shared_address): Define as DLL start address.
	* tty.h (tty_min::tty_min): Remove constructor.
2006-07-26 15:59:39 +00:00
Corinna Vinschen 020a7b4711 * include/cygwin/in6.h: Guard in_port_t typedef more restrictive to
avoid compiler warning.
2006-07-25 20:01:38 +00:00