file rearrangement

This commit is contained in:
Olof hagsand 2016-02-26 16:05:34 +01:00
parent 9bd941ab76
commit 5a45eca301
124 changed files with 235 additions and 6706 deletions

View file

@ -1,6 +1,6 @@
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -13,39 +13,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
- New option: CLICON_DB_XML with new xml-based database. This makes more efficient
implementation of yang-based applications.
- Changed yang type lookup to be lexically instead of dynamically scoped (as
they should) by using a cache (yang_type_cache).
- Added support for yang 'max' range keyword
- Added option: CLICON_YANG_MODULE_REVISION
- Cleaned up xml translation functions in clicon_xml_map.c
- Extended client/backend protocol with dumping a database config: CLICON_MSG_DBITEMS
- Removed -a (appdir) config options. Use only -f <config-file>.
- Added INET (IPv4) communication between client and backend. Not only UNIX. Experimental.
- Removed clicon_dbmatch.[ch]. Replaced with clicon_dbitems_match().
- Replaced internal clicon_proto_ messaging API with clicon_rpc_.
- Extended tree-based access functions: clicon_dbget_parent/children/descendents/xpath.
- clicon_dbctrl: Renamed brief option from -P to -b and made it work with -m
- Reference documentation using doxygen: make doc, make graphs
- When entering CLI commands, they appear in the same order in xml and reload.
- yang parse error using '+' in strings
- New example: clicon_yang for stateless yang experiments (no backend)
- Event subscription API: add/delete/each
- Long-term mem-leak in chunk-code
- xml parser did not support "<a></a>" only "</a>"
- fixed error in event-loop if timers are used: events before now caused hanging
R3.0.0 23 February 2015
=======================
This is a new major CLICON release.
The changes from previous versions are too numerous to document.
Major recent additions are:
- Added python API
- YANG modeling support
- Updated commit callback API
- Asynchronous notifications
- db2txt
Feb 2016: Forked new clixon repository from clicon

View file

View file

@ -1,23 +1,20 @@
#
# Makefile
#
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#

View file

@ -30,7 +30,7 @@ to build and install CLIgen:
CLIXON is covered by GPLv3, and is also available with commercial license.
See COPYING for license, CHANGELOG for recent changes.
See LICENSE for license, CHANGELOG for recent changes.

View file

@ -1,25 +1,22 @@
#
# Makefile
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
#
VPATH = @srcdir@
srcdir = @srcdir@
top_srcdir = @top_srcdir@

View file

