Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Nov 2003 01:30:18 -0800 (PST)
From:      Max Laier <max@love2party.net>
To:        freebsd-ports-bugs@FreeBSD.org
Subject:   Re: ports/59442: [Maintainer-Update:] security/pf - build after ip_input.c#1.254
Message-ID:  <200311190930.hAJ9UIGV090979@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/59442; it has been noted by GNATS.

From: Max Laier <max@love2party.net>
To: freebsd-gnats-submit@FreeBSD.org, max@love2party.net
Cc: Pyun YongHyeon <yongari@kt-is.co.kr>
Subject: Re: ports/59442: [Maintainer-Update:] security/pf - build after ip_input.c#1.254
Date: Wed, 19 Nov 2003 10:25:50 +0100

 ------------BE1361F82C6DB270
 Content-Type: text/plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit
 
 New diff with some additional nits from:
 Pyun YongHyeon <yongari@kt-is.co.kr>:
 
 patch-ac: Fix build on -CURRENT(__FreeBSD_version 501114)
           Do not fragment a packet with hardware assistance if
           it has the DF bit set.
 
 patch-ad: Make pftcpdump's -w option work for pflog, pfsync interfaces.
 
 Thanks.
 
 -- 
 Best regards,
  Max                          mailto:max@love2party.net
 ------------BE1361F82C6DB270
 Content-Type: application/octet-stream; name="pfil.diff"
 Content-transfer-encoding: base64
 Content-Disposition: attachment; filename="pfil.diff"
 
 SW5kZXg6IGNvbmYvZmlsZXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvZGN2cy9z
 cmMvc3lzL2NvbmYvZmlsZXMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjgKZGlmZiAtdSAt
 cjEuMjggZmlsZXMKLS0tIGNvbmYvZmlsZXMJMTQgTm92IDIwMDMgMjA6NTQ6MDYgLTAwMDAJ
 MS4yOAorKysgY29uZi9maWxlcwkxNSBOb3YgMjAwMyAwNjowNDo0MCAtMDAwMApAQCAtODk2
 LDYgKzg5Niw3IEBACiBuZXQvaWZfZmRkaXN1YnIuYwkJb3B0aW9uYWwgZmRkaQogbmV0L2dp
 Zi9pZl9naWYuYwkJb3B0aW9uYWwgZ2lmCiBuZXQvZ3JlL2lmX2dyZS5jCQlvcHRpb25hbCBn
 cmUKK25ldC9wZmlsLmMJCQlvcHRpb25hbCBwZmlsX2hvb2tzCiBuZXQvcHBwX2xheWVyL3Ns
 Y29tcHJlc3MuYwlvcHRpb25hbCBuZXRncmFwaF92amMKIG5ldC9wcHBfbGF5ZXIvc2xjb21w
 cmVzcy5jCW9wdGlvbmFsIHBwcAogbmV0L3BwcF9sYXllci9zbGNvbXByZXNzLmMJb3B0aW9u
 YWwgc2wKSW5kZXg6IGNvbmYvb3B0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9t
 ZS9kY3ZzL3NyYy9zeXMvY29uZi9vcHRpb25zLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEw
 CmRpZmYgLXUgLXIxLjEwIG9wdGlvbnMKLS0tIGNvbmYvb3B0aW9ucwkyNSBPY3QgMjAwMyAx
 NzozNjoyMCAtMDAwMAkxLjEwCisrKyBjb25mL29wdGlvbnMJMTQgTm92IDIwMDMgMTQ6NTI6
 MDkgLTAwMDAKQEAgLTI3OSw2ICsyNzksNyBAQAogSVBGSUxURVIJCW9wdF9pcGZpbHRlci5o
 CiBJUEZJTFRFUl9MT0cJCW9wdF9pcGZpbHRlci5oCiBJUEZJTFRFUl9ERUZBVUxUX0JMT0NL
 CW9wdF9pcGZpbHRlci5oCitQRklMX0hPT0tTCQlvcHRfcGZpbF9ob29rcy5oCiBJUEZJUkVX
 QUxMCQlvcHRfaXBmdy5oCiBJUEZXMgkJCW9wdF9pcGZ3LmgKIElQRklSRVdBTExfVkVSQk9T
 RQlvcHRfaXBmdy5oCkluZGV4OiBjb250cmliL2lwZmlsdGVyL25ldGluZXQvaXBfZmlsLmMK
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvZGN2cy9zcmMvc3lzL2NvbnRyaWIvaXBm
 aWx0ZXIvbmV0aW5ldC9pcF9maWwuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS42CmRpZmYg
 LXUgLXIxLjYgaXBfZmlsLmMKLS0tIGNvbnRyaWIvaXBmaWx0ZXIvbmV0aW5ldC9pcF9maWwu
 YwkyNyBBdWcgMjAwMyAxMTowMjoxNCAtMDAwMAkxLjYKKysrIGNvbnRyaWIvaXBmaWx0ZXIv
 bmV0aW5ldC9pcF9maWwuYwkxNSBOb3YgMjAwMyAwNjoyMTozOSAtMDAwMApAQCAtMTgsNiAr
 MTgsOSBAQAogI2lmIGRlZmluZWQoX0tFUk5FTCkgJiYgZGVmaW5lZChfX0ZyZWVCU0RfdmVy
 c2lvbikgJiYgXAogICAgIChfX0ZyZWVCU0RfdmVyc2lvbiA+PSA0MDAwMDApICYmICFkZWZp
 bmVkKEtMRF9NT0RVTEUpCiAjaW5jbHVkZSAib3B0X2luZXQ2LmgiCisjaWYgZGVmaW5lZChf
 X0RyYWdvbkZseV92ZXJzaW9uKSAmJiAoX19EcmFnb25GbHlfdmVyc2lvbiA+PSAxMDAwMDAp
 CisjaW5jbHVkZSAib3B0X3BmaWxfaG9va3MuaCIKKyNlbmRpZgogI2VuZGlmCiAjaW5jbHVk
 ZSA8c3lzL3BhcmFtLmg+CiAjaWYgZGVmaW5lZChfX05ldEJTRF9fKSAmJiAoTmV0QlNEID49
 IDE5OTkwNSkgJiYgIWRlZmluZWQoSVBGSUxURVJfTEtNKSAmJiBcCkBAIC0yMjQsNyArMjI3
 LDkgQEAKIH07CiAjZW5kaWYgLyogX0JTRElfVkVSU0lPTiA+PSAxOTk1MTAgICYmIF9LRVJO
 RUwgKi8KIAotI2lmIGRlZmluZWQoX19OZXRCU0RfXykgfHwgZGVmaW5lZChfX09wZW5CU0Rf
 XykgIHx8IChfQlNESV9WRVJTSU9OID49IDE5OTcwMSkKKyNpZiBkZWZpbmVkKF9fTmV0QlNE
 X18pIHx8IGRlZmluZWQoX19PcGVuQlNEX18pICB8fCBcCisgICAgKF9CU0RJX1ZFUlNJT04g
 Pj0gMTk5NzAxKSB8fCAoZGVmaW5lZChfX0RyYWdvbkZseV92ZXJzaW9uKSAmJiBcCisgICAg
 KF9fRHJhZ29uRmx5X3ZlcnNpb24gPj0gMTAwMDAwKSkKICMgaW5jbHVkZSA8c3lzL2NvbmYu
 aD4KICMgaWYgZGVmaW5lZChORVRCU0RfUEYpCiAjICBpbmNsdWRlIDxuZXQvcGZpbC5oPgpA
 QCAtMzA2LDYgKzMxMSwyNyBAQAogfQogIyBlbmRpZgogI2VuZGlmIC8qIF9fTmV0QlNEX1Zl
 cnNpb24gPj0gMTA1MTEwMDAwICYmIF9LRVJORUwgKi8KKyNpZiBkZWZpbmVkKF9fRHJhZ29u
 Rmx5X3ZlcnNpb24pICYmIChfX0RyYWdvbkZseV92ZXJzaW9uID49IDEwMDAwMCkgJiYgXAor
 ICAgIGRlZmluZWQoX0tFUk5FTCkKKworc3RhdGljIGludAorZnJfY2hlY2tfd3JhcHBlcih2
 b2lkICphcmcsIHN0cnVjdCBtYnVmICoqbXAsIHN0cnVjdCBpZm5ldCAqaWZwLCBpbnQgZGly
 KQoreworCXN0cnVjdCBpcCAqaXAgPSBtdG9kKCptcCwgc3RydWN0IGlwICopOworCXJldHVy
 biBmcl9jaGVjayhpcCwgaXAtPmlwX2hsIDw8IDIsIGlmcCwgKGRpciA9PSBQRklMX09VVCks
 IG1wKTsKK30KKworIyBpZmRlZiBVU0VfSU5FVDYKKyMgIGluY2x1ZGUgPG5ldGluZXQvaXA2
 Lmg+CisKK3N0YXRpYyBpbnQKK2ZyX2NoZWNrX3dyYXBwZXI2KHZvaWQgKmFyZywgc3RydWN0
 IG1idWYgKiptcCwgc3RydWN0IGlmbmV0ICppZnAsIGludCBkaXIpCit7CisJcmV0dXJuIChm
 cl9jaGVjayhtdG9kKCptcCwgc3RydWN0IGlwICopLCBzaXplb2Yoc3RydWN0IGlwNl9oZHIp
 LAorCSAgICBpZnAsIChkaXIgPT0gUEZJTF9PVVQpLCBtcCkpOworfQorIyBlbmRpZiAvKiBV
 U0VfSU5FVDYgKi8KKyNlbmRpZiAvKiBfX0RyYWdvbkZseV92ZXJzaW9uID49IDEwMDAwMCAm
 JiBfS0VSTkVMICovCiAjaWZkZWYJX0tFUk5FTAogIyBpZglkZWZpbmVkKElQRklMVEVSX0xL
 TSkgJiYgIWRlZmluZWQoX19zZ2kpCiBpbnQgaXBsaWRlbnRpZnkocykKQEAgLTM0MywxMCAr
 MzY5LDEzIEBACiB7CiAJY2hhciAqZGVmcGFzczsKIAlpbnQgczsKLSMgaWYgZGVmaW5lZChf
 X3NnaSkgfHwgKGRlZmluZWQoTkVUQlNEX1BGKSAmJiAoX19OZXRCU0RfVmVyc2lvbl9fID49
 IDEwNDIwMDAwMCkpCisjIGlmIGRlZmluZWQoX19zZ2kpIHx8IChkZWZpbmVkKE5FVEJTRF9Q
 RikgJiYgXAorICAgICAoX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNDIwMDAwMCkpIHx8IFwK
 KyAgICAgKGRlZmluZWQoX19EcmFnb25GbHlfdmVyc2lvbikgJiYgKF9fRHJhZ29uRmx5X3Zl
 cnNpb24gPj0gMTAwMDAwKSkKIAlpbnQgZXJyb3IgPSAwOwogIyBlbmRpZgotI2lmIGRlZmlu
 ZWQoX19OZXRCU0RfVmVyc2lvbl9fKSAmJiAoX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNTEx
 MDAwMCkKKyNpZiAoZGVmaW5lZChfX05ldEJTRF9WZXJzaW9uX18pICYmIChfX05ldEJTRF9W
 ZXJzaW9uX18gPj0gMTA1MTEwMDAwKSkgfHwgXAorICAgIChkZWZpbmVkKF9fRHJhZ29uRmx5
 X3ZlcnNpb24pICYmIChfX0RyYWdvbkZseV92ZXJzaW9uID49IDEwMDAwMCkpCiAJc3RydWN0
 IHBmaWxfaGVhZCAqcGhfaW5ldDsKICMgaWZkZWYgVVNFX0lORVQ2CiAJc3RydWN0IHBmaWxf
 aGVhZCAqcGhfaW5ldDY7CkBAIC0zNzcsOCArNDA2LDkgQEAKIAl9CiAKICMgaWZkZWYgTkVU
 QlNEX1BGCi0jICBpZiAoX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNDIwMDAwMCkgfHwgKF9f
 RnJlZUJTRF92ZXJzaW9uID49IDUwMDAxMSkKLSMgICBpZiBfX05ldEJTRF9WZXJzaW9uX18g
 Pj0gMTA1MTEwMDAwCisjICBpZiAoX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNDIwMDAwMCkg
 fHwgKF9fRnJlZUJTRF92ZXJzaW9uID49IDUwMDAxMSkgfHwgXAorICAgICAgKGRlZmluZWQo
 X19EcmFnb25GbHlfdmVyc2lvbikgJiYgKF9fRHJhZ29uRmx5X3ZlcnNpb24gPj0gMTAwMDAw
 KSkKKyMgICBpZiAoX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNTExMDAwMCkgfHwgKF9fRHJh
 Z29uRmx5X3ZlcnNpb24gPj0gMTAwMDAwKQogCXBoX2luZXQgPSBwZmlsX2hlYWRfZ2V0KFBG
 SUxfVFlQRV9BRiwgQUZfSU5FVCk7CiAjICAgIGlmZGVmIFVTRV9JTkVUNgogCXBoX2luZXQ2
 ID0gcGZpbF9oZWFkX2dldChQRklMX1RZUEVfQUYsIEFGX0lORVQ2KTsKQEAgLTQxNCw3ICs0
 NDQsNyBAQAogCXBmaWxfYWRkX2hvb2soKHZvaWQgKilmcl9jaGVjaywgUEZJTF9JTnxQRklM
 X09VVCk7CiAjICBlbmRpZgogIyAgaWZkZWYgVVNFX0lORVQ2Ci0jICAgaWYgX19OZXRCU0Rf
 VmVyc2lvbl9fID49IDEwNTExMDAwMAorIyAgIGlmIChfX05ldEJTRF9WZXJzaW9uX18gPj0g
 MTA1MTEwMDAwKSB8fCAoX19EcmFnb25GbHlfdmVyc2lvbiA+PSAxMDAwMDApCiAJaWYgKHBo
 X2luZXQ2ICE9IE5VTEwpCiAJCWVycm9yID0gcGZpbF9hZGRfaG9vaygodm9pZCAqKWZyX2No
 ZWNrX3dyYXBwZXI2LCBOVUxMLAogCQkJCSAgICAgIFBGSUxfSU58UEZJTF9PVVQsIHBoX2lu
 ZXQ2KTsKQEAgLTUwNCw5ICs1MzQsMTAgQEAKIHsKIAlpbnQgcywgaTsKICNpZiBkZWZpbmVk
 KE5FVEJTRF9QRikgJiYgXAotICAgICgoX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNDIwMDAw
 MCkgfHwgKF9fRnJlZUJTRF92ZXJzaW9uID49IDUwMDAxMSkpCisgICAgKChfX05ldEJTRF9W
 ZXJzaW9uX18gPj0gMTA0MjAwMDAwKSB8fCAoX19GcmVlQlNEX3ZlcnNpb24gPj0gNTAwMDEx
 KSB8fCBcCisgICAgIChkZWZpbmVkKF9fRHJhZ29uRmx5X3ZlcnNpb24pICYmIChfX0RyYWdv
 bkZseV92ZXJzaW9uID49IDEwMDAwMCkpKQogCWludCBlcnJvciA9IDA7Ci0jIGlmIF9fTmV0
 QlNEX1ZlcnNpb25fXyA+PSAxMDUxNTAwMDAKKyMgaWYgKF9fTmV0QlNEX1ZlcnNpb25fXyA+
 PSAxMDUxNTAwMDApIHx8IChfX0RyYWdvbkZseV92ZXJzaW9uID49IDEwMDAwMCkKICAgICAg
 ICAgc3RydWN0IHBmaWxfaGVhZCAqcGhfaW5ldCA9IHBmaWxfaGVhZF9nZXQoUEZJTF9UWVBF
 X0FGLCBBRl9JTkVUKTsKICMgIGlmZGVmIFVTRV9JTkVUNgogICAgICAgICBzdHJ1Y3QgcGZp
 bF9oZWFkICpwaF9pbmV0NiA9IHBmaWxfaGVhZF9nZXQoUEZJTF9UWVBFX0FGLCBBRl9JTkVU
 Nik7CkBAIC01NDksOCArNTgwLDkgQEAKIAlmcl9ydW5uaW5nID0gMDsKIAogIyBpZmRlZiBO
 RVRCU0RfUEYKLSMgIGlmICgoX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNDIwMDAwMCkgfHwg
 KF9fRnJlZUJTRF92ZXJzaW9uID49IDUwMDAxMSkpCi0jICAgaWYgX19OZXRCU0RfVmVyc2lv
 bl9fID49IDEwNTExMDAwMAorIyAgaWYgKChfX05ldEJTRF9WZXJzaW9uX18gPj0gMTA0MjAw
 MDAwKSB8fCAoX19GcmVlQlNEX3ZlcnNpb24gPj0gNTAwMDExKSB8fCBcCisgICAgICAgKF9f
 RHJhZ29uRmx5X3ZlcnNpb24gPj0gMTAwMDAwKSkKKyMgICBpZiAoX19OZXRCU0RfVmVyc2lv
 bl9fID49IDEwNTExMDAwMCkgfHwgKF9fRHJhZ29uRmx5X3ZlcnNpb24gPj0gMTAwMDAwKQog
 CWlmIChwaF9pbmV0ICE9IE5VTEwpCiAJCWVycm9yID0gcGZpbF9yZW1vdmVfaG9vaygodm9p
 ZCAqKWZyX2NoZWNrX3dyYXBwZXIsIE5VTEwsCiAJCQkJCSBQRklMX0lOfFBGSUxfT1VULCBw
 aF9pbmV0KTsKQEAgLTU2OCw3ICs2MDAsNyBAQAogCXBmaWxfcmVtb3ZlX2hvb2soKHZvaWQg
 Kilmcl9jaGVjaywgUEZJTF9JTnxQRklMX09VVCk7CiAjICBlbmRpZgogIyAgaWZkZWYgVVNF
 X0lORVQ2Ci0jICAgaWYgX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNTExMDAwMAorIyAgIGlm
 IChfX05ldEJTRF9WZXJzaW9uX18gPj0gMTA1MTEwMDAwKSB8fCAoX19EcmFnb25GbHlfdmVy
 c2lvbiA+PSAxMDAwMDApCiAJaWYgKHBoX2luZXQ2ICE9IE5VTEwpCiAJCWVycm9yID0gcGZp
 bF9yZW1vdmVfaG9vaygodm9pZCAqKWZyX2NoZWNrX3dyYXBwZXI2LCBOVUxMLAogCQkJCQkg
 UEZJTF9JTnxQRklMX09VVCwgcGhfaW5ldDYpOwpJbmRleDogY29udHJpYi9pcGZpbHRlci9u
 ZXRpbmV0L2lwX2ZpbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2RjdnMvc3Jj
 L3N5cy9jb250cmliL2lwZmlsdGVyL25ldGluZXQvaXBfZmlsLmgsdgpyZXRyaWV2aW5nIHJl
 dmlzaW9uIDEuNApkaWZmIC11IC1yMS40IGlwX2ZpbC5oCi0tLSBjb250cmliL2lwZmlsdGVy
 L25ldGluZXQvaXBfZmlsLmgJMjcgQXVnIDIwMDMgMTE6MDI6MTQgLTAwMDAJMS40CisrKyBj
 b250cmliL2lwZmlsdGVyL25ldGluZXQvaXBfZmlsLmgJMTUgTm92IDIwMDMgMDY6MTE6MTEg
 LTAwMDAKQEAgLTQ4OCw4ICs0ODgsOCBAQAogICogd2l0aCB0aGlzIQogICovCiAjaWYgKGRl
 ZmluZWQoTmV0QlNEKSAmJiAoTmV0QlNEID4gMTk5NjA5KSAmJiAoTmV0QlNEIDw9IDE5OTEw
 MTEpKSB8fCBcCi0gICAgKGRlZmluZWQoTmV0QlNEMV8yKSAmJiBOZXRCU0QxXzIgPiAxKQot
 IyBpZiAoTmV0QlNEID49IDE5OTkwNSkKKyAgICAoZGVmaW5lZChOZXRCU0QxXzIpICYmIE5l
 dEJTRDFfMiA+IDEpIHx8IChfX0RyYWdvbkZseV92ZXJzaW9uID49IDEwMDAwMCkKKyMgaWYg
 KE5ldEJTRCA+PSAxOTk5MDUpIHx8IChfX0RyYWdvbkZseV92ZXJzaW9uID49IDEwMDAwMCkK
 ICMgIGRlZmluZSBQRklMX0hPT0tTCiAjIGVuZGlmCiAjIGlmZGVmIFBGSUxfSE9PS1MKSW5k
 ZXg6IGkzODYvY29uZi9HRU5FUklDCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2Rj
 dnMvc3JjL3N5cy9pMzg2L2NvbmYvR0VORVJJQyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4z
 CmRpZmYgLXUgLXIxLjMgR0VORVJJQwotLS0gaTM4Ni9jb25mL0dFTkVSSUMJMiBPY3QgMjAw
 MyAxOTo0NTo0MCAtMDAwMAkxLjMKKysrIGkzODYvY29uZi9HRU5FUklDCTE0IE5vdiAyMDAz
 IDE2OjIwOjUxIC0wMDAwCkBAIC0yNTUsNiArMjU1LDggQEAKICMgVGhlIGBicGYnIHBzZXVk
 by1kZXZpY2UgZW5hYmxlcyB0aGUgQmVya2VsZXkgUGFja2V0IEZpbHRlci4KICMgQmUgYXdh
 cmUgb2YgdGhlIGFkbWluaXN0cmF0aXZlIGNvbnNlcXVlbmNlcyBvZiBlbmFibGluZyB0aGlz
 IQogcHNldWRvLWRldmljZQlicGYJCSNCZXJrZWxleSBwYWNrZXQgZmlsdGVyCitvcHRpb25z
 CQlQRklMX0hPT0tTCSNQYWNrZXRmaWx0ZXIgaG9va3MKK29wdGlvbnMJCUlQRklMVEVSCiAK
 ICMgVVNCIHN1cHBvcnQKIGRldmljZQkJdWhjaQkJIyBVSENJIFBDSS0+VVNCIGludGVyZmFj
 ZQpJbmRleDogbmV0aW5ldC9pcF9pbnB1dC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9o
 b21lL2RjdnMvc3JjL3N5cy9uZXRpbmV0L2lwX2lucHV0LmMsdgpyZXRyaWV2aW5nIHJldmlz
 aW9uIDEuOApkaWZmIC11IC1yMS44IGlwX2lucHV0LmMKLS0tIG5ldGluZXQvaXBfaW5wdXQu
 Ywk4IE5vdiAyMDAzIDA3OjU3OjUxIC0wMDAwCTEuOAorKysgbmV0aW5ldC9pcF9pbnB1dC5j
 CTE0IE5vdiAyMDAzIDE1OjQwOjI3IC0wMDAwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVk
 ZSAib3B0X2lwZmlsdGVyLmgiCiAjaW5jbHVkZSAib3B0X2lwc3RlYWx0aC5oIgogI2luY2x1
 ZGUgIm9wdF9pcHNlYy5oIgorI2luY2x1ZGUgIm9wdF9wZmlsX2hvb2tzLmgiCiAjaW5jbHVk
 ZSAib3B0X3JhbmRvbV9pcF9pZC5oIgogCiAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CkBAIC02
 Miw2ICs2Myw5IEBACiAjaW5jbHVkZSA8bmV0L2lmX3R5cGVzLmg+CiAjaW5jbHVkZSA8bmV0
 L2lmX3Zhci5oPgogI2luY2x1ZGUgPG5ldC9pZl9kbC5oPgorI2lmZGVmIFBGSUxfSE9PS1MK
 KyNpbmNsdWRlIDxuZXQvcGZpbC5oPgorI2VuZGlmCiAjaW5jbHVkZSA8bmV0L3JvdXRlLmg+
 CiAjaW5jbHVkZSA8bmV0L25ldGlzci5oPgogI2luY2x1ZGUgPG5ldC9pbnRycS5oPgpAQCAt
 MjA3LDcgKzIxMSw5IEBACiAvKiBEdW1teW5ldCBob29rcyAqLwogaXBfZG5faW9fdCAqaXBf
 ZG5faW9fcHRyOwogCi1pbnQgKCpmcl9jaGVja3ApIChzdHJ1Y3QgaXAgKiwgaW50LCBzdHJ1
 Y3QgaWZuZXQgKiwgaW50LCBzdHJ1Y3QgbWJ1ZiAqKikgPSBOVUxMOworI2lmZGVmIFBGSUxf
 SE9PS1MKK3N0cnVjdCBwZmlsX2hlYWQgaW5ldF9wZmlsX2hvb2s7CisjZW5kaWYgLyogUEZJ
 TF9IT09LUyAqLwogCiAvKgogICogWFhYIHRoaXMgaXMgdWdseSAtLSB0aGUgZm9sbG93aW5n
 IHR3byBnbG9iYWwgdmFyaWFibGVzIGFyZQpAQCAtMjYyLDYgKzI2OCwxNCBAQAogCQkgICAg
 cHItPnByX3Byb3RvY29sICYmIHByLT5wcl9wcm90b2NvbCAhPSBJUFBST1RPX1JBVykKIAkJ
 CWlwX3Byb3RveFtwci0+cHJfcHJvdG9jb2xdID0gcHIgLSBpbmV0c3c7CiAKKyNpZmRlZiBQ
 RklMX0hPT0tTCisJaW5ldF9wZmlsX2hvb2sucGhfdHlwZSA9IFBGSUxfVFlQRV9BRjsKKwlp
 bmV0X3BmaWxfaG9vay5waF9hZiA9IEFGX0lORVQ7CisJaWYgKChpID0gcGZpbF9oZWFkX3Jl
 Z2lzdGVyKCZpbmV0X3BmaWxfaG9vaykpICE9IDApCisJCXByaW50ZigiJXM6IFdBUk5JTkc6
 IHVuYWJsZSB0byByZWdpc3RlciBwZmlsIGhvb2ssICIKKwkJCSJlcnJvciAlZFxuIiwgX19m
 dW5jX18sIGkpOworI2VuZGlmIC8qIFBGSUxfSE9PS1MgKi8KKwogCWZvciAoaSA9IDA7IGkg
 PCBJUFJFQVNTX05IQVNIOyBpKyspCiAJICAgIGlwcVtpXS5uZXh0ID0gaXBxW2ldLnByZXYg
 PSAmaXBxW2ldOwogCkBAIC0zMDAsNiArMzE0LDEwIEBACiAJc3RydWN0IGluX2FkZHIgcGt0
 X2RzdDsKIAl1X2ludDMyX3QgZGl2ZXJ0X2luZm8gPSAwOwkJLyogcGFja2V0IGRpdmVydC90
 ZWUgaW5mbyAqLwogCXN0cnVjdCBpcF9md19hcmdzIGFyZ3M7CisJaW50IHNyY3J0ID0gMDsJ
 CQkJLyogZm9yd2FyZCAoYnkgUEZJTF9IT09LUykgKi8KKyNpZmRlZiBQRklMX0hPT0tTCisJ
 c3RydWN0IGluX2FkZHIgb2RzdDsJCQkvKiBvcmlnaW5hbCBkc3QgYWRkcmVzcyhOQVQpICov
 CisjZW5kaWYKICNpZmRlZiBGQVNUX0lQU0VDCiAJc3RydWN0IG1fdGFnICptdGFnOwogCXN0
 cnVjdCB0ZGJfaWRlbnQgKnRkYmk7CkBAIC00NDYsMTcgKzQ2NCwyMyBAQAogIAkgKi8KIAog
 aXBoYWNrOgorI2lmZGVmIFBGSUxfSE9PS1MKIAkvKgotCSAqIENoZWNrIGlmIHdlIHdhbnQg
 dG8gYWxsb3cgdGhpcyBwYWNrZXQgdG8gYmUgcHJvY2Vzc2VkLgotCSAqIENvbnNpZGVyIGl0
 IHRvIGJlIGJhZCBpZiBub3QuCi0JICovCi0JaWYgKGZyX2NoZWNrcCkgewotCQlzdHJ1Y3QJ
 bWJ1ZgkqbTEgPSBtOwotCi0JCWlmICgoKmZyX2NoZWNrcCkoaXAsIGhsZW4sIG0tPm1fcGt0
 aGRyLnJjdmlmLCAwLCAmbTEpIHx8ICFtMSkKLQkJCXJldHVybjsKLQkJaXAgPSBtdG9kKG0g
 PSBtMSwgc3RydWN0IGlwICopOwotCX0KKwkgKiBSdW4gdGhyb3VnaCBsaXN0IG9mIGhvb2tz
 IGZvciBpbnB1dCBwYWNrZXRzLgorCSAqCisJICogTkI6IEJld2FyZSBvZiB0aGUgZGVzdGlu
 YXRpb24gYWRkcmVzcyBjaGFuZ2luZyAoZS5nLgorCSAqICAgICBieSBOQVQgcmV3cml0aW5n
 KS4gV2hlbiB0aGlzIGhhcHBlbnMsIHRlbGwKKwkgKiAgICAgaXBfZm9yd2FyZCB0byBkbyB0
 aGUgcmlnaHQgdGhpbmcuCisJICovCisJb2RzdCA9IGlwLT5pcF9kc3Q7CisJaWYgKHBmaWxf
 cnVuX2hvb2tzKCZpbmV0X3BmaWxfaG9vaywgJm0sIG0tPm1fcGt0aGRyLnJjdmlmLAorCSAg
 ICBQRklMX0lOKSAhPSAwKQorCSAgICAJcmV0dXJuOworCWlmIChtID09IE5VTEwpCQkJLyog
 Y29uc3VtZWQgYnkgZmlsdGVyICovCisJCXJldHVybjsKKwlpcCA9IG10b2QobSwgc3RydWN0
 IGlwICopOworCXNyY3J0ID0gKG9kc3Quc19hZGRyICE9IGlwLT5pcF9kc3Quc19hZGRyKTsK
 KyNlbmRpZiAvKiBQRklMX0hPT0tTICovCiAJaWYgKGZ3X2VuYWJsZSAmJiBJUEZXX0xPQURF
 RCkgewogCQkvKgogCQkgKiBJZiB3ZSd2ZSBiZWVuIGZvcndhcmRlZCBmcm9tIHRoZSBvdXRw
 dXQgc2lkZSwgdGhlbgpAQCAtNjkwLDcgKzcxNCw3IEBACiAJCQlnb3RvIGJhZDsKIAkJfQog
 I2VuZGlmIC8qIEZBU1RfSVBTRUMgKi8KLQkJaXBfZm9yd2FyZChtLCAwLCBhcmdzLm5leHRf
 aG9wKTsKKwkJaXBfZm9yd2FyZChtLCBzcmNydCwgYXJncy5uZXh0X2hvcCk7CiAJfQogCXJl
 dHVybjsKIApJbmRleDogbmV0aW5ldC9pcF9vdXRwdXQuYwo9PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
 aWxlOiAvaG9tZS9kY3ZzL3NyYy9zeXMvbmV0aW5ldC9pcF9vdXRwdXQuYyx2CnJldHJpZXZp
 bmcgcmV2aXNpb24gMS44CmRpZmYgLXUgLXIxLjggaXBfb3V0cHV0LmMKLS0tIG5ldGluZXQv
 aXBfb3V0cHV0LmMJMjQgQXVnIDIwMDMgMjM6MDc6MDcgLTAwMDAJMS44CisrKyBuZXRpbmV0
 L2lwX291dHB1dC5jCTE0IE5vdiAyMDAzIDE1OjM1OjAyIC0wMDAwCkBAIC00Miw2ICs0Miw3
 IEBACiAjaW5jbHVkZSAib3B0X2lwZGl2ZXJ0LmgiCiAjaW5jbHVkZSAib3B0X2lwZmlsdGVy
 LmgiCiAjaW5jbHVkZSAib3B0X2lwc2VjLmgiCisjaW5jbHVkZSAib3B0X3BmaWxfaG9va3Mu
 aCIKICNpbmNsdWRlICJvcHRfcmFuZG9tX2lwX2lkLmgiCiAjaW5jbHVkZSAib3B0X21idWZf
 c3RyZXNzX3Rlc3QuaCIKIApAQCAtNTcsNiArNTgsOSBAQAogI2luY2x1ZGUgPHN5cy9zeXNj
 dGwuaD4KIAogI2luY2x1ZGUgPG5ldC9pZi5oPgorI2lmZGVmIFBGSUxfSE9PS1MKKyNpbmNs
 dWRlIDxuZXQvcGZpbC5oPgorI2VuZGlmCiAjaW5jbHVkZSA8bmV0L3JvdXRlLmg+CiAKICNp
 bmNsdWRlIDxuZXRpbmV0L2luLmg+CkBAIC03MjIsMTMgKzcyNiwxNSBAQAogCSAqIC0gV3Jh
 cDogZmFrZSBwYWNrZXQncyBhZGRyL3BvcnQgPHVuaW1wbC4+CiAJICogLSBFbmNhcHN1bGF0
 ZTogcHV0IGl0IGluIGFub3RoZXIgSVAgYW5kIHNlbmQgb3V0LiA8dW5pbXAuPgogCSAqLyAK
 LQlpZiAoZnJfY2hlY2twKSB7Ci0JCXN0cnVjdCAgbWJ1ZiAgICAqbTEgPSBtOwotCi0JCWlm
 ICgoZXJyb3IgPSAoKmZyX2NoZWNrcCkoaXAsIGhsZW4sIGlmcCwgMSwgJm0xKSkgfHwgIW0x
 KQotCQkJZ290byBkb25lOwotCQlpcCA9IG10b2QobSA9IG0xLCBzdHJ1Y3QgaXAgKik7Ci0J
 fQorI2lmZGVmIFBGSUxfSE9PS1MKKwkvKgorCSAqIFJ1biB0aHJvdWdoIGxpc3Qgb2YgaG9v
 a3MgZm9yIG91dHB1dCBwYWNrZXRzLgorCSAqLworCWVycm9yID0gcGZpbF9ydW5faG9va3Mo
 JmluZXRfcGZpbF9ob29rLCAmbSwgaWZwLCBQRklMX09VVCk7CisJaWYgKGVycm9yICE9IDAg
 fHwgbSA9PSBOVUxMKQorCQlnb3RvIGRvbmU7CisJaXAgPSBtdG9kKG0sIHN0cnVjdCBpcCAq
 KTsKKyNlbmRpZiAvKiBQRklMX0hPT0tTICovCiAKIAkvKgogCSAqIENoZWNrIHdpdGggdGhl
 IGZpcmV3YWxsLi4uCkluZGV4OiBuZXRpbmV0L2lwX3Zhci5oCj09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
 IGZpbGU6IC9ob21lL2RjdnMvc3JjL3N5cy9uZXRpbmV0L2lwX3Zhci5oLHYKcmV0cmlldmlu
 ZyByZXZpc2lvbiAxLjQKZGlmZiAtdSAtcjEuNCBpcF92YXIuaAotLS0gbmV0aW5ldC9pcF92
 YXIuaAk4IE5vdiAyMDAzIDA3OjU3OjUxIC0wMDAwCTEuNAorKysgbmV0aW5ldC9pcF92YXIu
 aAkxNCBOb3YgMjAwMyAxNTozNjoyMiAtMDAwMApAQCAtMjA0LDYgKzIwNCwxMCBAQAogZXh0
 ZXJuIHN0cnVjdCBwcl91c3JyZXFzIGRpdl91c3JyZXFzOwogI2VuZGlmCiAKKyNpZmRlZiBQ
 RklMX0hPT0tTCitleHRlcm4Jc3RydWN0IHBmaWxfaGVhZCBpbmV0X3BmaWxfaG9vazsKKyNl
 bmRpZgorCiB2b2lkCWluX2RlbGF5ZWRfY2tzdW0oc3RydWN0IG1idWYgKm0pOwogCiAjZW5k
 aWYgLyogX0tFUk5FTCAqLwpJbmRleDogbmV0aW5ldDYvaXA2X2ZvcndhcmQuYwo9PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09ClJDUyBmaWxlOiAvaG9tZS9kY3ZzL3NyYy9zeXMvbmV0aW5ldDYvaXA2X2Zvcndh
 cmQuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41CmRpZmYgLXUgLXIxLjUgaXA2X2Zvcndh
 cmQuYwotLS0gbmV0aW5ldDYvaXA2X2ZvcndhcmQuYwkyMyBBdWcgMjAwMyAxMTowMjo0NSAt
 MDAwMAkxLjUKKysrIG5ldGluZXQ2L2lwNl9mb3J3YXJkLmMJMTUgTm92IDIwMDMgMDU6NTA6
 NDUgLTAwMDAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJvcHRfaW5ldC5oIgogI2lu
 Y2x1ZGUgIm9wdF9pbmV0Ni5oIgogI2luY2x1ZGUgIm9wdF9pcHNlYy5oIgorI2luY2x1ZGUg
 Im9wdF9wZmlsX2hvb2tzLmgiCiAKICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KICNpbmNsdWRl
 IDxzeXMvc3lzdG0uaD4KQEAgLTUwLDYgKzUxLDkgQEAKIAogI2luY2x1ZGUgPG5ldC9pZi5o
 PgogI2luY2x1ZGUgPG5ldC9yb3V0ZS5oPgorI2lmZGVmIFBGSUxfSE9PS1MKKyNpbmNsdWRl
 IDxuZXQvcGZpbC5oPgorI2VuZGlmCiAKICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CiAjaW5j
 bHVkZSA8bmV0aW5ldC9pbl92YXIuaD4KQEAgLTgzLDggKzg3LDYgQEAKIAogI2luY2x1ZGUg
 PG5ldC9uZXRfb3NkZXAuaD4KIAotZXh0ZXJuIGludCAoKmZyX2NoZWNrcCkgKHN0cnVjdCBp
 cCAqLCBpbnQsIHN0cnVjdCBpZm5ldCAqLCBpbnQsIHN0cnVjdCBtYnVmICoqKTsKLQogc3Ry
 dWN0CXJvdXRlX2luNiBpcDZfZm9yd2FyZF9ydDsKIAogLyoKQEAgLTUxNSwyMSArNTE3LDE3
 IEBACiAJaW42X2NsZWFyc2NvcGUoJmlwNi0+aXA2X2RzdCk7CiAjZW5kaWYKIAorI2lmZGVm
 IFBGSUxfSE9PS1MKIAkvKgotCSAqIENoZWNrIGlmIHdlIHdhbnQgdG8gYWxsb3cgdGhpcyBw
 YWNrZXQgdG8gYmUgcHJvY2Vzc2VkLgotCSAqIENvbnNpZGVyIGl0IHRvIGJlIGJhZCBpZiBu
 b3QuCisJICogUnVuIHRocm91Z2ggbGlzdCBvZiBob29rcyBmb3Igb3V0cHV0IHBhY2tldHMu
 CiAJICovCi0JaWYgKGZyX2NoZWNrcCkgewotCQlzdHJ1Y3QJbWJ1ZgkqbTEgPSBtOwotCi0J
 CWlmICgoKmZyX2NoZWNrcCkoKHN0cnVjdCBpcCAqKWlwNiwgc2l6ZW9mKCppcDYpLAotCQkJ
 CSBydC0+cnRfaWZwLCAxLCAmbTEpICE9IDApCi0JCQlnb3RvIGZyZWVjb3B5OwotCQltID0g
 bTE7Ci0JCWlmIChtID09IE5VTEwpCi0JCQlnb3RvIGZyZWVjb3B5OwotCQlpcDYgPSBtdG9k
 KG0sIHN0cnVjdCBpcDZfaGRyICopOwotCX0KKwllcnJvciA9IHBmaWxfcnVuX2hvb2tzKCZp
 bmV0Nl9wZmlsX2hvb2ssICZtLCBydC0+cnRfaWZwLCBQRklMX09VVCk7CisJaWYgKGVycm9y
 ICE9IDApCisJCWdvdG8gc2VuZGVycjsKKwlpZiAobSA9PSBOVUxMKQorCQlnb3RvIGZyZWVj
 b3B5OworCWlwNiA9IG10b2QobSwgc3RydWN0IGlwNl9oZHIgKik7CisjZW5kaWYgLyogUEZJ
 TF9IT09LUyAqLwogCiAJZXJyb3IgPSBuZDZfb3V0cHV0KHJ0LT5ydF9pZnAsIG9yaWdpZnAs
 IG0sIGRzdCwgcnQpOwogCWlmIChlcnJvcikgewpAQCAtNTQ1LDYgKzU0Myw5IEBACiAJCQkJ
 Z290byBmcmVlY29weTsKIAkJfQogCX0KKyNpZmRlZiBQRklMX0hPT0tTCitzZW5kZXJyOgor
 I2VuZGlmCiAJaWYgKG1jb3B5ID09IE5VTEwpCiAJCXJldHVybjsKIAlzd2l0Y2ggKGVycm9y
 KSB7CkluZGV4OiBuZXRpbmV0Ni9pcDZfaW5wdXQuYwo9PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
 OiAvaG9tZS9kY3ZzL3NyYy9zeXMvbmV0aW5ldDYvaXA2X2lucHV0LmMsdgpyZXRyaWV2aW5n
 IHJldmlzaW9uIDEuMTAKZGlmZiAtdSAtcjEuMTAgaXA2X2lucHV0LmMKLS0tIG5ldGluZXQ2
 L2lwNl9pbnB1dC5jCTggTm92IDIwMDMgMDc6NTc6NTEgLTAwMDAJMS4xMAorKysgbmV0aW5l
 dDYvaXA2X2lucHV0LmMJMTUgTm92IDIwMDMgMDU6NTk6MDcgLTAwMDAKQEAgLTcwLDYgKzcw
 LDcgQEAKICNpbmNsdWRlICJvcHRfaW5ldC5oIgogI2luY2x1ZGUgIm9wdF9pbmV0Ni5oIgog
 I2luY2x1ZGUgIm9wdF9pcHNlYy5oIgorI2luY2x1ZGUgIm9wdF9wZmlsX2hvb2tzLmgiCiAK
 ICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KICNpbmNsdWRlIDxzeXMvc3lzdG0uaD4KQEAgLTkw
 LDYgKzkxLDkgQEAKICNpbmNsdWRlIDxuZXQvaWZfZGwuaD4KICNpbmNsdWRlIDxuZXQvcm91
 dGUuaD4KICNpbmNsdWRlIDxuZXQvbmV0aXNyLmg+CisjaWZkZWYgUEZJTF9IT09LUworI2lu
 Y2x1ZGUgPG5ldC9wZmlsLmg+CisjZW5kaWYKIAogI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4K
 ICNpbmNsdWRlIDxuZXRpbmV0L2luX3N5c3RtLmg+CkBAIC0xMjgsOCArMTMyLDYgQEAKIAog
 I2luY2x1ZGUgPG5ldC9uZXRfb3NkZXAuaD4KIAotZXh0ZXJuIGludCAoKmZyX2NoZWNrcCkg
 KHN0cnVjdCBpcCAqLCBpbnQsIHN0cnVjdCBpZm5ldCAqLCBpbnQsIHN0cnVjdCBtYnVmICoq
 KTsKLQogZXh0ZXJuIHN0cnVjdCBkb21haW4gaW5ldDZkb21haW47CiBleHRlcm4gc3RydWN0
 IGlwNnByb3Rvc3cgaW5ldDZzd1tdOwogCkBAIC0xNDQsNiArMTQ2LDEwIEBACiAKIGludCBp
 cDZfb3Vyc19jaGVja19hbGdvcml0aG07CiAKKyNpZmRlZiBQRklMX0hPT0tTCitzdHJ1Y3Qg
 cGZpbF9oZWFkIGluZXQ2X3BmaWxfaG9vazsKKyNlbmRpZgorCiAvKiBmaXJld2FsbCBob29r
 cyAqLwogaXA2X2Z3X2Noa190ICppcDZfZndfY2hrX3B0cjsKIGlwNl9md19jdGxfdCAqaXA2
 X2Z3X2N0bF9wdHI7CkBAIC0xODMsNiArMTg5LDE1IEBACiAJCWlmIChwci0+cHJfZG9tYWlu
 LT5kb21fZmFtaWx5ID09IFBGX0lORVQ2ICYmCiAJCSAgICBwci0+cHJfcHJvdG9jb2wgJiYg
 cHItPnByX3Byb3RvY29sICE9IElQUFJPVE9fUkFXKQogCQkJaXA2X3Byb3RveFtwci0+cHJf
 cHJvdG9jb2xdID0gcHIgLSBpbmV0NnN3OworCisjaWZkZWYgUEZJTF9IT09LUworCWluZXQ2
 X3BmaWxfaG9vay5waF90eXBlID0gUEZJTF9UWVBFX0FGOworCWluZXQ2X3BmaWxfaG9vay5w
 aF9hZiA9IEFGX0lORVQ2OworCWlmICgoaSA9IHBmaWxfaGVhZF9yZWdpc3RlcigmaW5ldDZf
 cGZpbF9ob29rKSkgIT0gMCkKKwkJcHJpbnRmKCIlczogV0FSTklORzogdW5hYmxlIHRvIHJl
 Z2lzdGVyIHBmaWwgaG9vaywgIgorCQkJImVycm9yICVkXG4iLCBfX2Z1bmNfXywgaSk7Cisj
 ZW5kaWYgLyogUEZJTF9IT09LUyAqLworCiAJbmV0aXNyX3JlZ2lzdGVyKE5FVElTUl9JUFY2
 LCBjcHUwX3BvcnRmbiwgaXA2X2lucHV0KTsKIAluZDZfaW5pdCgpOwogCWZyYWc2X2luaXQo
 KTsKQEAgLTIzOCw2ICsyNTMsMTAgQEAKIAl1X2ludDMyX3QgcnRhbGVydCA9IH4wOwogCWlu
 dCBueHQsIG91cnMgPSAwOwogCXN0cnVjdCBpZm5ldCAqZGVsaXZlcmlmcCA9IE5VTEw7Cisj
 aWZkZWYgUEZJTF9IT09LUworCXN0cnVjdCBpbjZfYWRkciBvZHN0OworI2VuZGlmCisJaW50
 IHNyY3J0ID0gMDsKIAogI2lmZGVmIElQU0VDCiAJLyoKQEAgLTMzMCwyMSArMzQ5LDIyIEBA
 CiAJCWdvdG8gYmFkOwogCX0KIAorI2lmZGVmIFBGSUxfSE9PS1MKIAkvKgotCSAqIENoZWNr
 IGlmIHdlIHdhbnQgdG8gYWxsb3cgdGhpcyBwYWNrZXQgdG8gYmUgcHJvY2Vzc2VkLgotCSAq
 IENvbnNpZGVyIGl0IHRvIGJlIGJhZCBpZiBub3QuCi0JICovCi0JaWYgKGZyX2NoZWNrcCkg
 ewotCQlzdHJ1Y3QJbWJ1ZgkqbTEgPSBtOwotCi0JCWlmICgoKmZyX2NoZWNrcCkoKHN0cnVj
 dCBpcCAqKWlwNiwgc2l6ZW9mKCppcDYpLAotCQkJCSBtLT5tX3BrdGhkci5yY3ZpZiwgMCwg
 Jm0xKSAhPSAwKQotCQkJcmV0dXJuOwotCQltID0gbTE7Ci0JCWlmIChtID09IE5VTEwpCi0J
 CQlyZXR1cm47Ci0JCWlwNiA9IG10b2QobSwgc3RydWN0IGlwNl9oZHIgKik7Ci0JfQorCSAq
 IFJ1biB0aHJvdWdoIGxpc3Qgb2YgaG9va3MgZm9yIGlucHV0IHBhY2tldHMuCisJICoKKwkg
 KiBOQjogQmV3YXJlIG9mIHRoZSBkZXN0aW5hdGlvbiBhZGRyZXNzIGNoYW5naW5nCisJICog
 ICAgIChlLmcuIGJ5IE5BVCByZXdyaXRpbmcpLiBXaGVuIHRoaXMgaGFwcGVucywKKwkgKiAg
 ICAgdGVsbCBpcDZfZm9yd2FyZCB0byBkbyB0aGUgcmlnaHQgdGhpbmcuCisJICovCisJb2Rz
 dCA9IGlwNi0+aXA2X2RzdDsKKwlpZiAocGZpbF9ydW5faG9va3MoJmluZXQ2X3BmaWxfaG9v
 aywgJm0sIG0tPm1fcGt0aGRyLnJjdmlmLCBQRklMX0lOKSkKKwkJcmV0dXJuOworCWlmICht
 ID09IE5VTEwpCQkJLyogY29uc3VtZWQgYnkgZmlsdGVyICovCisJCXJldHVybjsKKwlpcDYg
 PSBtdG9kKG0sIHN0cnVjdCBpcDZfaGRyICopOworCXNyY3J0ID0gIUlONl9BUkVfQUREUl9F
 UVVBTCgmb2RzdCwgJmlwNi0+aXA2X2RzdCk7CisjZW5kaWYgLyogUEZJTF9IT09LUyAqLwog
 CiAJaXA2c3RhdC5pcDZzX254dGhpc3RbaXA2LT5pcDZfbnh0XSsrOwogCkBAIC03NDQsNyAr
 NzY0LDcgQEAKIAkJCXJldHVybjsKIAkJfQogCX0gZWxzZSBpZiAoIW91cnMpIHsKLQkJaXA2
 X2ZvcndhcmQobSwgMCk7CisJCWlwNl9mb3J3YXJkKG0sIHNyY3J0KTsKIAkJcmV0dXJuOwog
 CX0JCiAKSW5kZXg6IG5ldGluZXQ2L2lwNl9vdXRwdXQuYwo9PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
 aWxlOiAvaG9tZS9kY3ZzL3NyYy9zeXMvbmV0aW5ldDYvaXA2X291dHB1dC5jLHYKcmV0cmll
 dmluZyByZXZpc2lvbiAxLjgKZGlmZiAtdSAtcjEuOCBpcDZfb3V0cHV0LmMKLS0tIG5ldGlu
 ZXQ2L2lwNl9vdXRwdXQuYwkyMyBBdWcgMjAwMyAxMTowMjo0NSAtMDAwMAkxLjgKKysrIG5l
 dGluZXQ2L2lwNl9vdXRwdXQuYwkxNSBOb3YgMjAwMyAwNTo0ODo0NSAtMDAwMApAQCAtNzAs
 NiArNzAsNyBAQAogI2luY2x1ZGUgIm9wdF9pbmV0LmgiCiAjaW5jbHVkZSAib3B0X2luZXQ2
 LmgiCiAjaW5jbHVkZSAib3B0X2lwc2VjLmgiCisjaW5jbHVkZSAib3B0X3BmaWxfaG9va3Mu
 aCIKIAogI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgogI2luY2x1ZGUgPHN5cy9tYWxsb2MuaD4K
 QEAgLTg0LDYgKzg1LDkgQEAKIAogI2luY2x1ZGUgPG5ldC9pZi5oPgogI2luY2x1ZGUgPG5l
 dC9yb3V0ZS5oPgorI2lmZGVmIFBGSUxfSE9PS1MKKyNpbmNsdWRlIDxuZXQvcGZpbC5oPgor
 I2VuZGlmCiAKICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CiAjaW5jbHVkZSA8bmV0aW5ldC9p
 bl92YXIuaD4KQEAgLTExMiw5ICsxMTYsNiBAQAogCiAjaW5jbHVkZSA8bmV0L25ldF9vc2Rl
 cC5oPgogCi1zdHJ1Y3QgaXA7Ci1leHRlcm4gaW50ICgqZnJfY2hlY2twKSAoc3RydWN0IGlw
 ICosIGludCwgc3RydWN0IGlmbmV0ICosIGludCwgc3RydWN0IG1idWYgKiopOwotCiBzdGF0
 aWMgTUFMTE9DX0RFRklORShNX0lQTU9QVFMsICJpcDZfbW9wdGlvbnMiLCAiaW50ZXJuZXQg
 bXVsdGljYXN0IG9wdGlvbnMiKTsKIAogc3RydWN0IGlwNl9leHRoZHJzIHsKQEAgLTkyMSwy
 MSArOTIyLDE1IEBACiAJCW0tPm1fcGt0aGRyLnJjdmlmID0gTlVMTDsKIAl9CiAKKyNpZmRl
 ZiBQRklMX0hPT0tTCiAJLyoKLQkgKiBDaGVjayBpZiB3ZSB3YW50IHRvIGFsbG93IHRoaXMg
 cGFja2V0IHRvIGJlIHByb2Nlc3NlZC4KLQkgKiBDb25zaWRlciBpdCB0byBiZSBiYWQgaWYg
 bm90LgorCSAqIFJ1biB0aHJvdWdoIGxpc3Qgb2YgaG9va3MgZm9yIG91dHB1dCBwYWNrZXRz
 LgogCSAqLwotCWlmIChmcl9jaGVja3ApIHsKLQkJc3RydWN0CW1idWYJKm0xID0gbTsKLQot
 CQlpZiAoKCpmcl9jaGVja3ApKChzdHJ1Y3QgaXAgKilpcDYsIHNpemVvZigqaXA2KSwgaWZw
 LCAxLCAmbTEpKQotCQkJZ290byBkb25lOwotCQltID0gbTE7Ci0JCWlmIChtID09IE5VTEwp
 Ci0JCQlnb3RvIGRvbmU7Ci0JCWlwNiA9IG10b2QobSwgc3RydWN0IGlwNl9oZHIgKik7Ci0J
 fQotCisJZXJyb3IgPSBwZmlsX3J1bl9ob29rcygmaW5ldDZfcGZpbF9ob29rLCAmbSwgaWZw
 LCBQRklMX09VVCk7CisJaWYgKGVycm9yICE9IDAgfHwgbSA9PSBOVUxMKQorCQlnb3RvIGRv
 bmU7CisJaXA2ID0gbXRvZChtLCBzdHJ1Y3QgaXA2X2hkciAqKTsKKyNlbmRpZiAvKiBQRklM
 X0hPT0tTICovCiAJLyoKIAkgKiBTZW5kIHRoZSBwYWNrZXQgdG8gdGhlIG91dGdvaW5nIGlu
 dGVyZmFjZS4KIAkgKiBJZiBuZWNlc3NhcnksIGRvIElQdjYgZnJhZ21lbnRhdGlvbiBiZWZv
 cmUgc2VuZGluZy4KSW5kZXg6IG5ldGluZXQ2L2lwNl92YXIuaAo9PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD
 UyBmaWxlOiAvaG9tZS9kY3ZzL3NyYy9zeXMvbmV0aW5ldDYvaXA2X3Zhci5oLHYKcmV0cmll
 dmluZyByZXZpc2lvbiAxLjMKZGlmZiAtdSAtcjEuMyBpcDZfdmFyLmgKLS0tIG5ldGluZXQ2
 L2lwNl92YXIuaAkyMyBBdWcgMjAwMyAxMTowMjo0NSAtMDAwMAkxLjMKKysrIG5ldGluZXQ2
 L2lwNl92YXIuaAkxNSBOb3YgMjAwMyAwNToxODozMCAtMDAwMApAQCAtMjg2LDYgKzI4Niwx
 MCBAQAogCiBleHRlcm4gaW50CWlwNl91c2VfdGVtcGFkZHI7IC8qIHdoZXRoZXIgdG8gdXNl
 IHRlbXBvcmFyeSBhZGRyZXNzZXMuICovCiAKKyNpZmRlZiBQRklMX0hPT0tTCitleHRlcm4g
 c3RydWN0IHBmaWxfaGVhZCBpbmV0Nl9wZmlsX2hvb2s7CisjZW5kaWYKKwogZXh0ZXJuIHN0
 cnVjdAlwcl91c3JyZXFzIHJpcDZfdXNycmVxczsKIHN0cnVjdCBzb2Nrb3B0OwogCg==
 
 ------------BE1361F82C6DB270--
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200311190930.hAJ9UIGV090979>