Browse Source

working on sqlite

mom040267 11 years ago
parent
commit
68f28329fc

+ 3 - 3
Makefile.in

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

+ 4 - 2
README.turnadmin

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

+ 6 - 3
README.turnserver

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

+ 2 - 1
README.turnutils

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

+ 9 - 3
configure

@@ -445,7 +445,13 @@ fi
 
 
 if [ -z "${LOCALSTATEDIR}" ] ; then
 if [ -z "${LOCALSTATEDIR}" ] ; then
     if [ -z "${localstatedir}" ] ; then
     if [ -z "${localstatedir}" ] ; then
-		LOCALSTATEDIR=/var
+    
+    	if [ "${PREFIX}" = "/usr" ] ; then
+			LOCALSTATEDIR=/var
+		else
+			LOCALSTATEDIR=${PREFIX}/var
+		fi
+		
     else
     else
 		LOCALSTATEDIR=${localstatedir}
 		LOCALSTATEDIR=${localstatedir}
     fi
     fi
@@ -1176,7 +1182,7 @@ fi
 # So, what we have now:
 # So, what we have now:
 ###############################
 ###############################
 
 
-OSCFLAGS="${OSCFLAGS} ${TURN_NO_THREAD_BARRIERS} ${TURN_NO_DTLS} ${TURN_NO_GCM} ${TURN_NO_TLS} -DINSTALL_PREFIX=${PREFIX}"
+OSCFLAGS="${OSCFLAGS} ${TURN_NO_THREAD_BARRIERS} ${TURN_NO_DTLS} ${TURN_NO_GCM} ${TURN_NO_TLS} -DINSTALL_PREFIX=${PREFIX} -DTURNDB=${LOCALSTATEDIR}/db/turndb"
 
 
 if ! [ -z "${TURN_ACCEPT_RPATH}" ] ; then
 if ! [ -z "${TURN_ACCEPT_RPATH}" ] ; then
   if [ -z "${TURN_DISABLE_RPATH}" ] ; then
   if [ -z "${TURN_DISABLE_RPATH}" ] ; then
@@ -1185,7 +1191,7 @@ if ! [ -z "${TURN_ACCEPT_RPATH}" ] ; then
   fi
   fi
 fi
 fi
 
 
-${ECHO_CMD} PREFIX="${PREFIX}" OSLIBS="${OSLIBS}" DBLIBS="${DBLIBS}" OSCFLAGS="${OSCFLAGS}" DBCFLAGS="${DBCFLAGS}" $@
+${ECHO_CMD} PREFIX="${PREFIX}" LOCALSTATEDIR="${LOCALSTATEDIR}" OSLIBS="${OSLIBS}" DBLIBS="${DBLIBS}" OSCFLAGS="${OSCFLAGS}" DBCFLAGS="${DBCFLAGS}" $@
 
 
 ###############################
 ###############################
 # Make make:
 # Make make:

+ 2 - 2
examples/etc/turnserver.conf

@@ -250,9 +250,9 @@
 
 
 # SQLite database file name.
 # SQLite database file name.
 #
 #
-# Default file name is /var/turndb.
+# Default file name is /var/db/turndb or /usr/local/var/db/turndb.
 # 
 # 
-#userdb=/var/turndb
+#userdb=/var/db/turndb
 
 
 # PostgreSQL database connection string in the case that we are using PostgreSQL
 # PostgreSQL database connection string in the case that we are using PostgreSQL
 # as the user database.
 # 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 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/
 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/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/db/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 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/
 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/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/db/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)
 # 2) use fingerprints (-f)
 # 3) use 3 relay threads (-m 3)
 # 3) use 3 relay threads (-m 3)
 # 4) use min UDP relay port 32355 and max UDP relay port 65535
 # 4) use min UDP relay port 32355 and max UDP relay port 65535
-# 5) --db="var/turndb" means that SQLite database "var/turndb" will be used.
+# 5) --db="var/db/turndb" means that SQLite database "var/db/turndb" will be used.
 # 6) "--cert=example_turn_server_cert.pem" sets the OpenSSL certificate file name. 
 # 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.
 # 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.
 # 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 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/
 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/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/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 $@

+ 4 - 2
man/man1/turnadmin.1

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

+ 6 - 3
man/man1/turnserver.1

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

+ 2 - 1
man/man1/turnutils.1

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

+ 2 - 1
postinstall.txt

