From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S262185AbVAIBqC (ORCPT ); Sat, 8 Jan 2005 20:46:02 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S262186AbVAIBqC (ORCPT ); Sat, 8 Jan 2005 20:46:02 -0500 Received: from ylpvm15-ext.prodigy.net ([207.115.57.46]:9380 "EHLO ylpvm15.prodigy.net") by vger.kernel.org with ESMTP id S262185AbVAIBp3 (ORCPT ); Sat, 8 Jan 2005 20:45:29 -0500 Date: Sat, 8 Jan 2005 17:45:25 -0800 From: Michael Ryan To: linux-kernel@vger.kernel.org Subject: STRIP Starmode Patch Message-Id: <20050108174525.2cad37b1.lkml@lacklustre.net> Organization: Lacklustre Networking X-Mailer: Sylpheed version 1.0.0beta3 (GTK+ 1.2.10; i386-pc-linux-gnu) Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart=_Sat__8_Jan_2005_17_45_25_-0800_Tf=sQU2Qqcjp32BG" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org This is a multi-part message in MIME format. --Multipart=_Sat__8_Jan_2005_17_45_25_-0800_Tf=sQU2Qqcjp32BG Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit The Linux kernel STRIP module was updated to support the newer series of Ricochet modems in January of 2002 by a person about whom I can find nothing more than a username of `abelits'. Anyway, he wasn't smart about it and didn't submit his patch to the LKML. When the existing drivers were migrated to the 2.6 tree, the old version of the module was migrated, and that's where the problems began. `abelits' provides a patch for 2.4.1, though it applies cleanly to the recent 2.4 kernels with just a little fuzz. However, the 2.6 version of strip.c is significantly different from the 2.4 version. Most structures in the diff are easy enough to find in the new version of the source, so I tried hand-merging the differences. Unfortunately, given my limited knowledge of C, I wasn't able to get anywhere with it. I attached copy of the patch and the link to the source of the patch's origin in the hopes that someone can migrate this driver to the current source tree and possibly merge it into both 2.4 and 2.6 production kernels. I can UPS a modem to someone if that's the real problem. If this idea is feasible at all, please reply. http://mars.illtel.denver.co.us/~abelits/metricom/ Look near the bottom, section 8.4. -- I am not on the list, please CC replies to me. --Multipart=_Sat__8_Jan_2005_17_45_25_-0800_Tf=sQU2Qqcjp32BG Content-Type: application/octet-stream; name="linux-2.4.1-strip.patch" Content-Disposition: attachment; filename="linux-2.4.1-strip.patch" Content-Transfer-Encoding: base64 LS0tIGxpbnV4LTIuNC4xLW9yaWcvZHJpdmVycy9uZXQvc3RyaXAuYwlUdWUgSnVsIDExIDExOjEy OjI0IDIwMDAKKysrIGxpbnV4L2RyaXZlcnMvbmV0L3N0cmlwLmMJU3VuIEZlYiAxMSAxNjoyMTo1 MSAyMDAxCkBAIC0xNCw3ICsxNCw3IEBACiAgKgkJZm9yIGtlcm5lbC1iYXNlZCBkZXZpY2VzIGxp a2UgVFRZLiAgSXQgaW50ZXJmYWNlcyBiZXR3ZWVuIGEKICAqCQlyYXcgVFRZLCBhbmQgdGhlIGtl cm5lbCdzIElORVQgcHJvdG9jb2wgbGF5ZXJzICh2aWEgRERJKS4KICAqCi0gKiBWZXJzaW9uOglA KCMpc3RyaXAuYwkxLjMJSnVseSAxOTk3CisgKiBWZXJzaW9uOglAKCMpc3RyaXAuYwkxLjQuMglG ZWJydWFyeSAyMDAxCiAgKgogICogQXV0aG9yOglTdHVhcnQgQ2hlc2hpcmUgPGNoZXNoaXJlQGNz LnN0YW5mb3JkLmVkdT4KICAqCkBAIC02NiwxNSArNjYsMjggQEAKICAqICAgICAgICAgICAgICBJ dCBpcyBubyBsb25nZXIgbmVjZXNzYXJpbHkgdG8gbWFudWFsbHkgc2V0IHRoZSByYWRpbydzCiAg KiAgICAgICAgICAgICAgcmF0ZSBwZXJtYW5lbnRseSB0byAxMTUyMDAgLS0gdGhlIGRyaXZlciBo YW5kbGVzIHNldHRpbmcKICAqICAgICAgICAgICAgICB0aGUgcmF0ZSBhdXRvbWF0aWNhbGx5Lgor ICoKKyAqIEFsZXggQmVsaXRzOiB2MS40IFNlcHRlbWJlciAyMDAwIChBQikKKyAqICAgICAgICAg ICAgICBBZGRlZCBzdXBwb3J0IGZvciBsb25nIHNlcmlhbCBudW1iZXJzLgorICoKKyAqICAgICAg ICAgICAgICB2MS40LjEgRGVjZW1iZXIgMjAwMCAoQUIpCisgKiAgICAgICAgICAgICAgQWRkZWQg dHhfYnl0ZXMgYW5kIHJ4X2J5dGVzIHJlcG9ydGluZyBpbiBzdHJpcF9nZXRfc3RhdHMoKSwKKyAq ICAgICAgICAgICAgICByZW1vdmVkIHBhY2tldHMgcmF0ZSB3YXJuaW5ncyB1bmxlc3MgU1RSSVBf VkVSQk9TRV9NRVNTQUdFUworICogICAgICAgICAgICAgIGlzIGVuYWJsbGVkLgorICoKKyAqICAg ICAgICAgICAgICB2MS40LjIgRmVicnVhcnkgMjAwMSAoQUIpCisgKiAgICAgICAgICAgICAgQWRk ZWQgc3VwcG9ydCBmb3IgbG9uZ2VyICgwMDAtMDAwMC0wMDAwKSBzZXJpYWwgbnVtYmVycy4KKyAq CiAgKi8KIAogI2lmZGVmIE1PRFVMRQotc3RhdGljIGNvbnN0IGNoYXIgU3RyaXBWZXJzaW9uW10g PSAiMS4zLVNUVUFSVC5DSEVTSElSRS1NT0RVTEFSIjsKK3N0YXRpYyBjb25zdCBjaGFyIFN0cmlw VmVyc2lvbltdID0gIjEuNC4yLVNUVUFSVC5DSEVTSElSRS1NT0RVTEFSIjsKICNlbHNlCi1zdGF0 aWMgY29uc3QgY2hhciBTdHJpcFZlcnNpb25bXSA9ICIxLjMtU1RVQVJULkNIRVNISVJFIjsKK3N0 YXRpYyBjb25zdCBjaGFyIFN0cmlwVmVyc2lvbltdID0gIjEuNC4yLVNUVUFSVC5DSEVTSElSRSI7 CiAjZW5kaWYKIAogI2RlZmluZSBUSUNLTEVfVElNRVJTIDAKKyNkZWZpbmUgU1RSSVBfVkVSQk9T RV9NRVNTQUdFUyAwCiAjZGVmaW5lIEVYVF9DT1VOVEVSUyAxCiAKIApAQCAtMjg4LDYgKzMwMSw4 IEBACiAKICAgICBzdHJ1Y3Qgc3RyaXAgICAgICAqbmV4dDsJCQkvKiBUaGUgbmV4dCBzdHJ1Y3Qg aW4gdGhlIGxpc3QJKi8KICAgICBzdHJ1Y3Qgc3RyaXAgICAgICoqcmVmZXJyZXI7CQkvKiBUaGUg cG9pbnRlciB0aGF0IHBvaW50cyB0byB1cyovCisgICAgaW50ICAgICAgICAgICAgICAgIHB1c2hp bmc7CQkJLyogU2V0IHdoZW4gZGF0YSBpcyBiZWluZyBwdXNoZWQqLworICAgIGludCAgICAgICAg ICAgICAgICB3b2tlX3VwOwkJCS8qIFNldCBpZiB3b2tlbiB1cCB3aGlsZSBwdXNoaW5nKi8KICAg ICBpbnQgICAgICAgICAgICAgICAgZGlzY2FyZDsJCQkvKiBTZXQgaWYgc2VyaWFsIGVycm9yCQkq LwogICAgIGludCAgICAgICAgICAgICAgICB3b3JraW5nOwkJCS8qIElzIHJhZGlvIHdvcmtpbmcg Y29ycmVjdGx5PwkqLwogICAgIGludCAgICAgICAgICAgICAgICBmaXJtd2FyZV9sZXZlbDsJCS8q IE1lc3NhZ2Ugc3RydWN0dXJpbmcgbGV2ZWwJKi8KQEAgLTUxNyw4ICs1MzIsMTAgQEAKIAlpZiAo bmVpZ2hib3JfZW50cnktPm51ZF9zdGF0ZSAmIE5VRF9WQUxJRCkKIAl7CiAJICAgIG1lbWNweSho YWRkciwgbmVpZ2hib3JfZW50cnktPmhhLCBkZXYtPmFkZHJfbGVuKTsKKwkgICAgbmVpZ2hfcmVs ZWFzZShuZWlnaGJvcl9lbnRyeSk7CiAJICAgIHJldHVybiAxOwogCX0KKyAgICAgICAgbmVpZ2hf cmVsZWFzZShuZWlnaGJvcl9lbnRyeSk7IAogICAgIH0KICAgICByZXR1cm4gMDsKIH0KQEAgLTg5 NywyMCArOTE0LDU2IEBACiAgKiBDb252ZXJ0IGEgc3RyaW5nIHRvIGEgTWV0cmljb20gQWRkcmVz cy4KICAqLwogCi0jZGVmaW5lIElTX1JBRElPX0FERFJFU1MocCkgKCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIElTX1JBRElPX0FERFJF U1NfMShwKSAoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CiAgIGlzZGlnaXQoKHApWzBdKSAmJiBpc2RpZ2l0KChwKVsxXSkgJiYgaXNkaWdpdCgocClbMl0p ICYmIGlzZGlnaXQoKHApWzNdKSAmJiBcCiAgIChwKVs0XSA9PSAnLScgJiYgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgIGlzZGln aXQoKHApWzVdKSAmJiBpc2RpZ2l0KChwKVs2XSkgJiYgaXNkaWdpdCgocClbN10pICYmIGlzZGln aXQoKHApWzhdKSAgICApCiAKKyNkZWZpbmUgSVNfUkFESU9fQUREUkVTU18yKHApICggICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgaXNkaWdpdCgocClb MF0pICYmIGlzZGlnaXQoKHApWzFdKSAmJiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKyAgKHApWzJdID09ICctJyAmJiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgaXNkaWdpdCgocClbM10pICYmIGlz ZGlnaXQoKHApWzRdKSAmJiBpc2RpZ2l0KChwKVs1XSkgJiYgaXNkaWdpdCgocClbNl0pICYmIFwK KyAgKHApWzddID09ICctJyAmJiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgaXNkaWdpdCgocClbOF0pICYmIGlzZGlnaXQoKHAp WzldKSAmJiBpc2RpZ2l0KChwKVsxMF0pICYmIGlzZGlnaXQoKHApWzExXSkgICkKKworI2RlZmlu ZSBJU19SQURJT19BRERSRVNTXzMocCkgKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAorICBpc2RpZ2l0KChwKVswXSkgJiYgaXNkaWdpdCgocClbMV0pICYm IGlzZGlnaXQoKHApWzJdKSAmJiAgICAgICAgICAgICAgICAgICAgXAorICAocClbM10gPT0gJy0n ICYmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICBpc2RpZ2l0KChwKVs0XSkgJiYgaXNkaWdpdCgocClbNV0pICYmIGlzZGlnaXQo KHApWzZdKSAmJiBpc2RpZ2l0KChwKVs3XSkgJiYgXAorICAocClbOF0gPT0gJy0nICYmICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor ICBpc2RpZ2l0KChwKVs5XSkgJiYgaXNkaWdpdCgocClbMTBdKSAmJiBpc2RpZ2l0KChwKVsxMV0p ICYmIGlzZGlnaXQoKHApWzEyXSkgKQorCiBzdGF0aWMgaW50IHN0cmluZ190b19yYWRpb19hZGRy ZXNzKE1ldHJpY29tQWRkcmVzcyAqYWRkciwgX191OCAqcCkKIHsKLSAgICBpZiAoIUlTX1JBRElP X0FERFJFU1MocCkpIHJldHVybigxKTsKKyAgCisgIGlmIChJU19SQURJT19BRERSRVNTXzMocCkp CisgICAgeworICAgICAgYWRkci0+Y1swXSA9IChSRUFESEVYKHBbMF0pKV4weEY7CisgICAgICBh ZGRyLT5jWzFdID0gKFJFQURIRVgocFsxXSkgPDwgNCB8IFJFQURIRVgocFsyXSkpIF4gMHhGRjsK KyAgICAgIGFkZHItPmNbMl0gPSBSRUFESEVYKHBbNF0pIDw8IDQgfCBSRUFESEVYKHBbNV0pOwor ICAgICAgYWRkci0+Y1szXSA9IFJFQURIRVgocFs2XSkgPDwgNCB8IFJFQURIRVgocFs3XSk7Cisg ICAgICBhZGRyLT5jWzRdID0gUkVBREhFWChwWzldKSA8PCA0IHwgUkVBREhFWChwWzEwXSk7Cisg ICAgICBhZGRyLT5jWzVdID0gUkVBREhFWChwWzExXSkgPDwgNCB8IFJFQURIRVgocFsxMl0pOwor ICAgIH1lbHNleworCisgICAgICBpZiAoSVNfUkFESU9fQUREUkVTU18yKHApKQorCXsKKwkgIGFk ZHItPmNbMF0gPSAwOworCSAgYWRkci0+Y1sxXSA9IChSRUFESEVYKHBbMF0pIDw8IDQgfCBSRUFE SEVYKHBbMV0pKSBeIDB4RkY7CisJICBhZGRyLT5jWzJdID0gUkVBREhFWChwWzNdKSA8PCA0IHwg UkVBREhFWChwWzRdKTsKKwkgIGFkZHItPmNbM10gPSBSRUFESEVYKHBbNV0pIDw8IDQgfCBSRUFE SEVYKHBbNl0pOworCSAgYWRkci0+Y1s0XSA9IFJFQURIRVgocFs4XSkgPDwgNCB8IFJFQURIRVgo cFs5XSk7CisJICBhZGRyLT5jWzVdID0gUkVBREhFWChwWzEwXSkgPDwgNCB8IFJFQURIRVgocFsx MV0pOworCX1lbHNleworCSAgaWYoIUlTX1JBRElPX0FERFJFU1NfMShwKSkgcmV0dXJuKDEpOwog ICAgIGFkZHItPmNbMF0gPSAwOwogICAgIGFkZHItPmNbMV0gPSAwOwogICAgIGFkZHItPmNbMl0g PSBSRUFESEVYKHBbMF0pIDw8IDQgfCBSRUFESEVYKHBbMV0pOwogICAgIGFkZHItPmNbM10gPSBS RUFESEVYKHBbMl0pIDw8IDQgfCBSRUFESEVYKHBbM10pOwogICAgIGFkZHItPmNbNF0gPSBSRUFE SEVYKHBbNV0pIDw8IDQgfCBSRUFESEVYKHBbNl0pOwogICAgIGFkZHItPmNbNV0gPSBSRUFESEVY KHBbN10pIDw8IDQgfCBSRUFESEVYKHBbOF0pOworCX0KKyAgICB9CiAgICAgcmV0dXJuKDApOwog fQogCkBAIC05MjAsNyArOTczLDE3IEBACiAKIHN0YXRpYyBfX3U4ICpyYWRpb19hZGRyZXNzX3Rv X3N0cmluZyhjb25zdCBNZXRyaWNvbUFkZHJlc3MgKmFkZHIsIE1ldHJpY29tQWRkcmVzc1N0cmlu ZyAqcCkKIHsKKyAgICBpZihhZGRyLT5jWzBdKQorICAgICAgeworCXNwcmludGYocC0+YywgIiUw MVglMDJYLSUwMlglMDJYLSUwMlglMDJYIiwgKGFkZHItPmNbMF0gJiAweEYpXiAweEYsIGFkZHIt PmNbMV0gXiAweEZGLCBhZGRyLT5jWzJdLCBhZGRyLT5jWzNdLCBhZGRyLT5jWzRdLCBhZGRyLT5j WzVdKTsKKyAgICAgIH1lbHNleworCWlmKGFkZHItPmNbMV0pCisJICB7CisJICBzcHJpbnRmKHAt PmMsICIlMDJYLSUwMlglMDJYLSUwMlglMDJYIiwgYWRkci0+Y1sxXSBeIDB4RkYsIGFkZHItPmNb Ml0sIGFkZHItPmNbM10sIGFkZHItPmNbNF0sIGFkZHItPmNbNV0pOworCSAgfWVsc2V7CiAgICAg c3ByaW50ZihwLT5jLCAiJTAyWCUwMlgtJTAyWCUwMlgiLCBhZGRyLT5jWzJdLCBhZGRyLT5jWzNd LCBhZGRyLT5jWzRdLCBhZGRyLT5jWzVdKTsKKwkgIH0KKyAgICAgIH0KICAgICByZXR1cm4ocC0+ Yyk7CiB9CiAKQEAgLTEzNDMsNiArMTQwNiw0NSBAQAogfQogCiAvKgorICogQ2FsbGVkIHRvIHNl bmQgdGhlIGRhdGEgdGhyb3VnaCB0aGUgdHR5IGRyaXZlcgorICoKKyAqLworCitzdGF0aWMgdm9p ZCBzdHJpcF9wdXNoKHN0cnVjdCBzdHJpcCAqc3RyaXBfaW5mbywgc3RydWN0IHR0eV9zdHJ1Y3Qg KnR0eSkKK3sKKyAgSW50ZXJydXB0U3RhdHVzIGludHN0YXQ7CisgIGludCBudW1fd3JpdHRlbjsK KworICBpZihzdHJpcF9pbmZvLT5wdXNoaW5nKQorICAgIHsKKyAgICAgIHByaW50ayhLRVJOX0VS UiAKKwkgICAgICIlczogc3RyaXBfcHVzaDogcHVzaGluZyByZWN1cnNpdmVseSAtLSBzaG91bGQg bm90IGhhcHBlblxuIiwKKwkgICAgIHN0cmlwX2luZm8tPmRldi5uYW1lKTsKKyAgICB9CisKKyAg aW50c3RhdCA9IERpc2FibGVJbnRlcnJ1cHRzKCk7CisgIHN0cmlwX2luZm8tPnB1c2hpbmcgPSAx OworICBkbworICAgIHsKKyAgICAgIHN0cmlwX2luZm8tPndva2VfdXAgPSAwOworICAgICAgUmVz dG9yZUludGVycnVwdHMoaW50c3RhdCk7CisgICAgICBudW1fd3JpdHRlbiA9IHR0eS0+ZHJpdmVy LndyaXRlKHR0eSwgMCwgc3RyaXBfaW5mby0+dHhfaGVhZCwgc3RyaXBfaW5mby0+dHhfbGVmdCk7 CisgICAgICBpbnRzdGF0ID0gRGlzYWJsZUludGVycnVwdHMoKTsKKyAgICAgIHN0cmlwX2luZm8t PnR4X2xlZnQgLT0gbnVtX3dyaXR0ZW47CisgICAgICBzdHJpcF9pbmZvLT50eF9oZWFkICs9IG51 bV93cml0dGVuOworI2lmZGVmIEVYVF9DT1VOVEVSUworICAgICAgc3RyaXBfaW5mby0+dHhfc2J5 dGVzICs9IG51bV93cml0dGVuOworI2VuZGlmCisgICAgfQorICB3aGlsZSAoc3RyaXBfaW5mby0+ d29rZV91cCAmJiBzdHJpcF9pbmZvLT50eF9sZWZ0ID4gMCk7IAorICAvKiBSZXBlYXQgaWYgd2Fr ZXVwIGhhcHBlbmVkIHdoaWxlIHB1c2hpbmcgKi8KKworICBzdHJpcF9pbmZvLT5wdXNoaW5nID0g MDsKKyAgUmVzdG9yZUludGVycnVwdHMoaW50c3RhdCk7Cit9CisKKworLyoKICAqIENhbGxlZCBi eSB0aGUgZHJpdmVyIHdoZW4gdGhlcmUncyByb29tIGZvciBtb3JlIGRhdGEuICBJZiB3ZSBoYXZl CiAgKiBtb3JlIHBhY2tldHMgdG8gc2VuZCwgd2Ugc2VuZCB0aGVtIGhlcmUuCiAgKi8KQEAgLTEz NTYsNiArMTQ1OCwxNiBAQAogICAgIAkhbmV0aWZfcnVubmluZygmc3RyaXBfaW5mby0+ZGV2KSkK ICAgICAgICAgcmV0dXJuOwogCisgICAgLyogVGhlbiBjaGVjayBpZiB3ZSBhcmVuJ3QgYWxyZWFk eSBwdXNoaW5nIHNvbWV0aGluZyAqLworCisgICAgaWYgKHN0cmlwX2luZm8tPnB1c2hpbmcpCisg ICAgeworICAgICAgLyogQW5kIGlmIHdlIGFyZSwgd2Ugc2hvdWxkIHNldCB0aGUgZmxhZyBhbmQg Z2V0IG91dCAqLworICAgICAgc3RyaXBfaW5mby0+d29rZV91cCA9IDE7CisgICAgICByZXR1cm47 CisgICAgfQorICAgIAorCiAgICAgaWYgKHN0cmlwX2luZm8tPnR4X2xlZnQgPiAwKQogICAgIHsK ICAgICAgICAgLyoKQEAgLTEzNzIsNiArMTQ4NCwxNCBAQAogICAgICAgICAgKiBJIGRpc2FibGUg aW50ZXJydXB0cyBhcm91bmQgdGhlIGNhbGwgdG8gdHR5LT5kcml2ZXIud3JpdGUsIGFsdGhvdWdo IGV2ZW4KICAgICAgICAgICogdGhpcyBtaWdodCBub3Qgd29yayBvbiBhIHN5bW1ldHJpYyBtdWx0 aS1wcm9jZXNzb3Igc3lzdGVtLgogICAgICAgICAgKi8KKworICAgICAgICAvKgorICAgICAgICAg KiBCdWcgaXMgaW4gdGhlIGV5ZSBvZiB0aGUgYmVob2xkZXIuIEluIHRoaXMgY2FzZSB0aGUgb3Jp Z2luYWwgYXV0aG9yCisgICAgICAgICAqIHNldmVyZWx5IG1pc3VuZGVyc3Rvb2QgdGhlIHRlY2hu aXF1ZXMgb2YgZGVhbGluZyB3aXRoIHRoaXMga2luZCBvZgorICAgICAgICAgKiBrZXJuZWwgZGVz aWduLgorICAgICAgICAgKi8KKworICAgICAgLyogCiAgICAgICAgIEludGVycnVwdFN0YXR1cyBp bnRzdGF0ID0gRGlzYWJsZUludGVycnVwdHMoKTsKICAgICAgICAgaW50IG51bV93cml0dGVuID0g dHR5LT5kcml2ZXIud3JpdGUodHR5LCAwLCBzdHJpcF9pbmZvLT50eF9oZWFkLCBzdHJpcF9pbmZv LT50eF9sZWZ0KTsKICAgICAgICAgc3RyaXBfaW5mby0+dHhfbGVmdCAtPSBudW1fd3JpdHRlbjsK QEAgLTEzODAsNiArMTUwMCwxMCBAQAogICAgICAgICBzdHJpcF9pbmZvLT50eF9zYnl0ZXMgKz0g bnVtX3dyaXR0ZW47CiAjZW5kaWYKICAgICAgICAgUmVzdG9yZUludGVycnVwdHMoaW50c3RhdCk7 CisgICAgICAqLworCisgICAgICBzdHJpcF9wdXNoKHN0cmlwX2luZm8sIHR0eSk7CisKICAgICB9 CiAgICAgZWxzZSAgICAgICAgICAgIC8qIEVsc2Ugc3RhcnQgdHJhbnNtaXNzaW9uIG9mIGFub3Ro ZXIgcGFja2V0ICovCiAgICAgewpAQCAtMTQzOSw5ICsxNTYzLDEwIEBACiAKICAgICAvKgogICAg ICAqIElmIHRoaXMgaXMgYSBicm9hZGNhc3QgcGFja2V0LCBzZW5kIGl0IHRvIG91ciBkZXNpZ25h dGVkIE1ldHJpY29tCi0gICAgICogJ2Jyb2FkY2FzdCBodWInIHJhZGlvIChGaXJzdCBieXRlIG9m IGFkZHJlc3MgYmVpbmcgMHhGRiBtZWFucyBicm9hZGNhc3QpCisgICAgICogJ2Jyb2FkY2FzdCBo dWInIHJhZGlvIChGaXJzdCBieXRlIG9mIGFkZHJlc3MgYmVpbmcgMHhGPHNvbWV0aGluZz4KKyAg ICAgKiAgbWVhbnMgYnJvYWRjYXN0KQogICAgICAqLwotICAgIGlmIChoYWRkci5jWzBdID09IDB4 RkYpCisgICAgaWYgKChoYWRkci5jWzBdICYgMHhGMCkgPT0gMHhGMCkKICAgICB7CiAJdTMyIGJy ZCA9IDA7CiAgCXN0cnVjdCBpbl9kZXZpY2UgKmluX2RldiA9IGluX2Rldl9nZXQoJnN0cmlwX2lu Zm8tPmRldik7CkBAIC0xNDY5LDYgKzE1OTQsMTYgQEAKIAogICAgICpwdHIrKyA9IDB4MEQ7CiAg ICAgKnB0cisrID0gJyonOworICAgIGlmKGhhZGRyLmNbMF0pCisgICAgeworICAgICAgICAqcHRy KysgPSBoZXh0YWJsZVsoaGFkZHIuY1swXSAmIDB4RikgXiAweEZdOworICAgIH0KKyAgICBpZiho YWRkci5jWzFdKQorICAgIHsKKyAgICAgICAgKnB0cisrID0gaGV4dGFibGVbKGhhZGRyLmNbMV0g Pj4gNCkgXiAweEZdOworICAgICAgICAqcHRyKysgPSBoZXh0YWJsZVsoaGFkZHIuY1sxXSAmIDB4 RikgXiAweEZdOworICAgICAgICAqcHRyKysgPSAnLSc7CisgICAgfQogICAgICpwdHIrKyA9IGhl eHRhYmxlW2hhZGRyLmNbMl0gPj4gNF07CiAgICAgKnB0cisrID0gaGV4dGFibGVbaGFkZHIuY1sy XSAmIDB4Rl07CiAgICAgKnB0cisrID0gaGV4dGFibGVbaGFkZHIuY1szXSA+PiA0XTsKQEAgLTE0 OTQsNiArMTYyOSw3IEBACiAKIHN0YXRpYyB2b2lkIHN0cmlwX3NlbmQoc3RydWN0IHN0cmlwICpz dHJpcF9pbmZvLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogeworICAgIEludGVycnVwdFN0YXR1cyBp bnRzdGF0OwogICAgIE1ldHJpY29tQWRkcmVzcyBoYWRkcjsKICAgICB1bnNpZ25lZCBjaGFyICpw dHIgPSBzdHJpcF9pbmZvLT50eF9idWZmOwogICAgIGludCBkb3Jlc2V0ID0gKGxvbmcpamlmZmll cyAtIHN0cmlwX2luZm8tPndhdGNoZG9nX2RvcmVzZXQgPj0gMDsKQEAgLTE1NjUsNiArMTcwMSw3 IEBACiAgICAgLyoKICAgICAgKiAzLiBTZXQgdXAgdGhlIHN0cmlwX2luZm8gcmVhZHkgdG8gc2Vu ZCB0aGUgZGF0YSAoaWYgYW55KS4KICAgICAgKi8KKyAgICBpbnRzdGF0ID0gRGlzYWJsZUludGVy cnVwdHMoKTsKICAgICBzdHJpcF9pbmZvLT50eF9oZWFkID0gc3RyaXBfaW5mby0+dHhfYnVmZjsK ICAgICBzdHJpcF9pbmZvLT50eF9sZWZ0ID0gcHRyIC0gc3RyaXBfaW5mby0+dHhfYnVmZjsKICAg ICBzdHJpcF9pbmZvLT50dHktPmZsYWdzIHw9ICgxIDw8IFRUWV9ET19XUklURV9XQUtFVVApOwpA QCAtMTU3NSw2ICsxNzEyLDcgQEAKICAgICBpZiAoc3RyaXBfaW5mby0+dHhfc2l6ZSAtIHN0cmlw X2luZm8tPnR4X2xlZnQgPCAyMCkKICAgICAgICAgcHJpbnRrKEtFUk5fRVJSICIlczogU2VuZGlu ZyU1ZCBieXRlczslNWQgYnl0ZXMgZnJlZS5cbiIsIHN0cmlwX2luZm8tPmRldi5uYW1lLAogICAg ICAgICAgICAgc3RyaXBfaW5mby0+dHhfbGVmdCwgc3RyaXBfaW5mby0+dHhfc2l6ZSAtIHN0cmlw X2luZm8tPnR4X2xlZnQpOworICAgIFJlc3RvcmVJbnRlcnJ1cHRzKGludHN0YXQpOwogCiAgICAg LyoKICAgICAgKiA1LiBJZiB3YXRjaGRvZyBoYXMgZXhwaXJlZCwgcmVzZXQgdGhlIHJhZGlvLiBO b3RlOiBpZiB0aGVyZSdzIGRhdGEgd2FpdGluZyBpbgpAQCAtMTY3Myw2ICsxODExLDcgQEAKICAg ICAgICAgc3RyaXBfaW5mby0+dHhfYXZlcmFnZV9wcHMgPSAoc3RyaXBfaW5mby0+dHhfYXZlcmFn ZV9wcHMgKyB0eF9wcHNfY291bnQgKyAxKSAvIDI7CiAgICAgICAgIHN0cmlwX2luZm8tPnN4X2F2 ZXJhZ2VfcHBzID0gKHN0cmlwX2luZm8tPnN4X2F2ZXJhZ2VfcHBzICsgc3hfcHBzX2NvdW50ICsg MSkgLyAyOwogCisjaWYgU1RSSVBfVkVSQk9TRV9NRVNTQUdFUwogICAgICAgICBpZiAocnhfcHBz X2NvdW50IC8gOCA+PSAxMCkKICAgICAgICAgICAgIHByaW50ayhLRVJOX0lORk8gIiVzOiBXQVJO SU5HOiBSZWNlaXZpbmcgJWxkIHBhY2tldHMgcGVyIHNlY29uZC5cbiIsCiAgICAgICAgICAgICAg ICAgc3RyaXBfaW5mby0+ZGV2Lm5hbWUsIHJ4X3Bwc19jb3VudCAvIDgpOwpAQCAtMTY4Miw2ICsx ODIxLDcgQEAKICAgICAgICAgaWYgKHN4X3Bwc19jb3VudCAvIDggPj0gMTApCiAgICAgICAgICAg ICBwcmludGsoS0VSTl9JTkZPICIlczogV0FSTklORzogU2VuZGluZyAgICVsZCBwYWNrZXRzIHBl ciBzZWNvbmQuXG4iLAogICAgICAgICAgICAgICAgIHN0cmlwX2luZm8tPmRldi5uYW1lLCBzeF9w cHNfY291bnQgLyA4KTsKKyNlbmRpZgogICAgIH0KIAogICAgIHN0cmlwX3NlbmQoc3RyaXBfaW5m bywgc2tiKTsKQEAgLTI0MzksNiArMjU3OSwxMiBAQAogCiAgICAgc3RhdHMucnhfcGFja2V0cyAg ICAgPSBzdHJpcF9pbmZvLT5yeF9wYWNrZXRzOwogICAgIHN0YXRzLnR4X3BhY2tldHMgICAgID0g c3RyaXBfaW5mby0+dHhfcGFja2V0czsKKworI2lmZGVmIEVYVF9DT1VOVEVSUworICAgIHN0YXRz LnJ4X2J5dGVzICAgICAgID0gc3RyaXBfaW5mby0+cnhfYnl0ZXM7CisgICAgc3RhdHMudHhfYnl0 ZXMgICAgICAgPSBzdHJpcF9pbmZvLT50eF9ieXRlczsKKyNlbmRpZgorCiAgICAgc3RhdHMucnhf ZHJvcHBlZCAgICAgPSBzdHJpcF9pbmZvLT5yeF9kcm9wcGVkOwogICAgIHN0YXRzLnR4X2Ryb3Bw ZWQgICAgID0gc3RyaXBfaW5mby0+dHhfZHJvcHBlZDsKICAgICBzdGF0cy50eF9lcnJvcnMgICAg ICA9IHN0cmlwX2luZm8tPnR4X2Vycm9yczsKQEAgLTI0OTAsNiArMjYzNiw5IEBACiAKICAgICBz dHJpcF9pbmZvLT5zeF9jb3VudCA9IDA7CiAgICAgc3RyaXBfaW5mby0+dHhfbGVmdCAgPSAwOwor CisgICAgc3RyaXBfaW5mby0+cHVzaGluZyAgPSAwOworICAgIHN0cmlwX2luZm8tPndva2VfdXAg ID0gMDsKIAogICAgIHN0cmlwX2luZm8tPmRpc2NhcmQgID0gMDsKICAgICBzdHJpcF9pbmZvLT53 b3JraW5nICA9IEZBTFNFOwo= --Multipart=_Sat__8_Jan_2005_17_45_25_-0800_Tf=sQU2Qqcjp32BG--