summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--plugins/omudpspoof/omudpspoof.c6
2 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6114dee3..a4f53ce2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -988,6 +988,9 @@ Version 5.10.2 [V5-STABLE], 201?-??-??
Thanks to Marius Tomaschewski for the bug report and the patch idea.
- bugfix: invalid DST handling under Solaris
Thanks to Scott Severtson for the patch.
+- bugfix[kind of]: omudpspoof discarded messages >1472 bytes (MTU size)
+ it now truncates these message, but ensures they are sent. Note that
+ 7.2.5+ will switch to fragmented UDP messages instead (up to 64K)
---------------------------------------------------------------------------
Version 5.10.1 [V5-STABLE], 2012-10-17
- bugfix: imuxsock and imklog truncated head of received message
diff --git a/plugins/omudpspoof/omudpspoof.c b/plugins/omudpspoof/omudpspoof.c
index c692acfb..a45d49fa 100644
--- a/plugins/omudpspoof/omudpspoof.c
+++ b/plugins/omudpspoof/omudpspoof.c
@@ -337,6 +337,12 @@ UDPSend(instanceData *pData, uchar *pszSourcename, char *msg, size_t len)
CHKiRet(doTryResume(pData));
}
+ if(len > 1472) {
+ DBGPRINTF("omudpspoof: msg with length %d truncated to 1472 bytes: '%.768s'\n",
+ len, msg);
+ len = 1472;
+ }
+
ip = ipo = udp = 0;
if(pData->sourcePort++ >= pData->sourcePortEnd){
pData->sourcePort = pData->sourcePortStart;