Commit Graph

6318 Commits

Author SHA1 Message Date
Danny Smith
c0c32634da * include/io.h (X_OK): Define to F_OK. 2007-01-24 08:27:12 +00:00
Corinna Vinschen
f28f68cc4f * net.cc (gai_errmap): Add EAI_OVERFLOW entry. Fix formatting.
(cygwin_gai_strerror): Drop using EAI_MAX.
	(w32_to_gai_err): Ditto.
	* include/netdb.h: Define EAI_OVERFLOW. Remove EAI_MAX.
2007-01-23 17:05:29 +00:00
Corinna Vinschen
f7fee067b6 * include/netdb.h: Add AI_xxx flags available since Vista. 2007-01-23 15:56:13 +00:00
Corinna Vinschen
4b13fd15d4 * net.cc (if_nametoindex): Free IP_ADAPTER_ADDRESSES memory.
(if_indextoname): Ditto.
	(if_nameindex): Ditto.  Remove duplicate indexed entries in result.
2007-01-23 09:23:54 +00:00
Corinna Vinschen
bff4389137 * autoload.cc (WSAIoctl): Define.
(SendARP): Define.
	* cygwin.din: Export if_freenameindex, if_indextoname, if_nameindex and
	if_nametoindex.
	* fhandler_procnet.cc: Drop including wchar.h.  Drop definitions of
	GAA_FLAG_INCLUDE_ALL_INTERFACES, IP_ADAPTER_UNICAST_ADDRESS_VISTA.
	(fhandler_procnet::exists): Check for has_gaa_prefixes.  Call
	get_adapters_addresses here.
	(fhandler_procnet::readdir): Ditto.
	(prefix): Move to net.cc.
	(fhandler_procnet::fill_filebuf): Call get_adapters_addresses here.
	Simplify allocation.  Use AdapterName rather than FriendlyName as
	interface name.  Use IfIndex if available, Ipv6IfIndex otherwise.
	(in6_are_prefix_equal): Move to net.cc.
	* fhandler_socket.cc: Define old SIOCGxxx values.
	(CONV_OLD_TO_NEW_SIO): Convert old SIOCGxxx value to new one.
	(struct __old_ifreq): Define old struct ifreq.
	(fhandler_socket::ioctl): Handle old SIOCGxxx values.  Handle new
	SIOCGIFFRNDLYNAM command.  Simplify copying ifreq data to user space.
	Call get_ifconf with additional SOCKET parameter.
	* net.cc (IP_ADAPTER_UNICAST_ADDRESS_LH): Define.
	(IP_ADAPTER_ADDRESSES_LH): Define.
	(SIO_GET_INTERFACE_LIST): Define.
	(sockaddr_in6_old): Define.
	(sockaddr_gen): Define.
	(INTERFACE_INFO): Define.
	(IN_LOOPBACK): Define.
	(in_are_prefix_equal): New static function.
	(ip_addr_prefix): New function, replaces prefix function, add AF_INET
	handling.
	(GAA_FLAG_INCLUDE_ALL_INTERFACES): Define.
	(get_adapters_addresses): New function.
	(WS_IFF_xxx): Define Winsock interface flag values.
	(convert_ifr_flags): New function to convert Winsock interface flag
	values to Cygwin interface flag values.
	(get_xp_ifconf): New get_ifconf implementation for XP SP1 and above.
	(get_2k_ifconf): Fix interface index.  Fix formatting.
	(get_nt_ifconf): Fix formatting.
	(get_95_ifconf): Ditto.
	(get_ifconf): Take additional SOCKET parameter.  Call get_xp_ifconf
	on XP SP1 and above.
	(if_nametoindex): New function.
	(if_indextoname): New function.
	(if_nameindex): New function.
	(if_freenameindex): New function.
	(in6_are_prefix_equal): Moved here from fhandler_procnet.cc.
	* wincap.cc (wincap_xp): Define has_gaa_prefixes as true by default.
	(wincapc::init): Assume has_osversioninfoex by default.  Call
	GetVersionEx with OSVERSIONINFOEX first.  Call with OSVERSIONINFO only
	if that fails.  Simplify NT4 case and try to avoid strcmp.  Check XP
	Service Pack using version.wServicePackMajor to avoid strcmp.
	* include/asm/socket.h (SIOCGIFFRNDLYNAM): Define.
	* include/cygwin/if.h: Fix formatting.
	(IFF_POINTTOPOINT): Define.
	(IFF_NOARP): Define.
	(IFF_LOWER_UP): Define.
	(IFF_DORMANT): Define.
	(struct if_nameindex): Define.
	(IFRF_FRIENDLYNAMESIZ): Define.
	(struct ifreq_frndlyname): Define.
	(IFNAMSIZ): Redefine as 44.
	(IF_NAMESIZE): Define.
	(struct ifreq): Redefine ifru_flags as int.  Define ifru_data.  Pad size
	to sizeof sockaddr_in6 for further extensions.
	(ifr_data): Define.
	(ifr_frndlyname): Define.
	(if_nametoindex): Declare.
	(if_indextoname): Declare.
	(if_nameindex): Declare.
	(if_freenameindex): Declare.
	* include/cygwin/version.h: Bump API minor number.
	(CYGWIN_VERSION_CHECK_FOR_OLD_IFREQ): Define check for old vs. new
	ifreq structure.
