Changeset 65057
- Timestamp:
- Apr 15, 2015, 12:14:53 AM (9 years ago)
- Location:
- grass/trunk/db
- Files:
-
- 5 edited
-
db.login/db.login.html (modified) (4 diffs)
-
db.login/main.c (modified) (6 diffs)
-
drivers/mysql/db.c (modified) (2 diffs)
-
drivers/postgres/db.c (modified) (4 diffs)
-
drivers/postgres/listdb.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
grass/trunk/db/db.login/db.login.html
r63231 r65057 1 1 <h2>DESCRIPTION</h2> 2 2 3 <em>db.login</em> sets the user name and optionally also a password for 4 the connection to the selected <b>database</b> through the DB <b>driver</b>. 3 <em>db.login</em> sets login parameters such an user name and 4 optionally also a password, a hostname or a port for the connection to 5 the selected <b>database</b> through the DB <b>driver</b>. 5 6 6 7 <h2>NOTE</h2> 7 8 8 This is only related to SQL database backends 9 Options <b>host</b> and <b>port</b> are related to only SQL database 10 backends 9 11 like <a href="grass-pg.html">PostgreSQL</a>, <a href="grass-mysql.html">MySQL</a> 10 or <a href="grass-odbc.html">ODBC</a>. The passwords are stored in a 11 hidden, unencrypted file in the user account ('home' directory) 12 or <a href="grass-odbc.html">ODBC</a>. 13 14 <p> 15 Note that the passwords are stored in a hidden, <i>unencrypted</i> 16 file in the user account ('home' directory) 12 17 called <em>.grass7/dblogin</em>. Only the file owner can access this 13 18 file. … … 15 20 <h2>EXAMPLES</h2> 16 21 17 Only username specified: 22 Only username specified (assuming locally accessible PostgreSQL DB 23 without password): 18 24 19 25 <div class="code"><pre> 20 db.login user=bacava26 db.login driver=pg database=mydb 21 27 </pre></div> 22 28 23 29 <p> 24 Username and password specified (note that the command25 lineshistory will store the password in this way):30 Username, password and hostname specified (note that the command lines 31 history will store the password in this way): 26 32 27 33 <div class="code"><pre> 28 db.login user=bacava password=secret34 db.login driver=pg database=mydb user=bacava password=secret host=db.server.com 29 35 </pre></div> 30 36 31 37 <p> 32 Username and empty password specified (note that the command 33 lines history will store the password in this way): 38 Username and empty password specified: 34 39 35 40 <div class="code"><pre> 36 db.login user=bacava password=""41 db.login driver=pg database=mydb user=bacava password="" 37 42 </pre></div> 43 38 44 39 45 <h2>SEE ALSO</h2> … … 41 47 <em> 42 48 <a href="db.connect.html">db.connect</a>, 43 <a href="db.test.html">db.test</a> 49 <a href="db.test.html">db.test</a>, 50 <a href="db.tables.html">db.tables</a> 44 51 </em> 45 52 … … 49 56 <h2>AUTHOR</h2> 50 57 51 Radim Blazek 58 Radim Blazek<br> 59 Support for hostname and port by Martin Landa, OSGeoREL, Czech Technical University in Prague, Czech Republic (GRASS 7.1) 52 60 53 61 <p> -
grass/trunk/db/db.login/main.c
r60472 r65057 7 7 * Markus Neteler <neteler itc.it> 8 8 * PURPOSE: Store db login settings 9 * COPYRIGHT: (C) 2004-201 4by the GRASS Development Team9 * COPYRIGHT: (C) 2004-2015 by the GRASS Development Team 10 10 * 11 11 * This program is free software under the GNU General … … 30 30 int main(int argc, char *argv[]) 31 31 { 32 struct Option *driver, *database, *user, *password ;32 struct Option *driver, *database, *user, *password, *host, *port; 33 33 struct Flag *print; 34 34 struct GModule *module; … … 41 41 G_add_keyword(_("connection settings")); 42 42 module->description = _("Sets user/password for DB driver/database."); 43 43 module->overwrite = TRUE; 44 44 45 driver = G_define_standard_option(G_OPT_DB_DRIVER); 45 46 driver->options = db_list_drivers(); … … 56 57 user->required = NO; 57 58 user->multiple = NO; 58 user->description = _("Username to set for DB connection");59 user->description = _("Username"); 59 60 user->guisection = _("Settings"); 60 61 … … 64 65 password->required = NO; 65 66 password->multiple = NO; 66 password->description = _("Password to set for DB connection");67 password->description = _("Password"); 67 68 password->guisection = _("Settings"); 69 70 host = G_define_option(); 71 host->key = "host"; 72 host->type = TYPE_STRING; 73 host->required = NO; 74 host->multiple = NO; 75 host->label = _("Hostname"); 76 host->description = _("Relevant only for pg and mysql driver"); 77 host->guisection = _("Settings"); 78 79 port = G_define_option(); 80 port->key = "port"; 81 port->type = TYPE_STRING; 82 port->required = NO; 83 port->multiple = NO; 84 port->label = _("Port"); 85 port->description = _("Relevant only for pg and mysql driver"); 86 port->guisection = _("Settings"); 68 87 69 88 print = G_define_flag(); … … 81 100 } 82 101 83 if (db_set_login(driver->answer, database->answer, user->answer, 84 password->answer) == DB_FAILED) { 102 if (db_set_login2(driver->answer, database->answer, user->answer, 103 password->answer, host->answer, port->answer, 104 G_get_overwrite()) == DB_FAILED) { 85 105 G_fatal_error(_("Unable to set user/password")); 86 106 } 87 107 88 108 if (password->answer) 89 G_important_message(_("The password was stored in file (%s%cdblogin)"), G_config_path(), HOST_DIRSEP); 109 G_important_message(_("The password was stored in file (%s%cdblogin)"), 110 G_config_path(), HOST_DIRSEP); 90 111 91 112 exit(EXIT_SUCCESS); -
grass/trunk/db/drivers/mysql/db.c
r50443 r65057 38 38 { 39 39 /* Client version */ 40 const char *user, *password;40 const char *user, *password, *host, *port; 41 41 CONNPAR connpar; 42 42 … … 51 51 connpar.user, connpar.password); 52 52 53 db_get_login ("mysql", name, &user, &password);53 db_get_login2("mysql", name, &user, &password, &host, &port); 54 54 55 55 connection = mysql_init(NULL); 56 res = mysql_real_connect(connection, connpar.host, user, password,57 connpar.dbname, connpar.port, NULL, 0);56 res = mysql_real_connect(connection, host, user, password, 57 connpar.dbname, port, NULL, 0); 58 58 59 59 if (res == NULL) { -
grass/trunk/db/drivers/postgres/db.c
r53606 r65057 33 33 { 34 34 char buf[500]; 35 const char *name, *schema, *user, *password ;35 const char *name, *schema, *user, *password, *host, *port; 36 36 dbConnection connection; 37 37 PGCONN pgconn; … … 57 57 G_debug(3, 58 58 "db_driver_open_database(): host = %s, port = %s, options = %s, tty = %s, " 59 "dbname = %s, user = %s, password = %s, "59 "dbname = %s, user = %s, password = %s, host = %s, port = %s " 60 60 "schema = %s", pgconn.host, pgconn.port, pgconn.options, 61 61 pgconn.tty, pgconn.dbname, pgconn.user, pgconn.password, 62 pgconn.host, pgconn.port, 62 63 pgconn.schema); 63 64 64 db_get_login ("pg", name, &user, &password);65 66 pg_conn = PQsetdbLogin( pgconn.host, pgconn.port, pgconn.options, pgconn.tty,65 db_get_login2("pg", name, &user, &password, &host, &port); 66 67 pg_conn = PQsetdbLogin(host, port, pgconn.options, pgconn.tty, 67 68 pgconn.dbname, user, password); 68 69 … … 222 223 { 223 224 dbString stmt; 224 const char *template_db, *name, *user, *password ;225 const char *template_db, *name, *user, *password, *host, *port; 225 226 226 227 PGCONN pgconn; … … 238 239 G_debug(3, 239 240 "db_driver_create_database(): host = %s, port = %s, options = %s, tty = %s, " 240 "dbname = %s, user = %s, password = %s, "241 "dbname = %s, user = %s, password = %s, host = %s, port = %s" 241 242 "schema = %s", pgconn.host, pgconn.port, pgconn.options, 242 243 pgconn.tty, pgconn.dbname, pgconn.user, pgconn.password, 244 pgconn.host, pgconn.port, 243 245 pgconn.schema); 244 db_get_login ("pg", template_db, &user, &password);245 246 pg_conn = PQsetdbLogin( pgconn.host, pgconn.port, pgconn.options, pgconn.tty,246 db_get_login2("pg", template_db, &user, &password, &host, &port); 247 248 pg_conn = PQsetdbLogin(host, port, pgconn.options, pgconn.tty, 247 249 pgconn.dbname, user, password); 248 250 if (PQstatus(pg_conn) == CONNECTION_BAD) { -
grass/trunk/db/drivers/postgres/listdb.c
r60465 r65057 20 20 { 21 21 int i; 22 const char *user, *passwd ;22 const char *user, *passwd, *host, *port; 23 23 PGCONN pgconn; 24 24 PGresult *res; … … 43 43 } 44 44 45 G_debug(1, "db = %s, user = %s, pass = %s, host = %s, port = %s, options = %s, tty = %s", 45 G_debug(1, "db = %s, user = %s, pass = %s, " 46 "host = %s, port = %s, options = %s, tty = %s", 46 47 pgconn.dbname, pgconn.user, pgconn.password, pgconn.host, 47 48 pgconn.port, pgconn.options, pgconn.tty); 48 49 49 db_get_login ("pg", NULL, &user, &passwd);50 db_get_login2("pg", NULL, &user, &passwd, &host, &port); 50 51 G_debug(1, "user = %s, passwd = %s", user, passwd ? "xxx" : ""); 51 52 52 53 if (user || passwd) { 53 pg_conn = PQsetdbLogin( pgconn.host, pgconn.port, pgconn.options, pgconn.tty,54 pg_conn = PQsetdbLogin(host, port, pgconn.options, pgconn.tty, 54 55 "template1", user, passwd); 55 56 } 56 57 else { 57 58 pg_conn = 58 PQsetdb( pgconn.host, pgconn.port, pgconn.options, pgconn.tty,59 PQsetdb(host, port, pgconn.options, pgconn.tty, 59 60 "template1"); 60 61 }
Note:
See TracChangeset
for help on using the changeset viewer.
