From 95b30dbdaaa8ad2c71e5c9c0af9575e7207a6223 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Tue, 8 Jul 1997 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1997-07-08 --- ip/udp.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ip/udp.c b/ip/udp.c index b71975af21b09cb9deebb48e9b634cc245e9af1c..5f36900156f511c52d7a9a98915144fc1c0e8a78 100644 --- a/ip/udp.c +++ b/ip/udp.c @@ -270,7 +270,10 @@ udpiput(Media *m, Block *bp) /* pass the src address */ bp = padblock(bp, UDP_USEAD); hnputl(bp->rp, raddr); - hnputl(bp->rp+4, laddr); + if(Mediaforme(uh->udpdst) > 0) + hnputl(bp->rp+4, laddr); + else + hnputl(bp->rp+4, m->myip[0]); hnputs(bp->rp+8, rport); hnputs(bp->rp+10, lport); } else { @@ -282,7 +285,9 @@ udpiput(Media *m, Block *bp) /* reply with the same ip address (if not broadcast) */ if(Mediaforme(uh->udpdst) > 0) - c->laddr = nhgetl(uh->udpdst); + c->laddr = laddr; + else + c->laddr = m->myip[0]; } } if(bp->next)