* NACM module support (RFC8341 A1+A2)
* Recovery user "_nacm_recovery" added.
* Example use is restconf PUT when NACM edit-config is permitted, then automatic commit and discard are permitted using recovery user.
* Example user changed adm1 to andy to comply with RFC8341 example
* Yang code upgrade (RFC7950)
* RPC method input parameters validated
* see https://github.com/clicon/clixon/issues/4
* Correct XML namespace handling
* XML multiple modules was based on "loose" semantics so that yang modules were found by iterating thorugh namespaces until a match was made. This did not adhere to proper [XML namespace handling](https://www.w3.org/TR/2009/REC-xml-names-20091208), and causes problems with overlapping names and false positives. Below see XML accepted (but wrong), and correct namespace declaration:
```
<rpc><my-own-method></rpc> # Wrong but accepted
<rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> # Correct
<my-own-method xmlns="http://example.net/me/my-own/1.0">
</rpc>
```
* To keep old loose semantics set config option CLICON_XML_NS_ITERATE (true by default)
* XML to JSON translator support for mapping xmlns attribute to module name prefix.
* Default namespace is still "urn:ietf:params:xml:ns:netconf:base:1.0"
* See https://github.com/clicon/clixon/issues/49
* Changed all make tags --> make TAGS
* Keyvalue datastore removed (it has been disabled since 3.3.3)
* debug rpc added in example application (should be in clixon-config).
72 lines
1.5 KiB
RPMSpec
72 lines
1.5 KiB
RPMSpec
%{!?_topdir: %define _topdir %(pwd)}
|
|
%{!?cligen_prefix: %define cligen_prefix %{_prefix}}
|
|
|
|
Name: clixon
|
|
Version: %{_version}
|
|
Release: %{_release}
|
|
Summary: The XML-based command line processing tool CLIXON
|
|
Group: System Environment/Libraries
|
|
License: ASL 2.0 or GPLv2
|
|
URL: http://www.clicon.org
|
|
AutoReq: no
|
|
BuildRequires: flex, bison
|
|
Requires: cligen, fcgi
|
|
|
|
# Sometimes developers want to build it without installing cligen but passing
|
|
# path using --with-cligen and pointing it to cligen buildroot. Use %{developer}
|
|
# macro for these cases
|
|
%if 0%{!?developer:1}
|
|
BuildRequires: cligen
|
|
%endif
|
|
|
|
Source: %{name}-%{version}-%{release}.tar.xz
|
|
|
|
%description
|
|
The XML-based command line processing tool CLIXON.
|
|
|
|
%package devel
|
|
Summary: CLIXON header files
|
|
Group: Development/Libraries
|
|
Requires: clixon
|
|
|
|
%description devel
|
|
This package contains header files for CLIXON.
|
|
|
|
%prep
|
|
%setup
|
|
|
|
%build
|
|
%configure --with-cligen=%{cligen_prefix}
|
|
make
|
|
|
|
%install
|
|
make DESTDIR=${RPM_BUILD_ROOT} install install-include
|
|
|
|
%files
|
|
%{_libdir}/*
|
|
%{_bindir}/*
|
|
%{_sbindir}/*
|
|
#%{_sysconfdir}/*
|
|
%{_datadir}/%{name}/*
|
|
/www-data/clixon_restconf
|
|
|
|
%files devel
|
|
%{_includedir}/%{name}/*
|
|
|
|
%clean
|
|
|
|
%post
|
|
/sbin/ldconfig
|
|
|
|
caps="cap_setuid,cap_fowner,cap_chown,cap_dac_override"
|
|
caps="${caps},cap_kill,cap_net_admin,cap_net_bind_service"
|
|
caps="${caps},cap_net_broadcast,cap_net_raw"
|
|
|
|
if [ -x /usr/sbin/setcap ]; then
|
|
/usr/sbin/setcap ${caps}=ep %{_bindir}/clixon_cli
|
|
/usr/sbin/setcap ${caps}=ep %{_bindir}/clixon_netconf
|
|
/usr/sbin/setcap ${caps}=ep %{_sbindir}/clixon_backend
|
|
fi
|
|
|
|
%postun
|
|
/sbin/ldconfig
|