[OpenAFS] token and linux "access key retention"?

Mike Coyne Mike.Coyne@PACCAR.com
Wed, 27 May 2009 10:53:42 -0500


This is a multi-part message in MIME format.

------_=_NextPart_001_01C9DEE3.501C799B
Content-Type: text/plain;
 charset=us-ascii
Content-Transfer-Encoding: quoted-printable

I have had similar issues getting ssh to work , although I may have done
this the hard way. I took part of nsca's gsi_openssh patch and
backported to
Openssh then added a option  to use lsetpag in libsys.a rather than the
hidmal krbafs lib see attached . This was so I could get a token and
access my home directory in afs via passthrough gssapi authentication
,configureing  --with-afs-krb5=3D/usr/bin/aklog
--with-afs-libsys=3D/usr/lib64/afs/libsys.a  to get around some of the =
pam
problems with hpc programs . =20

-----Original Message-----
From: openafs-info-admin@openafs.org
[mailto:openafs-info-admin@openafs.org] On Behalf Of Harald Barth
Sent: Wednesday, May 27, 2009 8:39 AM
To: ahi@itp.tugraz.at
Cc: openafs-info@openafs.org
Subject: Re: [OpenAFS] token and linux "access key retention"?


>       When I log in I get Kerberos TGT and an AFS ticket, but no token
>       (should be provided by pam). Aklog works, afterward I get tokens
in all
>       other SSH sessions. "unlog" in on session destroys all ather
tokens.

Looks like you have started sshd in a pag and you don't "get out". Try
starting
without pag. I have the following in my /etc/init.d/sshd

-       echo -n $"Starting $prog: "
-       $SSHD $OPTIONS && success || failure
+       if keyctl show | egrep '_uid_ses.0$' > /dev/null ; then
+           echo -n $"Starting $prog: "
+           $SSHD $OPTIONS && success || failure
+       else
+           echo -n Refusing to start outside UID pag:
+           false || failure

>       On other computers of the same kind everything works as
expected.=20

Probably started sshd at boot and not from a logged in session.

What about:

/etc/init.d/sshd stop
## Let it die

## Use at (assumes atd is outside pag) to start sshd
at now /etc/init.d/sshd start

Harald.
_______________________________________________
OpenAFS-info mailing list
OpenAFS-info@openafs.org
https://lists.openafs.org/mailman/listinfo/openafs-info


------_=_NextPart_001_01C9DEE3.501C799B
Content-Type: application/octet-stream;
 name=sshkrb5_afs.patch
Content-Transfer-Encoding: base64
Content-Description: sshkrb5_afs.patch
Content-Disposition: attachment;
 filename=sshkrb5_afs.patch

