Commit Graph

3806 Commits

Author SHA1 Message Date
Corinna Vinschen a2acbfb14e * Makefile.in (CYGWIN_LIB): Variable pointing to libcygwin.a in
the parallel cygwin dir.
	(cygserver.exe): Depend on and link against $CYGWIN_LIB.
2003-11-26 20:05:09 +00:00
Corinna Vinschen f25babdf07 * mkgroup.c (main): Print "root" group with local admins group sid
and gid 0.
2003-11-26 15:47:44 +00:00
Corinna Vinschen cb55867514 * sec_helper.cc (set_process_privilege): Rename restore_priv to
priv_luid.

	* sec_helper.cc (set_process_privilege): Call LookupPrivilegeValue
	before opening the token.
2003-11-26 14:29:22 +00:00
Corinna Vinschen 12069cf31b * dir.cc (mkdir): Use local security_descriptor. Call
set_security_attribute appropriately.
	* external.cc (cygwin_internal): Ditto.
	* fhandler.cc (fhandler_base::open): Ditto.
	* fhandler_socket.cc (fhandler_socket::bind): Ditto.
	* path.cc (symlink_worker): Ditto.
	* sec_acl.cc (setacl): Ditto. Call read_sd appropriately.
	(getace): Ditto.
	* sec_helper.cc (security_descriptor::malloc): New method.
	(security_descriptor::realloc): New method.
	(security_descriptor::free): New method.
	* security.cc (read_sd): Get security_descriptor as parameter instead
	of PSECURITY_DESCRIPTOR and a size. Drop unnecessary parameter check.
	Allocate the security_descriptor buffer according to size returned by
	a call to GetFileSecurity. Return buffer size on success.
	(write_sd): Get security_descriptor as parameter instead of
	PSECURITY_DESCRIPTOR and a size.
	(get_nt_attribute): Use local security_descriptor.
	(get_nt_object_attribute): Ditto in case of type == SE_REGISTRY_KEY.
	Allocate security_descriptor buffer according to size returned by
	a call to RegGetKeySecurity.
	(alloc_sd): Make static. Get security_descriptor as parameter instead
	of PSECURITY_DESCRIPTOR and a size. Drop unnecessary parameter check.
	(set_security_attribute): Get security_descriptor as parameter instead
	of PSECURITY_DESCRIPTOR and a size.
	(set_nt_attribute): Use local security_descriptor.
	(check_file_access): Ditto.
	* security.h: Add class security_descriptor.
	(read_sd): Change declaration to get security_descriptor as parameter
	instead of PSECURITY_DESCRIPTOR and a size.
	(write_sd): Ditto.
	(set_security_attribute): Ditto.
	(alloc_sd): Remove declaration.
	* thread.cc (semaphore::semaphore): Use local security_descriptor. Call
	set_security_attribute appropriately.
2003-11-26 13:23:27 +00:00
Corinna Vinschen 3db690789f * sec_acl.h (getace): Use FILE_*_BITS as permission mask.
* security.cc (get_attribute_from_acl): Ditto.
	* security.h (FILE_READ_BITS): Define to match also GENERIC bits.
	(FILE_WRITE_BITS): Ditto.
	(FILE_EXEC_BITS): Ditto.
