Changeset: c5f51089e9fa for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c5f51089e9fa
Removed Files:
        sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.sql
        sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.err
        sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        monetdb5/ChangeLog
        monetdb5/mal/mal.c
        monetdb5/mal/mal_authorize.c
        monetdb5/mal/mal_authorize.h
        monetdb5/mal/mal_client.c
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_instruction.h
        monetdb5/mal/mal_module.c
        monetdb5/mal/mal_parser.c
        monetdb5/mal/mal_session.c
        monetdb5/modules/atoms/batxml.c
        monetdb5/modules/atoms/inet.c
        monetdb5/modules/kernel/batcolor.c
        monetdb5/modules/kernel/batstr.c
        monetdb5/modules/mal/clients.c
        sql/backends/monet5/mal_backend.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql.h
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_gencode.h
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/sql_statement.c
        sql/backends/monet5/sql_statement.h
        sql/backends/monet5/sql_user.c
        sql/backends/monet5/sqlcatalog.mal
        sql/server/rel_psm.c
        sql/server/rel_schema.c
        sql/server/rel_sequence.c
        sql/storage/store.c
        sql/test/BugTracker-2009/Tests/All
        
sql/test/BugTracker-2010/Tests/error-truncated.Bug-2615.stable.err.Darwin
        
sql/test/BugTracker-2010/Tests/error-truncated.Bug-2615.stable.err.Windows
        
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out.32bit
        tools/merovingian/daemon/controlrunner.c
        tools/mserver/mserver5.c
        tools/mserver/shutdowntest.c
Branch: batcalc-candidates
Log Message:

Merge with default branch.


diffs (truncated from 2532 to 300 lines):

diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -8463,19 +8463,19 @@ Ready.
 [ "sqlblob",   "sqlblob",      "command sqlblob.sqlblob(s:str):sqlblob ",      
"BLOBsqlblob_fromstr;", ""      ]
 [ "sqlcatalog",        "alter_add_table",      "pattern 
sqlcatalog.alter_add_table(sname:str, mtnme:str, psnme:str, ptnme:str, 
action:int):void ",     "SQLalter_add_table;",  "Catalog operation 
alter_add_table"     ]
 [ "sqlcatalog",        "alter_del_table",      "pattern 
sqlcatalog.alter_del_table(sname:str, mtnme:str, psnme:str, ptnme:str, 
action:int):void ",     "SQLalter_del_table;",  "Catalog operation 
alter_del_table"     ]
-[ "sqlcatalog",        "alter_seq",    "pattern 
sqlcatalog.alter_seq(sname:str, seq:ptr, val:lng):void ",      "SQLalter_seq;", 
       "Catalog operation alter_seq"   ]
+[ "sqlcatalog",        "alter_seq",    "pattern 
sqlcatalog.alter_seq(sname:str, seqname:str, seq:ptr, val:lng):void ", 
"SQLalter_seq;",        "Catalog operation alter_seq"   ]
 [ "sqlcatalog",        "alter_set_table",      "pattern 
sqlcatalog.alter_set_table(sname:str, tnme:str, access:int):void ",    
"SQLalter_set_table;",  "Catalog operation alter_set_table"     ]
-[ "sqlcatalog",        "alter_table",  "pattern 
sqlcatalog.alter_table(sname:str, tbl:ptr, action:int):void ", 
"SQLalter_table;",      "Catalog operation alter_table" ]
+[ "sqlcatalog",        "alter_table",  "pattern 
sqlcatalog.alter_table(sname:str, tname:str, tbl:ptr, action:int):void ",      
"SQLalter_table;",      "Catalog operation alter_table" ]
 [ "sqlcatalog",        "alter_user",   "pattern 
sqlcatalog.alter_user(sname:str, passwrd:str, enc:int, schema:str, 
oldpasswrd:str):void ",     "SQLalter_user;",       "Catalog operation 
alter_user"  ]
-[ "sqlcatalog",        "create_function",      "pattern 
sqlcatalog.create_function(sname:str, fcn:ptr):void ", "SQLcreate_function;",  
"Catalog operation create_function"     ]
+[ "sqlcatalog",        "create_function",      "pattern 
sqlcatalog.create_function(sname:str, fname:str, fcn:ptr):void ",      
"SQLcreate_function;",  "Catalog operation create_function"     ]
 [ "sqlcatalog",        "create_role",  "pattern 
sqlcatalog.create_role(sname:str, role:str, grator:int):void ",        
"SQLcreate_role;",      "Catalog operation create_role" ]
 [ "sqlcatalog",        "create_schema",        "pattern 
sqlcatalog.create_schema(sname:str, auth:str, action:int):void ",      
"SQLcreate_schema;",    "Catalog operation create_schema"       ]
-[ "sqlcatalog",        "create_seq",   "pattern 
sqlcatalog.create_seq(sname:str, seq:ptr, action:int):void ",  
"SQLcreate_seq;",       "Catalog operation create_seq"  ]
-[ "sqlcatalog",        "create_table", "pattern 
sqlcatalog.create_table(sname:str, tbl:ptr, temp:int):void ",  
"SQLcreate_table;",     "Catalog operation create_table"        ]
+[ "sqlcatalog",        "create_seq",   "pattern 
sqlcatalog.create_seq(sname:str, seqname:str, seq:ptr, action:int):void ",     
"SQLcreate_seq;",       "Catalog operation create_seq"  ]
+[ "sqlcatalog",        "create_table", "pattern 
sqlcatalog.create_table(sname:str, tname:str, tbl:ptr, temp:int):void ",       
"SQLcreate_table;",     "Catalog operation create_table"        ]
 [ "sqlcatalog",        "create_trigger",       "pattern 
sqlcatalog.create_trigger(sname:str, tname:str, triggername:str, time:int, 
orientation:int, event:int, old:str, new:str, cond:str, qry:str):void ",    
"SQLcreate_trigger;",   "Catalog operation create_trigger"      ]
 [ "sqlcatalog",        "create_type",  "pattern 
sqlcatalog.create_type(sname:str, nme:str, impl:str):void ",   
"SQLcreate_type;",      "Catalog operation create_type" ]
 [ "sqlcatalog",        "create_user",  "pattern 
sqlcatalog.create_user(sname:str, passwrd:str, enc:int, schema:str, 
fullname:str):void ",      "SQLcreate_user;",      "Catalog operation 
create_user" ]
-[ "sqlcatalog",        "create_view",  "pattern 
sqlcatalog.create_view(sname:str, tbl:ptr, temp:int):void ",   
"SQLcreate_view;",      "Catalog operation create_view" ]
+[ "sqlcatalog",        "create_view",  "pattern 
sqlcatalog.create_view(sname:str, vname:str, tbl:ptr, temp:int):void ",        
"SQLcreate_view;",      "Catalog operation create_view" ]
 [ "sqlcatalog",        "drop_constraint",      "pattern 
sqlcatalog.drop_constraint(sname:str, name:str, action:int):void ",    
"SQLdrop_constraint;",  "Catalog operation drop_constraint"     ]
 [ "sqlcatalog",        "drop_function",        "pattern 
sqlcatalog.drop_function(sname:str, fname:str, fid:int, type:int, 
action:int):void ",  "SQLdrop_function;",    "Catalog operation drop_function"  
     ]
 [ "sqlcatalog",        "drop_index",   "pattern 
sqlcatalog.drop_index(sname:str, iname:str, action:int):void ",        
"SQLdrop_index;",       "Catalog operation drop_index"  ]
@@ -8654,8 +8654,6 @@ Ready.
 [ "url",       "url",  "command url.url(s:url):url ",  "URLnoop;",     "Create 
an URL from a string literal"   ]
 [ "user",      "main", "function user.main():void;",   "",     ""      ]
 [ "user",      "main", "function user.main():void;",   "",     ""      ]
-[ "user",      "main", "function user.main():void;",   "",     ""      ]
-[ "user",      "main", "function user.main():void;",   "",     ""      ]
 [ "user",      "s2_1", "function user.s2_1():void;",   "",     ""      ]
 [ "uuid",      "#cmp", "command uuid.#cmp():void ",    "UUIDcompare;", ""      
]
 [ "uuid",      "#fromstr",     "command uuid.#fromstr():void ",        
"UUIDfromString;",      ""      ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128 
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -10827,19 +10827,19 @@ Ready.
 [ "sqlblob",   "sqlblob",      "command sqlblob.sqlblob(s:str):sqlblob ",      
"BLOBsqlblob_fromstr;", ""      ]
 [ "sqlcatalog",        "alter_add_table",      "pattern 
sqlcatalog.alter_add_table(sname:str, mtnme:str, psnme:str, ptnme:str, 
action:int):void ",     "SQLalter_add_table;",  "Catalog operation 
alter_add_table"     ]
 [ "sqlcatalog",        "alter_del_table",      "pattern 
sqlcatalog.alter_del_table(sname:str, mtnme:str, psnme:str, ptnme:str, 
action:int):void ",     "SQLalter_del_table;",  "Catalog operation 
alter_del_table"     ]
-[ "sqlcatalog",        "alter_seq",    "pattern 
sqlcatalog.alter_seq(sname:str, seq:ptr, val:lng):void ",      "SQLalter_seq;", 
       "Catalog operation alter_seq"   ]
+[ "sqlcatalog",        "alter_seq",    "pattern 
sqlcatalog.alter_seq(sname:str, seqname:str, seq:ptr, val:lng):void ", 
"SQLalter_seq;",        "Catalog operation alter_seq"   ]
 [ "sqlcatalog",        "alter_set_table",      "pattern 
sqlcatalog.alter_set_table(sname:str, tnme:str, access:int):void ",    
"SQLalter_set_table;",  "Catalog operation alter_set_table"     ]
-[ "sqlcatalog",        "alter_table",  "pattern 
sqlcatalog.alter_table(sname:str, tbl:ptr, action:int):void ", 
"SQLalter_table;",      "Catalog operation alter_table" ]
+[ "sqlcatalog",        "alter_table",  "pattern 
sqlcatalog.alter_table(sname:str, tname:str, tbl:ptr, action:int):void ",      
"SQLalter_table;",      "Catalog operation alter_table" ]
 [ "sqlcatalog",        "alter_user",   "pattern 
sqlcatalog.alter_user(sname:str, passwrd:str, enc:int, schema:str, 
oldpasswrd:str):void ",     "SQLalter_user;",       "Catalog operation 
alter_user"  ]
-[ "sqlcatalog",        "create_function",      "pattern 
sqlcatalog.create_function(sname:str, fcn:ptr):void ", "SQLcreate_function;",  
"Catalog operation create_function"     ]
+[ "sqlcatalog",        "create_function",      "pattern 
sqlcatalog.create_function(sname:str, fname:str, fcn:ptr):void ",      
"SQLcreate_function;",  "Catalog operation create_function"     ]
 [ "sqlcatalog",        "create_role",  "pattern 
sqlcatalog.create_role(sname:str, role:str, grator:int):void ",        
"SQLcreate_role;",      "Catalog operation create_role" ]
 [ "sqlcatalog",        "create_schema",        "pattern 
sqlcatalog.create_schema(sname:str, auth:str, action:int):void ",      
"SQLcreate_schema;",    "Catalog operation create_schema"       ]
-[ "sqlcatalog",        "create_seq",   "pattern 
sqlcatalog.create_seq(sname:str, seq:ptr, action:int):void ",  
"SQLcreate_seq;",       "Catalog operation create_seq"  ]
-[ "sqlcatalog",        "create_table", "pattern 
sqlcatalog.create_table(sname:str, tbl:ptr, temp:int):void ",  
"SQLcreate_table;",     "Catalog operation create_table"        ]
+[ "sqlcatalog",        "create_seq",   "pattern 
sqlcatalog.create_seq(sname:str, seqname:str, seq:ptr, action:int):void ",     
"SQLcreate_seq;",       "Catalog operation create_seq"  ]
+[ "sqlcatalog",        "create_table", "pattern 
sqlcatalog.create_table(sname:str, tname:str, tbl:ptr, temp:int):void ",       
"SQLcreate_table;",     "Catalog operation create_table"        ]
 [ "sqlcatalog",        "create_trigger",       "pattern 
sqlcatalog.create_trigger(sname:str, tname:str, triggername:str, time:int, 
orientation:int, event:int, old:str, new:str, cond:str, qry:str):void ",    
"SQLcreate_trigger;",   "Catalog operation create_trigger"      ]
 [ "sqlcatalog",        "create_type",  "pattern 
sqlcatalog.create_type(sname:str, nme:str, impl:str):void ",   
"SQLcreate_type;",      "Catalog operation create_type" ]
 [ "sqlcatalog",        "create_user",  "pattern 
sqlcatalog.create_user(sname:str, passwrd:str, enc:int, schema:str, 
fullname:str):void ",      "SQLcreate_user;",      "Catalog operation 
create_user" ]
-[ "sqlcatalog",        "create_view",  "pattern 
sqlcatalog.create_view(sname:str, tbl:ptr, temp:int):void ",   
"SQLcreate_view;",      "Catalog operation create_view" ]
+[ "sqlcatalog",        "create_view",  "pattern 
sqlcatalog.create_view(sname:str, vname:str, tbl:ptr, temp:int):void ",        
"SQLcreate_view;",      "Catalog operation create_view" ]
 [ "sqlcatalog",        "drop_constraint",      "pattern 
sqlcatalog.drop_constraint(sname:str, name:str, action:int):void ",    
"SQLdrop_constraint;",  "Catalog operation drop_constraint"     ]
 [ "sqlcatalog",        "drop_function",        "pattern 
sqlcatalog.drop_function(sname:str, fname:str, fid:int, type:int, 
action:int):void ",  "SQLdrop_function;",    "Catalog operation drop_function"  
     ]
 [ "sqlcatalog",        "drop_index",   "pattern 
sqlcatalog.drop_index(sname:str, iname:str, action:int):void ",        
"SQLdrop_index;",       "Catalog operation drop_index"  ]
@@ -11019,8 +11019,6 @@ Ready.
 [ "url",       "url",  "command url.url(s:url):url ",  "URLnoop;",     "Create 
an URL from a string literal"   ]
 [ "user",      "main", "function user.main():void;",   "",     ""      ]
 [ "user",      "main", "function user.main():void;",   "",     ""      ]
-[ "user",      "main", "function user.main():void;",   "",     ""      ]
-[ "user",      "main", "function user.main():void;",   "",     ""      ]
 [ "user",      "s2_1", "function user.s2_1():void;",   "",     ""      ]
 [ "uuid",      "#cmp", "command uuid.#cmp():void ",    "UUIDcompare;", ""      
]
 [ "uuid",      "#fromstr",     "command uuid.#fromstr():void ",        
"UUIDfromString;",      ""      ]
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -740,19 +740,19 @@ str ALGunique1(bat *result, const bat *b
 str ALGunique2(bat *result, const bat *bid, const bat *sid);
 str ALGvariance(dbl *res, const bat *bid);
 str ALGvariancep(dbl *res, const bat *bid);
-str AUTHaddUser(oid *ret, Client c, str *user, str *pass);
-str AUTHchangePassword(Client c, str *oldpass, str *passwd);
-str AUTHchangeUsername(Client c, str *olduser, str *newuser);
-str AUTHcheckCredentials(oid *ret, Client c, str *user, str *passwd, str 
*challenge, str *algo);
-str AUTHgetPasswordHash(str *ret, Client c, str *username);
+str AUTHaddUser(oid *ret, Client c, const char *user, const char *pass);
+str AUTHchangePassword(Client c, const char *oldpass, const char *passwd);
+str AUTHchangeUsername(Client c, const char *olduser, const char *newuser);
+str AUTHcheckCredentials(oid *ret, Client c, const char *user, const char 
*passwd, const char *challenge, const char *algo);
+str AUTHgetPasswordHash(str *ret, Client c, const char *username);
 str AUTHgetUsername(str *ret, Client c);
 str AUTHgetUsers(BAT **ret1, BAT **ret2, Client c);
-str AUTHinitTables(str *passwd);
-str AUTHremoveUser(Client c, str *username);
+str AUTHinitTables(const char *passwd);
+str AUTHremoveUser(Client c, const char *username);
 void AUTHreset(void) __attribute__((__visibility__("hidden")));
-str AUTHresolveUser(str *ret, oid *uid);
-str AUTHsetPassword(Client c, str *username, str *passwd);
-str AUTHunlockVault(str *password);
+str AUTHresolveUser(str *ret, oid uid);
+str AUTHsetPassword(Client c, const char *username, const char *passwd);
+str AUTHunlockVault(const char *password);
 str BATPCREilike(bat *ret, const bat *b, const str *pat, const str *esc);
 str BATPCREilike2(bat *ret, const bat *b, const str *pat);
 str BATPCRElike(bat *ret, const bat *b, const str *pat, const str *esc);
@@ -1177,7 +1177,7 @@ str INETnetmask(inet *retval, const inet
 str INETnetwork(inet *retval, const inet *val);
 str INETnew(inet *retval, str *in);
 inet *INETnull(void);
-str INETsetmasklen(inet *retval, const inet *val, const int *mask);
+str INETsetmasklen(inet *retval, const inet *val, const int *msk);
 str INETtext(str *retval, const inet *val);
 int INETtoString(str *retval, int *len, const inet *handle);
 str INSPECTatom_names(bat *ret);
@@ -2263,7 +2263,6 @@ MT_Lock mal_delayLock;
 void mal_exit(void);
 void mal_factory_reset(void) __attribute__((__visibility__("hidden")));
 int mal_init(void);
-void mal_instruction_reset(void);
 void mal_linker_reset(void) __attribute__((__visibility__("hidden")));
 void mal_module_reset(void) __attribute__((__visibility__("hidden")));
 void mal_namespace_reset(void) __attribute__((__visibility__("hidden")));
diff --git a/monetdb5/ChangeLog b/monetdb5/ChangeLog
--- a/monetdb5/ChangeLog
+++ b/monetdb5/ChangeLog
@@ -1,6 +1,10 @@
 # ChangeLog file for MonetDB5
 # This file is updated with Maddlog
 
+* Thu Jan  5 2017 Sjoerd Mullender <sjo...@acm.org>
+- Changed the interfaces of the AUTH* functions: pass values, not pointers
+  to values.
+
 * Tue Dec 13 2016 Sjoerd Mullender <sjo...@acm.org>
 - Removed calc.setoid().
 - group.subgroup is now called group.group if it is not refining a group.
diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c
--- a/monetdb5/mal/mal.c
+++ b/monetdb5/mal/mal.c
@@ -151,12 +151,12 @@ void mserver_reset(int exit)
        GDKfree(mal_clients->prompt);
        GDKfree(mal_clients->username);
        freeStack(mal_clients->glb);
+       freeSymbol(mal_clients->curprg);
        mal_client_reset();
        mal_linker_reset();
        mal_resource_reset();
        mal_runtime_reset();
        mal_module_reset();
-       mal_instruction_reset();
 
        memset((char*)monet_cwd,0, sizeof(monet_cwd));
        monet_memory = 0;
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
@@ -39,9 +39,9 @@
 #endif
 #endif
 
-static str AUTHdecypherValue(str *ret, str *value);
-static str AUTHcypherValue(str *ret, str *value);
-static str AUTHverifyPassword(str *passwd);
+static str AUTHdecypherValue(str *ret, const char *value);
+static str AUTHcypherValue(str *ret, const char *value);
+static str AUTHverifyPassword(const char *passwd);
 
 static BAT *user = NULL;
 static BAT *pass = NULL;
@@ -74,7 +74,7 @@ AUTHfindUser(const char *username)
                        if (BUNfnd(duser, &pos) == BUN_NONE)
                                return p;
                }
-       } 
+       }
        return BUN_NONE;
 }
 
@@ -91,12 +91,13 @@ AUTHrequireAdmin(Client cntxt) {
        id = cntxt->user;
 
        if (id != 0) {
-               char u[BUFSIZ] = "";
-               str user = u;
+               str user = NULL;
                str tmp;
 
-               rethrow("requireAdmin", tmp, AUTHresolveUser(&user, &id));
-               throw(INVCRED, "requireAdmin", INVCRED_ACCESS_DENIED " '%s'", 
user);
+               rethrow("requireAdmin", tmp, AUTHresolveUser(&user, id));
+               tmp = createException(INVCRED, "requireAdmin", 
INVCRED_ACCESS_DENIED " '%s'", user);
+               GDKfree(user);
+               return tmp;
        }
 
        return(MAL_SUCCEED);
@@ -108,20 +109,21 @@ AUTHrequireAdmin(Client cntxt) {
  * InvalidCredentialsException.
  */
 static str
-AUTHrequireAdminOrUser(Client cntxt, str *username) {
+AUTHrequireAdminOrUser(Client cntxt, const char *username) {
        oid id = cntxt->user;
-       char u[BUFSIZ] = "";
-       str user = u;
+       str user = NULL;
        str tmp = MAL_SUCCEED;
 
        /* root?  then all is well */
        if (id == 0)
                return(MAL_SUCCEED);
 
-       rethrow("requireAdminOrUser", tmp, AUTHresolveUser(&user, &id));
-       if (username == NULL || *username == NULL || strcmp(*username, user) != 
0) {
+       rethrow("requireAdminOrUser", tmp, AUTHresolveUser(&user, id));
+       if (username == NULL || strcmp(username, user) != 0) {
+               GDKfree(user);
                throw(INVCRED, "requireAdminOrUser", INVCRED_ACCESS_DENIED " 
'%s'", user);
        }
+       GDKfree(user);
 
        return(MAL_SUCCEED);
 }
@@ -152,7 +154,7 @@ AUTHcommit(void)
  * after the GDK kernel has been initialized.
  */
 str
-AUTHinitTables(str *passwd) {
+AUTHinitTables(const char *passwd) {
        bat bid;
        int isNew = 1;
        str msg = MAL_SUCCEED;
@@ -224,15 +226,14 @@ AUTHinitTables(str *passwd) {
        if (isNew == 1) {
                /* insert the monetdb/monetdb administrator account on a
                 * complete fresh and new auth tables system */
-               str user = "monetdb";
-               str pw = "monetdb";
+               char *pw;
                oid uid;
                Client c = &mal_clients[0];
 
-               if (passwd != NULL && *passwd != NULL)
-                       pw = *passwd;
-               pw = mcrypt_BackendSum(pw, strlen(pw));
-               msg = AUTHaddUser(&uid, c, &user, &pw);
+               if (passwd == NULL)
+                       passwd = "monetdb";     /* default password */
+               pw = mcrypt_BackendSum(passwd, strlen(passwd));
+               msg = AUTHaddUser(&uid, c, "monetdb", pw);
                free(pw);
                if (msg)
                        return msg;
@@ -252,10 +253,10 @@ str
 AUTHcheckCredentials(
                oid *uid,
                Client cntxt,
-               str *username,
-               str *passwd,
-               str *challenge,
-               str *algo)
+               const char *username,
+               const char *passwd,
+               const char *challenge,
+               const char *algo)
 {
        str tmp;
        str pwd = NULL;
@@ -267,21 +268,21 @@ AUTHcheckCredentials(
        assert(user);
        assert(pass);
 
-       if (*username == NULL || strNil(*username))
+       if (username == NULL || strNil(username))
                throw(INVCRED, "checkCredentials", "invalid credentials for 
unknown user");
 
-       p = AUTHfindUser(*username);
+       p = AUTHfindUser(username);
        if (p == BUN_NONE) {
                /* DO NOT reveal that the user doesn't exist here! */
-               throw(INVCRED, "checkCredentials", INVCRED_INVALID_USER " 
'%s'", *username);
+               throw(INVCRED, "checkCredentials", INVCRED_INVALID_USER " 
'%s'", username);
        }
 
        /* a NULL password is impossible (since we should be dealing with
         * hashes here) so we can bail out immediately
         */
-       if (*passwd == NULL || strNil(*passwd)) {
+       if (passwd == NULL || strNil(passwd)) {
                /* DO NOT reveal that the password is NULL here! */
-               throw(INVCRED, "checkCredentials", INVCRED_INVALID_USER " 
'%s'", *username);
+               throw(INVCRED, "checkCredentials", INVCRED_INVALID_USER " 
'%s'", username);
        }
 
        /* find the corresponding password to the user */
@@ -289,15 +290,15 @@ AUTHcheckCredentials(
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to