Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Dec 2001 00:24:52 -0800 (PST)
From:      Lamont Granquist <lamont@scriptkiddie.org>
To:        <freebsd-hackers@FreeBSD.ORG>
Subject:   another global LD_PRELOAD patch for rtld-elf
Message-ID:  <20011201001248.J72815-200000@coredump.scriptkiddie.org>
In-Reply-To: <20011130102928.E30981@iguana.aciri.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-858320923-1007195092=:72815
Content-Type: TEXT/PLAIN; charset=US-ASCII


this adds a -p option to ldconfig so you can do something like:

ldconfig -p /usr/local/lib/libsafe.so

to set a preload, and:

ldconfig -pm /usr/local/lib/libsafe.so

to merge one.

the major problem i know of with this patch is that setting a preload ELF
library will hose your ability to run linux binaries.

also, you probably need to:

cp /usr/src/include/elf-hints.h /usr/include/elf-hints.h

initially in order to build (is this indicative of larger build issues
involved with installed include files being selected before the one in the
source tree?)


--0-858320923-1007195092=:72815
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=rtld-elf-patch-2
Content-Transfer-Encoding: BASE64
Content-ID: <20011201002452.F72815@coredump.scriptkiddie.org>
Content-Description: 
Content-Disposition: attachment; filename=rtld-elf-patch-2

