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
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel