Changeset: 0dfbd50876a1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0dfbd50876a1 Added Files: sql/test/BugTracker-2017/Tests/side-effect.Bug-6397.stable.out.single sql/test/BugTracker-2018/Tests/sqlitelogictest-algebra-join-not-in.Bug-6519.stable.err sql/test/BugTracker-2018/Tests/sqlitelogictest-algebra-join-not-in.Bug-6519.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-case-subquery-missing.Bug-6523.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-count-not-in.Bug-6518.stable.err sql/test/BugTracker-2018/Tests/sqlitelogictest-count-not-in.Bug-6518.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-group-by-having-in-count.Bug-6524.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-in-single-column.Bug-6522.sql sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.sql sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.stable.err sql/test/BugTracker-2018/Tests/update-with-correlated-subquery.Bug-6520.stable.out Modified Files: clients/mapiclient/mclient.c common/utils/mcrypt.c configure.ag monetdb5/mal/mal_authorize.c monetdb5/mal/mal_profiler.c monetdb5/modules/atoms/xml.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/pcre.c sql/backends/monet5/sql_upgrades.c sql/backends/monet5/sql_user.c sql/scripts/51_sys_schema_extension.sql sql/scripts/97_comments.sql sql/server/rel_rel.c sql/server/rel_select.c sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out sql/test/BugTracker-2018/Tests/All sql/test/Dependencies/Tests/Dependencies.stable.out sql/test/Dependencies/Tests/Dependencies.stable.out.int128 sql/test/Dependencies/Tests/dependency_loop.stable.out sql/test/Dependencies/Tests/dependency_loop.stable.out.int128 sql/test/Tests/systemfunctions.stable.out sql/test/Tests/systemfunctions.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128 sql/test/emptydb/Tests/check.SQL.py sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 sql/test/sql_xml/Tests/All sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128 tools/merovingian/daemon/argvcmds.c tools/merovingian/daemon/client.c Branch: trails Log Message:
Merge with default diffs (truncated from 5736 to 300 lines): diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -2154,7 +2154,7 @@ showCommands(void) mnstr_printf(toConsole, "\\q - terminate session\n"); } -/* These values must match those used in sys.describe_all_objects() */ +/* These values must match those used in view sys.describe_all_objects */ #define MD_TABLE 1 #define MD_VIEW 2 #define MD_SEQ 4 @@ -2500,7 +2500,7 @@ doFile(Mapi mid, stream *fp, int useinse * | "data.my*" | no | fullname LIKE 'data.my%' | * | "*a.my*" | no | fullname LIKE '%a.my%' | */ - q += snprintf(q, endq - q, "SELECT type, fullname, remark FROM sys.describe_all_objects()\n"); + q += snprintf(q, endq - q, "SELECT type, fullname, remark FROM sys.describe_all_objects\n"); q += snprintf(q, endq - q, "WHERE (ntype & %u) > 0\n", x); if (!wantsSystem) { q += snprintf(q, endq - q, "AND NOT system\n"); diff --git a/common/utils/mcrypt.c b/common/utils/mcrypt.c --- a/common/utils/mcrypt.c +++ b/common/utils/mcrypt.c @@ -82,13 +82,15 @@ mcrypt_MD5Sum(const char *string, size_t MD5_Final(md, &c); ret = malloc(MD5_DIGEST_LENGTH * 2 + 1); - snprintf(ret, MD5_DIGEST_LENGTH * 2 + 1, - "%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x", - md[0], md[1], md[2], md[3], - md[4], md[5], md[6], md[7], - md[8], md[9], md[10], md[11], - md[12], md[13], md[14], md[15]); + if(ret) { + snprintf(ret, MD5_DIGEST_LENGTH * 2 + 1, + "%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x", + md[0], md[1], md[2], md[3], + md[4], md[5], md[6], md[7], + md[8], md[9], md[10], md[11], + md[12], md[13], md[14], md[15]); + } return ret; #else @@ -118,13 +120,15 @@ mcrypt_SHA1Sum(const char *string, size_ SHA1_Final(md, &c); ret = malloc(SHA_DIGEST_LENGTH * 2 + 1); - snprintf(ret, SHA_DIGEST_LENGTH * 2 + 1, - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", - md[0], md[1], md[2], md[3], md[4], - md[5], md[6], md[7], md[8], md[9], - md[10], md[11], md[12], md[13], md[14], - md[15], md[16], md[17], md[18], md[19]); + if(ret) { + snprintf(ret, SHA_DIGEST_LENGTH * 2 + 1, + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", + md[0], md[1], md[2], md[3], md[4], + md[5], md[6], md[7], md[8], md[9], + md[10], md[11], md[12], md[13], md[14], + md[15], md[16], md[17], md[18], md[19]); + } return ret; #else @@ -154,16 +158,18 @@ mcrypt_SHA224Sum(const char *string, siz SHA224_Final(md, &c); ret = malloc(SHA224_DIGEST_LENGTH * 2 + 1); - snprintf(ret, SHA224_DIGEST_LENGTH * 2 + 1, - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x", - md[0], md[1], md[2], md[3], md[4], - md[5], md[6], md[7], md[8], md[9], - md[10], md[11], md[12], md[13], md[14], - md[15], md[16], md[17], md[18], md[19], - md[20], md[21], md[22], md[23], md[24], - md[25], md[26], md[27]); + if(ret) { + snprintf(ret, SHA224_DIGEST_LENGTH * 2 + 1, + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x", + md[0], md[1], md[2], md[3], md[4], + md[5], md[6], md[7], md[8], md[9], + md[10], md[11], md[12], md[13], md[14], + md[15], md[16], md[17], md[18], md[19], + md[20], md[21], md[22], md[23], md[24], + md[25], md[26], md[27]); + } return ret; #else @@ -193,18 +199,20 @@ mcrypt_SHA256Sum(const char *string, siz SHA256_Final(md, &c); ret = malloc(SHA256_DIGEST_LENGTH * 2 + 1); - snprintf(ret, SHA256_DIGEST_LENGTH * 2 + 1, - "%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x", - md[0], md[1], md[2], md[3], md[4], - md[5], md[6], md[7], md[8], md[9], - md[10], md[11], md[12], md[13], md[14], - md[15], md[16], md[17], md[18], md[19], - md[20], md[21], md[22], md[23], md[24], - md[25], md[26], md[27], md[28], md[29], - md[30], md[31]); + if(ret) { + snprintf(ret, SHA256_DIGEST_LENGTH * 2 + 1, + "%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x", + md[0], md[1], md[2], md[3], md[4], + md[5], md[6], md[7], md[8], md[9], + md[10], md[11], md[12], md[13], md[14], + md[15], md[16], md[17], md[18], md[19], + md[20], md[21], md[22], md[23], md[24], + md[25], md[26], md[27], md[28], md[29], + md[30], md[31]); + } return ret; #else @@ -234,22 +242,24 @@ mcrypt_SHA384Sum(const char *string, siz SHA384_Final(md, &c); ret = malloc(SHA384_DIGEST_LENGTH * 2 + 1); - snprintf(ret, SHA384_DIGEST_LENGTH * 2 + 1, - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x", - md[0], md[1], md[2], md[3], md[4], - md[5], md[6], md[7], md[8], md[9], - md[10], md[11], md[12], md[13], md[14], - md[15], md[16], md[17], md[18], md[19], - md[20], md[21], md[22], md[23], md[24], - md[25], md[26], md[27], md[28], md[29], - md[30], md[31], md[32], md[33], md[34], - md[35], md[36], md[37], md[38], md[39], - md[40], md[41], md[42], md[43], md[44], - md[45], md[46], md[47]); + if(ret) { + snprintf(ret, SHA384_DIGEST_LENGTH * 2 + 1, + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x", + md[0], md[1], md[2], md[3], md[4], + md[5], md[6], md[7], md[8], md[9], + md[10], md[11], md[12], md[13], md[14], + md[15], md[16], md[17], md[18], md[19], + md[20], md[21], md[22], md[23], md[24], + md[25], md[26], md[27], md[28], md[29], + md[30], md[31], md[32], md[33], md[34], + md[35], md[36], md[37], md[38], md[39], + md[40], md[41], md[42], md[43], md[44], + md[45], md[46], md[47]); + } return ret; #else @@ -279,27 +289,29 @@ mcrypt_SHA512Sum(const char *string, siz SHA512_Final(md, &c); ret = malloc(SHA512_DIGEST_LENGTH * 2 + 1); - snprintf(ret, SHA512_DIGEST_LENGTH * 2 + 1, - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x", - md[0], md[1], md[2], md[3], md[4], - md[5], md[6], md[7], md[8], md[9], - md[10], md[11], md[12], md[13], md[14], - md[15], md[16], md[17], md[18], md[19], - md[20], md[21], md[22], md[23], md[24], - md[25], md[26], md[27], md[28], md[29], - md[30], md[31], md[32], md[33], md[34], - md[35], md[36], md[37], md[38], md[39], - md[40], md[41], md[42], md[43], md[44], - md[45], md[46], md[47], md[48], md[49], - md[50], md[51], md[52], md[53], md[54], - md[55], md[56], md[57], md[58], md[59], - md[60], md[61], md[62], md[63]); + if(ret) { + snprintf(ret, SHA512_DIGEST_LENGTH * 2 + 1, + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x", + md[0], md[1], md[2], md[3], md[4], + md[5], md[6], md[7], md[8], md[9], + md[10], md[11], md[12], md[13], md[14], + md[15], md[16], md[17], md[18], md[19], + md[20], md[21], md[22], md[23], md[24], + md[25], md[26], md[27], md[28], md[29], + md[30], md[31], md[32], md[33], md[34], + md[35], md[36], md[37], md[38], md[39], + md[40], md[41], md[42], md[43], md[44], + md[45], md[46], md[47], md[48], md[49], + md[50], md[51], md[52], md[53], md[54], + md[55], md[56], md[57], md[58], md[59], + md[60], md[61], md[62], md[63]); + } return ret; #else @@ -329,13 +341,15 @@ mcrypt_RIPEMD160Sum(const char *string, RIPEMD160_Final(md, &c); ret = malloc(RIPEMD160_DIGEST_LENGTH * 2 + 1); - snprintf(ret, RIPEMD160_DIGEST_LENGTH * 2 + 1, - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" - "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", - md[0], md[1], md[2], md[3], md[4], - md[5], md[6], md[7], md[8], md[9], - md[10], md[11], md[12], md[13], md[14], - md[15], md[16], md[17], md[18], md[19]); + if(ret) { + snprintf(ret, RIPEMD160_DIGEST_LENGTH * 2 + 1, + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" + "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", + md[0], md[1], md[2], md[3], md[4], + md[5], md[6], md[7], md[8], md[9], + md[10], md[11], md[12], md[13], md[14], + md[15], md[16], md[17], md[18], md[19]); + } return ret; #else diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -1756,16 +1756,9 @@ AC_ARG_WITH([libxml2], [have_libxml2=$withval]) AS_VAR_IF([have_libxml2], [no], [], [ PKG_CHECK_MODULES([libxml2], [libxml-2.0], [have_libxml2="yes"], [have_libxml2="no"; why_have_libxml2="(libxml2 not found)"]) - AS_CASE([$enable_monetdb5-$have_libxml2], - [yes-no], [ - AC_MSG_ERROR([libxml2 library not found but required for MonetDB5])], - [auto-no], [ - enable_monetdb5=no - AS_VAR_IF([disable_monetdb5], [], [ - disable_monetdb5="(libxml2 library not found but required for MonetDB5)"])]) AS_VAR_IF([have_libxml2], [yes], [ AC_DEFINE([HAVE_LIBXML], 1, [Define if you have the xml library])])]) -AM_CONDITIONAL([HAVE_LIBXML], [test x"$have_liblxml2" != xno]) +AM_CONDITIONAL([HAVE_LIBXML], [test x"$have_libxml2" != xno]) org_have_curl=yes 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 @@ -238,6 +238,8 @@ AUTHinitTables(const char *passwd) { if (passwd == NULL) passwd = "monetdb"; /* default password */ pw = mcrypt_BackendSum(passwd, strlen(passwd)); + if(!pw) + throw(MAL, "initTables", SQLSTATE(42000) "Crypt backend hash not found"); msg = AUTHaddUser(&uid, c, "monetdb", pw); free(pw); if (msg) @@ -299,6 +301,8 @@ AUTHcheckCredentials( /* generate the hash as the client should have done */ hash = mcrypt_hashPassword(algo, pwd, challenge); GDKfree(pwd); + if(!hash) + throw(MAL, "checkCredentials", "hash '%s' backend not found", algo); /* and now we have it, compare it to what was given to us */ if (strcmp(passwd, hash) != 0) { /* of course we DO NOT print the password here */ diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c --- a/monetdb5/mal/mal_profiler.c +++ b/monetdb5/mal/mal_profiler.c @@ -444,7 +444,7 @@ profilerHeartbeatEvent(char *alter) char cpuload[BUFSIZ]; char logbuffer[LOGLEN], *logbase; int loglen; - static uint64_t serial = 0; + lng usec = GDKusec(); if (ATOMIC_GET(hbdelay, mal_beatLock) == 0 || eventstream == NULL) _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list