Browse Source

Merge pull request #4378 from sartura/sysrepo_update

sysrepo update
lilik-openwrt-22.03
Luka Perkov 8 years ago
committed by GitHub
parent
commit
b28a77cc02
13 changed files with 201 additions and 92 deletions
  1. +7
    -0
      net/netopeer2/Config_keystored.in
  2. +7
    -0
      net/netopeer2/Config_server.in
  3. +22
    -8
      net/netopeer2/Makefile
  4. +22
    -0
      net/netopeer2/files/netopeer2-keystored-keygen.default
  5. +8
    -3
      net/netopeer2/files/netopeer2-keystored.default
  6. +41
    -16
      net/netopeer2/files/netopeer2-server.default
  7. +11
    -0
      net/netopeer2/files/netopeer2-server.init
  8. +17
    -0
      net/netopeer2/files/stock_config.xml
  9. +8
    -22
      net/sysrepo/Makefile
  10. +24
    -5
      net/sysrepo/files/libsysrepo.default
  11. +0
    -19
      net/sysrepo/files/sysrepo-plugind.init
  12. +34
    -0
      net/sysrepo/files/sysrepo.init
  13. +0
    -19
      net/sysrepo/files/sysrepod.init

+ 7
- 0
net/netopeer2/Config_keystored.in View File

@ -0,0 +1,7 @@
if PACKAGE_netopeer2-keystored
config SSH_KEYS
bool "Generate default ssh keys"
default y
endif

+ 7
- 0
net/netopeer2/Config_server.in View File

@ -0,0 +1,7 @@
if PACKAGE_netopeer2-server
config SSH_SERVER
bool "Install the default ssh server (openssh-server)"
default y
endif

+ 22
- 8
net/netopeer2/Makefile View File

@ -34,12 +34,21 @@ CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/netopeer2-server/config
source "$(SOURCE)/Config_server.in"
endef
define Package/netopeer2-keystored/config
source "$(SOURCE)/Config_keystored.in"
endef
define Package/netopeer2-server
SECTION:=util
CATEGORY:=Utilities
TITLE:=NETCONF server
URL:=$(PKG_SOURCE_URL)
DEPENDS:=+libpthread +libyang +libnetconf2 +netopeer2-keystored +libsysrepo +sysrepocfg +sysrepoctl
DEPENDS:=+libpthread +libyang +libnetconf2 +netopeer2-keystored +libsysrepo +sysrepocfg +sysrepoctl +sysrepo +SSH_SERVER:openssh-server
MENU:=1
endef
define Package/netopeer2-cli
@ -55,7 +64,8 @@ define Package/netopeer2-keystored
CATEGORY:=Utilities
TITLE:=Netopeer2 key store management
URL:=$(PKG_SOURCE_URL)
DEPENDS:=+libopenssl +libsysrepo +sysrepo-plugind +sysrepocfg +sysrepoctl
DEPENDS:=+libopenssl +libsysrepo +sysrepo +sysrepocfg +sysrepoctl +SSH_KEYS:openssh-keygen
MENU:=1
endef
define Package/netopeer2/description
@ -112,7 +122,7 @@ define Package/netopeer2-server/install
$(INSTALL_BIN) ./files/netopeer2-server.init $(1)/etc/init.d/netopeer2-server
$(INSTALL_DIR) $(1)/usr/share/netopeer2-server
$(INSTALL_DATA) $(PKG_BUILD_ROOT)/server/stock_config.xml $(1)/usr/share/netopeer2-server
$(INSTALL_DATA) ./files/stock_config.xml $(1)/usr/share/netopeer2-server
endef
define Package/netopeer2-cli/install
@ -128,15 +138,19 @@ define Package/netopeer2-keystored/install
$(INSTALL_DATA) $(PKG_BUILD_ROOT)/modules/ietf-keystore.yang $(1)/etc/sysrepo/yang
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_DIR) $(1)/etc/keystored/keys
ifeq ($(CONFIG_SSH_KEYS),y)
$(INSTALL_BIN) ./files/netopeer2-keystored-keygen.default $(1)/etc/uci-defaults/97_netopeer2-keystored
else
$(INSTALL_BIN) ./files/netopeer2-keystored.default $(1)/etc/uci-defaults/97_netopeer2-keystored
#ssh key name is specified in ./files/stock_config.xml file, you will need to provide the ssh keys yourself.
$(INSTALL_DATA) ./files/ssh_host_rsa_key.pem $(1)/etc/keystored/keys
$(INSTALL_DATA) ./files/ssh_host_rsa_key.pub.pem $(1)/etc/keystored/keys
endif
$(INSTALL_DIR) $(1)/usr/share/netopeer2-keystored
$(INSTALL_DATA) $(PKG_BUILD_ROOT)/keystored/stock_key_config.xml $(1)/usr/share/netopeer2-keystored
$(INSTALL_DIR) $(1)/etc/keystored/keys
#$(INSTALL_DATA) ./files/ssh_host_rsa_key.pem $(1)/etc/keystored/keys
#$(INSTALL_DATA) ./files/ssh_host_rsa_key.pub.pem $(1)/etc/keystored/keys
#ssh key name is specified in stock_key_config.xml file, you will need to provide the ssh keys yourself.
endef
$(eval $(call BuildPackage,netopeer2-server))


