瀏覽代碼

working on sqlite install

mom040267 11 年之前
父節點
當前提交
221f014a6c

+ 3 - 0
Makefile.in

@@ -104,6 +104,7 @@ distclean:	clean
 install:	all ${MAKE_DEPS}
 	${MKDIR} ${DESTDIR}${PREFIX}
 	${MKDIR} ${DESTDIR}${BINDIR}
+	${MKDIR} ${DESTDIR}${LOCALSTATEDIR}
 	${MKDIR} ${DESTDIR}${MANPREFIX}/man/man1
 	${MKDIR} ${DESTDIR}${CONFDIR}
 	${MKDIR} ${DESTDIR}${LIBDIR}
@@ -147,10 +148,12 @@ install:	all ${MAKE_DEPS}
 	${RMCMD} ${DESTDIR}${EXAMPLESDIR}/scripts/rfc5769.sh
 	${INSTALL_DIR} include/turn/client ${DESTDIR}${TURNINCLUDEDIR}
 	${INSTALL_DATA} include/turn/ns_turn_defs.h ${DESTDIR}${TURNINCLUDEDIR}
+	${SQLITECMD} ${DESTDIR}${LOCALSTATEDIR}/turndb < turndb/schema.sql
 	${MORECMD} ${DESTDIR}${DOCSDIR}/postinstall.txt
 
 deinstall:	${MAKE_DEPS}
 	${PKILL_PROGRAM} turnserver || ${ECHO_CMD} OK
+	${RMCMD} ${DESTDIR}${LOCALSTATEDIR}/turndb
 	${RMCMD} ${DESTDIR}${DOCSDIR}
 	${RMCMD} ${DESTDIR}${SCHEMADIR}
 	${RMCMD} ${DESTDIR}${BINDIR}/turnserver

+ 2 - 2
README.turnadmin

@@ -80,7 +80,7 @@ Commands:
   
 Options with required values:  
 
--b, --db, --userdb		SQLite user database file name (default - /var/db/turndb).
+-b, --db, --userdb		SQLite user database file name (default - /var/turndb).
 			See the same option in the turnserver section.
 -e, --psql-userdb	PostgreSQL user database connection string.
 			See the --psql-userdb option in the turnserver section.
@@ -170,7 +170,7 @@ to see the man page.
 
 /etc/turnserver.conf
 
-/var/db/turndb
+/var/turndb
 
 /usr/local/etc/turnserver.conf
 

+ 3 - 3
README.turnserver

@@ -81,7 +81,7 @@ Config file settings:
 
 User database settings:  
 
--b, --db, --userdb	SQLite user database file name (default - /var/db/turndb).
+-b, --db, --userdb	SQLite user database file name (default - /var/turndb).
 				  
 -e, --psql-userdb	User database connection string for PostgreSQL.
 		This database can be used for long-term and short-term 
@@ -716,7 +716,7 @@ For the user database, the turnserver has the following options:
 Obviously, only a few users can be set that way, and their credentials are fixed 
 for the turnserver process lifetime.
 
-2) Users can be stored in SQLite DB. The default SQLite database file is /var/db/turndb.
+2) Users can be stored in SQLite DB. The default SQLite database file is /var/turndb.
 
 3) Users can be stored in PostgreSQL database, if the turnserver was compiled with PostgreSQL
 support. Each time turnserver checks user credentials, it reads the database (asynchronously,
@@ -841,7 +841,7 @@ FILES
 
 /etc/turnserver.conf
 
-/var/db/turndb
+/var/turndb
 
 /usr/local/etc/turnserver.conf
 

+ 1 - 1
README.turnutils

@@ -251,7 +251,7 @@ FILES
 
 /etc/turnserver.conf
 
-/var/db/turndb
+/var/turndb
 
 /usr/local/etc/turnserver.conf
 

+ 36 - 10
configure

@@ -346,6 +346,11 @@ do
   -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
     BINDIR=$ac_optarg ;;
 
+  -localstatedir | --localstatedir | --localstatedi | --localstated | --localstate | --localstat)
+    ac_prev=LOCALSTATEDIR ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* | --localstate=* | --localstat=*)
+    LOCALSTATEDIR=$ac_optarg ;;
+
   -datadir | --datadir | --datadi | --datad | -schemadir | --schemadir)
     ac_prev=SCHEMADIR ;;
   -datadir=* | --datadir=* | --datadi=* | --datad=* | -schemadir=* | --schemadir=*)
