Blame KNOWNISSUES.md

Packit Service 311553
# Known Issues
Packit Service 311553
Packit Service 311553
## Printer crash
Packit Service 311553
Packit Service 311553
There is a bug in Clang 3.4.2 that causes wrong data tree traversal, which results in a crash.
Packit Service 311553
It can occur during any traversal but it was observed in XML printer while printing default
Packit Service 311553
values. The solution is to compile using either GCC or newer version of Clang. Starting
Packit Service 311553
from which version it works we do not exactly know. Clang 5.0.0 works fine.
Packit Service 311553
Packit Service 311553
## XPath Expressions
Packit Service 311553
Packit Service 311553
### Axes
Packit Service 311553
Packit Service 311553
libyang uses its own XPath implementation to evaluate XPath expressions. The implementation
Packit Service 311553
completely lacks support for [axes](https://www.w3.org/TR/1999/REC-xpath-19991116/#axes).
Packit Service 311553
Nevertheless, it should always be possible to write equivalent expressions without
Packit Service 311553
the use of axes.
Packit Service 311553
Packit Service 311553
### Deviation Must
Packit Service 311553
Packit Service 311553
If there are any XPath expressions defined as part of a deviation, they include literals,
Packit Service 311553
which are directly compared with identityref nodes (testing whether an identityref has a
Packit Service 311553
specific identity value), and the identity literal used is from the deviation module
Packit Service 311553
(meaning it could be written without a prefix), the prefix is mandatory for libyang
Packit Service 311553
to evaluate the XPath expression correctly.
Packit Service 311553
Packit Service 311553
## Nested Notification/Action Validation
Packit Service 311553
Packit Service 311553
[NMDA RFC](https://tools.ietf.org/html/rfc8342#section-6.2) specifically defines that
Packit Service 311553
the parent data node of an invoked nested notification or action must exist in
Packit Service 311553
the operational datastore. This validation is not implicitly performed by libyang when
Packit Service 311553
validating the operation so if the validation is supposed to happen in full compliance
Packit Service 311553
to this RFC, parent existence must be checked explicitly.
Packit Service 311553
Packit Service 311553
## Wrong API version
Packit Service 311553
Packit Service 311553
Since libyang 1.0, there is a check to make sure that the (user type or extension) plugin
Packit Service 311553
was compiled with the compatible API version. In case there is a plugin with incompatible
Packit Service 311553
API version, the following warning is generated by libyang:
Packit Service 311553
Packit Service 311553
libyang[1]: Processing "user\_date\_and\_time" user type plugin failed, wrong API version - 1 expected, 0 found.
Packit Service 311553
Packit Service 311553
The default path for the plugins is `/usr/local/lib64/libyang/` so you can clean it up
Packit Service 311553
manually or set a different plugin directory via `LIBYANG_EXTENSIONS_PLUGINS_DIR` or
Packit Service 311553
`LIBYANG_USER_TYPES_PLUGINS_DIR` environment variables.
Packit Service 311553