Hi,

On 23/01/2019 03:27, Arne Schwabe wrote:
> Am 30.12.18 um 12:29 schrieb Antonio Quartulli:
>> From: Robin Tarsiger <r...@dasyatidae.com>
>>
>> Add a new config option to allow the user to specify a transport plugin
>> implementing the new API. This plugin can be used to manipulate traffic
>> in any way, as designed by the plugin developer.
>>
>> The fondamental advantage of this plugin is that the core codebase does
> typo fundamental.
> 
> 
>> +.B \-\-transport-plugin module-pathname [connection-args]
>                   \- missing here.

oh right! thanks!

> 
>> +Use the loaded plugin module identified by
>> +.B module-pathname
>> +to provide a transport layer for the connection. The
>> +.B module-pathname
>> +must be exactly equivalent to a pathname supplied to a
>> +.B \-\-plugin
>> +option. The same transport plugin may be used for
>> +multiple connections, in which case the
>> +.B \-\-plugin
>> +option which loads it should only occur once. However,
>> +only one transport plugin may be specified per
>> +connection.
> 
> Specify if this includes the .dll/.so suffix or not.

it is matched against the pathname of the --plugin option, therefore the
same form is expected (hence including the .so/.dll extension).

> 
> 
>> +If
>> +.B connection-args
> I think there is a \- missing here.

thanks!

> 
>> +are present, these arguments are passed to the transport
>> +plugin when establishing this connection specifically; this
>> +is distinct from any per-plugin arguments which may have
>> +been specified using the
>> +.B \-\-plugin
>> +option. Documentation for possible
>> +.B connection-args
>> +may be provided along with the plugin in use.
>> +
> 
>> +#ifdef ENABLE_PLUGIN
>> +    /*
>> +     * "proto indirect" may not be specified directly without a
>> +     * transport-plugin, and vice versa.
>> +     */
>> +    if (ce->proto == PROTO_INDIRECT && !ce->transport_plugin_argv)
>> +    {
>> +        msg(M_USAGE, "--proto indirect may not be used without a 
>> transport-plugin line");
>> +    }
>> +
>> +    if (ce->transport_plugin_argv && ce->proto != PROTO_INDIRECT)
>> +    {
>> +        msg(M_USAGE, "--transport-plugin must be used with --proto 
>> indirect");
>> +    }
>> +#endif
> 
> Why are not doing that implicitly when transport-plugin is specified.
> Any particular reason or just to get a more consistent way of specifying it?
> 
> 

It is done implicitly, but the user has a chance to override it because
he may specify indirect6 or indirect4 to limit the plugin to work on a
single address family only.

Therefore, by giving a chance to the user to override the value, we also
need to check that was set.


Cheers,

> 
> Arne
> 

-- 
Antonio Quartulli

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to