mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
socket_wrapper: truncate packets to a 1500 byte payload
Truncate sendto(), recvfrom(), send() and recv() to 1500 bytes
so that're getting a correctly formatted pcap file and the result
look more like real network traffic.
metze
(This used to be commit 5b01206f1b
)
This commit is contained in:
parent
7721ea8f9c
commit
47b106c0ae
@ -1643,6 +1643,8 @@ _PUBLIC_ ssize_t swrap_recvfrom(int s, void *buf, size_t len, int flags, struct
|
||||
return real_recvfrom(s, buf, len, flags, from, fromlen);
|
||||
}
|
||||
|
||||
len = MIN(len, 1500);
|
||||
|
||||
/* irix 6.4 forgets to null terminate the sun_path string :-( */
|
||||
memset(&un_addr, 0, sizeof(un_addr));
|
||||
ret = real_recvfrom(s, buf, len, flags, (struct sockaddr *)&un_addr, &un_addrlen);
|
||||
@ -1671,6 +1673,8 @@ _PUBLIC_ ssize_t swrap_sendto(int s, const void *buf, size_t len, int flags, con
|
||||
return real_sendto(s, buf, len, flags, to, tolen);
|
||||
}
|
||||
|
||||
len = MIN(len, 1500);
|
||||
|
||||
switch (si->type) {
|
||||
case SOCK_STREAM:
|
||||
ret = real_send(s, buf, len, flags);
|
||||
@ -1764,6 +1768,8 @@ _PUBLIC_ ssize_t swrap_recv(int s, void *buf, size_t len, int flags)
|
||||
return real_recv(s, buf, len, flags);
|
||||
}
|
||||
|
||||
len = MIN(len, 1500);
|
||||
|
||||
ret = real_recv(s, buf, len, flags);
|
||||
if (ret == -1 && errno != EAGAIN && errno != ENOBUFS) {
|
||||
swrap_dump_packet(si, NULL, SWRAP_RECV_RST, NULL, 0);
|
||||
@ -1786,6 +1792,8 @@ _PUBLIC_ ssize_t swrap_send(int s, const void *buf, size_t len, int flags)
|
||||
return real_send(s, buf, len, flags);
|
||||
}
|
||||
|
||||
len = MIN(len, 1500);
|
||||
|
||||
ret = real_send(s, buf, len, flags);
|
||||
|
||||
if (ret == -1) {
|
||||
|
Loading…
Reference in New Issue
Block a user