2007-01-21 22:54:05 +00:00
Danny Smith
8212f7686e Oops. The actual change for this entry wasn't committed.
2007-01-11  Gisle Vanem  <giva@users.sourceforge.net>

	* include/winbase.h (struct _OVERLAPPED): Change type of
	Internal, InternalHigh members to ULONG_PTR.
	(PAPCFUNC): Change DWORD parameter to ULONG_PTR.
	(CreateIoCompletionPort): Likewise.
	(PostQueuedCompletionStatus): Likewise.
	(QueueUserAPC): Likewise.
	(GetQueuedCompletionStatus): Change PDWORD parm to PULONG_PTR.
2007-01-19 08:53:00 +00:00
Danny Smith
8dabc54e41 * include/stdio.h (SEEK_SET, SEEK_CUR, SEEK_END): Define
unconditionally.  Change comment.
	* include/unistd.h (SEEK_SET, SEEK_CUR, SEEK_END): Define
	here too.
	* include/io.h (rename): Declare.
	(remove): Declare.
2007-01-19 03:21:09 +00:00
Corinna Vinschen
45fa1f99c6 * spawn.cc (spawn_guts): Don't set cwd for non-Cygwin child processes
on NT to allow starting them in virtual directories.
2007-01-18 21:28:36 +00:00
Corinna Vinschen
2397d888b1 * mmap.cc (list::hash): Fix type to __ino64_t.
(list::get_hash): Ditto.
	(list::set): Add struct stat parameter.  Use that instead of calling
	fstat.
	(map::get_list_by_fd): Ditto.
	(map::add_list): Ditto.
	(mmap_is_attached_or_noreserve): Call get_list_by_fd appropriately.
	(mmap_worker): Add pameters for map list and file stat information.
	Propagate to called functions.
	(mmap64): Use fstat on files early.  Replace call to GetFileSize.
	Call get_list_by_fd and mmap_worker appropriately.
2007-01-18 17:15:59 +00:00
Corinna Vinschen
5ea0aee2ce * fhandler_procnet.cc: Drop declaration of htonl and ntohs. Include
asm/byteorder.h instead.
2007-01-18 10:30:43 +00:00
Corinna Vinschen
4eeaecbc18 * include/cygwin/in6.h: Drop inclusion of asm/byteorder.h.
* fhandler_procnet.cc: Declare htonl and ntohs here.
2007-01-18 10:25:40 +00:00
Corinna Vinschen
96d7dee2f0 * Makefile.in (DLL_OFILES): Add fhandler_procnet.o.
* autoload.cc (GetAdaptersAddresses): Define.
	* devices.h (FH_PROCNET): Define new device.
	* devices.in (dev_procnet_storage): Add "/proc/net" entry.
	* devices.cc: Regenerate.
	* dir.cc (readdir_worker): Use isproc_dev macro.
	* dtable.cc (build_fh_pc): Add FH_PROCNET.
	* fhandler.h (class fhandler_procnet): New class.
	* fhandler_proc.cc: Add "net" subdirectory handling.
	* fhandler_procnet.cc: New file handling "/proc/net" directory.
	* path.cc (isvirtual_dev): Move to path.h.
	* path.h (isproc_dev): New macro to identify /proc files by device.
	(isvirtual_dev): Moved here.  Define using isproc_dev.
	* syscalls.cc (unlink): Use isproc_dev macro.
	* wincap.h (wincapc::has_gaa_prefixes): New element.
	(wincapc::has_gaa_on_link_prefix): New element.
	* wincap.cc: Implement above elements throughout.
	(wincapc::init): Check XP for service pack and set has_gaa_prefixes
	appropriately.
	* include/cygwin/in6.h: Include asm/byteorder.h.
