diff --git a/lang/micropython-lib/Makefile b/lang/micropython-lib/Makefile new file mode 100644 index 000000000..3334b222b --- /dev/null +++ b/lang/micropython-lib/Makefile @@ -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 +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)) + diff --git a/lang/micropython/Makefile b/lang/micropython/Makefile new file mode 100644 index 000000000..0825bd9f1 --- /dev/null +++ b/lang/micropython/Makefile @@ -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 +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)) diff --git a/lang/perl-compress-bzip2/Makefile b/lang/perl-compress-bzip2/Makefile index 25a624b23..9f9430a67 100644 --- a/lang/perl-compress-bzip2/Makefile +++ b/lang/perl-compress-bzip2/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE_URL:=http://www.cpan.org/authors/id/R/RU/RURBAN/ PKG_SOURCE:=Compress-Bzip2-$(PKG_VERSION).tar.gz PKG_MD5SUM:=c4a1995df9443cb97c28593cbbb23304 -PKG_LICENSE:=GPLv1+ ARTISTIC +PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl PKG_MAINTAINER:=Marcel Denia PKG_BUILD_DIR:=$(BUILD_DIR)/perl/Compress-Bzip2-$(PKG_VERSION) diff --git a/lang/perl-dbi/Makefile b/lang/perl-dbi/Makefile index eb69a5150..53c15066f 100644 --- a/lang/perl-dbi/Makefile +++ b/lang/perl-dbi/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE_URL:=http://www.cpan.org/authors/id/T/TI/TIMB/ PKG_SOURCE:=DBI-$(PKG_VERSION).tar.gz PKG_MD5SUM:=444d3c305e86597e11092b517794a840 -PKG_LICENSE:=GPLv1+ ARTISTIC +PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl PKG_MAINTAINER:=Marcel Denia PKG_BUILD_DIR:=$(BUILD_DIR)/perl/DBI-$(PKG_VERSION) diff --git a/lang/perl-html-parser/Makefile b/lang/perl-html-parser/Makefile index 629d58874..6baa88d82 100644 --- a/lang/perl-html-parser/Makefile +++ b/lang/perl-html-parser/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE_URL:=http://www.cpan.org/authors/id/G/GA/GAAS/ PKG_SOURCE:=HTML-Parser-$(PKG_VERSION).tar.gz PKG_MD5SUM:=9128a45893097dfa3bf03301b19c5efe -PKG_LICENSE:=GPLv1+ ARTISTIC +PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl PKG_MAINTAINER:=Marcel Denia PKG_BUILD_DIR:=$(BUILD_DIR)/perl/HTML-Parser-$(PKG_VERSION) diff --git a/lang/perl-html-tagset/Makefile b/lang/perl-html-tagset/Makefile index d0aa245cb..fbec409cf 100644 --- a/lang/perl-html-tagset/Makefile +++ b/lang/perl-html-tagset/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE_URL:=http://www.cpan.org/authors/id/P/PE/PETDANCE/ PKG_SOURCE:=HTML-Tagset-$(PKG_VERSION).tar.gz PKG_MD5SUM:=d2bfa18fe1904df7f683e96611e87437 -PKG_LICENSE:=GPLv1+ ARTISTIC +PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl PKG_MAINTAINER:=Marcel Denia PKG_BUILD_DIR:=$(BUILD_DIR)/perl/HTML-Tagset-$(PKG_VERSION) diff --git a/lang/perl-html-tree/Makefile b/lang/perl-html-tree/Makefile index b03adf90c..614aff7fb 100644 --- a/lang/perl-html-tree/Makefile +++ b/lang/perl-html-tree/Makefile @@ -16,7 +16,7 @@ PKG_SOURCE_URL:=http://www.cpan.org/authors/id/P/PE/PETEK/ PKG_SOURCE:=HTML-Tree-$(PKG_VERSION).tar.gz PKG_MD5SUM:=6352f50be402301f79b580dd235d7762 -PKG_LICENSE:=GPLv1+ ARTISTIC +PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl PKG_MAINTAINER:=Marcel Denia PKG_BUILD_DIR:=$(BUILD_DIR)/perl/HTML-Tree-$(PKG_VERSION) diff --git a/lang/perl-lockfile-simple/Makefile b/lang/perl-lockfile-simple/Makefile index 930f66032..e65d4a570 100644 --- a/lang/perl-lockfile-simple/Makefile +++ b/lang/perl-lockfile-simple/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE_URL:=http://www.cpan.org/authors/id/S/SC/SCHWIGON/lockfile-simple/ PKG_SOURCE:=LockFile-Simple-$(PKG_VERSION).tar.gz PKG_MD5SUM:=4421283b4f32549e5299963734170044 -PKG_LICENSE:=GPLv2+ ARTISTIC +PKG_LICENSE:=GPL-2.0+ Artistic-1.0-Perl PKG_MAINTAINER:=Marcel Denia PKG_BUILD_DIR:=$(BUILD_DIR)/perl/LockFile-Simple-$(PKG_VERSION) diff --git a/lang/perl-net-telnet/Makefile b/lang/perl-net-telnet/Makefile index 1eaeb66e9..d229cd814 100644 --- a/lang/perl-net-telnet/Makefile +++ b/lang/perl-net-telnet/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE_URL:=http://www.cpan.org/authors/id/J/JR/JROGERS/ PKG_SOURCE:=Net-Telnet-$(PKG_VERSION).tar.gz PKG_MD5SUM:=d2514080116c1b0fa5f96295c84538e3 -PKG_LICENSE:=GPLv1+ ARTISTIC +PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl PKG_MAINTAINER:=Marcel Denia PKG_BUILD_DIR:=$(BUILD_DIR)/perl/Net-Telnet-$(PKG_VERSION) diff --git a/lang/perl-test-harness/Makefile b/lang/perl-test-harness/Makefile index 89650b218..524bbd751 100644 --- a/lang/perl-test-harness/Makefile +++ b/lang/perl-test-harness/Makefile @@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=perl-test-harness -PKG_VERSION:=3.32 +PKG_VERSION:=3.33 PKG_RELEASE:=1 PKG_SOURCE_URL:=http://www.cpan.org/authors/id/L/LE/LEONT/ PKG_SOURCE:=Test-Harness-$(PKG_VERSION).tar.gz -PKG_MD5SUM:=a1241b628dc80f5271ed9235c211e55c +PKG_MD5SUM:=7a72849ee1e67184db098146cc7c8855 -PKG_LICENSE:=GPLv1+ ARTISTIC +PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl PKG_MAINTAINER:=Marcel Denia PKG_BUILD_DIR:=$(BUILD_DIR)/perl/Test-Harness-$(PKG_VERSION) diff --git a/lang/perl-uri/Makefile b/lang/perl-uri/Makefile index a3ea9271e..d298dd98c 100644 --- a/lang/perl-uri/Makefile +++ b/lang/perl-uri/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE_URL:=http://www.cpan.org/authors/id/E/ET/ETHER/ PKG_SOURCE:=URI-$(PKG_VERSION).tar.gz PKG_MD5SUM:=975b2282bc8f0fd72a6dae5cefc33824 -PKG_LICENSE:=GPLv1+ ARTISTIC +PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl PKG_MAINTAINER:=Marcel Denia PKG_BUILD_DIR:=$(BUILD_DIR)/perl/URI-$(PKG_VERSION) diff --git a/lang/perl-www-curl/Makefile b/lang/perl-www-curl/Makefile index ea8102c83..8bc3bfda5 100644 --- a/lang/perl-www-curl/Makefile +++ b/lang/perl-www-curl/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE_URL:=http://www.cpan.org/authors/id/S/SZ/SZBALINT/ PKG_SOURCE:=WWW-Curl-$(PKG_VERSION).tar.gz PKG_MD5SUM:=997ac81cd6b03b30b36f7cd930474845 -PKG_LICENSE:=GPLv1+ ARTISTIC +PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Marcel Denia diff --git a/lang/perl-www-mechanize/Makefile b/lang/perl-www-mechanize/Makefile index 934ed3d96..4fe85ebc5 100644 --- a/lang/perl-www-mechanize/Makefile +++ b/lang/perl-www-mechanize/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE:=WWW-Mechanize-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.cpan.org/authors/id/E/ET/ETHER/ PKG_MD5SUM:=de0a9c528c12793c881151301bc14d1a -PKG_LICENSE:=GPLv1+ ARTISTIC +PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl PKG_MAINTAINER:=Marcel Denia PKG_BUILD_DIR:=$(BUILD_DIR)/perl/WWW-Mechanize-$(PKG_VERSION) diff --git a/lang/perl-www/Makefile b/lang/perl-www/Makefile index d9ea42d1b..fadc1c023 100644 --- a/lang/perl-www/Makefile +++ b/lang/perl-www/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE_URL:=http://www.cpan.org/authors/id/G/GA/GAAS/ PKG_SOURCE:=libwww-perl-$(PKG_VERSION).tar.gz PKG_MD5SUM:=9bbf1bce482b0bac98bb4f04253c03d0 -PKG_LICENSE:=GPLv1+ ARTISTIC +PKG_LICENSE:=GPL-1.0+ Artistic-1.0-Perl PKG_MAINTAINER:=Marcel Denia PKG_BUILD_DIR:=$(BUILD_DIR)/perl/libwww-perl-$(PKG_VERSION) diff --git a/libs/db47/Makefile b/libs/db47/Makefile index e609c3f01..2083fc9dc 100644 --- a/libs/db47/Makefile +++ b/libs/db47/Makefile @@ -8,16 +8,19 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/uclibc++.mk +BASE_VERSION:=4.7.25 + PKG_NAME:=db47 -PKG_VERSION:=4.7.25.NC -PKG_RELEASE:=6 +PKG_VERSION:=$(BASE_VERSION).4.NC +PKG_RELEASE:=1 -PKG_BUILD_DIR:=$(BUILD_DIR)/db-$(PKG_VERSION) -PKG_SOURCE:=db-$(PKG_VERSION).tar.gz +PKG_BUILD_DIR:=$(BUILD_DIR)/db-$(BASE_VERSION).NC +PKG_SOURCE:=db-$(BASE_VERSION).NC.tar.gz PKG_SOURCE_URL:=http://download.oracle.com/berkeley-db/ PKG_MD5SUM:=073ab7f20d24b3872a51ca762f5090e7 + PKG_MAINTAINER:=Marcel Denia -PKG_LICENSE:=BSD-2c +PKG_LICENSE:=Sleepycat PKG_LICENSE_FILES:=LICENSE PKG_FIXUP:=autoreconf @@ -31,7 +34,7 @@ define Package/libdb47 CATEGORY:=Libraries DEPENDS:=+libxml2 TITLE:=Berkeley DB library (4.7) - URL:=http://www.sleepycat.com/products/db.shtml + URL:=http://www.oracle.com/us/products/database/berkeley-db endef define Package/libdb47/description @@ -43,7 +46,7 @@ define Package/libdb47xx CATEGORY:=Libraries DEPENDS:=+libdb47 $(CXX_DEPENDS) TITLE:=Berkeley DB library (4.7) for C++ - URL:=http://www.sleepycat.com/products/db.shtml + URL:=http://www.oracle.com/us/products/database/berkeley-db endef define Package/libdb47xx/description @@ -95,4 +98,3 @@ endef $(eval $(call BuildPackage,libdb47)) $(eval $(call BuildPackage,libdb47xx)) - diff --git a/libs/db47/patches/001-sequence_lock.patch b/libs/db47/patches/010-patch.4.7.25.1.patch similarity index 80% rename from libs/db47/patches/001-sequence_lock.patch rename to libs/db47/patches/010-patch.4.7.25.1.patch index 8ede4b4b0..f1fd47270 100644 --- a/libs/db47/patches/001-sequence_lock.patch +++ b/libs/db47/patches/010-patch.4.7.25.1.patch @@ -1,7 +1,6 @@ -diff -ruN db-4.7.25.NC/sequence/sequence.c db-4.7.25.NC.new/sequence/sequence.c ---- db-4.7.25.NC/sequence/sequence.c 2008-05-05 22:25:09.000000000 +0200 -+++ db-4.7.25.NC.new/sequence/sequence.c 2009-11-08 12:50:27.000000000 +0100 -@@ -187,7 +187,11 @@ +--- a/sequence/sequence.c ++++ b/sequence/sequence.c +@@ -187,7 +187,11 @@ __seq_open_pp(seq, txn, keyp, flags) if ((ret = __db_get_flags(dbp, &tflags)) != 0) goto err; @@ -14,7 +13,7 @@ diff -ruN db-4.7.25.NC/sequence/sequence.c db-4.7.25.NC.new/sequence/sequence.c ret = __db_rdonly(dbp->env, "DB_SEQUENCE->open"); goto err; } -@@ -244,6 +248,11 @@ +@@ -244,6 +248,11 @@ retry: if ((ret = __db_get(dbp, ip, if ((ret != DB_NOTFOUND && ret != DB_KEYEMPTY) || !LF_ISSET(DB_CREATE)) goto err; @@ -26,7 +25,7 @@ diff -ruN db-4.7.25.NC/sequence/sequence.c db-4.7.25.NC.new/sequence/sequence.c ret = 0; rp = &seq->seq_record; -@@ -296,7 +305,12 @@ +@@ -296,7 +305,12 @@ retry: if ((ret = __db_get(dbp, ip, */ rp = seq->seq_data.data; if (rp->seq_version == DB_SEQUENCE_OLDVER) { @@ -40,7 +39,7 @@ diff -ruN db-4.7.25.NC/sequence/sequence.c db-4.7.25.NC.new/sequence/sequence.c if (!F_ISSET(env, ENV_LITTLEENDIAN)) { if (IS_DB_AUTO_COMMIT(dbp, txn)) { if ((ret = -@@ -707,6 +721,13 @@ +@@ -707,6 +721,13 @@ __seq_get(seq, txn, delta, retp, flags) MUTEX_LOCK(env, seq->mtx_seq); diff --git a/libs/db47/patches/002-lock.patch b/libs/db47/patches/020-patch.4.7.25.2.patch similarity index 82% rename from libs/db47/patches/002-lock.patch rename to libs/db47/patches/020-patch.4.7.25.2.patch index 8cfd8faa9..ddf830a30 100644 --- a/libs/db47/patches/002-lock.patch +++ b/libs/db47/patches/020-patch.4.7.25.2.patch @@ -1,7 +1,6 @@ -diff -urN db-4.7.25.NC/lock/lock.c db-4.7.25.NC.new/lock/lock.c ---- db-4.7.25.NC/lock/lock.c 2008-05-07 14:27:35.000000000 +0200 -+++ db-4.7.25.NC.new/lock/lock.c 2009-11-08 12:52:19.000000000 +0100 -@@ -1274,10 +1274,12 @@ +--- a/lock/lock.c ++++ b/lock/lock.c +@@ -1274,10 +1274,12 @@ __lock_put_internal(lt, lockp, obj_ndx, SH_TAILQ_REMOVE( <->obj_tab[obj_ndx], sh_obj, links, __db_lockobj); if (sh_obj->lockobj.size > sizeof(sh_obj->objdata)) { @@ -16,7 +15,7 @@ diff -urN db-4.7.25.NC/lock/lock.c db-4.7.25.NC.new/lock/lock.c } SH_TAILQ_INSERT_HEAD( &FREE_OBJS(lt, part_id), sh_obj, links, __db_lockobj); -@@ -1467,15 +1469,21 @@ +@@ -1467,15 +1469,21 @@ retry: SH_TAILQ_FOREACH(sh_obj, <->obj if (obj->size <= sizeof(sh_obj->objdata)) p = sh_obj->objdata; else { diff --git a/libs/db47/patches/003-dead_lock.patch b/libs/db47/patches/030-patch.4.7.25.3.patch similarity index 86% rename from libs/db47/patches/003-dead_lock.patch rename to libs/db47/patches/030-patch.4.7.25.3.patch index 2b866601d..59b00e651 100644 --- a/libs/db47/patches/003-dead_lock.patch +++ b/libs/db47/patches/030-patch.4.7.25.3.patch @@ -1,7 +1,6 @@ -diff -urN db-4.7.25.NC/lock/lock_deadlock.c db-4.7.25.NC.new/lock/lock_deadlock.c ---- db-4.7.25.NC/lock/lock_deadlock.c 2008-03-10 14:31:33.000000000 +0100 -+++ db-4.7.25.NC.new/lock/lock_deadlock.c 2009-11-08 12:53:25.000000000 +0100 -@@ -121,7 +121,7 @@ +--- a/lock/lock_deadlock.c ++++ b/lock/lock_deadlock.c +@@ -121,7 +121,7 @@ __lock_detect(env, atype, rejectp) DB_LOCKTAB *lt; db_timespec now; locker_info *idmap; @@ -10,7 +9,7 @@ diff -urN db-4.7.25.NC/lock/lock_deadlock.c db-4.7.25.NC.new/lock/lock_deadlock. u_int32_t i, cid, keeper, killid, limit, nalloc, nlockers; u_int32_t lock_max, txn_max; int ret, status; -@@ -133,7 +133,8 @@ +@@ -133,7 +133,8 @@ __lock_detect(env, atype, rejectp) if (IS_REP_CLIENT(env)) atype = DB_LOCK_MINWRITE; @@ -20,7 +19,7 @@ diff -urN db-4.7.25.NC/lock/lock_deadlock.c db-4.7.25.NC.new/lock/lock_deadlock. lt = env->lk_handle; if (rejectp != NULL) -@@ -179,11 +180,11 @@ +@@ -179,11 +180,11 @@ __lock_detect(env, atype, rejectp) memcpy(copymap, bitmap, nlockers * sizeof(u_int32_t) * nalloc); if ((ret = __os_calloc(env, sizeof(u_int32_t), nalloc, &tmpmap)) != 0) @@ -34,7 +33,7 @@ diff -urN db-4.7.25.NC/lock/lock_deadlock.c db-4.7.25.NC.new/lock/lock_deadlock. return (ret); /* -@@ -204,8 +205,7 @@ +@@ -204,8 +205,7 @@ __lock_detect(env, atype, rejectp) txn_max = TXN_MAXIMUM; killid = BAD_KILLID; @@ -44,7 +43,7 @@ diff -urN db-4.7.25.NC/lock/lock_deadlock.c db-4.7.25.NC.new/lock/lock_deadlock. if (rejectp != NULL) ++*rejectp; killid = (u_int32_t)(*deadp - bitmap) / nalloc; -@@ -342,11 +342,12 @@ +@@ -342,11 +342,12 @@ dokill: if (killid == BAD_KILLID) { __db_msg(env, "Aborting locker %lx", (u_long)idmap[killid].id); } @@ -62,7 +61,7 @@ diff -urN db-4.7.25.NC/lock/lock_deadlock.c db-4.7.25.NC.new/lock/lock_deadlock. __os_free(env, bitmap); __os_free(env, idmap); -@@ -360,6 +361,17 @@ +@@ -360,6 +361,17 @@ err: if (free_me != NULL) #define DD_INVALID_ID ((u_int32_t) -1) @@ -80,7 +79,7 @@ diff -urN db-4.7.25.NC/lock/lock_deadlock.c db-4.7.25.NC.new/lock/lock_deadlock. static int __dd_build(env, atype, bmp, nlockers, allocp, idmap, rejectp) ENV *env; -@@ -393,6 +405,7 @@ +@@ -393,6 +405,7 @@ __dd_build(env, atype, bmp, nlockers, al * In particular we do not build the conflict array and our caller * needs to expect this. */ @@ -88,7 +87,7 @@ diff -urN db-4.7.25.NC/lock/lock_deadlock.c db-4.7.25.NC.new/lock/lock_deadlock. if (atype == DB_LOCK_EXPIRE) { skip: LOCK_DD(env, region); op = SH_TAILQ_FIRST(®ion->dd_objs, __db_lockobj); -@@ -430,17 +443,18 @@ +@@ -430,17 +443,18 @@ skip: LOCK_DD(env, region); OBJECT_UNLOCK(lt, region, indx); } UNLOCK_DD(env, region); @@ -112,7 +111,7 @@ diff -urN db-4.7.25.NC/lock/lock_deadlock.c db-4.7.25.NC.new/lock/lock_deadlock. *nlockers = 0; return (0); } -@@ -448,50 +462,37 @@ +@@ -448,50 +462,37 @@ retry: count = region->stat.st_nlockers; if (FLD_ISSET(env->dbenv->verbose, DB_VERB_DEADLOCK)) __db_msg(env, "%lu lockers", (u_long)count); @@ -170,7 +169,7 @@ diff -urN db-4.7.25.NC/lock/lock_deadlock.c db-4.7.25.NC.new/lock/lock_deadlock. lip->dd_id = id++; id_array[lip->dd_id].id = lip->id; switch (atype) { -@@ -510,7 +511,6 @@ +@@ -510,7 +511,6 @@ retry: count = region->stat.st_nlockers; lip->dd_id = DD_INVALID_ID; } @@ -178,7 +177,7 @@ diff -urN db-4.7.25.NC/lock/lock_deadlock.c db-4.7.25.NC.new/lock/lock_deadlock. /* * We only need consider objects that have waiters, so we use -@@ -669,7 +669,6 @@ +@@ -669,7 +669,6 @@ again: memset(bitmap, 0, count * sizeof * status after building the bit maps so that we will not detect * a blocked transaction without noting that it is already aborting. */ @@ -186,7 +185,7 @@ diff -urN db-4.7.25.NC/lock/lock_deadlock.c db-4.7.25.NC.new/lock/lock_deadlock. for (id = 0; id < count; id++) { if (!id_array[id].valid) continue; -@@ -738,6 +737,7 @@ +@@ -738,6 +737,7 @@ get_lock: id_array[id].last_lock = R_OF id_array[id].in_abort = 1; } UNLOCK_LOCKERS(env, region); @@ -194,7 +193,7 @@ diff -urN db-4.7.25.NC/lock/lock_deadlock.c db-4.7.25.NC.new/lock/lock_deadlock. /* * Now we can release everything except the bitmap matrix that we -@@ -839,6 +839,7 @@ +@@ -839,6 +839,7 @@ __dd_abort(env, info, statusp) ret = 0; /* We must lock so this locker cannot go away while we abort it. */ @@ -202,7 +201,7 @@ diff -urN db-4.7.25.NC/lock/lock_deadlock.c db-4.7.25.NC.new/lock/lock_deadlock. LOCK_LOCKERS(env, region); /* -@@ -895,6 +896,7 @@ +@@ -895,6 +896,7 @@ __dd_abort(env, info, statusp) done: OBJECT_UNLOCK(lt, region, info->last_ndx); err: out: UNLOCK_LOCKERS(env, region); diff --git a/libs/db47/patches/040-patch.4.7.25.4.patch b/libs/db47/patches/040-patch.4.7.25.4.patch new file mode 100644 index 000000000..7db406120 --- /dev/null +++ b/libs/db47/patches/040-patch.4.7.25.4.patch @@ -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 diff --git a/libs/gdbm/Makefile b/libs/gdbm/Makefile index 8d078b625..d2c4939bc 100644 --- a/libs/gdbm/Makefile +++ b/libs/gdbm/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@GNU/gdbm PKG_MD5SUM:=72c832680cf0999caedbe5b265c8c1bd -PKG_LICENSE:=GPLv3 +PKG_LICENSE:=GPL-3.0+ PKG_LICENSE_FILES:=COPYING PKG_MAINTAINER:=Marcel Denia diff --git a/libs/libidn/Makefile b/libs/libidn/Makefile index 659b3f26c..69daced32 100644 --- a/libs/libidn/Makefile +++ b/libs/libidn/Makefile @@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libidn -PKG_VERSION:=1.28 +PKG_VERSION:=1.29 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@GNU/libidn -PKG_MD5SUM:=43a6f14b16559e10a492acc65c4b0acc +PKG_MD5SUM:=2b67bb507207af379f9461e1307dc84b -PKG_LICENSE:=GPLv2 GPLv3 LGPLv2.1 LGPLv3 APACHEv2 +PKG_LICENSE:=GPL-2.0+ GPL-3.0+ LGPL-2.1+ LGPL-3.0+ Apache-2.0 PKG_LICENSE_FILES:=COPYING COPYINGv2 COPYINGv3 COPYING.LESSERv2 COPYING.LESSERv3 java/LICENSE-2.0.txt PKG_MAINTAINER:=Marcel Denia diff --git a/net/bind/Makefile b/net/bind/Makefile new file mode 100644 index 000000000..99ac1c996 --- /dev/null +++ b/net/bind/Makefile @@ -0,0 +1,203 @@ +# +# Copyright (C) 2006-2012 OpenWrt.org +# 2014 Noah Meyerhans +# +# 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 +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)) diff --git a/net/bind/files/bind/db.0 b/net/bind/files/bind/db.0 new file mode 100644 index 000000000..e3aabdbee --- /dev/null +++ b/net/bind/files/bind/db.0 @@ -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. diff --git a/net/bind/files/bind/db.127 b/net/bind/files/bind/db.127 new file mode 100644 index 000000000..cd05bef14 --- /dev/null +++ b/net/bind/files/bind/db.127 @@ -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. diff --git a/net/bind/files/bind/db.255 b/net/bind/files/bind/db.255 new file mode 100644 index 000000000..e3aabdbee --- /dev/null +++ b/net/bind/files/bind/db.255 @@ -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. diff --git a/net/bind/files/bind/db.local b/net/bind/files/bind/db.local new file mode 100644 index 000000000..66b489235 --- /dev/null +++ b/net/bind/files/bind/db.local @@ -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 diff --git a/net/bind/files/bind/db.root b/net/bind/files/bind/db.root new file mode 100644 index 000000000..0eb52af7a --- /dev/null +++ b/net/bind/files/bind/db.root @@ -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 + diff --git a/net/bind/files/bind/named.conf.example b/net/bind/files/bind/named.conf.example new file mode 100644 index 000000000..162454955 --- /dev/null +++ b/net/bind/files/bind/named.conf.example @@ -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"; +}; diff --git a/net/bind/files/named.init b/net/bind/files/named.init new file mode 100644 index 000000000..986e5fe08 --- /dev/null +++ b/net/bind/files/named.init @@ -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 +} diff --git a/net/bind/patches/001-no-tests.patch b/net/bind/patches/001-no-tests.patch new file mode 100644 index 000000000..c969c5e96 --- /dev/null +++ b/net/bind/patches/001-no-tests.patch @@ -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@ diff --git a/net/strongswan/Config.in b/net/strongswan/Config.in new file mode 100644 index 000000000..5bb78aeb8 --- /dev/null +++ b/net/strongswan/Config.in @@ -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 diff --git a/net/strongswan/Makefile b/net/strongswan/Makefile new file mode 100644 index 000000000..803995122 --- /dev/null +++ b/net/strongswan/Makefile @@ -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 + +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,)) diff --git a/net/strongswan/files/ipsec.init b/net/strongswan/files/ipsec.init new file mode 100644 index 000000000..391a2ae8c --- /dev/null +++ b/net/strongswan/files/ipsec.init @@ -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 +} diff --git a/net/strongswan/files/ipsec.secrets b/net/strongswan/files/ipsec.secrets new file mode 100644 index 000000000..ddd495699 --- /dev/null +++ b/net/strongswan/files/ipsec.secrets @@ -0,0 +1 @@ +# /etc/ipsec.secrets - strongSwan IPsec secrets file diff --git a/net/strongswan/files/ipsec.user b/net/strongswan/files/ipsec.user new file mode 100644 index 000000000..4351ace39 --- /dev/null +++ b/net/strongswan/files/ipsec.user @@ -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. + diff --git a/net/strongswan/patches/201-kmodloader.patch b/net/strongswan/patches/201-kmodloader.patch new file mode 100644 index 000000000..7d4615638 --- /dev/null +++ b/net/strongswan/patches/201-kmodloader.patch @@ -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"); diff --git a/net/strongswan/patches/203-uci.patch b/net/strongswan/patches/203-uci.patch new file mode 100644 index 000000000..274ea8694 --- /dev/null +++ b/net/strongswan/patches/203-uci.patch @@ -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); diff --git a/net/strongswan/patches/300-include-ipsec-user-script.patch b/net/strongswan/patches/300-include-ipsec-user-script.patch new file mode 100644 index 000000000..d96e84492 --- /dev/null +++ b/net/strongswan/patches/300-include-ipsec-user-script.patch @@ -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) + # diff --git a/net/xl2tpd/Makefile b/net/xl2tpd/Makefile index b99641c5f..2a1c4a5df 100644 --- a/net/xl2tpd/Makefile +++ b/net/xl2tpd/Makefile @@ -67,7 +67,7 @@ define Package/xl2tpd/install $(INSTALL_DATA) ./files/options.xl2tpd $(1)/etc/ppp/ $(INSTALL_DIR) $(1)/lib/netifd/proto - $(INSTALL_BIN) ./files/l2tpv2.sh $(1)/lib/netifd/proto + $(INSTALL_BIN) ./files/l2tp.sh $(1)/lib/netifd/proto endef $(eval $(call BuildPackage,xl2tpd)) diff --git a/net/xl2tpd/files/l2tpv2.sh b/net/xl2tpd/files/l2tp.sh similarity index 96% rename from net/xl2tpd/files/l2tpv2.sh rename to net/xl2tpd/files/l2tp.sh index 6466cf0be..867234dbe 100644 --- a/net/xl2tpd/files/l2tpv2.sh +++ b/net/xl2tpd/files/l2tp.sh @@ -8,7 +8,7 @@ init_proto "$@" } -proto_l2tpv2_init_config() { +proto_l2tp_init_config() { proto_config_add_string "username" proto_config_add_string "password" proto_config_add_string "keepalive" @@ -20,7 +20,7 @@ proto_l2tpv2_init_config() { no_device=1 } -proto_l2tpv2_setup() { +proto_l2tp_setup() { local config="$1" local iface="$2" local optfile="/tmp/l2tp/options.${config}" @@ -77,7 +77,7 @@ proto_l2tpv2_setup() { xl2tpd-control connect l2tp-${config} } -proto_l2tpv2_teardown() { +proto_l2tp_teardown() { local interface="$1" local optfile="/tmp/l2tp/options.${interface}" @@ -103,5 +103,5 @@ proto_l2tpv2_teardown() { } [ -n "$INCLUDE_ONLY" ] || { - add_protocol l2tpv2 + add_protocol l2tp } diff --git a/utils/bash/Makefile b/utils/bash/Makefile index 6a1a2c18a..be80dff7c 100644 --- a/utils/bash/Makefile +++ b/utils/bash/Makefile @@ -15,7 +15,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@GNU/bash PKG_MD5SUM:=81348932d5da294953e15d4814c74dd1 -PKG_LICENSE:=GPLv3+ +PKG_LICENSE:=GPL-3.0+ PKG_LICENSE_FILES:=COPYING PKG_MAINTAINER:=Marcel Denia