* 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).
120 lines
3.3 KiB
Makefile
120 lines
3.3 KiB
Makefile
#
|
|
# ***** BEGIN LICENSE BLOCK *****
|
|
#
|
|
# Copyright (C) 2009-2018 Olof Hagsand and Benny Holmgren
|
|
#
|
|
# This file is part of CLIXON
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
# Alternatively, the contents of this file may be used under the terms of
|
|
# the GNU General Public License Version 3 or later (the "GPL"),
|
|
# in which case the provisions of the GPL are applicable instead
|
|
# of those above. If you wish to allow use of your version of this file only
|
|
# under the terms of the GPL, and not to allow others to
|
|
# use your version of this file under the terms of Apache License version 2,
|
|
# indicate your decision by deleting the provisions above and replace them with
|
|
# the notice and other provisions required by the GPL. If you do not delete
|
|
# the provisions above, a recipient may use your version of this file under
|
|
# the terms of any one of the Apache License version 2 or the GPL.
|
|
#
|
|
# ***** END LICENSE BLOCK *****
|
|
#
|
|
VPATH = @srcdir@
|
|
prefix = @prefix@
|
|
datarootdir = @datarootdir@
|
|
srcdir = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
exec_prefix = @exec_prefix@
|
|
bindir = @bindir@
|
|
libdir = @libdir@
|
|
dbdir = @prefix@/db
|
|
mandir = @mandir@
|
|
libexecdir = @libexecdir@
|
|
localstatedir = @localstatedir@
|
|
sysconfdir = @sysconfdir@
|
|
CC = @CC@
|
|
CFLAGS = @CFLAGS@
|
|
INSTALLFLAGS = @INSTALLFLAGS@
|
|
LDFLAGS = @LDFLAGS@
|
|
LIBS = @LIBS@
|
|
with_restconf = @with_restconf@
|
|
|
|
SH_SUFFIX = @SH_SUFFIX@
|
|
CLIXON_MAJOR = @CLIXON_VERSION_MAJOR@
|
|
CLIXON_MINOR = @CLIXON_VERSION_MINOR@
|
|
|
|
# Use this clixon lib for linking
|
|
CLIXON_LIB = libclixon.so.$(CLIXON_MAJOR).$(CLIXON_MINOR)
|
|
|
|
# For dependency
|
|
LIBDEPS = $(top_srcdir)/lib/src/$(CLIXON_LIB)
|
|
|
|
LIBS = -L$(top_srcdir)/lib/src @LIBS@ $(top_srcdir)/lib/src/$(CLIXON_LIB)
|
|
|
|
CPPFLAGS = @CPPFLAGS@
|
|
|
|
INCLUDES = -I. -I$(top_srcdir)/lib/src -I$(top_srcdir)/lib -I$(top_srcdir)/include -I$(top_srcdir) @INCLUDES@
|
|
|
|
|
|
SUBDIRS = text
|
|
|
|
.PHONY: all clean depend install $(SUBDIRS)
|
|
|
|
APPSRC = datastore_client.c
|
|
APPOBJ = $(APPSRC:.c=.o)
|
|
APPL = datastore_client
|
|
|
|
all: $(SUBDIRS) $(APPL)
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .c .o
|
|
|
|
.c.o:
|
|
$(CC) $(INCLUDES) -D__PROGRAM__=\"$(APPL)\" $(CPPFLAGS) $(CFLAGS) -c $<
|
|
|
|
$(APPL) : $(APPOBJ) $(LIBDEPS)
|
|
$(CC) $(LDFLAGS) $(APPOBJ) $(LIBS) -o $@
|
|
|
|
|
|
depend:
|
|
for i in $(SUBDIRS); \
|
|
do (cd $$i; $(MAKE) $(MFLAGS) $@); done
|
|
|
|
$(SUBDIRS):
|
|
(cd $@; $(MAKE) $(MFLAGS) all)
|
|
|
|
install-include:
|
|
for i in $(SUBDIRS); \
|
|
do (cd $$i ; $(MAKE) $(MFLAGS) $@)||exit 1; done;
|
|
|
|
install:
|
|
for i in $(SUBDIRS); \
|
|
do (cd $$i && $(MAKE) $(MFLAGS) $@)||exit 1; done
|
|
|
|
uninstall:
|
|
for i in $(SUBDIRS); \
|
|
do (cd $$i && $(MAKE) $(MFLAGS) $@)||exit 1; done
|
|
|
|
clean:
|
|
rm -f *.core $(APPL) $(APPOBJ)
|
|
for i in $(SUBDIRS); \
|
|
do (cd $$i; $(MAKE) $(MFLAGS) $@); done
|
|
|
|
distclean: clean
|
|
rm -f Makefile *~ .depend
|
|
for i in $(SUBDIRS); \
|
|
do (cd $$i; $(MAKE) $(MFLAGS) $@); done
|
|
|
|
TAGS:
|
|
find $(srcdir) -name '*.[chyl]' -print | etags -
|