A fix for Bug#8226 "Cannot connect via shared memory":

provide created shared memory objects with proper
access rights to make them usable when client and server
are running under different accounts. 
Post review fixes.


VC++Files/mysys/mysys.dsp:
  Add my_windac.c to mysys.lib
include/my_sys.h:
  Declarations for SECURITY_ATTRIBUTES create/destroy functions.
mysys/Makefile.am:
  Add my_windac.c to the list of compiled files.
sql-common/client.c:
  Lower requested access rights for events as the server won't 
  provide clients with ALL access in order to prevent denial
  of service attack.
sql/mysqld.cc:
  Set proper security attributes for the kernel objects to make them
  usable when mysqld is running as a Windows service.
This commit is contained in:
unknown 2005-03-26 01:21:52 +03:00
commit 3fd639493a
6 changed files with 275 additions and 23 deletions

View file

@ -780,6 +780,14 @@ extern ulong escape_string_for_mysql(CHARSET_INFO *charset_info, char *to,
#ifdef __WIN__
extern my_bool have_tcpip; /* Is set if tcpip is used */
/* implemented in my_windac.c */
int my_security_attr_create(SECURITY_ATTRIBUTES **psa, const char **perror,
DWORD owner_rights, DWORD everybody_rights);
void my_security_attr_free(SECURITY_ATTRIBUTES *sa);
#endif
#ifdef __NETWARE__
void netware_reg_user(const char *ip, const char *user,