2 # setup_users: setup MYSQL/PGSQL side of things for blootbot.
8 require "src/logger.pl";
10 &loadConfig("files/blootbot.config");
11 my $dbname = $param{'DBName'};
15 print "error: appears that teh config file was not loaded properly.\n";
19 if ($param{'DBType'} =~ /mysql/i) {
21 print "hi there.\n\n";
23 print "if you're running a new version of mysql (debian potato), run\n";
24 print "this script with the '1' parameter while '0' for older versions\n";
25 print "(debian slink).\n";
30 if ($ARGV[0] =~ /^\d+$/) {
33 } elsif ($ARGV[0] == 1) {
36 print "error: wrong integer?\n";
39 print "error: wrong argument?\n";
43 print "Enter root information...\n";
46 chop (my $adminuser = <STDIN>);
51 chop(my $adminpass = <STDIN>);
55 if ($adminuser eq "" or $adminpass eq "") {
56 print "error: adminuser || adminpass is NULL.\n";
61 print "Step 1: Adding user information.\n";
67 if (!&sqlGet("user","user",$param{'mysqlUser'},"user")) {
68 print " Adding user $param{'mysqlUser'} $dbname/user table...\n";
70 $query = "INSERT INTO user VALUES ".
71 "('localhost', '$param{'mysqlUser'}', ".
72 "password('$param{'mysqlPass'}'), ";
75 $query .= "'Y','Y','Y','Y','N','N','N','N','N','N','N','N','N','N')";
77 $query .= "'Y','Y','Y','Y','N','N','N','N','N','N')";
80 &dbRaw("create(user)", $query);
83 # Step 3. what's this for?
84 if (!&sqlGet("db","db",$param{'mysqlUser'},"db")) {
85 print " Adding 'db' entry\n";
87 $query = "INSERT INTO db VALUES ".
88 "('localhost', '$dbname', ".
89 "'$param{'mysqlUser'}', ";
92 $query .= "'Y','Y','Y','Y','Y','N','N','N','N','N')";
94 $query .= "'Y','Y','Y','Y','Y','N')";
97 &dbRaw("create(db)", $query);
101 print " Granting user access to table.\n";
102 $query = "GRANT SELECT,INSERT,UPDATE,DELETE ON $dbname TO $param{'mysqlUser'}";
106 print "Flushing privileges...\n";
107 $query = "FLUSH PRIVILEGES"; # DOES NOT WORK on slink?
108 &dbRaw("mysql(flush)", $query);
111 print "Creating database $param{'DBName'}...\n";
112 $query = "CREATE DATABASE $param{'DBName'}";
113 &dbRaw("create(db $param{'DBName'})", $query);
114 } elsif ($param{'DBType'} =~ /pg|postgres/i) {