@ -1,25 +1,23 @@
#
# Makefile
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
#
VPATH = @srcdir@
srcdir = @srcdir@
top_srcdir = @top_srcdir@

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/
@ -184,7 +184,7 @@ transaction_print(FILE *f,
td = (transaction_data_t *)th;
fprintf(f, "Transaction id: 0x%llx\n", td->td_id);
fprintf(f, "Transaction id: 0x%" PRIu64 "\n", td->td_id);
fprintf(f, "Removed\n=========\n");
for (i=0; i<td->td_dlen; i++){
xn = td->td_dvec[i];

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -1,25 +1,22 @@
#
# Makefile
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
#
VPATH = @srcdir@
srcdir = @srcdir@

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
* Note, this is a CLICON API file, only exprorted function prototypes should appear here

View file

@ -1,26 +1,22 @@
#
# Makefile
#
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
VPATH = @srcdir@
srcdir = @srcdir@
top_srcdir = @top_srcdir@

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -1,25 +1,22 @@
#
# Makefile
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
#
VPATH = @srcdir@
srcdir = @srcdir@
top_srcdir = @top_srcdir@

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*
@ -200,434 +200,3 @@ xml_filter(cxobj *xfilter,
return retval;
}
/*
* netconf_xpath
* @param[in] xsearch where you search for xpath, grouped by a single top node which
* is not significant and will not be returned in any result.
* @param[in] xfilter the xml sub-tree, eg:
* <filter type="xpath" select="/t:top/t:users/t:user[t:name='fred']"/>
* @param[out] cb Output xml stream. For reply
* @param[out] cb_err Error xml stream. For error reply
* @param[in] xorig Original tree
*
*/
int
netconf_xpath(cxobj *xsearch,
cxobj *xfilter,
cbuf *cb,
cbuf *cb_err,
cxobj *xorig)
{
cxobj *x;
int retval = -1;
char *selector;
cxobj **xv;
size_t xlen;
int i;
if ((selector = xml_find_value(xfilter, "select")) == NULL){
netconf_create_rpc_error(cb_err, xorig,
"operation-failed",
"application",
"error",
NULL,
"select");
goto done;
}
x = NULL;
clicon_errno = 0;
if ((xv = xpath_vec(xsearch, selector, &xlen)) != NULL) {
for (i=0; i<xlen; i++){
x = xv[i];
clicon_xml2cbuf(cb, x, 0, 1);
}
free(xv);
}
/* XXX: NULL means error sometimes */
if (clicon_errno){
netconf_create_rpc_error(cb_err, xorig,
"operation-failed",
"application",
"error",
clicon_err_reason,
"select");
goto done;
}
retval = 0;
done:
return retval;
}
#ifdef NOTUSED
/*
* in edit_config, we copy a tree to the config. But some wthings shouldbe
* cleaned:
* - operation attribute
*/
static int
netconf_clean(cxobj *xn)
{
cxobj *xa;
cxobj *x;
if ((xa = xml_find(xn, "operation")) != NULL &&
xml_type(xa) == CX_ATTR)
xml_prune(xn, xa, 1);
x = NULL;
while ((x = xml_child_each(xn, x, CX_ELMNT)) != NULL)
netconf_clean(x);
return 0;
}
/*
* get_operation
* get the value of the "operation" attribute and change op if given
*/
static int
get_operation(cxobj *xn,
enum operation_type *op,
cbuf *xf_err,
cxobj *xorig)
{
char *opstr;
if ((opstr = xml_find_value(xn, "operation")) != NULL){
if (strcmp("merge", opstr) == 0)
*op = OP_MERGE;
else
if (strcmp("replace", opstr) == 0)
*op = OP_REPLACE;
else
if (strcmp("create", opstr) == 0)
*op = OP_CREATE;
else
if (strcmp("delete", opstr) == 0)
*op = OP_DELETE;
else
if (strcmp("remove", opstr) == 0)
*op = OP_REMOVE;
else{
netconf_create_rpc_error(xf_err, xorig,
"bad-attribute",
"protocol",
"error",
NULL,
"<bad-attribute>operation</bad-attribute>");
return -1;
}
}
return 0;
}
/* forward */
static int
xml_edit(cxobj *filter,
cxobj *parent,
enum operation_type op,
cbuf *xf_err,
cxobj *xorig);
/*! Merge two XML trees according to RFC4741/Junos
* 1. in configuration(parent) but not in new(filter) -> remain in configuration
* 2. not in configuration but in new -> add to configuration
* 3. Both in configuration and new: Do 1.2.3 with children.
* A key is: the configuration data identified by the element
*/
static int
edit_selection(cxobj *filter,
cxobj *parent,
enum operation_type op,
cbuf *xf_err,
cxobj *xorig)
{
int retval = -1;
assert(filter && parent && strcmp(xml_name(filter), xml_name(parent))==0);
fprintf(stderr, "%s: %s\n", __FUNCTION__, xml_name(filter));
switch (op){
case OP_MERGE:
break;
case OP_REPLACE:
xml_prune(xml_parent(parent), parent, 1);
break;
case OP_CREATE:
netconf_create_rpc_error(xf_err, xorig,
NULL,
"protocol",
"error",
"statement creation failed",
"<bad-element></bad-element>");
goto done;
break;
case OP_DELETE:
fprintf(stderr, "%s: %s DELETE\n", __FUNCTION__, xml_name(filter));
if (xml_child_nr(parent) == 0){
fprintf(stderr, "%s: %s ERROR\n", __FUNCTION__, xml_name(filter));
netconf_create_rpc_error(xf_err, xorig,
NULL,
"protocol",
"error",
"statement not found",
"<bad-element></bad-element>");
goto done;
}
/* fall through */
case OP_REMOVE:
fprintf(stderr, "%s: %s REMOVE\n", __FUNCTION__, xml_name(filter));
xml_prune(xml_parent(parent), parent, 1);
break;
case OP_NONE:
break;
}
retval = 0;
netconf_ok_set(1); /* maybe cc_ok shouldnt be set if we continue? */
done:
return retval;
}
/*
* XXX: not called from external?
*/
static int
edit_match(cxobj *filter,
cxobj *parent,
enum operation_type op,
cbuf *xf_err,
cxobj *xorig,
int match
)
{
cxobj *f;
cxobj *s;
cxobj *copy;
int retval = -1;
clicon_debug(1, "%s: %s op:%d", __FUNCTION__, xml_name(filter), op);
if (match)
switch (op){
case OP_REPLACE:
case OP_CREATE:
s = NULL;
while ((s = xml_child_each(parent, s, -1)) != NULL){
xml_prune(parent, s, 1);
s = NULL;
}
if (xml_copy(filter, parent) < 0)
goto done;
netconf_clean(parent);
retval = 0;
netconf_ok_set(1);
goto done;
break;
case OP_DELETE:
case OP_REMOVE:
xml_prune(xml_parent(parent), parent, 1);
netconf_ok_set(1);
goto done;
break;
case OP_MERGE:
case OP_NONE:
break;
}
f = NULL;
while ((f = xml_child_each(filter, f, CX_ELMNT)) != NULL) {
s = xml_find(parent, xml_name(f));
switch (op){
case OP_MERGE:
/* things in filter:
not in conf should be added
in conf go down recursive
*/
if (s == NULL && match){
if ((copy = xml_new(xml_name(f), parent)) == NULL)
goto done;
if (xml_copy(f, copy) < 0)
goto done;
netconf_clean(copy);
}
else{
s = NULL;
while ((s = xml_child_each(parent, s, CX_ELMNT)) != NULL) {
if (strcmp(xml_name(f), xml_name(s)))
continue;
if ((retval = xml_edit(f, s, op, xf_err, xorig)) < 0)
goto done;
}
}
break;
case OP_REPLACE:
#if 1
/* things in filter
in conf: remove from conf and
add to conf
*/
// if (!match)
// break;
if (s != NULL)
xml_prune(parent, s, 1);
if ((copy = xml_new(xml_name(f), parent)) == NULL)
goto done;
if (xml_copy(f, copy) < 0)
goto done;
netconf_clean(copy);
#endif
break;
case OP_CREATE:
#if 0
/* things in filter
in conf: error
else add to conf
*/
if (!match)
break;
if (s != NULL){
netconf_create_rpc_error(xf_err, xorig,
NULL,
"protocol",
"error",
"statement creation failed",
"<bad-element></bad-element>");
goto done;
}
if ((copy = xml_new(xml_name(f), parent)) == NULL)
goto done;
if (xml_copy(f, copy) < 0)
goto done;
netconf_clean(copy);
#endif
break;
case OP_DELETE:
/* things in filter
if not in conf: error
else remove from conf
*/
#if 0
if (!match)
break;
if (s == NULL){
netconf_create_rpc_error(xf_err, xorig,
NULL,
"protocol",
"error",
"statement not found",
"<bad-element></bad-element>");
goto done;
}
#endif
/* fall through */
case OP_REMOVE:
/* things in filter
remove from conf
*/
#if 0
if (!match)
break;
xml_prune(parent, s, 1);
#endif
break;
case OP_NONE:
/* recursive descent */
s = NULL;
while ((s = xml_child_each(parent, s, CX_ELMNT)) != NULL) {
if (strcmp(xml_name(f), xml_name(s)))
continue;
if ((retval = xml_edit(f, s, op, xf_err, xorig)) < 0)
goto done;
}
break;
}
} /* while f */
retval = 0;
netconf_ok_set(1); /* maybe cc_ok shouldnt be set if we continue? */
done:
return retval;
}
/*
* xml_edit
* merge filter into parent
* XXX: not called from external?
*/
static int
xml_edit(cxobj *filter,
cxobj *parent,
enum operation_type op,
cbuf *xf_err,
cxobj *xorig)
{
cxobj *attr;
cxobj *f;
cxobj *s;
int retval = -1;
char *an, *af;
char *fstr, *sstr;
int keymatch = 0;
get_operation(filter, &op, xf_err, xorig);
/* 1. First try selection: filter is empty */
if (xml_child_nr(filter) == 0){ /* no elements? */
retval = edit_selection(filter, parent, op, xf_err, xorig);
goto done;
}
if (xml_child_nr(filter) == 1 && /* same as above */
xpath_first(filter, "/[@operation]")){
retval = edit_selection(filter, parent, op, xf_err, xorig);
goto done;
}
/* 2. Check attribute match */
attr = NULL;
while ((attr = xml_child_each(filter, attr, CX_ATTR)) != NULL) {
af = xml_value(attr);
an = xml_find_value(filter, xml_name(attr));
if (af && an && strcmp(af, an)==0)
; // match
else
goto nomatch;
}
/* 3. Check content match */
/*
* For content-match we do a somewhat strange thing, we find
* a match in first content-node and assume that is unique
* and then we remove/replace that
* For merge we just continue
*/
f = NULL;
while ((f = xml_child_each(filter, f, CX_ELMNT)) != NULL) {
if ((fstr = leafstring(f)) == NULL)
continue;
/* we found a filter leaf-match: no return we say it should match*/
if ((s = xml_find(parent, xml_name(f))) == NULL)
goto nomatch;
if ((sstr = leafstring(s)) == NULL)
goto nomatch;
if (strcmp(fstr, sstr))
goto nomatch;
keymatch++;
break; /* match */
}
if (debug && keymatch){
fprintf(stderr, "%s: match\n", __FUNCTION__);
fprintf(stderr, "%s: filter:\n", __FUNCTION__);
clicon_xml2file(stdout, filter, 0, 1);
fprintf(stderr, "%s: config:\n", __FUNCTION__);
clicon_xml2file(stdout, parent, 0, 1);
}
retval = edit_match(filter, parent, op, xf_err, xorig, keymatch);
/* match */
netconf_ok_set(1);
retval = 0;
done:
return retval;
nomatch:
return 0;
}
#endif /* NOTUSED */

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*
@ -28,9 +28,5 @@
* Prototypes
*/
int xml_filter(cxobj *xf, cxobj *xn);
int netconf_xpath(cxobj *xsearch,
cxobj *xfilter,
cbuf *xf, cbuf *xf_err,
cxobj *xt);
#endif /* _NETCONF_FILTER_H_ */

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

File diff suppressed because it is too large Load diff

View file

@ -1,77 +0,0 @@
# This file was generated by Autom4te Thu Apr 10 10:06:43 UTC 2014.
# It contains the lists of macros which have been traced.
# It can be safely removed.
@request = (
bless( [
'0',
1,
[
'/usr/share/autoconf'
],
[
'/usr/share/autoconf/autoconf/autoconf.m4f',
'configure.ac'
],
{
'AC_REQUIRE_AUX_FILE' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_SUBST_TRACE' => 1,
'AC_CONFIG_FILES' => 1,
'AC_SUBST' => 1,
'LT_INIT' => 1,
'AC_FC_PP_SRCEXT' => 1,
'_LT_AC_TAGCONFIG' => 1,
'm4_sinclude' => 1,
'AC_FC_FREEFORM' => 1,
'sinclude' => 1,
'AM_PATH_GUILE' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AC_INIT' => 1,
'_AM_COND_ENDIF' => 1,
'AM_PROG_CXX_C_O' => 1,
'm4_pattern_allow' => 1,
'AM_SILENT_RULES' => 1,
'm4_include' => 1,
'_m4_warn' => 1,
'AC_CONFIG_LINKS' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'AM_NLS' => 1,
'AC_FC_SRCEXT' => 1,
'AM_CONDITIONAL' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'_AM_COND_ELSE' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'AC_CONFIG_HEADERS' => 1,
'AM_GNU_GETTEXT' => 1,
'AM_INIT_AUTOMAKE' => 1,
'include' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'_AM_COND_IF' => 1,
'AM_PROG_F77_C_O' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AC_LIBSOURCE' => 1,
'AM_PROG_MOC' => 1,
'AC_FC_PP_DEFINE' => 1,
'_AM_MAKEFILE_INCLUDE' => 1,
'AM_ENABLE_MULTILIB' => 1,
'AC_PROG_LIBTOOL' => 1,
'AM_PROG_FC_C_O' => 1,
'AM_XGETTEXT_OPTION' => 1,
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
'AM_POT_TOOLS' => 1,
'AM_MAINTAINER_MODE' => 1,
'AC_CANONICAL_HOST' => 1,
'AM_PROG_AR' => 1,
'AM_MAKEFILE_INCLUDE' => 1,
'AC_CANONICAL_TARGET' => 1,
'AM_PROG_CC_C_O' => 1,
'LT_SUPPORTED_TAG' => 1,
'm4_pattern_forbid' => 1,
'AH_OUTPUT' => 1,
'AC_CANONICAL_BUILD' => 1
}
], 'Autom4te::Request' )
);

View file

@ -1,452 +0,0 @@
m4trace:configure.ac:26: -1- AC_INIT([lib/clicon/clicon.h.in])
m4trace:configure.ac:26: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.ac:26: -1- m4_pattern_forbid([_AC_])
m4trace:configure.ac:26: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
m4trace:configure.ac:26: -1- m4_pattern_allow([^AS_FLAGS$])
m4trace:configure.ac:26: -1- m4_pattern_forbid([^_?m4_])
m4trace:configure.ac:26: -1- m4_pattern_forbid([^dnl$])
m4trace:configure.ac:26: -1- m4_pattern_forbid([^_?AS_])
m4trace:configure.ac:26: -1- AC_SUBST([SHELL])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([SHELL])
m4trace:configure.ac:26: -1- m4_pattern_allow([^SHELL$])
m4trace:configure.ac:26: -1- AC_SUBST([PATH_SEPARATOR])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
m4trace:configure.ac:26: -1- m4_pattern_allow([^PATH_SEPARATOR$])
m4trace:configure.ac:26: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([PACKAGE_NAME])
m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_NAME$])
m4trace:configure.ac:26: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
m4trace:configure.ac:26: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_VERSION$])
m4trace:configure.ac:26: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([PACKAGE_STRING])
m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_STRING$])
m4trace:configure.ac:26: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
m4trace:configure.ac:26: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([PACKAGE_URL])
m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_URL$])
m4trace:configure.ac:26: -1- AC_SUBST([exec_prefix], [NONE])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([exec_prefix])
m4trace:configure.ac:26: -1- m4_pattern_allow([^exec_prefix$])
m4trace:configure.ac:26: -1- AC_SUBST([prefix], [NONE])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([prefix])
m4trace:configure.ac:26: -1- m4_pattern_allow([^prefix$])
m4trace:configure.ac:26: -1- AC_SUBST([program_transform_name], [s,x,x,])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([program_transform_name])
m4trace:configure.ac:26: -1- m4_pattern_allow([^program_transform_name$])
m4trace:configure.ac:26: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([bindir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^bindir$])
m4trace:configure.ac:26: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([sbindir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^sbindir$])
m4trace:configure.ac:26: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([libexecdir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^libexecdir$])
m4trace:configure.ac:26: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([datarootdir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^datarootdir$])
m4trace:configure.ac:26: -1- AC_SUBST([datadir], ['${datarootdir}'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([datadir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^datadir$])
m4trace:configure.ac:26: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([sysconfdir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^sysconfdir$])
m4trace:configure.ac:26: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([sharedstatedir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^sharedstatedir$])
m4trace:configure.ac:26: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([localstatedir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^localstatedir$])
m4trace:configure.ac:26: -1- AC_SUBST([includedir], ['${prefix}/include'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([includedir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^includedir$])
m4trace:configure.ac:26: -1- AC_SUBST([oldincludedir], ['/usr/include'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([oldincludedir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^oldincludedir$])
m4trace:configure.ac:26: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
['${datarootdir}/doc/${PACKAGE_TARNAME}'],
['${datarootdir}/doc/${PACKAGE}'])])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([docdir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^docdir$])
m4trace:configure.ac:26: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([infodir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^infodir$])
m4trace:configure.ac:26: -1- AC_SUBST([htmldir], ['${docdir}'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([htmldir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^htmldir$])
m4trace:configure.ac:26: -1- AC_SUBST([dvidir], ['${docdir}'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([dvidir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^dvidir$])
m4trace:configure.ac:26: -1- AC_SUBST([pdfdir], ['${docdir}'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([pdfdir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^pdfdir$])
m4trace:configure.ac:26: -1- AC_SUBST([psdir], ['${docdir}'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([psdir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^psdir$])
m4trace:configure.ac:26: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([libdir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^libdir$])
m4trace:configure.ac:26: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([localedir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^localedir$])
m4trace:configure.ac:26: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([mandir])
m4trace:configure.ac:26: -1- m4_pattern_allow([^mandir$])
m4trace:configure.ac:26: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_NAME$])
m4trace:configure.ac:26: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
@%:@undef PACKAGE_NAME])
m4trace:configure.ac:26: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
m4trace:configure.ac:26: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
@%:@undef PACKAGE_TARNAME])
m4trace:configure.ac:26: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_VERSION$])
m4trace:configure.ac:26: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
@%:@undef PACKAGE_VERSION])
m4trace:configure.ac:26: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_STRING$])
m4trace:configure.ac:26: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
@%:@undef PACKAGE_STRING])
m4trace:configure.ac:26: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
m4trace:configure.ac:26: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
@%:@undef PACKAGE_BUGREPORT])
m4trace:configure.ac:26: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
m4trace:configure.ac:26: -1- m4_pattern_allow([^PACKAGE_URL$])
m4trace:configure.ac:26: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
@%:@undef PACKAGE_URL])
m4trace:configure.ac:26: -1- AC_SUBST([DEFS])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([DEFS])
m4trace:configure.ac:26: -1- m4_pattern_allow([^DEFS$])
m4trace:configure.ac:26: -1- AC_SUBST([ECHO_C])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([ECHO_C])
m4trace:configure.ac:26: -1- m4_pattern_allow([^ECHO_C$])
m4trace:configure.ac:26: -1- AC_SUBST([ECHO_N])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([ECHO_N])
m4trace:configure.ac:26: -1- m4_pattern_allow([^ECHO_N$])
m4trace:configure.ac:26: -1- AC_SUBST([ECHO_T])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([ECHO_T])
m4trace:configure.ac:26: -1- m4_pattern_allow([^ECHO_T$])
m4trace:configure.ac:26: -1- AC_SUBST([LIBS])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.ac:26: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.ac:26: -1- AC_SUBST([build_alias])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([build_alias])
m4trace:configure.ac:26: -1- m4_pattern_allow([^build_alias$])
m4trace:configure.ac:26: -1- AC_SUBST([host_alias])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([host_alias])
m4trace:configure.ac:26: -1- m4_pattern_allow([^host_alias$])
m4trace:configure.ac:26: -1- AC_SUBST([target_alias])
m4trace:configure.ac:26: -1- AC_SUBST_TRACE([target_alias])
m4trace:configure.ac:26: -1- m4_pattern_allow([^target_alias$])
m4trace:configure.ac:38: -1- AC_CONFIG_HEADERS([include/clicon_config.h lib/clicon/clicon.h])
m4trace:configure.ac:40: -1- AC_DEFINE_TRACE_LITERAL([CLICON_VERSION_STRING])
m4trace:configure.ac:40: -1- m4_pattern_allow([^CLICON_VERSION_STRING$])
m4trace:configure.ac:41: -1- AC_DEFINE_TRACE_LITERAL([CLICON_VERSION_MAJOR])
m4trace:configure.ac:41: -1- m4_pattern_allow([^CLICON_VERSION_MAJOR$])
m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([CLICON_VERSION_MINOR])
m4trace:configure.ac:42: -1- m4_pattern_allow([^CLICON_VERSION_MINOR$])
m4trace:configure.ac:43: -1- AC_DEFINE_TRACE_LITERAL([CLICON_VERSION_PATCH])
m4trace:configure.ac:43: -1- m4_pattern_allow([^CLICON_VERSION_PATCH$])
m4trace:configure.ac:46: -1- AC_SUBST([CLICON_VERSION])
m4trace:configure.ac:46: -1- AC_SUBST_TRACE([CLICON_VERSION])
m4trace:configure.ac:46: -1- m4_pattern_allow([^CLICON_VERSION$])
m4trace:configure.ac:47: -1- AC_SUBST([CLICON_VERSION_STRING])
m4trace:configure.ac:47: -1- AC_SUBST_TRACE([CLICON_VERSION_STRING])
m4trace:configure.ac:47: -1- m4_pattern_allow([^CLICON_VERSION_STRING$])
m4trace:configure.ac:48: -1- AC_SUBST([CLICON_VERSION_MAJOR])
m4trace:configure.ac:48: -1- AC_SUBST_TRACE([CLICON_VERSION_MAJOR])
m4trace:configure.ac:48: -1- m4_pattern_allow([^CLICON_VERSION_MAJOR$])
m4trace:configure.ac:49: -1- AC_SUBST([CLICON_VERSION_MINOR])
m4trace:configure.ac:49: -1- AC_SUBST_TRACE([CLICON_VERSION_MINOR])
m4trace:configure.ac:49: -1- m4_pattern_allow([^CLICON_VERSION_MINOR$])
m4trace:configure.ac:50: -1- AC_SUBST([CLIGEN_VERSION])
m4trace:configure.ac:50: -1- AC_SUBST_TRACE([CLIGEN_VERSION])
m4trace:configure.ac:50: -1- m4_pattern_allow([^CLIGEN_VERSION$])
m4trace:configure.ac:55: -1- AC_CANONICAL_TARGET
m4trace:configure.ac:55: -1- AC_CANONICAL_HOST
m4trace:configure.ac:55: -1- AC_CANONICAL_BUILD
m4trace:configure.ac:55: -1- AC_REQUIRE_AUX_FILE([config.sub])
m4trace:configure.ac:55: -1- AC_REQUIRE_AUX_FILE([config.guess])
m4trace:configure.ac:55: -1- AC_SUBST([build], [$ac_cv_build])
m4trace:configure.ac:55: -1- AC_SUBST_TRACE([build])
m4trace:configure.ac:55: -1- m4_pattern_allow([^build$])
m4trace:configure.ac:55: -1- AC_SUBST([build_cpu], [$[1]])
m4trace:configure.ac:55: -1- AC_SUBST_TRACE([build_cpu])
m4trace:configure.ac:55: -1- m4_pattern_allow([^build_cpu$])
m4trace:configure.ac:55: -1- AC_SUBST([build_vendor], [$[2]])
m4trace:configure.ac:55: -1- AC_SUBST_TRACE([build_vendor])
m4trace:configure.ac:55: -1- m4_pattern_allow([^build_vendor$])
m4trace:configure.ac:55: -1- AC_SUBST([build_os])
m4trace:configure.ac:55: -1- AC_SUBST_TRACE([build_os])
m4trace:configure.ac:55: -1- m4_pattern_allow([^build_os$])
m4trace:configure.ac:55: -1- AC_SUBST([host], [$ac_cv_host])
m4trace:configure.ac:55: -1- AC_SUBST_TRACE([host])
m4trace:configure.ac:55: -1- m4_pattern_allow([^host$])
m4trace:configure.ac:55: -1- AC_SUBST([host_cpu], [$[1]])
m4trace:configure.ac:55: -1- AC_SUBST_TRACE([host_cpu])
m4trace:configure.ac:55: -1- m4_pattern_allow([^host_cpu$])
m4trace:configure.ac:55: -1- AC_SUBST([host_vendor], [$[2]])
m4trace:configure.ac:55: -1- AC_SUBST_TRACE([host_vendor])
m4trace:configure.ac:55: -1- m4_pattern_allow([^host_vendor$])
m4trace:configure.ac:55: -1- AC_SUBST([host_os])
m4trace:configure.ac:55: -1- AC_SUBST_TRACE([host_os])
m4trace:configure.ac:55: -1- m4_pattern_allow([^host_os$])
m4trace:configure.ac:55: -1- AC_SUBST([target], [$ac_cv_target])
m4trace:configure.ac:55: -1- AC_SUBST_TRACE([target])
m4trace:configure.ac:55: -1- m4_pattern_allow([^target$])
m4trace:configure.ac:55: -1- AC_SUBST([target_cpu], [$[1]])
m4trace:configure.ac:55: -1- AC_SUBST_TRACE([target_cpu])
m4trace:configure.ac:55: -1- m4_pattern_allow([^target_cpu$])
m4trace:configure.ac:55: -1- AC_SUBST([target_vendor], [$[2]])
m4trace:configure.ac:55: -1- AC_SUBST_TRACE([target_vendor])
m4trace:configure.ac:55: -1- m4_pattern_allow([^target_vendor$])
m4trace:configure.ac:55: -1- AC_SUBST([target_os])
m4trace:configure.ac:55: -1- AC_SUBST_TRACE([target_os])
m4trace:configure.ac:55: -1- m4_pattern_allow([^target_os$])
m4trace:configure.ac:56: -1- AC_SUBST([CC])
m4trace:configure.ac:56: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:56: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:57: -1- AC_SUBST([CFLAGS])
m4trace:configure.ac:57: -1- AC_SUBST_TRACE([CFLAGS])
m4trace:configure.ac:57: -1- m4_pattern_allow([^CFLAGS$])
m4trace:configure.ac:58: -1- AC_SUBST([LDFLAGS])
m4trace:configure.ac:58: -1- AC_SUBST_TRACE([LDFLAGS])
m4trace:configure.ac:58: -1- m4_pattern_allow([^LDFLAGS$])
m4trace:configure.ac:59: -1- AC_SUBST([INCLUDES])
m4trace:configure.ac:59: -1- AC_SUBST_TRACE([INCLUDES])
m4trace:configure.ac:59: -1- m4_pattern_allow([^INCLUDES$])
m4trace:configure.ac:60: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:60: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.ac:60: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.ac:61: -1- AC_SUBST([LIBS])
m4trace:configure.ac:61: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.ac:61: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.ac:62: -1- AC_SUBST([OBJ_SUFFIX])
m4trace:configure.ac:62: -1- AC_SUBST_TRACE([OBJ_SUFFIX])
m4trace:configure.ac:62: -1- m4_pattern_allow([^OBJ_SUFFIX$])
m4trace:configure.ac:63: -1- AC_SUBST([AR_SUFFIX])
m4trace:configure.ac:63: -1- AC_SUBST_TRACE([AR_SUFFIX])
m4trace:configure.ac:63: -1- m4_pattern_allow([^AR_SUFFIX$])
m4trace:configure.ac:64: -1- AC_SUBST([SH_SUFFIX])
m4trace:configure.ac:64: -1- AC_SUBST_TRACE([SH_SUFFIX])
m4trace:configure.ac:64: -1- m4_pattern_allow([^SH_SUFFIX$])
m4trace:configure.ac:65: -1- AC_SUBST([EXE_SUFFIX])
m4trace:configure.ac:65: -1- AC_SUBST_TRACE([EXE_SUFFIX])
m4trace:configure.ac:65: -1- m4_pattern_allow([^EXE_SUFFIX$])
m4trace:configure.ac:66: -1- AC_SUBST([AR])
m4trace:configure.ac:66: -1- AC_SUBST_TRACE([AR])
m4trace:configure.ac:66: -1- m4_pattern_allow([^AR$])
m4trace:configure.ac:67: -1- AC_SUBST([RANLIB])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([RANLIB])
m4trace:configure.ac:67: -1- m4_pattern_allow([^RANLIB$])
m4trace:configure.ac:68: -1- AC_SUBST([CLICON__LIBDIR])
m4trace:configure.ac:68: -1- AC_SUBST_TRACE([CLICON__LIBDIR])
m4trace:configure.ac:68: -1- m4_pattern_allow([^CLICON__LIBDIR$])
m4trace:configure.ac:74: -1- AC_SUBST([CC])
m4trace:configure.ac:74: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:74: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:74: -1- AC_SUBST([CFLAGS])
m4trace:configure.ac:74: -1- AC_SUBST_TRACE([CFLAGS])
m4trace:configure.ac:74: -1- m4_pattern_allow([^CFLAGS$])
m4trace:configure.ac:74: -1- AC_SUBST([LDFLAGS])
m4trace:configure.ac:74: -1- AC_SUBST_TRACE([LDFLAGS])
m4trace:configure.ac:74: -1- m4_pattern_allow([^LDFLAGS$])
m4trace:configure.ac:74: -1- AC_SUBST([LIBS])
m4trace:configure.ac:74: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.ac:74: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.ac:74: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:74: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.ac:74: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.ac:74: -1- AC_SUBST([CC])
m4trace:configure.ac:74: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:74: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:74: -1- AC_SUBST([CC])
m4trace:configure.ac:74: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:74: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:74: -1- AC_SUBST([CC])
m4trace:configure.ac:74: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:74: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:74: -1- AC_SUBST([CC])
m4trace:configure.ac:74: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:74: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:74: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.ac:74: -1- AC_SUBST_TRACE([ac_ct_CC])
m4trace:configure.ac:74: -1- m4_pattern_allow([^ac_ct_CC$])
m4trace:configure.ac:74: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
m4trace:configure.ac:74: -1- AC_SUBST_TRACE([EXEEXT])
m4trace:configure.ac:74: -1- m4_pattern_allow([^EXEEXT$])
m4trace:configure.ac:74: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
m4trace:configure.ac:74: -1- AC_SUBST_TRACE([OBJEXT])
m4trace:configure.ac:74: -1- m4_pattern_allow([^OBJEXT$])
m4trace:configure.ac:75: -1- AC_SUBST([CPP])
m4trace:configure.ac:75: -1- AC_SUBST_TRACE([CPP])
m4trace:configure.ac:75: -1- m4_pattern_allow([^CPP$])
m4trace:configure.ac:75: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:75: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.ac:75: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.ac:75: -1- AC_SUBST([CPP])
m4trace:configure.ac:75: -1- AC_SUBST_TRACE([CPP])
m4trace:configure.ac:75: -1- m4_pattern_allow([^CPP$])
m4trace:configure.ac:86: -1- AC_SUBST([YACC])
m4trace:configure.ac:86: -1- AC_SUBST_TRACE([YACC])
m4trace:configure.ac:86: -1- m4_pattern_allow([^YACC$])
m4trace:configure.ac:86: -1- AC_SUBST([YACC])
m4trace:configure.ac:86: -1- AC_SUBST_TRACE([YACC])
m4trace:configure.ac:86: -1- m4_pattern_allow([^YACC$])
m4trace:configure.ac:86: -1- AC_SUBST([YFLAGS])
m4trace:configure.ac:86: -1- AC_SUBST_TRACE([YFLAGS])
m4trace:configure.ac:86: -1- m4_pattern_allow([^YFLAGS$])
m4trace:configure.ac:87: -1- AC_SUBST([LEX])
m4trace:configure.ac:87: -1- AC_SUBST_TRACE([LEX])
m4trace:configure.ac:87: -1- m4_pattern_allow([^LEX$])
m4trace:configure.ac:87: -1- AC_SUBST([LEX_OUTPUT_ROOT], [$ac_cv_prog_lex_root])
m4trace:configure.ac:87: -1- AC_SUBST_TRACE([LEX_OUTPUT_ROOT])
m4trace:configure.ac:87: -1- m4_pattern_allow([^LEX_OUTPUT_ROOT$])
m4trace:configure.ac:87: -1- AC_SUBST([LEXLIB])
m4trace:configure.ac:87: -1- AC_SUBST_TRACE([LEXLIB])
m4trace:configure.ac:87: -1- m4_pattern_allow([^LEXLIB$])
m4trace:configure.ac:87: -1- AC_DEFINE_TRACE_LITERAL([YYTEXT_POINTER])
m4trace:configure.ac:87: -1- m4_pattern_allow([^YYTEXT_POINTER$])
m4trace:configure.ac:87: -1- AH_OUTPUT([YYTEXT_POINTER], [/* Define to 1 if `lex\' declares `yytext\' as a `char *\' by default, not a
`char@<:@@:>@\'. */
@%:@undef YYTEXT_POINTER])
m4trace:configure.ac:104: -1- AH_OUTPUT([HAVE_LIBM], [/* Define to 1 if you have the `m\' library (-lm). */
@%:@undef HAVE_LIBM])
m4trace:configure.ac:104: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBM])
m4trace:configure.ac:104: -1- m4_pattern_allow([^HAVE_LIBM$])
m4trace:configure.ac:112: -1- AH_OUTPUT([HAVE_CLIGEN_CLIGEN_H], [/* Define to 1 if you have the <cligen/cligen.h> header file. */
@%:@undef HAVE_CLIGEN_CLIGEN_H])
m4trace:configure.ac:112: -1- AC_SUBST([GREP])
m4trace:configure.ac:112: -1- AC_SUBST_TRACE([GREP])
m4trace:configure.ac:112: -1- m4_pattern_allow([^GREP$])
m4trace:configure.ac:112: -1- AC_SUBST([EGREP])
m4trace:configure.ac:112: -1- AC_SUBST_TRACE([EGREP])
m4trace:configure.ac:112: -1- m4_pattern_allow([^EGREP$])
m4trace:configure.ac:112: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.ac:112: -1- m4_pattern_allow([^STDC_HEADERS$])
m4trace:configure.ac:112: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
@%:@undef STDC_HEADERS])
m4trace:configure.ac:112: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
@%:@undef HAVE_SYS_TYPES_H])
m4trace:configure.ac:112: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
@%:@undef HAVE_SYS_STAT_H])
m4trace:configure.ac:112: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
@%:@undef HAVE_STDLIB_H])
m4trace:configure.ac:112: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
@%:@undef HAVE_STRING_H])
m4trace:configure.ac:112: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
@%:@undef HAVE_MEMORY_H])
m4trace:configure.ac:112: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
@%:@undef HAVE_STRINGS_H])
m4trace:configure.ac:112: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
@%:@undef HAVE_INTTYPES_H])
m4trace:configure.ac:112: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
@%:@undef HAVE_STDINT_H])
m4trace:configure.ac:112: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
@%:@undef HAVE_UNISTD_H])
m4trace:configure.ac:112: -1- AC_DEFINE_TRACE_LITERAL([HAVE_CLIGEN_CLIGEN_H])
m4trace:configure.ac:112: -1- m4_pattern_allow([^HAVE_CLIGEN_CLIGEN_H$])
m4trace:configure.ac:118: -1- AH_OUTPUT([HAVE_DEPOT_H], [/* Define to 1 if you have the <depot.h> header file. */
@%:@undef HAVE_DEPOT_H])
m4trace:configure.ac:118: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEPOT_H])
m4trace:configure.ac:118: -1- m4_pattern_allow([^HAVE_DEPOT_H$])
m4trace:configure.ac:118: -1- AH_OUTPUT([HAVE_QDBM_DEPOT_H], [/* Define to 1 if you have the <qdbm/depot.h> header file. */
@%:@undef HAVE_QDBM_DEPOT_H])
m4trace:configure.ac:118: -1- AC_DEFINE_TRACE_LITERAL([HAVE_QDBM_DEPOT_H])
m4trace:configure.ac:118: -1- m4_pattern_allow([^HAVE_QDBM_DEPOT_H$])
m4trace:configure.ac:119: -1- AH_OUTPUT([HAVE_LIBQDBM], [/* Define to 1 if you have the `qdbm\' library (-lqdbm). */
@%:@undef HAVE_LIBQDBM])
m4trace:configure.ac:119: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBQDBM])
m4trace:configure.ac:119: -1- m4_pattern_allow([^HAVE_LIBQDBM$])
m4trace:configure.ac:121: -1- AH_OUTPUT([HAVE_LIBCRYPT], [/* Define to 1 if you have the `crypt\' library (-lcrypt). */
@%:@undef HAVE_LIBCRYPT])
m4trace:configure.ac:121: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCRYPT])
m4trace:configure.ac:121: -1- m4_pattern_allow([^HAVE_LIBCRYPT$])
m4trace:configure.ac:122: -1- AH_OUTPUT([HAVE_CRYPT_H], [/* Define to 1 if you have the <crypt.h> header file. */
@%:@undef HAVE_CRYPT_H])
m4trace:configure.ac:122: -1- AC_DEFINE_TRACE_LITERAL([HAVE_CRYPT_H])
m4trace:configure.ac:122: -1- m4_pattern_allow([^HAVE_CRYPT_H$])
m4trace:configure.ac:125: -1- AH_OUTPUT([HAVE_SYS_UCRED_H], [/* Define to 1 if you have the <sys/ucred.h> header file. */
@%:@undef HAVE_SYS_UCRED_H])
m4trace:configure.ac:125: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_UCRED_H])
m4trace:configure.ac:125: -1- m4_pattern_allow([^HAVE_SYS_UCRED_H$])
m4trace:configure.ac:130: -1- AH_OUTPUT([HAVE_LINUX_IF_VLAN_H], [/* Define to 1 if you have the <linux/if_vlan.h> header file. */
@%:@undef HAVE_LINUX_IF_VLAN_H])
m4trace:configure.ac:130: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LINUX_IF_VLAN_H])
m4trace:configure.ac:130: -1- m4_pattern_allow([^HAVE_LINUX_IF_VLAN_H$])
m4trace:configure.ac:132: -1- AH_OUTPUT([HAVE_LIBSOCKET], [/* Define to 1 if you have the `socket\' library (-lsocket). */
@%:@undef HAVE_LIBSOCKET])
m4trace:configure.ac:132: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSOCKET])
m4trace:configure.ac:132: -1- m4_pattern_allow([^HAVE_LIBSOCKET$])
m4trace:configure.ac:133: -1- AH_OUTPUT([HAVE_LIBNSL], [/* Define to 1 if you have the `nsl\' library (-lnsl). */
@%:@undef HAVE_LIBNSL])
m4trace:configure.ac:133: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBNSL])
m4trace:configure.ac:133: -1- m4_pattern_allow([^HAVE_LIBNSL$])
m4trace:configure.ac:134: -1- AH_OUTPUT([HAVE_LIBDL], [/* Define to 1 if you have the `dl\' library (-ldl). */
@%:@undef HAVE_LIBDL])
m4trace:configure.ac:134: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
m4trace:configure.ac:134: -1- m4_pattern_allow([^HAVE_LIBDL$])
m4trace:configure.ac:136: -1- AH_OUTPUT([HAVE_INET_ATON], [/* Define to 1 if you have the `inet_aton\' function. */
@%:@undef HAVE_INET_ATON])
m4trace:configure.ac:136: -1- AH_OUTPUT([HAVE_SIGACTION], [/* Define to 1 if you have the `sigaction\' function. */
@%:@undef HAVE_SIGACTION])
m4trace:configure.ac:136: -1- AH_OUTPUT([HAVE_SIGVEC], [/* Define to 1 if you have the `sigvec\' function. */
@%:@undef HAVE_SIGVEC])
m4trace:configure.ac:136: -1- AH_OUTPUT([HAVE_STRLCPY], [/* Define to 1 if you have the `strlcpy\' function. */
@%:@undef HAVE_STRLCPY])
m4trace:configure.ac:136: -1- AH_OUTPUT([HAVE_STRSEP], [/* Define to 1 if you have the `strsep\' function. */
@%:@undef HAVE_STRSEP])
m4trace:configure.ac:136: -1- AH_OUTPUT([HAVE_STRNDUP], [/* Define to 1 if you have the `strndup\' function. */
@%:@undef HAVE_STRNDUP])
m4trace:configure.ac:136: -1- AH_OUTPUT([HAVE_ALPHASORT], [/* Define to 1 if you have the `alphasort\' function. */
@%:@undef HAVE_ALPHASORT])
m4trace:configure.ac:136: -1- AH_OUTPUT([HAVE_VERSIONSORT], [/* Define to 1 if you have the `versionsort\' function. */
@%:@undef HAVE_VERSIONSORT])
m4trace:configure.ac:136: -1- AH_OUTPUT([HAVE_STRVERSCMP], [/* Define to 1 if you have the `strverscmp\' function. */
@%:@undef HAVE_STRVERSCMP])
m4trace:configure.ac:149: -1- AH_OUTPUT([DB_KEYCONTENT], [/* Check if extra keys inserted for database lists containing content. Eg
A.n.foo = 3 means A.3 @S|@!a=foo exists */
@%:@undef DB_KEYCONTENT])
m4trace:configure.ac:153: -1- AC_DEFINE_TRACE_LITERAL([DB_KEYCONTENT])
m4trace:configure.ac:153: -1- m4_pattern_allow([^DB_KEYCONTENT$])
m4trace:configure.ac:156: -1- AH_OUTPUT([zzzz1], [#include <clicon_custom.h>])
m4trace:configure.ac:158: -1- AC_CONFIG_FILES([Makefile
lib/Makefile
lib/src/Makefile
lib/clicon/Makefile
apps/Makefile
apps/cli/Makefile
apps/backend/Makefile
apps/netconf/Makefile
apps/dbctrl/Makefile
include/Makefile
etc/Makefile
etc/cliconrc
example/Makefile
doc/Makefile
])
m4trace:configure.ac:158: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
You should run autoupdate.], [])
m4trace:configure.ac:158: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.ac:158: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.ac:158: -1- m4_pattern_allow([^LIB@&t@OBJS$])
m4trace:configure.ac:158: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
m4trace:configure.ac:158: -1- AC_SUBST_TRACE([LTLIBOBJS])
m4trace:configure.ac:158: -1- m4_pattern_allow([^LTLIBOBJS$])
m4trace:configure.ac:158: -1- AC_SUBST_TRACE([top_builddir])
m4trace:configure.ac:158: -1- AC_SUBST_TRACE([top_build_prefix])
m4trace:configure.ac:158: -1- AC_SUBST_TRACE([srcdir])
m4trace:configure.ac:158: -1- AC_SUBST_TRACE([abs_srcdir])
m4trace:configure.ac:158: -1- AC_SUBST_TRACE([top_srcdir])
m4trace:configure.ac:158: -1- AC_SUBST_TRACE([abs_top_srcdir])
m4trace:configure.ac:158: -1- AC_SUBST_TRACE([builddir])
m4trace:configure.ac:158: -1- AC_SUBST_TRACE([abs_builddir])
m4trace:configure.ac:158: -1- AC_SUBST_TRACE([abs_top_builddir])

