Re: EEP Light: Option to override private key lookup when using Erlang ssh client

Hans Nilsson R <[email protected]> Thu, 12 Nov 2015 17:36:29 +0100
Newsgroups gmane.comp.lang.erlang.patches
Organization Ericsson AB
Message-ID <[email protected]>
--===============1401129287372063097==
Content-Type: multipart/signed; protocol="application/pkcs7-signature";
	micalg=sha-256; boundary="------------ms050900030803070901020707"

--------------ms050900030803070901020707
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi Vipin,

As I indicated when I closed your pull request, those options forces the
callback modules to handle options that might be strange for a certain
callback module. For example, the purpose of ssh_file is only to handle
keys in the way of OpenSSH.

You have correctly pointed out that to be able to write a specialized
callback module there is a need to have options passed to callbacks.

A more general way to pass options to the key callback module would be
to introduce a second form of the key_cb option:
  -  keep todays {key_cb, Module::atom()} to keep compatibility
  -  introduce the variant {key_cb, {Module::atom(), ModuleOptions}}

ModuleOptions has the usual list of {Tag,Value} format. That list is
passed in the Options argument of the callback functions as
    {key_cb_private,ModuleOptions}

The old
   {key_cb, Module::atom()}
could be transformed to
   {key_cb, {Module,[]}}
already in ssh:handle_options to make it cleaner inside.

In that way it is possible to write a callback module with whatever is
needed as private options.

-Hans



