2 # setup_users: setup MYSQL/PGSQL side of things for blootbot.
8 require "src/logger.pl";
9 require "src/modules.pl";
10 $bot_src_dir = "./src";
12 &loadConfig("files/blootbot.config");
15 my $dbname = $param{'DBName'};
19 print "error: appears that teh config file was not loaded properly.\n";
23 if ($param{'DBType'} =~ /mysql/i) {
25 print "Enter root information...\n";
28 chop (my $adminuser = <STDIN>);
33 chop(my $adminpass = <STDIN>);
37 if ($adminuser eq "" or $adminpass eq "") {
38 print "error: adminuser || adminpass is NULL.\n";
43 print "Step 1: Adding user information.\n";
46 &openDB("mysql", $adminuser, $adminpass);
49 if (!&dbGet("user","user",$param{'SQLUser'},"user")) {
50 print " Adding user $param{'SQLUser'} $dbname/user table...\n";
52 $query = "INSERT INTO user VALUES ".
53 "('localhost', '$param{'SQLUser'}', ".
54 "password('$param{'SQLPass'}'), ";
56 $query .= "'Y','Y','Y','Y','N','N','N','N','N','N','N','N','N','N')";
57 ### $query .= "'Y','Y','Y','Y','N','N','N','N','N','N')";
59 &dbRaw("create(user)", $query);
62 # Step 3. what's this for?
63 if (!&dbGet("db","db",$param{'SQLUser'},"db")) {
64 print " Adding 'db' entry\n";
66 $query = "INSERT INTO db VALUES ".
67 "('localhost', '$dbname', ".
68 "'$param{'SQLUser'}', ";
70 $query .= "'Y','Y','Y','Y','Y','N','N','N','N','N')";
71 ### $query .= "'Y','Y','Y','Y','Y','N')";
73 &dbRaw("create(db)", $query);
77 print " Granting user access to table.\n";
78 $query = "GRANT SELECT,INSERT,UPDATE,DELETE ON $dbname TO $param{'SQLUser'}";
82 print "Flushing privileges...\n";
83 $query = "FLUSH PRIVILEGES"; # DOES NOT WORK on slink?
84 &dbRaw("mysql(flush)", $query);
87 print "Creating database $param{'DBName'}...\n";
88 $query = "CREATE DATABASE $param{'DBName'}";
89 &dbRaw("create(db $param{'DBName'})", $query);
90 } elsif ($param{'DBType'} =~ /pg|postgres/i) {