From 44ebf4e9808117a41d4ca321e3b7f0a105e041cc Mon Sep 17 00:00:00 2001 From: dms Date: Thu, 14 Sep 2000 13:29:51 +0000 Subject: [PATCH] script merge, doc update git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@101 c11ca15a-4712-0410-83d8-924469b57eb5 --- scripts/{setup_tables.pl => setup_sql.pl} | 77 +++++++++++++++++- scripts/setup_users.pl | 97 ----------------------- 2 files changed, 74 insertions(+), 100 deletions(-) rename scripts/{setup_tables.pl => setup_sql.pl} (75%) delete mode 100755 scripts/setup_users.pl diff --git a/scripts/setup_tables.pl b/scripts/setup_sql.pl similarity index 75% rename from scripts/setup_tables.pl rename to scripts/setup_sql.pl index d2e7cca..f7c66e3 100755 --- a/scripts/setup_tables.pl +++ b/scripts/setup_sql.pl @@ -7,6 +7,7 @@ require "src/core.pl"; require "src/logger.pl"; require "src/modules.pl"; require "src/Misc.pl"; +require "src/interface.pl"; $bot_src_dir = "./src/"; @@ -23,7 +24,26 @@ if ($dbname eq "") { if ($param{'DBType'} =~ /mysql/i) { use DBI; - &openDB($param{'DBName'}, $param{'SQLUser'}, $param{'SQLPass'}); + + print "Enter root information...\n"; + # username. + print "Username: "; + chop (my $adminuser = ); + + # passwd. + system "stty -echo"; + print "Password: "; + chop(my $adminpass = ); + print "\n"; + system "stty echo"; + + if ($adminuser eq "" or $adminpass eq "") { + &ERROR("error: adminuser || adminpass is NULL."); + exit 1; + } + + # open the db. + &openDB($dbname, $adminuser, $adminpass); # retrieve a list of db's from the server. my %db; @@ -134,6 +154,57 @@ if ($param{'DBType'} =~ /mysql/i) { &dbRaw("create(seen)", $query); } + + ### USER SETUP. + &closeDB(); + &openDB("mysql", $adminuser, $adminpass); + + # Step 1. + &status("Step 1: Adding user information."); + + # Step 2. + if (!&dbGet("user","user",$param{'SQLUser'},"user")) { + &status(" Adding user $param{'SQLUser'} $dbname/user table..."); + + $query = "INSERT INTO user VALUES ". + "('localhost', '$param{'SQLUser'}', ". + "password('$param{'SQLPass'}'), "; + + $query .= "'Y','Y','Y','Y','N','N','N','N','N','N','N','N','N','N')"; +### $query .= "'Y','Y','Y','Y','N','N','N','N','N','N')"; + + &dbRaw("create(user)", $query); + } + + # Step 3. what's this for? + if (!&dbGet("db","db",$param{'SQLUser'},"db")) { + &status(" Adding 'db' entry"); + + $query = "INSERT INTO db VALUES ". + "('localhost', '$dbname', ". + "'$param{'SQLUser'}', "; + + $query .= "'Y','Y','Y','Y','Y','N','N','N','N','N')"; +### $query .= "'Y','Y','Y','Y','Y','N')"; + + &dbRaw("create(db)", $query); + } + + # grant. + &status(" Granting user access to table."); + $query = "GRANT SELECT,INSERT,UPDATE,DELETE ON $dbname TO $param{'SQLUser'}"; + &dbRaw("??", $query); + + # flush. + &status("Flushing privileges..."); + $query = "FLUSH PRIVILEGES"; # DOES NOT WORK on slink? + &dbRaw("mysql(flush)", $query); + + # create database. + &status("Creating database $param{'DBName'}..."); + $query = "CREATE DATABASE $param{'DBName'}"; + &dbRaw("create(db $param{'DBName'})", $query); + } elsif ($param{'DBType'} =~ /pgsql|postgres/i) { if ($param{'DBType'} =~ /pgsql|postgres/i) { use Pg; } # for runtime. my $dbh = Pg::connectdb("dbname=$dbname"); @@ -257,6 +328,6 @@ if ($param{'DBType'} =~ /mysql/i) { } } -&closeDB(); - print "Done.\n"; + +&closeDB(); diff --git a/scripts/setup_users.pl b/scripts/setup_users.pl deleted file mode 100755 index 9c1c200..0000000 --- a/scripts/setup_users.pl +++ /dev/null @@ -1,97 +0,0 @@ -#!/usr/bin/perl -# setup_users: setup MYSQL/PGSQL side of things for blootbot. -# written by the xk. -### - -require "src/core.pl"; -require "src/Misc.pl"; -require "src/logger.pl"; -require "src/modules.pl"; -$bot_src_dir = "./src"; - -&loadConfig("files/blootbot.config"); -&loadDBModules(); - -my $dbname = $param{'DBName'}; -my $query; - -if ($dbname eq "") { - print "error: appears that teh config file was not loaded properly.\n"; - exit 1; -} - -if ($param{'DBType'} =~ /mysql/i) { - - print "Enter root information...\n"; - # username. - print "Username: "; - chop (my $adminuser = ); - - # passwd. - system "stty -echo"; - print "Password: "; - chop(my $adminpass = ); - print "\n"; - system "stty echo"; - - if ($adminuser eq "" or $adminpass eq "") { - print "error: adminuser || adminpass is NULL.\n"; - exit 1; - } - - # Step 1. - print "Step 1: Adding user information.\n"; - - # open the db. - &openDB("mysql", $adminuser, $adminpass); - - # Step 2. - if (!&dbGet("user","user",$param{'SQLUser'},"user")) { - print " Adding user $param{'SQLUser'} $dbname/user table...\n"; - - $query = "INSERT INTO user VALUES ". - "('localhost', '$param{'SQLUser'}', ". - "password('$param{'SQLPass'}'), "; - - $query .= "'Y','Y','Y','Y','N','N','N','N','N','N','N','N','N','N')"; -### $query .= "'Y','Y','Y','Y','N','N','N','N','N','N')"; - - &dbRaw("create(user)", $query); - } - - # Step 3. what's this for? - if (!&dbGet("db","db",$param{'SQLUser'},"db")) { - print " Adding 'db' entry\n"; - - $query = "INSERT INTO db VALUES ". - "('localhost', '$dbname', ". - "'$param{'SQLUser'}', "; - - $query .= "'Y','Y','Y','Y','Y','N','N','N','N','N')"; -### $query .= "'Y','Y','Y','Y','Y','N')"; - - &dbRaw("create(db)", $query); - } - - # grant. - print " Granting user access to table.\n"; - $query = "GRANT SELECT,INSERT,UPDATE,DELETE ON $dbname TO $param{'SQLUser'}"; - &dbRaw("??", $query); - - # flush. - print "Flushing privileges...\n"; - $query = "FLUSH PRIVILEGES"; # DOES NOT WORK on slink? - &dbRaw("mysql(flush)", $query); - - # create database. - print "Creating database $param{'DBName'}...\n"; - $query = "CREATE DATABASE $param{'DBName'}"; - &dbRaw("create(db $param{'DBName'})", $query); -} elsif ($param{'DBType'} =~ /pg|postgres/i) { - use Pg; -# &openDB(); - - print "FIXME\n"; -} - -&closeDB(); -- 2.39.2