View file

@ -1,20 +1,23 @@
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
#
# CLICON options - Default values
# The origin of this file is run a _first_ time through a pre-processor at

View file

@ -1,20 +1,23 @@
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
#
# Include this file in your application Makefile using eg:
# -include $(datarootdir)/clicon/clicon.mk

3
configure vendored
View file

@ -4191,7 +4191,7 @@ fi
ac_config_files="$ac_config_files Makefile lib/Makefile lib/src/Makefile lib/clicon/Makefile apps/Makefile apps/cli/Makefile apps/backend/Makefile apps/netconf/Makefile apps/dbctrl/Makefile include/Makefile etc/Makefile etc/cliconrc example/Makefile doc/Makefile"
ac_config_files="$ac_config_files Makefile lib/Makefile lib/src/Makefile lib/clicon/Makefile apps/Makefile apps/cli/Makefile apps/backend/Makefile apps/netconf/Makefile apps/dbctrl/Makefile include/Makefile etc/Makefile etc/cliconrc example/Makefile docker/Makefile doc/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@ -4897,6 +4897,7 @@ do
"etc/Makefile") CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;;
"etc/cliconrc") CONFIG_FILES="$CONFIG_FILES etc/cliconrc" ;;
"example/Makefile") CONFIG_FILES="$CONFIG_FILES example/Makefile" ;;
"docker/Makefile") CONFIG_FILES="$CONFIG_FILES docker/Makefile" ;;
"doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;

