Added by Serj Kalichev 6 months ago

Static build was fixed.

The klish configure script has a special option `--disable-nss` to don't use standard NSS functions. The functions like getpwnam() will simulate standard behaviour. In this mode functions can't resolve user/group names but take only the numbers like '0' for root. But klish can be build fully statically in this mode.

The standard glibc uses dlopen() to implement getpwnam()-like and some other functions. The cause is NSS engine. It allows to use different backends (like LDAP, NIS. etc) for name resolution. The implementations of backends are in the separate shared objects. So NSS-depended functions can't be statically linked in common case (note glibc can be build with special option to enable NSS static linkage).


Added by Serj Kalichev 8 months ago

Bugfix release. It's recommended to update to current version.

  • The COMMAND's attributes 'lock' and 'interrupt' were broken. All commands were always locked and uninterruptible. Fixed.
  • Entered commands with syntax error are visible within log file. Syntax errors are marked as '[syntax]' within log.
  • Minor fixes.


Added by Serj Kalichev 10 months ago

  • Bugfix
  • Implement __uid and __user internal variables
  • Add a rule to create debian package
  • CLISH_PATH accept colon as a separator
  • Help key is '?'. Use INS to insert question symbol itself
  • Add alternative quotation by multi ` symbols
  • Machine oriented protocol


Added by Serj Kalichev over 1 year ago

  • Some source code refactoring
  • The PTYPE can have ACTION to validate parameter. The PTYPE's method must be set to `method="code"`. ACTION must return 0 on success and any other value on error. You can get parameter's value to validate by name `value`. If you want to change value of parameter (make uppercase for example) you can output new value to stdout within ACTION.
  • The PTYPE has `completion` field now. It will be used if PARAM's completion is not defined.
  • The user can press "Enter" or "Space" for illegal commands and arguments. The error message will appear. Earlier engine doesn't allow to press such keys (pressing had no effect) for illegal command line.


Added by Serj Kalichev about 4 years ago

Mostly bugfix release.

  • Fix nested up function when start depth is not 0
  • Interactive mode can't be 1 when isatty is 0
  • Fix args string encoding
  • Fix waiting for child processes

New feature is printing commands in canonical form. You can filter your startup-config with klish. It will check a syntax and output startup-config commands with spaces before them. Each space is one nesting level.

klish-2.1.2 and klish-2.0.5

Added by Serj Kalichev over 5 years ago

Bugfix release. It's strongly recommended to update your klish.

The problem is with FIFO races. You can get it when use something like 'yourscript &' in ACTION script. Klish can hang when cpu is under the high load.


Added by Serj Kalichev over 6 years ago

Bugfix release. It's recommended to update from version klish-2.1.0. The klish-2.1.1 fix regression (2.1.0) with signal handling, CDATA container (libxml2), xslt configuring. Add rtld_global=true/false attribute for PLUGIN tag.


Added by Serj Kalichev over 6 years ago

The klish now supports XSLT transformations. The project can be build with --with-libxslt option. The XSLT engine needs libxml2 library. The clish utility has --xslt(-p) option to set stylesheet file. The embedded stylesheets is also supported.

The plugin mechanism has new CLISH_PLUGIN_OSYM() API to define ACTION functions. This mechanism allows to get all ACTION's stdout output to internal variable. VARs use this internal variable to get their values. See clish_script() function for exmaple. Such function must be added by clish_plugin_add_osym() function. The old API is also supported.


Also available in: Atom