ZGlmZiAtYyBvcGVuc3NoLTUuMXAxX2NsZWFuL2F1dGguaCBvcGVuc3NoLTUuMnAxX3JoL2F1dGgu
aAoqKiogb3BlbnNzaC01LjFwMV9jbGVhbi9hdXRoLmgJMjAwOS0wNS0yNyAwODowNzoxNC4wMDAw
MDAwMDAgLTA1MDAKLS0tIG9wZW5zc2gtNS4ycDFfcmgvYXV0aC5oCTIwMDktMDUtMjcgMDk6MTc6
MzEuMDAwMDAwMDAwIC0wNTAwCioqKioqKioqKioqKioqKgoqKiogNDEsNDYgKioqKgotLS0gNDEs
NTEgLS0tLQogICNpZmRlZiBLUkI1CiAgI2luY2x1ZGUgPGtyYjUuaD4KICAjZW5kaWYKKyAjaWZu
ZGVmIEFGU19HU0kKKyAjaWZkZWYgQUZTX0tSQjUKKyAjaW5jbHVkZSA8a3JiYWZzLmg+CisgI2Vu
ZGlmCisgI2VuZGlmCiAgCiAgdHlwZWRlZiBzdHJ1Y3QgQXV0aGN0eHQgQXV0aGN0eHQ7CiAgdHlw
ZWRlZiBzdHJ1Y3QgQXV0aG1ldGhvZCBBdXRobWV0aG9kOwpkaWZmIC1jIG9wZW5zc2gtNS4xcDFf
Y2xlYW4vY29uZmlnLmguaW4gb3BlbnNzaC01LjJwMV9yaC9jb25maWcuaC5pbgoqKiogb3BlbnNz
aC01LjFwMV9jbGVhbi9jb25maWcuaC5pbgkyMDA5LTA1LTI3IDA4OjA3OjE4LjAwMDAwMDAwMCAt
MDUwMAotLS0gb3BlbnNzaC01LjJwMV9yaC9jb25maWcuaC5pbgkyMDA5LTA1LTI3IDA5OjE3OjMx
LjAwMDAwMDAwMCAtMDUwMAoqKioqKioqKioqKioqKioKKioqIDEsNSAqKioqCi0tLSAxLDExIC0t
LS0KICAvKiBjb25maWcuaC5pbi4gIEdlbmVyYXRlZCBmcm9tIGNvbmZpZ3VyZS5hYyBieSBhdXRv
aGVhZGVyLiAgKi8KICAKKyAvKkRlZmluZSB0aGlzIGlmIHlvdSB3YW50IHRvIHVzZSBBRlMgb3B0
aW9uLCB3aGljaCBydW5zIGFrbG9nIHdpdGggYWZzIGxpYnN5cyovCisgI3VuZGVmIEFGU19HU0kK
KyAgCisgLyogRGVmaW5lIHRoaXMgaWYgeW91IHdhbnQgdG8gdXNlIEFGUy9LZXJiZXJvcyA1IG9w
dGlvbiwgd2hpY2ggcnVucyBha2xvZy4gKi8KKyAjdW5kZWYgQUZTX0tSQjUKKyAKICAvKiBEZWZp
bmUgaWYgeW91IGhhdmUgYSBnZXRhZGRyaW5mbyB0aGF0IGZhaWxzIGZvciB0aGUgYWxsLXplcm9z
IElQdjYgYWRkcmVzcwogICAgICovCiAgI3VuZGVmIEFJWF9HRVROQU1FSU5GT19IQUNLCioqKioq
KioqKioqKioqKgoqKiogNywxMiAqKioqCi0tLSAxMywyMSAtLS0tCiAgLyogRGVmaW5lIGlmIHlv
dXIgQUlYIGxvZ2luZmFpbGVkKCkgZnVuY3Rpb24gdGFrZXMgNCBhcmd1bWVudHMgKEFJWCA+PSA1
LjIpICovCiAgI3VuZGVmIEFJWF9MT0dJTkZBSUxFRF80QVJHCiAgCisgLyogRGVmaW5lIHRoaXMg
aWYgeW91IHdhbnQgdG8gdXNlIEFGUy9LZXJiZXJvcyA1IG9wdGlvbiwgd2hpY2ggcnVucyBha2xv
Zy4gKi8KKyAjdW5kZWYgQUtMT0dfUEFUSAorIAogIC8qIFN5c3RlbSBvbmx5IHN1cHBvcnRzIElQ
djQgYXVkaXQgcmVjb3JkcyAqLwogICN1bmRlZiBBVV9JUHY0CiAgCmRpZmYgLWMgb3BlbnNzaC01
LjFwMV9jbGVhbi9jb25maWd1cmUuYWMgb3BlbnNzaC01LjJwMV9yaC9jb25maWd1cmUuYWMKKioq
IG9wZW5zc2gtNS4xcDFfY2xlYW4vY29uZmlndXJlLmFjCTIwMDktMDUtMjcgMDg6MDc6MTQuMDAw
MDAwMDAwIC0wNTAwCi0tLSBvcGVuc3NoLTUuMnAxX3JoL2NvbmZpZ3VyZS5hYwkyMDA5LTA1LTI3
IDA5OjE3OjMxLjAwMDAwMDAwMCAtMDUwMAoqKioqKioqKioqKioqKioKKioqIDM0NDksMzQ1NCAq
KioqCi0tLSAzNDQ5LDM1MTYgLS0tLQogIAlmaQogIAldCiAgKQorIEFGU19MSUJQQVRIPSIiCisg
QUNfQVJHX1dJVEgoYWZzLWxpYnN5cywKKyAJWyAgLS13aXRoLWFmcy1saWJzeXNbWz1BRlNMSUJT
WVNfUEFUSF1dICBFbmFibGUgbHNldHBhZyAgdG8gZ2V0IHRva2VuIChkZWZhdWx0PS91c3IvbGli
NjQvYWZzL2xpYnN5cy5hKS5dLAorIAlbCisgCQlpZiB0ZXN0ICJ4JHdpdGh2YWwiICE9ICJ4bm8i
IDsgdGhlbgorICAJCQlpZiB0ZXN0ICJ4JHdpdGh2YWwiICE9ICJ4eWVzIiA7IHRoZW4KKyAgCQkJ
CUFDX0RFRklORV9VTlFVT1RFRChBRlNMSUJTWVNfUEFUSCwgIiR3aXRodmFsIiwKKyAgCQkJCQlb
RGVmaW5lIHRoaXMgaWYgeW91IHdhbnQgdG8gdXNlIEFGUyBvcHRpb24sIHdoaWNoIHJ1bnMgZ3Nz
a2xvZy5dKQorICAJCQkJQUZTX0xJQlBBVEg9JHdpdGh2YWwKKyAgCQkJZWxzZQorICAJCQkJQUNf
REVGSU5FX1VOUVVPVEVEKEFGU0xJQlNZU19QQVRILAorICAJCQkJCSIvdXNyL2xpYjY0L2Fmcy9s
aWJzeXMuYSIsCisgIAkJCQkJW0RlZmluZSB0aGlzIGlmIHlvdSB3YW50IHRvIHVzZSBBRlMgb3B0
aW9uLCB3aGljaCBydW5zIGdzc2tsb2cuXSkKKyAgCQkJCUFGU19MSUJQQVRIPS91c3IvbGliNjQv
YWZzL2xpYnN5cy5hCisgIAkJCWZpCisgIAorICAJCQlMSUJTPSIkQUZTX0xJQlBBVEggICRMSUJT
IgorICAJCQlBQ19ERUZJTkUoQUZTX0dTSSwgMSwKKyAgCQkJCVtEZWZpbmUgdGhpcyBpZiB5b3Ug
d2FudCB0byB1c2UgQUZTIG9wdGlvbiwgd2hpY2ggcnVucyBnc3NrbG9nLl0pCisgIAkJZmkKKyAJ
XQorICkKKyAKKyAKKyAjIENoZWNrIHdoZXRoZXIgdXNlciB3YW50cyBBRlNfS1JCNSBzdXBwb3J0
CisgQUZTX0tSQjVfTVNHPSJubyIKKyBBQ19BUkdfV0lUSChhZnMta3JiNSwKKyAJWyAgLS13aXRo
LWFmcy1rcmI1W1s9QUtMT0dfUEFUSF1dICBFbmFibGUgYWtsb2cgdG8gZ2V0IHRva2VuIChkZWZh
dWx0PS91c3IvYmluL2FrbG9nKS5dLAorIAlbCisgCQlpZiB0ZXN0ICJ4JHdpdGh2YWwiICE9ICJ4
bm8iIDsgdGhlbgorIAorIAkJCWlmIHRlc3QgIngkd2l0aHZhbCIgIT0gInh5ZXMiIDsgdGhlbgor
IAkJCQlBQ19ERUZJTkVfVU5RVU9URUQoQUtMT0dfUEFUSCwgIiR3aXRodmFsIiwKKyAJCQkJCVtE
ZWZpbmUgdGhpcyBpZiB5b3Ugd2FudCB0byB1c2UgQUZTL0tlcmJlcm9zIDUgb3B0aW9uLCB3aGlj
aCBydW5zIGFrbG9nLl0pCisgCQkJZWxzZQorIAkJCQlBQ19ERUZJTkVfVU5RVU9URUQoQUtMT0df
UEFUSCwKKyAJCQkJCSIvdXNyL2Jpbi9ha2xvZyIsCisgCQkJCQlbRGVmaW5lIHRoaXMgaWYgeW91
IHdhbnQgdG8gdXNlIEFGUy9LZXJiZXJvcyA1IG9wdGlvbiwgd2hpY2ggcnVucyBha2xvZy5dKQor
IAkJCWZpCisgCisgCQkJaWYgdGVzdCAteiAiJEtSQjVST09UIiA7IHRoZW4KKyAJCQkJQUNfTVNH
X1dBUk4oW0FGU19LUkI1IHJlcXVpcmVzIEtlcmJlcm9zIDUgc3VwcG9ydCwgYnVpbGQgbWF5IGZh
aWxdKQorIAkJCWZpCisgCQkJCisgCQkJaWYgdGVzdCAteiAiJEFGU19MSUJQQVRIIiA7IHRoZW4K
KyAJCQkgTElCUz0iLWxrcmJhZnMgLWxrcmI0ICAkTElCUyIKKyAJCQlmaQorIAkJCSBpZiB0ZXN0
ICEgLXogIiRBRlNfTElCUyIgOyB0aGVuCisgCQkJIAlMSUJTPSIkTElCUyAkQUZTX0xJQlMiCisg
CQkJIGZpCisgCisgCQkJQUNfREVGSU5FKEFGU19LUkI1LCAxLAorIAkJCQlbRGVmaW5lIHRoaXMg
aWYgeW91IHdhbnQgdG8gdXNlIEFGUy9LZXJiZXJvcyA1IG9wdGlvbiwgd2hpY2ggcnVucyBha2xv
Zy5dKQorIAkJCUFGU19LUkI1X01TRz0ieWVzIgorIAkJZmkKKyAJXQorICkKKyAKKyBBQ19BUkdf
V0lUSChzZXNzaW9uLWhvb2tzLAorICAgICAgICAgWyAgLS13aXRoLXNlc3Npb24taG9va3MgICAg
RW5hYmxlIGhvb2tzIGZvciBleGVjdXRpbmcgZXh0ZXJuYWwgY29tbWFuZHMgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUvYWZ0ZXIgYSBzZXNzaW9uXSwKKyAgICAg
ICAgIFsgQUNfREVGSU5FKFNFU1NJT05fSE9PS1MsIDEsIFtEZWZpbmUgdGhpcyBpZiB5b3Ugd2Fu
dCBzdXBwb3J0IGZvciBzdGFydHVwL3NodXRkb3duIGhvb2tzXSkgXQorICkKICAKICAjIExvb2tp
bmcgZm9yIHByb2dyYW1zLCBwYXRocyBhbmQgZmlsZXMKICAKZGlmZiAtYyBvcGVuc3NoLTUuMXAx
X2NsZWFuL3Nlc3Npb24uYyBvcGVuc3NoLTUuMnAxX3JoL3Nlc3Npb24uYwoqKiogb3BlbnNzaC01
LjFwMV9jbGVhbi9zZXNzaW9uLmMJMjAwOS0wNS0yNyAwODowNzoxNC4wMDAwMDAwMDAgLTA1MDAK
LS0tIG9wZW5zc2gtNS4ycDFfcmgvc2Vzc2lvbi5jCTIwMDktMDUtMjcgMDk6MTc6MzEuMDAwMDAw
MDAwIC0wNTAwCioqKioqKioqKioqKioqKgoqKiogMTQyMCwxNDI2ICoqKioKICAJCQltZW1jcHko
Y29tcG9uZW50LCBwYXRoLCBjcCAtIHBhdGgpOwogIAkJCWNvbXBvbmVudFtjcCAtIHBhdGhdID0g
J1wwJzsKICAJCX0KISAJCiAgCQlkZWJ1ZzMoIiVzOiBjaGVja2luZyAnJXMnIiwgX19mdW5jX18s
IGNvbXBvbmVudCk7CiAgCiAgCQlpZiAoc3RhdChjb21wb25lbnQsICZzdCkgIT0gMCkKLS0tIDE0
MjAsMTQyNiAtLS0tCiAgCQkJbWVtY3B5KGNvbXBvbmVudCwgcGF0aCwgY3AgLSBwYXRoKTsKICAJ
CQljb21wb25lbnRbY3AgLSBwYXRoXSA9ICdcMCc7CiAgCQl9CiEgCiAgCQlkZWJ1ZzMoIiVzOiBj
aGVja2luZyAnJXMnIiwgX19mdW5jX18sIGNvbXBvbmVudCk7CiAgCiAgCQlpZiAoc3RhdChjb21w
b25lbnQsICZzdCkgIT0gMCkKKioqKioqKioqKioqKioqCioqKiAxNDI4LDE0MzQgKioqKgogIAkJ
CSAgICBjb21wb25lbnQsIHN0cmVycm9yKGVycm5vKSk7CiAgCQlpZiAoc3Quc3RfdWlkICE9IDAg
fHwgKHN0LnN0X21vZGUgJiAwMjIpICE9IDApCiAgCQkJZmF0YWwoImJhZCBvd25lcnNoaXAgb3Ig
bW9kZXMgZm9yIGNocm9vdCAiCiEgCQkJICAgICJkaXJlY3RvcnkgJXNcIiVzXCIiLCAKICAJCQkg
ICAgY3AgPT0gTlVMTCA/ICIiIDogImNvbXBvbmVudCAiLCBjb21wb25lbnQpOwogIAkJaWYgKCFT
X0lTRElSKHN0LnN0X21vZGUpKQogIAkJCWZhdGFsKCJjaHJvb3QgcGF0aCAlc1wiJXNcIiBpcyBu
b3QgYSBkaXJlY3RvcnkiLAotLS0gMTQyOCwxNDM0IC0tLS0KICAJCQkgICAgY29tcG9uZW50LCBz
dHJlcnJvcihlcnJubykpOwogIAkJaWYgKHN0LnN0X3VpZCAhPSAwIHx8IChzdC5zdF9tb2RlICYg
MDIyKSAhPSAwKQogIAkJCWZhdGFsKCJiYWQgb3duZXJzaGlwIG9yIG1vZGVzIGZvciBjaHJvb3Qg
IgohIAkJCSAgICAiZGlyZWN0b3J5ICVzXCIlc1wiIiwKICAJCQkgICAgY3AgPT0gTlVMTCA/ICIi
IDogImNvbXBvbmVudCAiLCBjb21wb25lbnQpOwogIAkJaWYgKCFTX0lTRElSKHN0LnN0X21vZGUp
KQogIAkJCWZhdGFsKCJjaHJvb3QgcGF0aCAlc1wiJXNcIiBpcyBub3QgYSBkaXJlY3RvcnkiLAoq
KioqKioqKioqKioqKioKKioqIDE2NDUsMTY1MCAqKioqCi0tLSAxNjQ1LDE2NjQgLS0tLQogIAlz
dHJ1Y3QgcGFzc3dkICpwdyA9IHMtPnB3OwogIAlpbnQgciA9IDA7CiAgCisgI2lmZGVmIEFGU19L
UkI1CisgLyogRGVmYXVsdCBwbGFjZSB0byBsb29rIGZvciBha2xvZy4gKi8KKyAjaWZkZWYgQUtM
T0dfUEFUSAorICNkZWZpbmUgS1BST0dESVIgQUtMT0dfUEFUSAorICNlbHNlCisgI2RlZmluZSBL
UFJPR0RJUiAiL3Vzci9iaW4vYWtsb2ciCisgI2VuZGlmIC8qIEFLTE9HX1BBVEggKi8KKyAjaWZk
ZWYgQUZTX0dTSQorIAlzdHJ1Y3Qgc3RhdCBzdHg7CisgI2VuZGlmCisgCXN0cnVjdCBzdGF0IHN0
OworIAljaGFyICpha2xvZ19wYXRoOworICNlbmRpZiAvKiBBRlNfS1JCNSAqLworIAogIAkvKiBy
ZW1vdmUgaG9zdGtleSBmcm9tIHRoZSBjaGlsZCdzIG1lbW9yeSAqLwogIAlkZXN0cm95X3NlbnNp
dGl2ZV9kYXRhKCk7CiAgCioqKioqKioqKioqKioqKgoqKiogMTc1NiwxNzYxICoqKioKLS0tIDE3
NzAsMTgyNiAtLS0tCiAgCQkgICAgcy0+YXV0aGN0eHQtPmtyYjVfZndkX2NjYWNoZSwgTlVMTCwg
TlVMTCwgcHctPnB3X2Rpcik7CiAgCX0KICAjZW5kaWYKKyAjaWZuZGVmIEFGU19HU0kKKyAjaWZk
ZWYgQUZTX0tSQjUKKyAJLyogVXNlciBoYXMgYXV0aGVudGljYXRlZCwgYW5kIGlmIGEgdGlja2V0
IHdhcyBnb2luZyB0byBiZQorIAkgKiBwYXNzZWQgd2Ugd291bGQgaGF2ZSBpdC4gIEtSQjVDQ05B
TUUgc2hvdWxkIGFscmVhZHkgYmUgc2V0LgorIAkgKiBOb3cgdHJ5IHRvIGdldCBhbiBBRlMgdG9r
ZW4gdXNpbmcgYWtsb2cuCisgCSAqLworIAlpZiAoa19oYXNhZnMoKSkgeyAgLyogRG8gd2UgaGF2
ZSBBRlM/ICovCisgCQlha2xvZ19wYXRoID0geHN0cmR1cChLUFJPR0RJUik7CisgCisgCQkvKgor
IAkJICogTWFrZSBzdXJlIGl0IGV4aXN0cyBiZWZvcmUgd2UgdHJ5IHRvIHJ1biBpdAorIAkJICov
CisgCQlpZiAoc3RhdChha2xvZ19wYXRoLCAmc3QpID09IDApIHsKKyAJCQlkZWJ1ZygiUnVubmlu
ZyAlcyB0byBnZXQgYWZzIHRva2VuLiIsYWtsb2dfcGF0aCk7CisgCQkJc3lzdGVtKGFrbG9nX3Bh
dGgpOworIAkJfSBlbHNlIHsKKyAJCQlkZWJ1ZygiJXMgZG9lcyBub3QgZXhpc3QuIixha2xvZ19w
YXRoKTsKKyAJCX0KKyAKKyAJCXhmcmVlKGFrbG9nX3BhdGgpOworIAl9CisgCisgI2VuZGlmIC8q
QUZTX0tSQjUgKi8KKyAjZW5kaWYgLypBRlNfR1NJICovCisgCisgI2lmIGRlZmluZWQoQUZTX0tS
QjUpICYmIGRlZmluZWQoQUZTX0dTSSkKKyAKKyAKKyAJLyogVXNlciBoYXMgYXV0aGVudGljYXRl
ZCwgYW5kIGlmIGEgdGlja2V0IHdhcyBnb2luZyB0byBiZQorIAkgKiBwYXNzZWQgd2Ugd291bGQg
aGF2ZSBpdC4gIEtSQjVDQ05BTUUgc2hvdWxkIGFscmVhZHkgYmUgc2V0LgorIAkgKiBOb3cgdHJ5
IHRvIGdldCBhbiBBRlMgdG9rZW4gdXNpbmcgYWtsb2cuCisgCSAqLworIC8qCWlmIChrX2hhc2Fm
cygpKSB7ICovIC8qIERvIHdlIGhhdmUgQUZTPyAqLworIAlpZiAoKHN0YXQoIi9hZnMiLCZzdHgp
ID09IDApICYmCisgICAgICAgICAoc3RhdCgiL3Vzci92aWNlL2V0Yy9UaGlzQ2VsbCIsJnN0eCkg
PT0gMCkpIHsKKyAgICAgICAgIGxzZXRwYWcoKTsKKyAJCWFrbG9nX3BhdGggPSB4c3RyZHVwKEtQ
Uk9HRElSKTsKKyAKKyAJCS8qCisgCQkgKiBNYWtlIHN1cmUgaXQgZXhpc3RzIGJlZm9yZSB3ZSB0
cnkgdG8gcnVuIGl0CisgCQkgKi8KKyAJCWlmIChzdGF0KGFrbG9nX3BhdGgsICZzdCkgPT0gMCkg
eworIAkJCWRlYnVnKCJSdW5uaW5nICVzIHRvIGdldCBhZnMgdG9rZW4uIixha2xvZ19wYXRoKTsK
KyAJCQlzeXN0ZW0oYWtsb2dfcGF0aCk7CisgCQl9IGVsc2UgeworIAkJCWRlYnVnKCIlcyBkb2Vz
IG5vdCBleGlzdC4iLGFrbG9nX3BhdGgpOworIAkJfQorIAorIAkJeGZyZWUoYWtsb2dfcGF0aCk7
CisgCX0KKyAjZW5kaWYgLyogZGVmaW5lZChBRlNfS1JCNSkgJiYgZGVmaW5lZChBRlNfR1NJKSov
CiAgCiAgCS8qIENoYW5nZSBjdXJyZW50IGRpcmVjdG9yeSB0byB0aGUgdXNlcidzIGhvbWUgZGly
ZWN0b3J5LiAqLwogIAlpZiAoY2hkaXIocHctPnB3X2RpcikgPCAwKSB7CmRpZmYgLWMgb3BlbnNz
aC01LjFwMV9jbGVhbi9zc2hkLmMgb3BlbnNzaC01LjJwMV9yaC9zc2hkLmMKKioqIG9wZW5zc2gt
NS4xcDFfY2xlYW4vc3NoZC5jCTIwMDktMDUtMjcgMDg6MDc6MTQuMDAwMDAwMDAwIC0wNTAwCi0t
LSBvcGVuc3NoLTUuMnAxX3JoL3NzaGQuYwkyMDA5LTA1LTI3IDA5OjE3OjMxLjAwMDAwMDAwMCAt
MDUwMAoqKioqKioqKioqKioqKioKKioqIDE4MzYsMTg0MiAqKioqCiAgCQlhbGFybShvcHRpb25z
LmxvZ2luX2dyYWNlX3RpbWUpOwogIAogIAlzc2hkX2V4Y2hhbmdlX2lkZW50aWZpY2F0aW9uKHNv
Y2tfaW4sIHNvY2tfb3V0KTsKISAKICAJLyogSW4gaW5ldGQgbW9kZSwgZ2VuZXJhdGUgZXBoZW1l
cmFsIGtleSBvbmx5IGZvciBwcm90byAxIGNvbm5lY3Rpb25zICovCiAgCWlmICghY29tcGF0MjAg
JiYgaW5ldGRfZmxhZyAmJiBzZW5zaXRpdmVfZGF0YS5zZXJ2ZXJfa2V5ID09IE5VTEwpCiAgCQln
ZW5lcmF0ZV9lcGhlbWVyYWxfc2VydmVyX2tleSgpOwotLS0gMTgzNiwxODUxIC0tLS0KICAJCWFs
YXJtKG9wdGlvbnMubG9naW5fZ3JhY2VfdGltZSk7CiAgCiAgCXNzaGRfZXhjaGFuZ2VfaWRlbnRp
ZmljYXRpb24oc29ja19pbiwgc29ja19vdXQpOwohICNpZm5kZWYgQUZTX0dTSQohICNpZiBkZWZp
bmVkKEFGU19LUkI1KQohIAkvKiBJZiBtYWNoaW5lIGhhcyBBRlMsIHNldCBwcm9jZXNzIGF1dGhl
bnRpY2F0aW9uIGdyb3VwLiAqLwohIC8qCWlmIChrX2hhc2FmcygpKSB7CiEgCQlrX3NldHBhZygp
OwohIAkJa191bmxvZygpOwohIAl9CiEgKi8KISAjZW5kaWYgLyogQUZTIHx8IEFGU19LUkI1ICov
CiEgI2VuZGlmIC8qIEFGU19HU0kgKi8KICAJLyogSW4gaW5ldGQgbW9kZSwgZ2VuZXJhdGUgZXBo
ZW1lcmFsIGtleSBvbmx5IGZvciBwcm90byAxIGNvbm5lY3Rpb25zICovCiAgCWlmICghY29tcGF0
MjAgJiYgaW5ldGRfZmxhZyAmJiBzZW5zaXRpdmVfZGF0YS5zZXJ2ZXJfa2V5ID09IE5VTEwpCiAg
CQlnZW5lcmF0ZV9lcGhlbWVyYWxfc2VydmVyX2tleSgpOwo=

------_=_NextPart_001_01C9DEE3.501C799B--