2003-11-26 10:52:21 +00:00
Christopher Faylor af284c9c3b * Makefile.in (CXXFLAGS): Remove duplicate options handled in Makefile.common. 2003-11-26 03:52:12 +00:00
Christopher Faylor b5aa10cda8 more white space 2003-11-25 22:59:37 +00:00
Christopher Faylor 8861377a2d more white space 2003-11-25 22:58:32 +00:00
Christopher Faylor 970ca29242 more white space 2003-11-25 22:57:22 +00:00
Christopher Faylor 3654a9dd2f more white space 2003-11-25 22:56:58 +00:00
Christopher Faylor e2b9eb11e5 * thread.cc: Minor whitespace cleanup. Remove some obsolete code. 2003-11-25 22:55:31 +00:00
Christopher Faylor 84f08ba160 * winsup.api/known_bugs.tcl: Remove lseek10 since mknod now works. 2003-11-25 19:24:46 +00:00
Christopher Faylor e00700cd80 * dtable.cc (build_fh_name): Set error in dummy fhandler when one is noted
during path_conv.
* fhandler.h (fhandler_base::set_error): New method.
2003-11-25 02:03:17 +00:00
Christopher Faylor 46c6a3e8eb * configure.in: Avoid using cygserver unless hosting on cygwin. 2003-11-24 17:03:50 +00:00
Danny Smith 3ad60fc808 * include/winnt.h (PAGE_*): Group defines together. Change
constants to hex notation.
2003-11-23 20:29:02 +00:00
Christopher Faylor 4b1bc69287 white space 2003-11-23 17:55:37 +00:00
Corinna Vinschen 95b1156144 * Makefile.in: Make cygserver depending on cygwin. 2003-11-23 09:02:26 +00:00
Christopher Faylor 0af8d6110b * sigproc.cc (sig_send): Correct below checkin. Use
thisframe.call_signal_handler.
2003-11-23 05:42:47 +00:00
Christopher Faylor 0670609d12 * sigproc.cc (proc_exists): A zombie process does not exist.
(sig_send): Improve debugging output.  Wait for pipe to be created before
trying to send to it.  Call call_signal_handler_now if sending a signal to
myself.
2003-11-23 05:34:00 +00:00
Corinna Vinschen c026d84209 * msg.cc (client_request_msg::serve): Add default case to msgop switch.
* sem.cc (client_request_sem::serve): Add default case to semop switch.
	* shm.cc (client_request_shm::serve): Add default case to shmop switch.
2003-11-22 22:37:13 +00:00
Christopher Faylor 876083f32e * dcrt0.cc (check_sanity_and_sync): Correct api major version check so that
newer dlls will work with older apps but not vice versa.
2003-11-22 17:22:59 +00:00
Christopher Faylor ef7acb98aa * sem.cc: Always include signal.h to handle SIGSYS raise when !USE_SERVER.
* shm.cc: Ditto.
* msg.cc: Always include signal.h to handle SIGSYS raise when !USE_SERVER.
2003-11-21 22:22:08 +00:00
Christopher Faylor bfa2e9cbb1 * msg.cc: Always include signal.h to handle SIGSYS raise when !USE_SERVER. 2003-11-21 22:21:05 +00:00
Corinna Vinschen 4bd6628553 * Makefile.in (install): Explicitely create directories. Install
README to $(prefix)/share/doc/Cygwin.
	* README: New file.
2003-11-21 18:10:49 +00:00
Corinna Vinschen e74c79a870 * cygserver.cc (print_usage): Fix scrambled output. 2003-11-21 13:30:33 +00:00
Corinna Vinschen 94cacaf60b * cygserver-config: Slightly modify printed message. 2003-11-20 19:34:00 +00:00
Christopher Faylor d012506e3c * configure.in: Make --use-server the default.
* configure: Regenerate.
2003-11-20 19:31:52 +00:00
Christopher Faylor 7ee8258620 * configure.in: Make --use-server the default. Remove powerpc target.
* configure: Regenerate.
2003-11-20 19:31:41 +00:00
Corinna Vinschen d26c0ff955 * winsup.api/msgtest.c (main): Revert to use the SIGSYS signal handler.
* winsup.api/semtest.c (main): Ditto.
	* winsup.api/shmtest.c (main): Ditto.
2003-11-20 18:25:36 +00:00
Corinna Vinschen bd0e35213d * msg.cc (msgctl): Raise SIGSYS if call not available.
(msgget): Ditto.
	(msgrcv): Ditto.
	(msgsnd): Ditto.
	* sem.cc (semctl): Ditto.
	(semget): Ditto.
	(semop): Ditto.
	* shm.cc (shmat): Ditto.
	(shmctl): Ditto.
	(shmget): Ditto.
	(shmdt): Ditto.
