diff options
Diffstat (limited to 'openwrt/package/openser')
-rw-r--r-- | openwrt/package/openser/Config.in | 7 | ||||
-rw-r--r-- | openwrt/package/openser/Makefile | 58 | ||||
-rw-r--r-- | openwrt/package/openser/ipkg/openser.conffiles | 1 | ||||
-rw-r--r-- | openwrt/package/openser/ipkg/openser.control | 7 | ||||
-rw-r--r-- | openwrt/package/openser/patches/Makefile.defs.patch | 71 | ||||
-rw-r--r-- | openwrt/package/openser/patches/cfg.lex.patch | 13 | ||||
-rw-r--r-- | openwrt/package/openser/patches/config.h.patch | 33 | ||||
-rw-r--r-- | openwrt/package/openser/patches/openser.cfg.patch | 33 | ||||
-rw-r--r-- | openwrt/package/openser/patches/sc.dbtext.patch | 22 | ||||
-rw-r--r-- | openwrt/package/openser/patches/sc.patch | 41 |
10 files changed, 286 insertions, 0 deletions
diff --git a/openwrt/package/openser/Config.in b/openwrt/package/openser/Config.in new file mode 100644 index 0000000000..b1aa99aa6b --- /dev/null +++ b/openwrt/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/openwrt/package/openser/Makefile b/openwrt/package/openser/Makefile new file mode 100644 index 0000000000..29d72864f5 --- /dev/null +++ b/openwrt/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/openwrt/package/openser/ipkg/openser.conffiles b/openwrt/package/openser/ipkg/openser.conffiles new file mode 100644 index 0000000000..edd06eb71e --- /dev/null +++ b/openwrt/package/openser/ipkg/openser.conffiles @@ -0,0 +1 @@ +/etc/openser/openser.cfg diff --git a/openwrt/package/openser/ipkg/openser.control b/openwrt/package/openser/ipkg/openser.control new file mode 100644 index 0000000000..a0b9863d55 --- /dev/null +++ b/openwrt/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/openwrt/package/openser/patches/Makefile.defs.patch b/openwrt/package/openser/patches/Makefile.defs.patch new file mode 100644 index 0000000000..a7275bdd06 --- /dev/null +++ b/openwrt/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/openwrt/package/openser/patches/cfg.lex.patch b/openwrt/package/openser/patches/cfg.lex.patch new file mode 100644 index 0000000000..39eacb2dec --- /dev/null +++ b/openwrt/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/openwrt/package/openser/patches/config.h.patch b/openwrt/package/openser/patches/config.h.patch new file mode 100644 index 0000000000..45af8f1f7a --- /dev/null +++ b/openwrt/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/openwrt/package/openser/patches/openser.cfg.patch b/openwrt/package/openser/patches/openser.cfg.patch new file mode 100644 index 0000000000..f26e79e731 --- /dev/null +++ b/openwrt/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/openwrt/package/openser/patches/sc.dbtext.patch b/openwrt/package/openser/patches/sc.dbtext.patch new file mode 100644 index 0000000000..2a1b7eab1b --- /dev/null +++ b/openwrt/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/openwrt/package/openser/patches/sc.patch b/openwrt/package/openser/patches/sc.patch new file mode 100644 index 0000000000..52ef9a6554 --- /dev/null +++ b/openwrt/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 |