@ -0,0 +1,53 @@ | |||||
# | |||||
# Copyright (C) 2008-2010 OpenWrt.org | |||||
# | |||||
# This is free software, licensed under the GNU General Public License v2. | |||||
# See /LICENSE for more information. | |||||
# | |||||
include $(TOPDIR)/rules.mk | |||||
PKG_NAME:=micropython-lib | |||||
PKG_VERSION:=2014-08-12 | |||||
PKG_RELEASE:=1 | |||||
PKG_MAINTAINER:=Roger D <rogerdammit@gmail.com> | |||||
PKG_LICENSE:=MIT | |||||
PKG_SOURCE_PROTO:=git | |||||
PKG_SOURCE_URL:=https://github.com/micropython/micropython-lib.git | |||||
PKG_SOURCE_VERSION:=7bc0c0a45894ec10eb3fd3515428a087a24ac228 | |||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION) | |||||
PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz | |||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR) | |||||
PKG_BUILD_PARALLEL:=1 | |||||
include $(INCLUDE_DIR)/package.mk | |||||
define Package/micropython-lib | |||||
SECTION:=lang | |||||
CATEGORY:=Languages | |||||
TITLE:=micropython-lib | |||||
URL:=https://github.com/micropython/micropython-lib | |||||
DEPENDS:=+micropython | |||||
endef | |||||
define Package/micropython-lib/description | |||||
This package contains micropython-lib, a project to develop a non-monolothic | |||||
standard library for Micro Python. Note that this is a work in progress and | |||||
several libraries may be missing, incomplete or buggy. | |||||
endef | |||||
MAKE_FLAGS:=\ | |||||
-C $(PKG_BUILD_DIR) \ | |||||
PREFIX=$(PKG_BUILD_DIR)/_install_tmp \ | |||||
install | |||||
define Package/micropython-lib/install | |||||
$(INSTALL_DIR) $(1)/usr/lib/micropython | |||||
$(CP) $(PKG_BUILD_DIR)/_install_tmp/* $(1)/usr/lib/micropython | |||||
endef | |||||
$(eval $(call BuildPackage,micropython-lib)) | |||||
@ -0,0 +1,58 @@ | |||||
# | |||||
# Copyright (C) 2008-2010 OpenWrt.org | |||||
# | |||||
# This is free software, licensed under the GNU General Public License v2. | |||||
# See /LICENSE for more information. | |||||
# | |||||
include $(TOPDIR)/rules.mk | |||||
PKG_NAME:=micropython | |||||
PKG_VERSION=1.2-$(PKG_SOURCE_VERSION) | |||||
PKG_RELEASE:=1 | |||||
PKG_MAINTAINER:=Roger D <rogerdammit@gmail.com> | |||||
PKG_LICENSE:=MIT | |||||
PKG_LICENSE_FILES:=LICENSE | |||||
PKG_SOURCE_PROTO:=git | |||||
PKG_SOURCE_URL:=https://github.com/micropython/micropython.git | |||||
PKG_SOURCE_VERSION:=86de21b810693bccdd88d53aacb6d8acf26f09e0 | |||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION) | |||||
PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz | |||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR) | |||||
PKG_BUILD_PARALLEL:=1 | |||||
include $(INCLUDE_DIR)/package.mk | |||||
define Package/micropython | |||||
SECTION:=lang | |||||
CATEGORY:=Languages | |||||
TITLE:=Micro Python | |||||
URL:=http://micropython.org | |||||
DEPENDS:=+libffi | |||||
endef | |||||
define Package/micropython/description | |||||
This package contains Micro Python, a lean and fast implementation of the Python 3.4 programming language | |||||
that is optimised to run on a microcontroller (and low power computers). | |||||
endef | |||||
# The following hacks have been tested for MIPS builds, but may need to be modified for other platforms. | |||||
# (Based on: https://github.com/pfalcon/micropython/blob/2663b63241498569d9acb9c7cf9e01e831dbd816/unix/build-mips.sh) | |||||
TARGET_CFLAGS_EXTRA += -DMICROPY_GCREGS_SETJMP=1 -DMICROPY_NLR_SETJMP=1 -DMICROPY_EMIT_X64=0 | |||||
TARGET_STRIPFLAGS_EXTRA += --remove-section=.pdr -R .comment -R .gnu.version -R .gnu.version_r -R .gnu.attributes -R .reginfo -R .mdebug.abi32 | |||||
MAKE_FLAGS += \ | |||||
-C $(PKG_BUILD_DIR)/unix \ | |||||
MICROPY_USE_READLINE=0 \ | |||||
CFLAGS_EXTRA="$(TARGET_CFLAGS_EXTRA)" \ | |||||
STRIPFLAGS_EXTRA="$(TARGET_STRIPFLAGS_EXTRA)" | |||||
define Package/micropython/install | |||||
$(INSTALL_DIR) $(1)/usr/bin | |||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/unix/micropython $(1)/usr/bin/micropython | |||||
endef | |||||
$(eval $(call BuildPackage,micropython)) |
@ -0,0 +1,118 @@ | |||||
--- a/dbinc/repmgr.h | |||||
+++ b/dbinc/repmgr.h | |||||
@@ -374,6 +374,7 @@ typedef struct { | |||||
#define SITE_FROM_EID(eid) (&db_rep->sites[eid]) | |||||
#define EID_FROM_SITE(s) ((int)((s) - (&db_rep->sites[0]))) | |||||
#define IS_VALID_EID(e) ((e) >= 0) | |||||
+#define IS_KNOWN_REMOTE_SITE(e) ((e) >= 0 && ((u_int)(e)) < db_rep->site_cnt) | |||||
#define SELF_EID INT_MAX | |||||
#define IS_PEER_POLICY(p) ((p) == DB_REPMGR_ACKS_ALL_PEERS || \ | |||||
--- a/rep/rep_elect.c | |||||
+++ b/rep/rep_elect.c | |||||
@@ -33,7 +33,7 @@ static int __rep_elect_init | |||||
static int __rep_fire_elected __P((ENV *, REP *, u_int32_t)); | |||||
static void __rep_elect_master __P((ENV *, REP *)); | |||||
static int __rep_tally __P((ENV *, REP *, int, u_int32_t *, u_int32_t, roff_t)); | |||||
-static int __rep_wait __P((ENV *, db_timeout_t *, int *, int, u_int32_t)); | |||||
+static int __rep_wait __P((ENV *, db_timeout_t *, int, u_int32_t)); | |||||
/* | |||||
* __rep_elect -- | |||||
@@ -55,7 +55,7 @@ __rep_elect(dbenv, given_nsites, nvotes, | |||||
ENV *env; | |||||
LOG *lp; | |||||
REP *rep; | |||||
- int done, eid, elected, full_elect, locked, in_progress, need_req; | |||||
+ int done, elected, full_elect, locked, in_progress, need_req; | |||||
int ret, send_vote, t_ret; | |||||
u_int32_t ack, ctlflags, egen, nsites, orig_tally, priority, realpri; | |||||
u_int32_t tiebreaker; | |||||
@@ -181,8 +181,7 @@ __rep_elect(dbenv, given_nsites, nvotes, | |||||
REP_SYSTEM_UNLOCK(env); | |||||
(void)__rep_send_message(env, DB_EID_BROADCAST, | |||||
REP_MASTER_REQ, NULL, NULL, 0, 0); | |||||
- ret = __rep_wait(env, &to, &eid, | |||||
- 0, REP_F_EPHASE0); | |||||
+ ret = __rep_wait(env, &to, 0, REP_F_EPHASE0); | |||||
REP_SYSTEM_LOCK(env); | |||||
F_CLR(rep, REP_F_EPHASE0); | |||||
switch (ret) { | |||||
@@ -286,11 +285,11 @@ restart: | |||||
REP_SYSTEM_LOCK(env); | |||||
goto vote; | |||||
} | |||||
- ret = __rep_wait(env, &to, &eid, full_elect, REP_F_EPHASE1); | |||||
+ ret = __rep_wait(env, &to, full_elect, REP_F_EPHASE1); | |||||
switch (ret) { | |||||
case 0: | |||||
/* Check if election complete or phase complete. */ | |||||
- if (eid != DB_EID_INVALID && !IN_ELECTION(rep)) { | |||||
+ if (!IN_ELECTION(rep)) { | |||||
RPRINT(env, DB_VERB_REP_ELECT, | |||||
(env, "Ended election phase 1")); | |||||
goto edone; | |||||
@@ -398,15 +397,12 @@ phase2: | |||||
REP_SYSTEM_LOCK(env); | |||||
goto i_won; | |||||
} | |||||
- ret = __rep_wait(env, &to, &eid, full_elect, REP_F_EPHASE2); | |||||
+ ret = __rep_wait(env, &to, full_elect, REP_F_EPHASE2); | |||||
RPRINT(env, DB_VERB_REP_ELECT, | |||||
(env, "Ended election phase 2 %d", ret)); | |||||
switch (ret) { | |||||
case 0: | |||||
- if (eid != DB_EID_INVALID) | |||||
- goto edone; | |||||
- ret = DB_REP_UNAVAIL; | |||||
- break; | |||||
+ goto edone; | |||||
case DB_REP_EGENCHG: | |||||
if (to > timeout) | |||||
to = timeout; | |||||
@@ -1050,13 +1046,6 @@ __rep_elect_master(env, rep) | |||||
ENV *env; | |||||
REP *rep; | |||||
{ | |||||
- /* | |||||
- * We often come through here twice, sometimes even more. We mustn't | |||||
- * let the redundant calls affect stats counting. But rep_elect relies | |||||
- * on this first part for setting eidp. | |||||
- */ | |||||
- rep->master_id = rep->eid; | |||||
- | |||||
if (F_ISSET(rep, REP_F_MASTERELECT | REP_F_MASTER)) { | |||||
/* We've been through here already; avoid double counting. */ | |||||
return; | |||||
@@ -1093,10 +1082,10 @@ __rep_fire_elected(env, rep, egen) | |||||
(timeout > 5000000) ? 500000 : ((timeout >= 10) ? timeout / 10 : 1); | |||||
static int | |||||
-__rep_wait(env, timeoutp, eidp, full_elect, flags) | |||||
+__rep_wait(env, timeoutp, full_elect, flags) | |||||
ENV *env; | |||||
db_timeout_t *timeoutp; | |||||
- int *eidp, full_elect; | |||||
+ int full_elect; | |||||
u_int32_t flags; | |||||
{ | |||||
DB_REP *db_rep; | |||||
@@ -1174,7 +1163,6 @@ __rep_wait(env, timeoutp, eidp, full_ele | |||||
F_CLR(rep, REP_F_EGENUPDATE); | |||||
ret = DB_REP_EGENCHG; | |||||
} else if (phase_over) { | |||||
- *eidp = rep->master_id; | |||||
done = 1; | |||||
ret = 0; | |||||
} | |||||
--- a/repmgr/repmgr_net.c | |||||
+++ b/repmgr/repmgr_net.c | |||||
@@ -100,6 +100,8 @@ __repmgr_send(dbenv, control, rec, lsnp, | |||||
control, rec, &nsites_sent, &npeers_sent)) != 0) | |||||
goto out; | |||||
} else { | |||||
+ DB_ASSERT(env, IS_KNOWN_REMOTE_SITE(eid)); | |||||
+ | |||||
/* | |||||
* If this is a request that can be sent anywhere, then see if | |||||
* we can send it to our peer (to save load on the master), but |
@ -0,0 +1,203 @@ | |||||
# | |||||
# Copyright (C) 2006-2012 OpenWrt.org | |||||
# 2014 Noah Meyerhans <frodo@morgul.net> | |||||
# | |||||
# This is free software, licensed under the GNU General Public License v2. | |||||
# See /LICENSE for more information. | |||||
# | |||||
include $(TOPDIR)/rules.mk | |||||
PKG_NAME:=bind | |||||
PKG_VERSION:=9.9.5-P1 | |||||
PKG_RELEASE:=1 | |||||
PKG_MAINTAINER := Noah Meyerhans <frodo@morgul.net> | |||||
PKG_LICENSE := BSD-3-Clause | |||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | |||||
PKG_SOURCE_URL:= \ | |||||
ftp://ftp.isc.org/isc/bind9/$(PKG_VERSION) \ | |||||
http://www.mirrorservice.org/sites/ftp.isc.org/isc/bind9/$(PKG_VERSION) | |||||
PKG_MD5SUM:=3408af8c6d27d6cb8a05287f2ee32ad0 | |||||
PKG_FIXUP:=autoreconf | |||||
PKG_REMOVE_FILES:=aclocal.m4 libtool.m4 | |||||
PKG_INSTALL:=1 | |||||
include $(INCLUDE_DIR)/package.mk | |||||
define Package/bind/Default | |||||
SECTION:=net | |||||
CATEGORY:=Network | |||||
DEPENDS:=+bind-libs | |||||
TITLE:=bind | |||||
URL:=https://www.isc.org/software/bind | |||||
SUBMENU:=IP Addresses and Names | |||||
endef | |||||
define Package/bind-libs | |||||
SECTION:=libs | |||||
CATEGORY:=Libraries | |||||
DEPENDS:=+libopenssl | |||||
TITLE:=bind shared libraries | |||||
URL:=https://www.isc.org/software/bind | |||||
endef | |||||
define Package/bind-server | |||||
$(call Package/bind/Default) | |||||
TITLE+= DNS server | |||||
endef | |||||
define Package/bind-client | |||||
$(call Package/bind/Default) | |||||
TITLE+= dynamic DNS client | |||||
endef | |||||
define Package/bind-tools | |||||
$(call Package/bind/Default) | |||||
TITLE+= administration tools (all) | |||||
endef | |||||
define Package/bind-rndc | |||||
$(call Package/bind/Default) | |||||
TITLE+= administration tools (rndc and rndc-confgen only) | |||||
endef | |||||
define Package/bind-check | |||||
$(call Package/bind/Default) | |||||
TITLE+= administration tools (named-checkconf and named-checkzone only) | |||||
endef | |||||
define Package/bind-dnssec | |||||
$(call Package/bind/Default) | |||||
TITLE+= administration tools (dnssec-keygen and dnssec-signzone only) | |||||
endef | |||||
define Package/bind-host | |||||
$(call Package/bind/Default) | |||||
TITLE+= simple DNS client | |||||
endef | |||||
define Package/bind-dig | |||||
$(call Package/bind/Default) | |||||
TITLE+= DNS excavation tool | |||||
endef | |||||
export BUILD_CC="$(TARGET_CC)" | |||||
CONFIGURE_ARGS += \ | |||||
--enable-shared \ | |||||
--enable-static \ | |||||
--with-randomdev="/dev/urandom" \ | |||||
--disable-threads \ | |||||
--disable-linux-caps \ | |||||
--with-openssl="$(STAGING_DIR)/usr" \ | |||||
--with-libtool \ | |||||
--with-libxml2=no \ | |||||
--enable-epoll=yes \ | |||||
--with-gost=no \ | |||||
--with-gssapi=no \ | |||||
--with-ecdsa=no \ | |||||
--with-readline=no | |||||
CONFIGURE_VARS += \ | |||||
BUILD_CC="$(TARGET_CC)" \ | |||||
define Build/Compile | |||||
$(MAKE) -C $(PKG_BUILD_DIR)/lib/dns \ | |||||
BUILD_CC="$(HOSTCC)" \ | |||||
CC="$(HOSTCC)" \ | |||||
CFLAGS="-O2" \ | |||||
LIBS="" \ | |||||
gen | |||||
$(call Build/Compile/Default) | |||||
endef | |||||
define Package/bind-libs/install | |||||
$(INSTALL_DIR) $(1)/usr/lib | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib | |||||
endef | |||||
define Package/bind-server/install | |||||
$(INSTALL_DIR) $(1)/usr/sbin | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named $(1)/usr/sbin/ | |||||
$(INSTALL_DIR) $(1)/etc/bind | |||||
$(CP) \ | |||||
./files/bind/db.0 \ | |||||
./files/bind/db.127 \ | |||||
./files/bind/db.255 \ | |||||
./files/bind/db.local \ | |||||
./files/bind/db.root \ | |||||
$(1)/etc/bind/ | |||||
$(CP) ./files/bind/named.conf.example $(1)/etc/bind/named.conf | |||||
$(INSTALL_DIR) $(1)/etc/init.d | |||||
$(INSTALL_BIN) ./files/named.init $(1)/etc/init.d/named | |||||
find $(1)/etc/bind/ -name ".svn" | xargs rm -rf | |||||
endef | |||||
define Package/bind-server/conffiles | |||||
/etc/bind/db.0 | |||||
/etc/bind/db.127 | |||||
/etc/bind/db.255 | |||||
/etc/bind/db.local | |||||
/etc/bind/db.root | |||||
/etc/bind/named.conf | |||||
endef | |||||
define Package/bind-client/install | |||||
$(INSTALL_DIR) $(1)/usr/bin | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nsupdate $(1)/usr/bin/ | |||||
endef | |||||
define Package/bind-tools/install | |||||
$(INSTALL_DIR) $(1)/usr/bin | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dig $(1)/usr/bin/ | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/host $(1)/usr/bin/ | |||||
$(INSTALL_DIR) $(1)/usr/sbin | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-keygen $(1)/usr/sbin/ | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-signzone $(1)/usr/sbin/ | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkconf $(1)/usr/sbin/ | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkzone $(1)/usr/sbin/ | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc $(1)/usr/sbin/ | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc-confgen $(1)/usr/sbin/ | |||||
endef | |||||
define Package/bind-rndc/install | |||||
$(INSTALL_DIR) $(1)/usr/sbin | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc $(1)/usr/sbin/ | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc-confgen $(1)/usr/sbin/ | |||||
endef | |||||
define Package/bind-check/install | |||||
$(INSTALL_DIR) $(1)/usr/sbin | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkconf $(1)/usr/sbin/ | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkzone $(1)/usr/sbin/ | |||||
endef | |||||
define Package/bind-dnssec/install | |||||
$(INSTALL_DIR) $(1)/usr/sbin | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-keygen $(1)/usr/sbin/ | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-signzone $(1)/usr/sbin/ | |||||
endef | |||||
define Package/bind-host/install | |||||
$(INSTALL_DIR) $(1)/usr/bin | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/host $(1)/usr/bin/ | |||||
endef | |||||
define Package/bind-dig/install | |||||
$(INSTALL_DIR) $(1)/usr/bin | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dig $(1)/usr/bin/ | |||||
endef | |||||
$(eval $(call BuildPackage,bind-libs)) | |||||
$(eval $(call BuildPackage,bind-server)) | |||||
$(eval $(call BuildPackage,bind-client)) | |||||
$(eval $(call BuildPackage,bind-tools)) | |||||
$(eval $(call BuildPackage,bind-rndc)) | |||||
$(eval $(call BuildPackage,bind-check)) | |||||
$(eval $(call BuildPackage,bind-dnssec)) | |||||
$(eval $(call BuildPackage,bind-host)) | |||||
$(eval $(call BuildPackage,bind-dig)) |
@ -0,0 +1,12 @@ | |||||
; | |||||
; BIND reverse data file for broadcast zone | |||||
; | |||||
$TTL 604800 | |||||
@ IN SOA localhost. root.localhost. ( | |||||
1 ; Serial | |||||
604800 ; Refresh | |||||
86400 ; Retry | |||||
2419200 ; Expire | |||||
604800 ) ; Negative Cache TTL | |||||
; | |||||
@ IN NS localhost. |
@ -0,0 +1,13 @@ | |||||
; | |||||
; BIND reverse data file for local loopback interface | |||||
; | |||||
$TTL 604800 | |||||
@ IN SOA localhost. root.localhost. ( | |||||
1 ; Serial | |||||
604800 ; Refresh | |||||
86400 ; Retry | |||||
2419200 ; Expire | |||||
604800 ) ; Negative Cache TTL | |||||
; | |||||
@ IN NS localhost. | |||||
1.0.0 IN PTR localhost. |
@ -0,0 +1,12 @@ | |||||
; | |||||
; BIND reverse data file for broadcast zone | |||||
; | |||||
$TTL 604800 | |||||
@ IN SOA localhost. root.localhost. ( | |||||
1 ; Serial | |||||
604800 ; Refresh | |||||
86400 ; Retry | |||||
2419200 ; Expire | |||||
604800 ) ; Negative Cache TTL | |||||
; | |||||
@ IN NS localhost. |
@ -0,0 +1,13 @@ | |||||
; | |||||
; BIND data file for local loopback interface | |||||
; | |||||
$TTL 604800 | |||||
@ IN SOA localhost. root.localhost. ( | |||||
1 ; Serial | |||||
604800 ; Refresh | |||||
86400 ; Retry | |||||
2419200 ; Expire | |||||
604800 ) ; Negative Cache TTL | |||||
; | |||||
@ IN NS localhost. | |||||
@ IN A 127.0.0.1 |
@ -0,0 +1,45 @@ | |||||
; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net. | |||||
;; global options: printcmd | |||||
;; Got answer: | |||||
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18944 | |||||
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13 | |||||
;; QUESTION SECTION: | |||||
;. IN NS | |||||
;; ANSWER SECTION: | |||||
. 518400 IN NS A.ROOT-SERVERS.NET. | |||||
. 518400 IN NS B.ROOT-SERVERS.NET. | |||||
. 518400 IN NS C.ROOT-SERVERS.NET. | |||||
. 518400 IN NS D.ROOT-SERVERS.NET. | |||||
. 518400 IN NS E.ROOT-SERVERS.NET. | |||||
. 518400 IN NS F.ROOT-SERVERS.NET. | |||||
. 518400 IN NS G.ROOT-SERVERS.NET. | |||||
. 518400 IN NS H.ROOT-SERVERS.NET. | |||||
. 518400 IN NS I.ROOT-SERVERS.NET. | |||||
. 518400 IN NS J.ROOT-SERVERS.NET. | |||||
. 518400 IN NS K.ROOT-SERVERS.NET. | |||||
. 518400 IN NS L.ROOT-SERVERS.NET. | |||||
. 518400 IN NS M.ROOT-SERVERS.NET. | |||||
;; ADDITIONAL SECTION: | |||||
A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4 | |||||
B.ROOT-SERVERS.NET. 3600000 IN A 192.228.79.201 | |||||
C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12 | |||||
D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90 | |||||
E.ROOT-SERVERS.NET. 3600000 IN A 192.203.230.10 | |||||
F.ROOT-SERVERS.NET. 3600000 IN A 192.5.5.241 | |||||
G.ROOT-SERVERS.NET. 3600000 IN A 192.112.36.4 | |||||
H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53 | |||||
I.ROOT-SERVERS.NET. 3600000 IN A 192.36.148.17 | |||||
J.ROOT-SERVERS.NET. 3600000 IN A 192.58.128.30 | |||||
K.ROOT-SERVERS.NET. 3600000 IN A 193.0.14.129 | |||||
L.ROOT-SERVERS.NET. 3600000 IN A 199.7.83.42 | |||||
M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33 | |||||
;; Query time: 81 msec | |||||
;; SERVER: 198.41.0.4#53(a.root-servers.net.) | |||||
;; WHEN: Sun Feb 1 11:27:14 2004 | |||||
;; MSG SIZE rcvd: 436 | |||||
@ -0,0 +1,45 @@ | |||||
// This is the primary configuration file for the BIND DNS server named. | |||||
options { | |||||
directory "/tmp"; | |||||
// If your ISP provided one or more IP addresses for stable | |||||
// nameservers, you probably want to use them as forwarders. | |||||
// Uncomment the following block, and insert the addresses replacing | |||||
// the all-0's placeholder. | |||||
// forwarders { | |||||
// 0.0.0.0; | |||||
// }; | |||||
auth-nxdomain no; # conform to RFC1035 | |||||
}; | |||||
// prime the server with knowledge of the root servers | |||||
zone "." { | |||||
type hint; | |||||
file "/etc/bind/db.root"; | |||||
}; | |||||
// be authoritative for the localhost forward and reverse zones, and for | |||||
// broadcast zones as per RFC 1912 | |||||
zone "localhost" { | |||||
type master; | |||||
file "/etc/bind/db.local"; | |||||
}; | |||||
zone "127.in-addr.arpa" { | |||||
type master; | |||||
file "/etc/bind/db.127"; | |||||
}; | |||||
zone "0.in-addr.arpa" { | |||||
type master; | |||||
file "/etc/bind/db.0"; | |||||
}; | |||||
zone "255.in-addr.arpa" { | |||||
type master; | |||||
file "/etc/bind/db.255"; | |||||
}; |
@ -0,0 +1,40 @@ | |||||
#!/bin/sh /etc/rc.common | |||||
START=50 | |||||
config_file=/etc/bind/named.conf | |||||
pid_file=/var/run/named/named.pid | |||||
start() { | |||||
if [ -e $pid_file ] | |||||
then | |||||
echo " named already running with PID `cat $pid_file`" | |||||
return 1 | |||||
fi | |||||
echo Starting isc-bind | |||||
/usr/sbin/named -c $config_file | |||||
if [ $? -ne 0 ] | |||||
then | |||||
echo " isc-bind failed to start" | |||||
fi | |||||
} | |||||
stop() { | |||||
echo "Stopping isc-bind" | |||||
if [ -e $pid_file ] | |||||
then | |||||
kill `cat $pid_file` | |||||
if [ $? -ne 0 ] | |||||
then | |||||
echo " PID " `cat $pid_file` not found | |||||
echo " Is the named server running?" | |||||
fi | |||||
rm -f $pid_file | |||||
else | |||||
echo " $pid_file not found" | |||||
fi | |||||
} |
@ -0,0 +1,26 @@ | |||||
Index: bind-9.9.4/bin/Makefile.in | |||||
=================================================================== | |||||
--- bind-9.9.4.orig/bin/Makefile.in | |||||
+++ bind-9.9.4/bin/Makefile.in | |||||
@@ -19,7 +19,7 @@ srcdir = @srcdir@ | |||||
VPATH = @srcdir@ | |||||
top_srcdir = @top_srcdir@ | |||||
-SUBDIRS = named rndc dig dnssec tools tests nsupdate \ | |||||
+SUBDIRS = named rndc dig dnssec tools nsupdate \ | |||||
check confgen @PYTHON_TOOLS@ @PKCS11_TOOLS@ | |||||
TARGETS = | |||||
Index: bind-9.9.4/lib/Makefile.in | |||||
=================================================================== | |||||
--- bind-9.9.4.orig/lib/Makefile.in | |||||
+++ bind-9.9.4/lib/Makefile.in | |||||
@@ -23,7 +23,7 @@ top_srcdir = @top_srcdir@ | |||||
# Attempt to disable parallel processing. | |||||
.NOTPARALLEL: | |||||
.NO_PARALLEL: | |||||
-SUBDIRS = isc isccc dns isccfg bind9 lwres tests | |||||
+SUBDIRS = isc isccc dns isccfg bind9 lwres | |||||
TARGETS = | |||||
@BIND9_MAKE_RULES@ |
@ -0,0 +1,16 @@ | |||||
menu "Configuration" | |||||
depends on PACKAGE_strongswan | |||||
# --with-routing-table | |||||
config STRONGSWAN_ROUTING_TABLE | |||||
string | |||||
prompt "Set the IPsec routing table ID" | |||||
default "220" | |||||
# --with-routing-table-prio | |||||
config STRONGSWAN_ROUTING_TABLE_PRIO | |||||
string | |||||
prompt "Set the IPsec routing table priority" | |||||
default "220" | |||||
endmenu |
@ -0,0 +1,503 @@ | |||||
# | |||||
# Copyright (C) 2012-2014 OpenWrt.org | |||||
# | |||||
# This is free software, licensed under the GNU General Public License v2. | |||||
# See /LICENSE for more information. | |||||
# | |||||
include $(TOPDIR)/rules.mk | |||||
PKG_NAME:=strongswan | |||||
PKG_VERSION:=5.2.0 | |||||
PKG_RELEASE:=1 | |||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | |||||
PKG_SOURCE_URL:=http://download.strongswan.org/ http://download2.strongswan.org/ | |||||
PKG_MD5SUM:=5cee4ee1a6ccb74400758b3ace54d46e | |||||
PKG_LICENSE:=GPL-2.0+ | |||||
PKG_MAINTAINER:=Steven Barth <cyrus@openwrt.org> | |||||
PKG_MOD_AVAILABLE:= \ | |||||
addrblock \ | |||||
aes \ | |||||
af-alg \ | |||||
agent \ | |||||
attr \ | |||||
attr-sql \ | |||||
blowfish \ | |||||
ccm \ | |||||
cmac \ | |||||
constraints \ | |||||
coupling \ | |||||
ctr \ | |||||
curl \ | |||||
des \ | |||||
dhcp \ | |||||
dnskey \ | |||||
duplicheck \ | |||||
eap-identity \ | |||||
eap-md5 \ | |||||
eap-mschapv2 \ | |||||
eap-radius \ | |||||
farp \ | |||||
fips-prf \ | |||||
gcm \ | |||||
gcrypt \ | |||||
gmp \ | |||||
ha \ | |||||
hmac \ | |||||
kernel-libipsec \ | |||||
kernel-netlink \ | |||||
ldap \ | |||||
led \ | |||||
load-tester \ | |||||
nonce \ | |||||
md4 \ | |||||
md5 \ | |||||
mysql \ | |||||
openssl \ | |||||
padlock \ | |||||
pem \ | |||||
pgp \ | |||||
pkcs1 \ | |||||
pkcs8 \ | |||||
pkcs11 \ | |||||
pubkey \ | |||||
random \ | |||||
resolve \ | |||||
revocation \ | |||||
sha1 \ | |||||
sha2 \ | |||||
smp \ | |||||
socket-default \ | |||||
socket-dynamic \ | |||||
sql \ | |||||
sqlite \ | |||||
stroke \ | |||||
test-vectors \ | |||||
unity \ | |||||
uci \ | |||||
updown \ | |||||
whitelist \ | |||||
x509 \ | |||||
xauth-eap \ | |||||
xauth-generic \ | |||||
xcbc | |||||
PKG_CONFIG_DEPENDS:= \ | |||||
CONFIG_STRONGSWAN_ROUTING_TABLE \ | |||||
CONFIG_STRONGSWAN_ROUTING_TABLE_PRIO \ | |||||
$(patsubst %,CONFIG_PACKAGE_strongswan-mod-%,$(PKG_MOD_AVAILABLE)) \ | |||||
PKG_FIXUP:=autoreconf | |||||
PKG_INSTALL:=1 | |||||
PKG_BUILD_PARALLEL:=1 | |||||
include $(INCLUDE_DIR)/package.mk | |||||
define Package/strongswan/Default | |||||
SUBMENU:=VPN | |||||
SECTION:=net | |||||
CATEGORY:=Network | |||||
TITLE:=StrongSwan | |||||
URL:=http://www.strongswan.org/ | |||||
endef | |||||
define Package/strongswan/description/Default | |||||
StrongSwan is an OpenSource IPsec implementation for the Linux operating system. | |||||
endef | |||||
define Package/strongswan | |||||
$(call Package/strongswan/Default) | |||||
DEPENDS:= +libpthread +ip \ | |||||
+kmod-crypto-authenc \ | |||||
+kmod-ipsec +kmod-ipsec4 +kmod-ipsec6 \ | |||||
+kmod-ipt-ipsec +iptables-mod-ipsec | |||||
endef | |||||
define Package/strongswan/config | |||||
source "$(SOURCE)/Config.in" | |||||
endef | |||||
define Package/strongswan/description | |||||
$(call Package/strongswan/description/Default) | |||||
This package contains shared libraries and scripts. | |||||
endef | |||||
define Package/strongswan-full | |||||
$(call Package/strongswan/Default) | |||||
TITLE+= (full) | |||||
DEPENDS:= +strongswan \ | |||||
+strongswan-charon \ | |||||
+strongswan-mod-addrblock \ | |||||
+strongswan-mod-aes \ | |||||
+strongswan-mod-af-alg \ | |||||
+strongswan-mod-agent \ | |||||
+strongswan-mod-attr \ | |||||
+strongswan-mod-attr-sql \ | |||||
+strongswan-mod-blowfish \ | |||||
+strongswan-mod-ccm \ | |||||
+strongswan-mod-cmac \ | |||||
+strongswan-mod-constraints \ | |||||
+strongswan-mod-coupling \ | |||||
+strongswan-mod-ctr \ | |||||
+strongswan-mod-curl \ | |||||
+strongswan-mod-des \ | |||||
+strongswan-mod-dhcp \ | |||||
+strongswan-mod-dnskey \ | |||||
+strongswan-mod-duplicheck \ | |||||
+strongswan-mod-eap-identity \ | |||||
+strongswan-mod-eap-md5 \ | |||||
+strongswan-mod-eap-mschapv2 \ | |||||
+strongswan-mod-eap-radius \ | |||||
+strongswan-mod-farp \ | |||||
+strongswan-mod-fips-prf \ | |||||
+strongswan-mod-gcm \ | |||||
+strongswan-mod-gcrypt \ | |||||
+strongswan-mod-gmp \ | |||||
+strongswan-mod-ha \ | |||||
+strongswan-mod-hmac \ | |||||
+strongswan-mod-kernel-netlink \ | |||||
+strongswan-mod-ldap \ | |||||
+strongswan-mod-led \ | |||||
+strongswan-mod-load-tester \ | |||||
+strongswan-mod-nonce \ | |||||
+strongswan-mod-md4 \ | |||||
+strongswan-mod-md5 \ | |||||
+strongswan-mod-mysql \ | |||||
+strongswan-mod-openssl \ | |||||
+TARGET_x86:strongswan-mod-padlock \ | |||||
+strongswan-mod-pem \ | |||||
+strongswan-mod-pgp \ | |||||
+strongswan-mod-pkcs1 \ | |||||
+strongswan-mod-pkcs8 \ | |||||
+strongswan-mod-pkcs11 \ | |||||
+strongswan-mod-pubkey \ | |||||
+strongswan-mod-random \ | |||||
+strongswan-mod-resolve \ | |||||
+strongswan-mod-revocation \ | |||||
+strongswan-mod-sha1 \ | |||||
+strongswan-mod-sha2 \ | |||||
+strongswan-mod-smp \ | |||||
+strongswan-mod-socket-default \ | |||||
+strongswan-mod-sql \ | |||||
+strongswan-mod-sqlite \ | |||||
+strongswan-mod-stroke \ | |||||
+strongswan-mod-test-vectors \ | |||||
+strongswan-mod-uci \ | |||||
+strongswan-mod-unity \ | |||||
+strongswan-mod-updown \ | |||||
+strongswan-mod-whitelist \ | |||||
+strongswan-mod-x509 \ | |||||
+strongswan-mod-xauth-eap \ | |||||
+strongswan-mod-xauth-generic \ | |||||
+strongswan-mod-xcbc \ | |||||
+strongswan-utils \ | |||||
@DEVEL | |||||
endef | |||||
define Package/strongswan-full/description | |||||
$(call Package/strongswan/description/Default) | |||||
This meta-package contains dependencies for all of the strongswan plugins | |||||
except kernel-libipsec, | |||||
socket-dynamic and which are ommitted in favor of the kernel-netlink and | |||||
socket-default plugins. | |||||
endef | |||||
define Package/strongswan-default | |||||
$(call Package/strongswan/Default) | |||||
TITLE+= (default) | |||||
DEPENDS:= +strongswan \ | |||||
+strongswan-charon \ | |||||
+strongswan-mod-aes \ | |||||
+strongswan-mod-attr \ | |||||
+strongswan-mod-constraints \ | |||||
+strongswan-mod-des \ | |||||
+strongswan-mod-dnskey \ | |||||
+strongswan-mod-fips-prf \ | |||||
+strongswan-mod-gmp \ | |||||
+strongswan-mod-hmac \ | |||||
+strongswan-mod-kernel-netlink \ | |||||
+strongswan-mod-md5 \ | |||||
+strongswan-mod-nonce \ | |||||
+strongswan-mod-pem \ | |||||
+strongswan-mod-pgp \ | |||||
+strongswan-mod-pkcs1 \ | |||||
+strongswan-mod-pubkey \ | |||||
+strongswan-mod-random \ | |||||
+strongswan-mod-resolve \ | |||||
+strongswan-mod-revocation \ | |||||
+strongswan-mod-sha1 \ | |||||
+strongswan-mod-sha2 \ | |||||
+strongswan-mod-socket-default \ | |||||
+strongswan-mod-stroke \ | |||||
+strongswan-mod-updown \ | |||||
+strongswan-mod-x509 \ | |||||
+strongswan-mod-xauth-generic \ | |||||
+strongswan-mod-xcbc \ | |||||
+strongswan-utils | |||||
endef | |||||
define Package/strongswan-default/description | |||||
$(call Package/strongswan/description/Default) | |||||
This meta-package contains only dependencies to match upstream defaults. | |||||
endef | |||||
define Package/strongswan-minimal | |||||
$(call Package/strongswan/Default) | |||||
TITLE+= (minimal) | |||||
DEPENDS:= +strongswan \ | |||||
+strongswan-charon \ | |||||
+strongswan-mod-aes \ | |||||
+strongswan-mod-gmp \ | |||||
+strongswan-mod-hmac \ | |||||
+strongswan-mod-kernel-netlink \ | |||||
+strongswan-mod-nonce \ | |||||
+strongswan-mod-pubkey \ | |||||
+strongswan-mod-random \ | |||||
+strongswan-mod-sha1 \ | |||||
+strongswan-mod-socket-default \ | |||||
+strongswan-mod-stroke \ | |||||
+strongswan-mod-updown \ | |||||
+strongswan-mod-x509 \ | |||||
+strongswan-mod-xcbc | |||||
endef | |||||
define Package/strongswan-minimal/description | |||||
$(call Package/strongswan/description/Default) | |||||
This meta-package contains only dependencies for a minimal IKEv2 setup. | |||||
endef | |||||
define Package/strongswan-charon | |||||
$(call Package/strongswan/Default) | |||||
TITLE+= IKEv1/IKEv2 keying daemon | |||||
DEPENDS:= +strongswan | |||||
endef | |||||
define Package/strongswan-charon/description | |||||
$(call Package/strongswan/description/Default) | |||||
This package contains charon, an IKEv2 keying daemon. | |||||
endef | |||||
define Package/strongswan-utils | |||||
$(call Package/strongswan/Default) | |||||
TITLE+= utilities | |||||
DEPENDS:= +strongswan | |||||
endef | |||||
define Package/strongswan-utils/description | |||||
$(call Package/strongswan/description/Default) | |||||
This package contains the pki & scepclient utilities. | |||||
endef | |||||
define BuildPlugin | |||||
define Package/strongswan-mod-$(1) | |||||
$$(call Package/strongswan/Default) | |||||
TITLE:= StrongSwan $(2) plugin | |||||
DEPENDS:= +strongswan $(3) | |||||
endef | |||||
strongswan_mod_conf=$(wildcard $(PKG_INSTALL_DIR)/etc/strongswan.d/charon/$(1).conf) | |||||
define Package/strongswan-mod-$(1)/install | |||||
$(INSTALL_DIR) $$(1)/etc/strongswan.d/charon | |||||
$(if $(call strongswan_mod_conf,$(1)), \ | |||||
$(INSTALL_DATA) \ | |||||
$(call strongswan_mod_conf,$(1)) \ | |||||
$$(1)/etc/strongswan.d/charon/ \ | |||||
) | |||||
$(INSTALL_DIR) $$(1)/usr/lib/ipsec/plugins | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-$(1).so \ | |||||
$$(1)/usr/lib/ipsec/plugins/ | |||||
$(call Plugin/$(1)/install,$$(1)) | |||||
endef | |||||
Package/strongswan-mod-$(1)/conffiles=$(patsubst $(PKG_INSTALL_DIR)%,%,$(call strongswan_mod_conf,$(1))) | |||||
$$(eval $$(call BuildPackage,strongswan-mod-$(1))) | |||||
endef | |||||
CONFIGURE_ARGS+= \ | |||||
--disable-scripts \ | |||||
--disable-static \ | |||||
--disable-fast \ | |||||
--with-systemdsystemunitdir=no \ | |||||
$(if $(CONFIG_PACKAGE_strongswan-utils),--enable-pki --enable-scepclient,--disable-pki --disable-scepclient) \ | |||||
--with-random-device=/dev/random \ | |||||
--with-urandom-device=/dev/urandom \ | |||||
--with-routing-table="$(call qstrip,$(CONFIG_STRONGSWAN_ROUTING_TABLE))" \ | |||||
--with-routing-table-prio="$(call qstrip,$(CONFIG_STRONGSWAN_ROUTING_TABLE_PRIO))" \ | |||||
$(foreach m,$(PKG_MOD_AVAILABLE), \ | |||||
$(if $(CONFIG_PACKAGE_strongswan-mod-$(m)),--enable-$(m),--disable-$(m)) \ | |||||
) | |||||
EXTRA_LDFLAGS+= -Wl,-rpath-link,$(STAGING_DIR)/usr/lib | |||||
define Package/strongswan/conffiles | |||||
/etc/ipsec.conf | |||||
/etc/ipsec.secrets | |||||
/etc/ipsec.user | |||||
/etc/strongswan.conf | |||||
endef | |||||
define Package/strongswan/install | |||||
$(INSTALL_DIR) $(1)/etc | |||||
$(CP) $(PKG_INSTALL_DIR)/etc/strongswan.conf $(1)/etc/ | |||||
$(INSTALL_DIR) $(1)/usr/lib/ipsec | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/{libstrongswan.so.*,libhydra.so.*} $(1)/usr/lib/ipsec/ | |||||
$(INSTALL_CONF) ./files/ipsec.secrets $(1)/etc/ | |||||
$(INSTALL_DIR) $(1)/etc/init.d | |||||
$(INSTALL_BIN) ./files/ipsec.init $(1)/etc/init.d/ipsec | |||||
endef | |||||
define Package/strongswan-default/install | |||||
true | |||||
endef | |||||
define Package/strongswan-full/install | |||||
true | |||||
endef | |||||
define Package/strongswan-minimal/install | |||||
true | |||||
endef | |||||
define Package/strongswan-charon/install | |||||
$(INSTALL_DIR) $(1)/usr/lib/ipsec | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ipsec/charon $(1)/usr/lib/ipsec/ | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libcharon.so.* $(1)/usr/lib/ipsec/ | |||||
endef | |||||
define Package/strongswan-utils/install | |||||
$(INSTALL_DIR) $(1)/usr/sbin | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ipsec $(1)/usr/sbin/ | |||||
$(INSTALL_DIR) $(1)/usr/bin | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pki $(1)/usr/bin/ | |||||
$(INSTALL_DIR) $(1)/usr/lib/ipsec | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ipsec/scepclient $(1)/usr/lib/ipsec/ | |||||
endef | |||||
define Plugin/duplicheck/install | |||||
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/duplicheck $(1)/usr/lib/ipsec/ | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-duplicheck.so $(1)/usr/lib/ipsec/plugins/ | |||||
endef | |||||
define Plugin/eap-radius/install | |||||
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libradius.so.* $(1)/usr/lib/ipsec/ | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-eap-radius.so $(1)/usr/lib/ipsec/plugins/ | |||||
endef | |||||
define Plugin/attr-sql/install | |||||
$(INSTALL_DIR) $(1)/usr/lib/ipsec | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/pool $(1)/usr/lib/ipsec/ | |||||
endef | |||||
define Plugin/stroke/install | |||||
$(INSTALL_DIR) $(1)/etc/ipsec.d/aacerts | |||||
$(INSTALL_DIR) $(1)/etc/ipsec.d/acerts | |||||
$(INSTALL_DIR) $(1)/etc/ipsec.d/cacerts | |||||
$(INSTALL_DIR) $(1)/etc/ipsec.d/certs | |||||
$(INSTALL_DIR) $(1)/etc/ipsec.d/crls | |||||
$(INSTALL_DIR) $(1)/etc/ipsec.d/ocspcerts | |||||
$(INSTALL_DIR) $(1)/etc/ipsec.d/private | |||||
$(INSTALL_DIR) $(1)/etc/ipsec.d/reqs | |||||
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/ipsec.conf $(1)/etc/ | |||||
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins | |||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ipsec/{starter,stroke} $(1)/usr/lib/ipsec/ | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-stroke.so $(1)/usr/lib/ipsec/plugins/ | |||||
endef | |||||
define Plugin/updown/install | |||||
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/{_updown,_updown_espmark} $(1)/usr/lib/ipsec/ | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-updown.so $(1)/usr/lib/ipsec/plugins/ | |||||
$(INSTALL_DIR) $(1)/etc | |||||
$(INSTALL_CONF) ./files/ipsec.user $(1)/etc/ | |||||
endef | |||||
define Plugin/whitelist/install | |||||
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/whitelist $(1)/usr/lib/ipsec/ | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-whitelist.so $(1)/usr/lib/ipsec/plugins/ | |||||
endef | |||||
define Plugin/kernel-libipsec/install | |||||
$(INSTALL_DIR) $(1)/usr/lib/ipsec | |||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libipsec.so.* $(1)/usr/lib/ipsec/ | |||||
endef | |||||
$(eval $(call BuildPackage,strongswan)) | |||||
$(eval $(call BuildPackage,strongswan-default)) | |||||
$(eval $(call BuildPackage,strongswan-full)) | |||||
$(eval $(call BuildPackage,strongswan-minimal)) | |||||
$(eval $(call BuildPackage,strongswan-charon)) | |||||
$(eval $(call BuildPackage,strongswan-utils)) | |||||
$(eval $(call BuildPlugin,addrblock,RFC 3779 address block constraint support,)) | |||||
$(eval $(call BuildPlugin,aes,AES crypto,)) | |||||
$(eval $(call BuildPlugin,af-alg,AF_ALG crypto interface to Linux Crypto API,+kmod-crypto-user)) | |||||
$(eval $(call BuildPlugin,agent,SSH agent signing,)) | |||||
$(eval $(call BuildPlugin,attr,file based config,)) | |||||
$(eval $(call BuildPlugin,attr-sql,SQL based config,+strongswan-mod-sql)) | |||||
$(eval $(call BuildPlugin,blowfish,Blowfish crypto,)) | |||||
$(eval $(call BuildPlugin,ccm,CCM AEAD wrapper crypto,)) | |||||
$(eval $(call BuildPlugin,cmac,CMAC crypto,)) | |||||
$(eval $(call BuildPlugin,constraints,advanced X509 constraint checking,)) | |||||
$(eval $(call BuildPlugin,coupling,IKEv2 plugin to couple peer certificates permanently to authentication,)) | |||||
$(eval $(call BuildPlugin,ctr,Counter Mode wrapper crypto,)) | |||||
$(eval $(call BuildPlugin,curl,cURL fetcher plugin,+PACKAGE_strongswan-mod-curl:libcurl)) | |||||
$(eval $(call BuildPlugin,des,DES crypto,)) | |||||
$(eval $(call BuildPlugin,dhcp,DHCP based attribute provider,)) | |||||
$(eval $(call BuildPlugin,dnskey,DNS RR key decoding,)) | |||||
$(eval $(call BuildPlugin,duplicheck,advanced duplicate checking,)) | |||||
$(eval $(call BuildPlugin,eap-identity,EAP identity helper,)) | |||||
$(eval $(call BuildPlugin,eap-md5,EAP MD5 (CHAP) EAP auth,)) | |||||
$(eval $(call BuildPlugin,eap-mschapv2,EAP MS-CHAPv2 EAP auth,+strongswan-mod-md4 +strongswan-mod-des)) | |||||
$(eval $(call BuildPlugin,eap-radius,EAP RADIUS auth,)) | |||||
$(eval $(call BuildPlugin,farp,fake arp respsonses,)) | |||||
$(eval $(call BuildPlugin,fips-prf,FIPS PRF crypto,+strongswan-mod-sha1)) | |||||
$(eval $(call BuildPlugin,gcm,GCM AEAD wrapper crypto,)) | |||||
$(eval $(call BuildPlugin,gcrypt,libgcrypt,+PACKAGE_strongswan-mod-gcrypt:libgcrypt)) | |||||
$(eval $(call BuildPlugin,gmp,libgmp,+PACKAGE_strongswan-mod-gmp:libgmp)) | |||||
$(eval $(call BuildPlugin,ha,high availability cluster,)) | |||||
$(eval $(call BuildPlugin,hmac,HMAC crypto,)) | |||||
$(eval $(call BuildPlugin,kernel-libipsec,libipsec kernel interface,)) | |||||
$(eval $(call BuildPlugin,kernel-netlink,netlink kernel interface,)) | |||||
$(eval $(call BuildPlugin,ldap,LDAP,+PACKAGE_strongswan-mod-ldap:libopenldap)) | |||||
$(eval $(call BuildPlugin,led,LED blink on IKE activity,)) | |||||
$(eval $(call BuildPlugin,load-tester,load testing,)) | |||||
$(eval $(call BuildPlugin,nonce,nonce genereation,)) | |||||
$(eval $(call BuildPlugin,md4,MD4 crypto,)) | |||||
$(eval $(call BuildPlugin,md5,MD5 crypto,)) | |||||
$(eval $(call BuildPlugin,mysql,MySQL database interface,+strongswan-mod-sql +PACKAGE_strongswan-mod-mysql:libmysqlclient-r)) | |||||
$(eval $(call BuildPlugin,openssl,OpenSSL crypto,+PACKAGE_strongswan-mod-openssl:libopenssl)) | |||||
$(eval $(call BuildPlugin,padlock,VIA PadLock crypto,@TARGET_x86)) | |||||
$(eval $(call BuildPlugin,pem,PEM decoding,)) | |||||
$(eval $(call BuildPlugin,pgp,PGP key decoding,)) | |||||
$(eval $(call BuildPlugin,pkcs1,PKCS1 key decoding,)) | |||||
$(eval $(call BuildPlugin,pkcs8,PKCS8 key decoding,)) | |||||
$(eval $(call BuildPlugin,pkcs11,PKCS11 key decoding,)) | |||||
$(eval $(call BuildPlugin,pubkey,raw public key,)) | |||||
$(eval $(call BuildPlugin,random,RNG,)) | |||||
$(eval $(call BuildPlugin,resolve,DNS resolver,)) | |||||
$(eval $(call BuildPlugin,revocation,X509 CRL/OCSP revocation,)) | |||||
$(eval $(call BuildPlugin,sha1,SHA1 crypto,)) | |||||
$(eval $(call BuildPlugin,sha2,SHA2 crypto,)) | |||||
$(eval $(call BuildPlugin,smp,SMP configuration and control interface,+PACKAGE_strongswan-mod-smp:libxml2)) | |||||
$(eval $(call BuildPlugin,socket-default,default socket implementation for charon,)) | |||||
$(eval $(call BuildPlugin,socket-dynamic,dynamic socket implementation for charon,)) | |||||
$(eval $(call BuildPlugin,sql,SQL database interface,)) | |||||
$(eval $(call BuildPlugin,sqlite,SQLite database interface,+strongswan-mod-sql +PACKAGE_strongswan-mod-sqlite:libsqlite3)) | |||||
$(eval $(call BuildPlugin,stroke,Stroke,+strongswan-utils)) | |||||
$(eval $(call BuildPlugin,test-vectors,crypto test vectors,)) | |||||
$(eval $(call BuildPlugin,uci,UCI config interface,+PACKAGE_strongswan-mod-uci:libuci)) | |||||
$(eval $(call BuildPlugin,unity,Cisco Unity extension,)) | |||||
$(eval $(call BuildPlugin,updown,updown firewall,)) | |||||
$(eval $(call BuildPlugin,whitelist,peer identity whitelisting,)) | |||||
$(eval $(call BuildPlugin,x509,x509 certificate,)) | |||||
$(eval $(call BuildPlugin,xauth-eap,EAP XAuth backend,)) | |||||
$(eval $(call BuildPlugin,xauth-generic,generic XAuth backend,)) | |||||
$(eval $(call BuildPlugin,xcbc,xcbc crypto,)) |
@ -0,0 +1,20 @@ | |||||
#!/bin/sh /etc/rc.common | |||||
START=90 | |||||
STOP=10 | |||||
start() { | |||||
ipsec start | |||||
} | |||||
stop() { | |||||
ipsec stop | |||||
} | |||||
restart() { | |||||
ipsec restart | |||||
} | |||||
reload() { | |||||
ipsec update | |||||
} |
@ -0,0 +1 @@ | |||||
# /etc/ipsec.secrets - strongSwan IPsec secrets file |
@ -0,0 +1,6 @@ | |||||
# This file is interpreted as shell script. | |||||
# Put your custom ip rules here, they will | |||||
# be executed with each call to the script | |||||
# /usr/lib/ipsec/_updown which by default | |||||
# strongswan executes. | |||||
@ -0,0 +1,28 @@ | |||||
--- a/src/starter/netkey.c | |||||
+++ b/src/starter/netkey.c | |||||
@@ -31,7 +31,7 @@ bool starter_netkey_init(void) | |||||
/* af_key module makes the netkey proc interface visible */ | |||||
if (stat(PROC_MODULES, &stb) == 0) | |||||
{ | |||||
- ignore_result(system("modprobe -qv af_key")); | |||||
+ ignore_result(system("modprobe af_key 2>&1 >/dev/null")); | |||||
} | |||||
/* now test again */ | |||||
@@ -45,11 +45,11 @@ bool starter_netkey_init(void) | |||||
/* make sure that all required IPsec modules are loaded */ | |||||
if (stat(PROC_MODULES, &stb) == 0) | |||||
{ | |||||
- ignore_result(system("modprobe -qv ah4")); | |||||
- ignore_result(system("modprobe -qv esp4")); | |||||
- ignore_result(system("modprobe -qv ipcomp")); | |||||
- ignore_result(system("modprobe -qv xfrm4_tunnel")); | |||||
- ignore_result(system("modprobe -qv xfrm_user")); | |||||
+ ignore_result(system("modprobe ah4 2>&1 >/dev/null")); | |||||
+ ignore_result(system("modprobe esp4 2>&1 >/dev/null")); | |||||
+ ignore_result(system("modprobe ipcomp 2>&1 >/dev/null")); | |||||
+ ignore_result(system("modprobe xfrm4_tunnel 2>&1 >/dev/null")); | |||||
+ ignore_result(system("modprobe xfrm_user 2>&1 >/dev/null")); | |||||
} | |||||
DBG2(DBG_APP, "found netkey IPsec stack"); |
@ -0,0 +1,20 @@ | |||||
--- a/src/libcharon/plugins/uci/uci_parser.c | |||||
+++ b/src/libcharon/plugins/uci/uci_parser.c | |||||
@@ -78,7 +78,7 @@ METHOD(enumerator_t, section_enumerator_ | |||||
if (uci_lookup(this->ctx, &element, this->package, | |||||
this->current->name, "name") == UCI_OK) | |||||
{ /* use "name" attribute as config name if available ... */ | |||||
- *value = uci_to_option(element)->value; | |||||
+ *value = uci_to_option(element)->v.string; | |||||
} | |||||
else | |||||
{ /* ... or the section name becomes config name */ | |||||
@@ -93,7 +93,7 @@ METHOD(enumerator_t, section_enumerator_ | |||||
if (value && uci_lookup(this->ctx, &element, this->package, | |||||
this->current->name, this->keywords[i]) == UCI_OK) | |||||
{ | |||||
- *value = uci_to_option(element)->value; | |||||
+ *value = uci_to_option(element)->v.string; | |||||
} | |||||
} | |||||
va_end(args); |
@ -0,0 +1,17 @@ | |||||
--- a/src/_updown/_updown.in | |||||
+++ b/src/_updown/_updown.in | |||||
@@ -16,11 +16,9 @@ | |||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |||||
# for more details. | |||||
-# CAUTION: Installing a new version of strongSwan will install a new | |||||
-# copy of this script, wiping out any custom changes you make. If | |||||
-# you need changes, make a copy of this under another name, and customize | |||||
-# that, and use the (left/right)updown parameters in ipsec.conf to make | |||||
-# strongSwan use yours instead of this default one. | |||||
+# Add your custom ip rules to the /etc/ipsec.user file if you need that functionality. | |||||
+ | |||||
+[ -e /etc/ipsec.user ] && . /etc/ipsec.user "$1" | |||||
# things that this script gets (from ipsec_pluto(8) man page) | |||||
# |