2007-01-17 19:26:58 +00:00
Corinna Vinschen
12ffdde350 * include/asm/socket.h (SIOGIFINDEX): Define. 2007-01-17 13:43:47 +00:00
Corinna Vinschen
9f3e3df961 * mmap.cc (MapView9x): Note possible uselessness of retrying.
(MapViewNT): Ditto.
	(mmap64): Fix pre-reservation to work for non NULL, non MAP_FIXED.
2007-01-17 10:49:24 +00:00
Corinna Vinschen
cbe2437b28 * autoload.cc (RtlAnsiStringToUnicodeString): Define.
(RtlOemStringToUnicodeString): Define.
	* ntdll.h (struct _RTL_USER_PROCESS_PARAMETERS): Define.
	(struct _PEB): Redefine with a bit of content.
	(RtlAnsiStringToUnicodeString): Declare.
	(RtlOemStringToUnicodeString): Declare.
	* path.cc: Include ntdll.h.
	(_upp): New global variable pointing to user process parameter block.
	(get_user_proc_parms): New static function to retrieve user process
	parameter block.
	(close_user_proc_parms_cwd_handle): New function to close handle to
	current working directory in user process parameter block.
	(cwdstuff::init): Drop redundant declaration of dynamically_loaded.
	Set current dir only on 9x.  Call close_user_proc_parms_cwd_handle
	on NT instead.
	(cwdstuff::keep_in_sync): Only on 9x.
	(cwdstuff::set): Keep behaviour on 9x.  On NT write cwd path into user
	process parameter block and set cwd handle to NULL.  Fix comments to
	reflect new behaviour.
2007-01-16 18:01:06 +00:00
Corinna Vinschen
835fc32a3a * fhandler_socket.cc (fhandler_socket::ioctl): Handle SIOCGIFINDEX.
* net.cc (get_2k_ifconf): Ditto.
	(get_nt_ifconf): Fake SIOCGIFINDEX.
	(get_95_ifconf): Ditto.
	(get_ifconf): Handle SIOCGIFINDEX.  Fake it for loopback on systems
	not supporting IP Helper Lib.
	* include/asm/socket.h (SIOCGIFINDEX): Define.
	* include/cygwin/if.h (struct ifreq): Add member for interface index.
	(ifr_ifindex): Define.
2007-01-16 12:01:36 +00:00
Corinna Vinschen
2fd167e6de * include/cygwin/in6.h (struct ipv6_mreq): Change type of interface
member to uint32_t.
	(struct in6_pktinfo): Ditto.
2007-01-16 11:41:55 +00:00
Corinna Vinschen
6281771f37 * include/cygwin/in.h (struct ip_mreq_source): Define.
(struct ip_msfilter): Define.
	(IP_MSFILTER_SIZE): Define.
	(struct in_pktinfo): Define.
	(struct group_req): Define.
	(struct group_source_req): Define.
	(struct group_filter): Define.
	(GROUP_FILTER_SIZE): Define.
	(INADDR_ALLRTRS_GROUP): Define.
	* include/cygwin/socket.h: Define protocol agnostic multicast options.
