Commit Graph

2750 Commits

Author SHA1 Message Date
Corinna Vinschen efcaf0426a * passwd.cc (read_etc_passwd): Never add an entry when starting
on Win95/98/ME if a default entry is present.
	* uinfo.cc (internal_getlogin): Look for the default uid if needed.
	Always call user.set_name ().
2002-11-25 15:11:39 +00:00
Corinna Vinschen f1da8a0664 * sec_acl.cc (getacl): Set errno to ENOSPC if command is GETACL and
nentries is less than the number of entries in the file's ACL.
2002-11-25 11:23:21 +00:00
Corinna Vinschen 19f209011a 2002-11-24 Corinna Vinschen <corinna@vinschen.de>
* sec_acl.cc: Fix some formatting.  Only set and check `other' bits in
	a_perm throughout.  Use ILLEGAL_GID id for all entries having no id.
	(setacl): Fix inheritance condition.
	(getacl): Set all permission bits in CLASS_OBJ and DEF_CLASS_OBJ
	entries.  Remove DENY bits before returning to calling function.
	(acltomode): Fix usage of searchace().  If available, use CLASS_OBJ
	to mask GROUP_OBJ permissions.
	(aclfrommode): Fix usage of searchace().  If available, set CLASS_OBJ
	permissions to same value as GROUP_OBJ permissions.

2002-11-24  Pierre Humblet <pierre.humblet@ieee.org>

	* sec_acl.cc (getace): Fix the behavior when allow and
	deny entries are present in arbitrary order.
	(getacl): Report the actual number of entries when
	aclbufp is NULL, even if nentries is zero. Fix the mask
	reporting, handle the case where the owner and group sids
	are equal and streamline the code.
	(acl_worker): Take allow_ntsec into account.
2002-11-24 18:58:47 +00:00
Corinna Vinschen 2d06bd1109 * setfacl.c (getperm): Set only `other' permission bits.
(getaclentry): Set a_id to -1 by default.
2002-11-24 18:07:30 +00:00
Corinna Vinschen ad2bc53e8f * getfacl.c (permstr): Use `other' permission bits for requesting
ace permissions.
2002-11-24 16:15:33 +00:00
Robert Collins f8c8e13b7e 2002-11-05 Thomas Pfaff <tpfaff@gmx.net>
* dcrt0.cc (dll_crt0_1): Add call to pthread::initMainThread to
        initialize mainthread when it is safe to call new.
        * init.cc (dll_entry): Change call to store reents in tls key.
        * thread.cc (_reent_clib) : Change call to get reents from tls
        key.
        (_reent_winsup): Ditto.
        (MTinterface::Init): Key handling changed. Remove initialization
        of member variables.
        (MTinterface::fixup_after_fork): Reinitialize mainthread object
        after fork. Reset threadount to 1.
        (pthread::initMainThread): Create mainthread object dynamically.
        and initialize with valid handles.
        (pthread::self): Remove calls to create thread objects.
        (pthread::setTlsSelfPointer): Change call to store thread self
        handle in tls key.
        (pthread::getTlsSelfPointer): New static method.
        (pthread::exit): Remove setTlsSelfPointer call.
        (pthread::initCurrentThread): New method.
        (pthread::thread_init_wrapper): Change call to store thread self
        handle in tls key.
        (pthread::join): Check for a valid joiner.
        (pthreadNull::pthreadNull): Mark Null object as detached.
        (pthreadNull::exit): Terminate thread via ExitThread.
        * thread.h (pthread::initMainThread): Change parameter in function
        call.
        (pthread::getTlsSelfPointer): New static method.
        (pthread::initCurrentThread): New method.
        (MTinterface::reent_key): Remove.
        (MTinterface::thread_self_dwTlsIndex): Ditto..
        (MTinterface::indexallocated): Ditto.
        (MTinterface::mainthread): Ditto.
        (MTinterface::reent_key): New member.
        (MTinterface::thread_self_key): Ditto.
        (MTinterface::MTinterface): Initialize all members.
2002-11-24 13:54:14 +00:00
Robert Collins 4f0de34d37 2002-11-25 Robert Collins <rbtcollins@hotmail.com>
* readme: Document running portions of the test suite (Thanks Egor!).
        * winsup.api/pthread/mainthreadexits.c: New file, derived from
        Thomas Pfaff's test cases.
        * winsup.api/pthread/threadidafterfork.c: Ditto.
2002-11-24 13:41:36 +00:00
Christopher Faylor 4497f2a88d * wait.cc (wait4): Force pending signal delivery before waiting for process
completion.
2002-11-23 20:24:08 +00:00
Christopher Faylor 1d676025c9 * include/cygwin/version.h: Bump DLL minor number. 2002-11-23 17:43:46 +00:00
Christopher Faylor 15a3d9cc40 fix typo 2002-11-23 01:27:42 +00:00
Christopher Faylor a0d3c309e4 * exceptions.cc (handle_sigsuspend): Force pending signal delivery before
waiting for signals to happen.
* signal.cc (sleep): Force pending signal delivery before sleeping.
(usleep): Ditto.
(signal): Force pending signal delivery before manipulating signal stuff.
(sigprocmask): Ditto.
(kill_worker): Ditto.
(abort): Ditto.
(sigaction): Ditto.
* syscalls.cc (readv): Force pending signal delivery before I/O.
(writev): Ditto.
(open): Ditto.
* net.cc: Ditto, throughout.
* sigproc.cc (sig_dispatch_pending): Deliver any pending signals prior to
returning.
* tty.cc (tty::make_pipes): Increase pipe buffer size.
2002-11-22 20:51:13 +00:00
Christopher Faylor 8efb9fd7af * include/cygwin/version.h: Fix comment. 2002-11-22 16:27:32 +00:00
Christopher Faylor ad377fe347 * external.cc (cygwin_internal): Fix va_arg references. 2002-11-22 04:50:53 +00:00
Christopher Faylor 13af9a149d * exceptions.cc (sigthread::get_winapi_lock): Just do standard 'give up
timeslice' wait.
(setup_handler): Revamp YA to attempt to deliver signal multiple times on
failure rather than punting to wait_sig.
* miscfuncs.cc (low_priority_sleep): Accept INFINITE sleep to mean "don't reset
the priority after setting it to idle".  Return previous priority.
* winsup.h (SLEEP_0_STAY_LOW): Define.
(low_priority_sleep): Return an int.
* sigproc.h: Define WAIT_SIG_PRIORITY here.
* sigproc.cc: Remove WAIT_SIG_PRIORITY definition.
2002-11-22 04:43:47 +00:00
Corinna Vinschen 647b92a7d4 * security.h: Declare internal_getpwsid and internal_getgrsid.
Undeclare internal_getpwent.  Define DEFAULT_UID_NT.  Change
	DEFAULT_GID.
	* passwd.cc (internal_getpwsid): New function.
	(internal_getpwent): Suppress.
	(read_etc_passwd): Make static.  Rewrite the code for the completion
	line.  Set curr_lines to 0.
	(parse_pwd): Change type to static int.  Return 0 for short lines.
	(add_pwd_line): Pay attention to the value of parse_pwd.
	(search_for): Do not look for nor return the DEFAULT_UID.
	* grp.cc (read_etc_group): Make static.  Free gr_mem and set
	curr_lines to 0.  Always call add_pwd_line.  Rewrite the code for the
	completion line.
	(internal_getgrsid): New function.
	(parse_grp): If grp.gr_mem is empty, set it to &null_ptr.
	Never NULL gr_passwd.
	(getgrgid32): Only return the default if ntsec is off and the gid is
	ILLEGAL_GID.
	* sec_helper.cc (cygsid::get_id): Use getpwsid and getgrsid.
	(cygsid_getfrompw): Clean up last line.
	(cygsid_getfromgr): Ditto.
	(is_grp_member): Use getpwuid32 and getgrgid32.
	* uinfo.cc (internal_getlogin): Set DEFAULT_GID at start.
	Use getpwsid. Move the read of /etc/group after the second access
	to /etc/passwd.  Change some debug_printf.
2002-11-20 17:10:05 +00:00
Corinna Vinschen 3a366b12f6 * poll.cc (poll): ...but set POLLIN instead. 2002-11-20 11:00:15 +00:00
Corinna Vinschen dbcb75780a * security.cc (get_attribute_from_acl): Always test "anti",
just in case an access_denied ACE follows an access_allowed.
	Handle the case owner_sid == group_sid, with a FIXME.
	Remove unnecessary tests for non-NULL PSIDs.
	(alloc_sd): Use existing owner and group sids if {ug}id == -1.
	Handle case where owner_sid == group_sid.
	Do not call is_grp_member. Try to preserve canonical ACE order.
	Remove unnecessary tests for non-NULL PSIDs. Reorganize
	debug_printf's.
	(get_initgroups_sidlist): Put well_known_system_sid on left
	side of ==.
	(add_access_denied_ace): Only call GetAce if inherit != 0.
	(add_access_allowed_ace): Ditto. Use appropriate sizeof.
	* syscalls.cc (chown_worker): Pass {ug}id equal to -1 to
	alloc_sd, which removes the need to obtain old_{ug}id.
	(chmod): Remove call to get_file_attribute (), simply pass
	{ug}id equal to -1 to alloc_sd.
2002-11-20 09:23:21 +00:00
Corinna Vinschen 03b65245db * poll.cc (poll): Don't set POLLERR if a listening socket has a
pending connect.  Don't use errno value from call to
	fhandler_socket::recvfrom().
2002-11-20 08:03:50 +00:00
Christopher Faylor 4b45d8a6f3 * net.cc: Sprinkle sigframes throughout. 2002-11-19 08:01:49 +00:00
Christopher Faylor 78907ddc89 remove unneeded comments 2002-11-19 01:20:58 +00:00
David Starks-Browning 4ed9c1e62e new entry: "Is there a better alternative to the standard console window?" (yes, rxvt) 2002-11-18 00:25:14 +00:00
David Starks-Browning 34fd220461 re. copy/paste in console window: use rxvt instead 2002-11-17 23:54:11 +00:00
David Starks-Browning 52b945c6bf indicate ntsec now on by default 2002-11-17 23:49:14 +00:00
Christopher Faylor 1b6860be30 * tty.cc (tty::make_pipes): Make pipe buffer larger. 2002-11-16 06:22:42 +00:00
Christopher Faylor 463e739282 * grp.cc (getgroups32): Protect against closing cygheap->user.token. 2002-11-16 03:50:56 +00:00
Danny Smith a87878a965 * lib/uuid.c (CATID_InternetAware,CLSID_HttpSProtocol,
CLSID_PSUrlMonProxy,CLSID_StdURLMoniker,IID_IObjectWithSite,
	IID_IPersistMoniker,IID_IProgressNotify): Correct definitions.
	(CLSID_CFontPropPage00, GUID_FONTUNDERSCORE11,
	IID_IOleControlSite89): Remove.
2002-11-16 03:04:41 +00:00
Christopher Faylor d894f55295 * lib/uuid.c (IID_IRunnableObject): Remove duplicate definition.
(IID_IStdMarshalInfo): Ditto.
2002-11-15 21:18:47 +00:00
Christopher Faylor ed2b976b0f * lib/uuid.c (IID_IOleInPlaceSite): Remove duplicate definition.
(IID_IPersistStorage): Ditto.
2002-11-15 21:11:29 +00:00
Christopher Faylor f319cb1ad3 * include/cygwin/version.h: Bump API_MINOR to accommodate below changes.
* cygwin.din (siginterrupt): New export.
* signal.cc (siginterrupt): New.
2002-11-15 19:04:36 +00:00
Christopher Faylor 4b9ddc7dc9 * select.cc (peek_serial): Don't call PurgeComm() to avoid characters loss. 2002-11-15 18:58:12 +00:00
Danny Smith 26eb19efe4 2002-11-15 Weiqi Gao <weiqigao@users.sourceforge.net>
* lib/uuid.c (CLSID_PSClassObject, CLSID_PSEnumerators,
	IID_IClassActivator, IID_IClientSecurity, IID_ICreateTypeInfo,
	IID_ICreateTypeLib2, IID_IOleInPlaceSite, IID_IPersistStorage,
	IID_IRunnableObject, IID_IServerSecurity, IID_IStdMarshalInfo):
	Correct definitions.
2002-11-15 07:13:22 +00:00
Christopher Faylor 6597785dc2 * exceptions.cc (setup_handler): Add debugging output. Set thread priority to
idle if pending signals to allow other threads to get into interruptible state.
* miscfuncs.cc (sys_mbstowcs): Save current thread in variable to avoid an OS
call.
* wait.cc (wait_sig): Reset thread priority each time through loop since the
priority may have been set down to deal with pending signals.
2002-11-15 04:35:13 +00:00
Christopher Faylor d4990113a1 * fhandler_serial.cc (fhandler_serial::tcgetattr): Don't take any special
action when vmin_ == 0.
2002-11-15 02:12:36 +00:00
Danny Smith 540d550a38 * include/ddk/(atm.h, batclass.h, cfg.h, cfgmgr32.h, d4drvif.h,
d4iface.h, ddkmapi.h, hidclass.h, hidpi.h, hidusage.h, mcd.h,
	miniport.h, minitape.h, mountdev.h, mountmgr.h, ndis.h,
	ndisquid.h, ndistapi.h, ndisvan.h, netevent.h, netpnp.h,
	netdev.h, ntapi.h, ntdd8042.h, ntddbeep.h, ntddcdrm.h,
	ntddcdvd.h, ntddchgr.h, ntdddisk.h, ntddk.h, ntddkbd.h,
	ntddmou.h, ntddndis.h, ntddpar.h, ntddpcm.h, ntddscsi.h,
	ntddser.h, ntddstor.h, ntddtape.h, ntddtdi.h, ntddvdeo.h,
	ntddvol.h, ntifs.h, ntpoapi.h, ntstatus.h, parallel.h, pfhook.h,
	poclass.h, scsi.h, scsiscan.h, scsiwmi.h, smbus.h, srb.h,
	storport.h, tdi.h, tdiinfo.h, tdikrnl.h, tdistat.h, tvout.h,
	upssvc.h, usb.h, usb100.h, usbcamdi.h, usbdi.h, usbioctl.h,
	usbiodef.h, usbscan.h, usbuser.h, video.h, videoagp.h, win2k.h,
	winddi.h, winddk.h, winnt4.h, winxp.h, ws2san.h,
	xfilter.h): Change comment to refer w32api package, not MinGW.
2002-11-15 01:08:17 +00:00
Danny Smith 429ae76922 * include/ddk/ntddk.h: Include winnt.h as system header. 2002-11-15 01:02:37 +00:00
Corinna Vinschen 4ce377c9d4 * grp.cc (getgroups32): Revert previous patch. Use impersonation
token if process is in impersonated state.
	* sec_helper.cc (is_grp_member): Rewrite.  Call getgroups32 only
	for current user.  Scan passwd and group info otherwise.
2002-11-14 19:19:39 +00:00
Christopher Faylor 33902276b1 checking previously ChangeLog'ed file. 2002-11-14 18:02:05 +00:00
Christopher Faylor 5b213f8bd6 * fhandler_console.cc (fhandler_console::write): Allow characters >= 0177 to be
displayed in the title bar.
2002-11-14 17:46:58 +00:00
Corinna Vinschen dae01cb624 * grp.cc (getgroups32): Don't use access token of current user when
retrieving group info for another user.
2002-11-14 10:28:55 +00:00
Christopher Faylor 052990e6b3 * dll_init.cc (dll_list::detach): Eliminate reliance on passed in dll address.
Infer from module of caller instead.
(cygwin_detach_dll): Ignore dll_index argument.
* dll_init.h (dll_list::detach): Reflect argument change above.
2002-11-14 04:29:39 +00:00
Christopher Faylor a2dea5c333 * ioctl.cc (ioctl): Always print ioctl results, even when it's a tty.
* winsup.h (low_priority_sleep): Declare.
2002-11-14 02:15:23 +00:00
Christopher Faylor 40e4147f4e * winsup.h (low_priority_sleep): Declare. 2002-11-13 22:08:05 +00:00
Christopher Faylor c0a02a4b42 * miscfuncs.cc (low_priority_sleep): New function. Use throughout where code
is supposed to be giving up time slice.
* fhandler_console.cc (fhandler_console::read): Switch button 2/3 output escape
sequences to be consistent with xterm.
2002-11-13 19:36:12 +00:00
David Starks-Browning e0900ffdb5 Update Emacs-related entries (new Cygwin port, details on XEmacs ports) 2002-11-13 00:23:18 +00:00
Danny Smith 6ac7b97610 * include/ddk/(atm.h, batclass.h, cfg.h, cfgmgr32.h, d4drvif.h,
d4iface.h, ddkmapi.h, hidclass.h, hidpi.h, hidusage.h, mcd.h,
	miniport.h, minitape.h, mountdev.h, mountmgr.h, ndis.h,
	ndisquid.h, ndistapi.h, ndisvan.h, netevent.h, netpnp.h,
	netdev.h, ntapi.h, ntdd8042.h, ntddbeep.h, ntddcdrm.h,
	ntddcdvd.h, ntddchgr.h, ntdddisk.h, ntddk.h, ntddkbd.h,
	ntddmou.h, ntddndis.h, ntddpar.h, ntddpcm.h, ntddscsi.h,
	ntddser.h, ntddstor.h, ntddtape.h, ntddtdi.h, ntddvdeo.h,
	ntddvol.h, ntifs.h, ntpoapi.h, ntstatus.h, parallel.h, pfhook.h,
	poclass.h, scsi.h, scsiscan.h, scsiwmi.h, smbus.h, srb.h,
	storport.h, tdi.h, tdiinfo.h, tdikrnl.h, tdistat.h, tvout.h,
	upssvc.h, usb.h, usb100.h, usbcamdi.h, usbdi.h, usbioctl.h,
	usbiodef.h, usbscan.h, usbuser.h, video.h, videoagp.h, win2k.h,
	winddi.h, winddk.h, winnt4.h, winxp.h, ws2san.h,
	xfilter.h): Fix typo in disclaimer comment.
2002-11-12 21:34:07 +00:00
Danny Smith 4308e5b0dd * include/exdisp.h: Include oaidl.h as system header. 2002-11-12 21:25:23 +00:00
Earnie Boyd 1f90279128 * include/w32api.h (__W32API_VERSION): Fix. 2002-11-12 16:13:51 +00:00
Corinna Vinschen 7a11fe607e * syscalls.cc (chmod): Simplify conditional.
* sec_helper (cygsid::getfromstr): Reorganize to remove
	calls to strcpy and strtok_r.
	(cygsid::getfromgr): Change type to __uid32_t instead of int.
	Keep only the allow_ntsec branch. Never call LookupAccountSid
	which calls PDCs, simply return -1 in case of failure.
	Use cygsid == instead of calling EqualSid and remove test
	for NULL psid.
	* security.h: Declare cygsid::getfromgr as __uid32_t.
2002-11-12 15:51:11 +00:00
Christopher Faylor 1b5f0e595b * how-programming.texinfo: Document _WIN32 more fully. 2002-11-10 19:38:26 +00:00
Corinna Vinschen 7922485391 * net.cc: Run indent.
* autoload.cc (GetIfEntry): Add symbol.
	* net.cc (get_2k_ifconf): Get the interface entries with the GetIfEntry
	call intead of the GetIfTable call. Clean-up multiple IP address naming.
2002-11-10 13:43:26 +00:00
Danny Smith 5d7bffe927 2002-11-09 Weiqi Gao <weiqigao@users.sourceforge.net>
* lib/uuid.c (IID_ICatInformation): Correct definition.
2002-11-10 04:14:31 +00:00
Christopher Faylor ec61cd7268 correct date 2002-11-10 00:51:25 +00:00
Danny Smith 9da547ff26 * include/math.h (sqrt): Remove inline definition.
(sqrtf): Replace inline definition with prototype.
	(sqrtl): Likewise.
	* mingwex/math/sqrtf.c (sqrtf): Set domain error if
	argument less than zero.
	* mingwex/math/sqrtf.c (sqrtl): Likewise.

	Correct typo in 2002-10-30 ChangeLog entry.
2002-11-09 10:44:02 +00:00
Christopher Faylor 49f7ea1675 * fhandler.h (class fhandler_pipe): New ioctl() method.
* pipe.cc (fhandler_pipe::ioctl): New.
2002-11-09 03:17:40 +00:00
Corinna Vinschen 7c4f9b9a05 * setfacl.c (usage): Add missing LF. 2002-11-08 10:22:58 +00:00
Danny Smith 00970f126e * include/oleauto.h (DeregisterTypeLib): Remove.
(UnRegisterTypeLib): Add prototype.
2002-11-08 00:00:01 +00:00
Christopher Faylor 783747919d * fhandler_serial.cc (fhandler_serial::ioctl): Fix typo. 2002-11-07 18:47:21 +00:00
Corinna Vinschen cad2c685b4 * include/cygwin/fs.h: New file.
* include/cygwin/hdreg.h: New file.
	* fhandler_floppy.cc (fhandler_floppy::ioctl): Add implementation for
	HDIO_GETGEO, BLKGETSIZE, BLKGETSIZE64, BLKRRPART and BLKSSZGET ioctls.
2002-11-07 14:16:29 +00:00
Corinna Vinschen 963fb8837d * include/winioctl.h: Add definition for IOCTL_DISK_UPDATE_DRIVE_SIZE. 2002-11-07 14:14:01 +00:00
Corinna Vinschen 59ba222ca2 * fhandler_socket.cc (fhandler_socket::ioctl): Return correct flags
for loopback interface when name is given on input instead of address.
2002-11-07 10:22:26 +00:00
Corinna Vinschen 0be1147408 * cygwin.din: Export fseeko() and ftello().
* include/cygwin/version.h: Bump API minor version.
2002-11-07 09:08:40 +00:00
Christopher Faylor f7618386af minor reformat 2002-11-07 03:41:16 +00:00
Christopher Faylor c8fae3c17b * fhandler_console.cc (keytable[]): Revert previous change. It would break too
many things.
2002-11-07 03:35:02 +00:00
Christopher Faylor 6c2d501195 * fhandler_console.cc (keytable[]): Redefine F1 - F5 to something a little more
sensical.
2002-11-07 03:16:08 +00:00
Christopher Faylor c759d297b2 * syscalls.cc (getutid): Use UT_IDLEN where appropriate. 2002-11-07 02:50:50 +00:00
Christopher Faylor 4248a1d7f8 * include/cygwin/version.h: Bump API minor number for below export.
* cygwin.din (pututline): New exported function.
* syscalls.cc (login): Use pututiline().
(setutent): Open utmp as read/write.
(endutent): Check if utmp file is open.
(utmpname): call endutent() to close current utmp file.
(getutid): Enable all cases, use strncmp() to compare ut_id fields.
(pututline): New.
* tty.cc (create_tty_master): Set ut_pid to current pid.
2002-11-07 02:19:52 +00:00
Christopher Faylor 2035f402e4 * fhandler_serial.cc (fhandler_serial::ioctl): Don't try to figure out if OS
has the capability to retrieve RTS/CTS.  Just set default values if
DeviceIoControl fails.  (suggested by Sergey Okhapkin)
2002-11-06 01:50:32 +00:00
Christopher Faylor 087a28bf5e * fhandler_serial.cc (fhandler_serial::raw_read): Use correct type for
minchars.
(fhandler_serial::ioctl): Set errno if the ClearCommError fails.
(fhandler_serial::tcsetattr): Use correct value for vmin_.
(fhandler_serial::tcgetattr): Ditto.
2002-11-05 23:15:04 +00:00
Christopher Faylor 2f5e9ace2e * fhandler_socket.cc (fhandler_socket::recvmsg): Call if from == NULL
WSARecvFrom with fromlen = NULL.
2002-11-05 16:49:58 +00:00
Christopher Faylor ef1bf288df * pinfo.cc (_pinfo::commune_send): Fix thinko in previous checkin. 2002-11-05 04:52:52 +00:00
Christopher Faylor d263732238 * pinfo.cc (_pinfo::commune_send): Set priority low when sleeping, waiting for
commune completion so that we don't spin waiting for lower priority processes.
2002-11-05 04:43:02 +00:00
Christopher Faylor 73f7245be2 revert erroneous checkins 2002-11-05 04:24:48 +00:00
Christopher Faylor 5806add291 * sigproc.cc (WAIT_SIG_PRIORITY): Bump to THREAD_PRIORITY_TIME_CRITICAL. 2002-11-05 04:23:41 +00:00
Christopher Faylor f57289609b * pinfo.cc (_pinfo::commune_send): Initialize buffer or suffer random crashes. 2002-11-05 03:39:25 +00:00
Christopher Faylor 8948b6585d * fhandler_process.cc (fhandler_process::fill_filebuf): Deal with error
condition from cmdline retrieval.
2002-11-05 03:21:32 +00:00
Christopher Faylor 43a299881f * sigproc.cc (WAIT_SIG_PRIORITY): Bump to highest priority. 2002-11-05 02:58:10 +00:00
Christopher Faylor d4e7dfae8e * include/cygwin/version.h: Bump DLL minor number. 2002-11-04 05:08:15 +00:00
Christopher Faylor b6183403ae * fhandler_serial.cc (fhandler_serial::ioctl): Reformat. Set errno
appropriately.  Exit from the bottom.  Correctly deal with third argument for
TCFLSH.  (Suggested by Sergey Okhapkin)
2002-11-04 04:09:14 +00:00
Danny Smith 2f14399c16 * include/winnt.h (VerSetConditionMask): Add prototype.
* lib/kernel32.def (VerifyVersionInfo[AW]): Add stubs.
2002-11-04 03:53:53 +00:00
Christopher Faylor 2601ab5778 * fhandler_tty.cc (fhandler_tty_slave::ioctl): Do nothing if the new window
size is equal to the old one.  Send SIGWINCH if slave connected to a pseudo
tty.
(fhandler_pty_master::ioctl): Do nothing if the new window size is equal to the
old one.
2002-11-04 01:10:38 +00:00
Christopher Faylor 3593c18730 space 2002-11-02 03:31:15 +00:00
Pierre Humblet fe5ba95245 2002-10-31 Pierre Humblet <pierre.humblet@ieee.org>
* fhandler.cc (fhandler_base::open): Verify pc isn't NULL.
2002-11-01 01:47:29 +00:00
Christopher Faylor cf157504a8 * cygpath.cc (get_long_path_name_w32impl): Define similarly to GetLongPathName.
(get_long_name): Correctly prototype GetLongPathName.
(get_long_paths): Implement using get_long_name to cut down on code
duplication.
(doit): Do various things to make path output work predictably.
2002-10-31 02:40:26 +00:00
Christopher Faylor bfb1f3e04f * include/cygwin/version.h: Bump DLL minor number. 2002-10-30 21:06:21 +00:00
Christopher Faylor 831d6fa520 * external.cc (cygwin_internal): Implement CW_CMDLINE.
* pinfo.h (SIGCOMMUNE): New signal type.
(commune_result): New structure for commune functions.
(picom): New enum for commune functions.
(_pinfo::hello_pid): New.  Pid who's communicating with me.
(_pinfo::tothem): New.  Handle of communicating pipe.
(_pinfo::fromthem): Ditto.
(_pinfo::commune_recv): Declare.
(_pinfo::commune_send): Declare.
(_pinfo::alive): Declare.
(_pinfo::cmdline): Declare.
(_pinfo::lock): Declare.
* pinfo.cc (set_myself): Initialize new _pinfo lock.
(_pinfo::alive): Define.  Determines if process still exists.
(_pinfo::commune_recv): Define.  Receive info from another cooperating process.
(_pinfo::commune_send): Define.  Send info to another cooperating process.
(_pinfo::cmdline): Define.  Determine command line of a given process.
* include/sys/cygwin.h (CW_CMDLINE): Define.
*sigproc.cc (talktome): Communicate with any processes who want to talk to me.
(wait_sig): Honor __SIGCOMMUNE.
* fhandler.cc (fhandler_virtual::fixup_after_exec): Declare.
* fhandler_proc.cc: Use malloc/free/realloc throughout rather than cmalloc
since buffers don't need to be propagated to subprocesses.
* fhandler_registry.cc: Ditto.
* fhandler_virtual.cc: Ditto.
(fhandler_virtual::fixup_after_exec): Define.
* fhandler_process.cc: Ditto for malloc/free/realloc.
(process_listin): Add "cmdline".
(fhandler_process::fill_filebuf): Implement PROCESS_CMDLINE.
* miscfuncs.cc (isalpha_array): New array populated with xor values for alpha
characters to switch from one case to another.
* string.h (cygwin_strcasematch): New asm implementation of case match.
* string.h (cygwin_nstrcasematch): New asm implementation of counted case
match.
2002-10-30 21:05:18 +00:00
Danny Smith 4c8eba2cf3 2002-10-30 Guido Serassio <serassio@libero.it>
* include/stdio.h (_getnaxstdio): Add prototype.
         (_setmaxstdio): Likewise.
2002-10-30 01:07:54 +00:00
Christopher Faylor 950a7601d1 * pwdgrp.h (pwdgrp_read::open): Compare fh to INVALID_HANDLE_VALUE. 2002-10-24 14:33:13 +00:00
Joshua Daniel Franklin a8ab20942e * ntsec.sgml: Correct some minor grammatical errors. 2002-10-23 04:29:46 +00:00
Joshua Daniel Franklin 0fd3e6ea29 * dll.sgml: Simplify dll build instructions. 2002-10-23 03:55:34 +00:00
Christopher Faylor 281e3b2423 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Nevermind. Revert
everything to previous state wrt ntsec and exec bits.
2002-10-23 02:32:34 +00:00
Christopher Faylor 082512aea1 * shared.cc (shared_info::initialize): Use correct value for version
comparison.
* include/cygwin/version.h (CYGWIN_VERSION_MAGIC): Use all of a DWORD for magic
calculation.
2002-10-23 02:20:38 +00:00
Christopher Faylor 046a4e718e * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Oops. Only do the
executable thing for #! scripts since .exe files wouldn't be executable in
ntsec case regardless.
2002-10-22 21:35:21 +00:00
Christopher Faylor 7dcbb978e0 * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Always consider
.exe files and '#!' shell scripts to be executable.
2002-10-22 20:41:31 +00:00
Christopher Faylor d525130f04 * cygthread.cc (cygthread::exiting): New variable.
(cygthread::initialized): Delete.
(cygthread::stub): Use exiting variable to determine when to exit.
(cygthread::runner): Delete.
(cygthread_protect): New variable.
(cygthread::init): Don't start runner thread.  Initialize muto for list
protection.
(cygthread::freerange): Return pointer to cygthread.
(cygthread::operator new): Change logic to start threads on an as-needed basis.
(cygthread::detach): Don't zero id.
(cygthread::terminate): Don't kill any executing threads.  Just set exiting
flag.
* cygthread.h (cygthread): Reflect above changes.
* dcrt0.cc (dll_crt0_1): Move cygthread initialization later.
* fork.cc (fork_child): Do fdtab fixup after dll fixup or (apparently) winsock
may allocate memory in dll load address.
2002-10-22 20:16:31 +00:00
Christopher Faylor 329b9ead3e * sec_helper.cc (cygsid::get_id): If the sid matches a sid stored in
cygheap->user, return the uid or gid from myself.
* security.cc (alloc_sd): If gid == myself->gid, return the group sid from
cygheap->user.  Remove the test for uid == original_uid, which is
counter-productive.
2002-10-22 16:22:10 +00:00
Christopher Faylor 1cc651ecaf * cygheap.cc (cygheap_fixup_in_child): Use user_heap element in cygheap.
(init_cheap): Ditto for declaration.
* fork.cc (fork_parent): Use user_heap element in cygheap.
* heap.h (inheap): Ditto.
* heap.cc (sbrk): Ditto.
(heap_init): Ditto.  Reorganize to shrink heap chunk as required and record new
value in cygheap.
* dcrt0.cc (dll_crt0_1): More "move the cygthread init" games.
* shared.cc (open_shared): Rework memory protection to properly deal with
relocated shared segment.
(shared_info::heap_chunk_size): Rename element to 'heap_chunk'.
* shared_info.h (shared_info): Ditto for declaration.
* strace.cc (strace::hello): Report on heap chunk size from cygheap since it
may shrink.
2002-10-22 16:18:55 +00:00
Christopher Faylor 5ec14fe40a Change _function() to function() throughout.
* cygwin.din: Remove last vestiges (?) of newlib wrappers.
* cygthread.cc (cygthread::detach): Always wait for event or suffer an
apparently inavoidable race.
* dcrt0.cc (dll_crt0_1): Allocate threads after stack has been relocated.
* debub.cc (lock_debug): Don't acquire lock on exit.
* fork.cc (fork_child): Recreate mmaps before doing anything else since Windows
has a habit of using blocks of memory in the child that could previously have
been occupied by shared memory in the parent.
* mmap.cc (fhandler_disk_file::fixup_mmap_after_fork): Issue error here and
provide some details about what went wrong.
(fixup_mmaps_after_fork): Remove error message.
* shared.cc (open_shared): Move warning message so that more detail is
possible.
* sigproc.cc (sigproc_init): Initialize sync_proc_subproc to avoid a race.
(sigproc_terminate): Specifically wait for process thread to terminate.
2002-10-21 01:00:58 +00:00
Christopher Faylor ccefaab1d5 * cygthread.cc (cygthread::stub): Fix typo.
(cygthread::terminate): Don't zero thread handle prior to using it.
2002-10-20 18:17:43 +00:00
Christopher Faylor cf70a7e372 fix typo 2002-10-20 04:53:30 +00:00
Christopher Faylor 818089d9c8 missed checkin 2002-10-20 04:46:31 +00:00