From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FaOZe-0007S7-TJ for qemu-devel@nongnu.org; Sun, 30 Apr 2006 22:55:46 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FaOZc-0007Pc-Fh for qemu-devel@nongnu.org; Sun, 30 Apr 2006 22:55:45 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FaOZc-0007PB-5p for qemu-devel@nongnu.org; Sun, 30 Apr 2006 22:55:44 -0400 Received: from [64.233.162.207] (helo=nz-out-0102.google.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FaOdK-0007XN-Ko for qemu-devel@nongnu.org; Sun, 30 Apr 2006 22:59:34 -0400 Received: by nz-out-0102.google.com with SMTP id 14so2647909nzn for ; Sun, 30 Apr 2006 19:55:43 -0700 (PDT) Message-ID: Date: Sun, 30 Apr 2006 19:55:42 -0700 From: "Ed Swierk" Sender: eswierk@gmail.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_8768_22065089.1146452142604" Subject: [Qemu-devel] [PATCH] Fix scrambling of >32KB packets in slirp Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_8768_22065089.1146452142604 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 Content-Disposition: inline SW4gc2V2ZXJhbCBwbGFjZXMgaW4gcWVtdSdzIHNsaXJwIGNvZGUsIHNpZ25lZCBhbmQgdW5zaWdu ZWQgaW50cyBhcmUKdXNlZCBpbnRlcmNoYW5nZWFibHkgd2hlbiBkZWFsaW5nIHdpdGggSVAgcGFj a2V0IGxlbmd0aHMgYW5kIG9mZnNldHMuClRoaXMgY2F1c2VzIElQIHBhY2tldHMgZ3JlYXRlciB0 aGFuIDMySyBpbiBsZW5ndGggdG8gYmUgc2NyYW1ibGVkIGluCnZhcmlvdXMgaW50ZXJlc3Rpbmcg d2F5cyB0aGF0IGFyZSBleHRyZW1lbHkgZGlmZmljdWx0IHRvIHRyb3VibGVzaG9vdC4KCkFsdGhv dWdoIGxhcmdlIElQIHBhY2tldHMgYXJlIGZhaXJseSByYXJlIGluIHByYWN0aWNlLCBjZXJ0YWlu ClVEUC1iYXNlZCBwcm90b2NvbHMgbGlrZSBORlMgdXNlIHRoZW0gZXh0ZW5zaXZlbHkuCgpUaGUg YXR0YWNoZWQgcGF0Y2ggd3JhcHMgSVAgcGFja2V0IGxlbmd0aHMgYW5kIG9mZnNldHMgaW4gbWFj cm9zIHRoYXQKZW5zdXJlIHRoZXkgYXJlIGFsd2F5cyBwcm9wZXJseSB0cmVhdGVkIGFzIHVuc2ln bmVkIHZhbHVlcy4KCi0tRWQK ------=_Part_8768_22065089.1146452142604 Content-Type: text/x-patch; name="qemu-slirp-32k-packets.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="qemu-slirp-32k-packets.patch" X-Attachment-Id: f_emo7zx58 ZGlmZiAtYnVyTiBxZW11LXNuYXBzaG90LTIwMDYtMDMtMjdfMjMub3JpZy9zbGlycC9pcC5oIHFl bXUtc25hcHNob3QtMjAwNi0wMy0yN18yMy9zbGlycC9pcC5oCi0tLSBxZW11LXNuYXBzaG90LTIw MDYtMDMtMjdfMjMub3JpZy9zbGlycC9pcC5oCTIwMDQtMDQtMjEgMTc6MTA6NDcuMDAwMDAwMDAw IC0wNzAwCisrKyBxZW11LXNuYXBzaG90LTIwMDYtMDMtMjdfMjMvc2xpcnAvaXAuaAkyMDA2LTA0 LTA2IDAwOjI4OjQ5LjAwMDAwMDAwMCAtMDcwMApAQCAtNzksNiArNzksMTEgQEAKICAqIFdlIGRl Y2xhcmUgaXBfbGVuIGFuZCBpcF9vZmYgdG8gYmUgc2hvcnQsIHJhdGhlciB0aGFuIHVfc2hvcnQK ICAqIHByYWdtYXRpY2FsbHkgc2luY2Ugb3RoZXJ3aXNlIHVuc2lnbmVkIGNvbXBhcmlzb25zIGNh biByZXN1bHQKICAqIGFnYWluc3QgbmVnYXRpdmUgaW50ZWdlcnMgcXVpdGUgZWFzaWx5LCBhbmQg ZmFpbCBpbiBzdWJ0bGUgd2F5cy4KKyAqCisgKiBUaGUgb25seSBwcm9ibGVtIHdpdGggdGhlIGFi b3ZlIHRoZW9yeSBpcyB0aGF0IHRoZXNlIHF1YW50aXRpZXMKKyAqIGFyZSBpbiBmYWN0IHVuc2ln bmVkLCBhbmQgc29ydGluZyBmcmFnbWVudHMgYnkgYSBzaWduZWQgdmVyc2lvbgorICogb2YgaXBf b2ZmIGRvZXNuJ3Qgd29yayB2ZXJ5IHdlbGwsIG5vciBkb2VzIGxlbmd0aCBjaGVja3Mgb24KKyAq IGlwIHBhY2tldHMgd2l0aCBhIHNpZ25lZCB2ZXJzaW9uIG9mIHRoZWlyIGxlbmd0aCEKICAqLwog c3RydWN0IGlwIHsKICNpZmRlZiBXT1JEU19CSUdFTkRJQU4KQEAgLTEwMSw2ICsxMDYsOSBAQAog CXN0cnVjdAlpbl9hZGRyIGlwX3NyYyxpcF9kc3Q7CS8qIHNvdXJjZSBhbmQgZGVzdCBhZGRyZXNz ICovCiB9OwogCisjZGVmaW5lIElQX09GRihpcCkgKCoodV9pbnQxNl90ICopJigoaXApLT5pcF9v ZmYpKQorI2RlZmluZSBJUF9MRU4oaXApICgqKHVfaW50MTZfdCAqKSYoKGlwKS0+aXBfbGVuKSkK KwogI2RlZmluZQlJUF9NQVhQQUNLRVQJNjU1MzUJCS8qIG1heGltdW0gcGFja2V0IHNpemUgKi8K IAogLyoKZGlmZiAtYnVyTiBxZW11LXNuYXBzaG90LTIwMDYtMDMtMjdfMjMub3JpZy9zbGlycC9p cF9pbnB1dC5jIHFlbXUtc25hcHNob3QtMjAwNi0wMy0yN18yMy9zbGlycC9pcF9pbnB1dC5jCi0t LSBxZW11LXNuYXBzaG90LTIwMDYtMDMtMjdfMjMub3JpZy9zbGlycC9pcF9pbnB1dC5jCTIwMDQt MDQtMjEgMTc6MTA6NDcuMDAwMDAwMDAwIC0wNzAwCisrKyBxZW11LXNuYXBzaG90LTIwMDYtMDMt MjdfMjMvc2xpcnAvaXBfaW5wdXQuYwkyMDA2LTA0LTA2IDAwOjMyOjE5LjAwMDAwMDAwMCAtMDcw MApAQCAtMTExLDcgKzExMSw3IEBACiAJICogQ29udmVydCBmaWVsZHMgdG8gaG9zdCByZXByZXNl bnRhdGlvbi4KIAkgKi8KIAlOVE9IUyhpcC0+aXBfbGVuKTsKLQlpZiAoaXAtPmlwX2xlbiA8IGhs ZW4pIHsKKwlpZiAoSVBfTEVOKGlwKSA8IGhsZW4pIHsKIAkJaXBzdGF0Lmlwc19iYWRsZW4rKzsK IAkJZ290byBiYWQ7CiAJfQpAQCAtMTI0LDEzICsxMjQsMTMgQEAKIAkgKiBUcmltIG1idWZzIGlm IGxvbmdlciB0aGFuIHdlIGV4cGVjdC4KIAkgKiBEcm9wIHBhY2tldCBpZiBzaG9ydGVyIHRoYW4g d2UgZXhwZWN0LgogCSAqLwotCWlmIChtLT5tX2xlbiA8IGlwLT5pcF9sZW4pIHsKKwlpZiAobS0+ bV9sZW4gPCBJUF9MRU4oaXApKSB7CiAJCWlwc3RhdC5pcHNfdG9vc2hvcnQrKzsKIAkJZ290byBi YWQ7CiAJfQogCS8qIFNob3VsZCBkcm9wIHBhY2tldCBpZiBtYnVmIHRvbyBsb25nPyBobW1tLi4u ICovCi0JaWYgKG0tPm1fbGVuID4gaXAtPmlwX2xlbikKLQkgICBtX2FkaihtLCBpcC0+aXBfbGVu IC0gbS0+bV9sZW4pOworCWlmIChtLT5tX2xlbiA+IElQX0xFTihpcCkpCisJICAgbV9hZGoobSwg SVBfTEVOKGlwKSAtIG0tPm1fbGVuKTsKIAogCS8qIGNoZWNrIGlwX3R0bCBmb3IgYSBjb3JyZWN0 IElDTVAgcmVwbHkgKi8KIAlpZihpcC0+aXBfdHRsPT0wIHx8IGlwLT5pcF90dGw9PTEpIHsKQEAg LTE5MSw3ICsxOTEsNyBAQAogCQkgKiBvciBpZiB0aGlzIGlzIG5vdCB0aGUgZmlyc3QgZnJhZ21l bnQsCiAJCSAqIGF0dGVtcHQgcmVhc3NlbWJseTsgaWYgaXQgc3VjY2VlZHMsIHByb2NlZWQuCiAJ CSAqLwotCQlpZiAoKChzdHJ1Y3QgaXBhc2ZyYWcgKilpcCktPmlwZl9tZmYgJiAxIHx8IGlwLT5p cF9vZmYpIHsKKwkJaWYgKCgoc3RydWN0IGlwYXNmcmFnICopaXApLT5pcGZfbWZmICYgMSB8fCBJ UF9PRkYoaXApKSB7CiAJCQlpcHN0YXQuaXBzX2ZyYWdtZW50cysrOwogCQkJaXAgPSBpcF9yZWFz cygoc3RydWN0IGlwYXNmcmFnICopaXAsIGZwKTsKIAkJCWlmIChpcCA9PSAwKQpAQCAtMjgxLDcg KzI4MSw3IEBACiAJICovCiAJZm9yIChxID0gKHN0cnVjdCBpcGFzZnJhZyAqKWZwLT5pcHFfbmV4 dDsgcSAhPSAoc3RydWN0IGlwYXNmcmFnICopZnA7CiAJICAgIHEgPSAoc3RydWN0IGlwYXNmcmFn ICopcS0+aXBmX25leHQpCi0JCWlmIChxLT5pcF9vZmYgPiBpcC0+aXBfb2ZmKQorCQlpZiAoSVBf T0ZGKHEpID4gSVBfT0ZGKGlwKSkKIAkJCWJyZWFrOwogCiAJLyoKQEAgLTI5MCwxMCArMjkwLDEw IEBACiAJICogc2VnbWVudC4gIElmIGl0IHByb3ZpZGVzIGFsbCBvZiBvdXIgZGF0YSwgZHJvcCB1 cy4KIAkgKi8KIAlpZiAocS0+aXBmX3ByZXYgIT0gKGlwYXNmcmFncF8zMilmcCkgewotCQlpID0g KChzdHJ1Y3QgaXBhc2ZyYWcgKikocS0+aXBmX3ByZXYpKS0+aXBfb2ZmICsKLQkJICAoKHN0cnVj dCBpcGFzZnJhZyAqKShxLT5pcGZfcHJldikpLT5pcF9sZW4gLSBpcC0+aXBfb2ZmOworCQlpID0g SVBfT0ZGKChzdHJ1Y3QgaXBhc2ZyYWcgKikocS0+aXBmX3ByZXYpKSArCisJCSAgSVBfTEVOKChz dHJ1Y3QgaXBhc2ZyYWcgKikocS0+aXBmX3ByZXYpKSAtIElQX09GRihpcCk7CiAJCWlmIChpID4g MCkgewotCQkJaWYgKGkgPj0gaXAtPmlwX2xlbikKKwkJCWlmIChpID49IElQX0xFTihpcCkpCiAJ CQkJZ290byBkcm9wZnJhZzsKIAkJCW1fYWRqKGR0b20oaXApLCBpKTsKIAkJCWlwLT5pcF9vZmYg Kz0gaTsKQEAgLTMwNSw5ICszMDUsOSBAQAogCSAqIFdoaWxlIHdlIG92ZXJsYXAgc3VjY2VlZGlu ZyBzZWdtZW50cyB0cmltIHRoZW0gb3IsCiAJICogaWYgdGhleSBhcmUgY29tcGxldGVseSBjb3Zl cmVkLCBkZXF1ZXVlIHRoZW0uCiAJICovCi0Jd2hpbGUgKHEgIT0gKHN0cnVjdCBpcGFzZnJhZyAq KWZwICYmIGlwLT5pcF9vZmYgKyBpcC0+aXBfbGVuID4gcS0+aXBfb2ZmKSB7Ci0JCWkgPSAoaXAt PmlwX29mZiArIGlwLT5pcF9sZW4pIC0gcS0+aXBfb2ZmOwotCQlpZiAoaSA8IHEtPmlwX2xlbikg eworCXdoaWxlIChxICE9IChzdHJ1Y3QgaXBhc2ZyYWcgKilmcCAmJiBJUF9PRkYoaXApICsgSVBf TEVOKGlwKSA+IElQX09GRihxKSkgeworCQlpID0gKElQX09GRihpcCkgKyBJUF9MRU4oaXApKSAt IElQX09GRihxKTsKKwkJaWYgKGkgPCBJUF9MRU4ocSkpIHsKIAkJCXEtPmlwX2xlbiAtPSBpOwog CQkJcS0+aXBfb2ZmICs9IGk7CiAJCQltX2FkaihkdG9tKHEpLCBpKTsKQEAgLTMyNyw5ICszMjcs OSBAQAogCW5leHQgPSAwOwogCWZvciAocSA9IChzdHJ1Y3QgaXBhc2ZyYWcgKikgZnAtPmlwcV9u ZXh0OyBxICE9IChzdHJ1Y3QgaXBhc2ZyYWcgKilmcDsKIAkgICAgIHEgPSAoc3RydWN0IGlwYXNm cmFnICopIHEtPmlwZl9uZXh0KSB7Ci0JCWlmIChxLT5pcF9vZmYgIT0gbmV4dCkKKwkJaWYgKElQ X09GRihxKSAhPSBuZXh0KQogCQkJcmV0dXJuICgwKTsKLQkJbmV4dCArPSBxLT5pcF9sZW47CisJ CW5leHQgKz0gSVBfTEVOKHEpOwogCX0KIAlpZiAoKChzdHJ1Y3QgaXBhc2ZyYWcgKikocS0+aXBm X3ByZXYpKS0+aXBmX21mZiAmIDEpCiAJCXJldHVybiAoMCk7CmRpZmYgLWJ1ck4gcWVtdS1zbmFw c2hvdC0yMDA2LTAzLTI3XzIzLm9yaWcvc2xpcnAvdWRwLmMgcWVtdS1zbmFwc2hvdC0yMDA2LTAz LTI3XzIzL3NsaXJwL3VkcC5jCi0tLSBxZW11LXNuYXBzaG90LTIwMDYtMDMtMjdfMjMub3JpZy9z bGlycC91ZHAuYwkyMDA2LTA0LTA2IDAwOjI0OjMwLjAwMDAwMDAwMCAtMDcwMAorKysgcWVtdS1z bmFwc2hvdC0yMDA2LTAzLTI3XzIzL3NsaXJwL3VkcC5jCTIwMDYtMDQtMDYgMDA6MzI6NTUuMDAw MDAwMDAwIC0wNzAwCkBAIC0xMTEsMTIgKzExMSwxMiBAQAogCSAqLwogCWxlbiA9IG50b2hzKCh1 X2ludDE2X3QpdWgtPnVoX3VsZW4pOwogCi0JaWYgKGlwLT5pcF9sZW4gIT0gbGVuKSB7Ci0JCWlm IChsZW4gPiBpcC0+aXBfbGVuKSB7CisJaWYgKElQX0xFTihpcCkgIT0gbGVuKSB7CisJCWlmIChs ZW4gPiBJUF9MRU4oaXApKSB7CiAJCQl1ZHBzdGF0LnVkcHNfYmFkbGVuKys7CiAJCQlnb3RvIGJh ZDsKIAkJfQotCQltX2FkaihtLCBsZW4gLSBpcC0+aXBfbGVuKTsKKwkJbV9hZGoobSwgbGVuIC0g SVBfTEVOKGlwKSk7CiAJCWlwLT5pcF9sZW4gPSBsZW47CiAJfQogCQo= ------=_Part_8768_22065089.1146452142604--