From owner-freebsd-hackers Tue Oct 30 23:11:34 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from warez.scriptkiddie.org (uswest-dsl-142-38.cortland.com [209.162.142.38]) by hub.freebsd.org (Postfix) with ESMTP id A1E5E37B405 for ; Tue, 30 Oct 2001 23:11:27 -0800 (PST) Received: from [192.168.69.11] (unknown [192.168.69.11]) by warez.scriptkiddie.org (Postfix) with ESMTP id 2777F62D01; Tue, 30 Oct 2001 23:11:27 -0800 (PST) Date: Tue, 30 Oct 2001 23:11:38 -0800 (PST) From: Lamont Granquist To: Cc: Subject: Re: /etc/ld.so.preload? In-Reply-To: <20011030181830.R54298-100000@coredump.scriptkiddie.org> Message-ID: <20011030230606.A35139-200000@coredump.scriptkiddie.org> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1072188969-1004512298=:35139" Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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-1072188969-1004512298=:35139 Content-Type: TEXT/PLAIN; charset=US-ASCII Well, here's a short patch to add the necessarily functionality to /var/run/ld-elf.so.hints and /usr/libexec/ld-elf.so.1. If this is acceptable, /sbin/ldconfig would need to be patched. Looks like the major bug is that if you preload libraries globally you break linux binary compatibility. On Tue, 30 Oct 2001, Lamont Granquist wrote: > Is there anything in FreeBSD that gives this functionality? My reading of > src/libexec/rtld-elf/rtld.c in both -stable and -current seems to indicate > that there isn't any such functionality (i need the global functionality > that LD_PRELOAD doesn't give me). I'd be willing to write a patch for it, > but I'd need some guidance on what would be a proper way to fix it. > > I'm thinking of a patch to ldconfig to get /etc/ld.so.preload into the > hints file and then to hack gethints() in rtld.c to take an argument > indicating which path you want to return. > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > > --0-1072188969-1004512298=:35139 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch Content-Transfer-Encoding: BASE64 Content-ID: <20011030231138.A35139@coredump.scriptkiddie.org> Content-Description: preload patch Content-Disposition: attachment; filename=patch LS0tIGluY2x1ZGUvZWxmLWhpbnRzLmh+CVR1ZSBPY3QgMzAgMTg6Mjk6NTcg MjAwMQ0KKysrIGluY2x1ZGUvZWxmLWhpbnRzLmgJVHVlIE9jdCAzMCAxODoz MTo0NyAyMDAxDQpAQCAtNDAsNyArNDAsMTAgQEANCiAJdV9pbnQzMl90CWRp cmxpc3Q7CS8qIE9mZnNldCBvZiBkaXJlY3RvcnkgbGlzdCBpbg0KIAkJCQkJ ICAgc3RyaW5nIHRhYmxlICovDQogCXVfaW50MzJfdAlkaXJsaXN0bGVuOwkv KiBzdHJsZW4oZGlybGlzdCkgKi8NCi0JdV9pbnQzMl90CXNwYXJlWzI2XTsJ LyogUm9vbSBmb3IgZXhwYW5zaW9uICovDQorCXVfaW50MzJfdAlwcmVsb2Fk bGlzdDsJLyogT2Zmc2V0IG9mIHByZWxvYWQgbGlzdCBpbiANCisJCQkJCSAg IHN0cmluZyB0YWJsZSAqLw0KKwl1X2ludDMyX3QJcHJlbG9hZGxpc3RsZW47 IC8qIHN0cmxlbihwcmVsb2FkbGlzdCkgKi8NCisJdV9pbnQzMl90CXNwYXJl WzI0XTsJLyogUm9vbSBmb3IgZXhwYW5zaW9uICovDQogfTsNCiANCiAjZGVm aW5lIEVMRkhJTlRTX01BR0lDCTB4NzQ2ZTY4NDUNCi0tLSBsaWJleGVjL3J0 bGQtZWxmL3J0bGQuY34JVHVlIE9jdCAzMCAxODoyODowMCAyMDAxDQorKysg bGliZXhlYy9ydGxkLWVsZi9ydGxkLmMJVHVlIE9jdCAzMCAyMTowNjozOSAy 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 cGF0aG5hbWU7DQogDQpAQCAtODczLDE4ICs4NzcsMjAgQEANCiAgKiBuZWNl c3NhcnkuICBSZXR1cm5zIE5VTEwgaWYgdGhlcmUgYXJlIHByb2JsZW1zIHdp dGggdGhlIGhpbnRzIGZpbGUsDQogICogb3IgaWYgdGhlIHNlYXJjaCBwYXRo IHRoZXJlIGlzIGVtcHR5Lg0KICAqLw0KLXN0YXRpYyBjb25zdCBjaGFyICoN Ci1nZXRoaW50cyh2b2lkKQ0KK3N0YXRpYyBjaGFyICoNCitnZXRoaW50cyhp bnQgaGludGZsYWcpDQogew0KLSAgICBzdGF0aWMgY2hhciAqaGludHM7DQor ICAgIHN0YXRpYyBjaGFyICpwcmVsb2FkOw0KKyAgICBzdGF0aWMgY2hhciAq bGlicmFyeV9wYXRoOw0KIA0KLSAgICBpZiAoaGludHMgPT0gTlVMTCkgew0K KyAgICBpZiAoKGxpYnJhcnlfcGF0aCA9PSBOVUxMKSB8fCAocHJlbG9hZCA9 PSBOVUxMKSkgew0KIAlpbnQgZmQ7DQogCXN0cnVjdCBlbGZoaW50c19oZHIg aGRyOw0KIAljaGFyICpwOw0KIA0KIAkvKiBLZWVwIGZyb20gdHJ5aW5nIGFn YWluIGluIGNhc2UgdGhlIGhpbnRzIGZpbGUgaXMgYmFkLiAqLw0KLQloaW50 cyA9ICIiOw0KKwlsaWJyYXJ5X3BhdGggPSAiIjsNCisJcHJlbG9hZCA9ICIi Ow0KIA0KIAlpZiAoKGZkID0gb3BlbihfUEFUSF9FTEZfSElOVFMsIE9fUkRP TkxZKSkgPT0gLTEpDQogCSAgICByZXR1cm4gTlVMTDsNCkBAIC05MDEsMTAg KzkwNywyNSBAQA0KIAkgICAgY2xvc2UoZmQpOw0KIAkgICAgcmV0dXJuIE5V TEw7DQogCX0NCi0JaGludHMgPSBwOw0KKwlsaWJyYXJ5X3BhdGggPSBwOw0K KwlwID0geG1hbGxvYyhoZHIucHJlbG9hZGxpc3RsZW4gKyAxKTsNCisJaWYg KGxzZWVrKGZkLCBoZHIuc3RydGFiICsgaGRyLnByZWxvYWRsaXN0LCBTRUVL X1NFVCkgPT0gLTEgfHwNCisJICByZWFkKGZkLCBwLCBoZHIucHJlbG9hZGxp c3RsZW4gKyAxKSAhPSBoZHIucHJlbG9hZGxpc3RsZW4gKyAxKSB7DQorCSAg ICBmcmVlKHApOw0KKwkgICAgY2xvc2UoZmQpOw0KKwkgICAgcmV0dXJuIE5V TEw7DQorCX0NCisJcHJlbG9hZCA9IHA7DQogCWNsb3NlKGZkKTsNCiAgICAg fQ0KLSAgICByZXR1cm4gaGludHNbMF0gIT0gJ1wwJyA/IGhpbnRzIDogTlVM TDsNCisgICAgc3dpdGNoIChoaW50ZmxhZykgew0KKwljYXNlIEhJTlRfTElC UkFSWV9QQVRIOg0KKyAgICAgICAgICByZXR1cm4gbGlicmFyeV9wYXRoWzBd ICE9ICdcMCcgPyBsaWJyYXJ5X3BhdGggOiBOVUxMOw0KKwljYXNlIEhJTlRf UFJFTE9BRDoNCisgICAgICAgICAgcmV0dXJuIHByZWxvYWRbMF0gIT0gJ1ww JyA/IHByZWxvYWQgOiBOVUxMOw0KKwlkZWZhdWx0Og0KKwkgIHJldHVybiBO VUxMOw0KKyAgICB9DQogfQ0KIA0KIHN0YXRpYyB2b2lkDQpAQCAtMTA3Nyw5 ICsxMDk4LDggQEANCiB9DQogDQogc3RhdGljIGludA0KLWxvYWRfcHJlbG9h ZF9vYmplY3RzKHZvaWQpDQorbG9hZF9wcmVsb2FkX29iamVjdHMoY2hhciAq cCkNCiB7DQotICAgIGNoYXIgKnAgPSBsZF9wcmVsb2FkOw0KICAgICBzdGF0 aWMgY29uc3QgY2hhciBkZWxpbVtdID0gIiBcdDo7IjsNCiANCiAgICAgaWYg KHAgPT0gTlVMTCkNCg== --0-1072188969-1004512298=:35139-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message