Commit Graph

3316 Commits

Author SHA1 Message Date
00a9e8a063 reword 2002-06-16 23:38:50 +00:00
e40670ee48 * cygheap.h (cygheap_user::issetuid): New method.
* dtable.cc (dtable::vfork_child_dup): Use new method to determine if we are in
"setuid mode."
* fork.cc (fork_parent): Ditto.
* spawn.cc (spawn_guts): Ditto.
* syscalls.cc (seteuid32): Ditto.
(setegid32): Ditto.
* environ.cc (spenv::retrieve): (Suggested by Pierre Humblet) Do potential
recalculation of cygheap_user stuff when in setuid mode.  Return special value
when environment variable exists but should not be added.
(build_env): Don't add retrieved value to dstp if it is 'dont_add'.
2002-06-16 23:34:43 +00:00
45e9463a38 * include/ntdll.h: New file.
* lib/ntdll.def: Add NtShutdownSystem.
2002-06-16 13:21:43 +00:00
1464d11b4b 2002-06-16 Steven Edwards <Steven_Ed4153@yahoo.com>
* lib/dinput.def (DirectInputCreateEx): Add stub.
	* lib/ntdll.def: New file.
2002-06-16 07:19:34 +00:00
a05a9e0123 Changes suggested by Pierre Humblet.
* environ.cc (NL): New macro.
(conv_envvars): Use NL macro to fill in name and namelen.
(spenv::namelen): New field.
(spenvs): Use NL to fill in name and namelen.
(spenv::retrieve): Eliminate length argument.  Instead, use namelen throughout.
(build_env): Don't calculate length of initial FOO= part of environment.
Accommodate spenv::retrive argument change.
2002-06-16 05:45:37 +00:00
5f25e1d11a * cygheap.h (cygheap_user::winname): New field.
* cygheap.cc (cygheap_user::set_name): Clear winname when name changes.
* uinfo.cc (cygheap_user::env_logsrv): Avoid calculating server when Windows
user == SYSTEM.
(cygheap_user::env_domain): Set winname here too.
(cygheap_user::env_userprofile): Eliminate superfluous tests.
(cygheap_user::env_name): Seed winname by calling env_domain().
2002-06-16 05:26:14 +00:00
5c8bce24b3 * spawn.cc (spawn_guts): Revert removal of ciresrv.moreinfo->uid = ILLEGAL_UID. 2002-06-16 04:25:54 +00:00
40a95e4b23 * sim-arm.h (enum sim_arm_regs): Rename sim_arm_regnum. 2002-06-15 22:49:38 +00:00
6ea3e429df * child_info.h (child_proc_info): Declare as base class.
(spawn_info): Declare as alias of child_proc_info to aid debugging.
(fork_info): Ditto.
* cygheap.cc (cygheap_fixup_in_child): Use child_proc_info global rather than
parameter.
* cygheap.h (cygheap_fixup_in_child): Reflect above change in declaration.
* dcrt0.cc (_dll_crt0): Move 'si' definition here.  Assign child_proc_info.
(dll_crt0_1): Accommodate cygheap_fixup_in_child and *_info changes.
* environ.cc (spenv::retrieve): Make regparm.
* environ.h (environ_init): Ditto.
(win_env::add_cache): Ditto.
(build_env): Ditto.
(getwinenv): Ditto.
* fork.cc (sync_with_parent): Use fork_info global.
(fork_child): Ditto.
2002-06-15 21:59:32 +00:00
5ae611458b * include/_mingw.h: Increment to version 2.1.
* Makefile.in: Ditto.
2002-06-15 15:56:58 +00:00
00f55bc3a9 * Makefile.in (conf_prefix): New variable.
(dist_prefix): Ditto. Conditionally set to $(conf_prefix).
	(bindist): Use dist_prefix.