@@ -432,9 +437,17 @@ fi
 
 if [ -z "${BINDIR}" ] ; then
     if [ -z "${bindir}" ] ; then
-	BINDIR=${PREFIX}/bin
+		BINDIR=${PREFIX}/bin
+    else
+		BINDIR=${bindir}
+    fi
+fi
+
+if [ -z "${LOCALSTATEDIR}" ] ; then
+    if [ -z "${localstatedir}" ] ; then
+		LOCALSTATEDIR=/var
     else
-	BINDIR=${bindir}
+		LOCALSTATEDIR=${localstatedir}
     fi
 fi
 
@@ -591,6 +604,14 @@ INSTALL_DIR="cp -rpf"
 MKBUILDDIR="mkdir -p"
 RMCMD="rm -rf"
 
+type sqlite3 2>>/dev/null
+ER=$?
+if [ ${ER} -eq 0 ] ; then
+	SQLITECMD="sqlite3"
+else
+	SQLITECMD="echo"
+fi
+
 #############################
 # Adjustments for Solaris
 #############################
@@ -1043,14 +1064,16 @@ if [ -z "${TURN_NO_SQLITE}" ] ; then
    		${ECHO_CMD} "SQLite3 development library cannot be found."
    		TURN_NO_SQLITE="-DTURN_NO_SQLITE"
 	fi
-	
-	testsqlite_comp
-	ER=$?
-	if ! [ ${ER} -eq 0 ] ; then
-    	${ECHO_CMD} "SQLite development found."
-	else
-    	${ECHO_CMD} "SQLite development libraries are not installed properly in required location."
-    	TURN_NO_SQLITE="-DTURN_NO_SQLITE"
+
+	if [ -z "${TURN_NO_SQLITE}" ] ; then	
+		testsqlite_comp
+		ER=$?
+		if ! [ ${ER} -eq 0 ] ; then
+    		${ECHO_CMD} "SQLite development found."
+		else
+    		${ECHO_CMD} "SQLite development libraries are not installed properly in required location."
+    		TURN_NO_SQLITE="-DTURN_NO_SQLITE"
+		fi
 	fi
 fi
 
@@ -1184,6 +1207,8 @@ ${ECHO_CMD} "PREFIX = ${PREFIX}" >> Makefile
 ${ECHO_CMD} "prefix = ${PREFIX}" >> Makefile
 ${ECHO_CMD} "BINDIR = ${BINDIR}" >> Makefile
 ${ECHO_CMD} "bindir = ${BINDIR}" >> Makefile
+${ECHO_CMD} "LOCALSTATEDIR = ${LOCALSTATEDIR}" >> Makefile
+${ECHO_CMD} "localstatedir = ${LOCALSTATEDIR}" >> Makefile
 ${ECHO_CMD} "CONFDIR = ${CONFDIR}" >> Makefile
 ${ECHO_CMD} "confdir = ${CONFDIR}" >> Makefile
 ${ECHO_CMD} "MANPREFIX = ${MANPREFIX}" >> Makefile
@@ -1203,6 +1228,7 @@ ${ECHO_CMD} "turnincludedir = ${TURNINCLUDEDIR}" >> Makefile
 ${ECHO_CMD} "#" >> Makefile
 ${ECHO_CMD} "ARCHIVERCMD = ${ARCHIVERCMD}" >> Makefile
 ${ECHO_CMD} "MKDIR = ${MKDIR}" >> Makefile
+${ECHO_CMD} "SQLITECMD = ${SQLITECMD}" >> Makefile
 ${ECHO_CMD} "INSTALL_PROGRAM = ${INSTALL_PROGRAM}" >> Makefile
 ${ECHO_CMD} "PKILL_PROGRAM = ${PKILL_PROGRAM}" >> Makefile
 ${ECHO_CMD} "INSTALL_MAN = ${INSTALL_MAN}" >> Makefile

+ 2 - 2
examples/etc/turnserver.conf

@@ -250,9 +250,9 @@
 
 # SQLite database file name.
 #
-# Default file name is /var/db/turndb (turndb in the process' home directory).
+# Default file name is /var/turndb.
 # 
-#userdb=/var/db/turndb
+#userdb=/var/turndb
 
 # PostgreSQL database connection string in the case that we are using PostgreSQL
 # as the user database.

+ 1 - 1
examples/scripts/longtermsecuredb/secure_relay_with_db_sqlite.sh

