ext-auth Plugin
Purpose
The ext-auth plugin for libcharon invokes an external script to implement
custom authorization rules.
The plugin is disabled by default and can be enabled with the
./configure option
--enable-ext-auth
Implementation
If the plugin is configured, it invokes the command under a shell and evaluates
the return value. If the command exits cleanly with an exit code of 0
authorization is granted. Otherwise IKE SA authorization is rejected usually
resulting in an AUTH_FAILED notification.
The configured command is invoked under a shell (sh -c) with the following
environment variables set:
| Variable | Description | 
|---|---|
IKE_UNIQUE_ID  | 
The IKE_SA numerical unique identifier  | 
IKE_NAME  | 
The peer configuration connection name  | 
IKE_LOCAL_HOST  | 
Local IKE IP address  | 
IKE_REMOTE_HOST  | 
Remote IKE IP address  | 
IKE_LOCAL_ID  | 
Local IKE identity  | 
IKE_REMOTE_ID  | 
Remote IKE identity  | 
IKE_REMOTE_EAP_ID  | 
Remote EAP or XAuth identity, if used  | 
Configuration
The ext-auth plugin is configured using the following options in the
charon.plugins.ext-auth
section of strongswan.conf:
| Key | Default | Description | 
|---|---|---|
charon.plugins.ext-auth.script  | 
Script or command to execute  |