Commit graph

959 commits

Author SHA1 Message Date
Olof hagsand
b2be7e9e1b SNMP frontend, new preli table handling code
Skipped data set and use table-helper only
Specialized SNMP error handling
2022-05-26 19:04:51 +02:00
Olof hagsand
675f4c9f7e SNMP frontend: SNMP2YANG type conversion for snmpset 2022-05-23 14:33:32 +02:00
Olof hagsand
7a1dc5da50 SNMP frontend: Reworked types for GET types translation
YANG enum type, split up enum to int into two functions
2022-05-23 09:27:32 +02:00
Kristofer Hallin
91bed5589a Extended supported types with uint64. 2022-05-22 21:09:03 +02:00
Kristofer Hallin
aea2760cb0 Extended supported types with uint32. 2022-05-21 09:49:08 +02:00
Olof hagsand
ea03363c3a SNMP frontend: Generalized type handling for set functions
SPlit scalar_handler into get and set subfunctions
2022-05-20 15:05:23 +02:00
Olof hagsand
34fe439f53 SNMP frontend, restructure files
Split snmp_mib_yang.c into: snmp_register.[ch] and snmp_handler.[ch]
2022-05-19 16:02:52 +02:00
Olof hagsand
0cf87c75a9 SNMP frontend: Changed yang2xpath to us string, traverse only datanodes 2022-05-19 15:46:35 +02:00
Olof hagsand
7b2eee0158 removed binary added by mistake 2022-05-19 15:46:35 +02:00
Olof hagsand
63620994e8 SNMP frontend: added -z zap command-line option and pid-file exclusive check, fixed mem check 2022-05-19 15:46:35 +02:00
Kristofer Hallin
70ac79c825 Handle errors from clixon_table_create. 2022-05-19 15:46:35 +02:00
Olof hagsand
14faf2b3f0 SNMP frontend: conflict typos, snmp pidfile 2022-05-19 15:46:35 +02:00
Olof hagsand
5a3e2eaae6 SNMP frontend: getnext, oid sanity checks and scalar debug 2022-05-19 15:46:35 +02:00
Kristofer Hallin
338be43e6a New function, clixon_table_create which will clear a table and create any rows, indexes and columns to avoid collissions. 2022-05-19 15:46:35 +02:00
Olof hagsand
38d91a1305 SNMP frontend generic code for tables and clixon backend
Added snmp-msg translation table
Changed test-table to only GET
2022-05-19 15:46:35 +02:00
Olof hagsand
8a208693ba SNMP frontend. New snmp_lib.[ch] and rearranged code into lib
Test: renamed WITH_SNMP -> ENABLE_SNMP
2022-05-19 15:46:35 +02:00
Olof hagsand
3642fde46f SNMP frontend, add int32 + string type for scalars
Added get string test
Added set value for netconf test
2022-05-19 15:46:35 +02:00
Olof hagsand
1b921e874e SNNP frontend. Added SMI default value support and deviation for set 2022-05-19 15:46:35 +02:00
Kristofer Hallin
299554048f For tables use a callback to create indexes, rows etc. 2022-05-19 15:46:35 +02:00
Olof hagsand
63c5846091 SNMP frontend table fix: handler called with heartrate, return 0 2022-05-19 15:46:35 +02:00
Olof hagsand
f1db15c2ad SNMP frontend, RPC of single variable through clixon 2022-05-19 15:46:35 +02:00
Olof hagsand
19c47ee043 SNMP frontend
Fixed table/scalar collision issue
Made the CS variable change said to be in previous commit
2022-05-19 15:46:35 +02:00
Olof hagsand
3dbfbf5b31 Clixon SNMP frontend
Added two new config options to clixon-config.yang: `CLICON_HTTP_DATA_ROOT`
Added new files: apps/snmp/snmp_mib_yang.[ch] for generic MIB/YANG handling
Test: killall quiet
Test: added specific MIB for generic code: <CLICON_SNMP_MIB>NET-SNMP-EXAMPLES-MIB</CLICON_SNMP_MIB>
2022-05-19 15:46:35 +02:00
Olof hagsand
2a98ae5d93 SNMP: replaced testhandler code to use only NET-SNMP-EXAMPLES-MIB for scalar and table 2022-05-19 15:46:35 +02:00
Kristofer Hallin
1894de66a6 Added example for tables. 2022-05-19 15:46:35 +02:00
Olof hagsand
625cc76bde Clixon SNMP frontend update
* Integration of testhandler.c gives proper callback handling
* YANG `clixon-config@2022-03-21.yang` changes:
    * Added option:
      * `CLICON_SNMP_AGENT_SOCK`
