[sr-dev] git:master:31380513: kamctl: expose db root password variable used by kamdbctl.mysql in kamctlrc
Daniel-Constantin Mierla
miconda at gmail.com
Fri Dec 1 11:08:49 CET 2017
Module: kamailio
Branch: master
Commit: 313805136d22ed79d1c4900753247032240d5a5b
URL: https://github.com/kamailio/kamailio/commit/313805136d22ed79d1c4900753247032240d5a5b
Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2017-12-01T11:05:21+01:00
kamctl: expose db root password variable used by kamdbctl.mysql in kamctlrc
- DBROOTPW can be now set in kamctlrc
- targeting use for automatic testing
---
Modified: utils/kamctl/kamctlrc
Modified: utils/kamctl/kamdbctl.mysql
---
Diff: https://github.com/kamailio/kamailio/commit/313805136d22ed79d1c4900753247032240d5a5b.diff
Patch: https://github.com/kamailio/kamailio/commit/313805136d22ed79d1c4900753247032240d5a5b.patch
---
diff --git a/utils/kamctl/kamctlrc b/utils/kamctl/kamctlrc
index 6ac3cd4c2e..46fcdf5664 100644
--- a/utils/kamctl/kamctlrc
+++ b/utils/kamctl/kamctlrc
@@ -47,6 +47,11 @@
## database super user (for ORACLE this is 'scheme-creator' user)
# DBROOTUSER="root"
+## password for database super user
+## - important: this is insecure, targeting the use only for automatic testing
+## - known to work for: mysql
+# DBROOTPW="dbrootpw"
+
## database character set (used by MySQL when creating database)
#CHARSET="latin1"
diff --git a/utils/kamctl/kamdbctl.mysql b/utils/kamctl/kamdbctl.mysql
index 8d090fc7fe..422eed8beb 100644
--- a/utils/kamctl/kamdbctl.mysql
+++ b/utils/kamctl/kamdbctl.mysql
@@ -32,10 +32,10 @@ if [ -z "$DBROOTUSER" ]; then
DBROOTUSER="root"
fi
-# Uncomment this to set the database root password if you want to run this
-# script without any user prompt. This is unsafe, but useful e.g. for
-# automatic testing.
-#PW=""
+# Set DBROOTPW in kamctlrc or via next line to set the database
+# root password if you want to run this script without any user prompt.
+# This is unsafe, but useful e.g. for automatic testing.
+#DBROOTPW=""
if [ -z "$DBPORT" ] ; then
@@ -55,13 +55,13 @@ prompt_pw()
savetty=`stty -g`
echo -n "MySQL password for $DBROOTUSER: "
stty -echo
- read PW
+ read DBROOTPW
stty $savetty
echo
- export PW
+ export DBROOTPW
}
-# execute sql command with optional db name
+# execute sql command with optional db name
# and password parameters given
sql_query()
{
@@ -72,14 +72,14 @@ sql_query()
DB=""
fi
shift
- if [ -n "$PW" ]; then
- $CMD "-p$PW" $DB -e "$@"
+ if [ -n "$DBROOTPW" ]; then
+ $CMD "-p$DBROOTPW" $DB -e "$@"
else
$CMD $DB -e "$@"
fi
else
- if [ -n "$PW" ]; then
- $CMD "-p$PW" "$@"
+ if [ -n "$DBROOTPW" ]; then
+ $CMD "-p$DBROOTPW" "$@"
else
$CMD "$@"
fi
@@ -106,9 +106,9 @@ kamailio_drop() # pars: <database name>
db_charset_test()
{
- if [ -n "$PW" ]; then
- CURRCHARSET=`echo "show variables like '%character_set_server%'" | $CMD "-p$PW" | $AWK '{print $2}' | $SED -e 1d`
- ALLCHARSETS=`echo "show character set" | $CMD "-p$PW" | $AWK '{print $1}' | $SED -e 1d | $GREP -iv -e "utf8\|ucs2"`
+ if [ -n "$DBROOTPW" ]; then
+ CURRCHARSET=`echo "show variables like '%character_set_server%'" | $CMD "-p$DBROOTPW" | $AWK '{print $2}' | $SED -e 1d`
+ ALLCHARSETS=`echo "show character set" | $CMD "-p$DBROOTPW" | $AWK '{print $1}' | $SED -e 1d | $GREP -iv -e "utf8\|ucs2"`
else
CURRCHARSET=`echo "show variables like '%character_set_server%'" | $CMD | $AWK '{print $2}' | $SED -e 1d`
ALLCHARSETS=`echo "show character set" | $CMD | $AWK '{print $1}' | $SED -e 1d | $GREP -iv -e "utf8\|ucs2"`
@@ -386,7 +386,7 @@ migrate_table () # 4 paremeters (dst_table, dst_cols, src_table, src_cols)
if [ $? -ne 0 ] ; then
echo $X | $GREP "ERROR 1146" > /dev/null
- if [ $? -eq 0 ] ; then
+ if [ $? -eq 0 ] ; then
echo " -- Migrating $3 to $1.....SKIPPED (no source)"
return 0
fi
@@ -540,9 +540,9 @@ fi
} #end migrate_db()
-export PW
-if [ "$#" -ne 0 ] && [ "$PW" = "" ]; then
- if [ "$PWSKIP" = "" ]; then
+export DBROOTPW
+if [ "$#" -ne 0 ] && [ "$DBROOTPW" = "" ]; then
+ if [ "$DBROOTPWSKIP" = "" ]; then
prompt_pw
fi
fi
More information about the sr-dev
mailing list