Skip site navigation (1)Skip section navigation (2)
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>