From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Leblond Subject: Re: Resend [patch 2/2] iptables: add random option to SNAT Date: Sat, 24 Feb 2007 15:10:44 +0100 Message-ID: <1172326245.5624.8.camel@localhost> References: <1170681950.5631.4.camel@localhost.localdomain> <45C747D9.102@trash.net> <1170690933.5631.11.camel@localhost.localdomain> <45D06E3D.4070008@trash.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-Dlo/ZN+nN7GahBgJRKQ/" Cc: netfilter-devel@lists.netfilter.org, Pablo Neira Ayuso To: Patrick McHardy Return-path: In-Reply-To: <45D06E3D.4070008@trash.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: netfilter-devel-bounces@lists.netfilter.org Errors-To: netfilter-devel-bounces@lists.netfilter.org List-Id: netfilter-devel.vger.kernel.org --=-Dlo/ZN+nN7GahBgJRKQ/ Content-Type: multipart/mixed; boundary="=-4KMX8Qd/EgWoCXCb+v3H" --=-4KMX8Qd/EgWoCXCb+v3H Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Hi, Le lundi 12 f=E9vrier 2007 =E0 14:40 +0100, Patrick McHardy a =E9crit : > > But we can also assume to have a per iptables rule switch. I can rewrit= e > > my patch in this way if you want. >=20 > I think I would prefer that. Here's the corresponding patch. It adds a --random flags to SNAT, SAME and MASQUERADE targets. I've also updated man pages by adding this --random option. BR, --=20 Eric Leblond INL --=-4KMX8Qd/EgWoCXCb+v3H Content-Disposition: attachment; filename=iptables-randomize-port.diff Content-Type: text/x-patch; name=iptables-randomize-port.diff; charset=ISO-8859-15 Content-Transfer-Encoding: base64 SW5kZXg6IGV4dGVuc2lvbnMvbGliaXB0X01BU1FVRVJBREUuYw0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGV4 dGVuc2lvbnMvbGliaXB0X01BU1FVRVJBREUuYwkocsOpdmlzaW9uIDY3NTIpDQorKysgZXh0ZW5z aW9ucy9saWJpcHRfTUFTUVVFUkFERS5jCShjb3BpZSBkZSB0cmF2YWlsKQ0KQEAgLTE1LDEyICsx NSwyMSBAQA0KIAlwcmludGYoDQogIk1BU1FVRVJBREUgdiVzIG9wdGlvbnM6XG4iDQogIiAtLXRv LXBvcnRzIDxwb3J0PlstPHBvcnQ+XVxuIg0KLSIJCQkJUG9ydCAocmFuZ2UpIHRvIG1hcCB0by5c blxuIiwNCisiCQkJCVBvcnQgKHJhbmdlKSB0byBtYXAgdG8uXG4iDQorI2lmZGVmIElQX05BVF9S QU5HRV9QUk9UT19SQU5ET00NCisiIC0tcmFuZG9tXG4iDQorIgkJCQlSYW5kb21pemUgc291cmNl IHBvcnQuXG4iDQorI2VuZGlmDQorIlxuIg0KKywNCiBJUFRBQkxFU19WRVJTSU9OKTsNCiB9DQog DQogc3RhdGljIHN0cnVjdCBvcHRpb24gb3B0c1tdID0gew0KIAl7ICJ0by1wb3J0cyIsIDEsIDAs ICcxJyB9LA0KKyNpZmRlZiBJUF9OQVRfUkFOR0VfUFJPVE9fUkFORE9NDQorCXsgInJhbmRvbSIs IDAsIDAsICcyJyB9LA0KKyNlbmRpZg0KIAl7IDAgfQ0KIH07DQogDQpAQCAtMTAwLDYgKzEwOSwx MiBAQA0KIAkJcGFyc2VfcG9ydHMob3B0YXJnLCBtcik7DQogCQlyZXR1cm4gMTsNCiANCisjaWZk ZWYgSVBfTkFUX1JBTkdFX1BST1RPX1JBTkRPTQ0KKwljYXNlICcyJzoNCisJCW1yLT5yYW5nZVsw XS5mbGFncyB8PSAgSVBfTkFUX1JBTkdFX1BST1RPX1JBTkRPTTsNCisJCXJldHVybiAxOw0KKyNl bmRpZg0KKw0KIAlkZWZhdWx0Og0KIAkJcmV0dXJuIDA7DQogCX0NCkBAIC0xMjcsNiArMTQyLDEy IEBADQogCQkJcHJpbnRmKCItJWh1IiwgbnRvaHMoci0+bWF4LnRjcC5wb3J0KSk7DQogCQlwcmlu dGYoIiAiKTsNCiAJfQ0KKw0KKyNpZmRlZiBJUF9OQVRfUkFOR0VfUFJPVE9fUkFORE9NDQorCWlm IChyLT5mbGFncyAmIElQX05BVF9SQU5HRV9QUk9UT19SQU5ET00pIHsNCisJCXByaW50ZigicmFu ZG9tIik7DQorCX0NCisjZW5kaWYNCiB9DQogDQogLyogU2F2ZXMgdGhlIHVuaW9uIGlwdF90YXJn aW5mbyBpbiBwYXJzYWJsZSBmb3JtIHRvIHN0ZG91dC4gKi8NCkluZGV4OiBleHRlbnNpb25zL2xp YmlwdF9TTkFULm1hbg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGV4dGVuc2lvbnMvbGliaXB0X1NOQVQubWFu CShyw6l2aXNpb24gNjc1MikNCisrKyBleHRlbnNpb25zL2xpYmlwdF9TTkFULm1hbgkoY29waWUg ZGUgdHJhdmFpbCkNCkBAIC03LDcgKzcsNyBAQA0KIG1hbmdsZWQpLCBhbmQgcnVsZXMgc2hvdWxk IGNlYXNlIGJlaW5nIGV4YW1pbmVkLiAgSXQgdGFrZXMgb25lIHR5cGUNCiBvZiBvcHRpb246DQog LlRQDQotLkJSICItLXRvLXNvdXJjZSAgIiAiXGZJaXBhZGRyXGZQWy1cZklpcGFkZHJcZlBdWzpc Zklwb3J0XGZQLVxmSXBvcnRcZlBdIg0KKy5CUiAiLS10by1zb3VyY2UgICIgIlxmSWlwYWRkclxm UFstXGZJaXBhZGRyXGZQXVs6XGZJcG9ydFxmUC1cZklwb3J0XGZQXSIgWyAiLS1yYW5kb20iIF0N CiB3aGljaCBjYW4gc3BlY2lmeSBhIHNpbmdsZSBuZXcgc291cmNlIElQIGFkZHJlc3MsIGFuIGlu Y2x1c2l2ZSByYW5nZQ0KIG9mIElQIGFkZHJlc3NlcywgYW5kIG9wdGlvbmFsbHksIGEgcG9ydCBy YW5nZSAod2hpY2ggaXMgb25seSB2YWxpZCBpZg0KIHRoZSBydWxlIGFsc28gc3BlY2lmaWVzDQpA QCAtMTcsNyArMTcsMTAgQEANCiBJZiBubyBwb3J0IHJhbmdlIGlzIHNwZWNpZmllZCwgdGhlbiBz b3VyY2UgcG9ydHMgYmVsb3cgNTEyIHdpbGwgYmUNCiBtYXBwZWQgdG8gb3RoZXIgcG9ydHMgYmVs b3cgNTEyOiB0aG9zZSBiZXR3ZWVuIDUxMiBhbmQgMTAyMyBpbmNsdXNpdmUNCiB3aWxsIGJlIG1h cHBlZCB0byBwb3J0cyBiZWxvdyAxMDI0LCBhbmQgb3RoZXIgcG9ydHMgd2lsbCBiZSBtYXBwZWQg dG8NCi0xMDI0IG9yIGFib3ZlLiBXaGVyZSBwb3NzaWJsZSwgbm8gcG9ydCBhbHRlcmF0aW9uIHdp bGwgb2NjdXIuDQorMTAyNCBvciBhYm92ZS4gV2hlcmUgcG9zc2libGUsIG5vIHBvcnQgYWx0ZXJh dGlvbiB3aWxsICBJZiBvcHRpb24NCisuQiAiLS1yYW5kb20iDQoraXMgdXNlZCB0aGVuIHBvcnQg bWFwcGluZyB3aWxsIGJlIGZvcmNlbHkgcmFuZG9taXplZCB0byBhdm9pZA0KK2F0dGFja3MgYmFz ZWQgb24gcG9ydCBwcmVkaWN0aW9uIChrZXJuZWwgPj0gMi42LjIxKS4NCiAuUlMNCiAuUFANCiBJ biBLZXJuZWxzIHVwIHRvIDIuNi4xMCwgeW91IGNhbiBhZGQgc2V2ZXJhbCAtLXRvLXNvdXJjZSBv cHRpb25zLiAgRm9yIHRob3NlDQpJbmRleDogZXh0ZW5zaW9ucy9saWJpcHRfU05BVC5jDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQotLS0gZXh0ZW5zaW9ucy9saWJpcHRfU05BVC5jCShyw6l2aXNpb24gNjc1MikNCisr KyBleHRlbnNpb25zL2xpYmlwdF9TTkFULmMJKGNvcGllIGRlIHRyYXZhaWwpDQpAQCAtOCw2ICs4 LDExIEBADQogI2luY2x1ZGUgPGxpbnV4L25ldGZpbHRlcl9pcHY0L2lwX3RhYmxlcy5oPg0KICNp bmNsdWRlIDxsaW51eC9uZXRmaWx0ZXJfaXB2NC9pcF9uYXRfcnVsZS5oPg0KIA0KKyNkZWZpbmUg SVBUX1NOQVRfT1BUX1NPVVJDRSAweDAxDQorI2lmZGVmIElQX05BVF9SQU5HRV9QUk9UT19SQU5E T00NCisjCWRlZmluZSBJUFRfU05BVF9PUFRfUkFORE9NIDB4MDINCisjZW5kaWYNCisNCiAvKiBT b3VyY2UgTkFUIGRhdGEgY29uc2lzdHMgb2YgYSBtdWx0aS1yYW5nZSwgaW5kaWNhdGluZyB3aGVy ZSB0byBtYXANCiAgICB0by4gKi8NCiBzdHJ1Y3QgaXB0X25hdGluZm8NCkBAIC0yMiw3ICsyNywx MSBAQA0KIHsNCiAJcHJpbnRmKA0KICJTTkFUIHYlcyBvcHRpb25zOlxuIg0KLSIgLS10by1zb3Vy Y2UgPGlwYWRkcj5bLTxpcGFkZHI+XVs6cG9ydC1wb3J0XVxuIg0KKyIgLS10by1zb3VyY2UgPGlw YWRkcj5bLTxpcGFkZHI+XVs6cG9ydC1wb3J0XSINCisjaWZkZWYgSVBfTkFUX1JBTkdFX1BST1RP X1JBTkRPTQ0KKyJbLS1yYW5kb21dIg0KKyNlbmRpZg0KKyJcbiINCiAiCQkJCUFkZHJlc3MgdG8g bWFwIHNvdXJjZSB0by5cbiINCiAiCQkJCShZb3UgY2FuIHVzZSB0aGlzIG1vcmUgdGhhbiBvbmNl KVxuXG4iLA0KIElQVEFCTEVTX1ZFUlNJT04pOw0KQEAgLTMwLDYgKzM5LDkgQEANCiANCiBzdGF0 aWMgc3RydWN0IG9wdGlvbiBvcHRzW10gPSB7DQogCXsgInRvLXNvdXJjZSIsIDEsIDAsICcxJyB9 LA0KKyNpZmRlZiBJUF9OQVRfUkFOR0VfUFJPVE9fUkFORE9NDQorCXsgInJhbmRvbSIsIDAsIDAs ICcyJyB9LA0KKyNlbmRpZg0KIAl7IDAgfQ0KIH07DQogDQpAQCAtMTU1LDcgKzE2Nyw3IEBADQog CQkJZXhpdF9lcnJvcihQQVJBTUVURVJfUFJPQkxFTSwNCiAJCQkJICAgIlVuZXhwZWN0ZWQgYCEn IGFmdGVyIC0tdG8tc291cmNlIik7DQogDQotCQlpZiAoKmZsYWdzKSB7DQorCQlpZiAoKmZsYWdz ICYgSVBUX1NOQVRfT1BUX1NPVVJDRSkgew0KIAkJCWlmICgha2VybmVsX3ZlcnNpb24pDQogCQkJ CWdldF9rZXJuZWxfdmVyc2lvbigpOw0KIAkJCWlmIChrZXJuZWxfdmVyc2lvbiA+IExJTlVYX1ZF UlNJT04oMiwgNiwgMTApKQ0KQEAgLTE2Myw5ICsxNzUsMjMgQEANCiAJCQkJCSAgICJNdWx0aXBs ZSAtLXRvLXNvdXJjZSBub3Qgc3VwcG9ydGVkIik7DQogCQl9DQogCQkqdGFyZ2V0ID0gcGFyc2Vf dG8ob3B0YXJnLCBwb3J0b2ssIGluZm8pOw0KLQkJKmZsYWdzID0gMTsNCisjaWZkZWYgSVBfTkFU X1JBTkdFX1BST1RPX1JBTkRPTQ0KKwkJaWYgKCpmbGFncyAmIElQVF9TTkFUX09QVF9SQU5ET00p DQorCQkJaW5mby0+bXIucmFuZ2VbMF0uZmxhZ3MgfD0gIElQX05BVF9SQU5HRV9QUk9UT19SQU5E T007DQorI2VuZGlmDQorCQkqZmxhZ3MgPSBJUFRfU05BVF9PUFRfU09VUkNFOw0KIAkJcmV0dXJu IDE7DQogDQorI2lmZGVmIElQX05BVF9SQU5HRV9QUk9UT19SQU5ET00NCisJY2FzZSAnMic6DQor CQlpZiAoKmZsYWdzICYgSVBUX1NOQVRfT1BUX1NPVVJDRSkgew0KKwkJCWluZm8tPm1yLnJhbmdl WzBdLmZsYWdzIHw9ICBJUF9OQVRfUkFOR0VfUFJPVE9fUkFORE9NOw0KKwkJCSpmbGFncyB8PSBJ UFRfU05BVF9PUFRfUkFORE9NOw0KKwkJfSBlbHNlDQorCQkJKmZsYWdzIHw9IElQVF9TTkFUX09Q VF9SQU5ET007DQorCQlyZXR1cm4gMTsNCisjZW5kaWYNCisNCiAJZGVmYXVsdDoNCiAJCXJldHVy biAwOw0KIAl9DQpAQCAtMTc0LDcgKzIwMCw3IEBADQogLyogRmluYWwgY2hlY2s7IG11c3QgaGF2 ZSBzcGVjZmllZCAtLXRvLXNvdXJjZS4gKi8NCiBzdGF0aWMgdm9pZCBmaW5hbF9jaGVjayh1bnNp Z25lZCBpbnQgZmxhZ3MpDQogew0KLQlpZiAoIWZsYWdzKQ0KKwlpZiAoIShmbGFncyAmIElQVF9T TkFUX09QVF9TT1VSQ0UpKQ0KIAkJZXhpdF9lcnJvcihQQVJBTUVURVJfUFJPQkxFTSwNCiAJCQkg ICAiWW91IG11c3Qgc3BlY2lmeSAtLXRvLXNvdXJjZSIpOw0KIH0NCkBAIC0xOTcsNiArMjIzLDEx IEBADQogCQlpZiAoci0+bWF4LnRjcC5wb3J0ICE9IHItPm1pbi50Y3AucG9ydCkNCiAJCQlwcmlu dGYoIi0laHUiLCBudG9ocyhyLT5tYXgudGNwLnBvcnQpKTsNCiAJfQ0KKyNpZmRlZiBJUF9OQVRf UkFOR0VfUFJPVE9fUkFORE9NDQorCWlmIChyLT5mbGFncyAmIElQX05BVF9SQU5HRV9QUk9UT19S QU5ET00pIHsNCisJCXByaW50ZigiIHJhbmRvbSIpOw0KKwl9DQorI2VuZGlmDQogfQ0KIA0KIC8q IFByaW50cyBvdXQgdGhlIHRhcmdpbmZvLiAqLw0KSW5kZXg6IGV4dGVuc2lvbnMvbGliaXB0X1NB TUUubWFuDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQotLS0gZXh0ZW5zaW9ucy9saWJpcHRfU0FNRS5tYW4JKHLDqXZp c2lvbiA2NzUyKQ0KKysrIGV4dGVuc2lvbnMvbGliaXB0X1NBTUUubWFuCShjb3BpZSBkZSB0cmF2 YWlsKQ0KQEAgLTksMyArOSw3IEBADQogLkIgIi0tbm9kc3QiDQogRG9uJ3QgdXNlIHRoZSBkZXN0 aW5hdGlvbi1pcCBpbiB0aGUgY2FsY3VsYXRpb25zIHdoZW4gc2VsZWN0aW5nIHRoZQ0KIG5ldyBz b3VyY2UtaXANCisuVFANCisuQiAiLS1yYW5kb20iDQorUG9ydCBtYXBwaW5nIHdpbGwgYmUgZm9y Y2VseSByYW5kb21pemVkIHRvIGF2b2lkIGF0dGFja3MgYmFzZWQgb24gDQorcG9ydCBwcmVkaWN0 aW9uIChrZXJuZWwgPj0gMi42LjIxKS4NCkluZGV4OiBleHRlbnNpb25zL2xpYmlwdF9TQU1FLmMN Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NCi0tLSBleHRlbnNpb25zL2xpYmlwdF9TQU1FLmMJKHLDqXZpc2lvbiA2NzUy KQ0KKysrIGV4dGVuc2lvbnMvbGliaXB0X1NBTUUuYwkoY29waWUgZGUgdHJhdmFpbCkNCkBAIC0y MiwxMyArMjIsMjIgQEANCiAiCQkJCSAgb25jZSBmb3IgbXVsdGlwbGUgcmFuZ2VzLlxuIg0KICIg LS1ub2RzdFxuIg0KICIJCQkJRG9uJ3QgdXNlIGRlc3RpbmF0aW9uLWlwIGluXG4iDQotIgkJCQkg ICAgICAgICAgIHNvdXJjZSBzZWxlY3Rpb25cbiIsDQorIgkJCQkgICAgICAgICAgIHNvdXJjZSBz ZWxlY3Rpb25cbiINCisNCisjaWZkZWYgSVBfTkFUX1JBTkdFX1BST1RPX1JBTkRPTQ0KKyIgLS1y YW5kb21cbiINCisiCQkJCVJhbmRvbWl6ZSBzb3VyY2UgcG9ydFxuIg0KKyNlbmRpZg0KKywNCiBJ UFRBQkxFU19WRVJTSU9OKTsNCiB9DQogDQogc3RhdGljIHN0cnVjdCBvcHRpb24gb3B0c1tdID0g ew0KIAl7ICJ0byIsIDEsIDAsICcxJyB9LA0KIAl7ICJub2RzdCIsIDAsIDAsICcyJ30sDQorI2lm ZGVmIElQX05BVF9SQU5HRV9QUk9UT19SQU5ET00NCisJeyAicmFuZG9tIiwgMCwgMCwgJzMnIH0s DQorI2VuZGlmDQogCXsgMCB9DQogfTsNCiANCkBAIC03OSw2ICs4OCw5IEBADQogDQogI2RlZmlu ZSBJUFRfU0FNRV9PUFRfVE8JCQkweDAxDQogI2RlZmluZSBJUFRfU0FNRV9PUFRfTk9EU1QJCTB4 MDINCisjaWZkZWYgSVBfTkFUX1JBTkdFX1BST1RPX1JBTkRPTQ0KKyMJZGVmaW5lIElQVF9TQU1F X09QVF9SQU5ET00JCTB4MDQNCisjZW5kaWYNCiANCiAvKiBGdW5jdGlvbiB3aGljaCBwYXJzZXMg Y29tbWFuZCBvcHRpb25zOyByZXR1cm5zIHRydWUgaWYgaXQNCiAgICBhdGUgYW4gb3B0aW9uICov DQpAQCAtODksNiArMTAxLDkgQEANCiB7DQogCXN0cnVjdCBpcHRfc2FtZV9pbmZvICptcg0KIAkJ PSAoc3RydWN0IGlwdF9zYW1lX2luZm8gKikoKnRhcmdldCktPmRhdGE7DQorI2lmZGVmIElQX05B VF9SQU5HRV9QUk9UT19SQU5ET00NCisJaW50IGNvdW50Ow0KKyNlbmRpZg0KIA0KIAlzd2l0Y2gg KGMpIHsNCiAJY2FzZSAnMSc6DQpAQCAtMTAyLDYgKzExNywxMSBAQA0KIAkJCQkgICAiVW5leHBl Y3RlZCBgIScgYWZ0ZXIgLS10byIpOw0KIA0KIAkJcGFyc2VfdG8ob3B0YXJnLCAmbXItPnJhbmdl W21yLT5yYW5nZXNpemVdKTsNCisjaWZkZWYgSVBfTkFUX1JBTkdFX1BST1RPX1JBTkRPTQ0KKwkJ aWYgKCpmbGFncyAmIElQVF9TQU1FX09QVF9SQU5ET00pDQorCQkJbXItPnJhbmdlW21yLT5yYW5n ZXNpemVdLmZsYWdzIA0KKwkJCQl8PSBJUF9OQVRfUkFOR0VfUFJPVE9fUkFORE9NOw0KKyNlbmRp Zg0KIAkJbXItPnJhbmdlc2l6ZSsrOw0KIAkJKmZsYWdzIHw9IElQVF9TQU1FX09QVF9UTzsNCiAJ CWJyZWFrOw0KQEAgLTExNCw3ICsxMzQsMTQgQEANCiAJCW1yLT5pbmZvIHw9IElQVF9TQU1FX05P RFNUOw0KIAkJKmZsYWdzIHw9IElQVF9TQU1FX09QVF9OT0RTVDsNCiAJCWJyZWFrOw0KLQkJDQor DQorI2lmZGVmIElQX05BVF9SQU5HRV9QUk9UT19SQU5ET00NCisJY2FzZSAnMyc6CQ0KKwkJKmZs YWdzIHw9IElQVF9TQU1FX09QVF9SQU5ET007DQorCQlmb3IgKGNvdW50PTA7IGNvdW50IDwgbXIt PnJhbmdlc2l6ZTsgY291bnQrKykNCisJCQltci0+cmFuZ2VbY291bnRdLmZsYWdzIHw9IElQX05B VF9SQU5HRV9QUk9UT19SQU5ET007DQorCQlicmVhazsNCisjZW5kaWYNCiAJZGVmYXVsdDoNCiAJ CXJldHVybiAwOw0KIAl9DQpAQCAtMTM5LDYgKzE2Niw5IEBADQogCWludCBjb3VudDsNCiAJc3Ry dWN0IGlwdF9zYW1lX2luZm8gKm1yDQogCQk9IChzdHJ1Y3QgaXB0X3NhbWVfaW5mbyAqKXRhcmdl dC0+ZGF0YTsNCisjaWZkZWYgSVBfTkFUX1JBTkdFX1BST1RPX1JBTkRPTQ0KKwlpbnQgcmFuZG9t ID0gMDsNCisjZW5kaWYNCiAJDQogCXByaW50Zigic2FtZToiKTsNCiAJDQpAQCAtMTU1LDEwICsx ODUsMTkgQEANCiAJCQlwcmludGYoIiAiKTsNCiAJCWVsc2UNCiAJCQlwcmludGYoIi0lcyAiLCBh ZGRyX3RvX2RvdHRlZCgmYSkpOw0KKyNpZmRlZiBJUF9OQVRfUkFOR0VfUFJPVE9fUkFORE9NDQor CQlpZiAoci0+ZmxhZ3MgJiBJUF9OQVRfUkFOR0VfUFJPVE9fUkFORE9NKSANCisJCQlyYW5kb20g PSAxOw0KKyNlbmRpZg0KIAl9DQogCQ0KIAlpZiAobXItPmluZm8gJiBJUFRfU0FNRV9OT0RTVCkN CiAJCXByaW50Zigibm9kc3QgIik7DQorDQorI2lmZGVmIElQX05BVF9SQU5HRV9QUk9UT19SQU5E T00NCisJaWYgKHJhbmRvbSkNCisJCXByaW50ZigicmFuZG9tICIpOw0KKyNlbmRpZg0KIH0NCiAN CiAvKiBTYXZlcyB0aGUgdW5pb24gaXB0X3RhcmdpbmZvIGluIHBhcnNhYmxlIGZvcm0gdG8gc3Rk b3V0LiAqLw0KSW5kZXg6IGV4dGVuc2lvbnMvbGliaXB0X01BU1FVRVJBREUubWFuDQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQotLS0gZXh0ZW5zaW9ucy9saWJpcHRfTUFTUVVFUkFERS5tYW4JKHLDqXZpc2lvbiA2NzUy KQ0KKysrIGV4dGVuc2lvbnMvbGliaXB0X01BU1FVRVJBREUubWFuCShjb3BpZSBkZSB0cmF2YWls KQ0KQEAgLTE0LDkgKzE0LDE5IEBADQogLlRQDQogLkJSICItLXRvLXBvcnRzICIgIlxmSXBvcnRc ZlBbLVxmSXBvcnRcZlBdIg0KIFRoaXMgc3BlY2lmaWVzIGEgcmFuZ2Ugb2Ygc291cmNlIHBvcnRz IHRvIHVzZSwgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdA0KKy5UUA0KKy5CUiAiLS1yYW5kb20iDQor UmFuZG9taXplIHNvdXJjZSBwb3J0IG1hcHBpbmcNCisuVFANCiAuQiBTTkFUDQogc291cmNlIHBv cnQtc2VsZWN0aW9uIGhldXJpc3RpY3MgKHNlZSBhYm92ZSkuICBUaGlzIGlzIG9ubHkgdmFsaWQN CiBpZiB0aGUgcnVsZSBhbHNvIHNwZWNpZmllcw0KIC5CICItcCB0Y3AiDQogb3INCiAuQlIgIi1w IHVkcCIgLg0KK0lmIG9wdGlvbg0KKy5CICItLXJhbmRvbSINCitpcyB1c2VkIHRoZW4gcG9ydCBt YXBwaW5nIHdpbGwgYmUgZm9yY2VseSByYW5kb21pemVkIHRvIGF2b2lkDQorYXR0YWNrcyBiYXNl ZCBvbiBwb3J0IHByZWRpY3Rpb24gKGtlcm5lbCA+PSAyLjYuMjEpLg0KKw0KKw0K --=-4KMX8Qd/EgWoCXCb+v3H-- --=-Dlo/ZN+nN7GahBgJRKQ/ Content-Type: application/pgp-signature; name=signature.asc Content-Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?= -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQBF4EdknxA7CdMWjzIRAox8AJ9v3SSPMxsm3nT4k9itbt8FLLQ2bgCgitEz Wi1NbtPbc4tAmkq2NcJmAUA= =THMo -----END PGP SIGNATURE----- --=-Dlo/ZN+nN7GahBgJRKQ/--