Changeset: 7df75c547dcc for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7df75c547dcc
Modified Files:
monetdb5/mal/mal_authorize.c
sql/server/rel_schema.c
Branch: remote_auth
Log Message:
Register the correct URI
The credentials are for logging in a database, so we need to keep the
database (mapi:monetdb://host:port/database) part of the credentials
in the vault.
diffs (32 lines):
diff --git a/monetdb5/mal/mal_authorize.c b/monetdb5/mal/mal_authorize.c
--- a/monetdb5/mal/mal_authorize.c
+++ b/monetdb5/mal/mal_authorize.c
@@ -978,11 +978,11 @@ AUTHgetRemoteTableCredentials(const char
/* mem leak */
rethrow("checkCredentials", tmp, AUTHrequireAdminOrUser(cntxt,
localuser));
- /* if (strcmp(uri, luri)) { */
- /* GDKfree(luri); */
- /* GDKfree(localuser); */
- /* throw(MAL, "getRemoteTableCredentials", SQLSTATE(HY001) "URIs
do not match"); */
- /* } */
+ if (strcmp(uri, luri)) {
+ GDKfree(luri);
+ GDKfree(localuser);
+ throw(MAL, "getRemoteTableCredentials", SQLSTATE(HY001) "URIs
do not match");
+ }
GDKfree(luri);
GDKfree(localuser);
diff --git a/sql/server/rel_schema.c b/sql/server/rel_schema.c
--- a/sql/server/rel_schema.c
+++ b/sql/server/rel_schema.c
@@ -950,7 +950,7 @@ rel_create_table(mvc *sql, sql_schema *s
char *local_user = stack_get_string(sql,
"current_user");
if (!mapiuri_valid(loc))
return sql_error(sql, 02, SQLSTATE(42000)
"CREATE TABLE: incorrect uri '%s' for remote table '%s'", loc, name);
- char *reg_credentials =
AUTHaddRemoteTableCredentials(loc, local_user, username, password,
pw_encrypted);
+ char *reg_credentials =
AUTHaddRemoteTableCredentials(mapiuri_uri(loc, sql->sa), local_user, username,
password, pw_encrypted);
if (reg_credentials != 0) {
return sql_error(sql, 02, SQLSTATE(42000)
"CREATE TABLE: cannot register credentials for remote table '%s' in vault: %s",
name, reg_credentials);
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list