[strongSwan-dev] [strongSwan] implementing plugin version checking

Noel Kuntze noel.kuntze+strongswan-dev-ml at thermi.consulting
Fri May 19 00:18:09 CEST 2017


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hello list,

I am working on implementing version checking for plugins to prevent the mixing of different
library and plugin versions. This has accidently happened in the past and caused issues.
Implementing this will reduce the work load in support slightly.

The code I wrote thus far is in the "plugin-version-check" branch[1] in my strongSwan repo fork[2]

It works by accessing the "version" attribute of the public interface of the plugin during load time
and compares it with the "version" attribute of libstrongswan. That obviously requires ever plugin
to have that attribute set.

I stumbled upon the problem, that to define a plugin's version and make sure that it is included in the shared object
statically, I'd need to touch that plugin's source files. So if I wanted to introduce version checking,
I'd need to edit every single plugin and at the same time, it will cause that third party plugins won't build
without changes.

Is there another solution to this problem?

Kind regards,
Noel

[1] https://github.com/Thermi/strongswan/tree/plugin-version-check
[2] https://github.com/Thermi/strongswan/
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEENSSTvrX3jmMTcq8t9U7kCwc5rWwFAlkeHaEACgkQ9U7kCwc5
rWygHRAAriSS/CWIPpqKUudN5eZ6rAG8MedQeHZO5M2VcKwOP6/E0aO/BF9qY03C
gLPjTeCKCn17UdvPoHumEVv2wiZ9EgmBsYBQ+SYR9KB8fJNnKjtzESjZjxhiLES0
MKPmg+MMrvfdvPYKuuFxiG8xwgR5Mo470lX2Jljp4QUQXWDshA07w0qx2bwSWMjo
ilrxZykww0jIlMifcgw6myN1pnzGeonM6P+3o4Mdpbk5c4NFPonU8vfWSoao/uVd
KkTSPlKdldDmtQgHefp2BI7RYAX/1qIeVOGIss42wo4XjZx+AnuP3N3iLd6zLTib
wHeTrf7un2vTAs0FdHRFuq8Z/KfgX4MtpWuMqP6AfVMuh2MMs8a+Q+zfcrJP3UsG
NiRKpXv4E5c3tTwooPF0zD3mS/1wE5PXHO13hcYCxqvjV40OsN+NyrwM/drzsp+i
J3QUOX8SZ3chZOy+5I4sb6nP/HFL05j5V739HTu/pCKQboyaahM0mgZc3sUfkHPY
SHEh4QughQM9v3xtVIBccPspIdyDmO4uC6SWPJAuqKNPY/rLomF4gTw06qBUkymW
+psIZwefD9jUgczkxSbBkiPKAaq1FGSAhyo95Hx4JvDubJ15QZO6MtcLy9ogkYN7
wo02JAcoF5gZHixu+Rr8P2zpI81D7Qkip45II+qfybuBoAjSvuE=
=WPLP
-----END PGP SIGNATURE-----


More information about the Dev mailing list