tree c978cce8f830b9e6dc9c190d99ae88d2afed6c60
parent dab815e9e5207fc9f66e4cc32ce6be9122df3a77
author Jan Kundrát <jan.kundrat@cesnet.cz> 1579718753 +0100
committer Jan Kundrát <jan.kundrat@cesnet.cz> 1579780642 +0100

python: support connecting with an interactive password prompt

That unique_ptr has to be hidden and not exported to Python because
pybind11 currently does not support "taking back" objects from Python's
ownership, and that's essentially what is needed for consuming a moved
unique_ptr. This means that we cannot really avoid that constructor
duplication in this context.

This patch comes with no test because so far, we have not used
password-based (well, kbdinteractive-based) authentication for NETCONF.

Here's how to use it, anyway:

 def auth(auth_name, instruction, prompt, echo):
     print(f'{auth_name}: {instruction}')
     if echo:
         return raw_input(prompt)
     else:
         return getpass.getpass(prompt)

 conn = nc.NetconfAccess(server=..., username=..., interactive_auth=auth)

Change-Id: Iee3be17b024869f3cdebfd8ef876c20e177def74