View file

@ -1,26 +1,26 @@
# To rebuild the `configure' script from this, execute the command
# autoconf
# in the directory containing this script.
#
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
# To rebuild the `configure' script from this, execute the command
# autoconf
# in the directory containing this script.
#
AC_INIT(lib/clicon/clicon.h.in)
@ -168,6 +168,7 @@ AC_OUTPUT(Makefile
etc/Makefile
etc/cliconrc
example/Makefile
docker/Makefile
doc/Makefile
)

View file

@ -138,3 +138,12 @@ Check for inconsistencies in the XML trees and if they fail, make an clicon_err(
clicon_err(OE_PLUGIN, 0, "Route %s lacks ipv4 addr", name);
return -1;
The validation or commit will then be aborted.
Q: How do you use netconf?
--------------------------
As an alternative to cli configuration, you can use netconf
directly. Easiesty is to just pipe netconf commands to the
clicon_netconf application.
Example:
echo "<rpc><get-config><source><candidate/></source><configuration/></get-config></rpc>]]>]]>" | clicon_netconf -f /usr/local/etc/routing.conf

View file

@ -1,27 +1,22 @@
#
# CVS Version: $Id: Makefile.in,v 1.23 2013/09/11 18:35:14 olof Exp $
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLIXON.
#
# This file is part of CLICON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
#
# This makefile contains conditionals that dont work with bsd make
prefix = @prefix@
datarootdir = @datarootdir@
docdir = @docdir@

View file

@ -1,25 +1,22 @@
#
# Makefile
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
#
VPATH = @srcdir@
srcdir = @srcdir@
top_srcdir = @top_srcdir@

View file

@ -1,3 +1,23 @@
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLIXON.
#
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
# local variables may be needed below
prefix=@prefix@
exec_prefix=@exec_prefix@

View file

@ -1,25 +1,22 @@
#
# Makefile
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
#
VPATH = @srcdir@
srcdir = @srcdir@
top_srcdir = @top_srcdir@

View file

@ -1,4 +1,8 @@
Examples using netconf
Clixon yang routing example
+++++++++++++++++++++++++++
1. Setting data example using netconf
-------------------------------------
<rpc><edit-config><target><candidate/></target><config>
<interfaces>
@ -15,13 +19,15 @@ Examples using netconf
</interfaces>
</config></edit-config></rpc>]]>]]>
* no filter + no config
<rpc><get-config><source><candidate/></source></get-config></rpc>]]>]]>
* filter subnet + no config:
<rpc><get-config><source><candidate/></source><filter/></get-config></rpc>]]>]]>
* filter xpath + no select:
<rpc><get-config><source><candidate/></source><filter type="xpath"/></get-config></rpc>]]>]]>
* filter subnet + config:
<rpc><get-config><source><candidate/></source><filter type="subtree"><configuration><interfaces><interface><ipv4/></interface></interfaces></configuration></filter></get-config></rpc>]]>]]>
* filter xpath + select:
<rpc><get-config><source><candidate/></source><filter type="xpath" select="/interfaces/interface/ipv4"/></get-config></rpc>]]>]]>
2. Getting data using netconf
-----------------------------
<rpc><get-config><source><candidate/></source></get-config></rpc>]]>]]>
<rpc><get-config><source><candidate/></source><filter/></get-config></rpc>]]>]]>
<rpc><get-config><source><candidate/></source><filter type="xpath"/></get-config></rpc>]]>]]>
<rpc><get-config><source><candidate/></source><filter type="subtree"><configuration><interfaces><interface><ipv4/></interface></interfaces></configuration></filter></get-config></rpc>]]>]]>
<rpc><get-config><source><candidate/></source><filter type="xpath" select="/interfaces/interface/ipv4"/></get-config></rpc>]]>]]>

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLIXON; see the file COPYING. If not, see
along with CLIXON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLIXON; see the file COPYING. If not, see
along with CLIXON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -1,25 +1,22 @@
#
# Makefile
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
#
VPATH = @srcdir@
srcdir = @srcdir@
top_srcdir = @top_srcdir@

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
Custom file as boilerplate appended by clicon_config.h

