<div dir="ltr"><div>Background to explain the reasoning behind the change 7/7:</div><div><br></div><div>Commits:</div><div>0271917 * Enable more features to to cover more use-cases</div><div>bd04b06 changelog: Enable more features to to cover more use-cases</div><div><br></div><div>Note: Many of those changes are so correlated that this is a one big change for</div><div>now. If needed and ok that interim commits might not be buildable I could split</div><div>it in maybe 3-5 logical pieces. But for now just explaining all the reasoning</div><div>in Detail.</div><div><br></div><div>This change enable more features to to cover more use-cases by the packages</div><div>strongswan.</div><div><br></div><div>As a start it enables this enables all stable plugins according to</div><div><a href="https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist">https://wiki.strongswan.org/projects/strongswan/wiki/Pluginlist</a></div><div><br></div><div>The intention is to make the default packages strongswan more usable without</div><div>forcing users to rebuild more more sophisticated setups.</div><div>Yet on the other hand we don't want to proliferate plugins so most of the</div><div>plugins are added to the extra-plugin package.</div><div>- This is a (late) follow on to the discussion started in 2014 with the subject</div><div>  "Ubuntu strongSwan changes" on pkg-swan-devel list.</div><div>- Some Features might not show up as change in the configure step. That is</div><div>  because they are enabled by default or as dependency to others, and get now</div><div>  "enabled" indirectly due to the additional build dependencies.</div><div>  "pool" is such an example.</div><div>- Of course to be able to enable all stable plugins I had to add several</div><div>  additional build-deps to libjson-c-dev, libldns-dev, libmysqlclient-dev,</div><div>  libpcsclite-dev, libtspi-dev, libsoup2.4-dev and libunbound-dev.</div><div>- In d/control I mention all addtionally enabled plugins in the package</div><div>  descriptions.</div><div>- d/libbstrongswan-*-plugins.install got all the added plugins, libs and conf</div><div>  files.</div><div><br></div><div>On top of the stable default plugins/features this enables two more functions</div><div>based on user request.</div><div>- Also enable kernel-libipsec which is not in upstreams "stable" plugins</div><div>  list. This is based on user requests to make strongswan more useful in</div><div>  userspace of containers.</div><div>  To avoid conflicts it is disabled by default via</div><div>  d/p/dont-load-kernel-libipsec-plugin-by-default.patch as</div><div>  upstream recommends to not load kernel-libipsec by default.</div><div>- integrity-test is another feature people sometimes ask for. It can be</div><div>  considered as a little step (clearly not enough) towards FIPS compliance.</div><div>  It can help the cautious admin to detect accidentially modified plugins.</div><div><br></div><div>Additionally Ubuntu got user requests to make charons default plugin</div><div>installation more useful (<a href="http://pad.lv/1640826">pad.lv/1640826</a>).</div><div>That is eap-mschapv2 for Windows 7+ and modern OSX/iOS using IKEv2 and</div><div>xauth-generic for Android and older OSX/iOS using IKEv1 and XAUTH.</div><div>To be able to do so the change is following the example of the libstrongswan</div><div>plugin packaging and moves those common cases from the "libcharon-extra-plugins"</div><div>to the newly added "libcharon-default-plugins" package</div><div><br></div><div>Furthermore it was identified that the whole use case around TNC seems to be</div><div>a very selective user group.</div><div>See <a href="https://wiki.strongswan.org/projects/1/wiki/trustednetworkconnect">https://wiki.strongswan.org/projects/1/wiki/trustednetworkconnect</a></div><div>Those users (again as with other cases mentioned) might not want to install all</div><div>of the extra-plugins that are needed today. Therefore related functionality is</div><div>moved into packages of its own.</div><div>This allows to use TNC without installing extra-plugins package.</div><div><br></div><div>Debian already stopped to ship libfast as Ubuntu did for a while.</div><div>But it did still mention the associated (and now nor more built) medcli and</div><div>medsrv elements.</div><div>Also it did not disable it on the configure step which should be done if not</div><div>shipping it anyway.</div><div>Therefore drop it from d/control and d/rules accordingly.</div><div><br></div><div>Due to the new plugins and features there are also more libraries being built.</div><div>Those are only needed by plugins in the extras-plugins package, so add the</div><div>libraries there.</div><div>- libtpmtss.so available since 5.5</div><div>- libnttfft.so available since 5.5</div><div>- libmgf1.so available since 5.5.1</div>​</div>