summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
Commit message (Collapse)AuthorAgeFilesLines
* * getopt.cc (opterr): Reinstate initialization.Christopher Faylor2003-09-164-4/+13
| | | | | | | (optind): Ditto. (optopt): Ditto. * pinfo.cc: Include cygheap.h or suffer compile error. * shared.h: Reset magic number.
* * exceptions.cc (sig_handle_tty_stop): Fix boneheaded mistake by using correctChristopher Faylor2003-09-162-1/+6
| | | | check for parent state rather than inverted check.
* 2003-09-15 Pierre Humblet <pierre.humblet@ieee.org>Pierre Humblet2003-09-167-32/+52
| | | | | | | | | | | | | | | | | | | * security.h (__sec_user): Add "access2" argument. (sec_acl): Add "original" and "access2" arguments. (sec_user): Add "sid2" and "access2" argument. Remove dependence on allow_ntsec. (sec_user_nih): Ditto. * sec_helper.cc (__sec_user): Add "has_security" test. Call sec_acl with new arguments, letting it handle original_sid. (sec_acl): Add "original" and "access2" arguments. Handle original_sid depending on flag but avoiding duplicates. Use "access2" for sid2. * pinfo.cc (pinfo::init): Use security attributes created by sec_user when creating the mapping. * security.cc (create_token): Adjust arguments in call to sec_acl. Call sec_user instead of __sec_user. * syscall.cc (seteuid32): Adjust arguments in call to sec_acl. Remove now unnecessary test. Remove useless conversions to psid. * dcrt0.cc (dll_crt0_1): Call cygsid::init before pinfo_init.
* * Makefile.in: Make malloc_wrapper -fomit-frame-pointer.Christopher Faylor2003-09-146-18/+28
| | | | | | | | * cygwin.din: Remove extraneous mallinfo definition. * dcrt0.cc (quoted): Use strechr for efficiency. * fhandler.cc (fhandler_base::write): Correctly use get_output_handle rather than get_handle. (fhandler_base::lseek): Use method for accessing name in debug output.
* * fhandler_disk_file.cc (path_conv::ndisk_links): Fix potential off-by-oneChristopher Faylor2003-09-142-1/+7
| | | | problem when first file in a directory is a directory.
* * include/sys/cygwin.h: Rename PID_UNUSED to PID_MAP_RW.Christopher Faylor2003-09-136-8/+19
| | | | | | | | | * pinfo.cc (pinfo_init): Initialize myself->gid. (pinfo::init): Create the "access" variable, set it appropriately and use it to specify the requested access. * exceptions.cc (sig_handle_tty_stop): Add PID_MAP_RW in pinfo parent. * signal.cc (kill_worker): Ditto for pinfo dest. * syscalls.cc (setpgid): Ditto for pinfo p.
* * include/cygwin/version.h: Bump DLL minor number to 5.Christopher Faylor2003-09-132-1/+5
|
* * thread.cc (MTinterface::fixup_after_fork): Remove code which potentiallyChristopher Faylor2003-09-132-4/+7
| | | | | overwrote _impure pointer with contents of thread which invoked fork since this eliminates important information like the pointer to the atexit queue.
* * fhandler_disk_file.cc (path_conv::ndisk_links): Fix problem where searchChristopher Faylor2003-09-122-2/+8
| | | | characters overwrote the path instead of being tacked on the end.
* * dcrt0.cc (_dll_crt0): Accommodate breaking apart of early_stuff_init.Christopher Faylor2003-09-125-9/+36
| | | | | | | | | | | | | | | * exceptions.cc (early_stuff_init): Delete. (init_console_handler): New function - top half of early_stuff_init. (init_global_security): New function - bottom half of early_stuff_init. (sig_handle): Avoid special hExeced test for SIGINT. Just terminate the captive process. (signal_exit): Add debugging output. * fhandler_tty.cc (fhandler_tty_slave::open): Don't allocate a console if one already seems to exist. Properly initialize ctrl-c handling if we do allocate a console. * winsup.h (early_stuff_init): Delete declaration. (init_console_handler): New declaration. (init_global_security): New declaration.
* * fhandler_disk_file.cc (path_conv::ndisk_links): Rename from num_entries.Christopher Faylor2003-09-113-25/+60
| | | | | | | | Accept an argument and calculate any extra links needed based on missing . and .. entries. (fhandler_disk_file::fstat_helper): Always call pc->ndisks_links() to calculate the number of links. * path.h (path_conv::ndisk_links): Declare.
* * path.cc (normalize_posix_path): Put check for '//' prefix back to denote aChristopher Faylor2003-09-112-5/+10
| | | | | UNC path. (slash_unc_prefix_p): Remove vestige of old //c method for accessing drives.
* * dir.cc (rmdir): Add more samba workarounds.Christopher Faylor2003-09-112-2/+11
|
* * shared.cc (user_shared_initialize): Revert length attribute for nameCorinna Vinschen2003-09-112-1/+6
| | | | variable to be just UNLEN + 1.
* * shared_info.h (shared_info::initialize): Remove argument.Christopher Faylor2003-09-106-70/+80
| | | | | | | | | | | | | | | * cygheap.h (cygheap_user::init): New declaration. * uinfo.cc (cygheap_user::init): New. (internal_getlogin): Move functionality to cygheap_user::init. Open the process token to update the group sid. * shared.cc (user_shared_initialize): Get the user information from cygheap->user. (shared_info::initialize): Remove argument. Call cygheap->user.init instead of cygheap->user.set_name. (memory_init): Do not get the user name and do not pass it to shared_info::initialize. * registry.cc (get_registry_hive_path): Make csid a cygpsid. (load_registry_hive): Ditto.
* * fhandler_disk_file.cc (num_entries): Take . and .. into account if they doChristopher Faylor2003-09-103-14/+23
| | | | | | | not exist since cygwin simulates them. (fhandler_cygdrive::fstat): Ditto. (fhandler_cygdrive::readdir): Don't do any specific tests on __d_position when seeing if a drive exists.
* * Makefile.in (DLL_OFILES): Add getopt.o and iruserok.o.Corinna Vinschen2003-09-109-200/+190
| | | | | | | | | | | | | | | | * cygwin.din: Export __check_rhosts_file, __rcmd_errstr, optarg, opterr, optind, optopt, optreset, getopt, getopt_long, iruserok and ruserok. * getopt.c: Moved from lib to here. Define opt* variables as dllexport. * iruserok.c: Moved from lib to here. Rearrange function order. Prefer using 64/32 bit functions. * syscalls.cc (shell_fp): Define as struct __sFILE64. (getusershell): Use fopen64 instead of fopen. * winsup.h: Add declarations for seteuid32, fopen64, cygwin_gethostbyname and cygwin_inet_addr. * include/getopt.h: Declare opt* variables dllimport. * include/cygwin/version.h: Bump API minor number.
* * exceptions.cc (sig_handle_tty_stop): Check parent PID_NOCLDSTOP rather thanChristopher Faylor2003-09-102-1/+6
| | | | erroneously checking *my own* sigtodo.
* * Makefile.in: Add some more -fomit-frame-pointer files.Christopher Faylor2003-09-104-1/+19
| | | | | | * path.cc (conv_path_list_buf_size): Free normalized_path or suffer memory leak. * syscalls.cc (chroot): Ditto.
* * Makefile.in (DLL_OFILES): Add bsdlib.o.Corinna Vinschen2003-09-1012-35/+590
| | | | | | | | | | | | | | | | | | | | | | | | | | * autoload.cc (RegisterServiceProcess): Add. * bsdlib.cc: New file. (daemon): New function. (login_tty): Ditto. (openpty): Ditto. (forkpty): Ditto. * cygwin.din: Export daemon, forkpty, login_tty, logwtmp, updwtmp, openpty and revoke. * syscalls.cc (updwtmp): New function, writing to wtmp exclusively. (logwtmp): Ditto. (login): Call updwtmp instead of writing to wtmp by itself. (logout): Ditto. * tty.cc (revoke): New funtion. * include/paths.h: Define _PATH_DEVNULL. * include/pty.h: New header. * include/cygwin/version.h: Bump API minor number. * include/sys/utmp.h: Declare logwtmp with const arguments. Declare updwtmp. * lib/iruserok.c: New file. (ruserok): New function. (iruserok): Ditto. (__ivaliduser): Ditto. (__icheckhost): Ditto.
* * fhandler_socket.cc (fhandler_socket::fstat): Don't use PC_POSIX.Corinna Vinschen2003-09-102-2/+5
|
* 2003-09-09 Pierre Humblet <pierre.humblet@ieee.org>Pierre Humblet2003-09-106-36/+107
| | | | | | | | | | | | | | | * shared_info.h: Include security.h. (open_shared): Add psa argument. (user_shared_initialize): New declaration. * security.h: Add _SECURITY_H guard. (sec_user): Use sec_none in the no ntsec case. * spawn.cc (spawn_guts): Remove call to load_registry_hive. * syscalls (seteuid32): If warranted, call load_registry_hive, user_shared_initialize and RegCloseKey(HKEY_CURRENT_USER). * shared.cc (user_shared_initialize): New. (open_shared): Add and use psa argument. (memory_init): Move mount table initialization to user_shared_initialize. Call it.
* * mmap.cc (mmap64): Change address types from caddr_t to void *Corinna Vinschen2003-09-093-72/+83
| | | | | | | | | according to SUSv3. (mmap): Ditto. (munmap): Ditto. (msync): Ditto. (mprotect): Ditto. Move to before the fhandler methods. * include/sys/mman.h: Change prototypes accordingly.
* * dcrt0.cc (dlL_crt0_1): Set __argc_safe after __argc is absolutely know to beChristopher Faylor2003-09-098-22/+24
| | | | | | | | | | | set. * exceptions.cc (sig_handle_tty_stop): Don't reset sigCONT event since it is reset automatically. * fork.cc (fork): Remove obsolete usage of PID_SPLIT_HEAP. * include/sys/cygwin.h: Ditto. * sigproc.cc (sig_send): Use sigframe init method to set frame since it checks for previous ownership of the frame. * sigproc.h (sigframe::init): Accept an "is_exception" argument.
* * dir.cc (readdir): Reinstate setting of old ino field for legacy applications.Christopher Faylor2003-09-093-3/+10
| | | | | * dirent.h (dirent): Rename unused field to __ino32. * passwd.cc (getpwnam_r): Initialize pw_comment field.
* * passwe.cc (getpwnam_r): Initialize pw_comment field.Christopher Faylor2003-09-082-0/+5
|
* * passwd.cc (getpwuid_r32): Initialize pw_comment field.Christopher Faylor2003-09-082-0/+5
|
* * sigproc.cc (wait_sig_inited): Remove assertion since it is racy.Christopher Faylor2003-09-082-1/+4
|
* * cygwin.din: Export endusershell, getusershell and setusershell.Corinna Vinschen2003-09-084-4/+82
| | | | | | | * syscalls.cc (getusershell): New function. (setusershell): Ditto. (endusershell): Ditto. * include/cygwin/version.h: Bump API minor number.
* * cygwin.din: Export argz_add argz_add_sep argz_append argz_countCorinna Vinschen2003-09-083-1/+50
| | | | | | | argz_create argz_create_sep argz_delete argz_extract argz_insert argz_next argz_replace argz_stringify envz_add envz_entry envz_get envz_merge envz_remove envz_strip * include/cygwin/version.h: Bump api minor number.
* Throughout, remove __d_u.__d_data fields from DIR structure.Christopher Faylor2003-09-086-57/+93
| | | | | | | | | | | | | | * include/sys/dirent.h (dirent): Remvoe old_d_ino. (DIR): Make __d_dirhash a 64 bit value. Remove __d_data and __d_u. Add __flags. * dir.cc (opendir_states): New enum. (opendir): Clear new DIR __flags field. (readdir): Fill in '.' and '..' entries if we hit EOF and we haven't seen them already. Nuke setting of old_d_ino. (rewinddir): Reset DIR __flags field. (seekdir64): Ditto. * fhandler_disk_file.cc (fhandler_cygdrive::fhandler_cygdrive): Remove special handling of "." and ".." since they are now handled automatically.
* * include/cygwin/in.h: Don't define ipv6 stuff unless we call for itChristopher Faylor2003-09-082-0/+7
| | | | specifically since it isn't really implemented yet.
* * cygheap.cc (_csbrk): More left coercion cleanup.Christopher Faylor2003-09-075-7/+15
| | | | | | | * fhandler_tty.cc (fhandler_tty_slave::read): Ditto. (fhandler_tty_slave::write): Ditto. * fhandler_windows.cc (fhandler_windows::read): Ditto. * heap.cc (sbrk): Ditto.
* * signal.cc (nanosleep): Improve test for valid values. Round delay up toChristopher Faylor2003-09-075-32/+77
| | | | | | | | | | | | | | | | | resolution. Fix test for negative remainder. Use timeGetTime through gtod. (sleep): Round up return value. Christopher Faylor <cgf@redhat.com> * hires.h (HIRES_DELAY_MAX): Define. (hires_ms::minperiod): Declare static. (hires_ms::resolution): New. (hires_ms::dmsecs): New. (hires_ms::prime): Return UINT. (gtod): Declare. * times.cc (hires_ms::prime): Always calculate minperiod and set it to 1 in case of failure. Return minperiod. (hires_ms::resolution): Define. (hires_ms::~hires_ms): Delete. (hires_ms::usecs): Check minperiod to prime. (gtod) Define as global.
* Remove left coercion throughout.Christopher Faylor2003-09-078-15/+19
|
* * hires.h (hires_ms::~hires_ms): Delete declaration.Christopher Faylor2003-09-063-6/+5
| | | | * times.cc (hires_ms::~hires_ms): Delete definition..
* * dcrt0.cc (__argc_safe): New variable.Christopher Faylor2003-09-056-9/+32
| | | | | | | | | | (dll_crt0_1): Store argc in __argc_safe, which will theoretically remain untouched by the user. * fhandler_console.cc (fhandler_console::read): Silence some compiler warnings. * fhandler_raw.cc (fhandler_dev_raw::raw_read): Ditto. * pinfo.cc (_pinfo::commune_recv): Carefully bound argv scan and check for potentially bad pointers since user could have set argv cell to anythinw. * cygheap.h (CYGHEAPSIZE): Bump up size.
* * sysconf.cc (sysconf): Return more accurate value for _SC_AVPHYS_PAGES.Corinna Vinschen2003-09-042-3/+22
|
* * mmap.cc: Restructure. Add, remove and rewrite comments throughoutCorinna Vinschen2003-09-042-257/+336
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for better readability. Change function names for better understanding. (MAP_SET): Accomodate name change from map_map_ to page_map_. (MAP_CLR): Ditto. (MAP_ISSET): Ditto. (mmap_record::page_map_): Rename from page_map_. (mmap_record::get_map): Remove. (mmap_record::alloc_page_map): Rename from alloc_map. Return bool indicating success of cygheap memory allocation. (mmap_record::free_page_map): Rename from free_map. (mmap_record::fixup_page_map): Rename from fixup_map. (mmap_record::find_unused_pages): Rename from find_empty. (mmap_record::map_pages): Rename from map_map. (mmap_record::unmap_pages): Rename from unmap_map. (class list): Make all class members private. (list::list): Remove. (list::~list): Remove. (list::get_fd): New attribute reader. (list::get_hash): Ditto. (list::get_record): Ditto. (list::add_record): Manage all allocation for mmap_records. Check for failed memory allocation and return NULL if so. (list::set): New function. (list::del_record): Rename from erase. Return true if last mmap_record has been deleted, false otherwise. Check for legal incoming index value. (list::erase): Remove erase/0. (list::search_record): Rename from match. (map::map): Remove. (map::~map): Remove. (map::add_list): Manage all allocation for lists. Check for failed memory allocation and return NULL if so. (map::get_list): New method. (map::del_list): Rename from erase. Check for legal incoming index value. (mmap64): Check for failed mmap_record memory allocation. Return with MAP_FAILED and errno set to ENOMEM if so. (munmap): Rearrange loop using new list and mmap_record accessor functions. Rename loop index variables for better understanding. Check if list can be deleted after last mmap_record in it has been deleted. (msync): Rearrange loop using new list and mmap_record accessor functions. Rename loop index variables for better understanding. (fixup_mmaps_after_fork): Ditto.
* * cxx.cc (new): Fix formatting. Just return result of ccalloc rather thanChristopher Faylor2003-09-042-5/+7
| | | | calling memset explicitly.
* * exceptions.cc (set_process_mask): Set pending signals only when signalsChristopher Faylor2003-09-035-38/+64
| | | | | | | | | | | | become unmasked. * sigproc.cc (pending_signals): Flip back to a global. (wait_sig): Don't set pending signals when there is an armed semaphore or signal is blocked. * shared.cc (shared_info::initialize): Add a username parameter for user-mode mounts. Reorganize to try to avoid startup race. (memory_init): Move some stuff into shared_info::initialize. * shared_info.h (shared_info::initialize): Change declaration. (CURR_SHARED_MAGIC): Update.
* * include/cygwin/version.h: Bump DLL minor number to 4.Christopher Faylor2003-09-012-1/+5
|
* * net.cc (dup_ent): Restore check for NULL input.Christopher Faylor2003-09-012-0/+7
|
* * include/sys/cygwin.h: Don't define cygwin-specific things if !__CYGWIN__.Christopher Faylor2003-09-012-2/+7
|
* * cygheap.cc (cygheap_init): Allocate space for sigaction array in cygheap.Christopher Faylor2003-09-0111-32/+66
| | | | | | | | | | | | | | | | | | * cygheap.h (cygheap_types): Add HEAP_SIGS. * exceptions.cc (signal_fixup_after_exec): Remove from this file. * pinfo.h (pinfo::getsig): Just return global_sigs array. (pinfo::sigs): Delete. * sigproc.cc (signal_fixup_after_exec): Move it here. (global_sigs): New global array, moved from pinfo structure. (sigalloc): New function. Allocate global sigaction array here. (proc_subproc): Remove copysigs call. It's automatic now. * include/sys/cygwin.h (PID_NOCLDSTOP): New value. * signal.cc (sigaction): Set myself->PID_NODCLDSTOP when appropriate. * sigproc.h (sigalloc): Declare. * fnmatch.c (fnmatch): Use C90 parameters. (rangematch): Ditto. * fhandler.cc (fhandler_base::raw_read): Use right coercion to avoid a compiler warning.
* * net.cc (dup_ent): Make debugging output consistent.Christopher Faylor2003-08-312-1/+5
|
* Use dup_ent rather than specific dup_*_ptr functions throughout.Christopher Faylor2003-08-312-36/+45
| | | | | | | | | | * (gen_ent): Delete. (dup_ent): Subsume gen_ent functionality. (dup_host_ptr): Delete. (dup_proto_ptr): Ditto. (dup_servent_ptr): Ditto. * net.cc (gen_ent): Invert sense of null check so that debug output makes sense.
* * net.cc (free_char_list): Delete.Christopher Faylor2003-08-313-193/+215
| | | | | | | | | | | | | | | | | | | | (dup_addr_list): Delete. (dup_char_list): Delete. (free_hostent_ptr): Delete. (free_protoent_ptr): Delete. (free_servent_ptr): Delete. (DWORD_round): New function. (strlen_round): New function. Returns strlen rounded up to word size. (dup_ent): New, generic function to duplicate a {host,proto,serv}ent structure. (gen_ent): New macro. Generates a generic dup_{host,proto,serv}ent_ptr function. (cygwin_getservbyname): Remove call to free_servent_ptr, pass servent_buf to dup_servent_ptr. (cygwin_getservbyport): Ditto. (cygwin_gethostbyname): Ditto for hostent. (cygwin_gethostbyaddr): Ditto. (cygwin_getprotobyname): Ditto for protoent. (cygwin_getprotobynumber): Ditto.
* * Makefile.in (MALLOC_OFILES): Always fill in with correct malloc object.Christopher Faylor2003-08-3110-72/+78
| | | | | | | | | | | | | | | * configure.in: Fill in MALLOC_OFILES with either debugging or regular malloc. * configure: Regenerate. * dlmalloc.c: Make various fruitless changes to attempt to get to work. * dlmalloc.h: Ditto. * malloc.cc (free): Check malloc pool when debugging. * path.cc (win32_device_name): Eliminate compiler warning. * sigproc.cc (sig_dispatch_pending): Remove use of was_pending. Let thisframe.call_signal_handler decide if handler should be called rather than using bogus was_pending check. * exceptions.cc (interrupt_setup): Remove accidentally checked in debugging code. * heap.cc (sbrk): Save rounded addess in user_heap_max.
* change copyrightChristopher Faylor2003-08-311-1/+1
|