* Extended the Restconf implementation with a limited www-data
* This is an experimental implementation
* Added `www-data` feature and two new config options to clixon-config.yang:
* `CLICON_WWW_DATA_PATH`
* `CLICON_WWW_DATA_ROOT`
* The limited implemtation is as follows:
* path: Local files within `CLICON_WWW_DATA_ROOT`
* operation GET, HEAD, or OPTIONS
* query parameters not supported
* indata should be NULL (no write operations)
* Limited media: text/html, JavaScript, image, and css
* Authentication as restconf
Generic changes:
* Uniform path selection across fcgi, native http/1 + http/2
This commit is contained in:
parent
e1bec5f6dd
commit
76213057b6
16 changed files with 572 additions and 41 deletions
|
|
@ -50,6 +50,10 @@ module clixon-config {
|
|||
description
|
||||
"Added option:
|
||||
CLICON_NETCONF_BASE_CAPABILITY
|
||||
CLICON_WWW_DATA_PATH
|
||||
CLICON_WWW_DATA_ROOT
|
||||
Added feature:
|
||||
www-data
|
||||
Released in Clixon 5.7";
|
||||
}
|
||||
revision 2022-02-11 {
|
||||
|
|
@ -212,6 +216,20 @@ module clixon-config {
|
|||
description
|
||||
"Released in Clixon 3.8";
|
||||
}
|
||||
feature www-data {
|
||||
description
|
||||
"This feature allows for a very limited www-data function as
|
||||
addition to RESTCONF.
|
||||
it is limited to:
|
||||
1. path: Local files within WWW_DATA_ROOT
|
||||
2. operation GET or HEAD
|
||||
3. query parameters not supported
|
||||
4. indata should be NULL (no write operations)
|
||||
5. Limited media: text/html, JavaScript, image, and css
|
||||
6. Authentication as restconf
|
||||
7. HTTP/1+2, TLS as restconf";
|
||||
}
|
||||
|
||||
extension search_index {
|
||||
description "This list argument acts as a search index using optimized binary search.
|
||||
";
|
||||
|
|
@ -601,6 +619,19 @@ module clixon-config {
|
|||
Note this also disables plain http/2 in prior-knowledge, that is, in http/2-only mode.
|
||||
HTTP/2 in https(TLS) is unaffected";
|
||||
}
|
||||
leaf CLICON_WWW_DATA_PATH {
|
||||
if-feature "www-data";
|
||||
type string;
|
||||
description
|
||||
"If set, enable www data on this sub-path";
|
||||
}
|
||||
leaf CLICON_WWW_DATA_ROOT {
|
||||
if-feature "www-data";
|
||||
type string;
|
||||
default "/var/www";
|
||||
description
|
||||
"public web root";
|
||||
}
|
||||
leaf CLICON_CLI_DIR {
|
||||
type string;
|
||||
description
|
||||
|
|
|
|||
|
|
@ -15,6 +15,16 @@ module clixon-restconf {
|
|||
|
||||
description
|
||||
"This YANG module provides a data-model for the Clixon RESTCONF daemon.
|
||||
There is also clixon-config also including some restconf options.
|
||||
The separation is not always logical but there are some reasons for the split:
|
||||
1. Some data (ie 'socket') is structurally complex and cannot be expressed as a
|
||||
simple option
|
||||
2. clixon-restconf is defined as a macro/grouping and can be included in
|
||||
other YANGs. In particular, it can be used inside a datastore, which
|
||||
is not possible for clixon-config.
|
||||
3. Related to (2), options that should not be settable in a datastore should be
|
||||
in clixon-config
|
||||
|
||||
***** BEGIN LICENSE BLOCK *****
|
||||
Copyright (C) 2020 Olof Hagsand and Rubicon Communications, LLC(Netgate)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue