diff options
Diffstat (limited to 'pcr/strongswan')
-rw-r--r-- | pcr/strongswan/2222-charon-systemd-sighup.patch | 33 | ||||
-rw-r--r-- | pcr/strongswan/2238-eap-dynamic-auth.patch | 38 | ||||
-rw-r--r-- | pcr/strongswan/PKGBUILD | 27 |
3 files changed, 91 insertions, 7 deletions
diff --git a/pcr/strongswan/2222-charon-systemd-sighup.patch b/pcr/strongswan/2222-charon-systemd-sighup.patch new file mode 100644 index 000000000..544612c20 --- /dev/null +++ b/pcr/strongswan/2222-charon-systemd-sighup.patch @@ -0,0 +1,33 @@ +index 5c7bbd779..fc93e2182 100644 +--- a/src/charon-systemd/charon-systemd.c ++++ b/src/charon-systemd/charon-systemd.c +@@ -241,6 +241,7 @@ static int run() + sigset_t set; + + sigemptyset(&set); ++ sigaddset(&set, SIGHUP); + sigaddset(&set, SIGTERM); + sigprocmask(SIG_BLOCK, &set, NULL); + +@@ -262,6 +263,21 @@ static int run() + } + switch (sig) + { ++ case SIGHUP: ++ { ++ DBG1(DBG_DMN, "signal of type SIGHUP received. Reloading " ++ "configuration"); ++ if (lib->settings->load_files(lib->settings, lib->conf, FALSE)) ++ { ++ charon->load_loggers(charon, NULL, FALSE); ++ lib->plugins->reload(lib->plugins, NULL); ++ } ++ else ++ { ++ DBG1(DBG_DMN, "reloading config failed, keeping old"); ++ } ++ break; ++ } + case SIGTERM: + { + DBG1(DBG_DMN, "SIGTERM received, shutting down"); diff --git a/pcr/strongswan/2238-eap-dynamic-auth.patch b/pcr/strongswan/2238-eap-dynamic-auth.patch new file mode 100644 index 000000000..17b954ea7 --- /dev/null +++ b/pcr/strongswan/2238-eap-dynamic-auth.patch @@ -0,0 +1,38 @@ +diff --git a/src/libcharon/plugins/eap_dynamic/eap_dynamic.c b/src/libcharon/plugins/eap_dynamic/eap_dynamic.c +index d0f0595de..83ccd3a8a 100644 +--- a/src/libcharon/plugins/eap_dynamic/eap_dynamic.c ++++ b/src/libcharon/plugins/eap_dynamic/eap_dynamic.c +@@ -94,6 +94,13 @@ static eap_method_t *load_method(private_eap_dynamic_t *this, + return method; + } + ++METHOD(eap_method_t, get_auth, auth_cfg_t*, ++ private_eap_dynamic_t *this) ++{ ++ /* get_auth() is only registered if the EAP method supports it */ ++ return this->method->get_auth(this->method); ++} ++ + /** + * Select the first method we can instantiate and is supported by both peers. + */ +@@ -135,6 +142,10 @@ static void select_method(private_eap_dynamic_t *this) + this->method = load_method(this, entry->type, entry->vendor); + if (this->method) + { ++ if (this->method->get_auth) ++ { ++ this->public.interface.get_auth = _get_auth; ++ } + if (entry->vendor) + { + DBG1(DBG_IKE, "vendor specific EAP method %d-%d selected", +@@ -211,6 +222,7 @@ METHOD(eap_method_t, process, status_t, + /* restart with a different method */ + this->method->destroy(this->method); + this->method = NULL; ++ this->public.interface.get_auth = NULL; + return initiate(this, out); + } + if (!this->other_types) + diff --git a/pcr/strongswan/PKGBUILD b/pcr/strongswan/PKGBUILD index a9483eef1..efd322184 100644 --- a/pcr/strongswan/PKGBUILD +++ b/pcr/strongswan/PKGBUILD @@ -1,3 +1,5 @@ +# PLEASE READ THE COMMENTS ON THE AUR AND READ THE WIKI ARTICLE ABOUT BUILDING PACKAGES +# BEFORE SENDING MAIL! ## Contributor (Arch): nikicat <develniks at gmail dot com> # Contributor (Arch): danilo <gezuru at gmail dot com> # Contributor (Arch): Jason Begley <jayray at digitalgoat dot com> @@ -11,7 +13,7 @@ pkgname=strongswan pkgver=5.5.1 -pkgrel=1 +pkgrel=5 pkgdesc="open source IPsec implementation" url='http://www.strongswan.org' license=("GPL") @@ -27,24 +29,32 @@ backup=( etc/swanctl/swanctl.conf etc/strongswan.conf etc/strongswan.d/{charon-logging.conf,charon.conf,pki.conf,pool.conf,scepclient.conf,starter.conf,swanctl.conf} - etc/strongswan.d/charon/{aesni.conf,attr-sql.conf,attr.conf,cmac.conf,connmark.conf,\ + etc/strongswan.d/charon/{aesni.conf,attr-sql.conf,attr.conf,bliss.conf,chapoly.conf,cmac.conf,connmark.conf,\ constraints.conf,curl.conf,des.conf,dhcp.conf,dnskey.conf,eap-aka-3gpp2.conf,eap-aka.conf,\ eap-gtc.conf,eap-identity.conf,eap-md5.conf,eap-mschapv2.conf,eap-radius.conf,eap-sim-file.conf,\ eap-sim.conf,eap-simaka-pseudonym.conf,eap-simaka-reauth.conf,eap-tls.conf,ext-auth.conf,farp.conf,\ -fips-prf.conf,forecast.conf,gmp.conf,ha.conf,hmac.conf,kernel-netlink.conf,md5.conf,nonce.conf,openssl.conf,\ +fips-prf.conf,forecast.conf,gmp.conf,ha.conf,hmac.conf,kernel-netlink.conf,md5.conf,mgf1.conf,nonce.conf,newhope.conf,ntru.conf,openssl.conf,\ pem.conf,pgp.conf,pkcs1.conf,pkcs12.conf,pkcs7.conf,pkcs8.conf,pubkey.conf,random.conf,rc2.conf,resolve.conf,\ -revocation.conf,sha1.conf,sha2.conf,socket-default.conf,sql.conf,sqlite.conf,sshkey.conf,stroke.conf,updown.conf,\ -vici.conf,x509.conf,xauth-eap.conf,xauth-generic.conf,xcbc.conf,chapoly.conf,unity.conf} +revocation.conf,sha1.conf,sha2.conf,sha3.conf,socket-default.conf,sql.conf,sqlite.conf,sshkey.conf,stroke.conf,updown.conf,\ +vici.conf,x509.conf,xauth-eap.conf,xauth-generic.conf,xcbc.conf,unity.conf} ) source=("https://download.strongswan.org/strongswan-${pkgver}.tar.bz2" + "https://download.strongswan.org/strongswan-${pkgver}.tar.bz2.sig" "configure_ac.patch" + "2222-charon-systemd-sighup.patch" + "2238-eap-dynamic-auth.patch" ) +validpgpkeys=("948F158A4E76A27BF3D07532DF42C170B34DBA77") + # md5 is broken. We use sha256 now. Alternatively, we could check the signature of the file, but that # doesn't yield any more security and just increases the work users initially have to invest. sha256sums=('720b301991f77bdedd8d551a956f52e2d11686a0ec18e832094f86cf2b842ab7' - '003750d77fa501075f1fdb6f55926dc544407c5dd26e2fd8d5eb4917ddf0b3f7') + 'SKIP' + '003750d77fa501075f1fdb6f55926dc544407c5dd26e2fd8d5eb4917ddf0b3f7' + 'SKIP' + 'SKIP') # We don't build libipsec because it would get loaded before kernel-netlink and netkey, which # would case processing to be handled in user space. Also, the plugin is experimental. If you need it, @@ -53,6 +63,8 @@ prepare() { cd "${srcdir}/${pkgname}-${pkgver}" patch -p1 -l < "${srcdir}/configure_ac.patch" + patch -p1 -l < "${srcdir}/2222-charon-systemd-sighup.patch" + patch -p1 -l < "${srcdir}/2238-eap-dynamic-auth.patch" autoreconf } @@ -76,7 +88,8 @@ build() { --disable-mysql --disable-ldap --enable-cmd --enable-forecast --enable-connmark \ --enable-aesni --enable-eap-ttls --enable-radattr --enable-xauth-pam --enable-xauth-noauth \ --enable-eap-dynamic --enable-eap-peap --enable-eap-tls --enable-chapoly --enable-unity \ - --with-capabilities=libcap + --with-capabilities=libcap --enable-newhope --enable-ntru --enable-mgf1 --enable-sha3 \ + --enable-bliss # if you want networkmanager support, add --enable-nm # --enable-ruby-gems --enable-python-eggs make |