+ 22
- 0
net/netopeer2/files/netopeer2-keystored-keygen.default View File

@ -0,0 +1,22 @@
#!/bin/sh
# Warning, problems can occur if the device restarts in the middle of this uci-default script
if [ -x /bin/sysrepoctl ]; then
match=$(sysrepoctl -l | grep "ietf-keystore\ ")
if [ ! "$match" ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-keystore.yang -o root:root -p 600
if [ -x /bin/sysrepocfg ]; then
sysrepocfg -d startup -i /usr/share/netopeer2-keystored/stock_key_config.xml ietf-keystore
rm /usr/share/netopeer2-keystored/stock_key_config.xml
fi
#generate ssh keys
ssh-keygen -t rsa -f /tmp/ssh_host_rsa_key -N ""
openssl rsa -in /tmp/ssh_host_rsa_key -outform pem > /etc/keystored/keys/ssh_host_rsa_key.pem
openssl rsa -pubout -in /etc/keystored/keys/ssh_host_rsa_key.pem -out /etc/keystored/keys/ssh_host_rsa_key.pub.pem
rm /tmp/ssh_host_rsa_key
fi
fi
exit 0

+ 8
- 3
net/netopeer2/files/netopeer2-keystored.default View File

@ -3,9 +3,14 @@
# Warning, problems can occur if the device restarts in the middle of this uci-default script
if [ -x /bin/sysrepoctl ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-keystore.yang -o root:root -p 600
sysrepocfg -d startup -i /usr/share/netopeer2-keystored/stock_key_config.xml ietf-keystore
rm /usr/share/netopeer2-keystored/stock_key_config.xml
match=$(sysrepoctl -l | grep "ietf-keystore\ ")
if [ ! "$match" ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-keystore.yang -o root:root -p 600
if [ -x /bin/sysrepocfg ]; then
sysrepocfg -d startup -i /usr/share/netopeer2-keystored/stock_key_config.xml ietf-keystore
rm /usr/share/netopeer2-keystored/stock_key_config.xml
fi
fi
fi
exit 0

+ 41
- 16
net/netopeer2/files/netopeer2-server.default View File

@ -3,22 +3,47 @@
# Warning, problems can occur if the device restarts in the middle of this uci-default script
if [ -x /bin/sysrepoctl ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-ssh-server.yang -p 600
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-tls-server.yang -p 600
sysrepoctl --install --yang=/etc/sysrepo/yang/iana-crypt-hash.yang -p 600
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-x509-cert-to-name.yang -p 600
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-server.yang -o root:root -p 600
sysrepoctl -m ietf-netconf-server -e listen
sysrepoctl -m ietf-netconf-server -e ssh-listen
sysrepoctl -m ietf-netconf-server -e tls-listen
sysrepoctl -m ietf-netconf-server -e call-home
sysrepoctl -m ietf-netconf-server -e ssh-call-home
sysrepoctl -m ietf-netconf-server -e tls-call-home
sysrepocfg -d startup -i /usr/share/netopeer2-server/stock_config.xml ietf-netconf-server
rm /usr/share/netopeer2-server/stock_config.xml
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-system.yang -o root:root -p 600
sysrepoctl -m ietf-system -e authentication
sysrepoctl -m ietf-system -e local-users
match=$(sysrepoctl -l | grep "ietf-ssh-server\ ")
if [ ! "$match" ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-ssh-server.yang -p 600
fi
match=$(sysrepoctl -l | grep "ietf-tls-server\ ")
if [ ! "$match" ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-tls-server.yang -p 600
fi
match=$(sysrepoctl -l | grep "iana-crypt-hash\ ")
if [ ! "$match" ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/iana-crypt-hash.yang -p 600
fi
match=$(sysrepoctl -l | grep "ietf-x509-cert-to-name\ ")
if [ ! "$match" ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-x509-cert-to-name.yang -p 600
fi
match=$(sysrepoctl -l | grep "ietf-netconf-server\ ")
if [ ! "$match" ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-server.yang -o root:root -p 600
sysrepoctl -m ietf-netconf-server -e listen
sysrepoctl -m ietf-netconf-server -e ssh-listen
sysrepoctl -m ietf-netconf-server -e tls-listen
sysrepoctl -m ietf-netconf-server -e call-home
sysrepoctl -m ietf-netconf-server -e ssh-call-home
sysrepoctl -m ietf-netconf-server -e tls-call-home
if [ -x /bin/sysrepocfg ]; then
sysrepocfg -d startup -i /usr/share/netopeer2-server/stock_config.xml ietf-netconf-server
rm /usr/share/netopeer2-server/stock_config.xml
fi
fi
match=$(sysrepoctl -l | grep "ietf-system\ ")
if [ ! "$match" ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-system.yang -o root:root -p 600
sysrepoctl -m ietf-system -e authentication
sysrepoctl -m ietf-system -e local-users
fi
fi
exit 0

+ 11
- 0
net/netopeer2/files/netopeer2-server.init View File

@ -7,9 +7,20 @@ USE_PROCD=1
PROG=/bin/netopeer2-server
start_service() {
# netopeer2-server requires sysrepo daemon
/etc/init.d/sysrepo start
sleep 1
procd_open_instance
procd_set_param command $PROG
procd_append_param command -d -v 0
procd_set_param respawn
procd_close_instance
}
stop_service()
{
service_stop ${PROG}
}

+ 17
- 0
net/netopeer2/files/stock_config.xml View File

@ -0,0 +1,17 @@
<netconf-server xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-server">
<listen>
<endpoint>
<name>test_ssh_listen_endpt</name>
<ssh>
<address>::</address>
<port>830</port>
<host-keys>
<host-key>
<name>test_ssh_listen_key</name>
<public-key>ssh_host_rsa_key</public-key>
</host-key>
</host-keys>
</ssh>
</endpoint>
</listen>
</netconf-server>

+ 8
- 22
net/sysrepo/Makefile View File

@ -38,11 +38,11 @@ define Package/libsysrepo
DEPENDS:=+libyang +libprotobuf-c +libev +libavl
endef
define Package/sysrepod
define Package/sysrepo
SECTION:=util
CATEGORY:=Utilities
URL:=$(PKG_SOURCE_URL)
TITLE:=YANG-based data store daemon
TITLE:=YANG-based data store daemon and plugin
DEPENDS:=+libsysrepo
endef
@ -62,14 +62,6 @@ define Package/sysrepocfg
DEPENDS:=+libsysrepo
endef
define Package/sysrepo-plugind
SECTION:=util
CATEGORY:=Utilities
URL:=$(PKG_SOURCE_URL)
TITLE:=sysrepo plugin daemon
DEPENDS:=+libsysrepo
endef
define Package/sysrepo/description
Sysrepo is an YANG-based configuration and operational state data store for Unix/Linux applications.
endef
@ -107,12 +99,15 @@ define Package/libsysrepo/install
$(INSTALL_BIN) ./files/libsysrepo.default $(1)/etc/uci-defaults/95_libsysrepo
endef
define Package/sysrepod/install
define Package/sysrepo/install
$(INSTALL_DIR) $(1)/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepod $(1)/bin/
$(INSTALL_DIR) $(1)/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepo-plugind $(1)/bin/
$(INSTALL_DIR) $(1)/etc/init.d/
$(INSTALL_BIN) ./files/sysrepod.init $(1)/etc/init.d/sysrepod
$(INSTALL_BIN) ./files/sysrepo.init $(1)/etc/init.d/sysrepo
endef
define Package/sysrepoctl/install
@ -125,16 +120,7 @@ define Package/sysrepocfg/install
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepocfg $(1)/bin/
endef
define Package/sysrepo-plugind/install
$(INSTALL_DIR) $(1)/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/sysrepo-plugind $(1)/bin/
$(INSTALL_DIR) $(1)/etc/init.d/
$(INSTALL_BIN) ./files/sysrepo-plugind.init $(1)/etc/init.d/sysrepo-plugind
endef
$(eval $(call BuildPackage,libsysrepo))
$(eval $(call BuildPackage,sysrepod))
$(eval $(call BuildPackage,sysrepo))
$(eval $(call BuildPackage,sysrepoctl))
$(eval $(call BuildPackage,sysrepocfg))
$(eval $(call BuildPackage,sysrepo-plugind))

+ 24
- 5
net/sysrepo/files/libsysrepo.default View File

@ -3,11 +3,30 @@
# Warning, problems can occur if the device restarts in the middle of this uci-default script
if [ -x /bin/sysrepoctl ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-acm@2012-02-22.yang -p 644
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-notifications.yang -p 600
sysrepoctl --install --yang=/etc/sysrepo/yang/nc-notifications.yang -p 666
sysrepoctl --install --yang=/etc/sysrepo/yang/notifications.yang -p 666
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf@2011-06-01.yang -p 600
match=$(sysrepoctl -l | grep "ietf-netconf-acm\ ")
if [ ! "$match" ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-acm@2012-02-22.yang -p 644
fi
match=$(sysrepoctl -l | grep "ietf-netconf-notifications\ ")
if [ ! "$match" ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf-notifications.yang -p 600
fi
match=$(sysrepoctl -l | grep "nc-notifications\ ")
if [ ! "$match" ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/nc-notifications.yang -p 666
fi
match=$(sysrepoctl -l | grep "notifications\ ")
if [ ! "$match" ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/notifications.yang -p 666
fi
match=$(sysrepoctl -l | grep "ietf-netconf\ ")
if [ ! "$match" ]; then
sysrepoctl --install --yang=/etc/sysrepo/yang/ietf-netconf@2011-06-01.yang -p 600
fi
fi
exit 0

+ 0
- 19
net/sysrepo/files/sysrepo-plugind.init View File

@ -1,19 +0,0 @@
#!/bin/sh /etc/rc.common
START=90
STOP=10
USE_PROCD=1
PROG=/bin/sysrepo-plugind
start_service() {
procd_open_instance
procd_set_param command $PROG
procd_set_param respawn
procd_close_instance
}
stop_service()
{
service_stop ${PROG}
}

+ 34
- 0
net/sysrepo/files/sysrepo.init View File

@ -0,0 +1,34 @@
#!/bin/sh /etc/rc.common
START=70
STOP=10
USE_PROCD=1
PROG_DEAMON=/bin/sysrepod
PROG_PLUGIN=/bin/sysrepo-plugind
start_service() {
procd_open_instance
procd_set_param command ${PROG_DEAMON}
procd_append_param command -d -l 0
procd_set_param respawn
procd_close_instance
procd_open_instance
procd_set_param command ${PROG_PLUGIN}
procd_append_param command -d -l 0
procd_set_param respawn
procd_close_instance
}
stop_service()
{
if [ -f /etc/init.d/netopeer2-server ]; then
# netopeer2-server will automatically start sysrepod,
# so we need to stop it
/etc/init.d/netopeer2-server stop
sleep 1
fi
service_stop ${PROG_PLUGIN}
service_stop ${PROG_DEAMON}
}

+ 0
- 19
net/sysrepo/files/sysrepod.init View File

@ -1,19 +0,0 @@
#!/bin/sh /etc/rc.common
START=70
STOP=10
USE_PROCD=1
PROG=/bin/sysrepod
start_service() {
procd_open_instance
procd_set_param command $PROG
procd_set_param respawn
procd_close_instance
}
stop_service()
{
service_stop ${PROG}
}

Loading…
Cancel
Save