2022-05-19 15:46:34 +02:00
Kristofer Hallin
e74bee7a3d Tell the agent to use a Unix socket for communication. 2022-05-19 15:46:08 +02:00
Olof hagsand
b7e991dca9 Clixon SNMP frontend update
Integrated netsnmp agent and clixon event handling, made a workaround of fdset:s
used in the netsnmp API with sockets used in Clixon
Added a hardcoded MIB OID handler as subagent
Added libnetsnmpagent to autotools dependency check
New OE_SNMP error code
2022-05-19 15:46:08 +02:00
Kristofer Hallin
ce326b0238 Move include of signal.h 2022-05-19 15:46:08 +02:00
Olof hagsand
451cbef23d Initial Net-snmp frontend commit
Added apps/snmp with makefiles, autotools, docker adjustment
Minimal snmp_main program
2022-05-19 15:46:08 +02:00
Olof hagsand
50fcedafac Make socket read (SSL_read) error handling more resilient: log and continue instead of exit 2022-05-16 19:34:00 +02:00
Olof hagsand
7b099a5685 Fixed Restconf nghttp2 client EPIPE crash 2022-05-13 13:34:06 +02:00
Olof hagsand
d153bfcd0c Test: restconf notification parallel disabled. start script -l removed 2022-05-12 16:17:26 +02:00
Olof hagsand
9cbe313712 * Fixed: [Keywords containing '-' hyphen are missing from the auto-completion list](https://github.com/clicon/clixon/issues/330)
* Fixed by disabling `cligen_preference_mode`. This may have other side effects.
2022-05-12 14:54:53 +02:00
Olof hagsand
7065d6f760 Test: restconf CN variable, strip curl newline
Fixed a few compile warnings
2022-05-12 09:40:12 +02:00
Olof hagsand
a49cf41d1e * CLI expansion of leafrefs default behavior changed
* In the autocli and handcrafted CLI:s using `expand_dbvar()` the CLI expansion followed the leafrefs to the sources, ie the origin of the leafrefs
    * Instead leafref expansion now only looks at the leafrefs
2022-05-10 10:06:43 +02:00
Olof hagsand
7452813da7 Http data server Fixed binary data retrieval 2022-05-05 18:08:45 +02:00
Olof hagsand
90474d1523 Fixed: A long TLS+HTTP/2 request such as by a browser causing block of other requests.
Test: Disabled privileges test if clixon_restconf started with -r
2022-05-02 10:31:53 +02:00
Olof hagsand
463aa15544 Restconf compile warnings and docs 2022-05-02 10:28:24 +02:00
Olof hagsand
5551d753ef Logging fixes
* Fixed: [Error message seen twice in some cases](https://github.com/clicon/clixon/issues/325)
* Extended `-l` command-line option to all clixon commands with a `none` option, eg `-l n` directs logging to `dev/null`
2022-04-30 11:31:51 +02:00
Olof hagsand
28bd146e5c Added clixon_netconf command-line option -0and changed -H to -1
* `-0` means dont send hello, but fix netconf base version to 0 and use EOM framing
    * `-1` means dont send hello, but fix netconf base version to 1 and use chunked framing
2022-04-29 19:07:12 +02:00
Olof hagsand
f11e4bad6c Http data server changes
* Indirect redirects from directory to `index.html`
  * Added `HTTP_DATA_INTERNAL_REDIRECT` compile-time option
* Added CLICON_RESTCONF_API_ROOT to clixon-config.yang
* Added 404 return without body if neither restconf, data or streams prefix match
* Fixed: HTTP/1 parse error for '/' path
2022-04-28 16:17:07 +02:00
Olof hagsand
84d88c8ad8 Restconf http-data server updates
Check data paths for .., ~ and soft links
Changed semantics of `CLICON_HTTP_DATA_PATH` and `_ROOT`
Change URI catch-all to 404 instead of 400
Fixed some memory leaks
2022-04-26 17:42:53 +02:00
Olof hagsand
e0100a6e3c Fixed: YANG if-feature in config file did not work, was always on
Test: unset test variables
2022-04-23 16:49:09 +02:00
Olof hagsand
404d05950a HTTP data server updates
Check of enable-http-data config option
HTTP/2 Return 400 bad request if no path match
Test: updated yang file revisions, extended restconf config with http-data
2022-04-22 15:23:38 +02:00
Olof hagsand
2a8cedf0c3 Limited http-data static server
* Renamed from www-data to http-data
* New `clixon-restconf@2022-03-21.yang` revision
  * Added option:
    * `enable-http-data`
  * Added feature: `http-data`
* Added new str2str mapper
* Test: new test_http_data.sh, added CI github action testing
2022-04-21 16:02:39 +02:00
Olof hagsand
76213057b6 * 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
2022-04-21 16:01:33 +02:00
Olof hagsand
fa077839f0 Misc sanity checks and documentation 2022-04-19 14:19:29 +02:00
Olof hagsand
6418e030ce RESTCONF FCGI notifications: minor timing adjustments, mostly for testcases 2022-04-18 12:15:26 +02:00
Olof hagsand
600f0616f6 Memory leak/err in notification when closing down
test: restconf notification chunked framing update
2022-04-17 13:30:07 +02:00