Date: Tue, 11 Sep 2001 02:05:32 -0400 (EDT) From: "Andrew R. Reiter" <arr@watson.org> To: freebsd-audit@FreeBSD.ORG Subject: Re: select diffs Message-ID: <Pine.NEB.3.96L.1010911020108.46088A-200000@fledge.watson.org> In-Reply-To: <Pine.NEB.3.96L.1010910235947.45198A-200000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-326324869-1000188332=:46088 Content-Type: TEXT/PLAIN; charset=US-ASCII Thanks to Mike Barcroft for some comments and beating my style(9) skillessness (word?) into helping to clean rlogind.c. Attached is an updated diff for the select "problems" as well as updates to rlogind.c to clean it up in terms of style(9). If I missed something, tips are appreciated -- Im a style(9) retard, to be politically incorrect. Sorry that it's not 2 diffs, one for select and one for style(9) fixes, but such is life. Hope this helps, cheers, andrew On Tue, 11 Sep 2001, Andrew R. Reiter wrote: :Hey, : :I am pondering starting on moving alot of the select() usages in :src/libexec and src/usr.sbin to using dynamically allocated fd_set bit :arrays in order to be extra cautious about fd usage. Therefore, I did a :patch for rlogind so that people could review changes that would most :likely occur to the sets of code that utilize select(2). I would :appreciate comments... : :if you're wondering why select instead of perhaps moving to kqueue.... : :After speaking with Jonathan Lemon about whether it was worth moving from :select() on all of these to a kqueue-ified system, I believe we/he :concluded that probably none of these programs (libexec and usr.sbin) :would really require kqueue-ification (except probably inetd), so I :decided to move towards doing the fd_set's dyn. alloc'd rather than moving :to a kq system. : :anyway, attached is a patch, but it can also be seen at: : : http://www.watson.org/~arr/fbsd-audit/libexec/rlogind/rlogin.c.diff : :This diff was made against current from 9/16/01 (evening pacific time) : :Andrew : :*-------------................................................. :| Andrew R. Reiter :| arr@fledge.watson.org :| "It requires a very unusual mind :| to undertake the analysis of the obvious" -- A.N. Whitehead : *-------------................................................. | Andrew R. Reiter | arr@fledge.watson.org | "It requires a very unusual mind | to undertake the analysis of the obvious" -- A.N. Whitehead --0-326324869-1000188332=:46088 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="rlogind.c.diff" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.NEB.3.96L.1010911020532.46088B@fledge.watson.org> Content-Description: LS0tIC4vcmxvZ2luZC5jLm9yaWcJTW9uIFNlcCAxMCAyMjozMjoyOCAyMDAx DQorKysgLi9ybG9naW5kLmMJVHVlIFNlcCAxMSAwMDo1OTo0MCAyMDAxDQpA QCAtNzgsNiArNzgsNyBAQA0KICNpbmNsdWRlIDxzdGRsaWIuaD4NCiAjaW5j bHVkZSA8c3RyaW5nLmg+DQogI2luY2x1ZGUgPHVuaXN0ZC5oPg0KKw0KICNp bmNsdWRlICJwYXRobmFtZXMuaCINCiANCiANCkBAIC04Nyw2ICs4OCw4IEBA DQogDQogI2RlZmluZQkJQVJHU1RSCQkJIkRhbG54Ig0KIA0KKyNkZWZpbmUJ ZmRfaG93bWFueSh4LCB5KQkoKCh4KSArICgoeSkgLSAxKSkgLyAoeSkpDQor DQogLyogd3JhcHBlciBmb3IgS0FNRS1zcGVjaWFsIGdldG5hbWVpbmZvKCkg Ki8NCiAjaWZuZGVmIE5JX1dJVEhTQ09QRUlEDQogI2RlZmluZQlOSV9XSVRI U0NPUEVJRAkwDQpAQCAtMTY3LDcgKzE3MCw3IEBADQogCWFyZ2MgLT0gb3B0 aW5kOw0KIAlhcmd2ICs9IG9wdGluZDsNCiANCi0JZnJvbWxlbiA9IHNpemVv ZiAoZnJvbSk7DQorCWZyb21sZW4gPSBzaXplb2YoZnJvbSk7DQogCWlmIChn ZXRwZWVybmFtZSgwLCAoc3RydWN0IHNvY2thZGRyICopJmZyb20sICZmcm9t bGVuKSA8IDApIHsNCiAJCXN5c2xvZyhMT0dfRVJSLCJDYW4ndCBnZXQgcGVl ciBuYW1lIG9mIHJlbW90ZSBob3N0OiAlbSIpOw0KIAkJZmF0YWwoU1RERVJS X0ZJTEVOTywgIkNhbid0IGdldCBwZWVyIG5hbWUgb2YgcmVtb3RlIGhvc3Qi LCAxKTsNCkBAIC0xNzksMTIgKzE4MiwxMiBAQA0KIAlpZiAobm9fZGVsYXkg JiYNCiAJICAgIHNldHNvY2tvcHQoMCwgSVBQUk9UT19UQ1AsIFRDUF9OT0RF TEFZLCAmb24sIHNpemVvZihvbikpIDwgMCkNCiAJCXN5c2xvZyhMT0dfV0FS TklORywgInNldHNvY2tvcHQgKFRDUF9OT0RFTEFZKTogJW0iKTsNCi0gICAg ICAgIGlmIChmcm9tLnN1X2ZhbWlseSA9PSBBRl9JTkVUKQ0KLSAgICAgIHsN Ci0Jb24gPSBJUFRPU19MT1dERUxBWTsNCi0JaWYgKHNldHNvY2tvcHQoMCwg SVBQUk9UT19JUCwgSVBfVE9TLCAoY2hhciAqKSZvbiwgc2l6ZW9mKGludCkp IDwgMCkNCi0JCXN5c2xvZyhMT0dfV0FSTklORywgInNldHNvY2tvcHQgKElQ X1RPUyk6ICVtIik7DQotICAgICAgfQ0KKyAgICAgICAgaWYgKGZyb20uc3Vf ZmFtaWx5ID09IEFGX0lORVQpIHsNCisJCW9uID0gSVBUT1NfTE9XREVMQVk7 DQorCQlpZiAoc2V0c29ja29wdCgwLCBJUFBST1RPX0lQLCBJUF9UT1MsIChj aGFyICopJm9uLCANCisJCSAgICBzaXplb2YoaW50KSkgPCAwKQ0KKwkJCXN5 c2xvZyhMT0dfV0FSTklORywgInNldHNvY2tvcHQgKElQX1RPUyk6ICVtIik7 DQorICAgICAgCX0JDQogDQogCWRvaXQoMCwgJmZyb20pOw0KIAlyZXR1cm4g MDsNCkBAIC0yMTgsMzEgKzIyMSwzMCBAQA0KIAlhbGFybSgwKTsNCiANCiAJ cmVhbGhvc3RuYW1lX3NhKGhvc3RuYW1lLCBzaXplb2YoaG9zdG5hbWUpIC0g MSwNCi0JCQkgICAgKHN0cnVjdCBzb2NrYWRkciAqKWZyb21wLCBmcm9tcC0+ c3VfbGVuKTsNCisJICAgIChzdHJ1Y3Qgc29ja2FkZHIgKilmcm9tcCwgZnJv bXAtPnN1X2xlbik7DQorDQogCS8qIGVycm9yIGNoZWNrID8gKi8NCiAJZnJv bXAtPnN1X3BvcnQgPSBudG9ocygodV9zaG9ydClmcm9tcC0+c3VfcG9ydCk7 DQogCWhvc3RuYW1lW3NpemVvZihob3N0bmFtZSkgLSAxXSA9ICdcMCc7DQog DQotCXsNCi0JCWlmICgoZnJvbXAtPnN1X2ZhbWlseSAhPSBBRl9JTkVUDQor CWlmICgoZnJvbXAtPnN1X2ZhbWlseSAhPSBBRl9JTkVUDQogI2lmZGVmIElO RVQ2DQotCQkgICYmIGZyb21wLT5zdV9mYW1pbHkgIT0gQUZfSU5FVDYNCisg CSAgICAmJiBmcm9tcC0+c3VfZmFtaWx5ICE9IEFGX0lORVQ2DQogI2VuZGlm DQotCQkgICAgICkgfHwNCi0JCSAgICBmcm9tcC0+c3VfcG9ydCA+PSBJUFBP UlRfUkVTRVJWRUQgfHwNCi0JCSAgICBmcm9tcC0+c3VfcG9ydCA8IElQUE9S VF9SRVNFUlZFRC8yKSB7DQotCQkJZ2V0bmFtZWluZm8oKHN0cnVjdCBzb2Nr YWRkciAqKWZyb21wLA0KLQkJCQkgICAgZnJvbXAtPnN1X2xlbiwNCi0JCQkJ ICAgIG5hbWVpbmZvLCBzaXplb2YobmFtZWluZm8pLCBOVUxMLCAwLA0KLQkJ CQkgICAgTklfTlVNRVJJQ0hPU1R8TklfV0lUSFNDT1BFSUQpOw0KLQkJCS8q IGVycm9yIGNoZWNrID8gKi8NCi0JCQlzeXNsb2coTE9HX05PVElDRSwgIkNv bm5lY3Rpb24gZnJvbSAlcyBvbiBpbGxlZ2FsIHBvcnQiLA0KLQkJCSAgICAg ICBuYW1laW5mbyk7DQotCQkJZmF0YWwoZiwgIlBlcm1pc3Npb24gZGVuaWVk IiwgMCk7DQotCQl9DQorCSAgICApIHx8DQorCSAgICBmcm9tcC0+c3VfcG9y dCA+PSBJUFBPUlRfUkVTRVJWRUQgfHwNCisJICAgIGZyb21wLT5zdV9wb3J0 IDwgSVBQT1JUX1JFU0VSVkVELzIpIHsNCisJCWdldG5hbWVpbmZvKChzdHJ1 Y3Qgc29ja2FkZHIgKilmcm9tcCwNCisJCSAgICBmcm9tcC0+c3VfbGVuLA0K KwkJICAgIG5hbWVpbmZvLCBzaXplb2YobmFtZWluZm8pLCBOVUxMLCAwLA0K KwkJICAgIE5JX05VTUVSSUNIT1NUfE5JX1dJVEhTQ09QRUlEKTsNCisJCS8q IGVycm9yIGNoZWNrID8gKi8NCisJCXN5c2xvZyhMT0dfTk9USUNFLCAiQ29u bmVjdGlvbiBmcm9tICVzIG9uIGlsbGVnYWwgcG9ydCIsDQorCQkgICAgbmFt ZWluZm8pOw0KKwkJZmF0YWwoZiwgIlBlcm1pc3Npb24gZGVuaWVkIiwgMCk7 DQorCX0NCiAjaWZkZWYgSVBfT1BUSU9OUw0KLQkJaWYgKGZyb21wLT5zdV9m YW1pbHkgPT0gQUZfSU5FVCkNCi0gICAgICAgICAgICAgIHsNCisJaWYgKGZy b21wLT5zdV9mYW1pbHkgPT0gQUZfSU5FVCkgew0KIAkJdV9jaGFyIG9wdGJ1 ZltCVUZTSVovM107DQogCQlpbnQgb3B0c2l6ZSA9IHNpemVvZihvcHRidWYp LCBpcHByb3RvLCBpOw0KIAkJc3RydWN0IHByb3RvZW50ICppcDsNCkBAIC0y NTIsMTQgKzI1NCwyOSBAQA0KIAkJZWxzZQ0KIAkJCWlwcHJvdG8gPSBJUFBS T1RPX0lQOw0KIAkJaWYgKGdldHNvY2tvcHQoMCwgaXBwcm90bywgSVBfT1BU SU9OUywgKGNoYXIgKilvcHRidWYsDQotCQkgICAgJm9wdHNpemUpID09IDAg JiYgb3B0c2l6ZSAhPSAwKSB7DQorCSAgICAJICAgICZvcHRzaXplKSA9PSAw ICYmIG9wdHNpemUgIT0gMCkgew0KIAkJCWZvciAoaSA9IDA7IGkgPCBvcHRz aXplOyApIHsNCiAJCQkJdV9jaGFyIGMgPSBvcHRidWZbaV07DQotCQkJCWlm IChjID09IElQT1BUX0xTUlIgfHwgYyA9PSBJUE9QVF9TU1JSKSB7DQorCQkJ CWNoYXIgcnJvcHRbNV0sIHJlbW90ZV9pcFsxNl07DQorDQorCQkJCWlmIChj ID09IElQT1BUX0xTUlINCisJCQkJICAgIHx8IGMgPT0gSVBPUFRfU1NSUikg ew0KKwkJCQkJaWYgKGMgPT0gSVBPUFRfTFNSUikNCisJCQkJCQkodm9pZClz dHJsY3B5KHJyb3B0LCAiTFNSUiIsIA0KKwkJCQkJCSAgICBzaXplb2YocnJv cHQpKTsNCisJCQkJCWVsc2UNCisJCQkJCQkodm9pZClzdHJsY3B5KHJyb3B0 LCAiU1NSUiIsIA0KKwkJCQkJCSAgICBzaXplb2YocnJvcHQpKTsNCisJCQ0K KwkJCQkJbWVtc2V0KHJlbW90ZV9pcCwgMCwgc2l6ZW9mKHJlbW90ZV9pcCkp Ow0KKwkJCQkJKHZvaWQpc3RybGNweShyZW1vdGVfaXAsIA0KKyAgCQkJCQkg ICAgaW5ldF9udG9hKGZyb21wLT5zdV9zaW4uc2luX2FkZHIpLCANCisJCQkJ CSAgICBzaXplb2YocmVtb3RlX2lwKSk7DQorCQkJCQkJCQkNCiAJCQkJCXN5 c2xvZyhMT0dfTk9USUNFLA0KLQkJCQkJCSJDb25uZWN0aW9uIHJlZnVzZWQg ZnJvbSAlcyB3aXRoIElQIG9wdGlvbiAlcyIsDQotCQkJCQkJaW5ldF9udG9h KGZyb21wLT5zdV9zaW4uc2luX2FkZHIpLA0KLQkJCQkJCWMgPT0gSVBPUFRf TFNSUiA/ICJMU1JSIiA6ICJTU1JSIik7DQorCQkJCQkgICAgIkNvbm5lY3Rp b24gcmVmdXNlZCBmcm9tICVzIg0KKwkJCQkJICAgICIgd2l0aCBJUCBvcHRp b24gJXMiLCANCisJCQkJCSAgICByZW1vdGVfaXAsIHJyb3B0KTsNCiAJCQkJ CWV4aXQoMSk7DQogCQkJCX0NCiAJCQkJaWYgKGMgPT0gSVBPUFRfRU9MKQ0K QEAgLTI2NywyMSArMjg0LDIxIEBADQogCQkJCWkgKz0gKGMgPT0gSVBPUFRf Tk9QKSA/IDEgOiBvcHRidWZbaSsxXTsNCiAJCQl9DQogCQl9DQotCSAgICAg IH0NCi0jZW5kaWYNCi0JCWlmIChkb19ybG9naW4oZnJvbXApID09IDApDQot CQkJYXV0aGVudGljYXRlZCsrOw0KIAl9DQorI2VuZGlmDQorCWlmIChkb19y bG9naW4oZnJvbXApID09IDApDQorCQlhdXRoZW50aWNhdGVkKys7DQorDQog CWlmIChjb25maXJtZWQgPT0gMCkgew0KIAkJd3JpdGUoZiwgIiIsIDEpOw0K IAkJY29uZmlybWVkID0gMTsJCS8qIHdlIHNlbnQgdGhlIG51bGwhICovDQog CX0NCiAjaWZkZWYJQ1JZUFQNCiAJaWYgKGRvZW5jcnlwdCkNCi0JCSh2b2lk KSBkZXNfZW5jX3dyaXRlKGYsDQotCQkJCSAgICAgU0VDVVJFX01FU1NBR0Us DQotCQkJCSAgICAgc3RybGVuKFNFQ1VSRV9NRVNTQUdFKSwNCi0JCQkJICAg ICBzY2hlZHVsZSwgJmtkYXRhLT5zZXNzaW9uKTsNCisJCSh2b2lkKWRlc19l bmNfd3JpdGUoZiwNCisJCSAgICBTRUNVUkVfTUVTU0FHRSwNCisJCSAgICBz dHJsZW4oU0VDVVJFX01FU1NBR0UpLA0KKwkJICAgIHNjaGVkdWxlLCAma2Rh dGEtPnNlc3Npb24pOw0KICNlbmRpZg0KIAluZXRmID0gZjsNCiANCkBAIC0y OTQsMTkgKzMxMSwyMCBAQA0KIAl9DQogCWlmIChwaWQgPT0gMCkgew0KIAkJ aWYgKGYgPiAyKQkvKiBmIHNob3VsZCBhbHdheXMgYmUgMCwgYnV0Li4uICov DQotCQkJKHZvaWQpIGNsb3NlKGYpOw0KKwkJCSh2b2lkKWNsb3NlKGYpOw0K IAkJc2V0dXBfdGVybSgwKTsNCi0JCSBpZiAoKmx1c2VybmFtZT09Jy0nKSB7 DQorCQlpZiAoKmx1c2VybmFtZSA9PSAnLScpIHsNCiAJCQlzeXNsb2coTE9H X0VSUiwgInRyaWVkIHRvIHBhc3MgdXNlciBcIiVzXCIgdG8gbG9naW4iLA0K LQkJCSAgICAgICBsdXNlcm5hbWUpOw0KKwkJCSAgICBsdXNlcm5hbWUpOw0K IAkJCWZhdGFsKFNUREVSUl9GSUxFTk8sICJpbnZhbGlkIHVzZXIiLCAwKTsN CiAJCX0NCi0JCWlmIChhdXRoZW50aWNhdGVkKSB7DQorCQlpZiAoYXV0aGVu dGljYXRlZCkgDQogCQkJZXhlY2woX1BBVEhfTE9HSU4sICJsb2dpbiIsICIt cCIsDQogCQkJICAgICItaCIsIGhvc3RuYW1lLCAiLWYiLCBsdXNlcm5hbWUs IChjaGFyICopTlVMTCk7DQotCQl9IGVsc2UNCisJCWVsc2UNCiAJCQlleGVj bChfUEFUSF9MT0dJTiwgImxvZ2luIiwgIi1wIiwNCiAJCQkgICAgIi1oIiwg aG9zdG5hbWUsIGx1c2VybmFtZSwgKGNoYXIgKilOVUxMKTsNCisNCiAJCWZh dGFsKFNUREVSUl9GSUxFTk8sIF9QQVRIX0xPR0lOLCAxKTsNCiAJCS8qTk9U UkVBQ0hFRCovDQogCX0NCkBAIC0zNDMsNyArMzYxLDcgQEANCiB7DQogCXN0 cnVjdCB3aW5zaXplIHc7DQogDQotCWlmIChuIDwgNCtzaXplb2YgKHcpIHx8 IGNwWzJdICE9ICdzJyB8fCBjcFszXSAhPSAncycpDQorCWlmIChuIDwgNCAr IHNpemVvZih3KSB8fCBjcFsyXSAhPSAncycgfHwgY3BbM10gIT0gJ3MnKQ0K IAkJcmV0dXJuICgwKTsNCiAJb29iZGF0YVswXSAmPSB+VElPQ1BLVF9XSU5E T1c7CS8qIHdlIGtub3cgaGUgaGVhcmQgKi8NCiAJYmNvcHkoY3ArNCwgKGNo YXIgKikmdywgc2l6ZW9mKHcpKTsNCkBAIC0zNzIsNyArMzkwLDcgQEANCiAJ ICogd2hlbiB3ZSB0cnkgYW5kIHNldCBzbGF2ZSBwdHkncyB3aW5kb3cgc2hh cGUNCiAJICogKG91ciBjb250cm9sbGluZyB0dHkgaXMgdGhlIG1hc3RlciBw dHkpLg0KIAkgKi8NCi0JKHZvaWQpIHNpZ25hbChTSUdUVE9VLCBTSUdfSUdO KTsNCisJKHZvaWQpc2lnbmFsKFNJR1RUT1UsIFNJR19JR04pOw0KIAlzZW5k KGYsIG9vYmRhdGEsIDEsIE1TR19PT0IpOwkvKiBpbmRpY2F0ZSBuZXcgcmxv Z2luICovDQogCWlmIChmID4gcCkNCiAJCW5mZCA9IGYgKyAxOw0KQEAgLTM4 Myw1MiArNDAxLDczIEBADQogCQlmYXRhbChmLCAiaW50ZXJuYWwgZXJyb3Ig KHNlbGVjdCBtYXNrIHRvbyBzbWFsbCkiLCAwKTsNCiAJfQ0KIAlmb3IgKDs7 KSB7DQotCQlmZF9zZXQgaWJpdHMsIG9iaXRzLCBlYml0cywgKm9tYXNrOw0K KwkJZmRfc2V0ICppYml0cywgKm9iaXRzLCAqZWJpdHMsICpvbWFzazsNCisN CisJCWliaXRzID0gY2FsbG9jKGZkX2hvd21hbnkobmZkLCBORkRCSVRTKSwg c2l6ZW9mKGZkX21hc2spKTsNCisJCWlmIChpYml0cyA9PSBOVUxMKSANCisJ CQlmYXRhbChmLCAiY2FsbG9jIiwgMSk7DQorDQorCQlvYml0cyA9IGNhbGxv YyhmZF9ob3dtYW55KG5mZCwgTkZEQklUUyksIHNpemVvZihmZF9tYXNrKSk7 DQorCQlpZiAob2JpdHMgPT0gTlVMTCkgIHsNCisJCQlmcmVlKGliaXRzKTsN CisJCQlmYXRhbChmLCAiY2FsbG9jIiwgMSk7DQorCQl9DQogDQotCQlGRF9a RVJPKCZlYml0cyk7DQotCQlGRF9aRVJPKCZpYml0cyk7DQotCQlGRF9aRVJP KCZvYml0cyk7DQotCQlvbWFzayA9IChmZF9zZXQgKilOVUxMOw0KKwkJZWJp dHMgPSBjYWxsb2MoZmRfaG93bWFueShuZmQsIE5GREJJVFMpLCBzaXplb2Yo ZmRfbWFzaykpOw0KKwkJaWYgKGViaXRzID09IE5VTEwpICB7DQorCQkJZnJl ZShvYml0cyk7DQorCQkJZnJlZShpYml0cyk7DQorCQkJZmF0YWwoZiwgImNh bGxvYyIsIDEpOwkNCisJCX0NCisNCisJCW9tYXNrID0gTlVMTDsJCQ0KKwkJ DQogCQlpZiAoZmNjKSB7DQotCQkJRkRfU0VUKHAsICZvYml0cyk7DQotCQkJ b21hc2sgPSAmb2JpdHM7DQorCQkJRkRfU0VUKHAsIG9iaXRzKTsNCisJCQlv bWFzayA9IG9iaXRzOw0KIAkJfSBlbHNlDQotCQkJRkRfU0VUKGYsICZpYml0 cyk7DQorCQkJRkRfU0VUKGYsIGliaXRzKTsNCiAJCWlmIChwY2MgPj0gMCkg ew0KIAkJCWlmIChwY2MpIHsNCi0JCQkJRkRfU0VUKGYsICZvYml0cyk7DQot CQkJCW9tYXNrID0gJm9iaXRzOw0KKwkJCQlGRF9TRVQoZiwgb2JpdHMpOw0K KwkJCQlvbWFzayA9IG9iaXRzOw0KIAkJCX0gZWxzZQ0KLQkJCQlGRF9TRVQo cCwgJmliaXRzKTsNCisJCQkJRkRfU0VUKHAsIGliaXRzKTsNCiAJCX0NCi0J CUZEX1NFVChwLCAmZWJpdHMpOw0KLQkJaWYgKChuID0gc2VsZWN0KG5mZCwg JmliaXRzLCBvbWFzaywgJmViaXRzLCAwKSkgPCAwKSB7DQorCQlGRF9TRVQo cCwgZWJpdHMpOw0KKwkJaWYgKChuID0gc2VsZWN0KG5mZCwgaWJpdHMsIG9t YXNrLCBlYml0cywgMCkpIDwgMCkgew0KKwkJCWZyZWUoaWJpdHMpOw0KKwkJ CWZyZWUob2JpdHMpOw0KKwkJCWZyZWUoZWJpdHMpOw0KIAkJCWlmIChlcnJu byA9PSBFSU5UUikNCiAJCQkJY29udGludWU7DQogCQkJZmF0YWwoZiwgInNl bGVjdCIsIDEpOw0KIAkJfQ0KIAkJaWYgKG4gPT0gMCkgew0KIAkJCS8qIHNo b3VsZG4ndCBoYXBwZW4uLi4gKi8NCisJCQlmcmVlKGliaXRzKTsNCisJCQlm cmVlKG9iaXRzKTsNCisJCQlmcmVlKGViaXRzKTsNCiAJCQlzbGVlcCg1KTsN CiAJCQljb250aW51ZTsNCiAJCX0NCiAjZGVmaW5lCXBrY29udHJvbChjKQko KGMpJihUSU9DUEtUX0ZMVVNIV1JJVEV8VElPQ1BLVF9OT1NUT1B8VElPQ1BL VF9ET1NUT1ApKQ0KLQkJaWYgKEZEX0lTU0VUKHAsICZlYml0cykpIHsNCisJ CWlmIChGRF9JU1NFVChwLCBlYml0cykpIHsNCiAJCQljYyA9IHJlYWQocCwg JmNudGwsIDEpOw0KIAkJCWlmIChjYyA9PSAxICYmIHBrY29udHJvbChjbnRs KSkgew0KIAkJCQljbnRsIHw9IG9vYmRhdGFbMF07DQogCQkJCXNlbmQoZiwg JmNudGwsIDEsIE1TR19PT0IpOw0KIAkJCQlpZiAoY250bCAmIFRJT0NQS1Rf RkxVU0hXUklURSkgew0KIAkJCQkJcGNjID0gMDsNCi0JCQkJCUZEX0NMUihw LCAmaWJpdHMpOw0KKwkJCQkJRkRfQ0xSKHAsIGliaXRzKTsNCiAJCQkJfQ0K IAkJCX0NCiAJCX0NCi0JCWlmIChGRF9JU1NFVChmLCAmaWJpdHMpKSB7DQor CQlpZiAoRkRfSVNTRVQoZiwgaWJpdHMpKSB7DQogI2lmZGVmCUNSWVBUDQog CQkJaWYgKGRvZW5jcnlwdCkNCiAJCQkJZmNjID0gZGVzX2VuY19yZWFkKGYs IGZpYnVmLCBzaXplb2YoZmlidWYpLA0KLQkJCQkJc2NoZWR1bGUsICZrZGF0 YS0+c2Vzc2lvbik7DQorCQkJCSAgICBzY2hlZHVsZSwgJmtkYXRhLT5zZXNz aW9uKTsNCiAJCQllbHNlDQogI2VuZGlmDQogCQkJCWZjYyA9IHJlYWQoZiwg ZmlidWYsIHNpemVvZihmaWJ1ZikpOw0KQEAgLTQzOCw4ICs0NzcsMTIgQEAN CiAJCQkJcmVnaXN0ZXIgY2hhciAqY3A7DQogCQkJCWludCBsZWZ0LCBuOw0K IA0KLQkJCQlpZiAoZmNjIDw9IDApDQorCQkJCWlmIChmY2MgPD0gMCkgew0K KwkJCQkJZnJlZShvYml0cyk7DQorCQkJCQlmcmVlKGliaXRzKTsNCisJCQkJ CWZyZWUoZWJpdHMpOw0KIAkJCQkJYnJlYWs7DQorCQkJCX0NCiAJCQkJZmJw ID0gZmlidWY7DQogDQogCQkJdG9wOg0KQEAgLTQ1NiwxMSArNDk5LDExIEBA DQogCQkJCQkJCWdvdG8gdG9wOyAvKiBuXjIgKi8NCiAJCQkJCQl9DQogCQkJ CQl9DQotCQkJCUZEX1NFVChwLCAmb2JpdHMpOwkJLyogdHJ5IHdyaXRlICov DQorCQkJCUZEX1NFVChwLCBvYml0cyk7CQkvKiB0cnkgd3JpdGUgKi8NCiAJ CQl9DQogCQl9DQogDQotCQlpZiAoRkRfSVNTRVQocCwgJm9iaXRzKSAmJiBm Y2MgPiAwKSB7DQorCQlpZiAoRkRfSVNTRVQocCwgb2JpdHMpICYmIGZjYyA+ IDApIHsNCiAJCQljYyA9IHdyaXRlKHAsIGZicCwgZmNjKTsNCiAJCQlpZiAo Y2MgPiAwKSB7DQogCQkJCWZjYyAtPSBjYzsNCkBAIC00NjgsMTkgKzUxMSwy MyBAQA0KIAkJCX0NCiAJCX0NCiANCi0JCWlmIChGRF9JU1NFVChwLCAmaWJp dHMpKSB7DQorCQlpZiAoRkRfSVNTRVQocCwgaWJpdHMpKSB7DQogCQkJcGNj ID0gcmVhZChwLCBwaWJ1Ziwgc2l6ZW9mIChwaWJ1ZikpOw0KIAkJCXBicCA9 IHBpYnVmOw0KIAkJCWlmIChwY2MgPCAwICYmIGVycm5vID09IEVXT1VMREJM T0NLKQ0KIAkJCQlwY2MgPSAwOw0KLQkJCWVsc2UgaWYgKHBjYyA8PSAwKQ0K KwkJCWVsc2UgaWYgKHBjYyA8PSAwKSB7DQorCQkJCWZyZWUoaWJpdHMpOw0K KwkJCQlmcmVlKG9iaXRzKTsNCisJCQkJZnJlZShlYml0cyk7DQogCQkJCWJy ZWFrOw0KKwkJCX0NCiAJCQllbHNlIGlmIChwaWJ1ZlswXSA9PSAwKSB7DQog CQkJCXBicCsrLCBwY2MtLTsNCiAjaWZkZWYJQ1JZUFQNCiAJCQkJaWYgKCFk b2VuY3J5cHQpDQogI2VuZGlmDQotCQkJCQlGRF9TRVQoZiwgJm9iaXRzKTsJ LyogdHJ5IHdyaXRlICovDQorCQkJCQlGRF9TRVQoZiwgb2JpdHMpOwkvKiB0 cnkgd3JpdGUgKi8NCiAJCQl9IGVsc2Ugew0KIAkJCQlpZiAocGtjb250cm9s KHBpYnVmWzBdKSkgew0KIAkJCQkJcGlidWZbMF0gfD0gb29iZGF0YVswXTsN CkBAIC00ODksMTEgKzUzNiwxMSBAQA0KIAkJCQlwY2MgPSAwOw0KIAkJCX0N CiAJCX0NCi0JCWlmICgoRkRfSVNTRVQoZiwgJm9iaXRzKSkgJiYgcGNjID4g MCkgew0KKwkJaWYgKChGRF9JU1NFVChmLCBvYml0cykpICYmIHBjYyA+IDAp IHsNCiAjaWZkZWYJQ1JZUFQNCiAJCQlpZiAoZG9lbmNyeXB0KQ0KIAkJCQlj YyA9IGRlc19lbmNfd3JpdGUoZiwgcGJwLCBwY2MsDQotCQkJCQlzY2hlZHVs ZSwgJmtkYXRhLT5zZXNzaW9uKTsNCisJCQkJICAgIHNjaGVkdWxlLCAma2Rh dGEtPnNlc3Npb24pOw0KIAkJCWVsc2UNCiAjZW5kaWYNCiAJCQkJY2MgPSB3 cml0ZShmLCBwYnAsIHBjYyk7DQpAQCAtNTAzLDggKzU1MCwxMSBAQA0KIAkJ CQkgKiBmcm9tIHAsIGJ1dCBzb21lIG9sZCBrZXJuZWxzIGJhbGsgYXQgbGFy Z2UNCiAJCQkJICogd3JpdGVzIGV2ZW4gd2hlbiBzZWxlY3QgcmV0dXJucyB0 cnVlLg0KIAkJCQkgKi8NCi0JCQkJaWYgKCFGRF9JU1NFVChwLCAmaWJpdHMp KQ0KKwkJCQlpZiAoIUZEX0lTU0VUKHAsIGliaXRzKSkNCiAJCQkJCXNsZWVw KDUpOw0KKwkJCQlmcmVlKG9iaXRzKTsNCisJCQkJZnJlZShpYml0cyk7DQor CQkJCWZyZWUoZWJpdHMpOwkNCiAJCQkJY29udGludWU7DQogCQkJfQ0KIAkJ CWlmIChjYyA+IDApIHsNCkBAIC01NTcsNyArNjA3LDcgQEANCiAJCWxlbiA9 IHNucHJpbnRmKGJwLCBzaXplb2YoYnVmKSwgInJsb2dpbmQ6ICVzLlxyXG4i LCBtc2cpOw0KIAlpZiAobGVuIDwgMCkNCiAJCWxlbiA9IDA7DQotCSh2b2lk KSB3cml0ZShmLCBidWYsIGJwICsgbGVuIC0gYnVmKTsNCisJKHZvaWQpd3Jp dGUoZiwgYnVmLCBicCArIGxlbiAtIGJ1Zik7DQogCWV4aXQoMSk7DQogfQ0K IA0KQEAgLTU3Niw3ICs2MjYsNyBAQA0KIAkvKiBYWFggd2h5IGRvbid0IHdl IHN5c2xvZygpIGZhaWx1cmU/ICovDQogDQogCXJldHVybiAoaXJ1c2Vyb2tf c2EoZGVzdCwgZGVzdC0+c3VfbGVuLCBwd2QtPnB3X3VpZCA9PSAwLCBydXNl cm5hbWUsDQotCQkJICAgIGx1c2VybmFtZSkpOw0KKwkgICAgbHVzZXJuYW1l KSk7DQogfQ0KIA0KIHZvaWQNCg== --0-326324869-1000188332=:46088-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-audit" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1010911020108.46088A-200000>