From e3d3134eb6a23e7b2305800c53e3ccf29745d6bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Mon, 13 Mar 2017 22:47:57 +0100 Subject: [PATCH] Version 16.155.30 --- swad_changelog.h | 3 +- swad_database.c | 140 +++++++++++++++++++++++------------------------ swad_network.c | 4 +- swad_report.c | 6 +- 4 files changed, 78 insertions(+), 75 deletions(-) diff --git a/swad_changelog.h b/swad_changelog.h index 83b515134..ec197a2c4 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -209,13 +209,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.155.29 (2017-03-13)" +#define Log_PLATFORM_VERSION "SWAD 16.155.30 (2017-03-13)" #define CSS_FILE "swad16.147.css" #define JS_FILE "swad16.144.js" // Number of lines (includes comments but not blank lines) has been got with the following command: // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1 /* + Version 16.155.30:Mar 13, 2017 Adjusting size of database fields. (? lines) Version 16.155.29:Mar 13, 2017 Adjusting size of database fields. (217034 lines) 1 change necessary in database. ALTER TABLE usr_emails CHANGE COLUMN E_mail E_mail VARCHAR(255) COLLATE latin1_general_ci NOT NULL; diff --git a/swad_database.c b/swad_database.c index 6f9b776c0..1ed124a73 100644 --- a/swad_database.c +++ b/swad_database.c @@ -2661,15 +2661,15 @@ mysql> DESCRIBE usr_figures; 6 rows in set (0.01 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_figures (" - "UsrCod INT NOT NULL," - "FirstClickTime DATETIME NOT NULL," - "NumClicks INT NOT NULL DEFAULT -1," - "NumFileViews INT NOT NULL DEFAULT -1," - "NumForPst INT NOT NULL DEFAULT -1," - "NumMsgSnt INT NOT NULL DEFAULT -1," - "PRIMARY KEY(UsrCod)," - "INDEX(FirstClickTime)," - "INDEX(NumClicks))"); + "UsrCod INT NOT NULL," + "FirstClickTime DATETIME NOT NULL," + "NumClicks INT NOT NULL DEFAULT -1," + "NumFileViews INT NOT NULL DEFAULT -1," + "NumForPst INT NOT NULL DEFAULT -1," + "NumMsgSnt INT NOT NULL DEFAULT -1," + "PRIMARY KEY(UsrCod)," + "INDEX(FirstClickTime)," + "INDEX(NumClicks))"); /***** Table usr_follow *****/ /* @@ -2684,12 +2684,12 @@ mysql> DESCRIBE usr_follow; 3 rows in set (0.00 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_follow (" - "FollowerCod INT NOT NULL," - "FollowedCod INT NOT NULL," - "FollowTime DATETIME NOT NULL," - "UNIQUE INDEX (FollowerCod,FollowedCod)," - "UNIQUE INDEX (FollowedCod,FollowerCod)," - "INDEX (FollowTime))"); + "FollowerCod INT NOT NULL," + "FollowedCod INT NOT NULL," + "FollowTime DATETIME NOT NULL," + "UNIQUE INDEX (FollowerCod,FollowedCod)," + "UNIQUE INDEX (FollowedCod,FollowerCod)," + "INDEX (FollowTime))"); /***** Table usr_IDs *****/ /* @@ -2705,12 +2705,12 @@ mysql> DESCRIBE usr_IDs; 4 rows in set (0.01 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_IDs (" - "UsrCod INT NOT NULL," - "UsrID CHAR(16) NOT NULL," - "CreatTime DATETIME NOT NULL," - "Confirmed ENUM('N','Y') NOT NULL DEFAULT 'N'," - "UNIQUE INDEX(UsrCod,UsrID)," - "INDEX(UsrID))"); + "UsrCod INT NOT NULL," + "UsrID CHAR(16) NOT NULL," // ID_MAX_BYTES_USR_ID + "CreatTime DATETIME NOT NULL," + "Confirmed ENUM('N','Y') NOT NULL DEFAULT 'N'," + "UNIQUE INDEX(UsrCod,UsrID)," + "INDEX(UsrID))"); /***** Table usr_last *****/ /* @@ -2728,14 +2728,14 @@ mysql> DESCRIBE usr_last; 6 rows in set (0.00 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_last (" - "UsrCod INT NOT NULL," - "WhatToSearch TINYINT NOT NULL DEFAULT 0," - "LastCrs INT NOT NULL DEFAULT -1," - "LastTab TINYINT NOT NULL," - "LastTime DATETIME NOT NULL," - "LastAccNotif DATETIME NOT NULL," - "UNIQUE INDEX(UsrCod)," - "INDEX(LastTime))"); + "UsrCod INT NOT NULL," + "WhatToSearch TINYINT NOT NULL DEFAULT 0," + "LastCrs INT NOT NULL DEFAULT -1," + "LastTab TINYINT NOT NULL," + "LastTime DATETIME NOT NULL," + "LastAccNotif DATETIME NOT NULL," + "UNIQUE INDEX(UsrCod)," + "INDEX(LastTime))"); /***** Table usr_nicknames *****/ /* @@ -2750,11 +2750,11 @@ mysql> DESCRIBE usr_nicknames; 3 rows in set (0.01 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_nicknames (" - "UsrCod INT NOT NULL," - "Nickname CHAR(16) COLLATE latin1_spanish_ci NOT NULL," - "CreatTime DATETIME NOT NULL," - "UNIQUE INDEX(UsrCod,Nickname)," - "UNIQUE INDEX(Nickname))"); + "UsrCod INT NOT NULL," + "Nickname CHAR(16) COLLATE latin1_spanish_ci NOT NULL," // Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + "CreatTime DATETIME NOT NULL," + "UNIQUE INDEX(UsrCod,Nickname)," + "UNIQUE INDEX(Nickname))"); /***** Table usr_report *****/ /* @@ -2773,14 +2773,14 @@ mysql> DESCRIBE usr_report; 7 rows in set (0,00 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_report (" - "RepCod INT NOT NULL AUTO_INCREMENT," - "UsrCod INT NOT NULL," - "ReportTimeUTC DATETIME NOT NULL," - "UniqueDirL CHAR(2) NOT NULL," // 2 leftmost chars from a unique 43 chars base64url codified from a unique SHA-256 string - "UniqueDirR CHAR(41) NOT NULL," // 41 rightmost chars from a unique 43 chars base64url codified from a unique SHA-256 string - "Filename VARCHAR(255) NOT NULL," // Report filename - "Permalink VARCHAR(255) NOT NULL," // Full URL (permalink) - "UNIQUE INDEX(RepCod)," + "RepCod INT NOT NULL AUTO_INCREMENT," + "UsrCod INT NOT NULL," + "ReportTimeUTC DATETIME NOT NULL," + "UniqueDirL CHAR(2) NOT NULL," // 2 leftmost chars from a unique 43 chars base64url codified from a unique SHA-256 string + "UniqueDirR CHAR(41) NOT NULL," // 41 rightmost chars from a unique 43 chars base64url codified from a unique SHA-256 string + "Filename VARCHAR(255) NOT NULL," // Report filename, NAME_MAX + "Permalink VARCHAR(255) NOT NULL," // Full URL (permalink), Cns_MAX_BYTES_WWW + "UNIQUE INDEX(RepCod)," "INDEX(UsrCod))"); /***** Table usr_webs *****/ @@ -2796,26 +2796,26 @@ mysql> DESCRIBE usr_webs; 3 rows in set (0.00 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_webs (" - "UsrCod INT NOT NULL," - "Web ENUM(" - "'www'," - "'500px'," - "'delicious','deviantart','diaspora'," - "'edmodo'," - "'facebook','flickr','foursquare'," - "'github','gnusocial','googleplus','googlescholar'," - "'identica','instagram'," - "'linkedin'," - "'orcid'," - "'paperli','pinterest'," - "'quitter'," - "'researchgate','researcherid'," - "'scoopit','slideshare','stackoverflow','storify'," - "'tumblr','twitter'," - "'wikipedia'," - "'youtube') NOT NULL," - "URL VARCHAR(255) NOT NULL," - "UNIQUE INDEX(UsrCod,Web))"); + "UsrCod INT NOT NULL," + "Web ENUM(" + "'www'," + "'500px'," + "'delicious','deviantart','diaspora'," + "'edmodo'," + "'facebook','flickr','foursquare'," + "'github','gnusocial','googleplus','googlescholar'," + "'identica','instagram'," + "'linkedin'," + "'orcid'," + "'paperli','pinterest'," + "'quitter'," + "'researchgate','researcherid'," + "'scoopit','slideshare','stackoverflow','storify'," + "'tumblr','twitter'," + "'wikipedia'," + "'youtube') NOT NULL," + "URL VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW + "UNIQUE INDEX(UsrCod,Web))"); /***** Table ws_keys *****/ /* @@ -2831,14 +2831,14 @@ mysql> DESCRIBE ws_keys; 4 rows in set (0.00 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS ws_keys (" - "WSKey CHAR(43) NOT NULL," - "UsrCod INT NOT NULL," - "PlgCod INT NOT NULL," - "LastTime DATETIME NOT NULL," - "UNIQUE INDEX(WSKey)," - "INDEX(UsrCod)," - "INDEX(PlgCod)," - "INDEX(LastTime))"); + "WSKey CHAR(43) NOT NULL," // Svc_BYTES_WS_KEY + "UsrCod INT NOT NULL," + "PlgCod INT NOT NULL," + "LastTime DATETIME NOT NULL," + "UNIQUE INDEX(WSKey)," + "INDEX(UsrCod)," + "INDEX(PlgCod)," + "INDEX(LastTime))"); /***** Show success message *****/ fprintf (Gbl.F.Out,""); diff --git a/swad_network.c b/swad_network.c index 227ef4a95..9c9b10b42 100644 --- a/swad_network.c +++ b/swad_network.c @@ -200,7 +200,7 @@ static void Net_GetMyWebsAndSocialNetsFromForm (void); void Net_ShowWebsAndSocialNets (const struct UsrData *UsrDat) { - char Query[256]; + char Query[256 + Cns_MAX_BYTES_WWW]; MYSQL_RES *mysql_res; MYSQL_ROW row; Net_WebsAndSocialNetworks_t NumURL; @@ -292,7 +292,7 @@ void Net_ShowFormMyWebsAndSocialNets (void) extern const char *Hlp_PROFILE_Webs; extern const char *The_ClassForm[The_NUM_THEMES]; extern const char *Txt_Webs_social_networks; - char Query[256]; + char Query[256 + Cns_MAX_BYTES_WWW]; MYSQL_RES *mysql_res; MYSQL_ROW row; Net_WebsAndSocialNetworks_t NumURL; diff --git a/swad_report.c b/swad_report.c index 3a3e1ad23..c94173d99 100644 --- a/swad_report.c +++ b/swad_report.c @@ -85,7 +85,7 @@ struct Rep_Report struct Rep_Hits Hits; unsigned long MaxHitsPerYear; char FilenameReport[NAME_MAX + 1]; - char Permalink[PATH_MAX + 1]; + char Permalink[Cns_MAX_BYTES_WWW + 1]; }; /*****************************************************************************/ @@ -404,7 +404,9 @@ static void Rep_CreateNewReportFile (struct Rep_Report *Report) static void Rep_CreateNewReportEntryIntoDB (const struct Rep_Report *Report) { - char Query[1024 + PATH_MAX * 2]; + char Query[1024 + + NAME_MAX + + Cns_MAX_BYTES_WWW]; /***** Insert a new user's usage report into database *****/ sprintf (Query,"INSERT INTO usr_report"