/[monit]/monit/protocols/mysql.c
ViewVC logotype

Diff of /monit/protocols/mysql.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by martinp, Mon Apr 4 14:58:30 2005 UTC revision 1.4 by martinp, Mon Oct 31 22:07:47 2005 UTC
# Line 50  Line 50 
50   */   */
51  int check_mysql(Socket_T s) {  int check_mysql(Socket_T s) {
52    
53    unsigned char  buf[STRLEN];    unsigned char buf[STRLEN];
54    
55    unsigned char requestLogin[10] = {    unsigned char requestLogin[10] = {
56      0x06,                                 /** Packet Length */      0x06,                                 /** Packet Length */
# Line 104  int check_mysql(Socket_T s) { Line 104  int check_mysql(Socket_T s) {
104    
105    ASSERT(s);    ASSERT(s);
106    
107    if(socket_read(s, (unsigned char *)buf, sizeof(buf)) <= 0) {    if(socket_readln(s, (char *)buf, sizeof(buf)) <= 0) {
108      log("MYSQL: error receiving greeting -- %s\n", STRERROR);      log("MYSQL: error receiving greeting -- %s\n", STRERROR);
109      return FALSE;      return FALSE;
110    }    }
111    
112    if(socket_write(s, (unsigned char *)requestLogin, sizeof(requestLogin)) < 0) {    /* Clear any extra data read from the server */
113      socket_reset(s);
114    
115      if(socket_write(s, requestLogin, sizeof(requestLogin)) < 0) {
116      log("MYSQL: error sending login -- %s\n", STRERROR);      log("MYSQL: error sending login -- %s\n", STRERROR);
117      return FALSE;      return FALSE;
118    }    }
119    
120    if(socket_read(s, (unsigned char *)buf, sizeof(buf)) <= 6) {    /* read just first few bytes  which contains enough information */
121      if(socket_read(s, buf, 7) <= 6) {
122      log("MYSQL: error receiving login response -- %s\n", STRERROR);      log("MYSQL: error receiving login response -- %s\n", STRERROR);
123      return FALSE;      return FALSE;
124    }    }
125    
126      /* Clear any extra data read from the server */
127      socket_reset(s);
128    
129    /* Compare Packet Number: */    /* Compare Packet Number: */
130    if(buf[3] != 0x02)    if(buf[3] != 0x02)
131    {    {
# Line 136  int check_mysql(Socket_T s) { Line 143  int check_mysql(Socket_T s) {
143        return FALSE;        return FALSE;
144      }      }
145    
146      if(socket_read(s, (unsigned char *)buf, sizeof(buf)) <= 0) {      if(socket_read(s, buf, sizeof(responsePing)) <= 0) {
147        log("MYSQL: error receiving ping response -- %s\n", STRERROR);        log("MYSQL: error receiving ping response -- %s\n", STRERROR);
148        return FALSE;        return FALSE;
149      }      }
150    
151        /* Clear any extra data read from the server */
152        socket_reset(s);
153    
154      if(memcmp((unsigned char *)buf,      if(memcmp((unsigned char *)buf,
155                (unsigned char *)responsePing, sizeof(responsePing))) {                (unsigned char *)responsePing, sizeof(responsePing))) {
156        log("MYSQL: ping failed\n");        log("MYSQL: ping failed\n");

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26