summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/Config.in2
-rw-r--r--package/Makefile2
-rw-r--r--package/openser/Config.in7
-rw-r--r--package/openser/Makefile58
-rw-r--r--package/openser/ipkg/openser.conffiles1
-rw-r--r--package/openser/ipkg/openser.control7
-rw-r--r--package/openser/patches/Makefile.defs.patch71
-rw-r--r--package/openser/patches/cfg.lex.patch13
-rw-r--r--package/openser/patches/config.h.patch33
-rw-r--r--package/openser/patches/openser.cfg.patch33
-rw-r--r--package/openser/patches/sc.dbtext.patch22
-rw-r--r--package/openser/patches/sc.patch41
12 files changed, 288 insertions, 2 deletions
diff --git a/package/Config.in b/package/Config.in
index f10bca13bb..1210bec9e0 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -99,6 +99,7 @@ source "package/nocatsplash/Config.in"
source "package/ntpclient/Config.in"
source "package/olsrd/Config.in"
source "package/openntpd/Config.in"
+source "package/openser/Config.in"
source "package/openssh/Config.in"
source "package/openswan/Config.in"
source "package/openvpn/Config.in"
@@ -122,7 +123,6 @@ source "package/rrs/Config.in"
source "package/rsync/Config.in"
source "package/samba/Config.in"
source "package/scdp/Config.in"
-source "package/ser/Config.in"
source "package/shat/Config.in"
source "package/siproxd/Config.in"
source "package/sipsak/Config.in"
diff --git a/package/Makefile b/package/Makefile
index 4f3cb2ae59..2612b11361 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -150,6 +150,7 @@ package-$(BR2_PACKAGE_OLSRD) += olsrd
package-$(BR2_COMPILE_OPENCDK) += opencdk
package-$(BR2_COMPILE_OPENLDAP) += openldap
package-$(BR2_PACKAGE_OPENNTPD) += openntpd
+package-$(BR2_PACKAGE_OPENSER) += openser
package-$(BR2_COMPILE_OPENSSH) += openssh
package-$(BR2_COMPILE_OPENSSL) += openssl
package-$(BR2_PACKAGE_OPENSWAN) += openswan
@@ -195,7 +196,6 @@ package-$(BR2_PACKAGE_SANE_BACKENDS) += sane-backends
package-$(BR2_PACKAGE_SCDP) += scdp
package-$(BR2_PACKAGE_SCREEN) += screen
package-$(BR2_PACKAGE_SDK) += sdk
-package-$(BR2_PACKAGE_SER) += ser
package-$(BR2_PACKAGE_SERDISPLIB) += serdisplib
package-$(BR2_PACKAGE_SETPWC) += setpwc
package-$(BR2_PACKAGE_SETSERIAL) += setserial
diff --git a/package/openser/Config.in b/package/openser/Config.in
new file mode 100644
index 0000000000..b1aa99aa6b
--- /dev/null
+++ b/package/openser/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_OPENSER
+ tristate
+ prompt "openser........................... Configurable, free SIP server"
+ default m if CONFIG_DEVEL
+ help
+ Open SIP Express Router (OpenSER) is a high-performance,
+ configurable, free SIP server.
diff --git a/package/openser/Makefile b/package/openser/Makefile
new file mode 100644
index 0000000000..29d72864f5
--- /dev/null
+++ b/package/openser/Makefile
@@ -0,0 +1,58 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=openser
+PKG_VERSION:=1.0.0
+PKG_RELEASE:=1
+PKG_MD5SUM:=f60f5a51772c5b06abaa1c81e9539077
+# PKG_VARIANT:=-tls for tls version
+PKG_VARIANT:=
+
+PKG_SOURCE_URL:=http://openser.org/pub/openser/$(PKG_VERSION)/src
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)$(PKG_VARIANT)_src.tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,OPENSER,openser,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+# Select here the modules for the ipk package
+OPENSER_MODULES := sl tm rr maxfwd usrloc registrar dbtext textops exec
+
+OPENSER_MODULE_FILES := $(foreach module,$(OPENSER_MODULES),modules/$(module)/$(module).so)
+OPENSER_MODULES := $(patsubst %,modules/%,$(OPENSER_MODULES))
+
+$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
+ touch $@
+
+$(PKG_BUILD_DIR)/.built:
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ prefix=/ \
+ extra_defs="-DUSE_PTHREAD_MUTEX " \
+ CC="$(TARGET_CC)" \
+ ARCH="$(ARCH)" \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ LOCALBASE="$(STAGING_DIR)/usr" \
+ all utils/gen_ha1/gen_ha1
+ touch $@
+
+$(IPKG_OPENSER):
+ mkdir -p $(IDIR_OPENSER)/usr/sbin
+ cp -fpR $(PKG_BUILD_DIR)/$(PKG_NAME) $(IDIR_OPENSER)/usr/sbin/
+ cp -fpR $(PKG_BUILD_DIR)/utils/gen_ha1/gen_ha1 $(IDIR_OPENSER)/usr/sbin/openser_gen_ha1
+ cp -fpR $(PKG_BUILD_DIR)/scripts/sc $(IDIR_OPENSER)/usr/sbin/openserctl
+ chmod 744 $(IDIR_OPENSER)/usr/sbin/openserctl
+ cp -fpR $(PKG_BUILD_DIR)/scripts/sc.dbtext $(IDIR_OPENSER)/usr/sbin/dbtextctl
+ chmod 744 $(IDIR_OPENSER)/usr/sbin/dbtextctl
+ mkdir -p $(IDIR_OPENSER)/usr/lib/openser/modules
+ (cd $(PKG_BUILD_DIR);\
+ cp -a $(OPENSER_MODULE_FILES) $(IDIR_OPENSER)/usr/lib/openser/modules/; \
+ )
+ mkdir -p $(IDIR_OPENSER)/etc/openser
+ cp -fpR $(PKG_BUILD_DIR)/etc/openser.cfg $(IDIR_OPENSER)/etc/openser/
+ $(RSTRIP) $(IDIR_OPENSER)
+ $(IPKG_BUILD) $(IDIR_OPENSER) $(PACKAGE_DIR)
diff --git a/package/openser/ipkg/openser.conffiles b/package/openser/ipkg/openser.conffiles
new file mode 100644
index 0000000000..edd06eb71e
--- /dev/null
+++ b/package/openser/ipkg/openser.conffiles
@@ -0,0 +1 @@
+/etc/openser/openser.cfg
diff --git a/package/openser/ipkg/openser.control b/package/openser/ipkg/openser.control
new file mode 100644
index 0000000000..a0b9863d55
--- /dev/null
+++ b/package/openser/ipkg/openser.control
@@ -0,0 +1,7 @@
+Package: openser
+Priority: optional
+Section: net
+Maintainer: Michael Poehnl <budrus@berlios.de>
+Description: OpenSER
+ OpenSER is a high-performance,
+ configurable, free SIP server.
diff --git a/package/openser/patches/Makefile.defs.patch b/package/openser/patches/Makefile.defs.patch
new file mode 100644
index 0000000000..a7275bdd06
--- /dev/null
+++ b/package/openser/patches/Makefile.defs.patch
@@ -0,0 +1,71 @@
+--- openser-1.0.0-tls.orig/Makefile.defs 2005-10-28 18:32:39.000000000 +0200
++++ openser-1.0.0-tls/Makefile.defs 2006-01-15 23:40:18.391547040 +0100
+@@ -917,7 +917,7 @@
+ endif
+ YACC_FLAGS=-d -b cfg
+ # on solaris add -lxnet (e.g. LIBS= -lxnet)
+-LIBS= -lfl -ldl -lresolv
++LIBS= -ldl -lresolv
+
+
+ #os specific stuff
+@@ -955,7 +955,7 @@
+ endif
+ OLD_SOLARIS= $(shell echo "$(OSREL)" | \
+ sed -e 's/^5\.[0-6][^0-9]*$$/yes/' )
+- LIBS+= -L$(LOCALBASE)/lib -lfl -lxnet -lnsl
++ LIBS+= -L$(LOCALBASE)/lib -lxnet -lnsl
+ ifeq ($(OLD_SOLARIS), yes)
+ LIBS+=-lposix4
+ else
+@@ -970,9 +970,9 @@
+ ifneq ($(found_lock_method), yes)
+ DEFS+= -DUSE_PTHREAD_MUTEX # try pthread sems
+ found_lock_method=yes
+- LIBS= -pthread -lfl #dlopen is in libc
++ LIBS= -pthread #dlopen is in libc
+ else
+- LIBS= -lfl #dlopen is in libc
++ LIBS= #dlopen is in libc
+ endif
+ YACC=yacc
+ endif
+@@ -987,7 +987,7 @@
+ # (symbols on openbsd are prefixed by "_")
+ YACC=yacc
+ # no sched_yield on openbsd unless linking with c_r (not recommended)
+- LIBS= -lfl
++ LIBS=
+ OPENBSD_IS_AOUT= $(shell echo "$(OSREL)" | \
+ sed -e 's/^3\.[0-3][^0-9]*$$/yes/' |sed -e 's/^[0-2]\..*/yes/')
+ # exception: on sparc openbsd 3.2 is elf and not aout
+@@ -1014,7 +1014,7 @@
+ found_lock_method=yes
+ endif
+ YACC=yacc
+- LIBS= -lfl
++ LIBS=
+ endif
+
+ # OS X support, same as freebsd
+@@ -1028,9 +1028,9 @@
+ ifneq ($(found_lock_method), yes)
+ DEFS+= -DUSE_PTHREAD_MUTEX # try pthread sems
+ found_lock_method=yes
+- LIBS= -pthread -lfl -lresolv #dlopen is in libc
++ LIBS= -pthread -lresolv #dlopen is in libc
+ else
+- LIBS= -lfl -lresolv #dlopen is in libc
++ LIBS= -lresolv #dlopen is in libc
+ endif
+ LDFLAGS= # darwin doesn't like -O2 or -E
+ MOD_LDFLAGS= -bundle -bundle_loader ../../$(MAIN_NAME)
+@@ -1047,7 +1047,7 @@
+
+ #add libssl if needed
+ ifneq ($(TLS),)
+-DEFS+= -I$(LOCALBASE)/ssl/include
++DEFS+= -I$(LOCALBASE)/include
+ LIBS+= -L$(LOCALBASE)/lib -L$(LOCALBASE)/ssl/lib -lssl -lcrypto
+ endif
+
diff --git a/package/openser/patches/cfg.lex.patch b/package/openser/patches/cfg.lex.patch
new file mode 100644
index 0000000000..39eacb2dec
--- /dev/null
+++ b/package/openser/patches/cfg.lex.patch
@@ -0,0 +1,13 @@
+--- openser-1.0.0-tls.orig/cfg.lex 2005-09-02 17:34:41.000000000 +0200
++++ openser-1.0.0-tls/cfg.lex 2006-01-05 01:34:50.279630928 +0100
+@@ -85,6 +85,10 @@
+ static char* addstr(struct str_buf *, char*, int);
+ static void count();
+
++ int yywrap(void)
++ {
++ return 1;
++ }
+
+ %}
+
diff --git a/package/openser/patches/config.h.patch b/package/openser/patches/config.h.patch
new file mode 100644
index 0000000000..45af8f1f7a
--- /dev/null
+++ b/package/openser/patches/config.h.patch
@@ -0,0 +1,33 @@
+--- openser-1.0.0-tls.orig/config.h 2005-08-23 19:31:12.000000000 +0200
++++ openser-1.0.0-tls/config.h 2006-01-05 01:42:14.101159800 +0100
+@@ -48,7 +48,7 @@
+ #define MAX_LISTEN 16
+
+ /* default number of child processes started */
+-#define CHILD_NO 8
++#define CHILD_NO 4
+
+ #define RT_NO 40 /* routing tables number */
+ #define FAILURE_RT_NO RT_NO /* on_failure routing tables number */
+@@ -68,10 +68,10 @@
+ #define CONTENT_LENGTH "Content-Length: "
+ #define CONTENT_LENGTH_LEN (sizeof(CONTENT_LENGTH)-1)
+
+-#define USER_AGENT "User-Agent: OpenSer (" VERSION " (" ARCH "/" OS"))"
++#define USER_AGENT "User-Agent: OpenSer " VERSION " (boozy.milkfish.org)"
+ #define USER_AGENT_LEN (sizeof(USER_AGENT)-1)
+
+-#define SERVER_HDR "Server: OpenSer (" VERSION " (" ARCH "/" OS"))"
++#define SERVER_HDR "Server: OpenSer " VERSION " (boozy.milkfish.org)"
+ #define SERVER_HDR_LEN (sizeof(SERVER_HDR)-1)
+
+ #define MAX_WARNING_LEN 256
+@@ -113,7 +113,7 @@
+ #define PKG_MEM_POOL_SIZE 1024*1024
+
+ /*used if SH_MEM is defined*/
+-#define SHM_MEM_SIZE 32
++#define SHM_MEM_SIZE 8
+
+ #define TIMER_TICK 1
+
diff --git a/package/openser/patches/openser.cfg.patch b/package/openser/patches/openser.cfg.patch
new file mode 100644
index 0000000000..f26e79e731
--- /dev/null
+++ b/package/openser/patches/openser.cfg.patch
@@ -0,0 +1,33 @@
+--- openser-1.0.0-tls.orig/etc/openser.cfg 2005-10-28 21:45:33.000000000 +0200
++++ openser-1.0.0-tls/etc/openser.cfg 2006-01-07 01:39:01.077134312 +0100
+@@ -36,20 +36,20 @@
+ # ------------------ module loading ----------------------------------
+
+ # Uncomment this if you want to use SQL database
+-#loadmodule "/usr/local/lib/openser/modules/mysql.so"
++#loadmodule "/usr/lib/openser/modules/mysql.so"
+
+-loadmodule "/usr/local/lib/openser/modules/sl.so"
+-loadmodule "/usr/local/lib/openser/modules/tm.so"
+-loadmodule "/usr/local/lib/openser/modules/rr.so"
+-loadmodule "/usr/local/lib/openser/modules/maxfwd.so"
+-loadmodule "/usr/local/lib/openser/modules/usrloc.so"
+-loadmodule "/usr/local/lib/openser/modules/registrar.so"
+-loadmodule "/usr/local/lib/openser/modules/textops.so"
++loadmodule "/usr/lib/openser/modules/sl.so"
++loadmodule "/usr/lib/openser/modules/tm.so"
++loadmodule "/usr/lib/openser/modules/rr.so"
++loadmodule "/usr/lib/openser/modules/maxfwd.so"
++loadmodule "/usr/lib/openser/modules/usrloc.so"
++loadmodule "/usr/lib/openser/modules/registrar.so"
++loadmodule "/usr/lib/openser/modules/textops.so"
+
+ # Uncomment this if you want digest authentication
+ # mysql.so must be loaded !
+-#loadmodule "/usr/local/lib/openser/modules/auth.so"
+-#loadmodule "/usr/local/lib/openser/modules/auth_db.so"
++#loadmodule "/usr/lib/openser/modules/auth.so"
++#loadmodule "/usr/lib/openser/modules/auth_db.so"
+
+ # ----------------- setting module-specific parameters ---------------
+
diff --git a/package/openser/patches/sc.dbtext.patch b/package/openser/patches/sc.dbtext.patch
new file mode 100644
index 0000000000..2a1b7eab1b
--- /dev/null
+++ b/package/openser/patches/sc.dbtext.patch
@@ -0,0 +1,22 @@
+--- openser-1.0.0-tls.orig/scripts/sc.dbtext 2005-07-29 21:05:36.000000000 +0200
++++ openser-1.0.0-tls/scripts/sc.dbtext 2006-01-29 02:30:31.795349688 +0100
+@@ -62,6 +62,10 @@
+ ##### ----------------------------------------------- #####
+ #### table names
+
++if [ -z "$SIP_DOMAIN" ] ; then
++ SIP_DOMAIN=$(nvram get sip_domain)
++fi
++
+ # UsrLoc Table
+ if [ -z "$UL_TABLE" ] ; then
+ UL_TABLE=location
+@@ -247,7 +251,7 @@
+ fi
+
+ if [ -z "$SERDOMAIN" ] ; then
+- echo -e "\nDomain unknown: use usernames with domain or set default domain in SIP_DOMAIN\n"
++ echo -e "\nDomain unknown: use usernames with domain or set default domain in SIP_DOMAIN (with 'nvram set sip_domain=YOUR_SIP_DOMAIN')\n"
+ exit 1
+ fi
+ }
diff --git a/package/openser/patches/sc.patch b/package/openser/patches/sc.patch
new file mode 100644
index 0000000000..52ef9a6554
--- /dev/null
+++ b/package/openser/patches/sc.patch
@@ -0,0 +1,41 @@
+--- openser-1.0.0-tls.orig/scripts/sc 2005-08-11 14:08:02.000000000 +0200
++++ openser-1.0.0-tls/scripts/sc 2006-01-29 02:18:43.319054456 +0100
+@@ -48,11 +48,15 @@
+ STARTOPTIONS= # for example -dddd
+ fi
+ if [ -z "$DIR" ] ; then
+- DIR=`dirname $0`
++ DIR=/usr/sbin
+ fi
+ if [ -z "$SERBIN" ] ; then
+ SERBIN=$DIR/openser
+ fi
++if [ -z "$SIP_DOMAIN" ] ; then
++ SIP_DOMAIN=$(nvram get sip_domain)
++fi
++
+
+ ##### ----------------------------------------------- #####
+ ### openser's FIFO server
+@@ -415,7 +419,7 @@
+ fi
+
+ if [ -z "$SERDOMAIN" ] ; then
+- echo "domain unknown: use usernames with domain or set default domain in SIP_DOMAIN"
++ echo "domain unknown: use usernames with domain or set default domain in SIP_DOMAIN (with 'nvram set sip_domain=YOUR_SIP_DOMAIN')"
+ exit 1
+ fi
+ }
+@@ -671,11 +675,7 @@
+ set_user $2
+ fifo_cmd ul_show_contact $USRLOC_TABLE "$SERUSER@$SERDOMAIN"
+ elif [ $# -eq 1 ] ; then
+- printf "Dumping all contacts may take long: are you sure you want to proceed? [Y|N] " > /dev/stderr
+- read answer
+- if [ "$answer" = "y" -o "$answer" = "Y" ] ; then
+- fifo_cmd ul_dump
+- fi
++ fifo_cmd ul_dump
+ else
+ echo "wrong number of params for usrloc show"
+ usage