summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler.h
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2005-03-24 14:04:06 +0000
committerCorinna Vinschen <corinna@vinschen.de>2005-03-24 14:04:06 +0000
commitb832c4cf214e3932d50de622dead4133845fc47e (patch)
tree0d0fb934d925ecdd67407491e91ebd92ceb425ef /winsup/cygwin/fhandler.h
parentbc47d398b27f09cbb044dc40e4e9425fb33be7a9 (diff)
downloadcygnal-b832c4cf214e3932d50de622dead4133845fc47e.tar.gz
cygnal-b832c4cf214e3932d50de622dead4133845fc47e.tar.bz2
cygnal-b832c4cf214e3932d50de622dead4133845fc47e.zip
* fhandler.h (fhandler_socket::secret_event): Remove.
(fhandler_socket::af_local_set_secret): New function combining former set_connect_secret and get_connect_secret into one function. (fhandler_socket::af_local_setblocking): Rename from eid_setblocking. (fhandler_socket::af_local_unsetblocking): Rename from eid_unsetblocking. (fhandler_socket::af_local_set_cred): New method. (fhandler_socket::af_local_copy): New method. (fhandler_socket::af_local_recv_secret): New method. (fhandler_socket::af_local_send_secret): New method. (fhandler_socket::af_local_recv_cred): Rename from eid_recv. (fhandler_socket::af_local_send_cred): Rename from eid_send. (fhandler_socket::af_local_accept): New method. (fhandler_socket::af_local_set_sockpair_cred): Rename from set_socketpair_eids. (fhandler_socket::eid_accept): Remove. (fhandler_socket::eid_connect): Remove. (fhandler_socket::set_connect_secret): Remove. (fhandler_socket::get_connect_secret): Remove. (fhandler_socket::create_secret_event): Remove. (fhandler_socket::check_peer_secret_event): Remove. (fhandler_socket::signal_secret_event): Remove. (fhandler_socket::close_secret_event): Remove. (fhandler_socket::sec_event_accept): Remove. (fhandler_socket::sec_event_connect): Remove. * fhandler_socket.cc (secret_event_name): Remove. (fhandler_socket::af_local_set_sockpair_cred): Rename from set_socketpair_eids. (fhandler_socket::af_local_setblocking): Rename from eid_setblocking. (fhandler_socket::af_local_unsetblocking): Rename from eid_unsetblocking. (fhandler_socket::af_local_recv_secret): New function to receive AF_LOCAL connect secret over socket itself. (fhandler_socket::af_local_send_secret): New function to send AF_LOCAL connect secret over socket itself. (fhandler_socket::af_local_recv_cred): Rename from eid_recv. (fhandler_socket::af_local_send_cred): Rename from eid_send. (fhandler_socket::eid_connect): Remove. (fhandler_socket::af_local_connect): Take over connect side handling of AF_LOCAL secret and credential handshake. (fhandler_socket::eid_accept): Remove. (fhandler_socket::af_local_accept): New method, take over accept side handling of AF_LOCAL secret and credential handshake. (fhandler_socket::af_local_set_cred): New method, set eid credentials to start values. (fhandler_socket::af_local_copy): New method, copy secret and credentials to another socket. (fhandler_socket::af_local_set_secret): New function combining former set_connect_secret and get_connect_secret into one function. (fhandler_socket::create_secret_event): Remove. (fhandler_socket::signal_secret_event): Remove. (fhandler_socket::close_secret_event): Remove. (fhandler_socket::check_peer_secret_event): Remove. (fhandler_socket::sec_event_connect): Remove. (fhandler_socket::sec_event_accept): Remove. (fhandler_socket::fixup_after_fork): Drop secret_event handling. (fhandler_socket::bind): Call af_local_set_secret. (fhandler_socket::connect): Call af_local_set_cred and af_local_connect. (fhandler_socket::listen): Call af_local_set_cred. (fhandler_socket::accept): Call af_local_copy and af_local_accept on accepted socket. (fhandler_socket::close): Don't call close_secret_event. (fhandler_socket::set_close_on_exec): Don't set secret_event inheritance. * net.cc (cygwin_getsockopt): Add debug output. (socketpair): Call af_local_set_sockpair_cred instead of set_socketpair_eids. * select.cc (set_bits): Drop AF_LOCAL special handling in case of except bit set.
Diffstat (limited to 'winsup/cygwin/fhandler.h')
-rw-r--r--winsup/cygwin/fhandler.h34
1 files changed, 13 insertions, 21 deletions
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h
index 2f1424681..ee86fd497 100644
--- a/winsup/cygwin/fhandler.h
+++ b/winsup/cygwin/fhandler.h
@@ -362,8 +362,7 @@ class fhandler_socket: public fhandler_base
private:
int addr_family;
int type;
- int connect_secret [4];
- HANDLE secret_event;
+ int connect_secret[4];
pid_t sec_pid;
__uid32_t sec_uid;
@@ -371,14 +370,19 @@ class fhandler_socket: public fhandler_base
pid_t sec_peer_pid;
__uid32_t sec_peer_uid;
__gid32_t sec_peer_gid;
- void eid_setblocking (bool &, bool &);
- void eid_unsetblocking (bool, bool);
- bool eid_recv (void);
- bool eid_send (void);
- void eid_accept (void);
- void eid_connect (void);
+ void af_local_set_secret (char *);
+ void af_local_setblocking (bool &, bool &);
+ void af_local_unsetblocking (bool, bool);
+ void af_local_set_cred (void);
+ void af_local_copy (fhandler_socket *);
+ bool af_local_recv_secret (void);
+ bool af_local_send_secret (void);
+ bool af_local_recv_cred (void);
+ bool af_local_send_cred (void);
+ int af_local_accept (void);
public:
- void set_socketpair_eids (void);
+ int af_local_connect (void);
+ void af_local_set_sockpair_cred (void);
private:
struct _WSAPROTOCOL_INFOA *prot_info_ptr;
@@ -459,18 +463,6 @@ class fhandler_socket: public fhandler_base
void set_sun_path (const char *path);
char *get_sun_path () {return sun_path;}
- private:
- void set_connect_secret ();
- void get_connect_secret (char*);
- HANDLE create_secret_event ();
- int check_peer_secret_event (struct sockaddr_in *peer);
- void signal_secret_event ();
- void close_secret_event ();
- int sec_event_accept (int, struct sockaddr_in *);
- int sec_event_connect (struct sockaddr_in *peer);
- public:
- int af_local_connect (void);
-
int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2)));
int __stdcall fchmod (mode_t mode) __attribute__ ((regparm (1)));
int __stdcall fchown (__uid32_t uid, __gid32_t gid) __attribute__ ((regparm (2)));