LS0tIGluY2x1ZGUvZWxmLWhpbnRzLmh+CUZyaSBOb3YgMzAgMjM6MTA6MTIg
MjAwMQ0KKysrIGluY2x1ZGUvZWxmLWhpbnRzLmgJRnJpIE5vdiAzMCAyMzox
MToxNSAyMDAxDQpAQCAtNDAsNyArNDAsMTAgQEANCiAJdV9pbnQzMl90CWRp
cmxpc3Q7CS8qIE9mZnNldCBvZiBkaXJlY3RvcnkgbGlzdCBpbg0KIAkJCQkJ
ICAgc3RyaW5nIHRhYmxlICovDQogCXVfaW50MzJfdAlkaXJsaXN0bGVuOwkv
KiBzdHJsZW4oZGlybGlzdCkgKi8NCi0JdV9pbnQzMl90CXNwYXJlWzI2XTsJ
LyogUm9vbSBmb3IgZXhwYW5zaW9uICovDQorCXVfaW50MzJfdAlwcmVsb2Fk
bGlzdDsJLyogT2Zmc2V0IG9mIHByZWxvYWQgbGlzdCBpbiANCisJCQkJCSAg
IHN0cmluZyB0YWJsZSAqLw0KKwl1X2ludDMyX3QJcHJlbG9hZGxpc3RsZW47
IC8qIHN0cmxlbihwcmVsb2FkbGlzdCkgKi8NCisJdV9pbnQzMl90CXNwYXJl
WzI0XTsJLyogUm9vbSBmb3IgZXhwYW5zaW9uICovDQogfTsNCiANCiAjZGVm
aW5lIEVMRkhJTlRTX01BR0lDCTB4NzQ2ZTY4NDUNCi0tLSBsaWJleGVjL3J0
bGQtZWxmL3J0bGQuY34JRnJpIE5vdiAzMCAyMzoxMDo1NCAyMDAxDQorKysg
bGliZXhlYy9ydGxkLWVsZi9ydGxkLmMJRnJpIE5vdiAzMCAyMzoxMTowMiAy
MDAxDQpAQCAtNTIsOCArNTIsMTAgQEANCiAjaW5jbHVkZSAiZGVidWcuaCIN
CiAjaW5jbHVkZSAicnRsZC5oIg0KIA0KLSNkZWZpbmUgRU5EX1NZTQkJIl9l
bmQiDQotI2RlZmluZSBQQVRIX1JUTEQJIi91c3IvbGliZXhlYy9sZC1lbGYu
c28uMSINCisjZGVmaW5lIEVORF9TWU0JCQkiX2VuZCINCisjZGVmaW5lIFBB
VEhfUlRMRAkJIi91c3IvbGliZXhlYy9sZC1lbGYuc28uMSINCisjZGVmaW5l
IEhJTlRfTElCUkFSWV9QQVRICTB4MDENCisjZGVmaW5lIEhJTlRfUFJFTE9B
RAkJMHgwMg0KIA0KIC8qIFR5cGVzLiAqLw0KIHR5cGVkZWYgdm9pZCAoKmZ1
bmNfcHRyX3R5cGUpKCk7DQpAQCAtODAsNyArODIsNyBAQA0KIHN0YXRpYyB2
b2lkIGVycm1zZ19yZXN0b3JlKGNoYXIgKik7DQogc3RhdGljIGNoYXIgKmVy
cm1zZ19zYXZlKHZvaWQpOw0KIHN0YXRpYyBjaGFyICpmaW5kX2xpYnJhcnko
Y29uc3QgY2hhciAqLCBjb25zdCBPYmpfRW50cnkgKik7DQotc3RhdGljIGNv
bnN0IGNoYXIgKmdldGhpbnRzKHZvaWQpOw0KK3N0YXRpYyBjaGFyICpnZXRo
aW50cyhpbnQpOw0KIHN0YXRpYyB2b2lkIGluaXRfZGFnKE9ial9FbnRyeSAq
KTsNCiBzdGF0aWMgdm9pZCBpbml0X2RhZzEoT2JqX0VudHJ5ICpyb290LCBP
YmpfRW50cnkgKm9iaiwgRG9uZUxpc3QgKik7DQogc3RhdGljIHZvaWQgaW5p
dF9ydGxkKGNhZGRyX3QpOw0KQEAgLTkxLDcgKzkzLDcgQEANCiBzdGF0aWMg
dm9pZCBsaW5rbWFwX2FkZChPYmpfRW50cnkgKik7DQogc3RhdGljIHZvaWQg
bGlua21hcF9kZWxldGUoT2JqX0VudHJ5ICopOw0KIHN0YXRpYyBpbnQgbG9h
ZF9uZWVkZWRfb2JqZWN0cyhPYmpfRW50cnkgKik7DQotc3RhdGljIGludCBs
b2FkX3ByZWxvYWRfb2JqZWN0cyh2b2lkKTsNCitzdGF0aWMgaW50IGxvYWRf
cHJlbG9hZF9vYmplY3RzKGNoYXIgKik7DQogc3RhdGljIE9ial9FbnRyeSAq
bG9hZF9vYmplY3QoY2hhciAqKTsNCiBzdGF0aWMgdm9pZCBsb2NrX2NoZWNr
KHZvaWQpOw0KIHN0YXRpYyBPYmpfRW50cnkgKm9ial9mcm9tX2FkZHIoY29u
c3Qgdm9pZCAqKTsNCkBAIC0zNTksNyArMzYxLDkgQEANCiAgICAgc3ltX3pl
cm8uc3Rfc2huZHggPSBTSE5fQUJTOw0KIA0KICAgICBkYmcoImxvYWRpbmcg
TERfUFJFTE9BRCBsaWJyYXJpZXMiKTsNCi0gICAgaWYgKGxvYWRfcHJlbG9h
ZF9vYmplY3RzKCkgPT0gLTEpDQorICAgIGlmIChsb2FkX3ByZWxvYWRfb2Jq
ZWN0cyhsZF9wcmVsb2FkKSA9PSAtMSkNCisJZGllKCk7DQorICAgIGlmIChs
b2FkX3ByZWxvYWRfb2JqZWN0cyhnZXRoaW50cyhISU5UX1BSRUxPQUQpKSA9
PSAtMSkNCiAJZGllKCk7DQogICAgIHByZWxvYWRfdGFpbCA9IG9ial90YWls
Ow0KIA0KQEAgLTgwNSw3ICs4MDksNyBAQA0KICAgICBpZiAoKHJlZm9iaiAh
PSBOVUxMICYmDQogICAgICAgKHBhdGhuYW1lID0gc2VhcmNoX2xpYnJhcnlf
cGF0aChuYW1lLCByZWZvYmotPnJwYXRoKSkgIT0gTlVMTCkgfHwNCiAgICAg
ICAocGF0aG5hbWUgPSBzZWFyY2hfbGlicmFyeV9wYXRoKG5hbWUsIGxkX2xp
YnJhcnlfcGF0aCkpICE9IE5VTEwgfHwNCi0gICAgICAocGF0aG5hbWUgPSBz
ZWFyY2hfbGlicmFyeV9wYXRoKG5hbWUsIGdldGhpbnRzKCkpKSAhPSBOVUxM
IHx8DQorICAgICAgKHBhdGhuYW1lID0gc2VhcmNoX2xpYnJhcnlfcGF0aChu
YW1lLCBnZXRoaW50cyhISU5UX0xJQlJBUllfUEFUSCkpKSAhPSBOVUxMIHx8
DQogICAgICAgKHBhdGhuYW1lID0gc2VhcmNoX2xpYnJhcnlfcGF0aChuYW1l
LCBTVEFOREFSRF9MSUJSQVJZX1BBVEgpKSAhPSBOVUxMKQ0KIAlyZXR1cm4g
cGF0aG5hbWU7DQogDQpAQCAtODczLDM4ICs4NzcsNTQgQEANCiAgKiBuZWNl
c3NhcnkuICBSZXR1cm5zIE5VTEwgaWYgdGhlcmUgYXJlIHByb2JsZW1zIHdp
dGggdGhlIGhpbnRzIGZpbGUsDQogICogb3IgaWYgdGhlIHNlYXJjaCBwYXRo
IHRoZXJlIGlzIGVtcHR5Lg0KICAqLw0KLXN0YXRpYyBjb25zdCBjaGFyICoN
Ci1nZXRoaW50cyh2b2lkKQ0KK3N0YXRpYyBjaGFyICoNCitnZXRoaW50cyhp
bnQgaGludGZsYWcpDQogew0KLSAgICBzdGF0aWMgY2hhciAqaGludHM7DQor
ICAgIHN0YXRpYyBjaGFyICpwcmVsb2FkOw0KKyAgICBzdGF0aWMgY2hhciAq
bGlicmFyeV9wYXRoOw0KIA0KLSAgICBpZiAoaGludHMgPT0gTlVMTCkgew0K
KyAgICBpZiAoKGxpYnJhcnlfcGF0aCA9PSBOVUxMKSB8fCAocHJlbG9hZCA9
PSBOVUxMKSkgew0KIAlpbnQgZmQ7DQogCXN0cnVjdCBlbGZoaW50c19oZHIg
aGRyOw0KIAljaGFyICpwOw0KIA0KIAkvKiBLZWVwIGZyb20gdHJ5aW5nIGFn
YWluIGluIGNhc2UgdGhlIGhpbnRzIGZpbGUgaXMgYmFkLiAqLw0KLQloaW50
cyA9ICIiOw0KKwlsaWJyYXJ5X3BhdGggPSAiIjsNCisJcHJlbG9hZCA9ICIi
Ow0KIA0KIAlpZiAoKGZkID0gb3BlbihfUEFUSF9FTEZfSElOVFMsIE9fUkRP
TkxZKSkgPT0gLTEpDQogCSAgICByZXR1cm4gTlVMTDsNCiAJaWYgKHJlYWQo
ZmQsICZoZHIsIHNpemVvZiBoZHIpICE9IHNpemVvZiBoZHIgfHwNCiAJICBo
ZHIubWFnaWMgIT0gRUxGSElOVFNfTUFHSUMgfHwNCiAJICBoZHIudmVyc2lv
biAhPSAxKSB7DQotCSAgICBjbG9zZShmZCk7DQotCSAgICByZXR1cm4gTlVM
TDsNCisJICAgIGdvdG8gY2xlYW51cDsNCiAJfQ0KIAlwID0geG1hbGxvYyho
ZHIuZGlybGlzdGxlbiArIDEpOw0KIAlpZiAobHNlZWsoZmQsIGhkci5zdHJ0
YWIgKyBoZHIuZGlybGlzdCwgU0VFS19TRVQpID09IC0xIHx8DQogCSAgcmVh
ZChmZCwgcCwgaGRyLmRpcmxpc3RsZW4gKyAxKSAhPSBoZHIuZGlybGlzdGxl
biArIDEpIHsNCiAJICAgIGZyZWUocCk7DQotCSAgICBjbG9zZShmZCk7DQot
CSAgICByZXR1cm4gTlVMTDsNCisJICAgIGdvdG8gY2xlYW51cDsNCiAJfQ0K
LQloaW50cyA9IHA7DQorCWxpYnJhcnlfcGF0aCA9IHA7DQorCXAgPSB4bWFs
bG9jKGhkci5wcmVsb2FkbGlzdGxlbiArIDEpOw0KKwlpZiAoaGRyLnByZWxv
YWRsaXN0bGVuID09IDAgfHwNCisJICBsc2VlayhmZCwgaGRyLnN0cnRhYiAr
IGhkci5wcmVsb2FkbGlzdCwgU0VFS19TRVQpID09IC0xIHx8DQorCSAgcmVh
ZChmZCwgcCwgaGRyLnByZWxvYWRsaXN0bGVuICsgMSkgIT0gaGRyLnByZWxv
YWRsaXN0bGVuICsgMSkgew0KKwkgICAgZnJlZShwKTsNCisJICAgIGdvdG8g
Y2xlYW51cDsNCisJfQ0KKwlwcmVsb2FkID0gcDsNCitjbGVhbnVwOg0KIAlj
bG9zZShmZCk7DQogICAgIH0NCi0gICAgcmV0dXJuIGhpbnRzWzBdICE9ICdc
MCcgPyBoaW50cyA6IE5VTEw7DQorICAgIHN3aXRjaCAoaGludGZsYWcpIHsN
CisJY2FzZSBISU5UX0xJQlJBUllfUEFUSDoNCisgICAgICAgICAgcmV0dXJu
IGxpYnJhcnlfcGF0aFswXSAhPSAnXDAnID8gbGlicmFyeV9wYXRoIDogTlVM
TDsNCisJY2FzZSBISU5UX1BSRUxPQUQ6DQorICAgICAgICAgIHJldHVybiBw
cmVsb2FkWzBdICE9ICdcMCcgPyBwcmVsb2FkIDogTlVMTDsNCisJZGVmYXVs
dDoNCisJICByZXR1cm4gTlVMTDsNCisgICAgfQ0KIH0NCiANCiBzdGF0aWMg
dm9pZA0KQEAgLTEwNzcsOSArMTA5Nyw4IEBADQogfQ0KIA0KIHN0YXRpYyBp
bnQNCi1sb2FkX3ByZWxvYWRfb2JqZWN0cyh2b2lkKQ0KK2xvYWRfcHJlbG9h
ZF9vYmplY3RzKGNoYXIgKnApDQogew0KLSAgICBjaGFyICpwID0gbGRfcHJl
bG9hZDsNCiAgICAgc3RhdGljIGNvbnN0IGNoYXIgZGVsaW1bXSA9ICIgXHQ6
OyI7DQogDQogICAgIGlmIChwID09IE5VTEwpDQotLS0gc2Jpbi9sZGNvbmZp
Zy9sZGNvbmZpZy5jfglGcmkgTm92IDMwIDIzOjEwOjI5IDIwMDENCisrKyBz
YmluL2xkY29uZmlnL2xkY29uZmlnLmMJRnJpIE5vdiAzMCAyMzoxMTozMyAy
MDAxDQpAQCAtNzEsNiArNzEsNyBAQA0KIHN0YXRpYyBpbnQJCQlqdXN0cmVh
ZDsNCiBzdGF0aWMgaW50CQkJbWVyZ2U7DQogc3RhdGljIGludAkJCXJlc2Nh
bjsNCitzdGF0aWMgaW50CQkJcHJlbG9hZDsNCiBzdGF0aWMgY2hhcgkJCSpo
aW50c19maWxlOw0KIA0KIHN0cnVjdCBzaGxpYl9saXN0IHsNCkBAIC0xMTcs
NyArMTE4LDcgQEANCiAJaGludHNfZmlsZSA9IGlzX2FvdXQgPyBfUEFUSF9M
RF9ISU5UUyA6IF9QQVRIX0VMRl9ISU5UUzsNCiAJaWYgKGFyZ2MgPT0gMSkN
CiAJCXJlc2NhbiA9IDE7DQotCWVsc2Ugd2hpbGUoKGMgPSBnZXRvcHQoYXJn
YywgYXJndiwgIlJmOmltcnN2IikpICE9IC0xKSB7DQorCWVsc2Ugd2hpbGUo
KGMgPSBnZXRvcHQoYXJnYywgYXJndiwgIlJmOmltcnN2cCIpKSAhPSAtMSkg
ew0KIAkJc3dpdGNoIChjKSB7DQogCQljYXNlICdSJzoNCiAJCQlyZXNjYW4g
PSAxOw0KQEAgLTE0MCw2ICsxNDEsOSBAQA0KIAkJY2FzZSAndic6DQogCQkJ
dmVyYm9zZSA9IDE7DQogCQkJYnJlYWs7DQorCQljYXNlICdwJzoNCisJCQlw
cmVsb2FkID0gMTsNCisJCQlicmVhazsNCiAJCWRlZmF1bHQ6DQogCQkJdXNh
Z2UoKTsNCiAJCQlicmVhazsNCkBAIC0xNTAsOCArMTU0LDEyIEBADQogCQlp
ZiAoanVzdHJlYWQpDQogCQkJbGlzdF9lbGZfaGludHMoaGludHNfZmlsZSk7
DQogCQllbHNlDQotCQkJdXBkYXRlX2VsZl9oaW50cyhoaW50c19maWxlLCBh
cmdjIC0gb3B0aW5kLA0KLQkJCSAgICBhcmd2ICsgb3B0aW5kLCBtZXJnZSB8
fCByZXNjYW4pOw0KKwkJCWlmIChwcmVsb2FkKQ0KKwkJCQl1cGRhdGVfZWxm
X3ByZWxvYWRzKGhpbnRzX2ZpbGUsIGFyZ2MgLSBvcHRpbmQsDQorCQkJCSAg
ICBhcmd2ICsgb3B0aW5kLCBtZXJnZSB8fCByZXNjYW4pOw0KKwkJCWVsc2UN
CisJCQkJdXBkYXRlX2VsZl9kaXJzKGhpbnRzX2ZpbGUsIGFyZ2MgLSBvcHRp
bmQsDQorCQkJCSAgICBhcmd2ICsgb3B0aW5kLCBtZXJnZSB8fCByZXNjYW4p
Ow0KIAkJcmV0dXJuIDA7DQogCX0NCiANCi0tLSBzYmluL2xkY29uZmlnL2xk
Y29uZmlnLmh+CUZyaSBOb3YgMzAgMjM6MTA6MjUgMjAwMQ0KKysrIHNiaW4v
bGRjb25maWcvbGRjb25maWcuaAlGcmkgTm92IDMwIDIzOjExOjMzIDIwMDEN
CkBAIC0zNSw3ICszNSw4IEBADQogDQogX19CRUdJTl9ERUNMUw0KIHZvaWQJ
bGlzdF9lbGZfaGludHMgX19QKChjb25zdCBjaGFyICopKTsNCi12b2lkCXVw
ZGF0ZV9lbGZfaGludHMgX19QKChjb25zdCBjaGFyICosIGludCwgY2hhciAq
KiwgaW50KSk7DQordm9pZAl1cGRhdGVfZWxmX2RpcnMgX19QKChjb25zdCBj
aGFyICosIGludCwgY2hhciAqKiwgaW50KSk7DQordm9pZAl1cGRhdGVfZWxm
X3ByZWxvYWRzIF9fUCgoY29uc3QgY2hhciAqLCBpbnQsIGNoYXIgKiosIGlu
dCkpOw0KIF9fRU5EX0RFQ0xTDQogDQogI2VuZGlmDQotLS0gc2Jpbi9sZGNv
bmZpZy9lbGZoaW50cy5jfglGcmkgTm92IDMwIDIzOjEwOjM2IDIwMDENCisr
KyBzYmluL2xkY29uZmlnL2VsZmhpbnRzLmMJRnJpIE5vdiAzMCAyMzo1NDo1
MiAyMDAxDQpAQCAtNDQsMTggKzQ0LDU2IEBADQogI2luY2x1ZGUgImxkY29u
ZmlnLmgiDQogDQogI2RlZmluZSBNQVhESVJTCQkxMDI0CQkvKiBNYXhpbXVt
IGRpcmVjdG9yaWVzIGluIHBhdGggKi8NCisjZGVmaW5lIE1BWFBSRUxPQURT
CTEwMjQJCS8qIE1heGltdW0gcHJlbG9hZGVkIGxpYnJhcmllcyAqLw0KICNk
ZWZpbmUgTUFYRklMRVNJWkUJKDE2KjEwMjQpCS8qIE1heGltdW0gaGludHMg
ZmlsZSBzaXplICovDQogDQogc3RhdGljIHZvaWQJYWRkX2Rpcihjb25zdCBj
aGFyICosIGNvbnN0IGNoYXIgKiwgaW50KTsNCitzdGF0aWMgdm9pZAlhZGRf
cHJlbG9hZChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50KTsNCiBz
dGF0aWMgdm9pZAlyZWFkX2RpcnNfZnJvbV9maWxlKGNvbnN0IGNoYXIgKiwg
Y29uc3QgY2hhciAqKTsNCiBzdGF0aWMgdm9pZAlyZWFkX2VsZl9oaW50cyhj
b25zdCBjaGFyICosIGludCk7DQogc3RhdGljIHZvaWQJd3JpdGVfZWxmX2hp
bnRzKGNvbnN0IGNoYXIgKik7DQogDQogc3RhdGljIGNvbnN0IGNoYXIJKmRp
cnNbTUFYRElSU107DQorc3RhdGljIGNvbnN0IGNoYXIJKnByZWxvYWRzW01B
WFBSRUxPQURTXTsNCiBzdGF0aWMgaW50CQkgbmRpcnM7DQorc3RhdGljIGlu
dAkJIG5wcmVsb2FkczsNCiBpbnQJCQkgaW5zZWN1cmU7DQogDQogc3RhdGlj
IHZvaWQNCithZGRfcHJlbG9hZChjb25zdCBjaGFyICpoaW50c2ZpbGUsIGNv
bnN0IGNoYXIgKm5hbWUsIGludCB0cnVzdGVkKQ0KK3sNCisJc3RydWN0IHN0
YXQJc3RidWY7DQorCWludAkJaTsNCisNCisJaWYgKCF0cnVzdGVkICYmICFp
bnNlY3VyZSkgew0KKwkJaWYgKHN0YXQobmFtZSwgJnN0YnVmKSA9PSAtMSkg
ew0KKwkJCXdhcm4oIiVzIiwgbmFtZSk7DQorCQkJcmV0dXJuOw0KKwkJfQ0K
KwkJaWYgKHN0YnVmLnN0X3VpZCAhPSAwKSB7DQorCQkJd2FybngoIiVzOiBp
Z25vcmluZyBsaWJyYXJ5IG5vdCBvd25lZCBieSByb290IiwgbmFtZSk7DQor
CQkJcmV0dXJuOw0KKwkJfQ0KKwkJaWYgKChzdGJ1Zi5zdF9tb2RlICYgU19J
V09USCkgIT0gMCkgew0KKwkJCXdhcm54KCIlczogaWdub3Jpbmcgd29ybGQt
d3JpdGFibGUgbGlicmFyeSIsIG5hbWUpOw0KKwkJCXJldHVybjsNCisJCX0N
CisJCWlmICgoc3RidWYuc3RfbW9kZSAmIFNfSVdHUlApICE9IDApIHsNCisJ
CQl3YXJueCgiJXM6IGlnbm9yaW5nIGdyb3VwLXdyaXRhYmxlIGRpcmVjdG9y
eSIsIG5hbWUpOw0KKwkJCXJldHVybjsNCisJCX0NCisJfQ0KKw0KKwlmb3Ig
KGkgPSAwOyAgaSA8IG5wcmVsb2FkczsgaSsrKQ0KKwkJaWYgKHN0cmNtcChw
cmVsb2Fkc1tpXSwgbmFtZSkgPT0gMCkNCisJCQlyZXR1cm47DQorCWlmIChu
cHJlbG9hZHMgPj0gTUFYUFJFTE9BRFMpDQorCQllcnJ4KDEsICJcIiVzXCI6
IFRvbyBtYW55IHByZWxvYWRlZCBsaWJyYXJpZXMiLCBoaW50c2ZpbGUpOw0K
KwlwcmVsb2Fkc1tucHJlbG9hZHMrK10gPSBuYW1lOw0KK30NCisNCisNCitz
dGF0aWMgdm9pZA0KIGFkZF9kaXIoY29uc3QgY2hhciAqaGludHNmaWxlLCBj
b25zdCBjaGFyICpuYW1lLCBpbnQgdHJ1c3RlZCkNCiB7DQogCXN0cnVjdCBz
dGF0IAlzdGJ1ZjsNCkBAIC05Nyw2ICsxMzUsMTAgQEANCiANCiAJcmVhZF9l
bGZfaGludHMoaGludHNmaWxlLCAxKTsNCiAJcHJpbnRmKCIlczpcbiIsIGhp
bnRzZmlsZSk7DQorCXByaW50ZigiXHRwcmVsb2FkZWQgbGlicmFyaWVzOiIp
Ow0KKwlmb3IgKGkgPSAwOyAgaSA8IG5wcmVsb2FkczsgIGkrKykNCisJCXBy
aW50ZigiJWMlcyIsIGkgPT0gMCA/ICcgJyA6ICc6JywgcHJlbG9hZHNbaV0p
Ow0KKwlwcmludGYoIlxuIik7DQogCXByaW50ZigiXHRzZWFyY2ggZGlyZWN0
b3JpZXM6Iik7DQogCWZvciAoaSA9IDA7ICBpIDwgbmRpcnM7ICBpKyspDQog
CQlwcmludGYoIiVjJXMiLCBpID09IDAgPyAnICcgOiAnOicsIGRpcnNbaV0p
Ow0KQEAgLTE5Miw2ICsyMzQsNyBAQA0KIAlzdHJ1Y3QgZWxmaGludHNfaGRy
CSpoZHI7DQogCWNoYXIJCQkqc3RydGFiOw0KIAljaGFyCQkJKmRpcmxpc3Q7
DQorCWNoYXIJCQkqcHJlbG9hZGxpc3Q7DQogCWNoYXIJCQkqcDsNCiANCiAJ
aWYgKChmZCA9IG9wZW4oaGludHNmaWxlLCBPX1JET05MWSkpID09IC0xKSB7
DQpAQCAtMjIyLDE5ICsyNjUsNDcgQEANCiANCiAJc3RydGFiID0gKGNoYXIg
KiltYXBiYXNlICsgaGRyLT5zdHJ0YWI7DQogCWRpcmxpc3QgPSBzdHJ0YWIg
KyBoZHItPmRpcmxpc3Q7DQorCXByZWxvYWRsaXN0ID0gc3RydGFiICsgaGRy
LT5wcmVsb2FkbGlzdDsNCiANCiAJaWYgKCpkaXJsaXN0ICE9ICdcMCcpDQog
CQl3aGlsZSAoKHAgPSBzdHJzZXAoJmRpcmxpc3QsICI6IikpICE9IE5VTEwp
DQogCQkJYWRkX2RpcihoaW50c2ZpbGUsIHAsIDEpOw0KK3ByaW50ZigiJWQg
ZGlycyBsb2FkZWRcbiIsIG5kaXJzKTsNCisJaWYgKCpwcmVsb2FkbGlzdCAh
PSAnXDAnICYmIGhkci0+cHJlbG9hZGxpc3RsZW4gIT0gMCkNCisJCXdoaWxl
ICgocCA9IHN0cnNlcCgmcHJlbG9hZGxpc3QsICI6IikpICE9IE5VTEwpDQor
CQkJYWRkX3ByZWxvYWQoaGludHNmaWxlLCBwLCAxKTsNCitwcmludGYoIiVk
IHByZWxvYWRzIGxvYWRlZFxuIiwgbnByZWxvYWRzKTsNCiB9DQogDQogdm9p
ZA0KLXVwZGF0ZV9lbGZfaGludHMoY29uc3QgY2hhciAqaGludHNmaWxlLCBp
bnQgYXJnYywgY2hhciAqKmFyZ3YsIGludCBtZXJnZSkNCit1cGRhdGVfZWxm
X3ByZWxvYWRzKGNvbnN0IGNoYXIgKmhpbnRzZmlsZSwgaW50IGFyZ2MsIGNo
YXIgKiphcmd2LCBpbnQgbWVyZ2UpDQogew0KIAlpbnQJaTsNCiANCi0JaWYg
KG1lcmdlKQ0KLQkJcmVhZF9lbGZfaGludHMoaGludHNmaWxlLCAwKTsNCisJ
cmVhZF9lbGZfaGludHMoaGludHNmaWxlLCAwKTsNCisJaWYgKCFtZXJnZSkN
CisJCW5wcmVsb2FkcyA9IDA7DQorCWZvciAoaSA9IDA7ICBpIDwgYXJnYzsg
IGkrKykgew0KKwkJc3RydWN0IHN0YXQJczsNCisNCisJCWlmIChzdGF0KGFy
Z3ZbaV0sICZzKSA9PSAtMSkNCisJCQl3YXJuKCJ3YXJuaW5nOiAlcyIsIGFy
Z3ZbaV0pOw0KKwkJZWxzZSBpZiAoIVNfSVNSRUcocy5zdF9tb2RlKSkNCisJ
CQl3YXJuKCJub3QgYSByZWd1bGFyIGZpbGU6ICVzIiwgYXJndltpXSk7DQor
CQllbHNlDQorCQkJYWRkX3ByZWxvYWQoaGludHNmaWxlLCBhcmd2W2ldLCAw
KTsNCisJfQ0KKwl3cml0ZV9lbGZfaGludHMoaGludHNmaWxlKTsNCit9DQor
DQordm9pZA0KK3VwZGF0ZV9lbGZfZGlycyhjb25zdCBjaGFyICpoaW50c2Zp
bGUsIGludCBhcmdjLCBjaGFyICoqYXJndiwgaW50IG1lcmdlKQ0KK3sNCisJ
aW50CWk7DQorcHJpbnRmKCJ1cGRhdGVfZWxmX2RpcnNcbiIpOwkNCisJcmVh
ZF9lbGZfaGludHMoaGludHNmaWxlLCAwKTsNCisJaWYgKCFtZXJnZSkNCisJ
CW5kaXJzID0gMDsNCiAJZm9yIChpID0gMDsgIGkgPCBhcmdjOyAgaSsrKSB7
DQogCQlzdHJ1Y3Qgc3RhdAlzOw0KIA0KQEAgLTI3MSw2ICszNDIsOCBAQA0K
IAloZHIuc3RydGFiID0gc2l6ZW9mIGhkcjsNCiAJaGRyLnN0cnNpemUgPSAw
Ow0KIAloZHIuZGlybGlzdCA9IDA7DQorCWhkci5wcmVsb2FkbGlzdGxlbiA9
IDA7DQorDQogCW1lbXNldChoZHIuc3BhcmUsIDAsIHNpemVvZiBoZHIuc3Bh
cmUpOw0KIA0KIAkvKiBDb3VudCB1cCB0aGUgc2l6ZSBvZiB0aGUgc3RyaW5n
IHRhYmxlLiAqLw0KQEAgLTI4MSw2ICszNTQsMTYgQEANCiAJfQ0KIAloZHIu
ZGlybGlzdGxlbiA9IGhkci5zdHJzaXplOw0KIAloZHIuc3Ryc2l6ZSsrOwkv
KiBGb3IgdGhlIG51bGwgdGVybWluYXRvciAqLw0KKwloZHIucHJlbG9hZGxp
c3QgPSBoZHIuc3Ryc2l6ZTsNCisNCisJaWYgKG5wcmVsb2FkcyA+IDApIHsN
CisJCWhkci5wcmVsb2FkbGlzdGxlbiArPSBzdHJsZW4ocHJlbG9hZHNbMF0p
Ow0KKwkJZm9yIChpID0gMTsgIGkgPCBucHJlbG9hZHM7ICBpKyspDQorCQkJ
aGRyLnByZWxvYWRsaXN0bGVuICs9IDEgKyBzdHJsZW4ocHJlbG9hZHNbaV0p
Ow0KKwl9DQorDQorCWhkci5zdHJzaXplICs9IGhkci5wcmVsb2FkbGlzdGxl
bjsNCisJaGRyLnN0cnNpemUrKzsJLyogRm9yIHRoZSBudWxsIHRlcm1pbmF0
b3IgKi8NCiANCiAJLyogV3JpdGUgdGhlIGhlYWRlci4gKi8NCiAJaWYgKGZ3
cml0ZSgmaGRyLCAxLCBzaXplb2YgaGRyLCBmcCkgIT0gc2l6ZW9mIGhkcikN
CkBAIC0yOTMsNiArMzc2LDE3IEBADQogCQkJaWYgKGZwcmludGYoZnAsICI6
JXMiLCBkaXJzW2ldKSA8IDApDQogCQkJCWVycigxLCAiJXM6IHdyaXRlIGVy
cm9yIiwgdGVtcG5hbWUpOw0KIAl9DQorCWlmIChwdXRjKCdcMCcsIGZwKSA9
PSBFT0YpDQorCQllcnIoMSwgIiVzOiB3cml0ZSBlcnJvciIsIHRlbXBuYW1l
KTsNCisNCisJaWYgKG5wcmVsb2FkcyA+IDApIHsNCisJCWlmIChmcHV0cyhw
cmVsb2Fkc1swXSwgZnApID09IEVPRikNCisJCQllcnIoMSwgIiVzOiB3cml0
ZSBlcnJvciIsIHRlbXBuYW1lKTsNCisJCWZvciAoaSA9IDE7ICBpIDwgbnBy
ZWxvYWRzOyAgaSsrKQ0KKwkJCWlmIChmcHJpbnRmKGZwLCAiOiVzIiwgcHJl
bG9hZHNbaV0pIDwgMCkNCisJCQkJZXJyKDEsICIlczogd3JpdGUgZXJyb3Ii
LCB0ZW1wbmFtZSk7DQorCX0NCisNCiAJaWYgKHB1dGMoJ1wwJywgZnApID09
IEVPRiB8fCBmY2xvc2UoZnApID09IEVPRikNCiAJCWVycigxLCAiJXM6IHdy
aXRlIGVycm9yIiwgdGVtcG5hbWUpOw0KIA0KLS0tIHNiaW4vbGRjb25maWcv
bGRjb25maWcuOH4JU2F0IERlYyAgMSAwMDowNToyMCAyMDAxDQorKysgc2Jp
bi9sZGNvbmZpZy9sZGNvbmZpZy44CVNhdCBEZWMgIDEgMDA6MDQ6MTMgMjAw
MQ0KQEAgLTM4LDcgKzM4LDcgQEANCiAuU2ggU1lOT1BTSVMNCiAuTm0NCiAu
T3AgRmwgYW91dCB8IEZsIGVsZg0KLS5PcCBGbCBSaW1yc3YNCisuT3AgRmwg
UmltcnN2cA0KIC5PcCBGbCBmIEFyIGhpbnRzX2ZpbGUNCiAuT3AgQXIgZGly
ZWN0b3J5IHwgQXINCiAuU2ggREVTQ1JJUFRJT04NCkBAIC0xMjgsNiArMTI4
LDggQEANCiBmb3Igc2hhcmVkIGxpYnJhcmllcy4NCiAuSXQgRmwgdg0KIFN3
aXRjaCBvbiB2ZXJib3NlIG1vZGUuDQorLkl0IEZsIHANCitUaGUgYXJndW1l
bnRzIGFyZSB0YWtlbiB0byBiZSBsaWJyYXJpZXMgdG8gZ2xvYmFsbHkgcHJl
bG9hZC4NCiAuRWwNCiAuU2ggU2VjdXJpdHkNCiBTcGVjaWFsIGNhcmUgbXVz
dCBiZSB0YWtlbiB3aGVuIGxvYWRpbmcgc2hhcmVkIGxpYnJhcmllcyBpbnRv
IHRoZSBhZGRyZXNzDQo=
--0-858320923-1007195092=:72815--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011201001248.J72815-200000>