comparison src/mysql/ngx_mysql.c @ 884:4d68c486fcb0

upstream choice modules
author Igor Sysoev <igor@sysoev.ru>
date Mon, 04 Dec 2006 16:46:13 +0000
parents 7cbef16c71a1
children 6a60502db714
comparison
equal deleted inserted replaced
883:eac23634d614 884:4d68c486fcb0
148 c = rev->data; 148 c = rev->data;
149 m = c->data; 149 m = c->data;
150 150
151 if (rev->timedout) { 151 if (rev->timedout) {
152 ngx_log_error(NGX_LOG_ERR, rev->log, NGX_ETIMEDOUT, 152 ngx_log_error(NGX_LOG_ERR, rev->log, NGX_ETIMEDOUT,
153 "mysql server %V timed out", 153 "mysql server %V timed out", m->peer.name);
154 &m->peer.peers->peer[0].name);
155 154
156 ngx_mysql_close(m, NGX_ERROR); 155 ngx_mysql_close(m, NGX_ERROR);
157 return; 156 return;
158 } 157 }
159 158
181 gr1 = (ngx_mysql_greeting1_pkt_t *) m->buf->pos; 180 gr1 = (ngx_mysql_greeting1_pkt_t *) m->buf->pos;
182 181
183 if (ngx_m24toh(gr1->pktlen) > n - 4) { 182 if (ngx_m24toh(gr1->pktlen) > n - 4) {
184 ngx_log_error(NGX_LOG_ERR, rev->log, 0, 183 ngx_log_error(NGX_LOG_ERR, rev->log, 0,
185 "mysql server %V sent incomplete greeting packet", 184 "mysql server %V sent incomplete greeting packet",
186 &m->peer.peers->peer[0].name); 185 m->peer.name);
187 186
188 ngx_mysql_close(m, NGX_ERROR); 187 ngx_mysql_close(m, NGX_ERROR);
189 return; 188 return;
190 } 189 }
191 190
192 if (gr1->protocol < 10) { 191 if (gr1->protocol < 10) {
193 ngx_log_error(NGX_LOG_ERR, rev->log, 0, 192 ngx_log_error(NGX_LOG_ERR, rev->log, 0,
194 "mysql server %V sent unsupported protocol version %ud", 193 "mysql server %V sent unsupported protocol version %ud",
195 &m->peer.peers->peer[0].name, gr1->protocol); 194 m->peer.name, gr1->protocol);
196 195
197 ngx_mysql_close(m, NGX_ERROR); 196 ngx_mysql_close(m, NGX_ERROR);
198 return; 197 return;
199 } 198 }
200 199
271 n = ngx_send(m->peer.connection, (void *) auth, len); 270 n = ngx_send(m->peer.connection, (void *) auth, len);
272 271
273 if (n < (ssize_t) len) { 272 if (n < (ssize_t) len) {
274 ngx_log_error(NGX_LOG_ERR, rev->log, 0, 273 ngx_log_error(NGX_LOG_ERR, rev->log, 0,
275 "the incomplete packet was sent to mysql server %V", 274 "the incomplete packet was sent to mysql server %V",
276 &m->peer.peers->peer[0].name); 275 m->peer.name);
277 276
278 ngx_mysql_close(m, NGX_ERROR); 277 ngx_mysql_close(m, NGX_ERROR);
279 return; 278 return;
280 } 279 }
281 280
327 len = ngx_m24toh(pkt->pktlen); 326 len = ngx_m24toh(pkt->pktlen);
328 327
329 if (len > n - 4) { 328 if (len > n - 4) {
330 ngx_log_error(NGX_LOG_ERR, rev->log, 0, 329 ngx_log_error(NGX_LOG_ERR, rev->log, 0,
331 "mysql server %V sent incomplete response packet", 330 "mysql server %V sent incomplete response packet",
332 &m->peer.peers->peer[0].name); 331 m->peer.name);
333 332
334 ngx_mysql_close(m, NGX_ERROR); 333 ngx_mysql_close(m, NGX_ERROR);
335 return; 334 return;
336 } 335 }
337 336
351 msg.len = (u_char *) epkt + 4 + len - epkt->message; 350 msg.len = (u_char *) epkt + 4 + len - epkt->message;
352 msg.data = epkt->message; 351 msg.data = epkt->message;
353 352
354 ngx_log_error(NGX_LOG_ERR, rev->log, 0, 353 ngx_log_error(NGX_LOG_ERR, rev->log, 0,
355 "mysql server %V sent error (%ud): \"%V\"", 354 "mysql server %V sent error (%ud): \"%V\"",
356 &m->peer.peers->peer[0].name, ngx_m16toh(epkt->code), &msg); 355 m->peer.name, ngx_m16toh(epkt->code), &msg);
357 356
358 ngx_mysql_close(m, NGX_ERROR); 357 ngx_mysql_close(m, NGX_ERROR);
359 } 358 }
360 359
361 360
374 n = ngx_send(m->peer.connection, m->query.data, m->query.len); 373 n = ngx_send(m->peer.connection, m->query.data, m->query.len);
375 374
376 if (n < (ssize_t) m->query.len) { 375 if (n < (ssize_t) m->query.len) {
377 ngx_log_error(NGX_LOG_ERR, m->peer.log, 0, 376 ngx_log_error(NGX_LOG_ERR, m->peer.log, 0,
378 "the incomplete packet was sent to mysql server %V", 377 "the incomplete packet was sent to mysql server %V",
379 &m->peer.peers->peer[0].name); 378 m->peer.name);
380 379
381 ngx_mysql_close(m, NGX_ERROR); 380 ngx_mysql_close(m, NGX_ERROR);
382 return NGX_OK; 381 return NGX_OK;
383 } 382 }
384 383
425 len = ngx_m24toh(pkt->pktlen); 424 len = ngx_m24toh(pkt->pktlen);
426 425
427 if (len > n - 4) { 426 if (len > n - 4) {
428 ngx_log_error(NGX_LOG_ERR, rev->log, 0, 427 ngx_log_error(NGX_LOG_ERR, rev->log, 0,
429 "mysql server %V sent incomplete response packet", 428 "mysql server %V sent incomplete response packet",
430 &m->peer.peers->peer[0].name); 429 m->peer.name);
431 430
432 ngx_mysql_close(m, NGX_ERROR); 431 ngx_mysql_close(m, NGX_ERROR);
433 return; 432 return;
434 } 433 }
435 434
449 msg.len = (u_char *) epkt + 4 + len - epkt->message; 448 msg.len = (u_char *) epkt + 4 + len - epkt->message;
450 msg.data = epkt->message; 449 msg.data = epkt->message;
451 450
452 ngx_log_error(NGX_LOG_ERR, rev->log, 0, 451 ngx_log_error(NGX_LOG_ERR, rev->log, 0,
453 "mysql server %V sent error (%ud): \"%V\"", 452 "mysql server %V sent error (%ud): \"%V\"",
454 &m->peer.peers->peer[0].name, ngx_m16toh(epkt->code), &msg); 453 m->peer.name, ngx_m16toh(epkt->code), &msg);
455 454
456 ngx_mysql_close(m, NGX_ERROR); 455 ngx_mysql_close(m, NGX_ERROR);
457 } 456 }
458 457
459 458