2003-11-20 18:09:44 +00:00
Corinna Vinschen 72f11cac65 * Makefile.in (install): Install cygserver-config script to bindir.
* cygserver-config: New script.
2003-11-20 13:51:34 +00:00
Corinna Vinschen 2010ab333f * winsup.api/msgtest.c: New file derived from FreeBSD, testing
XSI Message Queue support.
	* winsup.api/semtest.c: Ditto, testing XSI Semaphore support.
	* winsup.api/shmtest.c: Ditto, testing XSI Shared Memory support.
2003-11-19 18:51:18 +00:00
Corinna Vinschen e545df31d5 * Makefile.in: Add rules to build ipcrm and ipcs.
* ipcrm.c: New file.
	* ipcs.c: New file.
2003-11-19 18:50:52 +00:00
Corinna Vinschen a6df500f7d * cygserver.h (client_request::request_code_t): Add
CYGSERVER_REQUEST_MSG and CYGSERVER_REQUEST_SEM.
	(admininstrator_group_sid): Add extern declaration.
	* cygserver_ipc.h: Rewrite.
	* cygserver_msg.h: New file.
	* cygserver_sem.h: New file.
	* cygserver_shm.h: More or less rewrite.
	* cygwin.din: Add msgctl, msgget, msgrcv, msgsnd, semctl, semget and
	semop.
	* msg.cc: Rewrite.
	* safe_memory.h: Remove.
	* sem.cc: Rewrite.
	* shm.cc: Rewrite.
	* include/cygwin/ipc.h: Use appropriate guard.
	(struct ipc_perm): Add seq.
	(IPCID_TO_IX): New define from BSD.
	(IPCID_TO_SEQ): Ditto.
	(IXSEQ_TO_IPCID): Ditto.
	(IPC_R): Ditto.
	(IPC_W): Ditto.
	(IPC_M): Ditto.
	* include/cygwin/msg.h: Use appropriate guard. #ifdef _KERNEL all stuff
	not explicitely defined by SUSv3. Use signed types in structs to match
	types used in BSD.
	(msgqnum_t): Define unsigned.
	(msglen_t): Ditto.
	(struct msqid_ds): Add msg_first and msg_last.
	(struct msginfo): Remove msgpool. Add msgssz and msgseg.
	* include/cygwin/sem.h: Use appropriate guard. #ifdef _KERNEL all stuff
	not explicitely defined by SUSv3. Use signed types in structs to match
	types used in BSD.
	(SEM_UNDO): Define appropriately.
	(struct semid_ds): Add sem_base.
	(struct seminfo): Add semmap and semusz.
	(SEM_A): New define from BSD.
	(SEM_R): Ditto.
	(SEM_ALLOC): Ditto.
	(union semun): Define.
	* include/cygwin/shm.h: Use appropriate guard. #ifdef _KERNEL all stuff
	not explicitely defined by SUSv3. Use signed types in structs to match
	types used in BSD.
	(SHMLBA): Define using cygwin_internal(CW_GET_SHMLBA) call.
	(struct shmid_ds): Add shm_internal.
	(struct shm_info): Rename shm_ids to used_ids as in BSD.  Add define
	for shm_ids.
	* include/cygwin/sysproto.h: New file.
	* include/cygwin/version.h: Bump API minor number.
	* include/sys/ipc.h: New file.
	* include/sys/msg.h: New file.
	* include/sys/queue.h: New file from BSD.
	* include/sys/sem.h: New file.
	* include/sys/shm.h: New file.
	* include/sys/sysproto.h: New file.