2002-06-15 14:06:21 +00:00
ece3c72f16 * libc/sys/linux/sys/errno.h (EFTYPE): Add macro. 2002-06-15 02:08:12 +00:00
cff111a6bf * uinfo.cc (cygheap_user::ontherange): Don't set HOMEDRIVE or HOMEPATH unless
one or the other is specified.
2002-06-15 01:17:45 +00:00
6d171b4482 * cygheap.h (cygheap_user::userprofile_env_buf): New static member.
* environ.cc (build_env): Add debugging statement.
(spenvs): Switch functions for USERDOMAIN and USERNAME.
* spawn.cc (spawn_guts): Move environment initialization prior to
cygheap_setup_for_child or environment info will never be copied to child.
2002-06-14 21:46:19 +00:00
b56d7e7937 * libc/argz: New directory.
* libc/argz/*: New files.
	* libc/argz/argz_add.c: New file.
	* libc/argz/argz_add_sep.c: New file.
	* libc/argz/argz_append.c: New file.
	* libc/argz/argz_count.c: New file.
	* libc/argz/argz_create.c: New file.
	* libc/argz/argz_create_sep.c: New file.
	* libc/argz/argz_delete.c: New file.
	* libc/argz/argz_extract.c: New file.
	* libc/argz/argz_insert.c: New file.
	* libc/argz/argz_next.c: New file.
	* libc/argz/argz_replace.c: New file.
	* libc/argz/argz_stringify.c: New file.
	* libc/argz/buf_findstr.c: New file.
	* libc/argz/envz_add.c: New file.
	* libc/argz/envz_entry.c: New file.
	* libc/argz/envz_get.c: New file.
	* libc/argz/envz_merge.c: New file.
	* libc/argz/envz_remove.c: New file.
	* libc/argz/envz_strip.c: New file.
	* libc/include/argz.h: New file.
	* libc/include/envz.h: New file.
	* Makefile.am (LIBC_OBJECTLISTS): Add
	libc/argz/objectlist.awk.in.
	* libc/Makefile.am (SUBDIRS): Add argz.
	(SUBLIBS): Add argz/libargz.la.
	* libc/configure.in (AC_OUTPUT): Add argz/Makefile.
	* libc/include/errno.h: Add error_t typedef.
2002-06-14 20:51:09 +00:00
a77d35f7d2 * cygheap.h (cygheap_user): Add static members to hold home{drive,path} info.
* uinfo.cc (cygheap_user::ontherange): Use static class members for local HOME*
storage.
2002-06-14 20:36:42 +00:00
9a771b2961 * cygheap.cc (cygheap_user::set_logsrv): Remove.
(cygheap_user::set_domain): Ditto.
* cygheap.h (cygheap_user::set_logsrv): Remove declaration.
(cygheap_user::set_domain): Ditto.
(cygheap_user::env_domain): Declare new method.
(cygheap_user::env_name): Ditto.
* environ.cc (spenvs): Add two environment variables.
* spawn.cc (spawn_guts): Call build_env after RevertToSelf.  Always set
ciresrv.mount_h.
(cygheap_user::ontherange): Recalculate homedrive/homepath if they are empty.
Use env_logsrv to get logon server.
(cygheap_user::env_logsrv): Calculate server name here rather than relying on
it having been previously calculated.
(cygheap_user::env_domain): Ditto for domain name.
(cygheap-user::env_name): New method.
* syscalls.cc (seteuid32): Do not get or set the environment.  Do not call
LookupAccountSid nor internal_getlogin.  Set cygheap->user name and sid from
the passwd entry.
* uinfo.cc (uinfo_init): Only call internal_getlogin when starting from a non
Cygwin process and use the values returned in user.
(internal_getlogin): Simplify to case where starting from a non Cygwin process.
Store return values in user and return void.  Do not set the Windows default
environment.
* dcrt0.cc (dll_crt0_1): Call uinfo_init only when needed.  Do not set
myself->uid nor reset user.sid.
* spawn.cc (spawn_guts): Get the sid from cygheap->user.  Always
RevertToSelf().  Don't set uid in impersonated case.
* cygheap.cc (cygheap_user::set_sid): Do not set orig_sig.
(cygheap_user::set_orig_sid): New.
* cygheap.h: Declare cygheap_user::set_sid.
* winsup.h: Add argument to uinfo_init().
2002-06-14 18:01:21 +00:00
470e8c460d * environ.cc (build_env): If realloc moves envblock, move s with it. 2002-06-14 14:08:07 +00:00
ced1e577b7 * include/w32api.h: Change to version 2.0 to reflect the change
in the license.
	* README: Renamed.
	* README.w32api: Renamed from README.  Modified license to remove
	the restriction of notifying the author based on the fact that the
	author is unreachable at the notified address.
	* Makefile.in (VERSION): Change to 2.0.
2002-06-14 13:46:12 +00:00
687da29f13 * Makefile.in (bindist): Correct the MinGW distribution. 2002-06-14 12:36:26 +00:00
93b0828bfc Add pthread calls 2002-06-14 11:33:30 +00:00
94a23f4860 * passwd.c: Rearrange includes to avoid unnecessary warnings.
(GetPW): Add parameter to (dis)allow printing of Windows username.
	Use defines instead of numerical constants where possible.
	Try avoiding impersonation problem.  Rearrange to print Windows
	username only if it's different from Cygwin username.
	(ChangePW): Use defines instead of numerical constants where possible.
	(main): Call GetPW with additional parameter.  Change error text.

	* passwd.c (GetPW): Handle case of user-edited /etc/passwd
	with cygwin_internal (CW_EXTRACT_DOMAIN_AND_USER, ...).
2002-06-14 11:31:33 +00:00
d61bc7aad8 * include/wingdi.h (GetEnhMetaFileBits): Correct typo. 2002-06-14 10:29:28 +00:00
d062d3ddec 2002-06-13 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h: Add _Exit prototype.
        * libc/stdlib/Makefile.am: Add _Exit.c support.
        * libc/stdlib/Makefile.in: Ditto.
        * libc/stdlib/_Exit.c: New file.
2002-06-13 23:24:03 +00:00
5cf8f50a53 Fix typo. 2002-06-13 23:06:29 +00:00
a47e66ae3a 2002-06-13 Stephen L. Moshier <steve@moshier.net>
* libm/math/e_pow.c (__ieee754_pow): Fix case whereby
        x is close to -1.0 and y is very large to use ax (absolute value)
        instead of x.
        * libm/math/ef_pow.c (__ieee754_powf): Ditto.
2002-06-13 23:03:01 +00:00
04229a06ac * include/wingdi.h: (GetEnhMetaFileBits): Define prototype. 2002-06-13 18:29:37 +00:00
13f7d71fee * libc/machine/sh/strcpy.S (strcpy, __SHMEDIA__ code):
Fix clobbering bytes before destination if src and dst have same
	non-zero misalignment.
2002-06-13 18:25:19 +00:00
7bbed70832 fix typo 2002-06-13 17:28:50 +00:00
39be53dc4c * winver.rc: Add more words to copyright. 2002-06-13 17:28:11 +00:00
0e6d80e4fa * cygheap.cc (cygheap_user::set_name): Revert previous change.
* environ.cc (spenv::retrieve): Check return value of call to
	cygheap->user.*from_cygheap().
2002-06-13 16:30:18 +00:00
1f1fb4210d * libc/machine/sh/memset.S (memset, __SHMEDIA__ code):
Fixed bug in writing end of set region.
2002-06-13 14:53:17 +00:00
bb1085295a * include/winuser.h (MOUSEHOOKSTRUCT): Define structure. 2002-06-13 11:35:30 +00:00
5682a6dd3d * cygheap.cc (cygheap_user::set_name): Remove setting homedrive and
homepath to NULL.
	(cygheap_user::set_logsrv):  Fix free'ing of plogsrv.
	* cygheap.h (cygheap_user::cygheap_user): Initialize homedrive and
	homepath to NULL.
2002-06-13 11:35:11 +00:00
dc8971488e * include/_mingw.h: Increment version to 2.0.
* Makefile.in: Ditto.
	Merge in mingwex branch.
2002-06-13 10:20:48 +00:00
5f74ae83e5 * security.cc (get_logon_server): Use strcasematch rather than strcasecmp. 2002-06-13 05:30:49 +00:00
4863867ab9 * path.cc (chdir): Minor cleanup. 2002-06-13 03:04:50 +00:00
12a2ef4462 * environ.cc (build_env): Correctly fill out windows environment block with
win32 paths rather than posix paths.
2002-06-13 01:28:51 +00:00
b89a2aac33 2002-06-13 John K. Hohm <jhohm@acm.org>
* include/comcat.h: New file.
2002-06-13 00:13:34 +00:00
65826b61a9 Add the file include/gdb/sim-arm.h defining an enum that specifies the
register numbering used by the GDB<->SIM interface.
2002-06-12 21:19:42 +00:00
325268e1c1 Add dumper.exe words from Egor Duda. 2002-06-12 16:06:10 +00:00
2e1c9cc889 * Makefile.in (CFLAGS_FOR_TARGET): Add -O2. 2002-06-12 15:04:45 +00:00
da086d020c * cygheap.cc (cygheap_user::set_name): Set homedrive and homepath to NULL on
user name change.
(cygheap_user::set_logsrv): Allocate enough space for leading \\ so that we can
put this in the environment, if needed.
* cygheap.h (homebodies): New enum.
(cygheap_user::homedrive): New field.
(cygheap_user::homepath): Ditto.
(cygheap_user::env_logsrv): New method.
(cygheap_user::env_homepath): New method.
(cygheap_user::env_homedrive): New method.
(cygheap_user::env_userprofile): New method.
(cygheap_user::ontherange): New method.
* environ.cc (envsize): Eliminate debugging argument.
(environ_init): Assume that envc counts number of elments not total size.
(spenv): New class.
(spenvs): New array, renamed from forced_winenv_vars, using spenv.
(spenv::retrieve): New method.
(build_env): Rename from 'winenv' -- one stop shopping for building new
environment blocks for both windows and "unix".
* environ.h (build_env: Declare.
(winenv): Delete declaration.
(envsize): Ditto.
* spawn.cc (spawn_guts): Use build_env to build windows and cygwin environment
blocks.
* uinfo.cc (internal_getlogin): Eliminate environment manipulation.  Default to
info from GetUserName if it exists.  Move HOMEPATH and HOMEDRIVE stuff
elsewhere.  Move HOME setting elsewhere.  Only set HOME environment variable in
processes that are not parented by a cygwin process.
(cygheap_user::ontherange): Define new method.
(cygheap_user::env_logsrv): Ditto.
(cygheap_user::env_homepath): Ditto.
(cygheap_user::env_homedrive): Ditto.
(cygheap_user::env_userprofile): Ditto.
2002-06-12 05:13:54 +00:00
09c95bb14f fix comment 2002-06-11 23:30:48 +00:00
077d8b23c8 * spawn.cc (spawn_guts): More hToken removal cleanup. 2002-06-11 16:06:16 +00:00
2fbf4a7f36 Import latest version of texi2pod.pl from FSF GCC sources. 2002-06-11 15:34:33 +00:00
ec43b44bb6 Revoke adding mh-s390xpic. Doesn't make any sense because it is not
referenced from anywhere.
2002-06-11 13:34:24 +00:00
30b212134b 2002-06-11 Martin Schwidefsky <schwidefsky@de.ibm.com>
* mh-s390xpic: New file.
2002-06-11 09:46:38 +00:00
b2e8018f08 * libc/include/process.h: Remove cygwin-only sexec* declarations. Fix spawnve
declaration.
2002-06-11 02:26:43 +00:00
d5377829a8 * spawn.cc (spawn_guts): Define sec_attribs and call sec_user_nih() only once. 2002-06-11 02:22:02 +00:00