2007-01-16 11:37:05 +00:00
Corinna Vinschen
153995f846 * CYGWIN_LICENSE: Fix web pages and contact information. 2007-01-15 12:19:01 +00:00
Corinna Vinschen
362359bd10 * ntdll.h: Adjust status definitions. 2007-01-15 11:11:37 +00:00
Corinna Vinschen
5d93eb069e * cygheap.cc (cygheap_init): Add TODO comment. 2007-01-15 11:01:23 +00:00
Corinna Vinschen
5d1dd9308d * ntdll.h (STATUS_SHARING_VIOLATION): Define. 2007-01-15 10:52:15 +00:00
Corinna Vinschen
a0638e5e67 * syscalls.cc (unlink_nt): Don't move files to recycle bin which are
not in use.
2007-01-13 20:56:01 +00:00
Christopher Faylor
b3f40a5fd0 * glob.cc: Update copyright notice with latest from FreeBSD.
(glob0): Use correct type for c variable to propagate previously detected
protection.
2007-01-13 07:10:14 +00:00
Corinna Vinschen
f51b396579 * cygheap.cc (_csbrk): Fix off-by-one error.
* cygwin.sc: Give .cygheap a minimum size of 512K.
2007-01-12 19:40:20 +00:00
Christopher Faylor
5f77729c30 * external.cc (sync_winenv): Use cur_environ () rather than __cygwin_environ. 2007-01-12 15:40:13 +00:00
Corinna Vinschen
0b7c56a5f5 * fork.cc (child_copy): Add missing Windows PID in debug output. 2007-01-12 15:26:02 +00:00
Corinna Vinschen
ee4370fd29 * syscalls.cc: Update copyright. 2007-01-12 14:16:42 +00:00
Danny Smith
9a08dde11a 2007-01-11 Gisle Vanem <giva@users.sourceforge.net>
* include/winbase.h (struct _OVERLAPPED): Change type of
	Internal, InternalHigh members to ULONG_PTR.
	(PAPCFUNC): Change DWORD parameter to ULONG_PTR.
	(CreateIoCompletionPort): Likewise.
	(PostQueuedCompletionStatus): Likewise.
	(QueueUserAPC): Likewise.
	(GetQueuedCompletionStatus): Change PDWORD parm to PULONG_PTR.
2007-01-11 07:11:39 +00:00
Corinna Vinschen
3452cdd3c5 * mmap.cc (mmap64): Pre-Reserve space for the whole mapping to get a
useful, valid address before the actual mappings take place.
	Fix typo in comment.
2007-01-10 09:30:38 +00:00
Corinna Vinschen
ac924d61de * syscalls.cc (sync): Use b_drive for B: drive (Thanks to Howard Chu). 2007-01-10 09:06:20 +00:00
Corinna Vinschen
1656b94637 * syscalls.cc (getpagesize): Change condition for clarity.
(getsystempagesize): Ditto.
2007-01-09 15:46:41 +00:00
Corinna Vinschen
ca9029913a * cygpath.cc (usage): Add -O and -F, remove tabs.
(get_special_folder): New function.
	(get_user_folder): New function.
	(dowin): Add -O and -F, better -D, -P error handling.
	(main): Add -O and -F.
	* utils.sgml (cygpath): Document -O and -F.
2007-01-09 12:17:05 +00:00
Corinna Vinschen
d5b45d2f38 * mmap.cc: Do bookkeeping in 4K pages, rather than in 64K chunks. 2007-01-09 11:18:57 +00:00
Danny Smith
1e848f5e32 2007-02-06 Pierre A. Humblet <Pierre.Humblet@ieee.org>
* windns.h (DNS_TYPE_RP, DNS_TYPE_AFSDB, DNS_TYPE_X25,
	DNS_TYPE_ISDN, DNS_TYPE_RT, DNS_TYPE_NSAP, DNS_TYPE_NSAPPTR,
	DNS_TYPE_SIG, DNS_TYPE_KEY, DNS_TYPE_PX, DNS_TYPE_GPOS,
	DNS_TYPE_AAAA, DNS_TYPE_LOC, DNS_TYPE_NXT, DNS_TYPE_EID,
	DNS_TYPE_NIMLOC, DNS_TYPE_SRV, DNS_TYPE_ATMA, DNS_TYPE_NAPTR,
	DNS_TYPE_KX, DNS_TYPE_CERT, DNS_TYPE_A6, DNS_TYPE_DNAME,
	DNS_TYPE_SINK, DNS_TYPE_OPT, DNS_TYPE_UINFO, DNS_TYPE_UID,
	DNS_TYPE_GID, DNS_TYPE_UNSPEC, DNS_TYPE_ADDRS, DNS_TYPE_TKEY,
	DNS_TYPE_TSIG, DNS_TYPE_IXFR, DNS_TYPE_AXFR, DNS_TYPE_MAILB,
	DNS_TYPE_MAILA, DNS_TYPE_ALL, DNS_TYPE_ANY): Add enum values.
2007-01-08 08:09:15 +00:00
Corinna Vinschen
6bcc8fd7b1 * security.h (setacl): Add parameter for writability flag.
* sec_acl.cc (setacl): Ditto.  Set to true if any ACE with write
	permissions is created.
	* fhandler_disk_file.cc (fhandler_disk_file::facl): Reset
	FILE_ATTRIBUTE_READONLY if ACL contains an ACE with write permissions.