2003-11-19 18:50:23 +00:00
Corinna Vinschen 282113ba89 Don't use safe_new but new throughout. Fix copyright dates
throughout.
	* Makefile.in: Accomodate all new files and name changes.
	Add a *.d dependency.
	(sbindir): Add.
	(etcdir): Drop in favor of more appropriate sysconfdir definition.
	(sysconfdir): Add.
	(CXXFLAGS): Add -MMD flag. Add SYSCONFDIR definition.
	(.SUFFIXES): Add.
	(install): Add action items.
	(libclean): New target.
	(fullclean): Ditto.
	* bsd_helper.cc: New file.
	* bsd_helper.h: Ditto.
	* bsd_log.cc: Ditto.
	* bsd_log.h: Ditto.
	* bsd_mutex.cc: Ditto.
	* bsd_mutex.h: Ditto.
	* client.cc: Rearrange to build as less as possible if
	__INSIDE_CYGWIN__.
	(client_request::handle_request): Add Message Queue and Semaphore
	handling.
	* cygserver.cc: Rearrange to build as less as possible if
	__INSIDE_CYGWIN__. Use new debug/log/panic logging functions.
	(DEF_CONFIG_FILE): New definition for configuration file.  Use
	throughout.
	(getfunc): Remove.
	(__cygserver__printf): Remove.
	(client_request_attach_tty::serve): Return error if impersonation
	fails.
	(print_usage): Pump up help message.
	(print_version): Add output of default configuration file.
	(main): Accommodate new options.  Allow overwrite of threading options
	from config file.  Call several new initialization functions.  Drop
	printing dots.  Don't define SIGHANDLE inline.
	* cygserver.conf: New file.
	* cygserver_process.h: Rename to process.h.
	* cygserver_transport.h: Rename to transport.h.
	* cygserver_transport_pipes.h: Rename to transport_pipes.h.
	* cygserver_transport_sockets.h: Rename to transport_sockets.h.
	* msg.cc: Rewrite.
	* sem.cc: Rewrite.
	* shm.cc: Rewrite.
	* sysv_msg.cc: New file, derived from FreeBSD version 1.52.
	* sysv_sem.cc: New file, derived from FreeBSD version 1.66.
	* sysv_shm.cc: New file, derived from FreeBSD version 1.89.
	* threaded_queue.cc: Rearrange to build as less as possible if
	__INSIDE_CYGWIN__.
	* transport.cc (transport_layer_base::impersonate_client): Define bool.
	(transport_layer_base::revert_to_self): Ditto.
	* transport.h (transport_layer_base::impersonate_client): Declare bool.
	(transport_layer_base::revert_to_self): Ditto.
	* transport_pipes.cc (transport_layer_pipes::transport_layer_pipes):
	Don't call init_security.
	(init_security): Remove.
	(transport_layer_pipes::accept): Use global sec_all_nih.
	(transport_layer_pipes::connect): Ditto.
	(transport_layer_pipes::impersonate_client): Define bool.
	(transport_layer_pipes::revert_to_self): Ditt.
	* transport_pipes.h (transport_layer_pipes::impersonate_client): Declare
	bool.
	(transport_layer_pipes::revert_to_self): Ditto.
	* woutsup.h: Include bsd compatibility headers.
	(SIGHANDLE): Add definition.
	(__cygserver__printf): Remove definition.
	(__noop_printf): Ditto.
	(debug_printf): Define using debug.
	(syscall_printf): Define using log.
	(system_printf): Ditto.
	Drop all other _printf definitions.
2003-11-19 18:49:41 +00:00
Corinna Vinschen fcd3838ab5 * dtable.cc (build_fh_pc): Resurrect accidentally removed
DEV_CYGDRIVE_MAJOR case.
2003-11-19 11:19:27 +00:00
Corinna Vinschen 7326e3ffd9 Revert most of last check in to ChangeLog. It duplicated
accidentally a big bunch of old entries.
2003-11-19 10:11:46 +00:00
Corinna Vinschen 8f4dfcaa1f * fhandler.cc (fhandler_base::lseek): Include high order offset
bits in return value.
2003-11-17 22:18:42 +00:00
Corinna Vinschen 6e17cee57b * bsdlib.cc (getprogname): New function.
(setprogname): New funtion.
	* cygwin.din: Export getprogname and setprogname.
	* include/cygwin/version.h: Bumb API version number.
