From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754015AbXDWJFL (ORCPT ); Mon, 23 Apr 2007 05:05:11 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754021AbXDWJFL (ORCPT ); Mon, 23 Apr 2007 05:05:11 -0400 Received: from [80.68.207.6] ([80.68.207.6]:53804 "EHLO smtp.unbit.it" rhost-flags-FAIL-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1754015AbXDWJFI (ORCPT ); Mon, 23 Apr 2007 05:05:08 -0400 X-Greylist: delayed 646 seconds by postgrey-1.27 at vger.kernel.org; Mon, 23 Apr 2007 05:05:08 EDT Subject: [ANNOUNCE] UidBind LSM 0.1 From: Roberto De Ioris Reply-To: roberto@unbit.it To: linux-kernel@vger.kernel.org Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-uvZ/vbBIhhLigGmEZpdT" Organization: UnBit Date: Mon, 23 Apr 2007 10:54:11 +0200 Message-Id: <1177318451.20613.8.camel@hagrid> Mime-Version: 1.0 X-Mailer: Evolution 2.10.1 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org --=-uvZ/vbBIhhLigGmEZpdT Content-Type: multipart/mixed; boundary="=-Yrh+InIvQX72VB0M9zui" --=-Yrh+InIvQX72VB0M9zui Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi all, this is a very simple module that allows bind() to tcp/udp port (>=3D1024) only for the uids defined in a configfs tree. It is a first version, it only works for PF_INET sockets and makes no difference between tcp and udp (i am working on this) For (little) more info see=20 http://projects.unbit.it/uidbind/ Patch attached is for vanilla 2.6.20.7 --=20 Roberto De Ioris http://unbit.it JID: roberto@jabber.unbit.it Wii: 2999 4476 3509 0964 --=-Yrh+InIvQX72VB0M9zui Content-Disposition: attachment; filename=uidbind-lsm-0.1.patch Content-Type: text/x-patch; name=uidbind-lsm-0.1.patch; charset=UTF-8 Content-Transfer-Encoding: base64 ZGlmZiAtTmF1ciBsaW51eC0yLjYuMjAuNy9zZWN1cml0eS9LY29uZmlnIGxpbnV4LTIuNi4yMC43 LXVpZGJpbmQvc2VjdXJpdHkvS2NvbmZpZw0KLS0tIGxpbnV4LTIuNi4yMC43L3NlY3VyaXR5L0tj b25maWcJMjAwNy0wNC0xMyAyMjo0ODoxNC4wMDAwMDAwMDAgKzAyMDANCisrKyBsaW51eC0yLjYu MjAuNy11aWRiaW5kL3NlY3VyaXR5L0tjb25maWcJMjAwNy0wNC0yMyAwOTozMjoxNS4wMDAwMDAw MDAgKzAyMDANCkBAIC05Myw2ICs5MywxOCBAQA0KIAkgIA0KIAkgIElmIHlvdSBhcmUgdW5zdXJl IGhvdyB0byBhbnN3ZXIgdGhpcyBxdWVzdGlvbiwgYW5zd2VyIE4uDQogDQorY29uZmlnIFNFQ1VS SVRZX1VJREJJTkQNCisJdHJpc3RhdGUgIlVpZEJpbmQiDQorCWRlcGVuZHMgb24gQ09ORklHRlNf RlMgJiYgU0VDVVJJVFkgJiYgU0VDVVJJVFlfTkVUV09SSw0KKwloZWxwDQorCSAgVGhpcyBzaW1w bGUgbW9kdWxlIGFsbG93cyBjYWxsIHRvIGJpbmQoKSBmdW5jdGlvbiBvbmx5IGZvcg0KKyAgICAg ICAgICB1aWQgZGVmaW5lZCBpbiBhIGNvbmZpZ2ZzIHRyZWUuDQorCSAgVGhlIG9ubHkgc3VwcG9y dGVkIHNvY2tldCBpcyBQRl9JTkVULg0KKw0KKwkgIFNlZSAgPGh0dHA6Ly9wcm9qZWN0cy51bmJp dC5pdC91aWRiaW5kPiBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dA0KKwkgIHRoaXMgbW9kdWxl DQorCSAgDQorDQogc291cmNlIHNlY3VyaXR5L3NlbGludXgvS2NvbmZpZw0KIA0KIGVuZG1lbnUN CmRpZmYgLU5hdXIgbGludXgtMi42LjIwLjcvc2VjdXJpdHkvTWFrZWZpbGUgbGludXgtMi42LjIw LjctdWlkYmluZC9zZWN1cml0eS9NYWtlZmlsZQ0KLS0tIGxpbnV4LTIuNi4yMC43L3NlY3VyaXR5 L01ha2VmaWxlCTIwMDctMDQtMTMgMjI6NDg6MTQuMDAwMDAwMDAwICswMjAwDQorKysgbGludXgt Mi42LjIwLjctdWlkYmluZC9zZWN1cml0eS9NYWtlZmlsZQkyMDA3LTA0LTIzIDA5OjMwOjM3LjAw MDAwMDAwMCArMDIwMA0KQEAgLTE2LDMgKzE2LDQgQEANCiBvYmotJChDT05GSUdfU0VDVVJJVFlf U0VMSU5VWCkJCSs9IHNlbGludXgvYnVpbHQtaW4ubw0KIG9iai0kKENPTkZJR19TRUNVUklUWV9D QVBBQklMSVRJRVMpCSs9IGNvbW1vbmNhcC5vIGNhcGFiaWxpdHkubw0KIG9iai0kKENPTkZJR19T RUNVUklUWV9ST09UUExVRykJCSs9IGNvbW1vbmNhcC5vIHJvb3RfcGx1Zy5vDQorb2JqLSQoQ09O RklHX1NFQ1VSSVRZX1VJREJJTkQpCQkrPSBjb21tb25jYXAubyB1aWRiaW5kLm8NCmRpZmYgLU5h dXIgbGludXgtMi42LjIwLjcvc2VjdXJpdHkvdWlkYmluZC5jIGxpbnV4LTIuNi4yMC43LXVpZGJp bmQvc2VjdXJpdHkvdWlkYmluZC5jDQotLS0gbGludXgtMi42LjIwLjcvc2VjdXJpdHkvdWlkYmlu ZC5jCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwDQorKysgbGludXgtMi42LjIw LjctdWlkYmluZC9zZWN1cml0eS91aWRiaW5kLmMJMjAwNy0wNC0yMyAxMDo0NzowNy4wMDAwMDAw MDAgKzAyMDANCkBAIC0wLDAgKzEsMjYzIEBADQorLyogVWlkQmluZCAwLjEgTFNNDQorICogUGVy bWl0IGJpbmQoKSBmdW5jdGlvbiBvbmx5IHRvIG9uZSB1aWQNCisgKg0KKyAqIFNlZSA8aHR0cDov L3Byb2plY3RzLnVuYml0Lml0L3VpZGJpbmQvPiBmb3IgKGxpdHRsZSkgbW9yZSBpbmZvDQorICoN CisgKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQorICogICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KKyAqICAgICAgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z ZSwgb3INCisgKiAgICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQorICoN CisqLw0KKw0KKw0KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCisjaW5jbHVkZSA8bGludXgv a2VybmVsLmg+DQorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4NCisjaW5jbHVkZSA8bGludXgvc2Vj dXJpdHkuaD4NCisjaW5jbHVkZSA8bGludXgvc29ja2V0Lmg+DQorI2luY2x1ZGUgPG5ldC9pcC5o Pg0KKyNpbmNsdWRlIDxsaW51eC9jb25maWdmcy5oPg0KKw0KKw0KKy8qIGZsYWcgdG8ga2VlcCB0 cmFjayBvZiBob3cgd2Ugd2VyZSByZWdpc3RlcmVkICovDQorc3RhdGljIGludCBzZWNvbmRhcnk7 DQorDQorc3RhdGljIGludCBkZWJ1ZyA9IDE7DQorDQorDQorI2RlZmluZSBNWV9OQU1FICJ1aWRi aW5kIg0KKyNkZWZpbmUgVUlEQklORF9MQUJFTCAiW1VpZEJpbmRdICINCisNCitzdHJ1Y3QgcG9y dF9jb25maWdfaXRlbSB7DQorCXN0cnVjdCBjb25maWdfaXRlbSBpdGVtOw0KKwl1aWRfdCB1aWQ7 DQorfTsNCisNCitzdGF0aWMgc3NpemVfdCBwb3J0X2F0dHJfc2hvdyhzdHJ1Y3QgY29uZmlnX2l0 ZW0gKml0ZW0sIHN0cnVjdCBjb25maWdmc19hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpIHsN CisgICAgICAgIHNzaXplX3QgcmV0ID0gMDsNCisNCisJc3RydWN0IHBvcnRfY29uZmlnX2l0ZW0g KnBvcnRfY29uZmlnID0gY29udGFpbmVyX29mKGl0ZW0sIHN0cnVjdCBwb3J0X2NvbmZpZ19pdGVt LCBpdGVtKSA7DQorICAgICAgICByZXQgPSBzcHJpbnRmKHBhZ2UsICIldVxuIiwgcG9ydF9jb25m aWctPnVpZCApIDsNCisNCisJaWYgKGRlYnVnKQ0KKyAgICAgICAgCXByaW50ayhLRVJOX0RFQlVH IFVJREJJTkRfTEFCRUwgIlJlYWRpbmcgdWlkIGF0dHIgZm9yIHBvcnQgJXNcbiIsIGl0ZW0tPmNp X25hbWUpIDsNCisNCisgICAgICAgIHJldHVybiByZXQgOw0KK30NCisNCitzdGF0aWMgc3NpemVf dCBwb3J0X2F0dHJfc3RvcmUoc3RydWN0IGNvbmZpZ19pdGVtICppdGVtLCBzdHJ1Y3QgY29uZmln ZnNfYXR0cmlidXRlICphdHRyLCBjb25zdCBjaGFyICpwYWdlLCBzaXplX3QgY291bnQpIHsNCisg ICAgICAgIHNzaXplX3QgcmV0ID0gLUVJTlZBTDsNCisJdWlkX3QgdWlkIDsNCisNCisJc3RydWN0 IHBvcnRfY29uZmlnX2l0ZW0gKnBvcnRfY29uZmlnID0gY29udGFpbmVyX29mKGl0ZW0sIHN0cnVj dCBwb3J0X2NvbmZpZ19pdGVtLCBpdGVtKSA7DQorDQorCXVpZCA9IHNpbXBsZV9zdHJ0b3VsKHBh Z2UsIE5VTEwsIDApIDsNCisNCisJaWYgKCF1aWQpDQorCQlyZXR1cm4gcmV0IDsNCisNCisNCisJ cG9ydF9jb25maWctPnVpZCA9IHVpZCA7DQorDQorCWlmIChkZWJ1ZykNCisgICAgICAgIAlwcmlu dGsoS0VSTl9ERUJVRyBVSURCSU5EX0xBQkVMICJBc3NpZ25lZCB1aWQgJXUgdG8gcG9ydCAlc1xu IiwgdWlkLCBpdGVtLT5jaV9uYW1lKSA7DQorDQorCXJldCA9IGNvdW50IDsNCisJDQorICAgICAg ICByZXR1cm4gcmV0Ow0KK30NCisNCitzdGF0aWMgc3RydWN0IGNvbmZpZ2ZzX2F0dHJpYnV0ZSBw b3J0X3VpZF9hdHRyID0geyAuY2Ffb3duZXIgPSBUSElTX01PRFVMRSwgLmNhX25hbWUgPSAidWlk IiwgLmNhX21vZGUgPSBTX0lSVVNSIHwgU19JV1VTUiB9IDsNCisNCisvKiBwb3J0IGF0dHJpYnV0 ZXMgKi8NCitzdGF0aWMgc3RydWN0IGNvbmZpZ2ZzX2F0dHJpYnV0ZSAqcG9ydF9hdHRyc1tdID0g eyAmcG9ydF91aWRfYXR0ciAsIE5VTEwgfSA7DQorDQorLyogcG9ydCBvcHMgKi8NCitzdGF0aWMg c3RydWN0IGNvbmZpZ2ZzX2l0ZW1fb3BlcmF0aW9ucyBwb3J0X2l0ZW1fb3BzID0geyAuc2hvd19h dHRyaWJ1dGUgPSBwb3J0X2F0dHJfc2hvdywgLnN0b3JlX2F0dHJpYnV0ZSA9IHBvcnRfYXR0cl9z dG9yZSAgIH0gOw0KKw0KKy8qIHBvcnQgaXRlbSAqLw0KK3N0YXRpYyBzdHJ1Y3QgY29uZmlnX2l0 ZW1fdHlwZSBwb3J0X3R5cGUgPSB7IC5jdF9pdGVtX29wcyA9ICZwb3J0X2l0ZW1fb3BzLCAuY3Rf YXR0cnMgPSBwb3J0X2F0dHJzLCAuY3Rfb3duZXIgPSBUSElTX01PRFVMRSB9IDsNCisNCisNCisN CisNCitzdGF0aWMgc3RydWN0IGNvbmZpZ19pdGVtICpwb3J0X2l0ZW1fbWFrZShzdHJ1Y3QgY29u ZmlnX2dyb3VwICpncm91cCwgY29uc3QgY2hhciAqbmFtZSkgew0KKw0KKwlzdHJ1Y3QgcG9ydF9j b25maWdfaXRlbSAqcG9ydGl0ZW0gOw0KKwl1bnNpZ25lZCBzaG9ydCBwb3J0X251bSA7DQorDQor CXBvcnRfbnVtID0gc2ltcGxlX3N0cnRvdWwobmFtZSxOVUxMLDApIDsNCisNCisJaWYgKHBvcnRf bnVtIDwgMTAyNCB8fCAhcG9ydF9udW0pIHsNCisJCWlmIChkZWJ1ZykNCisJCQlwcmludGsoS0VS Tl9ERUJVRyBVSURCSU5EX0xBQkVMICJJbnZhbGlkIHBvcnQgbnVtYmVyOiAlc1xuIiwgbmFtZSkg Ow0KKw0KKwkJcmV0dXJuIE5VTEwgOw0KKwl9DQorDQorCXBvcnRpdGVtID0ga21hbGxvYyhzaXpl b2Yoc3RydWN0IHBvcnRfY29uZmlnX2l0ZW0pLCBHRlBfS0VSTkVMKTsNCisNCisJaWYgKCFwb3J0 aXRlbSkgcmV0dXJuIE5VTEwgOw0KKw0KKwkNCisJbWVtc2V0KHBvcnRpdGVtLCAwICwgc2l6ZW9m KHN0cnVjdCBwb3J0X2NvbmZpZ19pdGVtKSkgOw0KKw0KKwljb25maWdfaXRlbV9pbml0X3R5cGVf bmFtZSgmcG9ydGl0ZW0tPml0ZW0sIG5hbWUsICZwb3J0X3R5cGUpIDsNCisNCisJcG9ydGl0ZW0t PnVpZCA9IDAgOw0KKw0KKwlpZiAoZGVidWcpDQorCQlwcmludGsoS0VSTl9ERUJVRyBVSURCSU5E X0xBQkVMICJBc3NpZ25lZCBkZWZhdWx0IHJ1bGUgdG8gcG9ydCAlc1xuIiwgbmFtZSkgOw0KKw0K KwlyZXR1cm4gJnBvcnRpdGVtLT5pdGVtIDsNCit9DQorDQorDQorc3RhdGljIHN0cnVjdCBjb25m aWdmc19ncm91cF9vcGVyYXRpb25zIHVpZGJpbmRfZ3JvdXBfb3BzID0gew0KKwkubWFrZV9pdGVt ID0gcG9ydF9pdGVtX21ha2UsDQorfTsNCisNCisvKiBjb25maWdmcyB1aWRiaW5kICovDQorc3Rh dGljIHN0cnVjdCBjb25maWdfaXRlbV90eXBlIHVpZGJpbmRfdHlwZSA9IHsgLmN0X2dyb3VwX29w cyA9ICZ1aWRiaW5kX2dyb3VwX29wcywgLmN0X293bmVyID0gVEhJU19NT0RVTEUgfSA7DQorDQor DQorDQorDQorDQorLyogY29uZmlnZnMgc3Vic3lzICovDQorc3RhdGljIHN0cnVjdCBjb25maWdm c19zdWJzeXN0ZW0gdWlkYmluZF9zdWJzeXMgPSB7IC5zdV9ncm91cCA9IHsgLmNnX2l0ZW0gPSB7 IC5jaV9uYW1lYnVmID0gInVpZGJpbmQiLCAuY2lfdHlwZSA9ICZ1aWRiaW5kX3R5cGV9IH0gfSA7 DQorDQorDQorc3RhdGljIGludCB1aWRiaW5kX3NvY2tldF9iaW5kX2NoZWNrIChzdHJ1Y3Qgc29j a2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHJlc3MsIGludCBhZGRybGVuKQ0KK3sNCisN CisJdTE2IGZhbWlseSA7DQorCXN0cnVjdCBzb2NrYWRkcl9pbiAqYWRkcjQgPSBOVUxMOw0KKwlz dHJ1Y3QgY29uZmlnX2l0ZW0gKnBvcnRjb25maWcgPSBOVUxMIDsNCisJc3RydWN0IHBvcnRfY29u ZmlnX2l0ZW0gKnBvcnRpdGVtID0gTlVMTCA7DQorCXVuc2lnbmVkIHNob3J0IHNvY2tldF9wb3J0 Ow0KKwljaGFyICpzdHJwb3J0ID0gIlwwIiA7DQorDQorCWlmIChjdXJyZW50LT51aWQgPT0gMCkN CisJCXJldHVybiAwIDsNCisNCisJZmFtaWx5ID0gc29jay0+c2stPnNrX2ZhbWlseTsNCisNCisN CisJaWYgKGZhbWlseSA9PSBQRl9JTkVUKSB7DQorDQorCQlhZGRyNCA9IChzdHJ1Y3Qgc29ja2Fk ZHJfaW4gKilhZGRyZXNzOw0KKyAgICAgICAgICAgICAgICBzb2NrZXRfcG9ydCA9IG50b2hzKGFk ZHI0LT5zaW5fcG9ydCk7DQorDQorCQlpZiAoZGVidWcpCQkNCisJCQlwcmludGsoS0VSTl9ERUJV RyBVSURCSU5EX0xBQkVMICJiaW5kKCkgYXR0ZW1wdCBvbiBwb3J0ICVkIGJ5IHByb2Nlc3MgWyVz XSB1aWQgWyVkXVxuIiwgc29ja2V0X3BvcnQsIGN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnVpZCkg Ow0KKw0KKwkJc3ByaW50ZihzdHJwb3J0LCIldSIsIHNvY2tldF9wb3J0KSA7DQorDQorCQlwb3J0 Y29uZmlnID0gY29uZmlnX2dyb3VwX2ZpbmRfb2JqKCZ1aWRiaW5kX3N1YnN5cy5zdV9ncm91cCxz dHJwb3J0KSA7DQorDQorCQlpZiAoIXBvcnRjb25maWcpIHsNCisJCQlpZiAoZGVidWcpDQorCQkJ CXByaW50ayhLRVJOX0RFQlVHIFVJREJJTkRfTEFCRUwgIkNvbmZpZ3VyYXRpb24gZm9yIHBvcnQg JXMgdW5hdmFpbGFibGVcbiIsIHN0cnBvcnQgKSA7DQorDQorCQkJcmV0dXJuIC1FUEVSTTsNCisJ CX0NCisNCisJCXBvcnRpdGVtID0gY29udGFpbmVyX29mKHBvcnRjb25maWcsIHN0cnVjdCBwb3J0 X2NvbmZpZ19pdGVtLCBpdGVtKSA7DQorDQorCQlpZiAocG9ydGl0ZW0tPnVpZCAhPSBjdXJyZW50 LT51aWQpIHsNCisJCQlpZiAoZGVidWcpDQorCQkJCXByaW50ayhLRVJOX0RFQlVHIFVJREJJTkRf TEFCRUwgImJpbmQoKSBwZXJtaXR0ZWQgb25seSB0byB1aWQgJXVcbiIsIHBvcnRpdGVtLT51aWQp IDsNCisJCQlyZXR1cm4gLUVQRVJNOw0KKwkJfQ0KKwkJDQorCX0NCisNCisJcmV0dXJuIDA7DQor fQ0KKw0KK3N0YXRpYyBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyB1aWRiaW5kX3NlY3VyaXR5 X29wcyA9IHsNCisJLyogZ2VuZXJhbCBjYXBhYmlsaXR5ICovDQorCS5wdHJhY2UgPSAgICAgICAg ICAgICAgICAgICAgICAgY2FwX3B0cmFjZSwNCisgICAgICAgIC5jYXBnZXQgPSAgICAgICAgICAg ICAgICAgICAgICAgY2FwX2NhcGdldCwNCisgICAgICAgIC5jYXBzZXRfY2hlY2sgPSAgICAgICAg ICAgICAgICAgY2FwX2NhcHNldF9jaGVjaywNCisgICAgICAgIC5jYXBzZXRfc2V0ID0gICAgICAg ICAgICAgICAgICAgY2FwX2NhcHNldF9zZXQsDQorICAgICAgICAuY2FwYWJsZSA9ICAgICAgICAg ICAgICAgICAgICAgIGNhcF9jYXBhYmxlLA0KKyAgICAgICAgLnNldHRpbWUgPSAgICAgICAgICAg ICAgICAgICAgICBjYXBfc2V0dGltZSwNCisgICAgICAgIC5uZXRsaW5rX3NlbmQgPSAgICAgICAg ICAgICAgICAgY2FwX25ldGxpbmtfc2VuZCwNCisgICAgICAgIC5uZXRsaW5rX3JlY3YgPSAgICAg ICAgICAgICAgICAgY2FwX25ldGxpbmtfcmVjdiwNCisNCisgICAgICAgIC5icHJtX2FwcGx5X2Ny ZWRzID0gICAgICAgICAgICAgY2FwX2Jwcm1fYXBwbHlfY3JlZHMsDQorICAgICAgICAuYnBybV9z ZXRfc2VjdXJpdHkgPSAgICAgICAgICAgIGNhcF9icHJtX3NldF9zZWN1cml0eSwNCisgICAgICAg IC5icHJtX3NlY3VyZWV4ZWMgPSAgICAgICAgICAgICAgY2FwX2Jwcm1fc2VjdXJlZXhlYywNCisN CisgICAgICAgIC5pbm9kZV9zZXR4YXR0ciA9ICAgICAgICAgICAgICAgY2FwX2lub2RlX3NldHhh dHRyLA0KKyAgICAgICAgLmlub2RlX3JlbW92ZXhhdHRyID0gICAgICAgICAgICBjYXBfaW5vZGVf cmVtb3ZleGF0dHIsDQorDQorICAgICAgICAudGFza19wb3N0X3NldHVpZCA9ICAgICAgICAgICAg IGNhcF90YXNrX3Bvc3Rfc2V0dWlkLA0KKyAgICAgICAgLnRhc2tfcmVwYXJlbnRfdG9faW5pdCA9 ICAgICAgICBjYXBfdGFza19yZXBhcmVudF90b19pbml0LA0KKw0KKyAgICAgICAgLnN5c2xvZyA9 ICAgICAgICAgICAgICAgICAgICAgICBjYXBfc3lzbG9nLA0KKw0KKyAgICAgICAgLnZtX2Vub3Vn aF9tZW1vcnkgPSAgICAgICAgICAgICBjYXBfdm1fZW5vdWdoX21lbW9yeSwNCisNCisNCisJLyog dWlkYmluZCBob29rICovDQorCS5zb2NrZXRfYmluZCA9CQl1aWRiaW5kX3NvY2tldF9iaW5kX2No ZWNrDQorfTsNCisNCisNCitzdGF0aWMgaW50IF9faW5pdCB1aWRiaW5kX2luaXQgKHZvaWQpDQor ew0KKw0KKwlpbnQgcmV0IDsNCisNCisJaWYgKHJlZ2lzdGVyX3NlY3VyaXR5ICgmdWlkYmluZF9z ZWN1cml0eV9vcHMpKSB7DQorCQlwcmludGsgKEtFUk5fSU5GTyBVSURCSU5EX0xBQkVMICJGYWls dXJlIHJlZ2lzdGVyaW5nIG1vZHVsZSB3aXRoIHRoZSBrZXJuZWxcbiIpOw0KKwkJaWYgKG1vZF9y ZWdfc2VjdXJpdHkgKE1ZX05BTUUsICZ1aWRiaW5kX3NlY3VyaXR5X29wcykpIHsNCisJCQlwcmlu dGsgKEtFUk5fSU5GTyBVSURCSU5EX0xBQkVMICJGYWlsdXJlIHJlZ2lzdGVyaW5nIG1vZHVsZSBh cyBzZWNvbmRhcnlcbiIpIDsNCisJCQlyZXR1cm4gLUVJTlZBTDsNCisJCX0NCisJCXNlY29uZGFy eSA9IDE7DQorCX0NCisNCisJY29uZmlnX2dyb3VwX2luaXQoJnVpZGJpbmRfc3Vic3lzLnN1X2dy b3VwKTsNCisJaW5pdF9NVVRFWCgmdWlkYmluZF9zdWJzeXMuc3Vfc2VtKTsNCisJcmV0ID0gY29u ZmlnZnNfcmVnaXN0ZXJfc3Vic3lzdGVtKCZ1aWRiaW5kX3N1YnN5cyk7DQorDQorCWlmIChyZXQp IHsNCisJCXByaW50ayhLRVJOX0VSUiBVSURCSU5EX0xBQkVMICJFcnJvciB3aGlsZSByZWdpc3Rl cmluZyBjb25maWdmcyBzdWJzeXNcbiIpIDsNCisJCWNvbmZpZ2ZzX3VucmVnaXN0ZXJfc3Vic3lz dGVtKCZ1aWRiaW5kX3N1YnN5cyk7DQorCQlyZXR1cm4gcmV0IDsNCisJfQ0KKw0KKwlwcmludGsg KEtFUk5fSU5GTyBVSURCSU5EX0xBQkVMICJNb2R1bGUgaW5pdGlhbGl6ZWRcbiIpIDsNCisJcmV0 dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIF9fZXhpdCB1aWRiaW5kX2V4aXQgKHZvaWQpDQor ew0KKwlpZiAoc2Vjb25kYXJ5KSB7DQorCQlpZiAobW9kX3VucmVnX3NlY3VyaXR5IChNWV9OQU1F LCAmdWlkYmluZF9zZWN1cml0eV9vcHMpKQ0KKwkJCXByaW50ayAoS0VSTl9JTkZPIFVJREJJTkRf TEFCRUwgIkZhaWx1cmUgdW5yZWdpc3RlcmluZyBtb2R1bGUgYXMgcHJpbWFyeVxuIikgOw0KKwl9 IGVsc2UgeyANCisJCWlmICh1bnJlZ2lzdGVyX3NlY3VyaXR5ICgmdWlkYmluZF9zZWN1cml0eV9v cHMpKSB7DQorCQkJcHJpbnRrIChLRVJOX0lORk8gVUlEQklORF9MQUJFTCAiRmFpbHVyZSB1bnJl Z2lzdGVyaW5nIG1vZHVsZVxuIikgOw0KKwkJfQ0KKwl9DQorDQorCWNvbmZpZ2ZzX3VucmVnaXN0 ZXJfc3Vic3lzdGVtKCZ1aWRiaW5kX3N1YnN5cykgOw0KKw0KKwlwcmludGsgKEtFUk5fSU5GTyBV SURCSU5EX0xBQkVMICJNb2R1bGUgcmVtb3ZlZFxuIik7DQorfQ0KKw0KKw0KKw0KK3NlY3VyaXR5 X2luaXRjYWxsICh1aWRiaW5kX2luaXQpOw0KK21vZHVsZV9leGl0ICh1aWRiaW5kX2V4aXQpOw0K Kw0KK01PRFVMRV9ERVNDUklQVElPTigiVWlkQmluZCAwLjEiKTsNCitNT0RVTEVfQVVUSE9SKCJS b2JlcnRvIERlIElvcmlzIDxyb2JlcnRvQHVuYml0Lml0PiIpOw0KK01PRFVMRV9MSUNFTlNFKCJH UEwiKTsNCisNCk== --=-Yrh+InIvQX72VB0M9zui-- --=-uvZ/vbBIhhLigGmEZpdT Content-Type: application/pgp-signature; name=signature.asc Content-Description: Questa =?ISO-8859-1?Q?=E8?= una parte del messaggio firmata digitalmente -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQBGLHQzl5tD0kpw00gRAvTyAJ4u5Zt7MOv2pJEnFN9OwLEzRGkaVgCeKOJs 8sYtMByB1sMLmqGrj0VMD/g= =Cr2M -----END PGP SIGNATURE----- --=-uvZ/vbBIhhLigGmEZpdT--