Forum Discussion
NASL Library Optimization This update optimizes many files,...
NASL Library Optimization
This update optimizes many files, so the plugin feed update downloaded after this change will be larger than usual. For a Windows agent it will be 47 MB, while for a Nessus scanner it will be 130 MB.
Change
We are always looking for ways to optimize our customer experience. As part of laying the groundwork for the optimization, we have overhauled and enhanced the NASL Library Include files. No existing functionality has changed, however custom plugins should be reviewed.
Target Release Date
June 15 2020
Impact
The transition should be seamless for most customers. However, if customers have developed custom plugins using any of the optimized NASL Library include files, we recommend taking the actions listed in the next section. This change will impact custom plugins once customers update their plugin feed to those published on or after June 15, 2020. Tenable.sc and Tenable.io customers are not affected; however; this is applicable to all supported versions of Nessus. We also recommend that Tenable.sc users who continue to create custom plugins review the NASL Library optimizations listed in the Appendix for future reference so they can leverage the optimized versions of NASL Library include files.
Next steps for Nessus customers
We recommend customers review their custom plugins after the changes. While no issues are expected, some custom plugins may need to be updated based on the guidance in the Appendix.
If you experience what you believe is a false positive or false negative scan result because of this change, please contact Tenable Customer Support.
The feed serial for this change is 2020061505031.
Appendix
Additional guidance regarding function signature changes
All variables need to be declared before use (new as of Nessus v10.0.0):
- Use global_var when a variable is a global variable in a library
- Use var or local_var for local variables. Both var and local_var may be used inside a function to declare a local variable, but var is preferred as only local variables can be declared within functions, and var is more concise.
Multiple versions of get_http_port() have been merged. Uses of this function that rely on the definition in http_func.inc (as opposed to http_misc_func.inc) must add the argument "embedded:TRUE" to the call to restore the original behavior.
The keepalive versions of some web functions have been renamed as part of our optimization efforts.
http_check_remote_code() -> http_check_remote_code_ka()
http_get_cache() -> http_get_cache_ka()
http_keepalive_enabled() -> http_keepalive_enabled_ka()
Non-keepalive versions of the functions remain, but if the target being accessed requires the HTTP keepalive header to be set, then the custom plugin needs to be updated.
__________________________________
Tenable Research Release Highlights are posted in advance of significant new releases or updates to existing plugins or audit files that are important for early customer notification.
2 Replies
- Anonymous
Very cool, and how can we get access to this Library, unless i am overlooking it.
Thanks
- Anonymous
These changes are to all libraries, and they will be available in the feed through the usual plugin update process. Simply continue updating plugins as normal and you will receive this update.