security::driver (public)

 security::driver

Defined in packages/acs-tcl/tcl/security-procs.tcl

Return the secure driver if available

Author:
Gustaf Neumann

Partial Call Graph (max 5 caller/called nodes):
%3 security::get_https_port security::get_https_port (private) security::driver security::driver security::get_https_port->security::driver ad_server_modules ad_server_modules (private) security::driver->ad_server_modules

Testcases:
No testcase defined.
Source code:
    if {[info exists ::acs::sdriver]} {
        return $::acs::sdriver
    }
    set ::acs::sdriver ""
    #
    # Get the drivers registered for nsd (this requires at least NaviServer 4.99.15, Jan 2017)
    #
    try {
        foreach driver_info [ns_driver info] {
            if {[dict get $driver_info type] eq "nsssl"} {
                # check, if the current server is using this driver
                set serversSection [ns_configsection ns/module/[dict get $driver_info module]/servers]
                if {$serversSection ne "" && [ns_info server] in [ns_set keys $serversSection]} {
                    set ::acs::sdriver [dict get $driver_info module]
                    break
                }
            }
        }
        #
        # If we can use the "ns_driver info" interface, return the
        # potentially found secure driver.
        #
        return $::acs::sdriver

    } on error {errorMsg} {
        ns_log warning "Probably use of version of NaviServer before 4.99.15: $errorMsg"
    }
    #
    # Fallback for old NaviServer instances
    #
    set server_modules [ad_server_modules]
    foreach driver {nsssl nsssl_v4 nsssl_v6 nsopenssl nsssle https} {
        if {$driver ni $server_modules} continue
        set ::acs::sdriver $driver
        break
    }
    return $::acs::sdriver
Generic XQL file:
packages/acs-tcl/tcl/security-procs.xql

PostgreSQL XQL file:
packages/acs-tcl/tcl/security-procs-postgresql.xql

Oracle XQL file:
packages/acs-tcl/tcl/security-procs-oracle.xql

[ hide source ] | [ make this the default ]
Show another procedure: