Revision 5a82362a

b/slirp/udp.c
120 120
        /*
121 121
         *  handle DHCP/BOOTP
122 122
         */
123
        if (ntohs(uh->uh_dport) == BOOTP_SERVER) {
124
            bootp_input(m);
125
            goto bad;
126
        }
123
        if (ntohs(uh->uh_dport) == BOOTP_SERVER &&
124
            (ip->ip_dst.s_addr == slirp->vhost_addr.s_addr ||
125
             ip->ip_dst.s_addr == 0xffffffff)) {
126
                bootp_input(m);
127
                goto bad;
128
            }
127 129

  
128 130
        /*
129 131
         *  handle TFTP
130 132
         */
131
        if (ntohs(uh->uh_dport) == TFTP_SERVER) {
133
        if (ntohs(uh->uh_dport) == TFTP_SERVER &&
134
            ip->ip_dst.s_addr == slirp->vhost_addr.s_addr) {
132 135
            tftp_input(m);
133 136
            goto bad;
134 137
        }

Also available in: Unified diff