1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| +static void adr2txt(const PgAddr *adr, char *dst, unsigned dstlen) +{ + pga_ntop(adr, dst, dstlen); +} + + static inline struct PStr *get_value(VarCache *cache, const struct var_lookup *lk) { return cache->var_list[lk->idx]; @@ -121,6 +127,8 @@ bool varcache_apply(PgSocket *server, PgSocket *client, bool *changes_p) const struct var_lookup *lk; int sql_ofs; struct PktBuf *pkt = pktbuf_temp(); + char s_l_addr[PGADDR_BUF], s_r_addr[PGADDR_BUF]; + char c_l_addr[PGADDR_BUF], c_r_addr[PGADDR_BUF];
pktbuf_start_packet(pkt, 'Q');
@@ -139,7 +147,14 @@ bool varcache_apply(PgSocket *server, PgSocket *client, bool *changes_p) pktbuf_put_char(pkt, 0); pktbuf_finish_packet(pkt);
+ adr2txt(&server->remote_addr, s_r_addr, sizeof(s_r_addr)); + adr2txt(&server->local_addr, s_l_addr, sizeof(s_l_addr)); + + adr2txt(&client->remote_addr, c_r_addr, sizeof(c_r_addr)); + adr2txt(&client->local_addr, c_l_addr, sizeof(c_l_addr)); + slog_debug(server, "varcache_apply: %s", pkt->buf + sql_ofs); + log_info("app: %s:%d client: %p %s:%d server: %p %s:%d remote: %s:%d", c_l_addr, pga_port(&client->local_addr), client, c_r_addr, pga_port(&client->remote_addr), server, s_l_addr, pga_port(&server->local_addr), s_r_addr, pga_port(&server->remote_addr)); return pktbuf_send_immediate(pkt, server); }
|