| ... | ... |
@@ -298,6 +298,11 @@ static void mrecv_ack_del(mdata *data, struct sockaddr_in *addr) |
| 298 | 298 |
if(mrecv_ack_search(&t, &m, data, addr)){
|
| 299 | 299 |
return; |
| 300 | 300 |
} |
| 301 |
+ if(m->sendto){
|
|
| 302 |
+ if(memcmp(&(m->addr.sin_addr), &(addr->sin_addr), sizeof(addr->sin_addr))){
|
|
| 303 |
+ return; |
|
| 304 |
+ } |
|
| 305 |
+ } |
|
| 301 | 306 |
if(!set_hoststate(t, m, data->head.nstate)){
|
| 302 | 307 |
lprintf(0, "%s: not allocate state area\n", __func__); |
| 303 | 308 |
return; |