--------------ms050900030803070901020707
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC
DK8wggXxMIID2aADAgECAhAuhnzexMGnG3feLxqIkJv7MA0GCSqGSIb3DQEBBQUAMDoxETAP
BgNVBAoMCEVyaWNzc29uMSUwIwYDVQQDDBxFcmljc3NvbiBOTCBJbmRpdmlkdWFsIENBIHYy
MB4XDTE1MDUwNzEzMTIzOVoXDTE4MDUwNzEzMTIzOFowajERMA8GA1UECgwIRXJpY3Nzb24x
FzAVBgNVBAMMDkhhbnMgTmlsc3NvbiBSMSowKAYJKoZIhvcNAQkBFhtoYW5zLnIubmlsc3Nv
bkBlcmljc3Nvbi5jb20xEDAOBgNVBAUTB3VhYmhuaWwwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQCMt5ER3QirrYSubK3gX78uBc+YPwGUiXnagpmGnUJ0exg5+T7M3HpVnRA/
cIOSTqCSIN1Bcdq460XBXL09qbW+MC2yGn8VwqsH0v7EEffpQM3KJykbwtrqNhMgAu7YjDTr
8hYmAhW+MKgmcjOlslVqVU4IGRYGL3HBl0gyVDXaKpCykWeES7KCJT3R18475p6hQJVjmmK1
eQDB3XibqbQf5vh0Vh506GqQRcJSWVaZhwr0ysCfz3why8TMcCaR76EQM8BGqOZd5piN0Utl
3BX/joVFklxMt5ycNK1OebsOM15o79AVchQ/lf8blNcim15w0t0m7LQK9+hSGv1a5xEjAgMB
AAGjggHBMIIBvTBIBgNVHR8EQTA/MD2gO6A5hjdodHRwOi8vY3JsLnRydXN0LnRlbGlhLmNv
bS9lcmljc3Nvbm5saW5kaXZpZHVhbGNhdjIuY3JsMIGCBggrBgEFBQcBAQR2MHQwKAYIKwYB
BQUHMAGGHGh0dHA6Ly9vY3NwMi50cnVzdC50ZWxpYS5jb20wSAYIKwYBBQUHMAKGPGh0dHA6
Ly9jYS50cnVzdC50ZWxpYXNvbmVyYS5jb20vZXJpY3Nzb25ubGluZGl2aWR1YWxjYXYyLmNl
cjAmBgNVHREEHzAdgRtoYW5zLnIubmlsc3NvbkBlcmljc3Nvbi5jb20wVQYDVR0gBE4wTDBK
BgwrBgEEAYIPAgMBARIwOjA4BggrBgEFBQcCARYsaHR0cHM6Ly9yZXBvc2l0b3J5LnRydXN0
LnRlbGlhc29uZXJhLmNvbS9DUFMwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMCMB0G
A1UdDgQWBBTO/QAL+bqt1+nnc51olufSWz70tjAfBgNVHSMEGDAWgBSxDcrURrevhgLDL28G
yg52cX9LNzAOBgNVHQ8BAf8EBAMCBaAwDQYJKoZIhvcNAQEFBQADggIBANg0XG+vl7Z8nEmn
VdYfJsuOY/dJOOsT4o3WvKqaZUoGksznnNj+E0ukq05gRR0dwMIMFHVnihQVrwk9EEd61zAx
HztUZ9WmfPrbZclZ2cCl0nKVvEVukkB2m3UCK4NVvj4GRmohReJ8MLMMoxA/0jPA9ldJvpUg
haFP71HX00U+CBKwyhpMwGkic5xL75XIZbszwiRJP2NMxuWAyFE52O4speROv6IFahV905/J
Fbxku78E89N1v4Ullw6i5h9OcqNuenoZ3h8aNy7XwiyozKsMSnIXUA/cuNFB70pmi2apRiqz
nipMBIRxh6pfW+Hv+2/QylWnMyNVpULbI/5SShLr78YRBaxQf9TorlAiekZnUX6Kk8saTjxf
dNElvL9s1VQLTBWILDis7SNGii4QV5jkh1LGHFOSjxpiFmlY8FliJzvdzLxcbOfnBeRQJPFj
I4cP3yh5pQtDIMOdfSfRsgHzcTLTtl+zrg/wuqewzf7muRusAFa4Xo4K9gpcl+goUcx/zVNj
iw7Gvax+JwaMfRCvxKRxqPkdS+9j+WBIYDbG7bUkCv3Hpi5tdV6tJ1lY9mf7znZJ4xQ4VQbs
As0oePtkS6rePVM3dFbOwKff4lzY/bT6iDz81Kc3tTuvEfIWZ+6DJDAb/seAfnSY2HJF+5zo
MyLT1U6HdYJDxYAU6Gh1MIIGtjCCBJ6gAwIBAgIRAKAMy8ybmZjs4jpw9HzBwFkwDQYJKoZI
hvcNAQEFBQAwNzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJh
IFJvb3QgQ0EgdjEwHhcNMTQwNTI3MDc0NjIxWhcNMjQwNTI3MDc0NjIxWjA6MREwDwYDVQQK
DAhFcmljc3NvbjElMCMGA1UEAwwcRXJpY3Nzb24gTkwgSW5kaXZpZHVhbCBDQSB2MjCCAiIw
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANq6U+tfSJZTn4k46qN13HgaeXXsMmGSWShc
6A5IEyFboXMZW3lFHso+/6uO3ZilvB2ipZJhrhU+RL/va+5Chay/PZq9ZZeE9N03OsHfOzlw
k7uwojJ34tHLiX/yQoriI+b5DXxfIYXTFO5zlZLdaIxJwlLEQp0g4/zF6EGtodlpusaH07FA
cLiIEeTMPRgXcn+8GoFOvtuVHNh/WHePlrupUgcI9/P54ITXvmZF6xcNBEjsu8yJm1VqqK0G
XSgAmInJ4Ga8S6ME2wgSBRDolxAUbmfLQRrMvLC/tyXBvuLO8uChdzpIWt3QPtMYm2R2V1Um
0zANhenIUwYCKNPq5/yHaS48jCsOBAU0TIhBnirnZmlEbC6ALqwzGAcQMaMD8LFf1oLlWLUQ
xEmI4YXqBXdP5XnIcMdIEF5BtUBebzBJMMF9dDB2uj8BeoRPSYbpGl7irYUYFpq4TyocQ7qp
HdYASC+NV8VTaTrFnHWqa/CGRdp3GHpkgxfOBvpamOK8udHQYQo2uA3YNd2+j7p4C3jkGG+Z
6RrZOskPEwtaIHLxBiA141dhCy5EScOyNajrAXQupsDnvr2ib2ef+4nObPFvedPWIe57lyj0
n3e1rTqTGIBIe9wjNnAA6MqeaTS9HchPtBvOrah/cTWzXzGjwMz0P3UJqTQ2r5EAu12/W5kp
AgMBAAGjggG4MIIBtDCBigYIKwYBBQUHAQEEfjB8MC0GCCsGAQUFBzABhiFodHRwOi8vb2Nz
cC50cnVzdC50ZWxpYXNvbmVyYS5jb20wSwYIKwYBBQUHMAKGP2h0dHA6Ly9yZXBvc2l0b3J5
LnRydXN0LnRlbGlhc29uZXJhLmNvbS90ZWxpYXNvbmVyYXJvb3RjYXYxLmNlcjASBgNVHRMB
Af8ECDAGAQH/AgEAMFUGA1UdIAROMEwwSgYMKwYBBAGCDwIDAQECMDowOAYIKwYBBQUHAgEW
LGh0dHBzOi8vcmVwb3NpdG9yeS50cnVzdC50ZWxpYXNvbmVyYS5jb20vQ1BTMEsGA1UdHwRE
MEIwQKA+oDyGOmh0dHA6Ly9jcmwtMy50cnVzdC50ZWxpYXNvbmVyYS5jb20vdGVsaWFzb25l
cmFyb290Y2F2MS5jcmwwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMA4GA1UdDwEB
/wQEAwIBBjAdBgNVHQ4EFgQUsQ3K1Ea3r4YCwy9vBsoOdnF/SzcwHwYDVR0jBBgwFoAU8I9Z
OACz9Y+algzV6/p7qhfoExIwDQYJKoZIhvcNAQEFBQADggIBAG4HIGyvrHc9kEKyYZtxJn9c
v7S2dUxuUiegmAvUGHc+JGJyB2jyX7py9an8CsHAxg3BI3Ku9j0h7DJpXyfrlzmg36XYkNS7
Ot0A1UqdjGFrtnIISI+Zj3ywHZudmDF8ktdBihHAjuk47B/Kg/Z8JhUJ37GGx/KxiIiXg5HM
TdOl6mlDbJaTIEGagdRcmH3u57r5snZ+qdVSg5UxWdhgS2+zPru/vDbPd+91zLTj9GejKXFJ
6fEAOLW1j2IjJ0cyDI67d1/OzFTwCK8wYbhopK2wJ9QTKDQuWRuGoyt2d6yzd7WoAS55JE0B
It+kXDJGbOaK42H2ifO6ERHbJiEr/oh4KzgdAes+GRjwlSaG2Z0va4Ss5lY6zfwVCEZYdZcj
SDpKB0M5tTQYQeO7QyQPOI6Gb4FXA9ko3sHvAPs4+Pq+UtWjp3y8sYr1vLCER9ePEsgLdCG2
7mUk9OAijkG6n5oEGOIn+70F+qvKpmm52dZ8b7DELfbuuk0CrY4p0WxH3bBt6FJkPeZJIB6Y
NXAYHZi7RcdBjLJh+lawbIYTJFIcoWFHAl0g0/NYsjz3DLhZz4+CrJ6SQSYmp7qDhdJAWPia
q3C+qE/h2DZAJwoz9uHrZHB8zsZ5JL8sUZ7zgqYmNMN+9PxzasrycTJn96Y63AIZdDq1kIHI
w0vF4PBTVMZtMYIDFDCCAxACAQEwTjA6MREwDwYDVQQKDAhFcmljc3NvbjElMCMGA1UEAwwc
RXJpY3Nzb24gTkwgSW5kaXZpZHVhbCBDQSB2MgIQLoZ83sTBpxt33i8aiJCb+zANBglghkgB
ZQMEAgEFAKCCAZcwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcN
MTUxMTEyMTYzNjI5WjAvBgkqhkiG9w0BCQQxIgQgKWCxz7sneOyLEdcNNPTzFs9HmN6Vrg21
aopBjXYsdfYwXQYJKwYBBAGCNxAEMVAwTjA6MREwDwYDVQQKDAhFcmljc3NvbjElMCMGA1UE
AwwcRXJpY3Nzb24gTkwgSW5kaXZpZHVhbCBDQSB2MgIQLoZ83sTBpxt33i8aiJCb+zBfBgsq
hkiG9w0BCRACCzFQoE4wOjERMA8GA1UECgwIRXJpY3Nzb24xJTAjBgNVBAMMHEVyaWNzc29u
IE5MIEluZGl2aWR1YWwgQ0EgdjICEC6GfN7Ewacbd94vGoiQm/swbAYJKoZIhvcNAQkPMV8w
XTALBglghkgBZQMEASowCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIA
gDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDANBgkqhkiG9w0BAQEF
AASCAQAxuEITIPg2bIb9ICo1lzCUZH17hvI4iW9EVw0UZ/Ro1hU8RDyI3xkFn+w9mryUyvKp
s4npLfo3dXhjkfCcWZa7ch25ypV8hXHJgGdzSBf849GNiNwT2DzO5wwq5lLjJTC26RZQQkag
Xl6p3LIRA4Vs17d8qcRCgXLmfS+CRaiM4XH9f5w1+MjWhmpJkxc5UsbQ3STsvN/aLU8nnuPm
eOi8GTAsVe6PVT56udiPN5nMyOd365bzehzFkB0Ylc53VmXjq0tGt58E9I9GCbTtp9VwGMLr
IsadUX+EiN1ReqsjJ3q1VSLALfHIatxqdUCw+Iou1asNpPy0e3mudjvDjpTkAAAAAAAA
--------------ms050900030803070901020707--

--===============1401129287372063097==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
erlang-patches mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-patches

--===============1401129287372063097==--