Dziura w MySQL
Michal Margula
alchemyx w uznam.top.pl
Pią, 11 Lut 2000, 23:03:05 CET
Ellowka
Jak zaaplikowac ten patch? Nie pasuje, a ja nie potrafię go ręcznie przerobić,
bo nie mam pojęcia co oznacza znak !...
--
Michal Margula, alchemyx w uznam.top.pl, ICQ UIN 12267440, +)
http://uznam.top.pl/~alchemyx/, PL section of Linux Counter maintainer
GnuPG fingerprint: FBDC EC21 2213 05A0 9518 5D54 71F1 203E 2230 3C15
-------------- następna część ---------
*** mysql-3.22.30/sql/sql_parse.cc Sun Jan 30 10:42:42 2000
--- mysql-3.22.30.AX/sql_parse.cc Wed Feb 9 16:05:49 2000
***************
*** 17,22 ****
--- 17,24 ----
#include <m_ctype.h>
#include <thr_alarm.h>
+ #define SCRAMBLE_LENGTH 8
+
extern int yyparse(void);
extern "C" pthread_mutex_t THR_LOCK_keycache;
***************
*** 188,195 ****
end=strmov(buff,server_version)+1;
int4store((uchar*) end,thd->thread_id);
end+=4;
! memcpy(end,thd->scramble,9);
! end+=9;
#ifdef HAVE_COMPRESS
client_flags |= CLIENT_COMPRESS;
#endif /* HAVE_COMPRESS */
--- 190,197 ----
end=strmov(buff,server_version)+1;
int4store((uchar*) end,thd->thread_id);
end+=4;
! memcpy(end,thd->scramble,SCRAMBLE_LENGTH+1);
! end+=SCRAMBLE_LENGTH +1;
#ifdef HAVE_COMPRESS
client_flags |= CLIENT_COMPRESS;
#endif /* HAVE_COMPRESS */
***************
*** 268,273 ****
--- 270,277 ----
char *user= (char*) net->read_pos+5;
char *passwd= strend(user)+1;
char *db=0;
+ if (passwd[0] && strlen(passwd) != SCRAMBLE_LENGTH)
+ return ER_HANDSHAKE_ERROR;
if (thd->client_capabilities & CLIENT_CONNECT_WITH_DB)
db=strend(passwd)+1;
if (thd->client_capabilities & CLIENT_INTERACTIVE)
Więcej informacji o liście dyskusyjnej pld-devel-pl