[PATCH] new IPV4OPTSSTRIP target

Fabrice MARIE fabrice@celestix.com
Sun, 18 Nov 2001 17:59:42 +0800


--------------Boundary-00=_IFQZKSO63LWLFGRKOVXP
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 8bit


Hello,

Attached is a patch to the latest netfilter CVS
to add a target that allows you to strip all the IP
options from a packet. It's a good thing to have
as the first rule in your mangle->PREROUTING chain ;-)
Those of you who were using the ipv4options match
to actually drop the packets with IP options should
use that one instead, and keep the match for logging
purpose..

Hope that helps,

Have a nice day,

Fabrice.
--
Fabrice MARIE
Senior R&D Engineer
Celestix Networks
http://www.celestix.com/

"Silly hacker, root is for administrators" 
       -Unknown

--------------Boundary-00=_IFQZKSO63LWLFGRKOVXP
Content-Type: text/x-diff;
  charset="iso-8859-1";
  name="IPV4OPTSSTRIP-target.diff"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="IPV4OPTSSTRIP-target.diff"

ZGlmZiAtdU5yIGN2cy9uZXRmaWx0ZXIvdXNlcnNwYWNlL2V4dGVuc2lvbnMvLklQVjRPUFRTU1RS
SVAtdGVzdCBuZXRmaWx0ZXIvdXNlcnNwYWNlL2V4dGVuc2lvbnMvLklQVjRPUFRTU1RSSVAtdGVz
dAotLS0gY3ZzL25ldGZpbHRlci91c2Vyc3BhY2UvZXh0ZW5zaW9ucy8uSVBWNE9QVFNTVFJJUC10
ZXN0CVRodSBKYW4gIDEgMDc6MzA6MDAgMTk3MAorKysgbmV0ZmlsdGVyL3VzZXJzcGFjZS9leHRl
bnNpb25zLy5JUFY0T1BUU1NUUklQLXRlc3QJU3VuIE5vdiAxOCAxNzo0Mjo1MiAyMDAxCkBAIC0w
LDAgKzEsMyBAQAorIyEvYmluL3NoCisjIFRydWUgaWYgSVBWNE9QVFNTVFJJUCBwYXRjaCBpcyBh
cHBsaWVkLgorWyAtZiAkS0VSTkVMX0RJUi9uZXQvaXB2NC9uZXRmaWx0ZXIvaXB0X0lQVjRPUFRT
U1RSSVAuYyBdICYmIGVjaG8gSVBWNE9QVFNTVFJJUApkaWZmIC11TnIgY3ZzL25ldGZpbHRlci91
c2Vyc3BhY2UvZXh0ZW5zaW9ucy9saWJpcHRfSVBWNE9QVFNTVFJJUC5jIG5ldGZpbHRlci91c2Vy
c3BhY2UvZXh0ZW5zaW9ucy9saWJpcHRfSVBWNE9QVFNTVFJJUC5jCi0tLSBjdnMvbmV0ZmlsdGVy
L3VzZXJzcGFjZS9leHRlbnNpb25zL2xpYmlwdF9JUFY0T1BUU1NUUklQLmMJVGh1IEphbiAgMSAw
NzozMDowMCAxOTcwCisrKyBuZXRmaWx0ZXIvdXNlcnNwYWNlL2V4dGVuc2lvbnMvbGliaXB0X0lQ
VjRPUFRTU1RSSVAuYwlTdW4gTm92IDE4IDE3OjQxOjE3IDIwMDEKQEAgLTAsMCArMSw4MSBAQAor
LyogU2hhcmVkIGxpYnJhcnkgYWRkLW9uIHRvIGlwdGFibGVzIGZvciBJUFY0T1BUU1NUUklQCisg
KiBUaGlzIG1vZHVsZXMgc3RyaXAgYWxsIHRoZSBJUCBvcHRpb25zLgorICoKKyAqIChDKSAyMDAx
IGJ5IEZhYnJpY2UgTUFSSUUgPGZhYnJpY2VAY2VsZXN0aXguY29tPgorICogVGhpcyBwcm9ncmFt
IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBHTlUgR1BMIHYyLCAxOTkxCisgKi8K
KworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3Rk
bGliLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlIDxpcHRhYmxlcy5oPgorI2lu
Y2x1ZGUgPGxpbnV4L25ldGZpbHRlcl9pcHY0L2lwX3RhYmxlcy5oPgorCitzdGF0aWMgdm9pZCBp
bml0KHN0cnVjdCBpcHRfZW50cnlfdGFyZ2V0ICp0LCB1bnNpZ25lZCBpbnQgKm5mY2FjaGUpIAor
eworICAgICAgICAqbmZjYWNoZSB8PSBORkNfVU5LTk9XTjsKK30KKworc3RhdGljIHZvaWQgaGVs
cCh2b2lkKSAKK3sKKwlwcmludGYoIklQVjRPUFRTU1RSSVAgdiVzIHRhcmdldCB0YWtlcyBubyBv
cHRpb24gISEgTWFrZSBzdXJlIHlvdSB1c2UgaXQgaW4gdGhlIG1hbmdsZSB0YWJsZS5cbiIsCisJ
ICAgICAgIE5FVEZJTFRFUl9WRVJTSU9OKTsKK30KKworc3RhdGljIHN0cnVjdCBvcHRpb24gb3B0
c1tdID0geworCXsgMCB9Cit9OworCisvKiBGdW5jdGlvbiB3aGljaCBwYXJzZXMgY29tbWFuZCBv
cHRpb25zOyByZXR1cm5zIHRydWUgaWYgaXQKKyAgIGF0ZSBhbiBvcHRpb24gKi8KK3N0YXRpYyBp
bnQKK3BhcnNlKGludCBjLCBjaGFyICoqYXJndiwgaW50IGludmVydCwgdW5zaWduZWQgaW50ICpm
bGFncywKKyAgICAgIGNvbnN0IHN0cnVjdCBpcHRfZW50cnkgKmVudHJ5LAorICAgICAgc3RydWN0
IGlwdF9lbnRyeV90YXJnZXQgKip0YXJnZXQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2
b2lkCitmaW5hbF9jaGVjayh1bnNpZ25lZCBpbnQgZmxhZ3MpCit7Cit9CisKKy8qIFByaW50cyBv
dXQgdGhlIHRhcmdpbmZvLiAqLworc3RhdGljIHZvaWQKK3ByaW50KGNvbnN0IHN0cnVjdCBpcHRf
aXAgKmlwLAorICAgICAgY29uc3Qgc3RydWN0IGlwdF9lbnRyeV90YXJnZXQgKnRhcmdldCwKKyAg
ICAgIGludCBudW1lcmljKQoreworCS8qIG5vdGhpbmcgdG8gcHJpbnQsIHdlIGRvbid0IHRha2Ug
b3B0aW9uLi4uICovCit9CisKKy8qIFNhdmVzIHRoZSBzdHVmZiBpbiBwYXJzYWJsZSBmb3JtIHRv
IHN0ZG91dC4gKi8KK3N0YXRpYyB2b2lkCitzYXZlKGNvbnN0IHN0cnVjdCBpcHRfaXAgKmlwLCBj
b25zdCBzdHJ1Y3QgaXB0X2VudHJ5X3RhcmdldCAqdGFyZ2V0KQoreworCS8qIG5vdGhpbmcgdG8g
cHJpbnQsIHdlIGRvbid0IHRha2Ugb3B0aW9uLi4uICovCit9CisKK3N0YXRpYworc3RydWN0IGlw
dGFibGVzX3RhcmdldCBJUFY0T1BUU1NUUklQCis9IHsgTlVMTCwKKyAgICAiSVBWNE9QVFNTVFJJ
UCIsCisgICAgTkVURklMVEVSX1ZFUlNJT04sCisgICAgSVBUX0FMSUdOKDApLAorICAgIElQVF9B
TElHTigwKSwKKyAgICAmaGVscCwKKyAgICAmaW5pdCwKKyAgICAmcGFyc2UsCisgICAgJmZpbmFs
X2NoZWNrLAorICAgICZwcmludCwKKyAgICAmc2F2ZSwKKyAgICBvcHRzCit9OworCit2b2lkIF9p
bml0KHZvaWQpCit7CisJcmVnaXN0ZXJfdGFyZ2V0KCZJUFY0T1BUU1NUUklQKTsKK30KZGlmZiAt
dU5yIGN2cy9uZXRmaWx0ZXIvdXNlcnNwYWNlL3BhdGNoLW8tbWF0aWMvYmFzZS9JUFY0T1BUU1NU
UklQLnBhdGNoIG5ldGZpbHRlci91c2Vyc3BhY2UvcGF0Y2gtby1tYXRpYy9iYXNlL0lQVjRPUFRT
U1RSSVAucGF0Y2gKLS0tIGN2cy9uZXRmaWx0ZXIvdXNlcnNwYWNlL3BhdGNoLW8tbWF0aWMvYmFz
ZS9JUFY0T1BUU1NUUklQLnBhdGNoCVRodSBKYW4gIDEgMDc6MzA6MDAgMTk3MAorKysgbmV0Zmls
dGVyL3VzZXJzcGFjZS9wYXRjaC1vLW1hdGljL2Jhc2UvSVBWNE9QVFNTVFJJUC5wYXRjaAlTdW4g
Tm92IDE4IDE3OjQwOjE0IDIwMDEKQEAgLTAsMCArMSw4OCBAQAorZGlmZiAtdU5yIG9yaWdpbmFs
L2xpbnV4L25ldC9pcHY0L25ldGZpbHRlci9pcHRfSVBWNE9QVFNTVFJJUC5jIGxpbnV4L25ldC9p
cHY0L25ldGZpbHRlci9pcHRfSVBWNE9QVFNTVFJJUC5jCistLS0gb3JpZ2luYWwvbGludXgvbmV0
L2lwdjQvbmV0ZmlsdGVyL2lwdF9JUFY0T1BUU1NUUklQLmMJVGh1IEphbiAgMSAwNzozMDowMCAx
OTcwCisrKysgbGludXgvbmV0L2lwdjQvbmV0ZmlsdGVyL2lwdF9JUFY0T1BUU1NUUklQLmMJU3Vu
IE5vdiAxOCAxNzozMDoyOCAyMDAxCitAQCAtMCwwICsxLDg0IEBACisrLyoqCisrICogU3RyaXAg
YWxsIElQIG9wdGlvbnMgaW4gdGhlIElQIHBhY2tldCBoZWFkZXIuCisrICoKKysgKiAoQykgMjAw
MSBieSBGYWJyaWNlIE1BUklFIDxmYWJyaWNlQGNlbGVzdGl4LmNvbT4KKysgKiBUaGlzIHNvZnR3
YXJlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIEdOVSBHUEwgdjIsIDE5OTEKKysgKi8KKysKKysjaW5j
bHVkZSA8bGludXgvbW9kdWxlLmg+CisrI2luY2x1ZGUgPGxpbnV4L3NrYnVmZi5oPgorKyNpbmNs
dWRlIDxsaW51eC9pcC5oPgorKyNpbmNsdWRlIDxuZXQvY2hlY2tzdW0uaD4KKysKKysjaW5jbHVk
ZSA8bGludXgvbmV0ZmlsdGVyX2lwdjQvaXBfdGFibGVzLmg+CisrCisrTU9EVUxFX0FVVEhPUigi
RmFicmljZSBNQVJJRSA8ZmFicmljZUBjZWxlc3RpeC5jb20+Iik7CisrTU9EVUxFX0RFU0NSSVBU
SU9OKCJTdGlwIGFsbCBvcHRpb25zIGluIElQdjQgcGFja2V0cyIpOworK01PRFVMRV9MSUNFTlNF
KCJHUEwiKTsKKysKKytzdGF0aWMgdW5zaWduZWQgaW50CisrdGFyZ2V0KHN0cnVjdCBza19idWZm
ICoqcHNrYiwKKysgICAgICAgdW5zaWduZWQgaW50IGhvb2tudW0sCisrICAgICAgIGNvbnN0IHN0
cnVjdCBuZXRfZGV2aWNlICppbiwKKysgICAgICAgY29uc3Qgc3RydWN0IG5ldF9kZXZpY2UgKm91
dCwKKysgICAgICAgY29uc3Qgdm9pZCAqdGFyZ2luZm8sCisrICAgICAgIHZvaWQgKnVzZXJpbmZv
KQorK3sKKysJc3RydWN0IGlwaGRyICppcGggPSAoKnBza2IpLT5uaC5pcGg7CisrCXN0cnVjdCBz
a19idWZmICpza2IgPSAoKnBza2IpOworKwlzdHJ1Y3QgaXBfb3B0aW9ucyAqIG9wdDsKKysJdW5z
aWduZWQgY2hhciAqIG9wdGlwaCA9IHNrYi0+bmgucmF3OworKwlpbnQgbCA9ICgoc3RydWN0IGlw
X29wdGlvbnMgKikoJihJUENCKHNrYiktPm9wdCkpKS0+b3B0bGVuOworKwkKKysKKysJLyogaWYg
bm8gb3B0aW9ucyBpbiBwYWNrZXQgdGhlbiBub3RoaW5nIHRvIGNsZWFyLiAqLworKwlpZiAoaXBo
LT5paGwgKiA0ID09IHNpemVvZihzdHJ1Y3QgaXBoZHIpKQorKwkJcmV0dXJuIElQVF9DT05USU5V
RTsKKysKKysJLyogZWxzZSBjbGVhciBhbGwgb3B0aW9ucyAqLworKwltZW1zZXQoJihJUENCKHNr
YiktPm9wdCksIDAsIHNpemVvZihzdHJ1Y3QgaXBfb3B0aW9ucykpOworKwltZW1zZXQob3B0aXBo
K3NpemVvZihzdHJ1Y3QgaXBoZHIpLCBJUE9QVF9OT09QLCBsKTsKKysJb3B0ID0gJihJUENCKHNr
YiktPm9wdCk7CisrCW9wdC0+aXNfZGF0YSA9IDA7CisrCW9wdC0+b3B0bGVuID0gbDsKKysKKysJ
c2tiLT5uZmNhY2hlIHw9IE5GQ19BTFRFUkVEOworKworKyAgICAgICAgcmV0dXJuIElQVF9DT05U
SU5VRTsKKyt9CisrCisrc3RhdGljIGludAorK2NoZWNrZW50cnkoY29uc3QgY2hhciAqdGFibGVu
YW1lLAorKwkgICBjb25zdCBzdHJ1Y3QgaXB0X2VudHJ5ICplLAorKyAgICAgICAgICAgdm9pZCAq
dGFyZ2luZm8sCisrICAgICAgICAgICB1bnNpZ25lZCBpbnQgdGFyZ2luZm9zaXplLAorKyAgICAg
ICAgICAgdW5zaWduZWQgaW50IGhvb2tfbWFzaykKKyt7CisrCWlmIChzdHJjbXAodGFibGVuYW1l
LCAibWFuZ2xlIikpIHsKKysJCXByaW50ayhLRVJOX1dBUk5JTkcgIklQVjRPUFRTU1RSSVA6IGNh
biBvbmx5IGJlIGNhbGxlZCBmcm9tIFwibWFuZ2xlXCIgdGFibGUsIG5vdCBcIiVzXCJcbiIsIHRh
YmxlbmFtZSk7CisrCQlyZXR1cm4gMDsKKysJfQorKwkvKiBub3RoaW5nIGVsc2UgdG8gY2hlY2sg
YmVjYXVzZSBubyBwYXJhbWV0ZXJzICovCisrCXJldHVybiAxOworK30KKysKKytzdGF0aWMgc3Ry
dWN0IGlwdF90YXJnZXQgaXB0X2lwdjRvcHRzc3RyaXBfcmVnCisrPSB7IHsgTlVMTCwgTlVMTCB9
LCAiSVBWNE9QVFNTVFJJUCIsIHRhcmdldCwgY2hlY2tlbnRyeSwgTlVMTCwgVEhJU19NT0RVTEUg
fTsKKysKKytzdGF0aWMgaW50IF9faW5pdCBpbml0KHZvaWQpCisreworKwlpZiAoaXB0X3JlZ2lz
dGVyX3RhcmdldCgmaXB0X2lwdjRvcHRzc3RyaXBfcmVnKSkKKysJCXJldHVybiAtRUlOVkFMOwor
KwlwcmludGsoImlwdF9JUFY0T1BUU1NUUklQIGxvYWRlZFxuIik7CisrCisrCXJldHVybiAwOwor
K30KKysKKytzdGF0aWMgdm9pZCBfX2V4aXQgZmluaSh2b2lkKQorK3sKKysJaXB0X3VucmVnaXN0
ZXJfdGFyZ2V0KCZpcHRfaXB2NG9wdHNzdHJpcF9yZWcpOworKwlwcmludGsoImlwdF9JUFY0T1BU
U1NUUklQIHVubG9hZGVkXG4iKTsKKyt9CisrCisrbW9kdWxlX2luaXQoaW5pdCk7CisrbW9kdWxl
X2V4aXQoZmluaSk7CmRpZmYgLXVOciBjdnMvbmV0ZmlsdGVyL3VzZXJzcGFjZS9wYXRjaC1vLW1h
dGljL2Jhc2UvSVBWNE9QVFNTVFJJUC5wYXRjaC5jb25maWcuaW4gbmV0ZmlsdGVyL3VzZXJzcGFj
ZS9wYXRjaC1vLW1hdGljL2Jhc2UvSVBWNE9QVFNTVFJJUC5wYXRjaC5jb25maWcuaW4KLS0tIGN2
cy9uZXRmaWx0ZXIvdXNlcnNwYWNlL3BhdGNoLW8tbWF0aWMvYmFzZS9JUFY0T1BUU1NUUklQLnBh
dGNoLmNvbmZpZy5pbglUaHUgSmFuICAxIDA3OjMwOjAwIDE5NzAKKysrIG5ldGZpbHRlci91c2Vy
c3BhY2UvcGF0Y2gtby1tYXRpYy9iYXNlL0lQVjRPUFRTU1RSSVAucGF0Y2guY29uZmlnLmluCVN1
biBOb3YgMTggMTc6NDA6MTQgMjAwMQpAQCAtMCwwICsxLDIgQEAKKyAgICBkZXBfdHJpc3RhdGUg
JyAgICBSRUpFQ1QgdGFyZ2V0IHN1cHBvcnQnIENPTkZJR19JUF9ORl9UQVJHRVRfUkVKRUNUICRD
T05GSUdfSVBfTkZfRklMVEVSCisgICAgZGVwX3RyaXN0YXRlICcgICAgSVBWNE9QVFNTVFJJUCB0
YXJnZXQgc3VwcG9ydCcgQ09ORklHX0lQX05GX1RBUkdFVF9JUFY0T1BUU1NUUklQICRDT05GSUdf
SVBfTkZfRklMVEVSCmRpZmYgLXVOciBjdnMvbmV0ZmlsdGVyL3VzZXJzcGFjZS9wYXRjaC1vLW1h
dGljL2Jhc2UvSVBWNE9QVFNTVFJJUC5wYXRjaC5jb25maWd1cmUuaGVscCBuZXRmaWx0ZXIvdXNl
cnNwYWNlL3BhdGNoLW8tbWF0aWMvYmFzZS9JUFY0T1BUU1NUUklQLnBhdGNoLmNvbmZpZ3VyZS5o
ZWxwCi0tLSBjdnMvbmV0ZmlsdGVyL3VzZXJzcGFjZS9wYXRjaC1vLW1hdGljL2Jhc2UvSVBWNE9Q
VFNTVFJJUC5wYXRjaC5jb25maWd1cmUuaGVscAlUaHUgSmFuICAxIDA3OjMwOjAwIDE5NzAKKysr
IG5ldGZpbHRlci91c2Vyc3BhY2UvcGF0Y2gtby1tYXRpYy9iYXNlL0lQVjRPUFRTU1RSSVAucGF0
Y2guY29uZmlndXJlLmhlbHAJU3VuIE5vdiAxOCAxNzo0MDoxNCAyMDAxCkBAIC0wLDAgKzEsOSBA
QAorQ09ORklHX0lQX05GX1RBUkdFVF9SRUpFQ1QKK0lQVjRPUFRTU1RSSVAgdGFyZ2V0IHN1cHBv
cnQKK0NPTkZJR19JUF9ORl9UQVJHRVRfSVBWNE9QVFNTVFJJUAorICBUaGlzIG9wdGlvbiBhZGRz
IGFuIElQVjRPUFRTU1RSSVAgdGFyZ2V0LgorICBUaGlzIHRhcmdldCBhbGxvd3MgeW91IHRvIHN0
cmlwIGFsbCBJUCBvcHRpb25zIGluIGEgcGFja2V0LgorIAorICBJZiB5b3Ugd2FudCB0byBjb21w
aWxlIGl0IGFzIGEgbW9kdWxlLCBzYXkgTSBoZXJlIGFuZCByZWFkCisgIERvY3VtZW50YXRpb24v
bW9kdWxlcy50eHQuICBJZiB1bnN1cmUsIHNheSBgTicuCisKZGlmZiAtdU5yIGN2cy9uZXRmaWx0
ZXIvdXNlcnNwYWNlL3BhdGNoLW8tbWF0aWMvYmFzZS9JUFY0T1BUU1NUUklQLnBhdGNoLmhlbHAg
bmV0ZmlsdGVyL3VzZXJzcGFjZS9wYXRjaC1vLW1hdGljL2Jhc2UvSVBWNE9QVFNTVFJJUC5wYXRj
aC5oZWxwCi0tLSBjdnMvbmV0ZmlsdGVyL3VzZXJzcGFjZS9wYXRjaC1vLW1hdGljL2Jhc2UvSVBW
NE9QVFNTVFJJUC5wYXRjaC5oZWxwCVRodSBKYW4gIDEgMDc6MzA6MDAgMTk3MAorKysgbmV0Zmls
dGVyL3VzZXJzcGFjZS9wYXRjaC1vLW1hdGljL2Jhc2UvSVBWNE9QVFNTVFJJUC5wYXRjaC5oZWxw
CVN1biBOb3YgMTggMTc6NDA6MTQgMjAwMQpAQCAtMCwwICsxLDE2IEBACitBdXRob3I6IEZhYnJp
Y2UgTUFSSUUgPGZhYnJpY2VAY2VsZXN0aXguY29tPgorU3RhdHVzOiBXb3JrcyBGb3IgTWUuCisK
K1RoaXMgb3B0aW9uIGFkZHMgQ09ORklHX0lQX05GX1RBUkdFVF9JUFY0T1BUU1NUUklQLCB3aGlj
aCBzdXBwbGllcyBhIHRhcmdldAorbW9kdWxlIHRoYXQgd2lsbCBhbGxvdyB5b3UgdG8gc3RyaXAg
YWxsIHRoZSBJUCBvcHRpb25zIGZyb20gYSBwYWNrZXQuCisKK1RoZSB0YXJnZXQgZG9lc24ndCB0
YWtlIGFueSBvcHRpb24sIGFuZCB0aGVyZWZvcmUgaXMgZXh0cmVtbHkgZWFzeSB0byB1c2UgOgor
CisjIGlwdGFibGVzIC10IG1hbmdsZSAtQSBQUkVST1VUSU5HIC1qIElQVjRPUFRTU1RSSVAKKyMg
aXB0YWJsZXMgLXQgbWFuZ2xlIC0tbGlzdCAtbgorQ2hhaW4gUFJFUk9VVElORyAocG9saWN5IEFD
Q0VQVCkKK3RhcmdldCAgICAgcHJvdCBvcHQgc291cmNlICAgICAgICAgICAgICAgZGVzdGluYXRp
b24KK0lQVjRPUFRTU1RSSVAgIGFsbCAgLS0gIDAuMC4wLjAvMCAgICAgICAgICAgIDAuMC4wLjAv
MAorCitDaGFpbiBPVVRQVVQgKHBvbGljeSBBQ0NFUFQpCit0YXJnZXQgICAgIHByb3Qgb3B0IHNv
dXJjZSAgICAgICAgICAgICAgIGRlc3RpbmF0aW9uCmRpZmYgLXVOciBjdnMvbmV0ZmlsdGVyL3Vz
ZXJzcGFjZS9wYXRjaC1vLW1hdGljL2Jhc2UvSVBWNE9QVFNTVFJJUC5wYXRjaC5tYWtlZmlsZSBu
ZXRmaWx0ZXIvdXNlcnNwYWNlL3BhdGNoLW8tbWF0aWMvYmFzZS9JUFY0T1BUU1NUUklQLnBhdGNo
Lm1ha2VmaWxlCi0tLSBjdnMvbmV0ZmlsdGVyL3VzZXJzcGFjZS9wYXRjaC1vLW1hdGljL2Jhc2Uv
SVBWNE9QVFNTVFJJUC5wYXRjaC5tYWtlZmlsZQlUaHUgSmFuICAxIDA3OjMwOjAwIDE5NzAKKysr
IG5ldGZpbHRlci91c2Vyc3BhY2UvcGF0Y2gtby1tYXRpYy9iYXNlL0lQVjRPUFRTU1RSSVAucGF0
Y2gubWFrZWZpbGUJU3VuIE5vdiAxOCAxNzo0MDoxNCAyMDAxCkBAIC0wLDAgKzEsMyBAQAorb2Jq
LSQoQ09ORklHX0lQX05GX1RBUkdFVF9MT0cpICs9IGlwdF9MT0cubworCitvYmotJChDT05GSUdf
SVBfTkZfVEFSR0VUX0lQVjRPUFRTU1RSSVApICs9IGlwdF9JUFY0T1BUU1NUUklQLm8K

--------------Boundary-00=_IFQZKSO63LWLFGRKOVXP--