View file

@ -1,22 +1,20 @@
#
# Makefile
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
#

View file

@ -1,20 +1,20 @@
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#

View file

@ -15,9 +15,10 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
* Meta-include file that includes all sub-files in control-lib
* Note: this include files is for external purposes. Do not include this
* file in clicon lib-routines.

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/
/*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
* XML support functions.

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
* XML support functions.

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
* XML XPATH and XSLT functions.

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*/

View file

@ -1,25 +1,22 @@
#
# Makefile
#
# Copyright (C) 2009-2016 Olof Hagsand and Benny Holmgren
#
# This file is part of CLICON.
# This file is part of CLIXON.
#
# CLICON is free software; you can redistribute it and/or modify
# CLIXON is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# CLICON is distributed in the hope that it will be useful,
# CLIXON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with CLICON; see the file COPYING. If not, see
# along with CLIXON; see the file LICENSE. If not, see
# <http://www.gnu.org/licenses/>.
#
#
prefix = @prefix@
datarootdir = @datarootdir@
srcdir = @srcdir@

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

View file

@ -15,7 +15,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with CLICON; see the file COPYING. If not, see
along with CLICON; see the file LICENSE. If not, see
<http://www.gnu.org/licenses/>.
*

Some files were not shown because too many files have changed in this diff Show more