[8082] in Kerberos
Bug fix: kdc.conf not being read
daemon@ATHENA.MIT.EDU (Christopher Seawood)
Sun Sep 22 03:07:02 1996
Date: Sat, 21 Sep 1996 21:24:11 -0700 (PDT)
From: Christopher Seawood <cseawood@qualcomm.com>
To: kerberos@MIT.EDU
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.
--780214636-1019708541-843366251=:23815
Content-Type: TEXT/PLAIN; charset=US-ASCII
After 8+ hours of debugging (mainly due to slow nfs), I fixed a major
problem with beta7 reading kdc.conf. For some odd reason, my kdc.conf was
not being read properly. I discovered that it wasn't being read at all
when I moved it from the compiled default to /etc.
For those using pine, I've included the patch as an attachment. If you
cannot read it, the patch should also be available @
http://www.qualcomm.com/~cseawood/kerberos/. You can skip the rest of
this, it's just explanations. ;)
kadm5_get_config_params()'s second arguement is the location of
the kdc.conf file. In every call to this function that I saw, this
argument was NULL. This caused kerberos to use the default file, which
(forsome reason) still did not seem as though it was being read (even if
it was there). I made a small function krb5_get_kdc() that would return
the name of the profile specified in /etc/krb5.conf.
Then, krb5kdc broke when kdc.conf specified a database that was in a
non-default location. It turns out that if you do not specify a db name on
the command line, it uses the compile time default. This patch should fix
that problem as well.
With these patches, you do not have to specify -maxlife when adding new
principals (as I had to do before). When I do a kdb_util create -s, the
krbtgt/REALM principal has all of the correct values!
cseawood:~cseawood/System/i586.Linux/krb5/sbin> ./kdb5_util create -s
Initializing database '/usr/local/lib/krb5kdc/principal' for realm
'DAUPHIN',
master key name 'K/M@DAUPHIN'
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key:
Re-enter KDC database master key to verify:
cseawood:~cseawood/System/i586.Linux/krb5/sbin> ./krb5kdc
cseawood:~cseawood/System/i586.Linux/krb5/sbin> ./kadmin.local
kadmin.local: getprinc krbtgt/DAUPHIN
Principal: krbtgt/DAUPHIN@DAUPHIN
Expiration date: [never]
Last password change: [never]
Password expiration date: [none]
Maximum ticket life: 0 days 10:00:00
Maximum renewable life: 7 days 00:00:00
Last modified: Sat Sep 21 21:12:42 PDT 1996 (db_creation@DAUPHIN)
Last successful authentication: [never]
Last failed authentication: [never]
Failed password attempts: 0
Number of keys: 2
Key: vno 1, DES cbc mode with CRC-32, no salt
Key: vno 1, DES cbc mode with RSA-MD5, no salt
Attributes:
Policy: [none]
This diff also contains patches for fixing the __P redefined warnings,
import, export configure problem, and the KADM5_MAX_RLIFE mask not
being included in ALL_PRINC_MASK (mentioned in previous posts).
-----
Chris Seawood <cseawood@qualcomm.com> - Software Engineer / Unix Sysadmin
http://www.qualcomm.com/~cseawood/ - Prince Fanatic / Linux Advocate
Opinions stated are NOT an (un)official representation of QUALCOMM Incorporated
--780214636-1019708541-843366251=:23815
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="krb5b7-cls-960921.cdiff"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.94.960921212411.23815B@cseawood.qualcomm.com>
Content-Description:
ZGlmZiAtcmMga3JiNS1iZXRhNy9zcmMva2FkbWluL2NvbmZpZ3VyZSBrcmI1
LWJldGE3LWNscy9zcmMva2FkbWluL2NvbmZpZ3VyZQ0KKioqIGtyYjUtYmV0
YTcvc3JjL2thZG1pbi9jb25maWd1cmUJV2VkIFNlcCAxMSAwNzozODo1NSAx
OTk2DQotLS0ga3JiNS1iZXRhNy1jbHMvc3JjL2thZG1pbi9jb25maWd1cmUJ
V2VkIFNlcCAxOCAxMDoyNjoyMCAxOTk2DQoqKioqKioqKioqKioqKioNCioq
KiAxMDMwLDEwMzYgKioqKg0KICAjIHNlZCB3aXRoIG5vIGZpbGUgYXJncyBy
ZXF1aXJlcyBhIHByb2dyYW0uDQogIHRlc3QgIiRwcm9ncmFtX3RyYW5zZm9y
bV9uYW1lIiA9ICIiICYmIHByb2dyYW1fdHJhbnNmb3JtX25hbWU9InMseCx4
LCINCiAgIA0KISBzdWJkaXJzPSJleHBvcnQgaW1wb3J0IGNsaSBkYnV0aWwg
cGFzc3dkIGt0dXRpbCBzZXJ2ZXIgdjRzZXJ2ZXIgdjVwYXNzd2RkIg0KICAN
CiAgUkVDVVJTRV9UQVJHRVRTPSJhbGwtdW5peCBjbGVhbi11bml4IGluc3Rh
bGwtdW5peCBjaGVjay11bml4IE1ha2VmaWxlcyINCiAgDQotLS0gMTAzMCwx
MDM2IC0tLS0NCiAgIyBzZWQgd2l0aCBubyBmaWxlIGFyZ3MgcmVxdWlyZXMg
YSBwcm9ncmFtLg0KICB0ZXN0ICIkcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSIg
PSAiIiAmJiBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lPSJzLHgseCwiDQogICAN
CiEgc3ViZGlycz0iY2xpIGRidXRpbCBwYXNzd2Qga3R1dGlsIHNlcnZlciB2
NHNlcnZlciB2NXBhc3N3ZGQiDQogIA0KICBSRUNVUlNFX1RBUkdFVFM9ImFs
bC11bml4IGNsZWFuLXVuaXggaW5zdGFsbC11bml4IGNoZWNrLXVuaXggTWFr
ZWZpbGVzIg0KICANCioqKioqKioqKioqKioqKg0KKioqIDEzNDIsMTM0OCAq
KioqDQogICAgICBlc2FjDQogICAgZG9uZQ0KICANCiEgICBmb3IgYWNfY29u
ZmlnX2RpciBpbiBleHBvcnQgaW1wb3J0IGNsaSBkYnV0aWwgcGFzc3dkIGt0
dXRpbCBzZXJ2ZXIgdjRzZXJ2ZXIgdjVwYXNzd2RkOyBkbw0KICANCiAgICAg
ICMgRG8gbm90IGNvbXBsYWluLCBzbyBhIGNvbmZpZ3VyZSBzY3JpcHQgY2Fu
IGNvbmZpZ3VyZSB3aGljaGV2ZXINCiAgICAgICMgcGFydHMgb2YgYSBsYXJn
ZSBzb3VyY2UgdHJlZSBhcmUgcHJlc2VudC4NCi0tLSAxMzQyLDEzNDggLS0t
LQ0KICAgICAgZXNhYw0KICAgIGRvbmUNCiAgDQohICAgZm9yIGFjX2NvbmZp
Z19kaXIgaW4gY2xpIGRidXRpbCBwYXNzd2Qga3R1dGlsIHNlcnZlciB2NHNl
cnZlciB2NXBhc3N3ZGQ7IGRvDQogIA0KICAgICAgIyBEbyBub3QgY29tcGxh
aW4sIHNvIGEgY29uZmlndXJlIHNjcmlwdCBjYW4gY29uZmlndXJlIHdoaWNo
ZXZlcg0KICAgICAgIyBwYXJ0cyBvZiBhIGxhcmdlIHNvdXJjZSB0cmVlIGFy
ZSBwcmVzZW50Lg0KZGlmZiAtcmMga3JiNS1iZXRhNy9zcmMva2RjL21haW4u
YyBrcmI1LWJldGE3LWNscy9zcmMva2RjL21haW4uYw0KKioqIGtyYjUtYmV0
YTcvc3JjL2tkYy9tYWluLmMJU3VuIEp1biAgOSAyMDoxNjoyMiAxOTk2DQot
LS0ga3JiNS1iZXRhNy1jbHMvc3JjL2tkYy9tYWluLmMJU2F0IFNlcCAyMSAy
MDoxMDowMyAxOTk2DQoqKioqKioqKioqKioqKioNCioqKiA3MjMsNzMzICoq
KioNCiAgICAgIGtkY19yZWFsbV90CQkqcmRhdGFwOw0KICAgICAga3JiNV9i
b29sZWFuCW1hbnVhbCA9IEZBTFNFOw0KICAgICAgY2hhcgkJKmRlZmF1bHRf
cG9ydHMgPSAwOw0KISAgICAga3JiNV9wb2ludGVyCWFwcm9mOw0KISAgICAg
Y29uc3QgY2hhcgkJKmhpZXJhcmNoeVszXTsNCiAgICAgIGV4dGVybiBjaGFy
ICpvcHRhcmc7DQogICAgICBjaGFyCQkqZGJfcHJvZjsNCiEgDQogICAgICB7
DQogICAgICAgIC8qIGhhbmRsZSBrZGMgZmlsZSBjb25maWcgKi8NCiAgICAg
ICAgY29uc3QgY2hhciogY29uZl9uYW1lc1szXTsNCi0tLSA3MjMsNzMzIC0t
LS0NCiAgICAgIGtkY19yZWFsbV90CQkqcmRhdGFwOw0KICAgICAga3JiNV9i
b29sZWFuCW1hbnVhbCA9IEZBTFNFOw0KICAgICAgY2hhcgkJKmRlZmF1bHRf
cG9ydHMgPSAwOw0KISAgICAga3JiNV9wb2ludGVyCWFwcm9mID0gMDsNCiEg
ICAgIGNvbnN0IGNoYXIJCSpoaWVyYXJjaHlbNF07DQogICAgICBleHRlcm4g
Y2hhciAqb3B0YXJnOw0KICAgICAgY2hhcgkJKmRiX3Byb2Y7DQohICAgICBj
aGFyICAgICAgICAJKnN2YWx1ZTsNCiAgICAgIHsNCiAgICAgICAgLyogaGFu
ZGxlIGtkYyBmaWxlIGNvbmZpZyAqLw0KICAgICAgICBjb25zdCBjaGFyKiBj
b25mX25hbWVzWzNdOw0KKioqKioqKioqKioqKioqDQoqKiogNzUwLDc1NiAq
KioqDQogIAloaWVyYXJjaHlbMl0gPSAoY2hhciAqKSBOVUxMOw0KICAJaWYg
KGtyYjVfYXByb2ZfZ2V0X3N0cmluZyhhcHJvZiwgaGllcmFyY2h5LCBUUlVF
LCAmZGVmYXVsdF9wb3J0cykpDQogIAkgICAgZGVmYXVsdF9wb3J0cyA9IDA7
DQotIAlrcmI1X2Fwcm9mX2ZpbmlzaChhcHJvZik7DQogICAgICB9DQogICAg
ICBpZiAoZGVmYXVsdF9wb3J0cyA9PSAwKQ0KICAJZGVmYXVsdF9wb3J0cyA9
IHN0cmR1cChERUZBVUxUX0tEQ19QT1JUTElTVCk7DQotLS0gNzUwLDc1NSAt
LS0tDQoqKioqKioqKioqKioqKioNCioqKiA4MTksODI0ICoqKioNCi0tLSA4
MTgsODM0IC0tLS0NCiAgCQkgICAgIndoaWxlIGF0dGVtcHRpbmcgdG8gcmV0
cmlldmUgZGVmYXVsdCByZWFsbSIpOw0KICAJICAgIGV4aXQoMSk7DQogIAl9
DQorIA0KKyAgICAgICAgIC8qIGdldCB0aGUgZGF0YWJhc2UgZm9yIHRoZSBk
ZWZhdWx0IHJlYWxtICovDQorICAgICAgICAgaWYgKGFwcm9mKSB7DQorICAg
ICAgICAgICAgaGllcmFyY2h5WzBdID0gInJlYWxtcyI7DQorICAgICAgICAg
ICAgaGllcmFyY2h5WzFdID0gbHJlYWxtOw0KKyAgICAgICAgICAgIGhpZXJh
cmNoeVsyXSA9ICJkYXRhYmFzZV9uYW1lIjsNCisgICAgICAgICAgICBoaWVy
YXJjaHlbM10gPSAoY2hhciAqKSBOVUxMOw0KKyAgICAgICAgICAgIGlmICgh
a3JiNV9hcHJvZl9nZXRfc3RyaW5nKGFwcm9mLCBoaWVyYXJjaHksIFRSVUUs
ICZzdmFsdWUpKQ0KKyAgICAgICAgICAgICAgIGRiX25hbWUgPSBzdmFsdWU7
DQorICAgICAgICAgfQ0KKyANCiAgCWlmICgocmRhdGFwID0gKGtkY19yZWFs
bV90ICopIG1hbGxvYyhzaXplb2Yoa2RjX3JlYWxtX3QpKSkpIHsNCiAgCSAg
ICBpZiAoKHJldHZhbCA9IGluaXRfcmVhbG0oYXJndlswXSwgcmRhdGFwLCBs
cmVhbG0sIGRiX25hbWUsDQogIAkJCQkgICAgIG1rZXlfbmFtZSwgbWVuY3R5
cGUsIGRlZmF1bHRfcG9ydHMsDQoqKioqKioqKioqKioqKioNCioqKiA4NDUs
ODUwICoqKioNCi0tLSA4NTUsODYxIC0tLS0NCiAgICAgIGlmIChkZWZhdWx0
X3BvcnRzKQ0KICAJZnJlZShkZWZhdWx0X3BvcnRzKTsNCiAgDQorICAgICBr
cmI1X2Fwcm9mX2ZpbmlzaChhcHJvZik7DQogICAgICBmcmVlKGRiX3Byb2Yp
Ow0KICAgICAgcmV0dXJuOw0KICB9DQpkaWZmIC1yYyBrcmI1LWJldGE3L3Ny
Yy9saWIva2FkbTUvYWx0X3Byb2YuYyBrcmI1LWJldGE3LWNscy9zcmMvbGli
L2thZG01L2FsdF9wcm9mLmMNCioqKiBrcmI1LWJldGE3L3NyYy9saWIva2Fk
bTUvYWx0X3Byb2YuYwlUdWUgU2VwIDEwIDE4OjE1OjU3IDE5OTYNCi0tLSBr
cmI1LWJldGE3LWNscy9zcmMvbGliL2thZG01L2FsdF9wcm9mLmMJU2F0IFNl
cCAyMSAxOTowNzo0NSAxOTk2DQoqKioqKioqKioqKioqKioNCioqKiAzMTQs
MzE5ICoqKioNCi0tLSAzMTQsMzIyIC0tLS0NCiAgCSAgKiB3cmFwcGVyIGZ1
bmN0aW9uIGluIGVhY2ggbGlicmFyeSB0aGF0IHByb3ZpZGVzIGNvcnJlY3QN
CiAgCSAgKiBkZWZhdWx0cyBmb3IgTlVMTCB2YWx1ZXMuDQogIAkgICovDQor
ICAgICAgICBpZiAoa2RjcHJvZmlsZSA9PSBOVUxMKXsNCisgICAgICAgICAg
IGtkY3Byb2ZpbGUgPSBrcmI1X2dldF9rZGMoY29udGV4dCk7DQorICAgICAg
ICB9DQogIAkgZmlsZW5hbWUgPSAoa2RjcHJvZmlsZSkgPyBrZGNwcm9maWxl
IDogREVGQVVMVF9LRENfUFJPRklMRTsNCiAgCSBlbnZuYW1lID0gKGtkY2Vu
dikgPyBrZGNlbnYgOiBLRENfUFJPRklMRV9FTlY7DQogIAkgaWYgKGNvbnRl
eHQtPnByb2ZpbGVfc2VjdXJlID09IFRSVUUpIGVudm5hbWUgPSAwOw0KKioq
KioqKioqKioqKioqDQoqKiogNzI4LDczMyAqKioqDQotLS0gNzMxLDczOSAt
LS0tDQogIA0KICAgICAga3JiNV9lcnJvcl9jb2RlCWtyZXQ7DQogIA0KKyAg
ICAgaWYgKGtkY3Byb2ZpbGUgPT0gTlVMTCl7DQorICAgICAgICBrZGNwcm9m
aWxlID0ga3JiNV9nZXRfa2RjKGtjb250ZXh0KTsNCisgICAgIH0NCiAgICAg
IGZpbGVuYW1lID0gKGtkY3Byb2ZpbGUpID8ga2RjcHJvZmlsZSA6IERFRkFV
TFRfS0RDX1BST0ZJTEU7DQogICAgICBlbnZuYW1lID0gKGtkY2VudikgPyBr
ZGNlbnYgOiBLRENfUFJPRklMRV9FTlY7DQogIA0KZGlmZiAtcmMga3JiNS1i
ZXRhNy9zcmMvbGliL2thZG01L3NlcnZlcl9pbnRlcm5hbC5oIGtyYjUtYmV0
YTctY2xzL3NyYy9saWIva2FkbTUvc2VydmVyX2ludGVybmFsLmgNCioqKiBr
cmI1LWJldGE3L3NyYy9saWIva2FkbTUvc2VydmVyX2ludGVybmFsLmgJTW9u
IEp1bCAyMiAxMzozNjoyNyAxOTk2DQotLS0ga3JiNS1iZXRhNy1jbHMvc3Jj
L2xpYi9rYWRtNS9zZXJ2ZXJfaW50ZXJuYWwuaAlXZWQgU2VwIDE4IDEwOjEx
OjU5IDE5OTYNCioqKioqKioqKioqKioqKg0KKioqIDc4LDg0ICoqKioNCiAg
I2RlZmluZQlBTExfUFJJTkNfTUFTSyAoS0FETTVfUFJJTkNJUEFMIHwgS0FE
TTVfUFJJTkNfRVhQSVJFX1RJTUUgfCBLQURNNV9QV19FWFBJUkFUSU9OIHwg
XA0KICAJCQlLQURNNV9MQVNUX1BXRF9DSEFOR0UgfCBLQURNNV9BVFRSSUJV
VEVTIHwgS0FETTVfTUFYX0xJRkUgfCBcDQogIAkJCUtBRE01X01PRF9USU1F
IHwgS0FETTVfTU9EX05BTUUgfCBLQURNNV9LVk5PIHwgS0FETTVfTUtWTk8g
fCBcDQohIAkJCUtBRE01X0FVWF9BVFRSSUJVVEVTIHwgS0FETTVfUE9MSUNZ
X0NMUiB8IEtBRE01X1BPTElDWSkNCiAgDQogICNkZWZpbmUgQUxMX1BPTElD
WV9NQVNLIChLQURNNV9QT0xJQ1kgfCBLQURNNV9QV19NQVhfTElGRSB8IEtB
RE01X1BXX01JTl9MSUZFIHwgXA0KICAJCQkgS0FETTVfUFdfTUlOX0xFTkdU
SCB8IEtBRE01X1BXX01JTl9DTEFTU0VTIHwgS0FETTVfUFdfSElTVE9SWV9O
VU0gfCBcDQotLS0gNzgsODQgLS0tLQ0KICAjZGVmaW5lCUFMTF9QUklOQ19N
QVNLIChLQURNNV9QUklOQ0lQQUwgfCBLQURNNV9QUklOQ19FWFBJUkVfVElN
RSB8IEtBRE01X1BXX0VYUElSQVRJT04gfCBcDQogIAkJCUtBRE01X0xBU1Rf
UFdEX0NIQU5HRSB8IEtBRE01X0FUVFJJQlVURVMgfCBLQURNNV9NQVhfTElG
RSB8IFwNCiAgCQkJS0FETTVfTU9EX1RJTUUgfCBLQURNNV9NT0RfTkFNRSB8
IEtBRE01X0tWTk8gfCBLQURNNV9NS1ZOTyB8IFwNCiEgCQkJS0FETTVfQVVY
X0FUVFJJQlVURVMgfCBLQURNNV9QT0xJQ1lfQ0xSIHwgS0FETTVfUE9MSUNZ
IHwgS0FETTVfTUFYX1JMSUZFICkNCiAgDQogICNkZWZpbmUgQUxMX1BPTElD
WV9NQVNLIChLQURNNV9QT0xJQ1kgfCBLQURNNV9QV19NQVhfTElGRSB8IEtB
RE01X1BXX01JTl9MSUZFIHwgXA0KICAJCQkgS0FETTVfUFdfTUlOX0xFTkdU
SCB8IEtBRE01X1BXX01JTl9DTEFTU0VTIHwgS0FETTVfUFdfSElTVE9SWV9O
VU0gfCBcDQpkaWZmIC1yYyBrcmI1LWJldGE3L3NyYy9saWIva3JiNS9rcmIv
aW5pdF9jdHguYyBrcmI1LWJldGE3LWNscy9zcmMvbGliL2tyYjUva3JiL2lu
aXRfY3R4LmMNCioqKiBrcmI1LWJldGE3L3NyYy9saWIva3JiNS9rcmIvaW5p
dF9jdHguYwlXZWQgSnVsIDEwIDE3OjMyOjEyIDE5OTYNCi0tLSBrcmI1LWJl
dGE3LWNscy9zcmMvbGliL2tyYjUva3JiL2luaXRfY3R4LmMJU2F0IFNlcCAy
MSAxNzowNzo1NiAxOTk2DQoqKioqKioqKioqKioqKioNCioqKiAxMzEsMTM2
ICoqKioNCi0tLSAxMzEsMTU2IC0tLS0NCiAgCXJldHVybiByZXR2YWw7DQog
IH0NCiAgDQorIC8qIEEga2x1ZGdlIHRvIHJlYWQgdGhlIGtkYy5jb25mIHNw
ZWNpZmllZCBpbiB0aGUgREVGQVVMVF9QUk9GSUxFX1BBVEgNCisgICogOTYv
MDkvMjEgLS0gY2xzDQorICAqLw0KKyAgDQorIGNoYXIgKiBJTlRFUkZBQ0UN
Cisga3JiNV9nZXRfa2RjKGNvbnRleHQpDQorICAgICAgICAga3JiNV9jb250
ZXh0IGNvbnRleHQ7DQorIHsNCisgICAgICAgICBrcmI1X2Vycm9yX2NvZGUg
cmV0dmFsOw0KKyAgICAgICAgIGNoYXIgKmJsYWg7DQorIA0KKyAJaWYgKHBy
b2ZpbGVfZ2V0X3N0cmluZyhjb250ZXh0LT5wcm9maWxlLCAia2RjIiwgInBy
b2ZpbGUiLCBOVUxMLA0KKyAJCQkJCURFRkFVTFRfS0RDX1BST0ZJTEUsICZi
bGFoKSAhPSAwKQ0KKyAgICAgICAgIHsNCisgICAgICAgICAgICByZXR1cm4g
TlVMTDsNCisgICAgICAgICB9IGVsc2Ugew0KKyAgICAgICAgICAgIHJldHVy
biBibGFoOw0KKyAgICAgICAgIH07DQorIH0NCisgIA0KICB2b2lkDQogIGty
YjVfZnJlZV9jb250ZXh0KGN0eCkNCiAgCWtyYjVfY29udGV4dAljdHg7DQpk
aWZmIC1yYyBrcmI1LWJldGE3L3NyYy91dGlsL2RiMi9pbmNsdWRlL2RiLmgg
a3JiNS1iZXRhNy1jbHMvc3JjL3V0aWwvZGIyL2luY2x1ZGUvZGIuaA0KKioq
IGtyYjUtYmV0YTcvc3JjL3V0aWwvZGIyL2luY2x1ZGUvZGIuaAlGcmkgU2Vw
ICA2IDE1OjI0OjUxIDE5OTYNCi0tLSBrcmI1LWJldGE3LWNscy9zcmMvdXRp
bC9kYjIvaW5jbHVkZS9kYi5oCVdlZCBTZXAgMTggMTA6NDg6MTEgMTk5Ng0K
KioqKioqKioqKioqKioqDQoqKiogODksMTAxICoqKioNCiAgI2VuZGlmDQog
IA0KICAvKiBkZWFsIHdpdGggdHVybmluZyBwcm90b3R5cGVzIG9uIGFuZCBv
ZmYgKi8NCiEgDQogICNpZiBkZWZpbmVkKF9fU1REQ19fKSB8fCBkZWZpbmVk
KF9fY3BsdXNwbHVzKQ0KICAjZGVmaW5lCV9fUChwcm90b3MpCXByb3RvcwkJ
LyogZnVsbC1ibG93biBBTlNJIEMgKi8NCiAgI2Vsc2UJLyogIShfX1NURENf
XyB8fCBfX2NwbHVzcGx1cykgKi8NCiAgI2RlZmluZQlfX1AocHJvdG9zKQko
KQkJLyogdHJhZGl0aW9uYWwgQyBwcmVwcm9jZXNzb3IgKi8NCiAgI2VuZGlm
DQohIA0KICAvKiBBY2Nlc3MgbWV0aG9kIGRlc2NyaXB0aW9uIHN0cnVjdHVy
ZS4gKi8NCiAgdHlwZWRlZiBzdHJ1Y3QgX19kYiB7DQogIAlEQlRZUEUgdHlw
ZTsJCQkvKiBVbmRlcmx5aW5nIGRiIHR5cGUuICovDQotLS0gODksMTAxIC0t
LS0NCiAgI2VuZGlmDQogIA0KICAvKiBkZWFsIHdpdGggdHVybmluZyBwcm90
b3R5cGVzIG9uIGFuZCBvZmYgKi8NCiEgI2lmbmRlZiBfX1ANCiAgI2lmIGRl
ZmluZWQoX19TVERDX18pIHx8IGRlZmluZWQoX19jcGx1c3BsdXMpDQogICNk
ZWZpbmUJX19QKHByb3RvcykJcHJvdG9zCQkvKiBmdWxsLWJsb3duIEFOU0kg
QyAqLw0KICAjZWxzZQkvKiAhKF9fU1REQ19fIHx8IF9fY3BsdXNwbHVzKSAq
Lw0KICAjZGVmaW5lCV9fUChwcm90b3MpCSgpCQkvKiB0cmFkaXRpb25hbCBD
IHByZXByb2Nlc3NvciAqLw0KICAjZW5kaWYNCiEgI2VuZGlmDQogIC8qIEFj
Y2VzcyBtZXRob2QgZGVzY3JpcHRpb24gc3RydWN0dXJlLiAqLw0KICB0eXBl
ZGVmIHN0cnVjdCBfX2RiIHsNCiAgCURCVFlQRSB0eXBlOwkJCS8qIFVuZGVy
bHlpbmcgZGIgdHlwZS4gKi8NCg==
--780214636-1019708541-843366251=:23815--