2003-11-17 17:25:59 +00:00
Christopher Faylor 490d129f4a * include/limits.h: Revert unsanctioned changes below.
* include/cygwin/config.h: Ditto.
* include/sys/param.h: Ditto.
2003-11-15 17:04:10 +00:00
Manu B 5cdbbdb385 Add Tab control macro 2003-11-15 01:00:06 +00:00
Robert Collins 95d02d5b9b 2003-11-11 Robert Collins <rbtcollins@hotmail.com>
Ron Parker <rdparker@butlermfg.com>

	* bsdlib.cc: Update throughout to use CYG_MAX_PATH rather than MAX_PATH.
	* cygheap.h: Ditto.
	* dcrt0.cc: Ditto.
	* delqueue.cc: Ditto.
	* dlfcn.cc: Ditto.
	* dll_init.cc: Ditto.
	* dll_init.h: Ditto.
	* dtable.cc: Ditto.
	* environ.cc: Ditto.
	* environ.h: Ditto.
	* exceptions.cc: Ditto.
	* external.cc: Ditto.
	* fhandler_disk_file.cc: Ditto.
	* fhandler_proc.cc: Ditto.
	* fhandler_process.cc: Ditto.
	* fhandler_raw.cc: Ditto.
	* fhandler_registry.cc: Ditto.
	* fhandler_socket.cc: Ditto.
	* fhandler_virtual.cc: Ditto.
	* miscfuncs.cc: Ditto.
	* mmap.cc: Ditto.
	* netdb.cc: Ditto.
	* path.cc: Ditto.
	* path.h: Ditto.
	* pinfo.cc: Ditto.
	* pinfo.h: Ditto.
	* pthread.cc: Ditto.
	* registry.cc: Ditto.
	* shared.cc: Ditto.
	* shared_info.h: Ditto.
	* smallprint.c: Ditto.
	* spawn.cc: Ditto.
	* strace.cc: Ditto.
	* syscalls.cc: Ditto.
	* thread.h: Ditto.
	* uinfo.cc: Ditto.
	* winsup.h: Ditto.
	* include/limits.h: Ditto.
	* include/cygwin/config.h: Ditto.
	* include/sys/param.h: Ditto.
2003-11-14 23:40:06 +00:00
Corinna Vinschen 508682370b * mkgroup.c: Avoid compiler warnings throughout.
* mkpasswd.c: Ditto.
	* passwd.c: Ditto.
2003-11-14 19:14:43 +00:00
Christopher Faylor 22ec16a830 * dtable.cc (build_fh_pc): Use DEV_SERIAL_MAJOR to catch all serial ports.
Remove redundant FH_CYGDRIVE case since it is handled by DEV_CYGDRIVE_MAJOR.
2003-11-14 01:37:23 +00:00
David Starks-Browning d15d293f97 minor adjustments to Elfyn's contribution. 2003-11-13 22:23:59 +00:00
David Starks-Browning 10c43de319 Apply Elfyn's patches as supplied in <http://cygwin.com/ml/cygwin-patches/2003-q3/msg00156.html>. 2003-11-13 22:07:36 +00:00
Danny Smith cbae134251 2003-11-13 Martin Fuchs <martin-fuchs@gmx.net>
* include/shlobj.h (ILAppendID, ILClone, ILCloneFirst, ILCombine,
	ILFindChild, ILFindLastID, ILFree, ILGetNext, ILGetSize, ILIsEqual,
	ILIsParent, ILLoadFromStream, ILRemoveLastID, ILSaveToStream):
	Add prototypes.
	* lib/shell32.def: Add stubs.

	* include/commctrl.h (ListView_FindItem): Add type cast to avoid
	compiler warnings.

2003-11-13  Hans Leidekker <hans@it.vu.nl>

	* include/winbase.h (WIN32_STREAM_ID): Correct typedef.
2003-11-13 09:43:08 +00:00
Thomas Pfaff 068834a10f * thread.cc (pthread::exit): Cleanup on thread exit.
(__reent_t::init_clib): Set thread local clib __cleanup var
appropriately.
2003-11-11 19:10:47 +00:00
Christopher Faylor 8398809e7d * miscfuncs.cc (low_priority_sleep): Make a "C" function.
* winsup.h (low_priority_sleep): Revert previous change to declaration.
2003-11-10 21:28:02 +00:00
Corinna Vinschen 07ff303782 * winsup.h (low_priority_sleep): Fix declaration to avoid linker
warning.
2003-11-10 21:17:53 +00:00