@@ -31,5 +31,5 @@ fi
 export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib/:/usr/local/mysql/lib/
 export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/usr/local/lib/:/usr/local/mysql/lib/
 
-PATH="./bin/:../bin/:../../bin/:${PATH}" turnserver --server-name="blackdow.carleon.gov" -v --syslog -a -L 127.0.0.1 -L ::1 -E 127.0.0.1 -E ::1 --max-bps=3000000 -f -m 3 --min-port=32355 --max-port=65535 -r north.gov --db="var/db/turndb" --cert=turn_server_cert.pem --pkey=turn_server_pkey.pem --log-file=stdout --cipher-list=ALL:SSLv2 --oauth $@ 
+PATH="./bin/:../bin/:../../bin/:${PATH}" turnserver --server-name="blackdow.carleon.gov" -v --syslog -a -L 127.0.0.1 -L ::1 -E 127.0.0.1 -E ::1 --max-bps=3000000 -f -m 3 --min-port=32355 --max-port=65535 -r north.gov --db="var/turndb" --cert=turn_server_cert.pem --pkey=turn_server_pkey.pem --log-file=stdout --cipher-list=ALL:SSLv2 --oauth $@ 
 

+ 1 - 1
examples/scripts/restapi/secure_relay_secret_with_db_sqlite.sh

@@ -34,4 +34,4 @@ fi
 export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib/:/usr/local/mysql/lib/
 export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/usr/local/lib/:/usr/local/mysql/lib/
 
-PATH="./bin/:../bin/:../../bin/:${PATH}" turnserver -v --syslog -a -L 127.0.0.1 -L ::1 -E 127.0.0.1 -E ::1 --max-bps=3000000 -f -m 3 --min-port=32355 --max-port=65535 --use-auth-secret --realm=north.gov --db="var/db/turndb" --cert=turn_server_cert.pem --pkey=turn_server_pkey.pem --log-file=stdout --cipher-list=ALL:SSLv2 $@
+PATH="./bin/:../bin/:../../bin/:${PATH}" turnserver -v --syslog -a -L 127.0.0.1 -L ::1 -E 127.0.0.1 -E ::1 --max-bps=3000000 -f -m 3 --min-port=32355 --max-port=65535 --use-auth-secret --realm=north.gov --db="var/turndb" --cert=turn_server_cert.pem --pkey=turn_server_pkey.pem --log-file=stdout --cipher-list=ALL:SSLv2 $@

+ 2 - 2
examples/scripts/shorttermsecure/secure_relay_short_term_mech.sh

@@ -15,7 +15,7 @@
 # 2) use fingerprints (-f)
 # 3) use 3 relay threads (-m 3)
 # 4) use min UDP relay port 32355 and max UDP relay port 65535
-# 5) --db="var/db/turndb" means that SQLite database "var/db/turndb" will be used.
+# 5) --db="var/turndb" means that SQLite database "var/turndb" will be used.
 # 6) "--cert=example_turn_server_cert.pem" sets the OpenSSL certificate file name. 
 # 7) "--pkey=example_turn_server_pkey.pem" sets the OpenSSL private key name.
 # 8) "--log-file=stdout" means that all log output will go to the stdout.
@@ -31,4 +31,4 @@ fi
 export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib/:/usr/local/mysql/lib/
 export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/usr/local/lib/:/usr/local/mysql/lib/
 
-PATH="./bin/:../bin/:../../bin/:${PATH}" turnserver -v --syslog -A --max-bps=3000000 -f -m 3 --min-port=32355 --max-port=65535  --db="var/db/turndb" --cert=turn_server_cert.pem --pkey=turn_server_pkey.pem --log-file=stdout -E 127.0.0.1 -E ::1 --cipher-list=ALL:SSLv2 $@
+PATH="./bin/:../bin/:../../bin/:${PATH}" turnserver -v --syslog -A --max-bps=3000000 -f -m 3 --min-port=32355 --max-port=65535  --db="var/turndb" --cert=turn_server_cert.pem --pkey=turn_server_pkey.pem --log-file=stdout -E 127.0.0.1 -E ::1 --cipher-list=ALL:SSLv2 $@

+ 2 - 2
man/man1/turnadmin.1

@@ -132,7 +132,7 @@ Options with required values:
 .TP
 .B
 \fB\-b\fP, \fB\-\-db\fP, \fB\-\-userdb\fP