@@ -16,7 +16,8 @@ service, you have to:
 	/usr/local/share/turnserver/schema.stats.redis
 	/usr/local/share/turnserver/schema.stats.redis
 	as Redis status & statistics database schema description.
 	as Redis status & statistics database schema description.
 	
 	
-	If you are using SQLite, the default database location is in /var/turndb.
+	If you are using SQLite, the default database location is in 
+	/var/db/turndb or in /usr/local/var/db/turndb.
 	 
 	 
 	c) add whatever is necessary to enable start-up daemon for the 
 	c) add whatever is necessary to enable start-up daemon for the 
 	/usr/local/bin/turnserver.
 	/usr/local/bin/turnserver.

BIN
sqlite/turndb


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

@@ -36,6 +36,30 @@ static int use_lt_credentials = 0;
 static int use_st_credentials = 0;
 static int use_st_credentials = 0;
 static int anon_credentials = 0;
 static int anon_credentials = 0;
 
 
+////// TURNDB //////////////
+
+#if defined(TURNDB)
+
+#if defined(Q)
+#undef Q
+#endif
+
+#define Q(x) #x
+
+#if defined(QUOTE)
+#undef QUOTE
+#endif
+
+#define QUOTE(x) Q(x)
+
+#define DEFAULT_USERDB_FILE QUOTE(TURNDB)
+
+#else
+
+#define DEFAULT_USERDB_FILE "/usr/local/var/db/turndb"
+
+#endif
+
 //////TURN PARAMS STRUCTURE DEFINITION //////
 //////TURN PARAMS STRUCTURE DEFINITION //////
 
 
 #define DEFAULT_GENERAL_RELAY_SERVERS_NUMBER (1)
 #define DEFAULT_GENERAL_RELAY_SERVERS_NUMBER (1)
@@ -413,7 +437,8 @@ static char Usage[] = "Usage: turnserver [options]\n"
 "						for the sessions, combined (input and output network streams are treated separately).\n"
 "						for the sessions, combined (input and output network streams are treated separately).\n"
 " -c				<filename>	Configuration file name (default - turnserver.conf).\n"
 " -c				<filename>	Configuration file name (default - turnserver.conf).\n"
 #if !defined(TURN_NO_SQLITE)
 #if !defined(TURN_NO_SQLITE)
-" -b, , --db, --userdb	<filename>		SQLite database file name (default - /var/turndb).\n"
+" -b, , --db, --userdb	<filename>		SQLite database file name; default - /var/db/turndb or\n"
+"										/usr/local/var/db/turndb.\n"
 #endif
 #endif
 #if !defined(TURN_NO_PQ)
 #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"
 " -e, --psql-userdb, --sql-userdb <conn-string>	PostgreSQL database connection string, if used (default - empty, no PostreSQL DB used).\n"
@@ -587,7 +612,8 @@ static char AdminUsage[] = "Usage: turnadmin [command] [options]\n"
 	"	-G, --list-realm-options	List realm params.\n"
 	"	-G, --list-realm-options	List realm params.\n"
 	"\nOptions with mandatory values:\n\n"
 	"\nOptions with mandatory values:\n\n"
 #if !defined(TURN_NO_SQLITE)
 #if !defined(TURN_NO_SQLITE)
-	"	-b, --db, --userdb		SQLite database file, default value is /var/turndb.\n"
+	"	-b, --db, --userdb		SQLite database file, default value is /var/db/turndb or\n"
+	"							/usr/local/var/db/turndb.\n"
 #endif
 #endif
 #if !defined(TURN_NO_PQ)
 #if !defined(TURN_NO_PQ)
 	"	-e, --psql-userdb, --sql-userdb	PostgreSQL user database connection string, if PostgreSQL DB is used.\n"
 	"	-e, --psql-userdb, --sql-userdb	PostgreSQL user database connection string, if PostgreSQL DB is used.\n"
@@ -1602,7 +1628,7 @@ static void print_features(unsigned long mfn)
 #endif
 #endif
 
 
 #if !defined(TURN_NO_SQLITE)
 #if !defined(TURN_NO_SQLITE)
-	TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "SQLite supported\n");
+	TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "SQLite supported, default database location is %s\n",DEFAULT_USERDB_FILE);
 #else
 #else
 	TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "SQLite is not supported\n");
 	TURN_LOG_FUNC(TURN_LOG_LEVEL_INFO, "SQLite is not supported\n");
 #endif
 #endif

+ 0 - 2
src/apps/relay/userdb.h

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