commit | e2e15ee8e530a326e9c5b3465dd53a64c256d159 | [log] [tgz] |
---|---|---|
author | Václav Kubernát <kubernat@cesnet.cz> | Wed Feb 05 17:38:13 2020 +0100 |
committer | Václav Kubernát <kubernat@cesnet.cz> | Wed Nov 04 11:40:51 2020 +0100 |
tree | e82a5b0d31dd2d3f1d28c4fb25819ae6f9e449ef | |
parent | 7a9463f0b8f23b3f1c29bcb7f86e40c5dd4f3a7c [diff] |
Support connecting to NETCONF clients via SSH libnetconf doesn't have nice APIs for ssh connection, but allows users to supply the connection by themselves. One way is to use libssh (which libnetconf uses) and supply that. However, I found that using libssh to implement an interactive CLI isn't very easy and I'd have to implement a lot of functionality (like authentication) by myself, attempts were made, but I was really only imitating the interface of OpenSSH. Fortunately, libnetconf can also communicate over file descriptors, and it is easy to get that from OpenSSH, so I fork it and use its stdin/stdout. On top of that, OpenSSH is very clever and knows that I'm using it like this, so it still allows entering passwords and accepting host keys even though its stdin/stdout isn't a terminal. Change-Id: I27816e038bed0a82a028c8e83c15455fd514c35e
This program provides an interactive console for working with YANG data. It can connect to NETCONF servers, and also talk to sysrepo locally.
For building, one needs:
Use an exact commit of any dependencies as specified in submodules/dependencies/*
.
The build process uses CMake. A quick-and-dirty build with no fancy options can be as simple as mkdir build && cd build && cmake .. && make && make install
.
Issue reporting and feature requests are welcome via Taiga.io.
We are using Gerrit for patch submission, code review and Continuous Integration (CI). Development roadmap and planning happens over Taiga.io.
Copyright © CESNET, https://www.cesnet.cz/ . Portions copyright © Faculty of Information Technology, Czech Technical University in Prague, https://fit.cvut.cz/ . Most of the code was written by Václav Kubernát (CESNET, formerly FIT ČVUT) and Jan Kundrát (CESNET). The project is distributed under the terms of the Apache 2.0 license.