-SQLite user database file name (default \- /var/db/turndb).
+SQLite user database file name (default \- /var/turndb).
 See the same option in the \fIturnserver\fP section.
 .TP
 .B
@@ -261,7 +261,7 @@ to see the man page.
 
 /etc/turnserver.conf
 .PP
-/var/db/turndb
+/var/turndb
 .PP
 /usr/local/etc/turnserver.conf
 .PP

+ 3 - 3
man/man1/turnserver.1

@@ -132,7 +132,7 @@ User database settings:
 .TP
 .B
 \fB\-b\fP, \fB\-\-db\fP, \fB\-\-userdb\fP
-SQLite user database file name (default \- /var/db/turndb).
+SQLite user database file name (default \- /var/turndb).
 .TP
 .B
 \fB\-e\fP, \fB\-\-psql\-userdb\fP
@@ -971,7 +971,7 @@ Users can be set in the command line, with multiple \fB\-u\fP or \fB\-\-user\fP
 Obviously, only a few users can be set that way, and their credentials are fixed 
 for the \fIturnserver\fP process lifetime.
 .IP 2) 4
-Users can be stored in SQLite DB. The default SQLite database file is /var/db/turndb.
+Users can be stored in SQLite DB. The default SQLite database file is /var/turndb.
 .IP 3) 4
 Users can be stored in PostgreSQL database, if the \fIturnserver\fP was compiled with PostgreSQL
 support. Each time \fIturnserver\fP checks user credentials, it reads the database (asynchronously,
@@ -1096,7 +1096,7 @@ it would affect the performance.
 
 /etc/turnserver.conf
 .PP
-/var/db/turndb
+/var/turndb
 .PP
 /usr/local/etc/turnserver.conf
 .PP

+ 1 - 1
man/man1/turnutils.1

@@ -374,7 +374,7 @@ to see the man page.
 
 /etc/turnserver.conf
 .PP
-/var/db/turndb
+/var/turndb
 .PP
 /usr/local/etc/turnserver.conf
 .PP

+ 3 - 3
src/apps/relay/mainrelay.c

@@ -95,7 +95,7 @@ LOW_DEFAULT_PORTS_BOUNDARY,HIGH_DEFAULT_PORTS_BOUNDARY,0,0,0,"",
 /////////////// MISC PARAMS ////////////////
 0,0,0,0,0,SHATYPE_SHA1,':',0,0,TURN_CREDENTIALS_NONE,0,0,0,0,0,0,
 ///////////// Users DB //////////////
-{ 0, {"\0",NULL}, {0,NULL,NULL, {NULL,0}} }
+{ (TURN_USERDB_TYPE)0, {"\0",NULL}, {0,NULL,NULL, {NULL,0}} }
 
 };
 
@@ -413,7 +413,7 @@ static char Usage[] = "Usage: turnserver [options]\n"
 "						for the sessions, combined (input and output network streams are treated separately).\n"
 " -c				<filename>	Configuration file name (default - turnserver.conf).\n"
 #if !defined(TURN_NO_SQLITE)
-" -b, , --db, --userdb	<filename>		SQLite database file name (default - /var/db/turndb).\n"
+" -b, , --db, --userdb	<filename>		SQLite database file name (default - /var/turndb).\n"
 #endif
 #if !defined(TURN_NO_PQ)
 " -e, --psql-userdb, --sql-userdb <conn-string>	PostgreSQL database connection string, if used (default - empty, no PostreSQL DB used).\n"
@@ -587,7 +587,7 @@ static char AdminUsage[] = "Usage: turnadmin [command] [options]\n"
 	"	-G, --list-realm-options	List realm params.\n"
 	"\nOptions with mandatory values:\n\n"
 #if !defined(TURN_NO_SQLITE)
-	"	-b, --db, --userdb		SQLite database file, default value is /var/db/turndb.\n"
+	"	-b, --db, --userdb		SQLite database file, default value is /var/turndb.\n"
 #endif
 #if !defined(TURN_NO_PQ)
 	"	-e, --psql-userdb, --sql-userdb	PostgreSQL user database connection string, if PostgreSQL DB is used.\n"

+ 1 - 1
src/apps/relay/userdb.h

@@ -48,7 +48,7 @@ extern "C" {
 
 //////////// Defines //////////////////////////////
 
-#define DEFAULT_USERDB_FILE ("/var/db/turndb")
+#define DEFAULT_USERDB_FILE ("/var/turndb")
 
 #define AUTH_SECRET_SIZE (512)