2007-01-07 12:44:10 +00:00
Corinna Vinschen
7ce031f211 * include/strings.h: Don't include string.h. Only declare functions
according to SUSv3.
2007-01-05 15:09:22 +00:00
Corinna Vinschen
0a9e977f62 (get_ifconf): Set MTU for loopback to more correct value. 2007-01-04 10:48:57 +00:00
Corinna Vinschen
bcdf742178 * fhandler_socket.cc (fhandler_socket::ioctl): Don't fake results
for SIOCGIFFLAGS here.  Call get_ifconf instead.
	* net.cc (get_2k_ifconf): Clean up code to generate interface name.
	Handle SIOCGIFFLAGS here.
	(get_nt_ifconf): Fake SIOCGIFFLAGS here.
	(get_95_ifconf): Ditto.
	(get_ifconf): Don't fake loopback on systems with IP Helper Lib.
	Set MTU for loopback to a more "modern" value.
2007-01-04 10:11:27 +00:00
Corinna Vinschen
7bef7db5cc * fhandler.h (PREFERRED_IO_BLKSIZE): Define as 64K.
* fhandler.cc (fhandler_base::fstat): Set st_blksize to
	PREFERRED_IO_BLKSIZE.
	* fhandler_disk_file.cc (fhandler_base::fstat_helper): Ditto.
	* fhandler_mailslot.cc (fhandler_mailslot::fstat): Ditto.
	* fhandler_raw.cc (fhandler_dev_raw::fstat): Ditto.
2007-01-04 09:17:55 +00:00
Corinna Vinschen
960725d6ed * ChangeLog: Happy New Year.
* ChangeLog-2006: Move 2006 changelogs here.
	* spawn.cc: Bump copyright.
2007-01-03 11:14:53 +00:00
Christopher Faylor
e734fdcae9 * spawn.cc (spawn_guts): Don't expect synchronization from a non-cygwin
_P_NOWAIT process.
2007-01-01 19:37:19 +00:00
Keith Marshall
724dbeea36 * include/libgen.h: New file; required by...
* mingwex/basename.c, mingwex/dirname.c: New files.
* mingwex/Makefile.in (DISTFILES): Add them...
(POSIX_OBJS): ...with corresponding basename.o, dirname.o
(Dependencies): Typo; s/Dependancies/Dependencies/
2006-12-31 18:03:33 +00:00
Corinna Vinschen
65c3750e65 * fhandler_disk_file.cc (fhandler_disk_file::readdir): Improve debug
output.
2006-12-21 10:59:47 +00:00
Corinna Vinschen
f2af71ea96 * dumper.cc: Include ansidecl.h before including bfd.h to woraround
a problem with the order in which system include files are included.
2006-12-21 09:59:04 +00:00
Corinna Vinschen
97b09fe1c5 Partially revert change from 2006-10-22. GetSecurityInfo messes up
user information on NT4.
	* sec_helper.cc (security_descriptor::malloc): Drop LocalAlloc
	considerations.
	(security_descriptor::realloc): Ditto.
	(security_descriptor::free): Ditto.
	* security.cc (get_reg_security): Reinstantiate.
	(get_nt_object_security): Revert to using NtQuerySecurityObject.
	* security.h (class security_descriptor): Drop type member.
	Accommodate throughout.
	(security_descriptor::size): Constify.
	(security_descriptor::copy): Ditto.
2006-12-20 17:14:23 +00:00
Christopher Faylor
e09c8fde55 * pinfo.cc (set_myself): Use a more foolproof method for determining if the
current process was started from another cygiwn process.
2006-12-18 21:28:31 +00:00
Corinna Vinschen
c21efb9a85 * libc/minires-os-if.c (cygwin_query): Remove ERROR_PROC_NOT_FOUND case.
(get_dns_info): Verify DnsQuery exists. Use autoloaded GetNetworkParams.
2006-12-15 09:50:32 +00:00
Corinna Vinschen
1fd82398bb * winsup.h (clear_procimptoken): Close hProcImpToken in a safer way. 2006-12-13 11:18:39 +00:00
Corinna Vinschen
56face1741 * security.cc (lsaauth): Initialize lsa to INVALID_HANDLE_VALUE to
avoid potential access violation.
2006-12-13 09:53:42 +00:00