From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Leblond Subject: Resend [patch 2/2] iptables: add random option to SNAT Date: Mon, 05 Feb 2007 14:25:50 +0100 Message-ID: <1170681950.5631.4.camel@localhost.localdomain> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-sUgz761sVQbJIWjiPQXb" Cc: Patrick McHardy , Pablo Neira Ayuso To: netfilter-devel@lists.netfilter.org Return-path: 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 --=-sUgz761sVQbJIWjiPQXb Content-Type: multipart/mixed; boundary="=-xznqpu0neNWALANjYeEE" --=-xznqpu0neNWALANjYeEE Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Hi, This is a resend of : http://patchwork.netfilter.org/netfilter-devel/patch.pl?id=3D36 Merge window for 2.6.21 is open and kernel part of the feature should reach kernel tree soon... BR, --=20 =C9ric Leblond, eleblond@inl.fr T=E9l=E9phone : 01 44 89 46 39, Fax : 01 44 89 45 01 INL, http://www.inl.fr --=-xznqpu0neNWALANjYeEE Content-Disposition: attachment; filename=iptables-random-nat.diff Content-Type: text/x-patch; name=iptables-random-nat.diff; charset=ISO-8859-15 Content-Transfer-Encoding: base64 SW5kZXg6IGV4dGVuc2lvbnMvbGliaXB0X01BU1FVRVJBREUuYw0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGV4 dGVuc2lvbnMvbGliaXB0X01BU1FVRVJBREUuYwkocsOpdmlzaW9uIDY3MzUpDQorKysgZXh0ZW5z aW9ucy9saWJpcHRfTUFTUVVFUkFERS5jCShjb3BpZSBkZSB0cmF2YWlsKQ0KQEAgLTE0LDcgKzE0 LDcgQEANCiB7DQogCXByaW50ZigNCiAiTUFTUVVFUkFERSB2JXMgb3B0aW9uczpcbiINCi0iIC0t dG8tcG9ydHMgPHBvcnQ+Wy08cG9ydD5dXG4iDQorIiAtLXRvLXBvcnRzIFs8cG9ydD5bLTxwb3J0 Pl1dWzpyYW5kb21dXG4iDQogIgkJCQlQb3J0IChyYW5nZSkgdG8gbWFwIHRvLlxuXG4iLA0KIElQ VEFCTEVTX1ZFUlNJT04pOw0KIH0NCkBAIC00MCwxNCArNDAsMzAgQEANCiBwYXJzZV9wb3J0cyhj b25zdCBjaGFyICphcmcsIHN0cnVjdCBpcF9uYXRfbXVsdGlfcmFuZ2UgKm1yKQ0KIHsNCiAJY29u c3QgY2hhciAqZGFzaDsNCisJY2hhciAqcmFuZG9tOw0KIAlpbnQgcG9ydDsNCiANCisJaWYgKCph cmcgPT0gJ3InKXsNCisJCW1yLT5yYW5nZVswXS5mbGFncyB8PSBJUF9OQVRfUkFOR0VfUFJPVE9f UkFORE9NOw0KKwkJcmV0dXJuOw0KKwl9DQorDQogCW1yLT5yYW5nZVswXS5mbGFncyB8PSBJUF9O QVRfUkFOR0VfUFJPVE9fU1BFQ0lGSUVEOw0KIA0KIAlwb3J0ID0gYXRvaShhcmcpOw0KIAlpZiAo cG9ydCA8PSAwIHx8IHBvcnQgPiA2NTUzNSkNCiAJCWV4aXRfZXJyb3IoUEFSQU1FVEVSX1BST0JM RU0sICJQb3J0IGAlcycgbm90IHZhbGlkXG4iLCBhcmcpOw0KIA0KKwlyYW5kb20gPSBzdHJjaHIo YXJnLCAnOicpOw0KKwlpZiAocmFuZG9tKSB7DQorCQlpZiAoKihyYW5kb20rMSkgPT0gJ3InKSB7 DQorCQkJbXItPnJhbmdlWzBdLmZsYWdzIHw9IElQX05BVF9SQU5HRV9QUk9UT19SQU5ET007DQor CQkJKnJhbmRvbSA9ICdcMCc7DQorCQl9IGVsc2Ugew0KKwkJCWV4aXRfZXJyb3IoUEFSQU1FVEVS X1BST0JMRU0sICJSYW5kb20gc3BlY2lmaWNhdGlvbiBgJXMnIG5vdCB2YWxpZFxuIiwgYXJnKTsN CisJCX0NCisJfQ0KKw0KIAlkYXNoID0gc3RyY2hyKGFyZywgJy0nKTsNCiAJaWYgKCFkYXNoKSB7 DQogCQltci0+cmFuZ2VbMF0ubWluLnRjcC5wb3J0DQpAQCAtMTI1LDggKzE0MSwxMSBAQA0KIAkJ cHJpbnRmKCIlaHUiLCBudG9ocyhyLT5taW4udGNwLnBvcnQpKTsNCiAJCWlmIChyLT5tYXgudGNw LnBvcnQgIT0gci0+bWluLnRjcC5wb3J0KQ0KIAkJCXByaW50ZigiLSVodSIsIG50b2hzKHItPm1h eC50Y3AucG9ydCkpOw0KKwkJaWYgKHItPmZsYWdzICYgSVBfTkFUX1JBTkdFX1BST1RPX1JBTkRP TSkNCisJCQlwcmludGYoIjpyYW5kb20iKTsNCiAJCXByaW50ZigiICIpOw0KLQl9DQorCX0gZWxz ZSBpZiAoci0+ZmxhZ3MgJiBJUF9OQVRfUkFOR0VfUFJPVE9fUkFORE9NKQ0KKwkJcHJpbnRmKCJy YW5kb20gIik7DQogfQ0KIA0KIC8qIFNhdmVzIHRoZSB1bmlvbiBpcHRfdGFyZ2luZm8gaW4gcGFy c2FibGUgZm9ybSB0byBzdGRvdXQuICovDQpAQCAtMTQxLDggKzE2MCwxMSBAQA0KIAkJcHJpbnRm KCItLXRvLXBvcnRzICVodSIsIG50b2hzKHItPm1pbi50Y3AucG9ydCkpOw0KIAkJaWYgKHItPm1h eC50Y3AucG9ydCAhPSByLT5taW4udGNwLnBvcnQpDQogCQkJcHJpbnRmKCItJWh1IiwgbnRvaHMo ci0+bWF4LnRjcC5wb3J0KSk7DQorCQlpZiAoci0+ZmxhZ3MgJiBJUF9OQVRfUkFOR0VfUFJPVE9f UkFORE9NKQ0KKwkJCXByaW50ZigiOnJhbmRvbSIpOw0KIAkJcHJpbnRmKCIgIik7DQotCX0NCisJ fSBlbHNlIGlmIChyLT5mbGFncyAmIElQX05BVF9SQU5HRV9QUk9UT19SQU5ET00pDQorCQlwcmlu dGYoIi0tdG8tcG9ydHMgcmFuZG9tICIpOw0KIH0NCiANCiBzdGF0aWMgc3RydWN0IGlwdGFibGVz X3RhcmdldCBtYXNxID0geyBOVUxMLA0KSW5kZXg6IGV4dGVuc2lvbnMvbGliaXB0X1NOQVQuYw0K PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQ0KLS0tIGV4dGVuc2lvbnMvbGliaXB0X1NOQVQuYwkocsOpdmlzaW9uIDY3MzUp DQorKysgZXh0ZW5zaW9ucy9saWJpcHRfU05BVC5jCShjb3BpZSBkZSB0cmF2YWlsKQ0KQEAgLTIy LDkgKzIyLDExIEBADQogew0KIAlwcmludGYoDQogIlNOQVQgdiVzIG9wdGlvbnM6XG4iDQotIiAt LXRvLXNvdXJjZSA8aXBhZGRyPlstPGlwYWRkcj5dWzpwb3J0LXBvcnRdXG4iDQorIiAtLXRvLXNv dXJjZSA8aXBhZGRyPlstPGlwYWRkcj5dWzpwb3J0LXBvcnRdWzpyYW5kb21dXG4iDQogIgkJCQlB ZGRyZXNzIHRvIG1hcCBzb3VyY2UgdG8uXG4iDQotIgkJCQkoWW91IGNhbiB1c2UgdGhpcyBtb3Jl IHRoYW4gb25jZSlcblxuIiwNCisiCQkJCShZb3UgY2FuIHVzZSB0aGlzIG1vcmUgdGhhbiBvbmNl KVxuIg0KKyIJCQkJcmFuZG9tIGFkZHMgcmFuZG9tbmVzcyBpbiBwb3J0IHNlbGVjdGlvblxuIg0K KyIJCQkJdG8gYXZvaWQgYXR0YWNrIGJ5IHBvcnQgcHJlZGljdGlvblxuIiwNCiBJUFRBQkxFU19W RVJTSU9OKTsNCiB9DQogDQpAQCAtNTcsNyArNTksNyBAQA0KIHBhcnNlX3RvKGNoYXIgKmFyZywg aW50IHBvcnRvaywgc3RydWN0IGlwdF9uYXRpbmZvICppbmZvKQ0KIHsNCiAJc3RydWN0IGlwX25h dF9yYW5nZSByYW5nZTsNCi0JY2hhciAqY29sb24sICpkYXNoLCAqZXJyb3I7DQorCWNoYXIgKmNv bG9uLCAqZGFzaCwgKnJhbmRvbTsNCiAJc3RydWN0IGluX2FkZHIgKmlwOw0KIA0KIAltZW1zZXQo JnJhbmdlLCAwLCBzaXplb2YocmFuZ2UpKTsNCkBAIC02Niw0NCArNjgsNTUgQEANCiAJaWYgKGNv bG9uKSB7DQogCQlpbnQgcG9ydDsNCiANCi0JCWlmICghcG9ydG9rKQ0KLQkJCWV4aXRfZXJyb3Io UEFSQU1FVEVSX1BST0JMRU0sDQotCQkJCSAgICJOZWVkIFRDUCBvciBVRFAgd2l0aCBwb3J0IHNw ZWNpZmljYXRpb24iKTsNCisJCWlmICgqKGNvbG9uKzEpID09ICdyJykgew0KKwkJCS8qIHN5bnRh eCBpcyBJUDEtSVAyOlIgd2UganVzdCBzZXQgcmFuZG9tICovDQorCQkJcmFuZ2UuZmxhZ3MgfD0g SVBfTkFUX1JBTkdFX1BST1RPX1JBTkRPTTsNCisJCX0gZWxzZSB7DQorCQkJaWYgKCFwb3J0b2sp DQorCQkJCWV4aXRfZXJyb3IoUEFSQU1FVEVSX1BST0JMRU0sDQorCQkJCQkJIk5lZWQgVENQIG9y IFVEUCB3aXRoIHBvcnQgc3BlY2lmaWNhdGlvbiIpOw0KIA0KLQkJcmFuZ2UuZmxhZ3MgfD0gSVBf TkFUX1JBTkdFX1BST1RPX1NQRUNJRklFRDsNCisJCQlyYW5nZS5mbGFncyB8PSBJUF9OQVRfUkFO R0VfUFJPVE9fU1BFQ0lGSUVEOw0KIA0KLQkJcG9ydCA9IGF0b2koY29sb24rMSk7DQotCQlpZiAo cG9ydCA8PSAwIHx8IHBvcnQgPiA2NTUzNSkNCi0JCQlleGl0X2Vycm9yKFBBUkFNRVRFUl9QUk9C TEVNLA0KLQkJCQkgICAiUG9ydCBgJXMnIG5vdCB2YWxpZFxuIiwgY29sb24rMSk7DQorCQkJcG9y dCA9IGF0b2koY29sb24rMSk7DQorCQkJaWYgKHBvcnQgPD0gMCB8fCBwb3J0ID4gNjU1MzUpDQor CQkJCWV4aXRfZXJyb3IoUEFSQU1FVEVSX1BST0JMRU0sDQorCQkJCQkJIlBvcnQgYCVzJyBub3Qg dmFsaWRcbiIsIGNvbG9uKzEpOw0KIA0KLQkJZXJyb3IgPSBzdHJjaHIoY29sb24rMSwgJzonKTsN Ci0JCWlmIChlcnJvcikNCi0JCQlleGl0X2Vycm9yKFBBUkFNRVRFUl9QUk9CTEVNLA0KLQkJCQkg ICAiSW52YWxpZCBwb3J0OnBvcnQgc3ludGF4IC0gdXNlIGRhc2hcbiIpOw0KKwkJCXJhbmRvbSA9 IHN0cmNocihjb2xvbisxLCAnOicpOw0KKwkJCWlmIChyYW5kb20pIHsNCisJCQkJaWYgKCoocmFu ZG9tKzEpICE9ICdyJyl7DQorCQkJCWV4aXRfZXJyb3IoUEFSQU1FVEVSX1BST0JMRU0sDQorCQkJ CQkJIkludmFsaWQgcG9ydDpwb3J0IHN5bnRheCAtIHVzZSBkYXNoXG4iKTsNCisJCQkJfSBlbHNl IHsNCisJCQkJCXJhbmdlLmZsYWdzIHw9IElQX05BVF9SQU5HRV9QUk9UT19SQU5ET007DQorCQkJ CQkqcmFuZG9tID0gJ1wwJzsNCisJCQkJfQ0KKwkJCX0NCiANCi0JCWRhc2ggPSBzdHJjaHIoY29s b24sICctJyk7DQotCQlpZiAoIWRhc2gpIHsNCi0JCQlyYW5nZS5taW4udGNwLnBvcnQNCi0JCQkJ PSByYW5nZS5tYXgudGNwLnBvcnQNCi0JCQkJPSBodG9ucyhwb3J0KTsNCi0JCX0gZWxzZSB7DQot CQkJaW50IG1heHBvcnQ7DQorCQkJZGFzaCA9IHN0cmNocihjb2xvbiwgJy0nKTsNCisJCQlpZiAo IWRhc2gpIHsNCisJCQkJcmFuZ2UubWluLnRjcC5wb3J0DQorCQkJCQk9IHJhbmdlLm1heC50Y3Au cG9ydA0KKwkJCQkJPSBodG9ucyhwb3J0KTsNCisJCQl9IGVsc2Ugew0KKwkJCQlpbnQgbWF4cG9y dDsNCiANCi0JCQltYXhwb3J0ID0gYXRvaShkYXNoICsgMSk7DQotCQkJaWYgKG1heHBvcnQgPD0g MCB8fCBtYXhwb3J0ID4gNjU1MzUpDQotCQkJCWV4aXRfZXJyb3IoUEFSQU1FVEVSX1BST0JMRU0s DQotCQkJCQkgICAiUG9ydCBgJXMnIG5vdCB2YWxpZFxuIiwgZGFzaCsxKTsNCi0JCQlpZiAobWF4 cG9ydCA8IHBvcnQpDQotCQkJCS8qIFBlb3BsZSBhcmUgc3R1cGlkLiAqLw0KLQkJCQlleGl0X2Vy cm9yKFBBUkFNRVRFUl9QUk9CTEVNLA0KLQkJCQkJICAgIlBvcnQgcmFuZ2UgYCVzJyBmdW5reVxu IiwgY29sb24rMSk7DQotCQkJcmFuZ2UubWluLnRjcC5wb3J0ID0gaHRvbnMocG9ydCk7DQotCQkJ cmFuZ2UubWF4LnRjcC5wb3J0ID0gaHRvbnMobWF4cG9ydCk7DQorCQkJCW1heHBvcnQgPSBhdG9p KGRhc2ggKyAxKTsNCisJCQkJaWYgKG1heHBvcnQgPD0gMCB8fCBtYXhwb3J0ID4gNjU1MzUpDQor CQkJCQlleGl0X2Vycm9yKFBBUkFNRVRFUl9QUk9CTEVNLA0KKwkJCQkJCQkiUG9ydCBgJXMnIG5v dCB2YWxpZFxuIiwgZGFzaCsxKTsNCisJCQkJaWYgKG1heHBvcnQgPCBwb3J0KQ0KKwkJCQkJLyog UGVvcGxlIGFyZSBzdHVwaWQuICovDQorCQkJCQlleGl0X2Vycm9yKFBBUkFNRVRFUl9QUk9CTEVN LA0KKwkJCQkJCQkiUG9ydCByYW5nZSBgJXMnIGZ1bmt5XG4iLCBjb2xvbisxKTsNCisJCQkJcmFu Z2UubWluLnRjcC5wb3J0ID0gaHRvbnMocG9ydCk7DQorCQkJCXJhbmdlLm1heC50Y3AucG9ydCA9 IGh0b25zKG1heHBvcnQpOw0KKwkJCX0NCisJCQkvKiBTdGFydHMgd2l0aCBhIGNvbG9uPyBObyBJ UCBpbmZvLi4uKi8NCisJCQlpZiAoY29sb24gPT0gYXJnKQ0KKwkJCQlyZXR1cm4gJihhcHBlbmRf cmFuZ2UoaW5mbywgJnJhbmdlKS0+dCk7DQogCQl9DQotCQkvKiBTdGFydHMgd2l0aCBhIGNvbG9u PyBObyBJUCBpbmZvLi4uKi8NCi0JCWlmIChjb2xvbiA9PSBhcmcpDQotCQkJcmV0dXJuICYoYXBw ZW5kX3JhbmdlKGluZm8sICZyYW5nZSktPnQpOw0KIAkJKmNvbG9uID0gJ1wwJzsNCiAJfQ0KIA0K QEAgLTE5Nyw2ICsyMTAsOSBAQA0KIAkJaWYgKHItPm1heC50Y3AucG9ydCAhPSByLT5taW4udGNw LnBvcnQpDQogCQkJcHJpbnRmKCItJWh1IiwgbnRvaHMoci0+bWF4LnRjcC5wb3J0KSk7DQogCX0N CisJaWYgKHItPmZsYWdzICYgSVBfTkFUX1JBTkdFX1BST1RPX1JBTkRPTSkgew0KKwkJcHJpbnRm KCI6cmFuZG9tIik7DQorCX0NCiB9DQogDQogLyogUHJpbnRzIG91dCB0aGUgdGFyZ2luZm8uICov DQpJbmRleDogZXh0ZW5zaW9ucy9saWJpcHRfU0FNRS5jDQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gZXh0ZW5z aW9ucy9saWJpcHRfU0FNRS5jCShyw6l2aXNpb24gNjczNSkNCisrKyBleHRlbnNpb25zL2xpYmlw dF9TQU1FLmMJKGNvcGllIGRlIHRyYXZhaWwpDQpAQCAtMTYsNyArMTYsNyBAQA0KIHsNCiAJcHJp bnRmKA0KICJTQU1FIHYlcyBvcHRpb25zOlxuIg0KLSIgLS10byA8aXBhZGRyPi08aXBhZGRyPlxu Ig0KKyIgLS10byA8aXBhZGRyPi08aXBhZGRyPls6cmFuZG9tXVxuIg0KICIJCQkJQWRkcmVzc2Vz IHRvIG1hcCBzb3VyY2UgdG8uXG4iDQogIgkJCQkgTWF5IGJlIHNwZWNpZmllZCBtb3JlIHRoYW5c biINCiAiCQkJCSAgb25jZSBmb3IgbXVsdGlwbGUgcmFuZ2VzLlxuIg0KQEAgLTQ5LDEwICs0OSwy MSBAQA0KIHN0YXRpYyB2b2lkDQogcGFyc2VfdG8oY2hhciAqYXJnLCBzdHJ1Y3QgaXBfbmF0X3Jh bmdlICpyYW5nZSkNCiB7DQotCWNoYXIgKmRhc2g7DQorCWNoYXIgKmRhc2gsICpyYW5kb207DQog CXN0cnVjdCBpbl9hZGRyICppcDsNCiANCiAJcmFuZ2UtPmZsYWdzIHw9IElQX05BVF9SQU5HRV9N QVBfSVBTOw0KKw0KKwlyYW5kb20gPSBzdHJjaHIoYXJnLCAnOicpOw0KKwlpZiAocmFuZG9tKSB7 DQorCQlpZiAoKihyYW5kb20rMSkgPT0gJ3InKSB7DQorCQkJcmFuZ2UtPmZsYWdzIHw9IElQX05B VF9SQU5HRV9QUk9UT19SQU5ET007DQorCQkJKnJhbmRvbSA9ICdcMCc7DQorCQl9IGVsc2Ugew0K KwkJCWV4aXRfZXJyb3IoUEFSQU1FVEVSX1BST0JMRU0sICJSYW5kb20gc3BlY2lmaWNhdGlvbiBg JXMnIG5vdCB2YWxpZFxuIiwgcmFuZG9tKzEpOw0KKwkJfQ0KKwl9DQorDQogCWRhc2ggPSBzdHJj aHIoYXJnLCAnLScpOw0KIA0KIAlpZiAoZGFzaCkNCkBAIC05MCw3ICsxMDEsNyBAQA0KIAlzdHJ1 Y3QgaXB0X3NhbWVfaW5mbyAqbXINCiAJCT0gKHN0cnVjdCBpcHRfc2FtZV9pbmZvICopKCp0YXJn ZXQpLT5kYXRhOw0KIA0KLQlzd2l0Y2ggKGMpIHsNCitzd2l0Y2ggKGMpIHsNCiAJY2FzZSAnMSc6 DQogCQlpZiAobXItPnJhbmdlc2l6ZSA9PSBJUFRfU0FNRV9NQVhfUkFOR0UpDQogCQkJZXhpdF9l cnJvcihQQVJBTUVURVJfUFJPQkxFTSwNCkBAIC0xNTEsMTAgKzE2MiwxMyBAQA0KIAkJcHJpbnRm KCIlcyIsIGFkZHJfdG9fZG90dGVkKCZhKSk7DQogCQlhLnNfYWRkciA9IHItPm1heF9pcDsNCiAJ CQ0KLQkJaWYgKHItPm1pbl9pcCA9PSByLT5tYXhfaXApDQorCQlpZiAoci0+bWluX2lwICE9IHIt Pm1heF9pcCkNCisJCQlwcmludGYoIi0lcyIsIGFkZHJfdG9fZG90dGVkKCZhKSk7DQorDQorCQlp ZiAoci0+ZmxhZ3MgJiBJUF9OQVRfUkFOR0VfUFJPVE9fUkFORE9NKQ0KKwkJCXByaW50ZigiOnJh bmRvbSAiKTsNCisJCWVsc2UNCiAJCQlwcmludGYoIiAiKTsNCi0JCWVsc2UNCi0JCQlwcmludGYo Ii0lcyAiLCBhZGRyX3RvX2RvdHRlZCgmYSkpOw0KIAl9DQogCQ0KIAlpZiAobXItPmluZm8gJiBJ UFRfU0FNRV9OT0RTVCkNCkBAIC0xNzcsMTAgKzE5MSwxMyBAQA0KIAkJcHJpbnRmKCItLXRvICVz IiwgYWRkcl90b19kb3R0ZWQoJmEpKTsNCiAJCWEuc19hZGRyID0gci0+bWF4X2lwOw0KIA0KLQkJ aWYgKHItPm1pbl9pcCA9PSByLT5tYXhfaXApDQorCQlpZiAoci0+bWluX2lwICE9IHItPm1heF9p cCkNCisJCQlwcmludGYoIi0lcyIsIGFkZHJfdG9fZG90dGVkKCZhKSk7DQorDQorCQlpZiAoci0+ ZmxhZ3MgJiBJUF9OQVRfUkFOR0VfUFJPVE9fUkFORE9NKQ0KKwkJCXByaW50ZigiOnJhbmRvbSAi KTsNCisJCWVsc2UNCiAJCQlwcmludGYoIiAiKTsNCi0JCWVsc2UNCi0JCQlwcmludGYoIi0lcyAi LCBhZGRyX3RvX2RvdHRlZCgmYSkpOw0KIAl9DQogCQ0KIAlpZiAobXItPmluZm8gJiBJUFRfU0FN RV9OT0RTVCkNCg== --=-xznqpu0neNWALANjYeEE-- --=-sUgz761sVQbJIWjiPQXb 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.1 (GNU/Linux) iD8DBQBFxzBenxA7CdMWjzIRAjUnAKCM4XT/lBq6EKX9lVxKD1ZaQTm3hACaAyy1 qR/NQuoFS0XmRFk62suNoJU= =BbHJ -----END PGP SIGNATURE----- --=-sUgz761sVQbJIWjiPQXb--