You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(6) |
Jul
(14) |
Aug
(156) |
Sep
(35) |
Oct
(48) |
Nov
(55) |
Dec
(16) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(24) |
Feb
(154) |
Mar
(139) |
Apr
(175) |
May
(87) |
Jun
(34) |
Jul
(42) |
Aug
(68) |
Sep
(41) |
Oct
(76) |
Nov
(77) |
Dec
(50) |
2008 |
Jan
(98) |
Feb
(43) |
Mar
(102) |
Apr
(27) |
May
(55) |
Jun
(13) |
Jul
(58) |
Aug
(62) |
Sep
(61) |
Oct
(43) |
Nov
(87) |
Dec
(134) |
2009 |
Jan
(175) |
Feb
(106) |
Mar
(58) |
Apr
(41) |
May
(74) |
Jun
(123) |
Jul
(252) |
Aug
(192) |
Sep
(69) |
Oct
(38) |
Nov
(117) |
Dec
(95) |
2010 |
Jan
(146) |
Feb
(76) |
Mar
(90) |
Apr
(60) |
May
(23) |
Jun
(19) |
Jul
(208) |
Aug
(140) |
Sep
(103) |
Oct
(114) |
Nov
(50) |
Dec
(47) |
2011 |
Jan
(59) |
Feb
(47) |
Mar
(61) |
Apr
(58) |
May
(41) |
Jun
(11) |
Jul
(17) |
Aug
(49) |
Sep
(34) |
Oct
(166) |
Nov
(38) |
Dec
(70) |
2012 |
Jan
(87) |
Feb
(37) |
Mar
(28) |
Apr
(25) |
May
(29) |
Jun
(30) |
Jul
(43) |
Aug
(27) |
Sep
(46) |
Oct
(27) |
Nov
(51) |
Dec
(70) |
2013 |
Jan
(92) |
Feb
(34) |
Mar
(58) |
Apr
(37) |
May
(46) |
Jun
(9) |
Jul
(38) |
Aug
(22) |
Sep
(28) |
Oct
(42) |
Nov
(44) |
Dec
(34) |
2014 |
Jan
(63) |
Feb
(39) |
Mar
(48) |
Apr
(31) |
May
(21) |
Jun
(43) |
Jul
(36) |
Aug
(69) |
Sep
(53) |
Oct
(56) |
Nov
(46) |
Dec
(49) |
2015 |
Jan
(63) |
Feb
(35) |
Mar
(30) |
Apr
(38) |
May
(27) |
Jun
(42) |
Jul
(42) |
Aug
(63) |
Sep
(18) |
Oct
(45) |
Nov
(65) |
Dec
(71) |
2016 |
Jan
(54) |
Feb
(79) |
Mar
(59) |
Apr
(38) |
May
(32) |
Jun
(46) |
Jul
(42) |
Aug
(30) |
Sep
(58) |
Oct
(33) |
Nov
(98) |
Dec
(59) |
2017 |
Jan
(79) |
Feb
(12) |
Mar
(43) |
Apr
(32) |
May
(76) |
Jun
(59) |
Jul
(44) |
Aug
(14) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <abe...@us...> - 2017-06-19 15:10:16
|
Revision: 8402 http://sourceforge.net/p/astlinux/code/8402 Author: abelbeck Date: 2017-06-19 15:10:14 +0000 (Mon, 19 Jun 2017) Log Message: ----------- expat, version bump to 2.2.1, security fixes: CVE-2016-9063, CVE-2017-9233 Modified Paths: -------------- branches/1.0/package/expat/expat.mk Modified: branches/1.0/package/expat/expat.mk =================================================================== --- branches/1.0/package/expat/expat.mk 2017-06-19 13:15:06 UTC (rev 8401) +++ branches/1.0/package/expat/expat.mk 2017-06-19 15:10:14 UTC (rev 8402) @@ -4,7 +4,7 @@ # ############################################################# -EXPAT_VERSION = 2.2.0 +EXPAT_VERSION = 2.2.1 EXPAT_SITE = http://downloads.sourceforge.net/project/expat/expat/$(EXPAT_VERSION) EXPAT_SOURCE = expat-$(EXPAT_VERSION).tar.bz2 EXPAT_INSTALL_STAGING = YES This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-19 13:15:09
|
Revision: 8401 http://sourceforge.net/p/astlinux/code/8401 Author: abelbeck Date: 2017-06-19 13:15:06 +0000 (Mon, 19 Jun 2017) Log Message: ----------- dahdi-linux version bump to 2.10.2, dahdi-tools version bump to 2.10.2. Also mount /dev/shm on tmpfs so the dahdi_cfg command works Modified Paths: -------------- branches/1.0/package/dahdi-linux/Config.in branches/1.0/package/dahdi-linux/dahdi-linux-2-wcfxo-international.patch branches/1.0/package/dahdi-linux/dahdi-linux.mk branches/1.0/package/dahdi-tools/dahdi-tools.mk branches/1.0/package/dahdi-tools/dahdi.init branches/1.0/project/astlinux/target_skeleton/etc/rc Added Paths: ----------- branches/1.0/package/dahdi-linux/hfcs-2.10/ branches/1.0/package/dahdi-linux/hfcs-2.10/Kbuild branches/1.0/package/dahdi-linux/hfcs-2.10/base.c branches/1.0/package/dahdi-linux/hfcs-2.10/dahdi_hfcs.h branches/1.0/package/dahdi-linux/hfcs-2.10/fifo.c branches/1.0/package/dahdi-linux/hfcs-2.10/fifo.h branches/1.0/package/dahdi-linux/hfcs-2.10-Kbuild.patch branches/1.0/package/dahdi-tools/dahdi-tools-2.10-dahdi_cfg-sem_open-permissions.patch branches/1.0/package/dahdi-tools/dahdi-tools-2.10-remove-Werror.patch branches/1.0/package/dahdi-tools/dahdi-tools-2.10-udev-rules.patch Removed Paths: ------------- branches/1.0/package/dahdi-linux/dahdi-linux-2.6-udev-rules.patch branches/1.0/package/dahdi-linux/dahdi-linux-2.8-disable-pciradio.patch branches/1.0/package/dahdi-linux/hfcs-2.6/ branches/1.0/package/dahdi-linux/hfcs-2.6-Kbuild.patch branches/1.0/package/dahdi-linux/hfcs-2.8/ branches/1.0/package/dahdi-linux/hfcs-2.8-Kbuild.patch branches/1.0/package/dahdi-linux/oslec-2.6-echocan_oslec.patch branches/1.0/package/dahdi-tools/dahdi-tools-2.8-00udev-rules.patch branches/1.0/package/dahdi-tools/dahdi-tools-2.8-udev-rules.patch Modified: branches/1.0/package/dahdi-linux/Config.in =================================================================== --- branches/1.0/package/dahdi-linux/Config.in 2017-06-16 18:07:04 UTC (rev 8400) +++ branches/1.0/package/dahdi-linux/Config.in 2017-06-19 13:15:06 UTC (rev 8401) @@ -36,5 +36,5 @@ help Reduce image size by removing PCI / PCI-e card firmware files. - It saves 3 MB (DAHDI 2.6) or 8 MB (DAHDI 2.8) of uncompressed space. + It saves 8.8 MB (DAHDI 2.10) of uncompressed space. Modified: branches/1.0/package/dahdi-linux/dahdi-linux-2-wcfxo-international.patch =================================================================== --- branches/1.0/package/dahdi-linux/dahdi-linux-2-wcfxo-international.patch 2017-06-16 18:07:04 UTC (rev 8400) +++ branches/1.0/package/dahdi-linux/dahdi-linux-2-wcfxo-international.patch 2017-06-19 13:15:06 UTC (rev 8401) @@ -1,6 +1,6 @@ --- dahdi-linux-2.6.1/drivers/dahdi/wcfxo.c.orig 2012-10-13 09:35:10.000000000 -0500 +++ dahdi-linux-2.6.1/drivers/dahdi/wcfxo.c 2012-10-13 09:35:18.000000000 -0500 -@@ -239,6 +239,13 @@ +@@ -240,6 +240,13 @@ { "CTR21", 0, 0, 3, 0, 0, 3, 0 }, /* Austria, Belgium, Denmark, Finland, France, Germany, Greece, Iceland, Ireland, Italy, Luxembourg, Netherlands, Norway, Portugal, Spain, Sweden, Switzerland, and UK */ Deleted: branches/1.0/package/dahdi-linux/dahdi-linux-2.6-udev-rules.patch =================================================================== --- branches/1.0/package/dahdi-linux/dahdi-linux-2.6-udev-rules.patch 2017-06-16 18:07:04 UTC (rev 8400) +++ branches/1.0/package/dahdi-linux/dahdi-linux-2.6-udev-rules.patch 2017-06-19 13:15:06 UTC (rev 8401) @@ -1,40 +0,0 @@ ---- dahdi-linux-2.4.1.1/build_tools/genudevrules.orig 2011-10-13 18:31:15.000000000 -0500 -+++ dahdi-linux-2.4.1.1/build_tools/genudevrules 2011-10-13 18:32:27.000000000 -0500 -@@ -1,17 +1,5 @@ - #!/bin/sh - --ver=`udevinfo -V | cut -f3 -d" "` -- --if [ -z "${ver}" ]; then -- # Not found - try udevadm -- ver=`udevadm info -V | cut -f3 -d" "` -- -- if [ -z "${ver}" ]; then -- # nobody has that old version, anyway. -- ver=54 -- fi --fi -- - # udev versions prior to 055 use a single '=' for matching key values - # udev versions 055 and later support '==' for that purpose, and versions - # beyond 092 will probably make it mandatory -@@ -19,11 +7,7 @@ - # very old versions of udev required naming rules and permissions rules to be - # in separate files, but it's not clear at what version number that changed - --if [ ${ver} -gt 54 ]; then -- match="==" --else -- match="=" --fi -+match="==" - - cat <<EOF - # udev rules to generate the /dev/dahdi device files (if not yet provided -@@ -36,5 +20,5 @@ - KERNEL${match}"dahdi[0-9]*", NAME="dahdi/%n" - - # DAHDI devices with ownership/permissions for running as non-root --SUBSYSTEM${match}"dahdi", OWNER="asterisk", GROUP="asterisk", MODE="0660" -+#SUBSYSTEM${match}"dahdi", OWNER="asterisk", GROUP="asterisk", MODE="0660" - EOF Deleted: branches/1.0/package/dahdi-linux/dahdi-linux-2.8-disable-pciradio.patch =================================================================== --- branches/1.0/package/dahdi-linux/dahdi-linux-2.8-disable-pciradio.patch 2017-06-16 18:07:04 UTC (rev 8400) +++ branches/1.0/package/dahdi-linux/dahdi-linux-2.8-disable-pciradio.patch 2017-06-19 13:15:06 UTC (rev 8401) @@ -1,10 +0,0 @@ ---- dahdi-linux-2.8.0.1/drivers/dahdi/Kbuild.orig 2017-05-21 14:49:59.714846097 -0500 -+++ dahdi-linux-2.8.0.1/drivers/dahdi/Kbuild 2017-05-21 14:51:11.730334517 -0500 -@@ -45,7 +45,6 @@ - - obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_WCFXO) += wcfxo.o - obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_TOR2) += tor2.o --obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_PCIRADIO) += pciradio.o - endif - - obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_XPP) += xpp/ Modified: branches/1.0/package/dahdi-linux/dahdi-linux.mk =================================================================== --- branches/1.0/package/dahdi-linux/dahdi-linux.mk 2017-06-16 18:07:04 UTC (rev 8400) +++ branches/1.0/package/dahdi-linux/dahdi-linux.mk 2017-06-19 13:15:06 UTC (rev 8401) @@ -3,15 +3,7 @@ # dahdi-linux # ############################################################## -ifeq ($(BR2_PACKAGE_RHINO),y) -DAHDI_LINUX_VERSION := 2.8.0.1 -else - ifeq ($(BR2_PACKAGE_WANPIPE),y) -DAHDI_LINUX_VERSION := 2.8.0.1 - else -DAHDI_LINUX_VERSION := 2.8.0.1 - endif -endif +DAHDI_LINUX_VERSION := 2.10.2 DAHDI_LINUX_SOURCE := dahdi-linux-$(DAHDI_LINUX_VERSION).tar.gz DAHDI_LINUX_SITE := http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases DAHDI_LINUX_DIR := $(BUILD_DIR)/dahdi-linux-$(DAHDI_LINUX_VERSION) @@ -53,7 +45,7 @@ $(DAHDI_LINUX_DRIVERS_DIR)/$(DAHDI_LINUX_BINARY): $(DAHDI_LINUX_DIR)/.source $(MAKE) -C $(DAHDI_LINUX_DIR) \ - HOSTCC=gcc CC=$(TARGET_CC) ARCH=$(KERNEL_ARCH) \ + HOSTCC=gcc CC=$(TARGET_CC) LD=$(TARGET_LD) ARCH=$(KERNEL_ARCH) \ KVERS=$(LINUX_VERSION_PROBED) KSRC=$(LINUX_DIR) PWD=$(DAHDI_LINUX_DIR) $(DAHDI_LINUX_DIR)/include/dahdi/kernel.h: $(DAHDI_LINUX_DIR)/.source @@ -60,7 +52,7 @@ $(STAGING_DIR)/usr/include/dahdi/kernel.h: $(DAHDI_LINUX_DIR)/include/dahdi/kernel.h $(MAKE1) -C $(DAHDI_LINUX_DIR) \ - HOSTCC=gcc CC=$(TARGET_CC) ARCH=$(KERNEL_ARCH) \ + HOSTCC=gcc CC=$(TARGET_CC) LD=$(TARGET_LD) ARCH=$(KERNEL_ARCH) \ DESTDIR=$(STAGING_DIR) KVERS=$(LINUX_VERSION_PROBED) \ KSRC=$(LINUX_DIR) PWD=$(DAHDI_LINUX_DIR) \ install-include @@ -68,16 +60,12 @@ $(TARGET_DIR)/$(DAHDI_LINUX_TARGET_BINARY): $(DAHDI_LINUX_DRIVERS_DIR)/$(DAHDI_LINUX_BINARY) mkdir -p $(TARGET_DIR)$(PERLLIBDIR) $(MAKE1) -C $(DAHDI_LINUX_DIR) \ - HOSTCC=gcc CC=$(TARGET_CC) ARCH=$(KERNEL_ARCH) \ + HOSTCC=gcc CC=$(TARGET_CC) LD=$(TARGET_LD) ARCH=$(KERNEL_ARCH) \ DESTDIR=$(TARGET_DIR) KVERS=$(LINUX_VERSION_PROBED) \ KSRC=$(LINUX_DIR) PWD=$(DAHDI_LINUX_DIR) \ PERLLIBDIR=$(PERLLIBDIR) \ install rm -rf $(TARGET_DIR)/usr/include - # Remove duplicate dahdi firmware files in target /usr/lib/hotplug/firmware - if [ -d $(TARGET_DIR)/usr/lib/hotplug/firmware ]; then \ - find $(TARGET_DIR)/usr/lib/hotplug/firmware/ -type f -name "*dahdi-fw-*" -print0 | xargs -0 rm -f ; \ - fi ifeq ($(BR2_PACKAGE_DAHDI_NO_CARD_FIRMWARE),y) find $(TARGET_DIR)/lib/firmware/ -type f -name "*dahdi-fw-*" -print0 | xargs -0 rm -f endif Added: branches/1.0/package/dahdi-linux/hfcs-2.10/Kbuild =================================================================== --- branches/1.0/package/dahdi-linux/hfcs-2.10/Kbuild (rev 0) +++ branches/1.0/package/dahdi-linux/hfcs-2.10/Kbuild 2017-06-19 13:15:06 UTC (rev 8401) @@ -0,0 +1,10 @@ +obj-m += dahdi_hfcs.o + +EXTRA_CFLAGS := -I$(src)/.. -Wno-undef + +dahdi_hfcs-objs := base.o fifo.o + +$(obj)/base.o: $(src)/dahdi_hfcs.h +$(obj)/fifo.o: $(src)/fifo.h + + Added: branches/1.0/package/dahdi-linux/hfcs-2.10/base.c =================================================================== --- branches/1.0/package/dahdi-linux/hfcs-2.10/base.c (rev 0) +++ branches/1.0/package/dahdi-linux/hfcs-2.10/base.c 2017-06-19 13:15:06 UTC (rev 8401) @@ -0,0 +1,1753 @@ +/* + * dahdi_hfcs.c - Dahdi driver for HFC-S PCI A based ISDN BRI cards + * + * Dahdi rewrite in hardhdlc mode + * Jose A. Deniz <od...@ho...> + * + * Copyright (C) 2011, Raoul Bönisch + * Copyright (C) 2009, Jose A. Deniz + * Copyright (C) 2006, headiisue GmbH; Jens Wilke + * Copyright (C) 2004 Daniele Orlandi + * Copyright (C) 2002, 2003, 2004, Junghanns.NET GmbH + * + * Jens Wilke <jw_...@he...> + * + * Original author of this code is + * Daniele "Vihai" Orlandi <da...@or...> + * + * Major rewrite of the driver made by + * Klaus-Peter Junghanns <kp...@ju...> + * + * This program is free software and may be modified and + * distributed under the terms of the GNU Public License. + * + * Please read the README file for important infos. + */ + +#include <linux/spinlock.h> +#include <linux/init.h> +#include <linux/pci.h> +#include <linux/interrupt.h> +#include <linux/module.h> +#include <linux/moduleparam.h> +#include <linux/version.h> +#include <linux/kernel.h> +#include <linux/delay.h> +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 32)) +#include <linux/sched.h> +#endif +#ifdef CONFIG_PROC_FS +#include <linux/proc_fs.h> +#endif /* CONFIG_PROC_FS */ +#include <linux/if_arp.h> + +#include <dahdi/kernel.h> + +#include "dahdi_hfcs.h" +#include "fifo.h" + +#if CONFIG_PCI + +#define DAHDI_B1 0 +#define DAHDI_B2 1 +#define DAHDI_D 2 + +#define D 0 +#define B1 1 +#define B2 2 + +/* + * Mode Te for all + */ +static int modes; +static int nt_modes[hfc_MAX_BOARDS]; +static int nt_modes_count; +static int force_l1_up; +#ifdef CONFIG_PROC_FS +static struct proc_dir_entry *hfc_proc_dahdi_hfcs_dir; +#endif /* CONFIG_PROC_FS */ + +#define DEBUG +#ifdef DEBUG +int debug_level; +#endif + +#ifndef FALSE +#define FALSE 0 +#endif +#ifndef TRUE +#define TRUE (!FALSE) +#endif + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30) +#define SET_PROC_DIRENTRY_OWNER(p) do { (p)->owner = THIS_MODULE; } while(0); +#else +#define SET_PROC_DIRENTRY_OWNER(p) do { } while(0); +#endif + +static DEFINE_PCI_DEVICE_TABLE(hfc_pci_ids) = { + {PCI_VENDOR_ID_CCD, PCI_DEVICE_ID_CCD_2BD0, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_CCD, PCI_DEVICE_ID_CCD_B000, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_CCD, PCI_DEVICE_ID_CCD_B006, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_CCD, PCI_DEVICE_ID_CCD_B007, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_CCD, PCI_DEVICE_ID_CCD_B008, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_CCD, PCI_DEVICE_ID_CCD_B009, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_CCD, PCI_DEVICE_ID_CCD_B00A, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_CCD, PCI_DEVICE_ID_CCD_B00B, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_CCD, PCI_DEVICE_ID_CCD_B00C, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_CCD, PCI_DEVICE_ID_CCD_B100, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_ABOCOM, PCI_DEVICE_ID_ABOCOM_2BD1, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_ASUSTEK, PCI_DEVICE_ID_ASUSTEK_0675, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_BERKOM, PCI_DEVICE_ID_BERKOM_T_CONCEPT, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_BERKOM, PCI_DEVICE_ID_BERKOM_A1T, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_ANIGMA, PCI_DEVICE_ID_ANIGMA_MC145575, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_ZOLTRIX, PCI_DEVICE_ID_ZOLTRIX_2BD0, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_DIGI_DF_M_IOM2_E, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_DIGI_DF_M_E, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_DIGI_DF_M_IOM2_A, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_DIGI_DF_M_A, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {PCI_VENDOR_ID_SITECOM, PCI_DEVICE_ID_SITECOM_3069, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + {0,} +}; + +MODULE_DEVICE_TABLE(pci, hfc_pci_ids); + +static int __devinit hfc_probe(struct pci_dev *dev + , const struct pci_device_id *ent); +static void __devexit hfc_remove(struct pci_dev *dev); + +static struct pci_driver hfc_driver = { + .name = hfc_DRIVER_NAME, + .id_table = hfc_pci_ids, + .probe = hfc_probe, + .remove = __devexit_p(hfc_remove), +}; + +/****************************************** + * HW routines + ******************************************/ + +static void hfc_softreset(struct hfc_card *card) +{ + printk(KERN_INFO hfc_DRIVER_PREFIX + "card %d: " + "resetting\n", + card->cardnum); + +/* + * Softreset procedure. Put it on, wait and off again + */ + hfc_outb(card, hfc_CIRM, hfc_CIRM_RESET); + udelay(6); + hfc_outb(card, hfc_CIRM, 0); + + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout((hfc_RESET_DELAY * HZ) / 1000); +} + +static void hfc_resetCard(struct hfc_card *card) +{ + card->regs.m1 = 0; + hfc_outb(card, hfc_INT_M1, card->regs.m1); + + card->regs.m2 = 0; + hfc_outb(card, hfc_INT_M2, card->regs.m2); + + hfc_softreset(card); + + card->regs.trm = 0; + hfc_outb(card, hfc_TRM, card->regs.trm); + + /* + * Select the non-capacitive line mode for the S/T interface + */ + card->regs.sctrl = hfc_SCTRL_NONE_CAP; + + if (card->nt_mode) { + /* + * ST-Bit delay for NT-Mode + */ + hfc_outb(card, hfc_CLKDEL, hfc_CLKDEL_NT); + + card->regs.sctrl |= hfc_SCTRL_MODE_NT; + } else { + /* + * ST-Bit delay for TE-Mode + */ + hfc_outb(card, hfc_CLKDEL, hfc_CLKDEL_TE); + + card->regs.sctrl |= hfc_SCTRL_MODE_TE; + } + + hfc_outb(card, hfc_SCTRL, card->regs.sctrl); + + /* + * S/T Auto awake + */ + card->regs.sctrl_e = hfc_SCTRL_E_AUTO_AWAKE; + hfc_outb(card, hfc_SCTRL_E, card->regs.sctrl_e); + + /* + * No B-channel enabled at startup + */ + card->regs.sctrl_r = 0; + hfc_outb(card, hfc_SCTRL_R, card->regs.sctrl_r); + + /* + * HFC Master Mode + */ + hfc_outb(card, hfc_MST_MODE, hfc_MST_MODE_MASTER); + + /* + * Connect internal blocks + */ + card->regs.connect = + hfc_CONNECT_B1_HFC_from_ST | + hfc_CONNECT_B1_ST_from_HFC | + hfc_CONNECT_B1_GCI_from_HFC | + hfc_CONNECT_B2_HFC_from_ST | + hfc_CONNECT_B2_ST_from_HFC | + hfc_CONNECT_B2_GCI_from_HFC; + hfc_outb(card, hfc_CONNECT, card->regs.connect); + + /* + * All bchans are HDLC by default, not useful, actually + * since mode is set during open() + */ + hfc_outb(card, hfc_CTMT, 0); + + /* + * bit order + */ + hfc_outb(card, hfc_CIRM, 0); + + /* + * Enable D-rx FIFO. At least one FIFO must be enabled (by specs) + */ + card->regs.fifo_en = hfc_FIFOEN_DRX; + hfc_outb(card, hfc_FIFO_EN, card->regs.fifo_en); + + card->late_irqs = 0; + + /* + * Clear already pending ints + */ + hfc_inb(card, hfc_INT_S1); + hfc_inb(card, hfc_INT_S2); + + /* + * Enable IRQ output + */ + card->regs.m1 = hfc_INTS_DREC | hfc_INTS_L1STATE | hfc_INTS_TIMER; + hfc_outb(card, hfc_INT_M1, card->regs.m1); + + card->regs.m2 = hfc_M2_IRQ_ENABLE; + hfc_outb(card, hfc_INT_M2, card->regs.m2); + + /* + * Unlocks the states machine + */ + hfc_outb(card, hfc_STATES, 0); + + /* + * There's no need to explicitly activate L1 now. + * Activation is managed inside the interrupt routine. + */ +} + +static void hfc_update_fifo_state(struct hfc_card *card) +{ + /* + * I'm not sure if irqsave is needed but there could be a race + * condition since hfc_update_fifo_state could be called from + * both the IRQ handler and the *_(open|close) functions + */ + + unsigned long flags; + spin_lock_irqsave(&card->chans[B1].lock, flags); + if (!card->fifo_suspended && + (card->chans[B1].status == open_framed || + card->chans[B1].status == open_voice)) { + + if (!(card->regs.fifo_en & hfc_FIFOEN_B1RX)) { + card->regs.fifo_en |= hfc_FIFOEN_B1RX; + hfc_clear_fifo_rx(&card->chans[B1].rx); + } + + if (!(card->regs.fifo_en & hfc_FIFOEN_B1TX)) { + card->regs.fifo_en |= hfc_FIFOEN_B1TX; + hfc_clear_fifo_tx(&card->chans[B1].tx); + } + } else { + if (card->regs.fifo_en & hfc_FIFOEN_B1RX) + card->regs.fifo_en &= ~hfc_FIFOEN_B1RX; + if (card->regs.fifo_en & hfc_FIFOEN_B1TX) + card->regs.fifo_en &= ~hfc_FIFOEN_B1TX; + } + spin_unlock_irqrestore(&card->chans[B1].lock, flags); + + spin_lock_irqsave(&card->chans[B2].lock, flags); + if (!card->fifo_suspended && + (card->chans[B2].status == open_framed || + card->chans[B2].status == open_voice || + card->chans[B2].status == sniff_aux)) { + + if (!(card->regs.fifo_en & hfc_FIFOEN_B2RX)) { + card->regs.fifo_en |= hfc_FIFOEN_B2RX; + hfc_clear_fifo_rx(&card->chans[B2].rx); + } + + if (!(card->regs.fifo_en & hfc_FIFOEN_B2TX)) { + card->regs.fifo_en |= hfc_FIFOEN_B2TX; + hfc_clear_fifo_tx(&card->chans[B2].tx); + } + } else { + if (card->regs.fifo_en & hfc_FIFOEN_B2RX) + card->regs.fifo_en &= ~hfc_FIFOEN_B2RX; + if (card->regs.fifo_en & hfc_FIFOEN_B2TX) + card->regs.fifo_en &= ~hfc_FIFOEN_B2TX; + } + spin_unlock_irqrestore(&card->chans[B2].lock, flags); + + spin_lock_irqsave(&card->chans[D].lock, flags); + if (!card->fifo_suspended && + card->chans[D].status == open_framed) { + + if (!(card->regs.fifo_en & hfc_FIFOEN_DTX)) { + card->regs.fifo_en |= hfc_FIFOEN_DTX; + + card->chans[D].tx.ugly_framebuf_size = 0; + card->chans[D].tx.ugly_framebuf_off = 0; + } + } else { + if (card->regs.fifo_en & hfc_FIFOEN_DTX) + card->regs.fifo_en &= ~hfc_FIFOEN_DTX; + } + spin_unlock_irqrestore(&card->chans[D].lock, flags); + + hfc_outb(card, hfc_FIFO_EN, card->regs.fifo_en); +} + +static inline void hfc_suspend_fifo(struct hfc_card *card) +{ + card->fifo_suspended = TRUE; + + hfc_update_fifo_state(card); + + /* + * When L1 goes down D rx receives garbage; it is nice to + * clear it to avoid a CRC error on reactivation + * udelay is needed because the FIFO deactivation happens + * in 250us + */ + udelay(250); + hfc_clear_fifo_rx(&card->chans[D].rx); + +#ifdef DEBUG + if (debug_level >= 3) { + printk(KERN_DEBUG hfc_DRIVER_PREFIX + "card %d: " + "FIFOs suspended\n", + card->cardnum); + } +#endif +} + +static inline void hfc_resume_fifo(struct hfc_card *card) +{ + card->fifo_suspended = FALSE; + + hfc_update_fifo_state(card); + +#ifdef DEBUG + if (debug_level >= 3) { + printk(KERN_DEBUG hfc_DRIVER_PREFIX + "card %d: " + "FIFOs resumed\n", + card->cardnum); + } +#endif +} + +static void hfc_check_l1_up(struct hfc_card *card) +{ + if ((!card->nt_mode && card->l1_state != 7) + || (card->nt_mode && card->l1_state != 3)) { + + hfc_outb(card, hfc_STATES, hfc_STATES_DO_ACTION | + hfc_STATES_ACTIVATE| + hfc_STATES_NT_G2_G3); + + /* + * 0 because this is quite verbose when an inferface is unconnected, jaw + */ +#if 0 + if (debug_level >= 1) { + printk(KERN_DEBUG hfc_DRIVER_PREFIX + "card %d: " + "L1 is down, bringing up L1.\n", + card->cardnum); + } +#endif + } +} + + +/******************* + * Dahdi interface * + *******************/ + +static int hfc_dahdi_open(struct dahdi_chan *dahdi_chan) +{ + struct hfc_chan_duplex *chan = dahdi_chan->pvt; + struct hfc_card *card = chan->card; + + spin_lock(&chan->lock); + + switch (chan->number) { + case D: + if (chan->status != free && + chan->status != open_framed) { + spin_unlock(&chan->lock); + return -EBUSY; + } + chan->status = open_framed; + break; + + case B1: + case B2: + if (chan->status != free) { + spin_unlock(&chan->lock); + return -EBUSY; + } + chan->status = open_voice; + break; + } + + chan->open_by_dahdi = TRUE; + try_module_get(THIS_MODULE); + spin_unlock(&chan->lock); + + switch (chan->number) { + case D: + break; + + case B1: + card->regs.m2 |= hfc_M2_PROC_TRANS; + /* + * Enable transparent mode + */ + card->regs.ctmt |= hfc_CTMT_TRANSB1; + /* + * Reversed bit order + */ + card->regs.cirm |= hfc_CIRM_B1_REV; + /* + * Enable transmission + */ + card->regs.sctrl |= hfc_SCTRL_B1_ENA; + /* + * Enable reception + */ + card->regs.sctrl_r |= hfc_SCTRL_R_B1_ENA; + break; + + case B2: + card->regs.m2 |= hfc_M2_PROC_TRANS; + card->regs.ctmt |= hfc_CTMT_TRANSB2; + card->regs.cirm |= hfc_CIRM_B2_REV; + card->regs.sctrl |= hfc_SCTRL_B2_ENA; + card->regs.sctrl_r |= hfc_SCTRL_R_B2_ENA; + break; + + } + + /* + * If not already enabled, enable processing transition (8KHz) + * interrupt + */ + hfc_outb(card, hfc_INT_M2, card->regs.m2); + hfc_outb(card, hfc_CTMT, card->regs.ctmt); + hfc_outb(card, hfc_CIRM, card->regs.cirm); + hfc_outb(card, hfc_SCTRL, card->regs.sctrl); + hfc_outb(card, hfc_SCTRL_R, card->regs.sctrl_r); + + hfc_update_fifo_state(card); + + printk(KERN_INFO hfc_DRIVER_PREFIX + "card %d: " + "chan %s opened as %s.\n", + card->cardnum, + chan->name, + dahdi_chan->name); + + return 0; +} + +static int hfc_dahdi_close(struct dahdi_chan *dahdi_chan) +{ + struct hfc_chan_duplex *chan = dahdi_chan->pvt; + struct hfc_card *card = chan->card; + + if (!card) { + printk(KERN_CRIT hfc_DRIVER_PREFIX + "hfc_dahdi_close called with NULL card\n"); + return -1; + } + + spin_lock(&chan->lock); + + if (chan->status == free) { + spin_unlock(&chan->lock); + return -EINVAL; + } + + chan->status = free; + chan->open_by_dahdi = FALSE; + + spin_unlock(&chan->lock); + + switch (chan->number) { + case D: + break; + + case B1: + card->regs.ctmt &= ~hfc_CTMT_TRANSB1; + card->regs.cirm &= ~hfc_CIRM_B1_REV; + card->regs.sctrl &= ~hfc_SCTRL_B1_ENA; + card->regs.sctrl_r &= ~hfc_SCTRL_R_B1_ENA; + break; + + case B2: + card->regs.ctmt &= ~hfc_CTMT_TRANSB2; + card->regs.cirm &= ~hfc_CIRM_B2_REV; + card->regs.sctrl &= ~hfc_SCTRL_B2_ENA; + card->regs.sctrl_r &= ~hfc_SCTRL_R_B2_ENA; + break; + } + + if (card->chans[B1].status == free && + card->chans[B2].status == free) + card->regs.m2 &= ~hfc_M2_PROC_TRANS; + + hfc_outb(card, hfc_INT_M2, card->regs.m2); + hfc_outb(card, hfc_CTMT, card->regs.ctmt); + hfc_outb(card, hfc_CIRM, card->regs.cirm); + hfc_outb(card, hfc_SCTRL, card->regs.sctrl); + hfc_outb(card, hfc_SCTRL_R, card->regs.sctrl_r); + + hfc_update_fifo_state(card); + + module_put(THIS_MODULE); + + printk(KERN_INFO hfc_DRIVER_PREFIX + "card %d: " + "chan %s closed as %s.\n", + card->cardnum, + chan->name, + dahdi_chan->name); + + return 0; +} + +static int hfc_dahdi_rbsbits(struct dahdi_chan *chan, int bits) +{ + return 0; +} + +static int hfc_dahdi_ioctl(struct dahdi_chan *chan, + unsigned int cmd, unsigned long data) +{ + switch (cmd) { + + default: + return -ENOTTY; + } + + return 0; +} + +static void hfc_hdlc_hard_xmit(struct dahdi_chan *d_chan) +{ + struct hfc_chan_duplex *chan = d_chan->pvt; + struct hfc_card *card = chan->card; + struct dahdi_hfc *hfccard = card->dahdi_dev; + + atomic_inc(&hfccard->hdlc_pending); + +} + +static int hfc_dahdi_startup(struct file *file, struct dahdi_span *span) +{ + struct dahdi_hfc *dahdi_hfcs = dahdi_hfc_from_span(span); + struct hfc_card *hfctmp = dahdi_hfcs->card; + int alreadyrunning; + + if (!hfctmp) { + printk(KERN_INFO hfc_DRIVER_PREFIX + "card %d: " + "no card for span at startup!\n", + hfctmp->cardnum); + } + + alreadyrunning = span->flags & DAHDI_FLAG_RUNNING; + + if (!alreadyrunning) + span->flags |= DAHDI_FLAG_RUNNING; + + return 0; +} + +static int hfc_dahdi_shutdown(struct dahdi_span *span) +{ + return 0; +} + +static int hfc_dahdi_maint(struct dahdi_span *span, int cmd) +{ + return 0; +} + +static int hfc_dahdi_chanconfig(struct file *file, struct dahdi_chan *d_chan, int sigtype) +{ + struct hfc_chan_duplex *chan = d_chan->pvt; + struct hfc_card *card = chan->card; + struct dahdi_hfc *hfccard = card->dahdi_dev; + + if ((sigtype == DAHDI_SIG_HARDHDLC) && (hfccard->sigchan == d_chan)) { + hfccard->sigactive = 0; + atomic_set(&hfccard->hdlc_pending, 0); + } + + return 0; +} + +static int hfc_dahdi_spanconfig(struct file *file, struct dahdi_span *span, + struct dahdi_lineconfig *lc) +{ + span->lineconfig = lc->lineconfig; + + return 0; +} + +static const struct dahdi_span_ops hfc_dahdi_span_ops = { + .owner = THIS_MODULE, + .chanconfig = hfc_dahdi_chanconfig, + .spanconfig = hfc_dahdi_spanconfig, + .startup = hfc_dahdi_startup, + .shutdown = hfc_dahdi_shutdown, + .maint = hfc_dahdi_maint, + .rbsbits = hfc_dahdi_rbsbits, + .open = hfc_dahdi_open, + .close = hfc_dahdi_close, + .ioctl = hfc_dahdi_ioctl, + .hdlc_hard_xmit = hfc_hdlc_hard_xmit +}; + +static int hfc_dahdi_initialize(struct dahdi_hfc *hfccard) +{ + struct hfc_card *hfctmp = hfccard->card; + int i; + + hfccard->ddev = dahdi_create_device(); + if (!hfccard->ddev) + return -ENOMEM; + + memset(&hfccard->span, 0x0, sizeof(struct dahdi_span)); + + /* + * ZTHFC + * + * Cards' and channels' names shall contain "ZTHFC" + * as the dahdi-tools look for this string to guess framing. + * We don't want to modify dahdi-tools only in order to change this. + * + * So we choose for a span name: DAHDI HFC-S formerly known as ZTHFC. :-) + */ + + sprintf(hfccard->span.name, "DAHDI_HFCS_FKA_ZTHFC%d", hfctmp->cardnum + 1); + sprintf(hfccard->span.desc, + "HFC-S PCI A ISDN card %d [%s] ", + hfctmp->cardnum, + hfctmp->nt_mode ? "NT" : "TE"); + hfccard->span.spantype = hfctmp->nt_mode ? SPANTYPE_DIGITAL_BRI_NT : SPANTYPE_DIGITAL_BRI_TE; + hfccard->ddev->manufacturer = "Cologne Chips"; + hfccard->span.flags = 0; + hfccard->span.ops = &hfc_dahdi_span_ops; + hfccard->ddev->devicetype = kasprintf(GFP_KERNEL, "HFC-S PCI-A ISDN"); + hfccard->ddev->location = kasprintf(GFP_KERNEL, "PCI Bus %02d Slot %02d", + hfctmp->pcidev->bus->number, + PCI_SLOT(hfctmp->pcidev->devfn) + 1); + hfccard->span.chans = hfccard->_chans; + hfccard->span.channels = 3; + for (i = 0; i < hfccard->span.channels; i++) + hfccard->_chans[i] = &hfccard->chans[i]; + hfccard->span.deflaw = DAHDI_LAW_ALAW; + hfccard->span.linecompat = DAHDI_CONFIG_AMI | DAHDI_CONFIG_CCS; + hfccard->span.offset = 0; + + for (i = 0; i < hfccard->span.channels; i++) { + memset(&hfccard->chans[i], 0x0, sizeof(struct dahdi_chan)); + + sprintf(hfccard->chans[i].name, + "DAHDI_HFCS_FKA_ZTHFC%d/%d/%d", + hfctmp->cardnum + 1, 0, i + 1); + + printk(KERN_INFO hfc_DRIVER_PREFIX + "card %d: " + "registered %s\n", + hfctmp->cardnum, + hfccard->chans[i].name); + + if (i == hfccard->span.channels - 1) { + hfccard->chans[i].sigcap = DAHDI_SIG_HARDHDLC; + hfccard->sigchan = &hfccard->chans[DAHDI_D]; + hfccard->sigactive = 0; + atomic_set(&hfccard->hdlc_pending, 0); + } else { + hfccard->chans[i].sigcap = + DAHDI_SIG_CLEAR | DAHDI_SIG_DACS; + } + + hfccard->chans[i].chanpos = i + 1; + } + + hfccard->chans[DAHDI_D].readchunk = + hfctmp->chans[D].rx.dahdi_buffer; + + hfccard->chans[DAHDI_D].writechunk = + hfctmp->chans[D].tx.dahdi_buffer; + + hfccard->chans[DAHDI_D].pvt = &hfctmp->chans[D]; + + hfccard->chans[DAHDI_B1].readchunk = + hfctmp->chans[B1].rx.dahdi_buffer; + + hfccard->chans[DAHDI_B1].writechunk = + hfctmp->chans[B1].tx.dahdi_buffer; + + hfccard->chans[DAHDI_B1].pvt = &hfctmp->chans[B1]; + + hfccard->chans[DAHDI_B2].readchunk = + hfctmp->chans[B2].rx.dahdi_buffer; + + hfccard->chans[DAHDI_B2].writechunk = + hfctmp->chans[B2].tx.dahdi_buffer; + + hfccard->chans[DAHDI_B2].pvt = &hfctmp->chans[B2]; + + list_add_tail(&hfccard->span.device_node, &hfccard->ddev->spans); + if (dahdi_register_device(hfccard->ddev, &hfccard->card->pcidev->dev)) { + printk(KERN_NOTICE "Unable to register device with DAHDI\n"); + return -1; + } + + return 0; +} + +static void hfc_dahdi_transmit(struct hfc_chan_simplex *chan) +{ + hfc_fifo_put(chan, chan->dahdi_buffer, DAHDI_CHUNKSIZE); +} + +static void hfc_dahdi_receive(struct hfc_chan_simplex *chan) +{ + hfc_fifo_get(chan, chan->dahdi_buffer, DAHDI_CHUNKSIZE); +} + +/****************************************** + * Interrupt Handler + ******************************************/ + +static void hfc_handle_timer_interrupt(struct hfc_card *card); +static void hfc_handle_state_interrupt(struct hfc_card *card); +static void hfc_handle_processing_interrupt(struct hfc_card *card); +static void hfc_frame_arrived(struct hfc_chan_duplex *chan); +static void hfc_handle_voice(struct hfc_card *card); + +#if (KERNEL_VERSION(2, 6, 24) < LINUX_VERSION_CODE) +static irqreturn_t hfc_interrupt(int irq, void *dev_id) +#else +static irqreturn_t hfc_interrupt(int irq, void *dev_id, struct pt_regs *regs) +#endif +{ + struct hfc_card *card = dev_id; + unsigned long flags; + u8 status, s1, s2; + + if (!card) { + printk(KERN_CRIT hfc_DRIVER_PREFIX + "spurious interrupt (IRQ %d)\n", + irq); + return IRQ_NONE; + } + + spin_lock_irqsave(&card->lock, flags); + status = hfc_inb(card, hfc_STATUS); + if (!(status & hfc_STATUS_ANYINT)) { + /* + * maybe we are sharing the irq + */ + spin_unlock_irqrestore(&card->lock, flags); + return IRQ_NONE; + } + + /* We used to ingore the IRQ when the card was in processing + * state but apparently there is no restriction to access the + * card in such state: + * + * Joerg Ciesielski wrote: + * > There is no restriction for the IRQ handler to access + * > HFC-S PCI during processing phase. A IRQ latency of 375 us + * > is also no problem since there are no interrupt sources in + * > HFC-S PCI which must be handled very fast. + * > Due to its deep fifos the IRQ latency can be several ms with + * > out the risk of loosing data. Even the S/T state interrupts + * > must not be handled with a latency less than <5ms. + * > + * > The processing phase only indicates that HFC-S PCI is + * > processing the Fifos as PCI master so that data is read and + * > written in the 32k memory window. But there is no restriction + * > to access data in the memory window during this time. + * + * // if (status & hfc_STATUS_PCI_PROC) { + * // return IRQ_HANDLED; + * // } + */ + + s1 = hfc_inb(card, hfc_INT_S1); + s2 = hfc_inb(card, hfc_INT_S2); + + if (s1 != 0) { + if (s1 & hfc_INTS_TIMER) { + /* + * timer (bit 7) + */ + hfc_handle_timer_interrupt(card); + } + + if (s1 & hfc_INTS_L1STATE) { + /* + * state machine (bit 6) + */ + hfc_handle_state_interrupt(card); + } + + if (s1 & hfc_INTS_DREC) { + /* + * D chan RX (bit 5) + */ + hfc_frame_arrived(&card->chans[D]); + } + + if (s1 & hfc_INTS_B1REC) { + /* + * B1 chan RX (bit 3) + */ + hfc_frame_arrived(&card->chans[B1]); + } + + if (s1 & hfc_INTS_B2REC) { + /* + * B2 chan RX (bit 4) + */ + hfc_frame_arrived(&card->chans[B2]); + } + + if (s1 & hfc_INTS_DTRANS) { + /* + * D chan TX (bit 2) + */ + } + + if (s1 & hfc_INTS_B1TRANS) { + /* + * B1 chan TX (bit 0) + */ + } + + if (s1 & hfc_INTS_B2TRANS) { + /* + * B2 chan TX (bit 1) + */ + } + + } + + if (s2 != 0) { + if (s2 & hfc_M2_PMESEL) { + /* + * kaboom irq (bit 7) + * + * CologneChip says: + * + * the meaning of this fatal error bit is that HFC-S + * PCI as PCI master could not access the PCI bus + * within 125us to finish its data processing. If this + * happens only very seldom it does not cause big + * problems but of course some B-channel or D-channel + * data will be corrupted due to this event. + * + * Unfortunately this bit is only set once after the + * problem occurs and can only be reseted by a + * software reset. That means it is not easily + * possible to check how often this fatal error + * happens. + * + */ + + if (!card->sync_loss_reported) { + printk(KERN_CRIT hfc_DRIVER_PREFIX + "card %d: " + "sync lost, pci performance too low!\n", + card->cardnum); + + card->sync_loss_reported = TRUE; + } + } + + if (s2 & hfc_M2_GCI_MON_REC) { + /* + * RxR monitor channel (bit 2) + */ + } + + if (s2 & hfc_M2_GCI_I_CHG) { + /* + * GCI I-change (bit 1) + */ + } + + if (s2 & hfc_M2_PROC_TRANS) { + /* + * processing/non-processing transition (bit 0) + */ + hfc_handle_processing_interrupt(card); + } + + } + + spin_unlock_irqrestore(&card->lock, flags); + + return IRQ_HANDLED; +} + +static void hfc_handle_timer_interrupt(struct hfc_card *card) +{ + if (card->ignore_first_timer_interrupt) { + card->ignore_first_timer_interrupt = FALSE; + return; + } + + if ((card->nt_mode && card->l1_state == 3) || + (!card->nt_mode && card->l1_state == 7)) { + + card->regs.ctmt &= ~hfc_CTMT_TIMER_MASK; + hfc_outb(card, hfc_CTMT, card->regs.ctmt); + + hfc_resume_fifo(card); + } +} + +static void hfc_handle_state_interrupt(struct hfc_card *card) +{ + u8 new_state = hfc_inb(card, hfc_STATES) & hfc_STATES_STATE_MASK; + +#ifdef DEBUG + if (debug_level >= 1) { + printk(KERN_DEBUG hfc_DRIVER_PREFIX + "card %d: " + "layer 1 state = %c%d\n", + card->cardnum, + card->nt_mode ? 'G' : 'F', + new_state); + } +#endif + + if (card->nt_mode) { + /* + * NT mode + */ + + if (new_state == 3) { + /* + * fix to G3 state (see specs) + */ + hfc_outb(card, hfc_STATES, hfc_STATES_LOAD_STATE | 3); + } + + if (new_state == 3 && card->l1_state != 3) + hfc_resume_fifo(card); + + if (new_state != 3 && card->l1_state == 3) + hfc_suspend_fifo(card); + + } else { + if (new_state == 3) { + /* + * Keep L1 up... zaptel & libpri expects + * a always up L1... + * Enable only when using an unpatched libpri + * + * Are we still using unpatched libpri? Is this tested at runtime??? + * Does it only affect zaptel or DAHDI, too? + */ + + if (force_l1_up) { + hfc_outb(card, hfc_STATES, + hfc_STATES_DO_ACTION | + hfc_STATES_ACTIVATE| + hfc_STATES_NT_G2_G3); + } + } + + if (new_state == 7 && card->l1_state != 7) { + /* + * TE is now active, schedule FIFO activation after + * some time, otherwise the first frames are lost + */ + + card->regs.ctmt |= hfc_CTMT_TIMER_50 | + hfc_CTMT_TIMER_CLEAR; + hfc_outb(card, hfc_CTMT, card->regs.ctmt); + + /* + * Activating the timer firest an + * interrupt immediately, we + * obviously need to ignore it + */ + card->ignore_first_timer_interrupt = TRUE; + } + + if (new_state != 7 && card->l1_state == 7) { + /* + * TE has become inactive, disable FIFO + */ + hfc_suspend_fifo(card); + } + } + + card->l1_state = new_state; +} + +static void hfc_handle_processing_interrupt(struct hfc_card *card) +{ + int available_bytes = 0; + + /* + * Synchronize with the first enabled channel + */ + if (card->regs.fifo_en & hfc_FIFOEN_B1RX) + available_bytes = hfc_fifo_used_rx(&card->chans[B1].rx); + if (card->regs.fifo_en & hfc_FIFOEN_B2RX) + available_bytes = hfc_fifo_used_rx(&card->chans[B2].rx); + else + available_bytes = -1; + + if ((available_bytes == -1 && card->ticks == 8) || + available_bytes >= DAHDI_CHUNKSIZE + hfc_RX_FIFO_PRELOAD) { + card->ticks = 0; + + if (available_bytes > DAHDI_CHUNKSIZE*2 + hfc_RX_FIFO_PRELOAD) { + card->late_irqs++; + /* + * we are out of sync, clear fifos, jaw + */ + hfc_clear_fifo_rx(&card->chans[B1].rx); + hfc_clear_fifo_tx(&card->chans[B1].tx); + hfc_clear_fifo_rx(&card->chans[B2].rx); + hfc_clear_fifo_tx(&card->chans[B2].tx); + +#ifdef DEBUG + if (debug_level >= 4) { + printk(KERN_DEBUG hfc_DRIVER_PREFIX + "card %d: " + "late IRQ, %d bytes late\n", + card->cardnum, + available_bytes - + (DAHDI_CHUNKSIZE + + hfc_RX_FIFO_PRELOAD)); + } +#endif + } else { + hfc_handle_voice(card); + } + } + + card->ticks++; +} + + +static void hfc_handle_voice(struct hfc_card *card) +{ + struct dahdi_hfc *hfccard = card->dahdi_dev; + int frame_left, res; + unsigned char buf[hfc_HDLC_BUF_LEN]; + unsigned int size = sizeof(buf) / sizeof(buf[0]); + + + if (card->chans[B1].status != open_voice && + card->chans[B2].status != open_voice) + return; + + dahdi_transmit(&hfccard->span); + + if (card->regs.fifo_en & hfc_FIFOEN_B1TX) + hfc_dahdi_transmit(&card->chans[B1].tx); + if (card->regs.fifo_en & hfc_FIFOEN_B2TX) + hfc_dahdi_transmit(&card->chans[B2].tx); + + /* + * dahdi hdlc frame tx + */ + + if (atomic_read(&hfccard->hdlc_pending)) { + hfc_check_l1_up(card); + res = dahdi_hdlc_getbuf(hfccard->sigchan, buf, &size); + if (size > 0) { + hfccard->sigactive = 1; + memcpy(card->chans[D].tx.ugly_framebuf + + card->chans[D].tx.ugly_framebuf_size, + buf, size); + card->chans[D].tx.ugly_framebuf_size += size; + if (res != 0) { + hfc_fifo_put_frame(&card->chans[D].tx, + card->chans[D].tx.ugly_framebuf, + card->chans[D].tx.ugly_framebuf_size); + ++hfccard->frames_out; + hfccard->sigactive = 0; + card->chans[D].tx.ugly_framebuf_size + = 0; + atomic_dec(&hfccard->hdlc_pending); + } + } + } + /* + * dahdi hdlc frame tx done + */ + + if (card->regs.fifo_en & hfc_FIFOEN_B1RX) + hfc_dahdi_receive(&card->chans[B1].rx); + else + memset(&card->chans[B1].rx.dahdi_buffer, 0x7f, + sizeof(card->chans[B1].rx.dahdi_buffer)); + + if (card->regs.fifo_en & hfc_FIFOEN_B2RX) + hfc_dahdi_receive(&card->chans[B2].rx); + else + memset(&card->chans[B2].rx.dahdi_buffer, 0x7f, + sizeof(card->chans[B1].rx.dahdi_buffer)); + + /* + * Echo cancellation + */ + dahdi_ec_chunk(&hfccard->chans[DAHDI_B1], + card->chans[B1].rx.dahdi_buffer, + card->chans[B1].tx.dahdi_buffer); + dahdi_ec_chunk(&hfccard->chans[DAHDI_B2], + card->chans[B2].rx.dahdi_buffer, + card->chans[B2].tx.dahdi_buffer); + + /* + * dahdi hdlc frame rx + */ + if (hfc_fifo_has_frames(&card->chans[D].rx)) + hfc_frame_arrived(&card->chans[D]); + + if (card->chans[D].rx.ugly_framebuf_size) { + frame_left = card->chans[D].rx.ugly_framebuf_size - + card->chans[D].rx.ugly_framebuf_off ; + if (frame_left > hfc_HDLC_BUF_LEN) { + dahdi_hdlc_putbuf(hfccard->sigchan, + card->chans[D].rx.ugly_framebuf + + card->chans[D].rx.ugly_framebuf_off, + hfc_HDLC_BUF_LEN); + card->chans[D].rx.ugly_framebuf_off += + hfc_HDLC_BUF_LEN; + } else { + dahdi_hdlc_putbuf(hfccard->sigchan, + card->chans[D].rx.ugly_framebuf + + card->chans[D].rx.ugly_framebuf_off, + frame_left); + dahdi_hdlc_finish(hfccard->sigchan); + card->chans[D].rx.ugly_framebuf_size = 0; + card->chans[D].rx.ugly_framebuf_off = 0; + } + } + /* + * dahdi hdlc frame rx done + */ + + if (hfccard->span.flags & DAHDI_FLAG_RUNNING) + dahdi_receive(&hfccard->span); + +} + +static void hfc_frame_arrived(struct hfc_chan_duplex *chan) +{ + struct hfc_card *card = chan->card; + int antiloop = 16; + struct sk_buff *skb; + + while (hfc_fifo_has_frames(&chan->rx) && --antiloop) { + int frame_size = hfc_fifo_get_frame_size(&chan->rx); + + if (frame_size < 3) { +#ifdef DEBUG + if (debug_level >= 2) + printk(KERN_DEBUG hfc_DRIVER_PREFIX + "card %d: " + "chan %s: " + "invalid frame received, " + "just %d bytes\n", + card->cardnum, + chan->name, + frame_size); +#endif + + hfc_fifo_drop_frame(&chan->rx); + + + continue; + } else if (frame_size == 3) { +#ifdef DEBUG + if (debug_level >= 2) + printk(KERN_DEBUG hfc_DRIVER_PREFIX + "card %d: " + "chan %s: " + "empty frame received\n", + card->cardnum, + chan->name); +#endif + + hfc_fifo_drop_frame(&chan->rx); + + + continue; + } + + if (chan->open_by_dahdi && + card->chans[D].rx.ugly_framebuf_size) { + + /* + * We have to wait for Dahdi to transmit the + * frame... wait for next time + */ + + break; + } + + skb = dev_alloc_skb(frame_size - 3); + + if (!skb) { + printk(KERN_ERR hfc_DRIVER_PREFIX + "card %d: " + "chan %s: " + "cannot allocate skb: frame dropped\n", + card->cardnum, + chan->name); + + hfc_fifo_drop_frame(&chan->rx); + + + continue; + } + + + /* + * HFC does the checksum + */ +#ifndef CHECKSUM_HW + skb->ip_summed = CHECKSUM_COMPLETE; +#else + skb->ip_summed = CHECKSUM_HW; +#endif + + if (chan->open_by_dahdi) { + card->chans[D].rx.ugly_framebuf_size = frame_size - 1; + + if (hfc_fifo_get_frame(&card->chans[D].rx, + card->chans[D].rx.ugly_framebuf, + frame_size - 1) == -1) { + dev_kfree_skb(skb); + continue; + } + + memcpy(skb_put(skb, frame_size - 3), + card->chans[D].rx.ugly_framebuf, + frame_size - 3); + } else { + if (hfc_fifo_get_frame(&chan->rx, + skb_put(skb, frame_size - 3), + frame_size - 3) == -1) { + dev_kfree_skb(skb); + continue; + } + } + } + + if (!antiloop) + printk(KERN_CRIT hfc_DRIVER_PREFIX + "card %d: " + "Infinite loop detected\n", + card->cardnum); +} + +/****************************************** + * Module initialization and cleanup + ******************************************/ + +static int __devinit hfc_probe(struct pci_dev *pci_dev, + const struct pci_device_id *ent) +{ + static int cardnum; + int err; + int i; + + struct hfc_card *card = NULL; + struct dahdi_hfc *dahdi_hfcs = NULL; + card = kmalloc(sizeof(struct hfc_card), GFP_KERNEL); + if (!card) { + printk(KERN_CRIT hfc_DRIVER_PREFIX + "unable to kmalloc!\n"); + err = -ENOMEM; + goto err_alloc_hfccard; + } + + memset(card, 0x00, sizeof(struct hfc_card)); + card->cardnum = cardnum; + card->pcidev = pci_dev; + spin_lock_init(&card->lock); + + pci_set_drvdata(pci_dev, card); + + err = pci_enable_device(pci_dev); + if (err) + goto err_pci_enable_device; + + err = pci_set_dma_mask(pci_dev, PCI_DMA_32BIT); + if (err) { + printk(KERN_ERR hfc_DRIVER_PREFIX + "card %d: " + "No suitable DMA configuration available.\n", + card->cardnum); + goto err_pci_set_dma_mask; + } + + pci_write_config_word(pci_dev, PCI_COMMAND, PCI_COMMAND_MEMORY); + err = pci_request_regions(pci_dev, hfc_DRIVER_NAME); + if (err) { + printk(KERN_CRIT hfc_DRIVER_PREFIX + "card %d: " + "cannot request I/O memory region\n", + card->cardnum); + goto err_pci_request_regions; + } + + pci_set_master(pci_dev); + + if (!pci_dev->irq) { + printk(KERN_CRIT hfc_DRIVER_PREFIX + "card %d: " + "no irq!\n", + card->cardnum); + err = -ENODEV; + goto err_noirq; + } + + card->io_bus_mem = pci_resource_start(pci_dev, 1); + if (!card->io_bus_mem) { + printk(KERN_CRIT hfc_DRIVER_PREFIX + "card %d: " + "no iomem!\n", + card->cardnum); + err = -ENODEV; + goto err_noiobase; + } + + card->io_mem = ioremap(card->io_bus_mem, hfc_PCI_MEM_SIZE); + if (!(card->io_mem)) { + printk(KERN_CRIT hfc_DRIVER_PREFIX + "card %d: " + "cannot ioremap I/O memory\n", + card->cardnum); + err = -ENODEV; + goto err_ioremap; + } + + /* + * pci_alloc_consistent guarantees alignment + * (Documentation/DMA-mapping.txt) + */ + card->fifo_mem = pci_alloc_consistent(pci_dev, + hfc_FIFO_SIZE, &card->fifo_bus_mem); + if (!card->fifo_mem) { + printk(KERN_CRIT hfc_DRIVER_PREFIX + "card %d: " + "unable to allocate FIFO DMA memory!\n", + card->cardnum); + err = -ENOMEM; + goto err_alloc_fifo; + } + + memset(card->fifo_mem, 0x00, hfc_FIFO_SIZE); + + card->fifos = card->fifo_mem; + + pci_write_config_dword(card->pcidev, hfc_PCI_MWBA, card->fifo_bus_mem); + + err = request_irq(card->pcidev->irq, &hfc_interrupt, + +#if (KERNEL_VERSION(2, 6, 23) < LINUX_VERSION_CODE) + IRQF_SHARED, hfc_DRIVER_NAME, card); +#else + SA_SHIRQ, hfc_DRIVER_NAME, card); +#endif + + if (err) { + printk(KERN_CRIT hfc_DRIVER_PREFIX + "card %d: " + "unable to register irq\n", + card->cardnum); + goto err_request_irq; + } + + card->nt_mode = FALSE; + + if (modes & (1 << card->cardnum)) + card->nt_mode = TRUE; + + for (i = 0; i < nt_modes_count; i++) { + if (nt_modes[i] == card->cardnum) + card->nt_mode = TRUE; + } + + /* + * D Channel + */ + card->chans[D].card = card; + card->chans[D].name = "D"; + card->chans[D].status = free; + card->chans[D].number = D; + spin_lock_init(&card->chans[D].lock); + + card->chans[D].rx.chan = &card->chans[D]; + card->chans[D].rx.fifo_base = card->fifos + 0x4000; + card->chans[D].rx.z_base = card->fifos + 0x4000; + card->chans[D].rx.z1_base = card->fifos + 0x6080; + card->chans[D].rx.z2_base = card->fifos + 0x6082; + card->chans[D].rx.z_min = 0x0000; + card->chans[D].rx.z_max = 0x01FF; + card->chans[D].rx.f_min = 0x10; + card->chans[D].rx.f_max = 0x1F; + card->chans[D].rx.f1 = card->fifos + 0x60a0; + card->chans[D].rx.f2 = card->fifos + 0x60a1; + card->chans[D].rx.fifo_size = card->chans[D].rx.z_max + - card->chans[D].rx.z_min + 1; + card->chans[D].rx.f_num = card->chans[D].rx.f_max + - card->chans[D].rx.f_min + 1; + + card->chans[D].tx.chan = &card->chans[D]; + card->chans[D].tx.fifo_base = card->fifos + 0x0000; + card->chans[D].tx.z_base = card->fifos + 0x0000; + card->chans[D].tx.z1_base = card->fifos + 0x2080; + card->chans[D].tx.z2_base = card->fifos + 0x2082; + card->chans[D].tx.z_min = 0x0000; + card->chans[D].tx.z_max = 0x01FF; + card->chans[D].tx.f_min = 0x10; + card->chans[D].tx.f_max = 0x1F; + card->chans[D].tx.f1 = card->fifos + 0x20a0; + card->chans[D].tx.f2 = card->fifos + 0x20a1; + card->chans[D].tx.fifo_size = card->chans[D].tx.z_max - + card->chans[D].tx.z_min + 1; + card->chans[D].tx.f_num = card->chans[D].tx.f_max - + card->chans[D].tx.f_min + 1; + + /* + * B1 Channel + */ + card->chans[B1].card = card; + card->chans[B1].name = "B1"; + card->chans[B1].status = free; + card->chans[B1].number = B1; + card->chans[B1].protocol = 0; + spin_lock_init(&card->chans[B1].lock); + + card->chans[B1].rx.chan = &card->chans[B1]; + card->chans[B1].rx.fifo_base = card->fifos + 0x4200; + card->chans[B1].rx.z_base = card->fifos + 0x4000; + card->chans[B1].rx.z1_base = card->fifos + 0x6000; + card->chans[B1].rx.z2_base = card->fifos + 0x6002; + card->chans[B1].rx.z_min = 0x0200; + card->chans[B1].rx.z_max = 0x1FFF; + card->chans[B1].rx.f_min = 0x00; + card->chans[B1].rx.f_max = 0x1F; + card->chans[B1].rx.f1 = card->fifos + 0x6080; + card->chans[B1].rx.f2 = card->fifos + 0x6081; + card->chans[B1].rx.fifo_size = card->chans[B1].rx.z_max - + card->chans[B1].rx.z_min + 1; + card->chans[B1].rx.f_num = card->chans[B1].rx.f_max - + card->chans[B1].rx.f_min + 1; + + card->chans[B1].tx.chan = &card->chans[B1]; + card->chans[B1].tx.fifo_base = card->fifos + 0x0200; + card->chans[B1].tx.z_base = card->fifos + 0x0000; + card->chans[B1].tx.z1_base = card->fifos + 0x2000; + card->chans[B1].tx.z2_base = card->fifos + 0x2002; + card->chans[B1].tx.z_min = 0x0200; + card->chans[B1].tx.z_max = 0x1FFF; + card->chans[B1].tx.f_min = 0x00; + card->chans[B1].tx.f_max = 0x1F; + card->chans[B1].tx.f1 = card->fifos + 0x2080; + card->chans[B1].tx.f2 = card->fifos + 0x2081; + card->chans[B1].tx.fifo_size = card->chans[B1].tx.z_max - + card->chans[B1].tx.z_min + 1; + card->chans[B1].tx.f_num = card->chans[B1].tx.f_max - + card->chans[B1].tx.f_min + 1; + + /* + * B2 Channel + */ + card->chans[B2].card = card; + card->chans[B2].name = "B2"; + card->chans[B2].status = free; + card->chans[B2].number = B2; + card->chans[B2].protocol = 0; + spin_lock_init(&card->chans[B2].lock); + + card->chans[B2].rx.chan = &card->chans[B2]; + card->chans[B2].rx.fifo_base = card->fifos + 0x6200, + card->chans[B2].rx.z_base = card->fifos + 0x6000; + card->chans[B2].rx.z1_base = card->fifos + 0x6100; + card->chans[B2].rx.z2_base = card->fifos + 0x6102; + card->chans[B2].rx.z_min = 0x0200; + card->chans[B2].rx.z_max = 0x1FFF; + card->chans[B2].rx.f_min = 0x00; + card->chans[B2].rx.f_max = 0x1F; + card->chans[B2].rx.f1 = card->fifos + 0x6180; + card->chans[B2].rx.f2 = card->fifos + 0x6181; + card->chans[B2].rx.fifo_size = card->chans[B2].rx.z_max - + card->chans[B2].rx.z_min + 1; + card->chans[B2].rx.f_num = card->chans[B2].rx.f_max - + card->chans[B2].rx.f_min + 1; + + card->chans[B2].tx.chan = &card->chans[B2]; + card->chans[B2].tx.fifo_base = card->fifos + 0x2200; + card->chans[B2].tx.z_base = card->fifos + 0x2000; + card->chans[B2].tx.z1_base = card->fifos + 0x2100; + card->chans[B2].tx.z2_base = card->fifos + 0x2102; + card->chans[B2].tx.z_min = 0x0200; + card->chans[B2].tx.z_max = 0x1FFF; + card->chans[B2].tx.f_min = 0x00; + card->chans[B2].tx.f_max = 0x1F; + card->chans[B2].tx.f1 = card->fifos + 0x2180; + card->chans[B2].tx.f2 = card->fifos + 0x2181; + card->chans[B2].tx.fifo_size = card->chans[B2].tx.z_max - + card->chans[B2].tx.z_min + 1; + card->chans[B2].tx.f_num = card->chans[B2].tx.f_max - + card->chans[B2].tx.f_min + 1; + + /* + * All done + */ + + dahdi_hfcs = kmalloc(sizeof(struct dahdi_hfc), GFP_KERNEL); + if (!dahdi_hfcs) { + printk(KERN_CRIT hfc_DRIVER_PREFIX + "unable to kmalloc!\n"); + goto err_request_irq; + } + memset(dahdi_hfcs, 0x0, sizeof(struct dahdi_hfc)); + + dahdi_hfcs->card = card; + hfc_dahdi_initialize(dahdi_hfcs); + card->dahdi_dev = dahdi_hfcs; + +#ifdef CONFIG_PROC_FS + snprintf(card->proc_dir_name, + sizeof(card->proc_dir_name), + "%d", card->cardnum); + card->proc_dir = proc_mkdir(card->proc_dir_name, hfc_proc_dahdi_hfcs_dir); + SET_PROC_DIRENTRY_OWNER(card->proc_dir); +#endif /* CONFIG_PROC_FS */ + + hfc_resetCard(card); + + printk(KERN_INFO hfc_DRIVER_PREFIX + "card %d configured for %s mode at mem %#lx (0x%p) IRQ %u\n", + card->cardnum, + card->nt_mode ? "NT" : "TE", + card->io_bus_mem, + card->io_mem, + card->pcidev->irq); + + cardnum++; + + return 0; + +err_request_irq: + pci_free_consistent(pci_dev, hfc_FIFO_SIZE, + card->fifo_mem, card->fifo_bus_mem); +err_alloc_fifo: + iounmap(card->io_mem); +err_ioremap: +err_noiobase: +err_noirq: + pci_release_regions(pci_dev); +err_pci_request_regions: +err_pci_set_dma_mask: +err_pci_enable_device: + kfree(card); +err_alloc_hfccard: + return err; +} + +static void __devexit hfc_remove(struct pci_dev *pci_dev) +{ + struct hfc_card *card = pci_get_drvdata(pci_dev); + + + printk(KERN_INFO hfc_DRIVER_PREFIX + "card %d: " + "shutting down card at %p.\n", + card->cardnum, + card->io_mem); + + if (!card) { + return; + } + + hfc_softreset(card); + + dahdi_unregister_device(card->dahdi_dev->ddev); + + + /* + * disable memio and bustmaster + */ + pci_write_config_word(pci_dev, PCI_COMMAND, 0); + +#ifdef CONFIG_PROC_FS +/* +BUG: these proc entries just cause Call traces, so removed. + remove_proc_entry("bufs", card->proc_dir); + remove_proc_entry("fifos", card->proc_dir); + remove_proc_entry("info", card->proc_dir); +*/ + remove_proc_entry(card->proc_dir_name, hfc_proc_dahdi_hfcs_dir); +#endif /* CONFIG_PROC_FS */ + + free_irq(pci_dev->irq, card); + + pci_free_consistent(pci_dev, hfc_FIFO_SIZE, + card->fifo_mem, card->fifo_bus_mem); + + iounmap(card->io_mem); + + pci_release_regions(pci_dev); + + pci_disable_device(pci_dev); + + kfree(card); +} + +/****************************************** + * Module stuff + ******************************************/ + +static int __init hfc_init_module(void) +{ + int ret; + + printk(KERN_INFO hfc_DRIVER_PREFIX + hfc_DRIVER_STRING " loading\n"); +#ifdef DEBUG +printk(KERN_INFO hfc_DRIVER_PREFIX "Check /var/log/kern-debug.log for debugging output level %d.", debug_level); +printk(KERN_DEBUG hfc_DRIVER_PREFIX "base.c is debugging."); +#endif + +#ifdef CONFIG_PROC_FS +#if (KERNEL_VERSION(2, 6, 26) <= LINUX_VERSION_CODE) + hfc_proc_dahdi_hfcs_dir = proc_mkdir(hfc_DRIVER_NAME, NULL); +#else + hfc_proc_dahdi_hfcs_dir = proc_mkdir(hfc_DRIVER_NAME, proc_root_driver); +#endif +#endif /* CONFIG_PROC_FS */ + + ret = dahdi_pci_module(&hfc_driver); + return ret; +} + +module_init(hfc_init_module); + +static void __exit hfc_module_exit(void) +{ + pci_unregister_driver(&hfc_driver); + +#ifdef CONFIG_PROC_FS +#if (KERNEL_VERSION(2, 6, 26) <= LINUX_VERSION_CODE) + remove_proc_entry(hfc_DRIVER_NAME, NULL); +#else + remove_proc_entry(hfc_DRIVER_NAME, proc_root_driver); +#endif +#endif /* CONFIG_PROC_FS */ + + printk(KERN_INFO hfc_DRIVER_PREFIX + hfc_DRIVER_STRING " unloaded\n"); +} + +module_exit(hfc_module_exit); + +#endif + +MODULE_DESCRIPTION(hfc_DRIVER_DESCR); +MODULE_AUTHOR("Jens Wilke <jw_...@he...>, " + "Daniele (Vihai) Orlandi <da...@or...>, " + "Jose A. Deniz <od...@ho...>"); +MODULE_ALIAS("dahdi_hfcs"); +#ifdef MODULE_LICENSE +MODULE_LICENSE("GPL"); +#endif + + +module_param(modes, int, 0444); + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 10) +module_param_array(nt_modes, int, &nt_modes_count, 0444); +#else +module_param_array(nt_modes, int, nt_modes_count, 0444); +#endif + +module_param(force_l1_up, int, 0444); +#ifdef DEBUG +module_param(debug_level, int, 0444); +#endif + +MODULE_PARM_DESC(modes, "[Deprecated] bit-mask to configure NT mode"); +MODULE_PARM_DESC(nt_modes, + "Comma-separated list of card IDs to configure in NT mode"); +MODULE_PARM_DESC(force_l1_up, "Don't allow L1 to go down"); +#ifdef DEBUG +MODULE_PARM_DESC(debug_level, "Debug verbosity level"); +#endif Added: branches/1.0/package/dahdi-linux/hfcs-2.10/dahdi_hfcs.h =================================================================== --- branches/1.0/package/dahdi-linux/hfcs-2.10/dahdi_hfcs.h (rev 0) +++ branches/1.0/package/dahdi-linux/hfcs-2.10/dahdi_hfcs.h 2017-06-19 13:15:06 UTC (rev 8401) @@ -0,0 +1,424 @@ +/* + * dahdi_hfcs.h - Dahdi driver for HFC-S PCI A based ISDN BRI cards + * + * Dahdi port by Jose A. Deniz <od...@ho...> + * + * Copyright (C) 2009 Jose A. Deniz + * Copyright (C) 2006 headissue GmbH; Jens Wilke + * Copyright (C) 2004 Daniele Orlandi + * Copyright (C) 2002, 2003, 2004, Junghanns.NET GmbH + * + * Jens Wilke <jw_...@he...> + * + * Orginal author of this code is + * Daniele "Vihai" Orlandi <da...@or...> + * + * Major rewrite of the driver made by + * Klaus-Peter Junghanns <kp...@ju...> + * + * This program is free software and may be modified and + * distributed under the terms of the GNU Public License. + * + */ + +#ifndef _HFC_ZAPHFC_H +#define _HFC_ZAPHFC_H + +#include <asm/io.h> + +#define hfc_DRIVER_NAME "dahdi_hfcs" +#define hfc_DRIVER_PREFIX hfc_DRIVER_NAME ": " +#define hfc_DRIVER_DESCR "HFC-S PCI A ISDN" +#define hfc_DRIVER_VERSION "1.42" +#define hfc_DRIVER_STRING hfc_DRIVER_DESCR " (V" hfc_DRIVER_VERSION ")" + +#define hfc_MAX_BOARDS 32 + +#ifndef PCI_DMA_32BIT +#define PCI_DMA_32BIT 0x00000000ffffffffULL +#endif + +#ifndef PCI_VENDOR_ID_SITECOM +#define PCI_VENDOR_ID_SITECOM 0x182D +#endif + +#ifndef PCI_DEVICE_ID_SITECOM_3069 +#define PCI_DEVICE_ID_SITECOM_3069 0x3069 +#endif + +#define hfc_RESET_DELAY 20 + +#define hfc_CLKDEL_TE 0x0f /* CLKDEL in TE mode */ +#define hfc_CLKDEL_NT 0x6c /* CLKDEL in NT mode */ + +/* PCI memory mapped I/O */ + +#define hfc_PCI_MEM_SIZE 0x0100 +#define hfc_PCI_MWBA 0x80 + +/* GCI/IOM bus monitor registers */ + +#define hfc_C_I 0x08 +#define hfc_TRxR 0x0C +#define hfc_MON1_D 0x28 +#define hfc_MON2_D 0x2C + + +/* GCI/IOM bus timeslot registers */ + +#define hfc_B1_SSL 0x80 +#define hfc_B2_SSL 0x84 +#define hfc_AUX1_SSL 0x88 +#define hfc_AUX2_SSL 0x8C +#define hfc_B1_RSL 0x90 +#define hfc_B2_RSL 0x94 +#define hfc_AUX1_RSL 0x98 +#define hfc_AUX2_RSL 0x9C + +/* GCI/IOM bus data registers */ + +#define hfc_B1_D 0xA0 +#define hfc_B2_D 0xA4 +#define hfc_AUX1_D 0xA8 +#define hfc_AUX2_D 0xAC + +/* GCI/IOM bus configuration registers */ + +#define hfc_MST_EMOD 0xB4 +#define hfc_MST_MODE 0xB8 +#define hfc_CONNECT 0xBC + + +/* Interrupt and status registers */ + +#define hfc_FIFO_EN 0x44 +#define hfc_TRM 0x48 +#define hfc_B_MODE 0x4C +#define hfc_CHIP_ID 0x58 +#define hfc_CIRM 0x60 +#define hfc_CTMT 0x64 +#define hfc_INT_M1 0x68 +#define hfc_INT_M2 0x6C +#define hfc_INT_S1 0x78 +#define hfc_INT_S2 0x7C +#define hfc_STATUS 0x70 + +/* S/T section registers */ + +#define hfc_STATES 0xC0 +#define hfc_SCTRL 0xC4 +#define hfc_SCTRL_E 0xC8 +#define hfc_SCTRL_R 0xCC +#define hfc_SQ 0xD0 +#define hfc_CLKDEL 0xDC +#define hfc_B1_REC 0xF0 +#define hfc_B1_SEND 0xF0 +#define hfc_B2_REC 0xF4 +#define hfc_B2_SEND 0xF4 +#define hfc_D_REC 0xF8 +#define hfc_D_SEND 0xF8 +#define hfc_E_REC 0xFC + +/* Bits and values in various HFC PCI registers */ + +/* bits in status register (READ) */ +#define hfc_STATUS_PCI_PROC 0x02 +#define hfc_STATUS_NBUSY 0x04 +#define hfc_STATUS_TIMER_ELAP 0x10 +#define hfc_STATUS_STATINT 0x20 +#define hfc_STATUS_FRAMEINT 0x40 +#define hfc_STATUS_ANYINT 0x80 + +/* bits in CTMT (Write) */ +#define hfc_CTMT_TRANSB1 0x01 +#define hfc_CTMT_TRANSB2 0x02 +#define hfc_CTMT_TIMER_CLEAR 0x80 +#define hfc_CTMT_TIMER_MASK 0x1C +#define hfc_CTMT_TIMER_3_125 (0x01 << 2) +#define hfc_CTMT_TIMER_6_25 (0x02 << 2) +#define hfc_CTMT_TIMER_12_5 (0x03 << 2) +#define hfc_CTMT_TIMER_25 (0x04 << 2) +#define hfc_CTMT_TIMER_50 (0x05 << 2) +#define hfc_CTMT_TIMER_400 (0x06 << 2) +#define hfc_CTMT_TIMER_800 (0x07 << 2) +#define hfc_CTMT_AUTO_TIMER 0x20 + +/* bits in CIRM (Write) */ +#define hfc_CIRM_AUX_MSK 0x07 +#define hfc_CIRM_RESET 0x08 +#define hfc_CIRM_B1_REV 0x40 +#define hfc_CIRM_B2_REV 0x80 + +/* bits in INT_M1 and INT_S1 */ +#define hfc_INTS_B1TRANS 0x01 +#define hfc_INTS_B2TRANS 0x02 +#define hfc_INTS_DTRANS 0x04 +#define hfc_INTS_B1REC 0x08 +#define hfc_INTS_B2REC 0x10 +#define hfc_INTS_DREC 0x20 +#define hfc_INTS_L1STATE 0x40 +#define hfc_INTS_TIMER 0x80 + +/* bits in INT_M2 */ +#define hfc_M2_PROC_TRANS 0x01 +#define hfc_M2_GCI_I_CHG 0x02 +#define hfc_M2_GCI_MON_REC 0x04 +#define hfc_M2_IRQ_ENABLE 0x08 +#define hfc_M2_PMESEL 0x80 + +/* bits in STATES */ +#define hfc_STATES_STATE_MASK 0x0F +#define hfc_STATES_LOAD_STATE 0x10 +#define hfc_STATES_ACTIVATE 0x20 +#define hfc_STATES_DO_ACTION 0x40 +#define hfc_STATES_NT_G2_G3 0x80 + +/* bits in HFCD_MST_MODE */ +#define hfc_MST_MODE_MASTER 0x01 +#define hfc_MST_MODE_SLAVE 0x00 +/* remaining bits are for codecs control */ + +/* bits in HFCD_SCTRL */ +#define hfc_SCTRL_B1_ENA 0x01 +#define hfc_SCTRL_B2_ENA 0x02 +#define hfc_SCTRL_MODE_TE 0x00 +#define hfc_SCTRL_MODE_NT 0x04 +#define hfc_SCTRL_LOW_PRIO 0x08 +#define hfc_SCTRL_SQ_ENA 0x10 +#define hfc_SCTRL_TEST 0x20 +#define hfc_SCTRL_NONE_CAP 0x40 +#define hfc_SCTRL_PWR_DOWN 0x80 + +/* bits in SCTRL_E */ +#define hfc_SCTRL_E_AUTO_AWAKE 0x01 +#define hfc_SCTRL_E_DBIT_1 0x04 +#define hfc_SCTRL_E_IGNORE_COL 0x08 +#define hfc_SCTRL_E_CHG_B1_B2 0x80 + +/* bits in SCTRL_R */ +#define hfc_SCTRL_R_B1_ENA 0x01 +#define hfc_SCTRL_R_B2_ENA 0x02 + +/* bits in FIFO_EN register */ +#define hfc_FIFOEN_B1TX 0x01 +#define hfc_FIFOEN_B1RX 0x02 +#define hfc_FIFOEN_B2TX 0x04 +#define hfc_FIFOEN_B2RX 0x08 +#define hfc_FIFOEN_DTX 0x10 +#define hfc_FIFOEN_DRX 0x20 + +#define hfc_FIFOEN_B1 (hfc_FIFOEN_B1TX|hfc_FIFOEN_B1RX) +#define hfc_FIFOEN_B2 (hfc_FIFOEN_B2TX|hfc_FIFOEN_B2RX) +#define hfc_FIFOEN_D (hfc_FIFOEN_DTX|hfc_FIFOEN_DRX) + +/* bits in the CONNECT register */ +#define hfc_CONNECT_B1_HFC_from_ST 0x00 +#define hfc_CONNECT_B1_HFC_from_GCI 0x01 +#define hfc_CONNECT_B1_ST_from_HFC 0x00 +#define hfc_CONNECT_B1_ST_from_GCI 0x02 +#define hfc_CONNECT_B1_GCI_from_HFC 0x00 +#define hfc_CONNECT_B1_GCI_from_ST 0x04 + +#define hfc_CONNECT_B2_HFC_from_ST 0x00 +#define hfc_CONNECT_B2_HFC_from_GCI 0x08 +#define hfc_CONNECT_B2_ST_from_HFC 0x00 +#define hfc_CONNECT_B2_ST_from_GCI 0x10 +#define hfc_CONNECT_B2_GCI_from_HFC 0x00 +#define hfc_CONNECT_B2_GCI_from_ST 0x20 + +/* bits in the TRM register */ +#define hfc_TRM_TRANS_INT_00 0x00 +#define hfc_TRM_TRANS_INT_01 0x01 +#define hfc_TRM_TRANS_INT_10 0x02 +#define hfc_TRM_TRANS_INT_11 0x04 +#define hfc_TRM_ECHO 0x20 +#define hfc_TRM_B1_PLUS_B2 0x40 +#define hfc_T... [truncated message content] |
From: <abe...@us...> - 2017-06-16 18:07:06
|
Revision: 8400 http://sourceforge.net/p/astlinux/code/8400 Author: abelbeck Date: 2017-06-16 18:07:04 +0000 (Fri, 16 Jun 2017) Log Message: ----------- update ChangeLog Modified Paths: -------------- branches/1.0/docs/ChangeLog.txt Modified: branches/1.0/docs/ChangeLog.txt =================================================================== --- branches/1.0/docs/ChangeLog.txt 2017-06-16 17:53:53 UTC (rev 8399) +++ branches/1.0/docs/ChangeLog.txt 2017-06-16 18:07:04 UTC (rev 8400) @@ -77,6 +77,9 @@ New rc.conf variable: IPV6_PREFIX_DELEGATION More info: http://doc.astlinux-project.org/userdoc:tt-dhcpv6-prefix-delegation +-- arnofw (AIF), version bump to 2.0.2-RC1, added support for properly attaching nf_conntrack helpers. + As such net.netfilter.nf_conntrack_helper=0 and the the needed CT targets are created. + -- arnofw (AIF), added "net-prefix-translation" plugin. Provides NPTv6 (Network Prefix Translation) for IPv6 More info: http://doc.astlinux-project.org/userdoc:tt_ipv6_ula_nptv6_config This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-16 17:53:54
|
Revision: 8399 http://sourceforge.net/p/astlinux/code/8399 Author: abelbeck Date: 2017-06-16 17:53:53 +0000 (Fri, 16 Jun 2017) Log Message: ----------- arnofw, version bump to 2.0.2-RC1, also modernize the build system 'arnofw.mk' Modified Paths: -------------- branches/1.0/package/arnofw/Config.in branches/1.0/package/arnofw/arnofw.mk Removed Paths: ------------- branches/1.0/package/arnofw/arnofw-0001-HOST_BLOCK_SRC_DROP-HOST_BLOCK_DST_DROP.patch branches/1.0/package/arnofw/arnofw-0002-EXT_IF_DHCPV6_IPV6.patch branches/1.0/package/arnofw/arnofw-0003-flush-ipv6-nat-tables.patch Modified: branches/1.0/package/arnofw/Config.in =================================================================== --- branches/1.0/package/arnofw/Config.in 2017-06-15 21:06:10 UTC (rev 8398) +++ branches/1.0/package/arnofw/Config.in 2017-06-16 17:53:53 UTC (rev 8399) @@ -1,8 +1,9 @@ config BR2_PACKAGE_ARNOFW - bool "Arno's Firewall Support" - default n - help - Arno's IPtables Firewall is a complete - Firewall script. + bool "Arno's Firewall Support" + default n + help + Arno's IPtables Firewall is a complete Firewall script. - http://rocky.molphys.leidenuniv.nl/ + https://github.com/arno-iptables-firewall/aif/ + + http://rocky.eld.leidenuniv.nl/ Deleted: branches/1.0/package/arnofw/arnofw-0001-HOST_BLOCK_SRC_DROP-HOST_BLOCK_DST_DROP.patch =================================================================== --- branches/1.0/package/arnofw/arnofw-0001-HOST_BLOCK_SRC_DROP-HOST_BLOCK_DST_DROP.patch 2017-06-15 21:06:10 UTC (rev 8398) +++ branches/1.0/package/arnofw/arnofw-0001-HOST_BLOCK_SRC_DROP-HOST_BLOCK_DST_DROP.patch 2017-06-16 17:53:53 UTC (rev 8399) @@ -1,145 +0,0 @@ -diff --git a/bin/arno-iptables-firewall b/bin/arno-iptables-firewall -index 74ff982..fa872ab 100755 ---- a/bin/arno-iptables-firewall -+++ b/bin/arno-iptables-firewall -@@ -886,12 +886,19 @@ setup_default_policies() - ########################################################### - iptables -A POST_INPUT_DROP_CHAIN -j DROP - -- # The HOST_BLOCK_DROP chain should always DROP -+ # The HOST_BLOCK_SRC_DROP chain should always DROP - ########################################################### -- if [ "$BLOCKED_HOST_LOG" != "0" ]; then -- iptables -A HOST_BLOCK_DROP -m limit --limit 1/m --limit-burst 1 -j LOG --log-level $LOGLEVEL --log-prefix "AIF:Blocked host(s): " -+ if [ "$BLOCKED_HOST_LOG" = "1" -o "$BLOCKED_HOST_LOG" = "2" ]; then -+ iptables -A HOST_BLOCK_SRC_DROP -m limit --limit 1/m --limit-burst 1 -j LOG --log-level $LOGLEVEL --log-prefix "AIF:Blocked host(s) Inbound: " - fi -- iptables -A HOST_BLOCK_DROP -j DROP -+ iptables -A HOST_BLOCK_SRC_DROP -j DROP -+ -+ # The HOST_BLOCK_DST_DROP chain should always DROP -+ ########################################################### -+ if [ "$BLOCKED_HOST_LOG" = "1" -o "$BLOCKED_HOST_LOG" = "3" ]; then -+ iptables -A HOST_BLOCK_DST_DROP -m limit --limit 1/m --limit-burst 1 -j LOG --log-level $LOGLEVEL --log-prefix "AIF:Blocked host(s) Outbound: " -+ fi -+ iptables -A HOST_BLOCK_DST_DROP -j DROP - - # The LINK_LOCAL_DROP chain should always DROP - ########################################################### -@@ -2734,8 +2741,12 @@ setup_ext_input_chain() - - # Enable logging of blocked hosts? - ################################## -- if [ "$BLOCKED_HOST_LOG" != "0" ]; then -- echo " Logging of explicitly blocked hosts enabled" -+ if [ "$BLOCKED_HOST_LOG" = "1" ]; then -+ echo " Logging of explicitly blocked hosts inbound/outbound enabled" -+ elif [ "$BLOCKED_HOST_LOG" = "2" ]; then -+ echo " Logging of explicitly blocked hosts inbound enabled" -+ elif [ "$BLOCKED_HOST_LOG" = "3" ]; then -+ echo " Logging of explicitly blocked hosts outbound enabled" - else - echo " Logging of explicitly blocked hosts disabled" - fi -@@ -4205,14 +4216,14 @@ setup_ipset_netset() - ipset create -exist ${set_name} hash:net family $family hashsize $hashsize maxelem $maxelem - - if [ "$family" = "inet" ]; then -- ip4tables -A HOST_BLOCK_SRC -m set --match-set ${set_name} src -j HOST_BLOCK_DROP -+ ip4tables -A HOST_BLOCK_SRC -m set --match-set ${set_name} src -j HOST_BLOCK_SRC_DROP - if [ "$BLOCK_HOSTS_BIDIRECTIONAL" != "0" ]; then -- ip4tables -A HOST_BLOCK_DST -m set --match-set ${set_name} dst -j HOST_BLOCK_DROP -+ ip4tables -A HOST_BLOCK_DST -m set --match-set ${set_name} dst -j HOST_BLOCK_DST_DROP - fi - else -- ip6tables -A HOST_BLOCK_SRC -m set --match-set ${set_name} src -j HOST_BLOCK_DROP -+ ip6tables -A HOST_BLOCK_SRC -m set --match-set ${set_name} src -j HOST_BLOCK_SRC_DROP - if [ "$BLOCK_HOSTS_BIDIRECTIONAL" != "0" ]; then -- ip6tables -A HOST_BLOCK_DST -m set --match-set ${set_name} dst -j HOST_BLOCK_DROP -+ ip6tables -A HOST_BLOCK_DST -m set --match-set ${set_name} dst -j HOST_BLOCK_DST_DROP - fi - fi - done -@@ -4378,16 +4389,16 @@ if ipset_check; then - if [ -n "$BLOCK_HOSTS" -o -n "$BLOCK_HOSTS_FILE" ]; then - ipset create -exist aif_blocklist hash:net family inet hashsize $hashsize maxelem $maxelem - -- ip4tables -A HOST_BLOCK_SRC -m set --match-set aif_blocklist src -j HOST_BLOCK_DROP -+ ip4tables -A HOST_BLOCK_SRC -m set --match-set aif_blocklist src -j HOST_BLOCK_SRC_DROP - if [ "$BLOCK_HOSTS_BIDIRECTIONAL" != "0" ]; then -- ip4tables -A HOST_BLOCK_DST -m set --match-set aif_blocklist dst -j HOST_BLOCK_DROP -+ ip4tables -A HOST_BLOCK_DST -m set --match-set aif_blocklist dst -j HOST_BLOCK_DST_DROP - fi - if [ "$IPV6_SUPPORT" = "1" ]; then - ipset create -exist aif_blocklistv6 hash:net family inet6 hashsize $hashsize maxelem $maxelem - -- ip6tables -A HOST_BLOCK_SRC -m set --match-set aif_blocklistv6 src -j HOST_BLOCK_DROP -+ ip6tables -A HOST_BLOCK_SRC -m set --match-set aif_blocklistv6 src -j HOST_BLOCK_SRC_DROP - if [ "$BLOCK_HOSTS_BIDIRECTIONAL" != "0" ]; then -- ip6tables -A HOST_BLOCK_DST -m set --match-set aif_blocklistv6 dst -j HOST_BLOCK_DROP -+ ip6tables -A HOST_BLOCK_DST -m set --match-set aif_blocklistv6 dst -j HOST_BLOCK_DST_DROP - fi - fi - fi -@@ -4551,16 +4562,16 @@ else - get_numeric_ip_version "$host" - case $? in - 4) -- ip4tables_batch -A HOST_BLOCK_SRC -s $host -j HOST_BLOCK_DROP -+ ip4tables_batch -A HOST_BLOCK_SRC -s $host -j HOST_BLOCK_SRC_DROP - if [ "$BLOCK_HOSTS_BIDIRECTIONAL" != "0" ]; then -- ip4tables_batch -A HOST_BLOCK_DST -d $host -j HOST_BLOCK_DROP -+ ip4tables_batch -A HOST_BLOCK_DST -d $host -j HOST_BLOCK_DST_DROP - fi - ;; - 6) - if [ "$IPV6_SUPPORT" = "1" ]; then -- ip6tables_batch -A HOST_BLOCK_SRC -s $host -j HOST_BLOCK_DROP -+ ip6tables_batch -A HOST_BLOCK_SRC -s $host -j HOST_BLOCK_SRC_DROP - if [ "$BLOCK_HOSTS_BIDIRECTIONAL" != "0" ]; then -- ip6tables_batch -A HOST_BLOCK_DST -d $host -j HOST_BLOCK_DROP -+ ip6tables_batch -A HOST_BLOCK_DST -d $host -j HOST_BLOCK_DST_DROP - fi - fi - ;; -@@ -4593,16 +4604,16 @@ else - get_numeric_ip_version "$host" - case $? in - 4) -- ip4tables_batch -A HOST_BLOCK_SRC -s $host -j HOST_BLOCK_DROP -+ ip4tables_batch -A HOST_BLOCK_SRC -s $host -j HOST_BLOCK_SRC_DROP - if [ "$BLOCK_HOSTS_BIDIRECTIONAL" != "0" ]; then -- ip4tables_batch -A HOST_BLOCK_DST -d $host -j HOST_BLOCK_DROP -+ ip4tables_batch -A HOST_BLOCK_DST -d $host -j HOST_BLOCK_DST_DROP - fi - ;; - 6) - if [ "$IPV6_SUPPORT" = "1" ]; then -- ip6tables_batch -A HOST_BLOCK_SRC -s $host -j HOST_BLOCK_DROP -+ ip6tables_batch -A HOST_BLOCK_SRC -s $host -j HOST_BLOCK_SRC_DROP - if [ "$BLOCK_HOSTS_BIDIRECTIONAL" != "0" ]; then -- ip6tables_batch -A HOST_BLOCK_DST -d $host -j HOST_BLOCK_DROP -+ ip6tables_batch -A HOST_BLOCK_DST -d $host -j HOST_BLOCK_DST_DROP - fi - fi - ;; -@@ -5462,7 +5473,8 @@ create_user_chains() - # General chains - iptables -N HOST_BLOCK_SRC - iptables -N HOST_BLOCK_DST -- iptables -N HOST_BLOCK_DROP -+ iptables -N HOST_BLOCK_SRC_DROP -+ iptables -N HOST_BLOCK_DST_DROP - iptables -N VALID_CHK - iptables -N RESERVED_NET_CHK - iptables -N SPOOF_CHK -@@ -5516,7 +5528,8 @@ flush_user_chains() - # General chains - iptables -F HOST_BLOCK_SRC - iptables -F HOST_BLOCK_DST -- iptables -F HOST_BLOCK_DROP -+ iptables -F HOST_BLOCK_SRC_DROP -+ iptables -F HOST_BLOCK_DST_DROP - iptables -F VALID_CHK - iptables -F RESERVED_NET_CHK - iptables -F SPOOF_CHK Deleted: branches/1.0/package/arnofw/arnofw-0002-EXT_IF_DHCPV6_IPV6.patch =================================================================== --- branches/1.0/package/arnofw/arnofw-0002-EXT_IF_DHCPV6_IPV6.patch 2017-06-15 21:06:10 UTC (rev 8398) +++ branches/1.0/package/arnofw/arnofw-0002-EXT_IF_DHCPV6_IPV6.patch 2017-06-16 17:53:53 UTC (rev 8399) @@ -1,39 +0,0 @@ -diff --git a/bin/arno-iptables-firewall b/bin/arno-iptables-firewall -index 50b024c..1ee713f 100755 ---- a/bin/arno-iptables-firewall -+++ b/bin/arno-iptables-firewall -@@ -2698,9 +2698,11 @@ setup_ext_input_chain() - echo " Enabling support for DHCP-assigned-IP (DHCP client)" - # Allow this host to be an DHCP client: - ip4tables -A EXT_INPUT_CHAIN -p udp --sport 67 --dport 68 -j ACCEPT -+ fi -+ if [ "$EXT_IF_DHCP_IP" = "1" -o "$EXT_IF_DHCPV6_IPV6" = "1" ]; then - if [ "$IPV6_SUPPORT" = "1" ]; then - # Allow this host to be an DHCPv6 client: -- ip6tables -A EXT_INPUT_CHAIN -p udp --sport 547 --dport 546 -j ACCEPT -+ ip6tables -A EXT_INPUT_CHAIN -s fe80::/10 -p udp --sport 547 --dport 546 -j ACCEPT - fi - fi - -diff --git a/etc/arno-iptables-firewall/firewall.conf b/etc/arno-iptables-firewall/firewall.conf -index e3c8894..766cbdd 100644 ---- a/etc/arno-iptables-firewall/firewall.conf -+++ b/etc/arno-iptables-firewall/firewall.conf -@@ -39,10 +39,16 @@ - EXT_IF="" - - # Enable if THIS machines (dynamically) obtains its IP through (IPv4) DHCP --# and/or (IPv6) DHCPv6 (from your ISP) -+# and possibly (IPv6) DHCPv6 (from your ISP) - # ------------------------------------------------------------------------------ - EXT_IF_DHCP_IP=0 - -+# Enable if THIS machines (dynamically) obtains its IP through (IPv6) DHCPv6 -+# and not (IPv4) DHCP. Applies only when EXT_IF_DHCP_IP is set to "0". -+# (IPv6 Only) -+# ------------------------------------------------------------------------------ -+EXT_IF_DHCPV6_IPV6=0 -+ - # (EXPERT SETTING!) Here you can override your external(!) IPv4 subnet(s). - # Normally these are (attempted to be) autodetected, so leaving this empty - # should work for most scenarios. This setting is used when eg. running a DHCP Deleted: branches/1.0/package/arnofw/arnofw-0003-flush-ipv6-nat-tables.patch =================================================================== --- branches/1.0/package/arnofw/arnofw-0003-flush-ipv6-nat-tables.patch 2017-06-15 21:06:10 UTC (rev 8398) +++ branches/1.0/package/arnofw/arnofw-0003-flush-ipv6-nat-tables.patch 2017-06-16 17:53:53 UTC (rev 8399) @@ -1,111 +0,0 @@ -From bee4d9337f40c015091af45a752abb6a7dc7f24d Mon Sep 17 00:00:00 2001 -From: Lonnie Abelbeck <lo...@ab...> -Date: Tue, 30 May 2017 11:43:49 -0500 -Subject: [PATCH 1/3] changed: better method to truncate/create a file - ---- - bin/arno-iptables-firewall | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/bin/arno-iptables-firewall b/bin/arno-iptables-firewall -index 1ee713f..592b90b 100755 ---- a/bin/arno-iptables-firewall -+++ b/bin/arno-iptables-firewall -@@ -4758,7 +4758,7 @@ plugins_start() - local plugin_count=0 - - # Truncate/create file -- cp -f /dev/null "$PLUGIN_LOAD_FILE" -+ : > "$PLUGIN_LOAD_FILE" - - printf "Checking for (user) plugins in $PLUGIN_BIN_PATH..." - - -From 824e33d67a8d8e636aaf30885698ce1c49d1c044 Mon Sep 17 00:00:00 2001 -From: Lonnie Abelbeck <lo...@ab...> -Date: Tue, 30 May 2017 12:31:51 -0500 -Subject: [PATCH 2/3] fixed: IPv6 NAT table was not flushed, Issue #36 - ---- - bin/arno-iptables-firewall | 27 +++++++++++++++++++-------- - 1 file changed, 19 insertions(+), 8 deletions(-) - -diff --git a/bin/arno-iptables-firewall b/bin/arno-iptables-firewall -index 592b90b..53408ec 100755 ---- a/bin/arno-iptables-firewall -+++ b/bin/arno-iptables-firewall -@@ -744,8 +744,10 @@ init_firewall_chains() - ip6tables -F OUTPUT - ip6tables -F FORWARD - -- # Flush rules in mangle table -+ # Flush rules in nat/mangle table - ############################# -+ try_ip6tables -t nat -F -+ try_ip6tables -t nat -X - ip6tables -t mangle -F - ip6tables -t mangle -X - fi -@@ -5592,11 +5594,11 @@ stop_firewall() - ip4tables -F OUTPUT - ip4tables -F FORWARD - -- # Flush rules in the mangle/nat tables -- ip4tables -t mangle -F -- ip4tables -t mangle -X -+ # Flush rules in the nat/mangle tables - ip4tables -t nat -F - ip4tables -t nat -X -+ ip4tables -t mangle -F -+ ip4tables -t mangle -X - - # Attempt to flush all IPv4 chains - ip4tables -F -@@ -5613,7 +5615,9 @@ stop_firewall() - ip6tables -F OUTPUT - ip6tables -F FORWARD - -- # Flush rules in the mangle table -+ # Flush rules in the nat/mangle table -+ try_ip6tables -t nat -F -+ try_ip6tables -t nat -X - ip6tables -t mangle -F - ip6tables -t mangle -X - -@@ -5662,6 +5666,11 @@ reinit_firewall_chains() - ip6tables -F OUTPUT - ip6tables -F FORWARD - -+ # Flush builtin IPv6 nat chains -+ try_ip6tables -t nat -F PREROUTING -+ try_ip6tables -t nat -F OUTPUT -+ try_ip6tables -t nat -F POSTROUTING -+ - # Flush builtin IPv6 mangle chains - # We don't have to be selective by chain since we don't - # expect any external, dynamically managed mangle chains -@@ -5692,10 +5701,10 @@ stop_block_firewall() - ip4tables -F FORWARD - - # Flush nat/mangle table rules -- ip4tables -t mangle -F -- ip4tables -t mangle -X - ip4tables -t nat -F - ip4tables -t nat -X -+ ip4tables -t mangle -F -+ ip4tables -t mangle -X - - # Attempt to flush all IPv4 chains - ip4tables -F -@@ -5714,7 +5723,9 @@ stop_block_firewall() - ip6tables -F OUTPUT - ip6tables -F FORWARD - -- # Flush mangle table rules -+ # Flush nat/mangle table rules -+ try_ip6tables -t nat -F -+ try_ip6tables -t nat -X - ip6tables -t mangle -F - ip6tables -t mangle -X - - Modified: branches/1.0/package/arnofw/arnofw.mk =================================================================== --- branches/1.0/package/arnofw/arnofw.mk 2017-06-15 21:06:10 UTC (rev 8398) +++ branches/1.0/package/arnofw/arnofw.mk 2017-06-16 17:53:53 UTC (rev 8399) @@ -1,195 +1,127 @@ ############################################################# # -# Arno's IPtables Firewall Script +# arnofw # ############################################################# -ARNOFW_VER := 2.0.1g -ARNOFW_ROOT := arno-iptables-firewall -ARNOFW_SOURCE := $(ARNOFW_ROOT)_$(ARNOFW_VER).tar.gz -ARNOFW_SITE := http://rocky.eld.leidenuniv.nl/arno-iptables-firewall -ARNOFW_DIR := $(BUILD_DIR)/$(ARNOFW_ROOT)_$(ARNOFW_VER) -ARNOFW_CAT := zcat -ARNOFW_TARGET_BINARY := /usr/sbin/arno-iptables-firewall -ARNOFW_CONFIG_DIR := /etc/arno-iptables-firewall -ARNOFW_SCRIPT_DIR := /usr/share/arno-iptables-firewall -ARNOFW_PLUGIN_CONFIG_DIR := $(ARNOFW_CONFIG_DIR)/plugins -ARNOFW_PLUGIN_SCRIPT_DIR := $(ARNOFW_SCRIPT_DIR)/plugins -ARNOFW_CONFIG_SHIM := $(ARNOFW_SCRIPT_DIR)/astlinux.shim -ARNOFW_CONFIG_SERIAL := $(ARNOFW_CONFIG_DIR)/serial -$(DL_DIR)/$(ARNOFW_SOURCE): - $(WGET) -P $(DL_DIR) $(ARNOFW_SITE)/$(ARNOFW_SOURCE) +ARNOFW_VERSION = 2.0.2-RC1 +ARNOFW_SOURCE = arno-iptables-firewall_$(ARNOFW_VERSION).tar.gz +ARNOFW_SITE = https://github.com/arno-iptables-firewall/aif/releases/download/$(ARNOFW_VERSION) -$(ARNOFW_DIR)/.unpacked: $(DL_DIR)/$(ARNOFW_SOURCE) - $(ARNOFW_CAT) $(DL_DIR)/$(ARNOFW_SOURCE) \ - | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - touch $(ARNOFW_DIR)/.unpacked +ARNOFW_CONFIG_DIR = etc/arno-iptables-firewall +ARNOFW_SCRIPT_DIR = usr/share/arno-iptables-firewall -$(ARNOFW_DIR)/.patched: $(ARNOFW_DIR)/.unpacked - toolchain/patch-kernel.sh $(ARNOFW_DIR) package/arnofw/ arnofw-\*.patch - touch $(ARNOFW_DIR)/.patched +define ARNOFW_INSTALL_TARGET_CMDS + ln -sf /tmp/$(ARNOFW_CONFIG_DIR) $(TARGET_DIR)/$(ARNOFW_CONFIG_DIR) + ## Install main script + $(INSTALL) -D -m 0755 $(@D)/bin/arno-iptables-firewall $(TARGET_DIR)/usr/sbin/arno-iptables-firewall + $(SED) '1 s:^#!/bin/sh:#!/bin/ash:' $(TARGET_DIR)/usr/sbin/arno-iptables-firewall + ## Install firewall.conf and supporting files + mkdir -p $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR) + $(INSTALL) -m 0444 package/arnofw/arnofw.serial $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/serial + $(INSTALL) -m 0644 $(@D)/etc/arno-iptables-firewall/firewall.conf $(@D)/etc/arno-iptables-firewall/custom-rules \ + $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR) + ## Edit the default firewall.conf + $(SED) 's:^PLUGIN_BIN_PATH=.*$$:PLUGIN_BIN_PATH="/$(ARNOFW_SCRIPT_DIR)/plugins":' \ + -e 's:^ENV_FILE=.*$$:ENV_FILE="/$(ARNOFW_SCRIPT_DIR)/environment":' \ + -e 's:^LOCAL_CONFIG_FILE=.*$$:LOCAL_CONFIG_FILE="/$(ARNOFW_SCRIPT_DIR)/astlinux.shim":' \ + -e 's:^NAT_LOCAL_REDIRECT=.*$$:NAT_LOCAL_REDIRECT=1:' \ + -e 's:^IGMP_LOG=.*$$:IGMP_LOG=0:' \ + -e 's:^RESERVED_NET_LOG=.*$$:RESERVED_NET_LOG=0:' \ + $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/firewall.conf + ## Install plugin scripts and configs + mkdir -p $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins + $(INSTALL) -m 0644 $(@D)/etc/arno-iptables-firewall/plugins/*.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins + cp -a $(@D)/share/arno-iptables-firewall $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR) + $(INSTALL) -m 0444 package/arnofw/arnofw.wrapper $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/astlinux.shim + $(INSTALL) -D -m 0755 package/arnofw/reload-spamhaus-drop $(TARGET_DIR)/usr/sbin/reload-spamhaus-drop + $(INSTALL) -D -m 0755 package/arnofw/reload-blocklist-netset $(TARGET_DIR)/usr/sbin/reload-blocklist-netset + ## Remove plugin CHANGELOG's + rm -f $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/*.CHANGELOG + ## + ## Remove plugins that we don't use + ## + rm -f $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/??linux-upnp-igd.plugin + rm -f $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/linux-upnp-igd.conf + rm -f $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/??traffic-accounting.plugin + rm -f $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/traffic-accounting-* + rm -f $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/traffic-accounting.conf + rm -f $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/??rpc.plugin + rm -f $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/rpc.conf + ## + ## Overwrite the config files with our custom versions + ## + $(INSTALL) -m 0644 package/arnofw/ipsec-vpn-astlinux.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/ipsec-vpn.conf + $(INSTALL) -m 0644 package/arnofw/sip-voip-astlinux.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/sip-voip.conf + $(INSTALL) -m 0644 package/arnofw/ipv6-over-ipv4-astlinux.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/ipv6-over-ipv4.conf + ## + ## Install local version of Adaptive Ban plugin + ## + $(INSTALL) -m 0644 package/arnofw/adaptive-ban/95adaptive-ban.plugin.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/95adaptive-ban.plugin + $(INSTALL) -m 0755 package/arnofw/adaptive-ban/adaptive-ban-helper.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/adaptive-ban-helper + $(INSTALL) -m 0644 package/arnofw/adaptive-ban/adaptive-ban.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/adaptive-ban.conf + ## + ## Install local version of DynDNS Host Open plugin + ## + $(INSTALL) -m 0644 package/arnofw/dyndns-host-open/50dyndns-host-open.plugin.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/50dyndns-host-open.plugin + $(INSTALL) -m 0755 package/arnofw/dyndns-host-open/dyndns-host-open-helper.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/dyndns-host-open-helper + $(INSTALL) -m 0644 package/arnofw/dyndns-host-open/dyndns-host-open.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/dyndns-host-open.conf + ## + ## Install local version of DynDNS IPv6 Forward plugin + ## + $(INSTALL) -m 0644 package/arnofw/dyndns-ipv6-forward/50dyndns-ipv6-forward.plugin.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/50dyndns-ipv6-forward.plugin + $(INSTALL) -m 0755 package/arnofw/dyndns-ipv6-forward/dyndns-ipv6-forward-helper.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/dyndns-ipv6-forward-helper + $(INSTALL) -m 0644 package/arnofw/dyndns-ipv6-forward/dyndns-ipv6-forward.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/dyndns-ipv6-forward.conf + ## + ## Install local version of DynDNS IPv6 Open plugin + ## + $(INSTALL) -m 0644 package/arnofw/dyndns-ipv6-open/50dyndns-ipv6-open.plugin.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/50dyndns-ipv6-open.plugin + $(INSTALL) -m 0755 package/arnofw/dyndns-ipv6-open/dyndns-ipv6-open-helper.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/dyndns-ipv6-open-helper + $(INSTALL) -m 0644 package/arnofw/dyndns-ipv6-open/dyndns-ipv6-open.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/dyndns-ipv6-open.conf + ## + ## Install local version of Traffic Shaper plugin + ## + $(INSTALL) -m 0644 package/arnofw/traffic-shaper/60traffic-shaper.plugin.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/60traffic-shaper.plugin + $(INSTALL) -m 0644 package/arnofw/traffic-shaper/traffic-shaper-astlinux.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/traffic-shaper.conf + ## + ## Install local version of OpenVPN Server plugin + ## + $(INSTALL) -m 0644 package/arnofw/openvpn-server/50openvpn-server.plugin.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/50openvpn-server.plugin + $(INSTALL) -m 0644 package/arnofw/openvpn-server/openvpn-server-astlinux.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/openvpn-server.conf + ## + ## Install local version of Time Schedule Host Block plugin + ## + $(INSTALL) -m 0644 package/arnofw/time-schedule-host-block/30time-schedule-host-block.plugin.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/30time-schedule-host-block.plugin + $(INSTALL) -m 0644 package/arnofw/time-schedule-host-block/time-schedule-host-block.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/time-schedule-host-block.conf + ## + ## Install local version of SIP User-Agent plugin + ## + $(INSTALL) -m 0644 package/arnofw/sip-user-agent/30sip-user-agent.plugin.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/30sip-user-agent.plugin + $(INSTALL) -m 0644 package/arnofw/sip-user-agent/sip-user-agent.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/sip-user-agent.conf + ## + ## Install local version of PPTP VPN plugin + ## + $(INSTALL) -m 0644 package/arnofw/pptp-vpn/50pptp-vpn.plugin.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/50pptp-vpn.plugin + $(INSTALL) -m 0644 package/arnofw/pptp-vpn/pptp-vpn-astlinux.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/pptp-vpn.conf + ## + ## Install local version of miniupnpd plugin + ## + $(INSTALL) -m 0644 package/arnofw/miniupnpd/50miniupnpd.plugin.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/50miniupnpd.plugin + $(INSTALL) -m 0644 package/arnofw/miniupnpd/miniupnpd-astlinux.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/miniupnpd.conf + ## + ## Install local version of net-prefix-translation plugin + ## + $(INSTALL) -m 0644 package/arnofw/net-prefix-translation/20net-prefix-translation.plugin.sh $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR)/plugins/20net-prefix-translation.plugin + $(INSTALL) -m 0644 package/arnofw/net-prefix-translation/net-prefix-translation.conf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR)/plugins/net-prefix-translation.conf +endef -# -# the second pattern in the 2nd SED command comments out variables that -# will be handled by the wrapper instead. this is just to avoid confusion. -# -$(TARGET_DIR)$(ARNOFW_TARGET_BINARY): $(ARNOFW_DIR)/.patched - ln -sf /tmp$(ARNOFW_CONFIG_DIR) $(TARGET_DIR)$(ARNOFW_CONFIG_DIR) - $(INSTALL) -D -m 0755 $(ARNOFW_DIR)/bin/arno-iptables-firewall \ - $(TARGET_DIR)$(ARNOFW_TARGET_BINARY) - $(SED) '1 s:^#!/bin/sh:#!/bin/ash:' \ - $(TARGET_DIR)$(ARNOFW_TARGET_BINARY) - mkdir -p $(TARGET_DIR)/stat$(ARNOFW_CONFIG_DIR) - $(INSTALL) -m 0444 package/arnofw/arnofw.serial \ - $(TARGET_DIR)/stat$(ARNOFW_CONFIG_SERIAL) - $(INSTALL) -m 0644 $(ARNOFW_DIR)/etc/arno-iptables-firewall/firewall.conf \ - $(ARNOFW_DIR)/etc/arno-iptables-firewall/custom-rules \ - $(TARGET_DIR)/stat$(ARNOFW_CONFIG_DIR) - $(SED) 's:^PLUGIN_BIN_PATH="[^"]*":PLUGIN_BIN_PATH="$(ARNOFW_SCRIPT_DIR)/plugins":' \ - -e 's:^ENV_FILE="[^"]*":ENV_FILE="$(ARNOFW_SCRIPT_DIR)/environment":' \ - -e 's:^ENV_FILE=[^"]*$$:ENV_FILE="$(ARNOFW_SCRIPT_DIR)/environment":' \ - -e 's:^LOCAL_CONFIG_FILE="":LOCAL_CONFIG_FILE="$(ARNOFW_CONFIG_SHIM)":' \ - -e 's:^(INT_IF|EXT_IF|MODEM_IF|INTERNAL_NET|NAT|NAT_INTERNAL_NET|EXT_IF_DHCP_IP)=:#&:' \ - -e 's:^NAT_LOCAL_REDIRECT=0$$:NAT_LOCAL_REDIRECT=1:' \ - -e 's:^IGMP_LOG=1$$:IGMP_LOG=0:' \ - -e 's:^RESERVED_NET_LOG=1$$:RESERVED_NET_LOG=0:' \ - $(TARGET_DIR)/stat$(ARNOFW_CONFIG_DIR)/firewall.conf - mkdir -p $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR) - $(INSTALL) -m 0644 $(ARNOFW_DIR)/etc/arno-iptables-firewall/plugins/*.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR) - cp -a $(ARNOFW_DIR)/share/arno-iptables-firewall \ - $(TARGET_DIR)$(ARNOFW_SCRIPT_DIR) - $(INSTALL) -m 0444 package/arnofw/arnofw.wrapper \ - $(TARGET_DIR)$(ARNOFW_CONFIG_SHIM) - $(INSTALL) -D -m 0755 package/arnofw/reload-spamhaus-drop \ - $(TARGET_DIR)/usr/sbin/reload-spamhaus-drop - $(INSTALL) -D -m 0755 package/arnofw/reload-blocklist-netset \ - $(TARGET_DIR)/usr/sbin/reload-blocklist-netset - @rm -f $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/*.CHANGELOG - @echo - @echo "Remove plugins that don't apply." - @echo - rm -f $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/??linux-upnp-igd.plugin \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/linux-upnp-igd.conf - rm -f $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/??traffic-accounting.plugin \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/traffic-accounting-* \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/traffic-accounting.conf - rm -f $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/??rpc.plugin \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/rpc.conf - @echo - @echo "Clobber the config files from the tarball with our shim-friendly versions." - @echo - $(INSTALL) -m 0644 package/arnofw/ipsec-vpn-astlinux.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/ipsec-vpn.conf - $(INSTALL) -m 0644 package/arnofw/sip-voip-astlinux.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/sip-voip.conf - $(INSTALL) -m 0644 package/arnofw/ipv6-over-ipv4-astlinux.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/ipv6-over-ipv4.conf - @echo - @echo "Install local version of Adaptive Ban plugin." - @echo - $(INSTALL) -m 0644 package/arnofw/adaptive-ban/95adaptive-ban.plugin.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/95adaptive-ban.plugin - $(INSTALL) -m 0755 package/arnofw/adaptive-ban/adaptive-ban-helper.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/adaptive-ban-helper - $(INSTALL) -m 0644 package/arnofw/adaptive-ban/adaptive-ban.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/adaptive-ban.conf - @echo - @echo "Install local version of DynDNS Host Open plugin." - @echo - $(INSTALL) -m 0644 package/arnofw/dyndns-host-open/50dyndns-host-open.plugin.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/50dyndns-host-open.plugin - $(INSTALL) -m 0755 package/arnofw/dyndns-host-open/dyndns-host-open-helper.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/dyndns-host-open-helper - $(INSTALL) -m 0644 package/arnofw/dyndns-host-open/dyndns-host-open.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/dyndns-host-open.conf - @echo - @echo "Install local version of DynDNS IPv6 Forward plugin." - @echo - $(INSTALL) -m 0644 package/arnofw/dyndns-ipv6-forward/50dyndns-ipv6-forward.plugin.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/50dyndns-ipv6-forward.plugin - $(INSTALL) -m 0755 package/arnofw/dyndns-ipv6-forward/dyndns-ipv6-forward-helper.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/dyndns-ipv6-forward-helper - $(INSTALL) -m 0644 package/arnofw/dyndns-ipv6-forward/dyndns-ipv6-forward.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/dyndns-ipv6-forward.conf - @echo - @echo "Install local version of DynDNS IPv6 Open plugin." - @echo - $(INSTALL) -m 0644 package/arnofw/dyndns-ipv6-open/50dyndns-ipv6-open.plugin.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/50dyndns-ipv6-open.plugin - $(INSTALL) -m 0755 package/arnofw/dyndns-ipv6-open/dyndns-ipv6-open-helper.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/dyndns-ipv6-open-helper - $(INSTALL) -m 0644 package/arnofw/dyndns-ipv6-open/dyndns-ipv6-open.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/dyndns-ipv6-open.conf - @echo - @echo "Install local version of Traffic Shaper plugin." - @echo - $(INSTALL) -m 0644 package/arnofw/traffic-shaper/60traffic-shaper.plugin.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/60traffic-shaper.plugin - $(INSTALL) -m 0644 package/arnofw/traffic-shaper/traffic-shaper-astlinux.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/traffic-shaper.conf - @echo - @echo "Install local version of OpenVPN Server plugin." - @echo - $(INSTALL) -m 0644 package/arnofw/openvpn-server/50openvpn-server.plugin.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/50openvpn-server.plugin - $(INSTALL) -m 0644 package/arnofw/openvpn-server/openvpn-server-astlinux.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/openvpn-server.conf - @echo - @echo "Install local version of Time Schedule Host Block plugin." - @echo - $(INSTALL) -m 0644 package/arnofw/time-schedule-host-block/30time-schedule-host-block.plugin.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/30time-schedule-host-block.plugin - $(INSTALL) -m 0644 package/arnofw/time-schedule-host-block/time-schedule-host-block.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/time-schedule-host-block.conf - @echo - @echo "Install local version of SIP User-Agent plugin." - @echo - $(INSTALL) -m 0644 package/arnofw/sip-user-agent/30sip-user-agent.plugin.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/30sip-user-agent.plugin - $(INSTALL) -m 0644 package/arnofw/sip-user-agent/sip-user-agent.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/sip-user-agent.conf - @echo - @echo "Install local version of PPTP VPN plugin." - @echo - $(INSTALL) -m 0644 package/arnofw/pptp-vpn/50pptp-vpn.plugin.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/50pptp-vpn.plugin - $(INSTALL) -m 0644 package/arnofw/pptp-vpn/pptp-vpn-astlinux.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/pptp-vpn.conf - @echo - @echo "Install local version of miniupnpd plugin." - @echo - $(INSTALL) -m 0644 package/arnofw/miniupnpd/50miniupnpd.plugin.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/50miniupnpd.plugin - $(INSTALL) -m 0644 package/arnofw/miniupnpd/miniupnpd-astlinux.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/miniupnpd.conf - @echo - @echo "Install local version of net-prefix-translation plugin." - @echo - $(INSTALL) -m 0644 package/arnofw/net-prefix-translation/20net-prefix-translation.plugin.sh \ - $(TARGET_DIR)$(ARNOFW_PLUGIN_SCRIPT_DIR)/20net-prefix-translation.plugin - $(INSTALL) -m 0644 package/arnofw/net-prefix-translation/net-prefix-translation.conf \ - $(TARGET_DIR)/stat$(ARNOFW_PLUGIN_CONFIG_DIR)/net-prefix-translation.conf - -arnofw: $(TARGET_DIR)$(ARNOFW_TARGET_BINARY) - -arnofw-clean: - rm -f $(TARGET_DIR)$(ARNOFW_TARGET_BINARY) - rm -rf $(TARGET_DIR)$(ARNOFW_CONFIG_DIR) \ - $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR) \ - $(TARGET_DIR)/stat$(ARNOFW_CONFIG_DIR) +define ARNOFW_CLEAN_CMDS + rm -f $(TARGET_DIR)/usr/sbin/arno-iptables-firewall + rm -f $(TARGET_DIR)/$(ARNOFW_CONFIG_DIR) + rm -rf $(TARGET_DIR)/$(ARNOFW_SCRIPT_DIR) + rm -rf $(TARGET_DIR)/stat/$(ARNOFW_CONFIG_DIR) rm -f $(TARGET_DIR)/usr/sbin/reload-spamhaus-drop + rm -f $(TARGET_DIR)/usr/sbin/reload-blocklist-netset +endef -arnofw-dirclean: - rm -rf $(ARNOFW_DIR) - -arnofw-source: $(ARNOFW_DIR)/.patched - -############################################################# -# -# Toplevel Makefile options -# -############################################################# -ifeq ($(strip $(BR2_PACKAGE_ARNOFW)),y) -TARGETS+=arnofw -endif +$(eval $(call GENTARGETS,package,arnofw)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-15 21:06:13
|
Revision: 8398 http://sourceforge.net/p/astlinux/code/8398 Author: abelbeck Date: 2017-06-15 21:06:10 +0000 (Thu, 15 Jun 2017) Log Message: ----------- update ChangeLog Modified Paths: -------------- branches/1.0/docs/ChangeLog.txt Modified: branches/1.0/docs/ChangeLog.txt =================================================================== --- branches/1.0/docs/ChangeLog.txt 2017-06-15 21:00:39 UTC (rev 8397) +++ branches/1.0/docs/ChangeLog.txt 2017-06-15 21:06:10 UTC (rev 8398) @@ -58,6 +58,8 @@ -- OpenSSL, version bump to 1.0.2l, security fixes: none +-- libcurl (curl) version bump to 7.54.1, security fixes: CVE-2017-9502 + -- strongSwan, version bump to 5.5.3, security fixes: CVE-2017-9022, CVE-2017-9023 -- dnscrypt-proxy, version bump to 1.9.5 @@ -64,6 +66,10 @@ -- openldap, version bump to 2.4.45 +-- unbound (host), version bump to 1.6.3 + +-- whois, version bump to 5.2.16 + -- network, DHCPv6 Prefix Delegation, previously any Network tab -> 'IPv6 Autoconfig: [enabled]' received a Prefix Delegation (PD). Now the added selection 'IPv6 Autoconfig: [Assign GUA Prefix]' is required for the interface to receive a Prefix Delegation via the DHCPv6 client. This is a change. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-15 21:00:42
|
Revision: 8397 http://sourceforge.net/p/astlinux/code/8397 Author: abelbeck Date: 2017-06-15 21:00:39 +0000 (Thu, 15 Jun 2017) Log Message: ----------- libcurl, version bump to 7.54.1, security fix: CVE-2017-9502 Modified Paths: -------------- branches/1.0/package/libcurl/libcurl.mk Modified: branches/1.0/package/libcurl/libcurl.mk =================================================================== --- branches/1.0/package/libcurl/libcurl.mk 2017-06-15 20:46:13 UTC (rev 8396) +++ branches/1.0/package/libcurl/libcurl.mk 2017-06-15 21:00:39 UTC (rev 8397) @@ -3,7 +3,7 @@ # libcurl # ############################################################# -LIBCURL_VERSION = 7.54.0 +LIBCURL_VERSION = 7.54.1 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.gz LIBCURL_SITE = https://curl.haxx.se/download LIBCURL_INSTALL_STAGING = YES This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-15 20:46:16
|
Revision: 8396 http://sourceforge.net/p/astlinux/code/8396 Author: abelbeck Date: 2017-06-15 20:46:13 +0000 (Thu, 15 Jun 2017) Log Message: ----------- unbound, version bump to 1.6.3 Modified Paths: -------------- branches/1.0/package/unbound/unbound.mk Modified: branches/1.0/package/unbound/unbound.mk =================================================================== --- branches/1.0/package/unbound/unbound.mk 2017-06-15 20:42:29 UTC (rev 8395) +++ branches/1.0/package/unbound/unbound.mk 2017-06-15 20:46:13 UTC (rev 8396) @@ -4,7 +4,7 @@ # ############################################################# -UNBOUND_VERSION = 1.6.2 +UNBOUND_VERSION = 1.6.3 UNBOUND_SITE = https://www.unbound.net/downloads UNBOUND_SOURCE = unbound-$(UNBOUND_VERSION).tar.gz UNBOUND_INSTALL_STAGING = YES This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-15 20:42:31
|
Revision: 8395 http://sourceforge.net/p/astlinux/code/8395 Author: abelbeck Date: 2017-06-15 20:42:29 +0000 (Thu, 15 Jun 2017) Log Message: ----------- whois, version bump to 5.2.16 Modified Paths: -------------- branches/1.0/package/whois/whois.mk Modified: branches/1.0/package/whois/whois.mk =================================================================== --- branches/1.0/package/whois/whois.mk 2017-06-11 12:36:05 UTC (rev 8394) +++ branches/1.0/package/whois/whois.mk 2017-06-15 20:42:29 UTC (rev 8395) @@ -4,7 +4,7 @@ # ################################################################################ -WHOIS_VERSION = 5.2.15 +WHOIS_VERSION = 5.2.16 WHOIS_SITE = http://ftp.debian.org/debian/pool/main/w/whois WHOIS_SOURCE = whois_$(WHOIS_VERSION).tar.xz This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-11 12:36:07
|
Revision: 8394 http://sourceforge.net/p/astlinux/code/8394 Author: abelbeck Date: 2017-06-11 12:36:05 +0000 (Sun, 11 Jun 2017) Log Message: ----------- update ChangeLog Modified Paths: -------------- branches/1.0/docs/ChangeLog.txt Modified: branches/1.0/docs/ChangeLog.txt =================================================================== --- branches/1.0/docs/ChangeLog.txt 2017-06-11 12:29:37 UTC (rev 8393) +++ branches/1.0/docs/ChangeLog.txt 2017-06-11 12:36:05 UTC (rev 8394) @@ -52,6 +52,8 @@ -- strace, version bump to 4.17 +-- ca-certificates, update trusted root certificates 2017-06-07 + ** Networking -- OpenSSL, version bump to 1.0.2l, security fixes: none @@ -67,8 +69,10 @@ for the interface to receive a Prefix Delegation via the DHCPv6 client. This is a change. "Assign GUA Prefix" only applies if Network tab -> Connection Type: includes DHCPv6. New rc.conf variable: IPV6_PREFIX_DELEGATION + More info: http://doc.astlinux-project.org/userdoc:tt-dhcpv6-prefix-delegation -- arnofw (AIF), added "net-prefix-translation" plugin. Provides NPTv6 (Network Prefix Translation) for IPv6 + More info: http://doc.astlinux-project.org/userdoc:tt_ipv6_ula_nptv6_config -- arnofw (AIF), "traffic-shaper" plugin, use fq_codel (Fair Queueing CoDel) for both 'htb' and 'hfsc' types. @@ -95,6 +99,7 @@ -- Network tab, IPv6 Autoconfig, add selectable interfaces for Prefix Delegation by selecting "Assign GUA Prefix" Note: "Assign GUA Prefix" only applies if Network tab -> Connection Type: includes DHCPv6. + More info: http://doc.astlinux-project.org/userdoc:tt-dhcpv6-prefix-delegation Additions for AstLinux 1.2.10: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-11 12:29:39
|
Revision: 8393 http://sourceforge.net/p/astlinux/code/8393 Author: abelbeck Date: 2017-06-11 12:29:37 +0000 (Sun, 11 Jun 2017) Log Message: ----------- ca-certificates, version bump to 2017-06-07 Modified Paths: -------------- branches/1.0/package/ca-certificates/ca-certificates.mk Modified: branches/1.0/package/ca-certificates/ca-certificates.mk =================================================================== --- branches/1.0/package/ca-certificates/ca-certificates.mk 2017-06-10 16:23:55 UTC (rev 8392) +++ branches/1.0/package/ca-certificates/ca-certificates.mk 2017-06-11 12:29:37 UTC (rev 8393) @@ -4,7 +4,7 @@ # ################################################################################ -CA_CERTIFICATES_VERSION = 2017-01-18 +CA_CERTIFICATES_VERSION = 2017-06-07 CA_CERTIFICATES_SOURCE = cacert-$(CA_CERTIFICATES_VERSION).pem CA_CERTIFICATES_SITE = https://curl.haxx.se/ca This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-10 16:23:57
|
Revision: 8392 http://sourceforge.net/p/astlinux/code/8392 Author: abelbeck Date: 2017-06-10 16:23:55 +0000 (Sat, 10 Jun 2017) Log Message: ----------- openvmtools, now functional, only enabled for genx86_64-vm with 'master-build', needs testing Modified Paths: -------------- branches/1.0/astlinux-ast11.config branches/1.0/astlinux-ast13.config branches/1.0/initrd.config branches/1.0/package/Config.in branches/1.0/package/openvmtools/openvmtools.mk branches/1.0/project/astlinux/target_skeleton/stat/etc/rc.conf branches/1.0/runnix-iso.config branches/1.0/runnix.config branches/1.0/scripts/master-build branches/1.0/x86_64-configs/astlinux-ast11.config branches/1.0/x86_64-configs/astlinux-ast13.config branches/1.0/x86_64-configs/initrd.config Added Paths: ----------- branches/1.0/package/openvmtools/openvmtools.init Modified: branches/1.0/astlinux-ast11.config =================================================================== --- branches/1.0/astlinux-ast11.config 2017-06-10 00:08:14 UTC (rev 8391) +++ branches/1.0/astlinux-ast11.config 2017-06-10 16:23:55 UTC (rev 8392) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Buildroot astlinux-1.x-svn8350-dirty Configuration -# Sun May 28 09:24:32 2017 +# Buildroot astlinux-1.x-svn8391-dirty Configuration +# Sat Jun 10 11:06:27 2017 # BR2_HAVE_DOT_CONFIG=y # BR2_arm is not set @@ -835,6 +835,7 @@ # BR2_PACKAGE_ATTR is not set BR2_PACKAGE_HTOP=y BR2_PACKAGE_MODULE_INIT_TOOLS=y +# BR2_PACKAGE_OPENVMTOOLS is not set BR2_PACKAGE_UTIL_LINUX=y # BR2_PACKAGE_UTIL_LINUX_MOUNT is not set # BR2_PACKAGE_UTIL_LINUX_FSCK is not set Modified: branches/1.0/astlinux-ast13.config =================================================================== --- branches/1.0/astlinux-ast13.config 2017-06-10 00:08:14 UTC (rev 8391) +++ branches/1.0/astlinux-ast13.config 2017-06-10 16:23:55 UTC (rev 8392) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Buildroot astlinux-1.x-svn8350-dirty Configuration -# Sun May 28 09:24:37 2017 +# Buildroot astlinux-1.x-svn8391-dirty Configuration +# Sat Jun 10 11:06:29 2017 # BR2_HAVE_DOT_CONFIG=y # BR2_arm is not set @@ -835,6 +835,7 @@ # BR2_PACKAGE_ATTR is not set BR2_PACKAGE_HTOP=y BR2_PACKAGE_MODULE_INIT_TOOLS=y +# BR2_PACKAGE_OPENVMTOOLS is not set BR2_PACKAGE_UTIL_LINUX=y # BR2_PACKAGE_UTIL_LINUX_MOUNT is not set # BR2_PACKAGE_UTIL_LINUX_FSCK is not set Modified: branches/1.0/initrd.config =================================================================== --- branches/1.0/initrd.config 2017-06-10 00:08:14 UTC (rev 8391) +++ branches/1.0/initrd.config 2017-06-10 16:23:55 UTC (rev 8392) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Buildroot astlinux-1.x-svn8350-dirty Configuration -# Sun May 28 09:24:45 2017 +# Buildroot astlinux-1.x-svn8391-dirty Configuration +# Sat Jun 10 11:06:31 2017 # BR2_HAVE_DOT_CONFIG=y # BR2_arm is not set @@ -687,6 +687,7 @@ # BR2_PACKAGE_ATTR is not set # BR2_PACKAGE_HTOP is not set # BR2_PACKAGE_MODULE_INIT_TOOLS is not set +# BR2_PACKAGE_OPENVMTOOLS is not set BR2_PACKAGE_UTIL_LINUX=y # BR2_PACKAGE_UTIL_LINUX_MOUNT is not set # BR2_PACKAGE_UTIL_LINUX_FSCK is not set Modified: branches/1.0/package/Config.in =================================================================== --- branches/1.0/package/Config.in 2017-06-10 00:08:14 UTC (rev 8391) +++ branches/1.0/package/Config.in 2017-06-10 16:23:55 UTC (rev 8392) @@ -601,6 +601,7 @@ endif source "package/htop/Config.in" source "package/module-init-tools/Config.in" +source "package/openvmtools/Config.in" if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS source "package/procps/Config.in" source "package/psmisc/Config.in" Added: branches/1.0/package/openvmtools/openvmtools.init =================================================================== --- branches/1.0/package/openvmtools/openvmtools.init (rev 0) +++ branches/1.0/package/openvmtools/openvmtools.init 2017-06-10 16:23:55 UTC (rev 8392) @@ -0,0 +1,68 @@ +#!/bin/sh + +. /etc/rc.conf + +PIDFILE="/var/run/vmtoolsd.pid" + +test_if_in_vmware() +{ + if ! lscpu | grep -q -i '^hypervisor vendor: *vmware'; then + return 1 + fi + + if ! vmware-checkvm >/dev/null 2>&1; then + return 1 + fi + + return 0 +} + +init () { + : +} + +start () { + + if [ "$VMWARE_TOOLS" != "no" ] && test_if_in_vmware; then + echo "Starting VMware (vmtoolsd) daemon..." + + vmtoolsd -b $PIDFILE + fi +} + +stop () { + + if [ -f $PIDFILE ]; then + echo "Stopping VMware (vmtoolsd) daemon..." + kill $(cat $PIDFILE) >/dev/null 2>&1 + rm -f $PIDFILE + fi +} + +case $1 in + +start) + start + ;; + +stop) + stop + ;; + +init) + init + start + ;; + +restart) + stop + sleep 2 + start + ;; + +*) + echo "Usage: start|stop|restart" + ;; + +esac + Modified: branches/1.0/package/openvmtools/openvmtools.mk =================================================================== --- branches/1.0/package/openvmtools/openvmtools.mk 2017-06-10 00:08:14 UTC (rev 8391) +++ branches/1.0/package/openvmtools/openvmtools.mk 2017-06-10 16:23:55 UTC (rev 8392) @@ -39,11 +39,23 @@ OPENVMTOOLS_CONF_OPT += --without-ssl endif -define OPENVMTOOLS_POST_INSTALL_TARGET_THINGIES +define OPENVMTOOLS_POST_INSTALL rm -f $(TARGET_DIR)/etc/vmware-tools/scripts/vmware/network rm -f $(TARGET_DIR)/lib/udev/rules.d/99-vmware-scsi-udev.rules + $(INSTALL) -m 0755 -D package/openvmtools/openvmtools.init $(TARGET_DIR)/etc/init.d/openvmtools + ln -sf ../../init.d/openvmtools $(TARGET_DIR)/etc/runlevels/default/S01openvmtools + ln -sf ../../init.d/openvmtools $(TARGET_DIR)/etc/runlevels/default/K94openvmtools endef -OPENVMTOOLS_POST_INSTALL_TARGET_HOOKS += OPENVMTOOLS_POST_INSTALL_TARGET_THINGIES +OPENVMTOOLS_POST_INSTALL_TARGET_HOOKS += OPENVMTOOLS_POST_INSTALL +define OPENVMTOOLS_UNINSTALL_TARGET_CMDS + rm -rf $(TARGET_DIR)/etc/vmware-tools + rm -rf $(TARGET_DIR)/usr/lib/open-vm-tools + rm -rf $(TARGET_DIR)/usr/share/open-vm-tools + rm -f $(TARGET_DIR)/etc/init.d/openvmtools + rm -f $(TARGET_DIR)/etc/runlevels/default/S01openvmtools + rm -f $(TARGET_DIR)/etc/runlevels/default/K94openvmtools +endef + $(eval $(call AUTOTARGETS,package,openvmtools)) Modified: branches/1.0/project/astlinux/target_skeleton/stat/etc/rc.conf =================================================================== --- branches/1.0/project/astlinux/target_skeleton/stat/etc/rc.conf 2017-06-10 00:08:14 UTC (rev 8391) +++ branches/1.0/project/astlinux/target_skeleton/stat/etc/rc.conf 2017-06-10 16:23:55 UTC (rev 8392) @@ -1173,5 +1173,10 @@ ## Enabled by default, set to "no" to disable. #FIRSTRUN="no" +## If the image is built with the "openvmtools" package and kernel support (genx86_64-vm) +## the vmtoolsd daemon will be started automatically when a VMware hypervisor is detected. +## Enabled by default, set to "no" to disable. +#VMWARE_TOOLS="no" + ## End rc.conf ## Modified: branches/1.0/runnix-iso.config =================================================================== --- branches/1.0/runnix-iso.config 2017-06-10 00:08:14 UTC (rev 8391) +++ branches/1.0/runnix-iso.config 2017-06-10 16:23:55 UTC (rev 8392) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Buildroot astlinux-1.x-svn8350-dirty Configuration -# Sun May 28 09:25:00 2017 +# Buildroot astlinux-1.x-svn8391-dirty Configuration +# Sat Jun 10 11:06:37 2017 # BR2_HAVE_DOT_CONFIG=y # BR2_arm is not set @@ -733,6 +733,7 @@ # BR2_PACKAGE_BOOTUTILS is not set # BR2_PACKAGE_HTOP is not set # BR2_PACKAGE_MODULE_INIT_TOOLS is not set +# BR2_PACKAGE_OPENVMTOOLS is not set # BR2_PACKAGE_PROCPS is not set # BR2_PACKAGE_PSMISC is not set # BR2_PACKAGE_RSYSLOG is not set Modified: branches/1.0/runnix.config =================================================================== --- branches/1.0/runnix.config 2017-06-10 00:08:14 UTC (rev 8391) +++ branches/1.0/runnix.config 2017-06-10 16:23:55 UTC (rev 8392) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Buildroot astlinux-1.x-svn8350-dirty Configuration -# Sun May 28 09:24:49 2017 +# Buildroot astlinux-1.x-svn8391-dirty Configuration +# Sat Jun 10 11:06:36 2017 # BR2_HAVE_DOT_CONFIG=y # BR2_arm is not set @@ -734,6 +734,7 @@ # BR2_PACKAGE_BOOTUTILS is not set # BR2_PACKAGE_HTOP is not set # BR2_PACKAGE_MODULE_INIT_TOOLS is not set +# BR2_PACKAGE_OPENVMTOOLS is not set # BR2_PACKAGE_PROCPS is not set # BR2_PACKAGE_PSMISC is not set # BR2_PACKAGE_RSYSLOG is not set Modified: branches/1.0/scripts/master-build =================================================================== --- branches/1.0/scripts/master-build 2017-06-10 00:08:14 UTC (rev 8391) +++ branches/1.0/scripts/master-build 2017-06-10 16:23:55 UTC (rev 8392) @@ -65,6 +65,12 @@ sed -i 's:^# BR2_PACKAGE_DAHDI_NO_CARD_FIRMWARE .*$:BR2_PACKAGE_DAHDI_NO_CARD_FIRMWARE=y:' .config } +set_openvmtools_package() +{ + # enable BR2_PACKAGE_OPENVMTOOLS + sed -i 's:^# BR2_PACKAGE_OPENVMTOOLS .*$:BR2_PACKAGE_OPENVMTOOLS=y:' .config +} + set_asterisk_version() { case $1 in @@ -183,6 +189,7 @@ cp "x86_64-configs/$CONFIG" .config set_smp64vm_kernel unset_major_pci_packages + set_openvmtools_package for board in $BOARDS_SMP64VM; do build_board "$FIRMWARE" Modified: branches/1.0/x86_64-configs/astlinux-ast11.config =================================================================== --- branches/1.0/x86_64-configs/astlinux-ast11.config 2017-06-10 00:08:14 UTC (rev 8391) +++ branches/1.0/x86_64-configs/astlinux-ast11.config 2017-06-10 16:23:55 UTC (rev 8392) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Buildroot astlinux-1.x-svn8350-dirty Configuration -# Sun May 28 09:25:15 2017 +# Buildroot astlinux-1.x-svn8391-dirty Configuration +# Sat Jun 10 11:06:41 2017 # BR2_HAVE_DOT_CONFIG=y BR2_ARCH_IS_64=y @@ -816,6 +816,7 @@ # BR2_PACKAGE_ATTR is not set BR2_PACKAGE_HTOP=y BR2_PACKAGE_MODULE_INIT_TOOLS=y +# BR2_PACKAGE_OPENVMTOOLS is not set BR2_PACKAGE_UTIL_LINUX=y # BR2_PACKAGE_UTIL_LINUX_MOUNT is not set # BR2_PACKAGE_UTIL_LINUX_FSCK is not set Modified: branches/1.0/x86_64-configs/astlinux-ast13.config =================================================================== --- branches/1.0/x86_64-configs/astlinux-ast13.config 2017-06-10 00:08:14 UTC (rev 8391) +++ branches/1.0/x86_64-configs/astlinux-ast13.config 2017-06-10 16:23:55 UTC (rev 8392) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Buildroot astlinux-1.x-svn8350-dirty Configuration -# Sun May 28 09:25:19 2017 +# Buildroot astlinux-1.x-svn8391-dirty Configuration +# Sat Jun 10 11:06:43 2017 # BR2_HAVE_DOT_CONFIG=y BR2_ARCH_IS_64=y @@ -816,6 +816,7 @@ # BR2_PACKAGE_ATTR is not set BR2_PACKAGE_HTOP=y BR2_PACKAGE_MODULE_INIT_TOOLS=y +# BR2_PACKAGE_OPENVMTOOLS is not set BR2_PACKAGE_UTIL_LINUX=y # BR2_PACKAGE_UTIL_LINUX_MOUNT is not set # BR2_PACKAGE_UTIL_LINUX_FSCK is not set Modified: branches/1.0/x86_64-configs/initrd.config =================================================================== --- branches/1.0/x86_64-configs/initrd.config 2017-06-10 00:08:14 UTC (rev 8391) +++ branches/1.0/x86_64-configs/initrd.config 2017-06-10 16:23:55 UTC (rev 8392) @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Buildroot astlinux-1.x-svn8350-dirty Configuration -# Sun May 28 09:25:25 2017 +# Buildroot astlinux-1.x-svn8391-dirty Configuration +# Sat Jun 10 11:06:45 2017 # BR2_HAVE_DOT_CONFIG=y BR2_ARCH_IS_64=y @@ -668,6 +668,7 @@ # BR2_PACKAGE_ATTR is not set # BR2_PACKAGE_HTOP is not set # BR2_PACKAGE_MODULE_INIT_TOOLS is not set +# BR2_PACKAGE_OPENVMTOOLS is not set BR2_PACKAGE_UTIL_LINUX=y # BR2_PACKAGE_UTIL_LINUX_MOUNT is not set # BR2_PACKAGE_UTIL_LINUX_FSCK is not set This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-10 00:08:16
|
Revision: 8391 http://sourceforge.net/p/astlinux/code/8391 Author: abelbeck Date: 2017-06-10 00:08:14 +0000 (Sat, 10 Jun 2017) Log Message: ----------- openvmtools, new package, initial checkin not hooked-up yet and missing an init.d script, adds 1.7 MB (compressed) to the image with all the dependencies. Seems to work. Modified Paths: -------------- branches/1.0/package/libdnet/libdnet.mk Added Paths: ----------- branches/1.0/package/openvmtools/ branches/1.0/package/openvmtools/Config.in branches/1.0/package/openvmtools/openvmtools-0002-no_cflags_werror.patch branches/1.0/package/openvmtools/openvmtools-0003-dont-force-cppflags.patch branches/1.0/package/openvmtools/openvmtools-0100-astlinux-distro-host-info.patch branches/1.0/package/openvmtools/openvmtools.mk Modified: branches/1.0/package/libdnet/libdnet.mk =================================================================== --- branches/1.0/package/libdnet/libdnet.mk 2017-06-09 14:16:52 UTC (rev 8390) +++ branches/1.0/package/libdnet/libdnet.mk 2017-06-10 00:08:14 UTC (rev 8391) @@ -6,9 +6,8 @@ LIBDNET_VERSION = 1.11 LIBDNET_SOURCE = libdnet-$(LIBDNET_VERSION).tar.gz -LIBDNET_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/libdnet/ +LIBDNET_SITE = http://downloads.sourceforge.net/project/libdnet/libdnet/libdnet-$(LIBDNET_VERSION) LIBDNET_INSTALL_STAGING = YES -LIBDNET_INSTALL_TARGET = YES LIBDNET_AUTORECONF = YES LIBDNET_CONF_OPT = \ --with-gnu-ld \ @@ -33,8 +32,6 @@ $(RM) -f $(TARGET_DIR)/usr/bin/dnet-config endef -ifneq ($(BR2_HAVE_DEVFILES),y) LIBDNET_POST_INSTALL_TARGET_HOOKS += LIBDNET_REMOVE_CONFIG_SCRIPT -endif $(eval $(call AUTOTARGETS,package,libdnet)) Added: branches/1.0/package/openvmtools/Config.in =================================================================== --- branches/1.0/package/openvmtools/Config.in (rev 0) +++ branches/1.0/package/openvmtools/Config.in 2017-06-10 00:08:14 UTC (rev 8391) @@ -0,0 +1,16 @@ +config BR2_PACKAGE_OPENVMTOOLS + bool "openvmtools" + depends on BR2_i386 || BR2_x86_64 + depends on BR2_USE_MMU # libglib2 + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_ENABLE_LOCALE + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBDNET + help + Open Virtual Machine Tools for VMware guest OS + + https://github.com/vmware/open-vm-tools + + ICU locales, Xerces, and X11 tools are currently not supported. + Added: branches/1.0/package/openvmtools/openvmtools-0002-no_cflags_werror.patch =================================================================== --- branches/1.0/package/openvmtools/openvmtools-0002-no_cflags_werror.patch (rev 0) +++ branches/1.0/package/openvmtools/openvmtools-0002-no_cflags_werror.patch 2017-06-10 00:08:14 UTC (rev 8391) @@ -0,0 +1,18 @@ +configure.ac: disable -Werror + +Disable the mandatory flag -Werror in configure.ac. + +Signed-off-by: Karoly Kasza <ka...@gm...> + +--- openvmtools-10.1.5/configure.ac.orig 2015-06-17 10:02:00.000000000 +0200 ++++ openvmtools-10.1.5/configure.ac 2015-06-17 10:02:00.000000000 +0200 +@@ -1137,7 +1137,7 @@ + + ### General flags / actions + CFLAGS="$CFLAGS -Wall" +-CFLAGS="$CFLAGS -Werror" ++# CFLAGS="$CFLAGS -Werror" + + # -Wno-unknown-pragmas is due to gcc not understanding '#pragma ident' + # in Xlib.h on OpenSolaris. + Added: branches/1.0/package/openvmtools/openvmtools-0003-dont-force-cppflags.patch =================================================================== --- branches/1.0/package/openvmtools/openvmtools-0003-dont-force-cppflags.patch (rev 0) +++ branches/1.0/package/openvmtools/openvmtools-0003-dont-force-cppflags.patch 2017-06-10 00:08:14 UTC (rev 8391) @@ -0,0 +1,21 @@ +m4: do not force -I/usr/include in CPPFLAGS + +This is so horribly broken for cross-compilation. :-( + +Signed-off-by: "Yann E. MORIN" <yan...@fr...> + +--- openvmtools-10.1.5/m4/vmtools.m4.orig 2015-06-17 10:03:00.000000000 +0200 ++++ openvmtools-10.1.5/m4/vmtools.m4 2015-06-17 10:03:00.000000000 +0200 +@@ -281,10 +281,10 @@ + if test "$os" = freebsd; then + CUSTOM_$1_CPPFLAGS="-I/usr/local/include" + else +- CUSTOM_$1_CPPFLAGS="-I/usr/include" ++ CUSTOM_$1_CPPFLAGS=" " + fi + if test -n "$2"; then +- CUSTOM_$1_CPPFLAGS="${CUSTOM_$1_CPPFLAGS}/$2" ++ : CUSTOM_$1_CPPFLAGS="${CUSTOM_$1_CPPFLAGS}/$2" + fi + fi + ]) Added: branches/1.0/package/openvmtools/openvmtools-0100-astlinux-distro-host-info.patch =================================================================== --- branches/1.0/package/openvmtools/openvmtools-0100-astlinux-distro-host-info.patch (rev 0) +++ branches/1.0/package/openvmtools/openvmtools-0100-astlinux-distro-host-info.patch 2017-06-10 00:08:14 UTC (rev 8391) @@ -0,0 +1,10 @@ +--- openvmtools-10.1.5/lib/misc/hostinfoPosix.c.orig 2017-06-09 16:38:40.073221476 -0500 ++++ openvmtools-10.1.5/lib/misc/hostinfoPosix.c 2017-06-09 16:39:54.770805579 -0500 +@@ -179,6 +179,7 @@ + {"Annvix", "/etc/annvix-release"}, + {"Arch", "/etc/arch-release"}, + {"Arklinux", "/etc/arklinux-release"}, ++ {"AstLinux", "/etc/astlinux-release"}, + {"Aurox", "/etc/aurox-release"}, + {"BlackCat", "/etc/blackcat-release"}, + {"Cobalt", "/etc/cobalt-release"}, Added: branches/1.0/package/openvmtools/openvmtools.mk =================================================================== --- branches/1.0/package/openvmtools/openvmtools.mk (rev 0) +++ branches/1.0/package/openvmtools/openvmtools.mk 2017-06-10 00:08:14 UTC (rev 8391) @@ -0,0 +1,49 @@ +################################################################################ +# +# openvmtools +# +################################################################################ + +OPENVMTOOLS_VERSION = 10.1.5 +OPENVMTOOLS_SOURCE = open-vm-tools-$(OPENVMTOOLS_VERSION)-5055683.tar.gz +OPENVMTOOLS_SITE = https://github.com/vmware/open-vm-tools/releases/download/stable-$(OPENVMTOOLS_VERSION) + +OPENVMTOOLS_AUTORECONF = YES + +OPENVMTOOLS_CONF_OPT = \ + --disable-static \ + --with-pic \ + --with-dnet \ + --without-icu \ + --without-x \ + --without-gtk2 \ + --without-gtkmm \ + --without-kernel-modules \ + --without-xerces \ + --without-procps \ + --without-pam \ + --disable-tests \ + --disable-docs \ + --disable-vgauth \ + --disable-multimon \ + --disable-grabbitmqproxy \ + --disable-deploypkg + +OPENVMTOOLS_CONF_ENV += CUSTOM_DNET_CPPFLAGS=" " +OPENVMTOOLS_DEPENDENCIES = libglib2 libdnet + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +OPENVMTOOLS_CONF_OPT += --with-ssl +OPENVMTOOLS_DEPENDENCIES += openssl +else +OPENVMTOOLS_CONF_OPT += --without-ssl +endif + +define OPENVMTOOLS_POST_INSTALL_TARGET_THINGIES + rm -f $(TARGET_DIR)/etc/vmware-tools/scripts/vmware/network + rm -f $(TARGET_DIR)/lib/udev/rules.d/99-vmware-scsi-udev.rules +endef + +OPENVMTOOLS_POST_INSTALL_TARGET_HOOKS += OPENVMTOOLS_POST_INSTALL_TARGET_THINGIES + +$(eval $(call AUTOTARGETS,package,openvmtools)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-09 14:16:54
|
Revision: 8390 http://sourceforge.net/p/astlinux/code/8390 Author: abelbeck Date: 2017-06-09 14:16:52 +0000 (Fri, 09 Jun 2017) Log Message: ----------- core system, upgrade-run-image, allow a power user to switch from genx86_64 -> genx86_64-vm (arg: vm) and back (arg: 64) Modified Paths: -------------- branches/1.0/project/astlinux/target_skeleton/usr/sbin/upgrade-run-image Modified: branches/1.0/project/astlinux/target_skeleton/usr/sbin/upgrade-run-image =================================================================== --- branches/1.0/project/astlinux/target_skeleton/usr/sbin/upgrade-run-image 2017-06-09 02:43:06 UTC (rev 8389) +++ branches/1.0/project/astlinux/target_skeleton/usr/sbin/upgrade-run-image 2017-06-09 14:16:52 UTC (rev 8390) @@ -139,6 +139,10 @@ ARCH="genx86_64" elif [ "$ARCH" = "genx86_64" -a "$ARCH_BITS" = "32" ]; then ARCH="geni586" + elif [ "$ARCH" = "genx86_64" -a "$ARCH_BITS" = "vm" ]; then + ARCH="genx86_64-vm" + elif [ "$ARCH" = "genx86_64-vm" -a "$ARCH_BITS" = "64" ]; then + ARCH="genx86_64" fi elif echo $i | grep -q "console="; then SERIAL=`echo $i | sed -e 's/console=//'` @@ -349,7 +353,7 @@ if [ -n "$2" ]; then SRC_URL=$2 else - echo "Usage: upgrade-run-image check firmware_repository_url [32|64]" + echo "Usage: upgrade-run-image check firmware_repository_url [32|64|vm]" exit 1 fi ARCH_BITS="$3" @@ -362,7 +366,7 @@ if [ -n "$2" ]; then SRC_URL=$2 else - echo "Usage: upgrade-run-image upgrade firmware_repository_url [32|64]" + echo "Usage: upgrade-run-image upgrade firmware_repository_url [32|64|vm]" exit 1 fi ARCH_BITS="$3" @@ -385,7 +389,7 @@ ;; *) - echo "Usage: upgrade-run-image check|upgrade|show|revert firmware_repository_url [32|64]" + echo "Usage: upgrade-run-image check|upgrade|show|revert firmware_repository_url [32|64|vm]" exit 1 ;; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-09 02:43:09
|
Revision: 8389 http://sourceforge.net/p/astlinux/code/8389 Author: abelbeck Date: 2017-06-09 02:43:06 +0000 (Fri, 09 Jun 2017) Log Message: ----------- update ChangeLog Modified Paths: -------------- branches/1.0/docs/ChangeLog.txt Modified: branches/1.0/docs/ChangeLog.txt =================================================================== --- branches/1.0/docs/ChangeLog.txt 2017-06-09 02:32:02 UTC (rev 8388) +++ branches/1.0/docs/ChangeLog.txt 2017-06-09 02:43:06 UTC (rev 8389) @@ -33,9 +33,12 @@ -- genx86_64-vm board type, add support for virtio-scsi as a bootable disk driver, also added to RUNNIX. +-- linux, add kernel patch 'x86: HPET force enable for e6xx based systems', for Soekris net6501 + and other e6xx based non-ACPI systems, HPET will now get enabled resulting in a usable clocksource. + -- libsodium, version bump to 1.0.12 --- sqlite, version bump to 3.19.2 +-- sqlite, version bump to 3.19.3 -- tiff, version bump to 4.0.8, security fixes: 13 CVE's This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-09 02:32:03
|
Revision: 8388 http://sourceforge.net/p/astlinux/code/8388 Author: abelbeck Date: 2017-06-09 02:32:02 +0000 (Fri, 09 Jun 2017) Log Message: ----------- sqlite, version bump to 3.19.3 Modified Paths: -------------- branches/1.0/package/sqlite/sqlite.mk Modified: branches/1.0/package/sqlite/sqlite.mk =================================================================== --- branches/1.0/package/sqlite/sqlite.mk 2017-06-08 15:30:37 UTC (rev 8387) +++ branches/1.0/package/sqlite/sqlite.mk 2017-06-09 02:32:02 UTC (rev 8388) @@ -4,7 +4,7 @@ # ############################################################# -SQLITE_VERSION = 3190200 +SQLITE_VERSION = 3190300 SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_VERSION).tar.gz SQLITE_SITE = http://www.sqlite.org/2017 SQLITE_INSTALL_STAGING = YES This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-08 15:30:39
|
Revision: 8387 http://sourceforge.net/p/astlinux/code/8387 Author: abelbeck Date: 2017-06-08 15:30:37 +0000 (Thu, 08 Jun 2017) Log Message: ----------- update ChangeLog Modified Paths: -------------- branches/1.0/docs/ChangeLog.txt Modified: branches/1.0/docs/ChangeLog.txt =================================================================== --- branches/1.0/docs/ChangeLog.txt 2017-06-08 15:25:25 UTC (rev 8386) +++ branches/1.0/docs/ChangeLog.txt 2017-06-08 15:30:37 UTC (rev 8387) @@ -21,9 +21,9 @@ ** System --- Linux Kernel 3.16.43 (major bump) +-- Linux Kernel 3.16.44 (major bump) --- RUNNIX, version bump to runnix-0.5-8348, with Linux Kernel 3.16.43, dropbear 2017.75 +-- RUNNIX, version bump to runnix-0.5-8385, with Linux Kernel 3.16.44, dropbear 2017.75 Added kernel drivers: virtio_net and virtio-scsi Note: Now uses a PAE kernel for full RAM support This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-08 15:25:27
|
Revision: 8386 http://sourceforge.net/p/astlinux/code/8386 Author: abelbeck Date: 2017-06-08 15:25:25 +0000 (Thu, 08 Jun 2017) Log Message: ----------- runnix, version bump to 0.5-8385 Modified Paths: -------------- branches/1.0/boot/runnix/runnix.mk Modified: branches/1.0/boot/runnix/runnix.mk =================================================================== --- branches/1.0/boot/runnix/runnix.mk 2017-06-08 14:59:19 UTC (rev 8385) +++ branches/1.0/boot/runnix/runnix.mk 2017-06-08 15:25:25 UTC (rev 8386) @@ -4,7 +4,7 @@ # ############################################################# -RUNNIX_VERSION = 0.5-8348 +RUNNIX_VERSION = 0.5-8385 RUNNIX_SOURCE = runnix-$(RUNNIX_VERSION).tar.gz RUNNIX_SITE = http://mirror.astlinux-project.org/runnix5 RUNNIX_DEPENDENCIES = host-fdisk This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-08 14:59:22
|
Revision: 8385 http://sourceforge.net/p/astlinux/code/8385 Author: abelbeck Date: 2017-06-08 14:59:19 +0000 (Thu, 08 Jun 2017) Log Message: ----------- Linux version bump from linux-3.16.43 to linux-3.16.44 Modified Paths: -------------- branches/1.0/astlinux-ast11.config branches/1.0/astlinux-ast13.config branches/1.0/crosstool-ng-src/ct-ng-1.20.0-3.16-x86_64.config branches/1.0/crosstool-ng-src/ct-ng-1.20.0-3.16.config branches/1.0/crosstool-ng-src/get-files.sh branches/1.0/project/astlinux/geni586/linux-smp.config branches/1.0/project/astlinux/genx86_64/linux-smp-vm.config branches/1.0/project/astlinux/genx86_64/linux-smp.config branches/1.0/project/runnix/geni586/linux.config branches/1.0/project/runnix-iso/geni586/linux.config branches/1.0/runnix-iso.config branches/1.0/runnix.config branches/1.0/x86_64-configs/astlinux-ast11.config branches/1.0/x86_64-configs/astlinux-ast13.config Modified: branches/1.0/astlinux-ast11.config =================================================================== --- branches/1.0/astlinux-ast11.config 2017-06-07 21:57:23 UTC (rev 8384) +++ branches/1.0/astlinux-ast11.config 2017-06-08 14:59:19 UTC (rev 8385) @@ -915,7 +915,7 @@ # BR2_LINUX_KERNEL_CUSTOM_VERSION is not set BR2_LINUX_KERNEL_CUSTOM_TARBALL=y # BR2_LINUX_KERNEL_CUSTOM_GIT is not set -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.43.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.44.tar.gz" BR2_LINUX_KERNEL_VERSION="custom" BR2_LINUX_KERNEL_PATCH="project/astlinux/kernel-patches" # BR2_LINUX_KERNEL_USE_DEFCONFIG is not set Modified: branches/1.0/astlinux-ast13.config =================================================================== --- branches/1.0/astlinux-ast13.config 2017-06-07 21:57:23 UTC (rev 8384) +++ branches/1.0/astlinux-ast13.config 2017-06-08 14:59:19 UTC (rev 8385) @@ -915,7 +915,7 @@ # BR2_LINUX_KERNEL_CUSTOM_VERSION is not set BR2_LINUX_KERNEL_CUSTOM_TARBALL=y # BR2_LINUX_KERNEL_CUSTOM_GIT is not set -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.43.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.44.tar.gz" BR2_LINUX_KERNEL_VERSION="custom" BR2_LINUX_KERNEL_PATCH="project/astlinux/kernel-patches" # BR2_LINUX_KERNEL_USE_DEFCONFIG is not set Modified: branches/1.0/crosstool-ng-src/ct-ng-1.20.0-3.16-x86_64.config =================================================================== --- branches/1.0/crosstool-ng-src/ct-ng-1.20.0-3.16-x86_64.config 2017-06-07 21:57:23 UTC (rev 8384) +++ branches/1.0/crosstool-ng-src/ct-ng-1.20.0-3.16-x86_64.config 2017-06-08 14:59:19 UTC (rev 8385) @@ -219,7 +219,7 @@ # CT_KERNEL_V_2_6_31 is not set # CT_KERNEL_V_2_6_27 is not set CT_KERNEL_LINUX_CUSTOM=y -CT_KERNEL_LINUX_CUSTOM_LOCATION="${CT_TOP_DIR}/linux-3.16.43.tar.gz" +CT_KERNEL_LINUX_CUSTOM_LOCATION="${CT_TOP_DIR}/linux-3.16.44.tar.gz" CT_KERNEL_windows_AVAILABLE=y # Modified: branches/1.0/crosstool-ng-src/ct-ng-1.20.0-3.16.config =================================================================== --- branches/1.0/crosstool-ng-src/ct-ng-1.20.0-3.16.config 2017-06-07 21:57:23 UTC (rev 8384) +++ branches/1.0/crosstool-ng-src/ct-ng-1.20.0-3.16.config 2017-06-08 14:59:19 UTC (rev 8385) @@ -219,7 +219,7 @@ # CT_KERNEL_V_2_6_31 is not set # CT_KERNEL_V_2_6_27 is not set CT_KERNEL_LINUX_CUSTOM=y -CT_KERNEL_LINUX_CUSTOM_LOCATION="${CT_TOP_DIR}/linux-3.16.43.tar.gz" +CT_KERNEL_LINUX_CUSTOM_LOCATION="${CT_TOP_DIR}/linux-3.16.44.tar.gz" CT_KERNEL_windows_AVAILABLE=y # Modified: branches/1.0/crosstool-ng-src/get-files.sh =================================================================== --- branches/1.0/crosstool-ng-src/get-files.sh 2017-06-07 21:57:23 UTC (rev 8384) +++ branches/1.0/crosstool-ng-src/get-files.sh 2017-06-08 14:59:19 UTC (rev 8385) @@ -4,7 +4,7 @@ TARBALLS=".build/tarballs" -LINUX_KERNEL="linux-3.16.43.tar.gz" +LINUX_KERNEL="linux-3.16.44.tar.gz" EGLIBC="eglibc-2_18.tar.bz2" Modified: branches/1.0/project/astlinux/geni586/linux-smp.config =================================================================== --- branches/1.0/project/astlinux/geni586/linux-smp.config 2017-06-07 21:57:23 UTC (rev 8384) +++ branches/1.0/project/astlinux/geni586/linux-smp.config 2017-06-08 14:59:19 UTC (rev 8385) @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 3.16.43 Kernel Configuration +# Linux/i386 3.16.44 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y Modified: branches/1.0/project/astlinux/genx86_64/linux-smp-vm.config =================================================================== --- branches/1.0/project/astlinux/genx86_64/linux-smp-vm.config 2017-06-07 21:57:23 UTC (rev 8384) +++ branches/1.0/project/astlinux/genx86_64/linux-smp-vm.config 2017-06-08 14:59:19 UTC (rev 8385) @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 3.16.43 Kernel Configuration +# Linux/x86_64 3.16.44 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y Modified: branches/1.0/project/astlinux/genx86_64/linux-smp.config =================================================================== --- branches/1.0/project/astlinux/genx86_64/linux-smp.config 2017-06-07 21:57:23 UTC (rev 8384) +++ branches/1.0/project/astlinux/genx86_64/linux-smp.config 2017-06-08 14:59:19 UTC (rev 8385) @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86_64 3.16.43 Kernel Configuration +# Linux/x86_64 3.16.44 Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y Modified: branches/1.0/project/runnix/geni586/linux.config =================================================================== --- branches/1.0/project/runnix/geni586/linux.config 2017-06-07 21:57:23 UTC (rev 8384) +++ branches/1.0/project/runnix/geni586/linux.config 2017-06-08 14:59:19 UTC (rev 8385) @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 3.16.43 Kernel Configuration +# Linux/i386 3.16.44 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y Modified: branches/1.0/project/runnix-iso/geni586/linux.config =================================================================== --- branches/1.0/project/runnix-iso/geni586/linux.config 2017-06-07 21:57:23 UTC (rev 8384) +++ branches/1.0/project/runnix-iso/geni586/linux.config 2017-06-08 14:59:19 UTC (rev 8385) @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 3.16.43 Kernel Configuration +# Linux/i386 3.16.44 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y Modified: branches/1.0/runnix-iso.config =================================================================== --- branches/1.0/runnix-iso.config 2017-06-07 21:57:23 UTC (rev 8384) +++ branches/1.0/runnix-iso.config 2017-06-08 14:59:19 UTC (rev 8385) @@ -817,7 +817,7 @@ # BR2_LINUX_KERNEL_CUSTOM_VERSION is not set BR2_LINUX_KERNEL_CUSTOM_TARBALL=y # BR2_LINUX_KERNEL_CUSTOM_GIT is not set -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.43.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.44.tar.gz" BR2_LINUX_KERNEL_VERSION="custom" BR2_LINUX_KERNEL_PATCH="" # BR2_LINUX_KERNEL_USE_DEFCONFIG is not set Modified: branches/1.0/runnix.config =================================================================== --- branches/1.0/runnix.config 2017-06-07 21:57:23 UTC (rev 8384) +++ branches/1.0/runnix.config 2017-06-08 14:59:19 UTC (rev 8385) @@ -818,7 +818,7 @@ # BR2_LINUX_KERNEL_CUSTOM_VERSION is not set BR2_LINUX_KERNEL_CUSTOM_TARBALL=y # BR2_LINUX_KERNEL_CUSTOM_GIT is not set -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.43.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.44.tar.gz" BR2_LINUX_KERNEL_VERSION="custom" BR2_LINUX_KERNEL_PATCH="" # BR2_LINUX_KERNEL_USE_DEFCONFIG is not set Modified: branches/1.0/x86_64-configs/astlinux-ast11.config =================================================================== --- branches/1.0/x86_64-configs/astlinux-ast11.config 2017-06-07 21:57:23 UTC (rev 8384) +++ branches/1.0/x86_64-configs/astlinux-ast11.config 2017-06-08 14:59:19 UTC (rev 8385) @@ -896,7 +896,7 @@ # BR2_LINUX_KERNEL_CUSTOM_VERSION is not set BR2_LINUX_KERNEL_CUSTOM_TARBALL=y # BR2_LINUX_KERNEL_CUSTOM_GIT is not set -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.43.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.44.tar.gz" BR2_LINUX_KERNEL_VERSION="custom" BR2_LINUX_KERNEL_PATCH="project/astlinux/kernel-patches" # BR2_LINUX_KERNEL_USE_DEFCONFIG is not set Modified: branches/1.0/x86_64-configs/astlinux-ast13.config =================================================================== --- branches/1.0/x86_64-configs/astlinux-ast13.config 2017-06-07 21:57:23 UTC (rev 8384) +++ branches/1.0/x86_64-configs/astlinux-ast13.config 2017-06-08 14:59:19 UTC (rev 8385) @@ -896,7 +896,7 @@ # BR2_LINUX_KERNEL_CUSTOM_VERSION is not set BR2_LINUX_KERNEL_CUSTOM_TARBALL=y # BR2_LINUX_KERNEL_CUSTOM_GIT is not set -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.43.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.44.tar.gz" BR2_LINUX_KERNEL_VERSION="custom" BR2_LINUX_KERNEL_PATCH="project/astlinux/kernel-patches" # BR2_LINUX_KERNEL_USE_DEFCONFIG is not set This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-07 21:57:25
|
Revision: 8384 http://sourceforge.net/p/astlinux/code/8384 Author: abelbeck Date: 2017-06-07 21:57:23 +0000 (Wed, 07 Jun 2017) Log Message: ----------- update ChangeLog Modified Paths: -------------- branches/1.0/docs/ChangeLog.txt Modified: branches/1.0/docs/ChangeLog.txt =================================================================== --- branches/1.0/docs/ChangeLog.txt 2017-06-07 21:55:27 UTC (rev 8383) +++ branches/1.0/docs/ChangeLog.txt 2017-06-07 21:57:23 UTC (rev 8384) @@ -41,6 +41,8 @@ -- sudo, version bump to 1.8.20p2, security fix: CVE-2017-1000367 +-- Monit, version bump to 5.23.0 + -- ethtool, version bump to 4.11 -- dialog, version bump to 1.3-20170509 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-07 21:55:30
|
Revision: 8383 http://sourceforge.net/p/astlinux/code/8383 Author: abelbeck Date: 2017-06-07 21:55:27 +0000 (Wed, 07 Jun 2017) Log Message: ----------- monit, version bump to 5.23.0 Modified Paths: -------------- branches/1.0/package/monit/monit-0001-no-force-static.patch branches/1.0/package/monit/monit.mk Modified: branches/1.0/package/monit/monit-0001-no-force-static.patch =================================================================== --- branches/1.0/package/monit/monit-0001-no-force-static.patch 2017-06-07 18:07:59 UTC (rev 8382) +++ branches/1.0/package/monit/monit-0001-no-force-static.patch 2017-06-07 21:55:27 UTC (rev 8383) @@ -9,7 +9,7 @@ diff -durN monit-5.7.orig/Makefile.am monit-5.7/Makefile.am --- monit-5.7.orig/Makefile.am 2014-02-20 09:00:42.000000000 +0100 +++ monit-5.7/Makefile.am 2014-09-05 12:49:43.711104001 +0200 -@@ -91,7 +91,7 @@ +@@ -93,7 +93,7 @@ src/terminal/Color.c monit_LDADD = libmonit/libmonit.la Modified: branches/1.0/package/monit/monit.mk =================================================================== --- branches/1.0/package/monit/monit.mk 2017-06-07 18:07:59 UTC (rev 8382) +++ branches/1.0/package/monit/monit.mk 2017-06-07 21:55:27 UTC (rev 8383) @@ -4,7 +4,7 @@ # ################################################################################ -MONIT_VERSION = 5.22.0 +MONIT_VERSION = 5.23.0 MONIT_SITE = https://mmonit.com/monit/dist MONIT_DEPENDENCIES = host-bison host-flex # This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-07 18:08:02
|
Revision: 8382 http://sourceforge.net/p/astlinux/code/8382 Author: abelbeck Date: 2017-06-07 18:07:59 +0000 (Wed, 07 Jun 2017) Log Message: ----------- update ChangeLog Modified Paths: -------------- branches/1.0/docs/ChangeLog.txt Modified: branches/1.0/docs/ChangeLog.txt =================================================================== --- branches/1.0/docs/ChangeLog.txt 2017-06-07 17:59:55 UTC (rev 8381) +++ branches/1.0/docs/ChangeLog.txt 2017-06-07 18:07:59 UTC (rev 8382) @@ -55,6 +55,8 @@ -- dnscrypt-proxy, version bump to 1.9.5 +-- openldap, version bump to 2.4.45 + -- network, DHCPv6 Prefix Delegation, previously any Network tab -> 'IPv6 Autoconfig: [enabled]' received a Prefix Delegation (PD). Now the added selection 'IPv6 Autoconfig: [Assign GUA Prefix]' is required for the interface to receive a Prefix Delegation via the DHCPv6 client. This is a change. @@ -65,12 +67,12 @@ -- arnofw (AIF), "traffic-shaper" plugin, use fq_codel (Fair Queueing CoDel) for both 'htb' and 'hfsc' types. --- wide-dhcpv6, when the optional script '/mnt/kd/dhcp6c.script' does not exist, by default generate a syslog - and reload the "net-prefix-translation" plugin (if enabled) on a prefix change. +-- wide-dhcpv6, by default generate a syslog and reload the "net-prefix-translation" plugin (if enabled) + on a prefix change. The optional script '/mnt/kd/dhcp6c.script' can add additional actions. ** Asterisk --- Asterisk 11.25.1 (no change) and 13.15.1 (no change) +-- Asterisk 11.25.1 (no change) and 13.16.0 (version bump) -- DAHDI, dahdi-linux 2.8.0.1 (no change) and dahdi-tools 2.8.0 (no change) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-07 17:59:58
|
Revision: 8381 http://sourceforge.net/p/astlinux/code/8381 Author: abelbeck Date: 2017-06-07 17:59:55 +0000 (Wed, 07 Jun 2017) Log Message: ----------- asterisk, version bump to 13.16.0, added 4 pjsip patches Modified Paths: -------------- branches/1.0/package/asterisk/asterisk-13-configure-menuselect-cross-fix.patch branches/1.0/package/asterisk/asterisk-13-extension-changed-verbosity-chan_sip.patch branches/1.0/package/asterisk/asterisk.mk Added Paths: ----------- branches/1.0/package/asterisk/asterisk-13-configure-have-usable-eventfd.patch branches/1.0/package/pjsip/pjsip-0035-r5572-svn-backport-dialog-transaction-deadlock.patch branches/1.0/package/pjsip/pjsip-0036-r5573-svn-backport-ua-pjsua-transaction-deadlock.patch branches/1.0/package/pjsip/pjsip-0037-r5576-svn-backport-session-timer-crash.patch branches/1.0/package/pjsip/pjsip-0048-r5576-svn-backport-tls-crash.patch Added: branches/1.0/package/asterisk/asterisk-13-configure-have-usable-eventfd.patch =================================================================== --- branches/1.0/package/asterisk/asterisk-13-configure-have-usable-eventfd.patch (rev 0) +++ branches/1.0/package/asterisk/asterisk-13-configure-have-usable-eventfd.patch 2017-06-07 17:59:55 UTC (rev 8381) @@ -0,0 +1,12 @@ +--- asterisk-13.16.0/configure.ac.orig 2017-06-07 11:56:41.261126679 -0500 ++++ asterisk-13.16.0/configure.ac 2017-06-07 12:01:48.732815227 -0500 +@@ -1104,7 +1104,8 @@ + [return eventfd(0, EFD_NONBLOCK | EFD_SEMAPHORE) == -1;])], + AC_MSG_RESULT(yes) + AC_DEFINE([HAVE_EVENTFD], 1, [Define to 1 if your system supports eventfd and the EFD_NONBLOCK and EFD_SEMAPHORE flags.]), +- AC_MSG_RESULT(no) ++ AC_MSG_RESULT(no), ++ AC_MSG_RESULT(cross-compile) + ) + + AST_GCC_ATTRIBUTE(pure) Modified: branches/1.0/package/asterisk/asterisk-13-configure-menuselect-cross-fix.patch =================================================================== --- branches/1.0/package/asterisk/asterisk-13-configure-menuselect-cross-fix.patch 2017-06-07 16:12:33 UTC (rev 8380) +++ branches/1.0/package/asterisk/asterisk-13-configure-menuselect-cross-fix.patch 2017-06-07 17:59:55 UTC (rev 8381) @@ -1,6 +1,6 @@ --- asterisk-13/configure.ac.orig 2014-01-24 16:52:23.000000000 -0600 +++ asterisk-13/configure.ac 2014-01-24 16:55:14.000000000 -0600 -@@ -2670,11 +2670,13 @@ +@@ -2659,11 +2659,13 @@ AC_OUTPUT ${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak2 Modified: branches/1.0/package/asterisk/asterisk-13-extension-changed-verbosity-chan_sip.patch =================================================================== --- branches/1.0/package/asterisk/asterisk-13-extension-changed-verbosity-chan_sip.patch 2017-06-07 16:12:33 UTC (rev 8380) +++ branches/1.0/package/asterisk/asterisk-13-extension-changed-verbosity-chan_sip.patch 2017-06-07 17:59:55 UTC (rev 8381) @@ -1,6 +1,6 @@ --- asterisk-13/channels/chan_sip.c.orig 2015-04-23 10:22:04.000000000 -0500 +++ asterisk-13/channels/chan_sip.c 2015-04-23 10:22:40.000000000 -0500 -@@ -17449,7 +17449,7 @@ +@@ -17477,7 +17477,7 @@ } if (!force) { Modified: branches/1.0/package/asterisk/asterisk.mk =================================================================== --- branches/1.0/package/asterisk/asterisk.mk 2017-06-07 16:12:33 UTC (rev 8380) +++ branches/1.0/package/asterisk/asterisk.mk 2017-06-07 17:59:55 UTC (rev 8381) @@ -7,7 +7,7 @@ ASTERISK_VERSION := 11.25.1 else ifeq ($(BR2_PACKAGE_ASTERISK_v13),y) -ASTERISK_VERSION := 13.15.1 +ASTERISK_VERSION := 13.16.0 else ASTERISK_VERSION := 15.0.0 endif Added: branches/1.0/package/pjsip/pjsip-0035-r5572-svn-backport-dialog-transaction-deadlock.patch =================================================================== --- branches/1.0/package/pjsip/pjsip-0035-r5572-svn-backport-dialog-transaction-deadlock.patch (rev 0) +++ branches/1.0/package/pjsip/pjsip-0035-r5572-svn-backport-dialog-transaction-deadlock.patch 2017-06-07 17:59:55 UTC (rev 8381) @@ -0,0 +1,32 @@ +Index: trunk/pjsip/src/pjsip/sip_transaction.c +=================================================================== +--- a/pjsip/src/pjsip/sip_transaction.c (revision 5244) ++++ b/pjsip/src/pjsip/sip_transaction.c (revision 5572) +@@ -1231,5 +1231,27 @@ + PJSIP_EVENT_INIT_TSX_STATE(e, tsx, event_src_type, event_src, + prev_state); ++ ++ /* For timer event, release lock to avoid deadlock. ++ * This should be safe because: ++ * 1. The tsx state just switches to TERMINATED or DESTROYED. ++ * 2. There should be no other processing taking place. All other ++ * events, such as the ones handled by tsx_on_state_terminated() ++ * should be ignored. ++ * 3. tsx_shutdown() hasn't been called. ++ * Refer to ticket #2001 (https://trac.pjsip.org/repos/ticket/2001). ++ */ ++ if (event_src_type == PJSIP_EVENT_TIMER && ++ (pj_timer_entry *)event_src == &tsx->timeout_timer) ++ { ++ pj_grp_lock_release(tsx->grp_lock); ++ } ++ + (*tsx->tsx_user->on_tsx_state)(tsx, &e); ++ ++ if (event_src_type == PJSIP_EVENT_TIMER && ++ (pj_timer_entry *)event_src == &tsx->timeout_timer) ++ { ++ pj_grp_lock_acquire(tsx->grp_lock); ++ } + } + Added: branches/1.0/package/pjsip/pjsip-0036-r5573-svn-backport-ua-pjsua-transaction-deadlock.patch =================================================================== --- branches/1.0/package/pjsip/pjsip-0036-r5573-svn-backport-ua-pjsua-transaction-deadlock.patch (rev 0) +++ branches/1.0/package/pjsip/pjsip-0036-r5573-svn-backport-ua-pjsua-transaction-deadlock.patch 2017-06-07 17:59:55 UTC (rev 8381) @@ -0,0 +1,119 @@ +Index: trunk/pjsip/include/pjsip/sip_transaction.h +=================================================================== +--- a/pjsip/include/pjsip/sip_transaction.h (revision 5572) ++++ b/pjsip/include/pjsip/sip_transaction.h (revision 5573) +@@ -180,4 +180,8 @@ + * is created by calling #pjsip_tsx_create_key() from an incoming message. + * ++ * IMPORTANT: To prevent deadlock, application should use ++ * #pjsip_tsx_layer_find_tsx2() instead which only adds a reference to ++ * the transaction instead of locking it. ++ * + * @param key The key string to find the transaction. + * @param lock If non-zero, transaction will be locked before the +@@ -190,4 +194,19 @@ + PJ_DECL(pjsip_transaction*) pjsip_tsx_layer_find_tsx( const pj_str_t *key, + pj_bool_t lock ); ++ ++/** ++ * Find a transaction with the specified key. The transaction key normally ++ * is created by calling #pjsip_tsx_create_key() from an incoming message. ++ * ++ * @param key The key string to find the transaction. ++ * @param add_ref If non-zero, transaction's reference will be added ++ * by one before the function returns, to make sure that ++ * it's not deleted by other threads. ++ * ++ * @return The matching transaction instance, or NULL if transaction ++ * can not be found. ++ */ ++PJ_DECL(pjsip_transaction*) pjsip_tsx_layer_find_tsx2( const pj_str_t *key, ++ pj_bool_t add_ref ); + + /** +Index: trunk/pjsip/src/pjsip/sip_transaction.c +=================================================================== +--- a/pjsip/src/pjsip/sip_transaction.c (revision 5572) ++++ b/pjsip/src/pjsip/sip_transaction.c (revision 5573) +@@ -642,6 +642,6 @@ + * Find a transaction. + */ +-PJ_DEF(pjsip_transaction*) pjsip_tsx_layer_find_tsx( const pj_str_t *key, +- pj_bool_t lock ) ++static pjsip_transaction* find_tsx( const pj_str_t *key, pj_bool_t lock, ++ pj_bool_t add_ref ) + { + pjsip_transaction *tsx; +@@ -655,5 +655,5 @@ + /* Prevent the transaction to get deleted before we have chance to lock it. + */ +- if (tsx && lock) ++ if (tsx) + pj_grp_lock_add_ref(tsx->grp_lock); + +@@ -667,10 +667,27 @@ + PJ_RACE_ME(5); + +- if (tsx && lock) { +- pj_grp_lock_acquire(tsx->grp_lock); +- pj_grp_lock_dec_ref(tsx->grp_lock); ++ if (tsx) { ++ if (lock) ++ pj_grp_lock_acquire(tsx->grp_lock); ++ ++ if (!add_ref) ++ pj_grp_lock_dec_ref(tsx->grp_lock); + } + + return tsx; ++} ++ ++ ++PJ_DEF(pjsip_transaction*) pjsip_tsx_layer_find_tsx( const pj_str_t *key, ++ pj_bool_t lock ) ++{ ++ return find_tsx(key, lock, PJ_FALSE); ++} ++ ++ ++PJ_DEF(pjsip_transaction*) pjsip_tsx_layer_find_tsx2( const pj_str_t *key, ++ pj_bool_t add_ref ) ++{ ++ return find_tsx(key, PJ_FALSE, add_ref); + } + +Index: trunk/pjsip/src/pjsip/sip_ua_layer.c +=================================================================== +--- a/pjsip/src/pjsip/sip_ua_layer.c (revision 5572) ++++ b/pjsip/src/pjsip/sip_ua_layer.c (revision 5573) +@@ -552,10 +552,10 @@ + + /* Lookup the INVITE transaction */ +- tsx = pjsip_tsx_layer_find_tsx(&key, PJ_TRUE); ++ tsx = pjsip_tsx_layer_find_tsx2(&key, PJ_TRUE); + + /* We should find the dialog attached to the INVITE transaction */ + if (tsx) { + dlg = (pjsip_dialog*) tsx->mod_data[mod_ua.mod.id]; +- pj_grp_lock_release(tsx->grp_lock); ++ pj_grp_lock_dec_ref(tsx->grp_lock); + + /* Dlg may be NULL on some extreme condition +Index: trunk/pjsip/src/pjsip-ua/sip_inv.c +=================================================================== +--- a/pjsip/src/pjsip-ua/sip_inv.c (revision 5572) ++++ b/pjsip/src/pjsip-ua/sip_inv.c (revision 5573) +@@ -3276,5 +3276,5 @@ + pjsip_tsx_create_key(rdata->tp_info.pool, &key, PJSIP_ROLE_UAS, + pjsip_get_invite_method(), rdata); +- invite_tsx = pjsip_tsx_layer_find_tsx(&key, PJ_TRUE); ++ invite_tsx = pjsip_tsx_layer_find_tsx2(&key, PJ_TRUE); + + if (invite_tsx == NULL) { +@@ -3325,5 +3325,5 @@ + + if (invite_tsx) +- pj_grp_lock_release(invite_tsx->grp_lock); ++ pj_grp_lock_dec_ref(invite_tsx->grp_lock); + } + Added: branches/1.0/package/pjsip/pjsip-0037-r5576-svn-backport-session-timer-crash.patch =================================================================== --- branches/1.0/package/pjsip/pjsip-0037-r5576-svn-backport-session-timer-crash.patch (rev 0) +++ branches/1.0/package/pjsip/pjsip-0037-r5576-svn-backport-session-timer-crash.patch 2017-06-07 17:59:55 UTC (rev 8381) @@ -0,0 +1,72 @@ +Index: pjproject/trunk/pjsip/src/pjsip-ua/sip_timer.c +=================================================================== +--- a/pjsip/src/pjsip-ua/sip_timer.c (revision 5557) ++++ b/pjsip/src/pjsip-ua/sip_timer.c (revision 5576) +@@ -333,6 +333,8 @@ + pjsip_tx_data *tdata = NULL; + pj_status_t status; + pj_bool_t as_refresher; ++ int entry_id; ++ char obj_name[PJ_MAX_OBJ_NAME]; + + pj_assert(inv); + +@@ -344,7 +346,10 @@ + /* Check our role */ + as_refresher = + (inv->timer->refresher == TR_UAC && inv->timer->role == PJSIP_ROLE_UAC) || +- (inv->timer->refresher == TR_UAS && inv->timer->role == PJSIP_ROLE_UAS); ++ (inv->timer->refresher == TR_UAS && inv->timer->role == PJSIP_ROLE_UAS); ++ ++ entry_id = entry->id; ++ pj_ansi_strncpy(obj_name, inv->pool->obj_name, PJ_MAX_OBJ_NAME); + + /* Do action based on role(refresher or refreshee). + * As refresher: +@@ -353,7 +358,7 @@ + * As refreshee: + * - end session if there is no refresh request received. + */ +- if (as_refresher && (entry->id != REFRESHER_EXPIRE_TIMER_ID)) { ++ if (as_refresher && (entry_id != REFRESHER_EXPIRE_TIMER_ID)) { + pj_time_val now; + + /* As refresher, reshedule the refresh request on the following: +@@ -414,7 +419,7 @@ + } + + pj_gettimeofday(&now); +- PJ_LOG(4, (inv->pool->obj_name, ++ PJ_LOG(4, (obj_name, + "Refreshing session after %ds (expiration period=%ds)", + (now.sec-inv->timer->last_refresh.sec), + inv->timer->setting.sess_expires)); +@@ -432,7 +437,7 @@ + NULL, &tdata); + + pj_gettimeofday(&now); +- PJ_LOG(3, (inv->pool->obj_name, ++ PJ_LOG(3, (obj_name, + "No session %s received after %ds " + "(expiration period=%ds), stopping session now!", + (as_refresher?"refresh response":"refresh"), +@@ -451,11 +456,16 @@ + status = pjsip_inv_send_msg(inv, tdata); + } + ++ /* ++ * At this point, dialog might have already been destroyed, ++ * including its pool used by the invite session. ++ */ ++ + /* Print error message, if any */ + if (status != PJ_SUCCESS) { +- PJ_PERROR(2, (inv->pool->obj_name, status, ++ PJ_PERROR(2, (obj_name, status, + "Error in %s session timer", +- ((as_refresher && entry->id != REFRESHER_EXPIRE_TIMER_ID)? ++ ((as_refresher && entry_id != REFRESHER_EXPIRE_TIMER_ID)? + "refreshing" : "terminating"))); + } + } + Added: branches/1.0/package/pjsip/pjsip-0048-r5576-svn-backport-tls-crash.patch =================================================================== --- branches/1.0/package/pjsip/pjsip-0048-r5576-svn-backport-tls-crash.patch (rev 0) +++ branches/1.0/package/pjsip/pjsip-0048-r5576-svn-backport-tls-crash.patch 2017-06-07 17:59:55 UTC (rev 8381) @@ -0,0 +1,32 @@ +Index: /pjproject/trunk/pjlib/src/pj/ssl_sock_ossl.c +=================================================================== +--- a/pjlib/src/pj/ssl_sock_ossl.c (revision 5564) ++++ b/pjlib/src/pj/ssl_sock_ossl.c (revision 5565) +@@ -145,5 +145,6 @@ + SSL_STATE_NULL, + SSL_STATE_HANDSHAKING, +- SSL_STATE_ESTABLISHED ++ SSL_STATE_ESTABLISHED, ++ SSL_STATE_ERROR + }; + +@@ -1907,4 +1908,8 @@ + buf->len += size_; + ++ if (status != PJ_SUCCESS) { ++ ssock->ssl_state = SSL_STATE_ERROR; ++ } ++ + ret = (*ssock->param.cb.on_data_read)(ssock, buf->data, + buf->len, status, +@@ -2658,5 +2663,9 @@ + /* Current cipher */ + cipher = SSL_get_current_cipher(ssock->ossl_ssl); +- info->cipher = (SSL_CIPHER_get_id(cipher) & 0x00FFFFFF); ++ if (cipher) { ++ info->cipher = (SSL_CIPHER_get_id(cipher) & 0x00FFFFFF); ++ } else { ++ info->cipher = PJ_TLS_UNKNOWN_CIPHER; ++ } + + /* Remote address */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-07 16:12:35
|
Revision: 8380 http://sourceforge.net/p/astlinux/code/8380 Author: abelbeck Date: 2017-06-07 16:12:33 +0000 (Wed, 07 Jun 2017) Log Message: ----------- openldap, version bump to 2.4.45 Modified Paths: -------------- branches/1.0/package/openldap/openldap.mk Modified: branches/1.0/package/openldap/openldap.mk =================================================================== --- branches/1.0/package/openldap/openldap.mk 2017-06-07 13:34:30 UTC (rev 8379) +++ branches/1.0/package/openldap/openldap.mk 2017-06-07 16:12:33 UTC (rev 8380) @@ -4,7 +4,7 @@ # ############################################################# -OPENLDAP_VERSION = 2.4.44 +OPENLDAP_VERSION = 2.4.45 OPENLDAP_SOURCE = openldap-$(OPENLDAP_VERSION).tgz OPENLDAP_SITE = http://www.openldap.org/software/download/OpenLDAP/openldap-release OPENLDAP_INSTALL_STAGING = YES This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-07 13:34:32
|
Revision: 8379 http://sourceforge.net/p/astlinux/code/8379 Author: abelbeck Date: 2017-06-07 13:34:30 +0000 (Wed, 07 Jun 2017) Log Message: ----------- arnofw, net-prefix-translation plugin, filter out ULA's and handle the edge condition when a GUA prefix is lost Modified Paths: -------------- branches/1.0/package/arnofw/net-prefix-translation/20net-prefix-translation.plugin.sh Modified: branches/1.0/package/arnofw/net-prefix-translation/20net-prefix-translation.plugin.sh =================================================================== --- branches/1.0/package/arnofw/net-prefix-translation/20net-prefix-translation.plugin.sh 2017-06-07 12:11:24 UTC (rev 8378) +++ branches/1.0/package/arnofw/net-prefix-translation/20net-prefix-translation.plugin.sh 2017-06-07 13:34:30 UTC (rev 8379) @@ -5,7 +5,7 @@ PLUGIN_VERSION="1.00" PLUGIN_CONF_FILE="net-prefix-translation.conf" # -# Last changed : May 28, 2017 +# Last changed : June 7, 2017 # Requirements : AIF 2.0.1g+, ip6tables NETMAP support # Comments : NPTv6 (Network Prefix Translation) for IPv6 # Perform a 1:1 mapping of ULA <-> GUA prefixes @@ -40,7 +40,8 @@ IFS=' ,' for lan in $NET_PREFIX_TRANSLATION_IF; do ip -6 -o addr show dev $lan scope global 2>/dev/null \ - | awk '$3 == "inet6" { print $4; }' + | awk '$3 == "inet6" { print $4; }' \ + | grep -i -v '^fd' done } @@ -115,6 +116,8 @@ if [ -z "$global_prefix" ]; then echo "${INDENT}Network Prefix Translation Global Prefix: Not Found" + + : > "$NET_PREFIX_TRANSLATION_GLOBAL_IPV6" return 1 fi @@ -183,6 +186,16 @@ if [ -z "$global_prefix" ]; then echo " Network Prefix Translation Global Prefix: Not Found" + + if [ -n "$old_prefix" ]; then + if [ "$NET_PREFIX_TRANSLATION_UPDATE_ON_STATUS" != "0" ]; then + # update rules + ip6tables -t nat -F NET_PREFIX_TRANSLATION_IN + ip6tables -t nat -F NET_PREFIX_TRANSLATION_OUT + + : > "$NET_PREFIX_TRANSLATION_GLOBAL_IPV6" + fi + fi return 0 fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <abe...@us...> - 2017-06-07 12:11:27
|
Revision: 8378 http://sourceforge.net/p/astlinux/code/8378 Author: abelbeck Date: 2017-06-07 12:11:24 +0000 (Wed, 07 Jun 2017) Log Message: ----------- wide-dhcpv6, dhcp6c.script, no longer require 'dhcp6c_prefix' to have a value to log and update the NPTv6 plugin, loosing the prefix should also be logged and handled by the plugin Modified Paths: -------------- branches/1.0/package/wide-dhcpv6/dhcp6c.script Modified: branches/1.0/package/wide-dhcpv6/dhcp6c.script =================================================================== --- branches/1.0/package/wide-dhcpv6/dhcp6c.script 2017-06-07 11:47:22 UTC (rev 8377) +++ branches/1.0/package/wide-dhcpv6/dhcp6c.script 2017-06-07 12:11:24 UTC (rev 8378) @@ -133,18 +133,16 @@ ## Create dhcp6c_cache file setup_env -if [ -n "$dhcp6c_prefix" ]; then - case "$dhcp6c_changed" in - yes) changed=" (changed)" ;; - no) changed=" (no change)" ;; - *) changed="" ;; - esac - logger -t dhcp6c -p kern.info "IPv6 Prefix$changed: $dhcp6c_prefix" +case "$dhcp6c_changed" in + yes) changed=" (changed)" ;; + no) changed=" (no change)" ;; + *) changed="" ;; +esac +logger -t dhcp6c -p kern.info "IPv6 Prefix$changed: $dhcp6c_prefix" - if [ "$dhcp6c_changed" != "no" ]; then - if [ -f /var/tmp/aif-net-prefix-translation-global-ipv6 ]; then - arno-iptables-firewall status-plugins net-prefix-translation >/dev/null 2>&1 - fi +if [ "$dhcp6c_changed" != "no" ]; then + if [ -f /var/tmp/aif-net-prefix-translation-global-ipv6 ]; then + arno-iptables-firewall status-plugins net-prefix-translation >/dev/null 2>&1 fi fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |