packet_len);
}
-static void swrap_dump_packet(struct socket_info *si,
- const struct sockaddr *addr,
- enum swrap_packet_type type,
- const void *buf, size_t len)
+static void swrap_pcap_dump_packet(struct socket_info *si,
+ const struct sockaddr *addr,
+ enum swrap_packet_type type,
+ const void *buf, size_t len)
{
const char *file_name;
uint8_t *packet;
SWRAP_DLIST_ADD(sockets, child_si);
if (addr != NULL) {
- swrap_dump_packet(child_si, addr, SWRAP_ACCEPT_SEND, NULL, 0);
- swrap_dump_packet(child_si, addr, SWRAP_ACCEPT_RECV, NULL, 0);
- swrap_dump_packet(child_si, addr, SWRAP_ACCEPT_ACK, NULL, 0);
+ swrap_pcap_dump_packet(child_si, addr, SWRAP_ACCEPT_SEND, NULL, 0);
+ swrap_pcap_dump_packet(child_si, addr, SWRAP_ACCEPT_RECV, NULL, 0);
+ swrap_pcap_dump_packet(child_si, addr, SWRAP_ACCEPT_ACK, NULL, 0);
}
return fd;
si->defer_connect = 1;
ret = 0;
} else {
- swrap_dump_packet(si, serv_addr, SWRAP_CONNECT_SEND, NULL, 0);
+ swrap_pcap_dump_packet(si, serv_addr, SWRAP_CONNECT_SEND, NULL, 0);
ret = libc_connect(s,
&un_addr.sa.s,
si->bindname_len = 0;
}
- swrap_dump_packet(si, serv_addr, SWRAP_CONNECT_RECV, NULL, 0);
- swrap_dump_packet(si, serv_addr, SWRAP_CONNECT_ACK, NULL, 0);
+ swrap_pcap_dump_packet(si, serv_addr, SWRAP_CONNECT_RECV, NULL, 0);
+ swrap_pcap_dump_packet(si, serv_addr, SWRAP_CONNECT_ACK, NULL, 0);
} else {
- swrap_dump_packet(si, serv_addr, SWRAP_CONNECT_UNREACH, NULL, 0);
+ swrap_pcap_dump_packet(si, serv_addr, SWRAP_CONNECT_UNREACH, NULL, 0);
}
return ret;
value = *((int *)va_arg(ap, int *));
if (rc == -1 && errno != EAGAIN && errno != ENOBUFS) {
- swrap_dump_packet(si, NULL, SWRAP_PENDING_RST, NULL, 0);
+ swrap_pcap_dump_packet(si, NULL, SWRAP_PENDING_RST, NULL, 0);
} else if (value == 0) { /* END OF FILE */
- swrap_dump_packet(si, NULL, SWRAP_PENDING_RST, NULL, 0);
+ swrap_pcap_dump_packet(si, NULL, SWRAP_PENDING_RST, NULL, 0);
}
break;
}
switch (si->type) {
case SOCK_STREAM:
if (ret == -1) {
- swrap_dump_packet(si, NULL, SWRAP_SEND, buf, len);
- swrap_dump_packet(si, NULL, SWRAP_SEND_RST, NULL, 0);
+ swrap_pcap_dump_packet(si, NULL, SWRAP_SEND, buf, len);
+ swrap_pcap_dump_packet(si, NULL, SWRAP_SEND_RST, NULL, 0);
} else {
- swrap_dump_packet(si, NULL, SWRAP_SEND, buf, len);
+ swrap_pcap_dump_packet(si, NULL, SWRAP_SEND, buf, len);
}
break;
to = si->peername;
}
if (ret == -1) {
- swrap_dump_packet(si, to, SWRAP_SENDTO, buf, len);
- swrap_dump_packet(si, to, SWRAP_SENDTO_UNREACH, buf, len);
+ swrap_pcap_dump_packet(si, to, SWRAP_SENDTO, buf, len);
+ swrap_pcap_dump_packet(si, to, SWRAP_SENDTO_UNREACH, buf, len);
} else {
- swrap_dump_packet(si, to, SWRAP_SENDTO, buf, len);
+ swrap_pcap_dump_packet(si, to, SWRAP_SENDTO, buf, len);
}
break;
}
switch (si->type) {
case SOCK_STREAM:
if (ret == -1 && saved_errno != EAGAIN && saved_errno != ENOBUFS) {
- swrap_dump_packet(si, NULL, SWRAP_RECV_RST, NULL, 0);
+ swrap_pcap_dump_packet(si, NULL, SWRAP_RECV_RST, NULL, 0);
} else if (ret == 0) { /* END OF FILE */
- swrap_dump_packet(si, NULL, SWRAP_RECV_RST, NULL, 0);
+ swrap_pcap_dump_packet(si, NULL, SWRAP_RECV_RST, NULL, 0);
} else if (ret > 0) {
- swrap_dump_packet(si, NULL, SWRAP_RECV, buf, ret);
+ swrap_pcap_dump_packet(si, NULL, SWRAP_RECV, buf, ret);
}
break;
goto done;
}
- swrap_dump_packet(si,
+ swrap_pcap_dump_packet(si,
msg->msg_name,
SWRAP_RECVFROM,
buf,
ret);
} else {
- swrap_dump_packet(si,
+ swrap_pcap_dump_packet(si,
msg->msg_name,
SWRAP_RECV,
buf,
un_addr.sa_socklen);
}
- swrap_dump_packet(si, to, SWRAP_SENDTO, buf, len);
+ swrap_pcap_dump_packet(si, to, SWRAP_SENDTO, buf, len);
return len;
}
libc_sendmsg(s, &msg, flags);
}
- swrap_dump_packet(si, to, SWRAP_SENDTO, buf, len);
+ swrap_pcap_dump_packet(si, to, SWRAP_SENDTO, buf, len);
free(buf);
return len;
SWRAP_DLIST_REMOVE(sockets, si);
if (si->myname && si->peername) {
- swrap_dump_packet(si, NULL, SWRAP_CLOSE_SEND, NULL, 0);
+ swrap_pcap_dump_packet(si, NULL, SWRAP_CLOSE_SEND, NULL, 0);
}
ret = libc_close(fd);
if (si->myname && si->peername) {
- swrap_dump_packet(si, NULL, SWRAP_CLOSE_RECV, NULL, 0);
- swrap_dump_packet(si, NULL, SWRAP_CLOSE_ACK, NULL, 0);
+ swrap_pcap_dump_packet(si, NULL, SWRAP_CLOSE_RECV, NULL, 0);
+ swrap_pcap_dump_packet(si, NULL, SWRAP_CLOSE_ACK, NULL, 0);
}
if (si->bindname != NULL) {