ser -> openser from wr
ser -> openser from wr

git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3094 3c298f89-4303-0410-b956-a3cf2f4a3e73

--- a/package/Config.in
+++ b/package/Config.in
@@ -99,6 +99,7 @@
 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/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"

--- a/package/Makefile
+++ b/package/Makefile
@@ -150,6 +150,7 @@
 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_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

--- /dev/null
+++ b/package/openser/Config.in
@@ -1,1 +1,8 @@
+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.
 

--- /dev/null
+++ b/package/openser/Makefile
@@ -1,1 +1,59 @@
+# $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)
+

--- /dev/null
+++ b/package/openser/ipkg/openser.conffiles
@@ -1,1 +1,2 @@
+/etc/openser/openser.cfg
 

--- /dev/null
+++ b/package/openser/ipkg/openser.control
@@ -1,1 +1,8 @@
+Package: openser
+Priority: optional
+Section: net
+Maintainer: Michael Poehnl <budrus@berlios.de>
+Description: OpenSER
+ OpenSER is a high-performance,
+ configurable, free SIP server.
 

--- /dev/null
+++ b/package/openser/patches/Makefile.defs.patch
@@ -1,1 +1,72 @@
+--- 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
+ 
 

--- /dev/null
+++ b/package/openser/patches/cfg.lex.patch
@@ -1,1 +1,14 @@
+--- 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;
++	}
+ 
+ %}
+ 
 

--- /dev/null
+++ b/package/openser/patches/config.h.patch
@@ -1,1 +1,34 @@
+--- 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
+ 
 

--- /dev/null
+++ b/package/openser/patches/openser.cfg.patch
@@ -1,1 +1,34 @@
+--- 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 ---------------
+ 
 

--- /dev/null
+++ b/package/openser/patches/sc.dbtext.patch
@@ -1,1 +1,23 @@
+--- 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
+ }
 

--- /dev/null
+++ b/package/openser/patches/sc.patch
@@ -1,1 +1,42 @@
+--- 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
 

comments