Version 16.155.29

This commit is contained in:
Antonio Cañas Vargas 2017-03-13 20:57:51 +01:00
parent a5d13a10cc
commit 33e47f1ec3
6 changed files with 29 additions and 29 deletions

View File

@ -1245,7 +1245,7 @@ CREATE TABLE IF NOT EXISTS usr_duplicated (
-- --
CREATE TABLE IF NOT EXISTS usr_emails ( CREATE TABLE IF NOT EXISTS usr_emails (
UsrCod INT NOT NULL, UsrCod INT NOT NULL,
E_mail VARCHAR(127) COLLATE latin1_general_ci NOT NULL, E_mail VARCHAR(255) COLLATE latin1_general_ci NOT NULL,
CreatTime DATETIME NOT NULL, CreatTime DATETIME NOT NULL,
Confirmed ENUM('N','Y') NOT NULL DEFAULT 'N', Confirmed ENUM('N','Y') NOT NULL DEFAULT 'N',
UNIQUE INDEX(UsrCod,E_mail), UNIQUE INDEX(UsrCod,E_mail),

View File

@ -606,7 +606,7 @@ static bool Acc_GetParamsNewAccount (char NewNicknameWithoutArroba[Nck_MAX_BYTES
extern const char *Txt_The_nickname_entered_X_is_not_valid_; extern const char *Txt_The_nickname_entered_X_is_not_valid_;
extern const char *Txt_The_email_address_X_had_been_registered_by_another_user; extern const char *Txt_The_email_address_X_had_been_registered_by_another_user;
extern const char *Txt_The_email_address_entered_X_is_not_valid; extern const char *Txt_The_email_address_entered_X_is_not_valid;
char Query[1024]; char Query[256 + Cns_MAX_CHARS_EMAIL_ADDRESS];
char NewNicknameWithArroba[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1]; char NewNicknameWithArroba[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1];
char NewPlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1]; char NewPlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
bool Error = false; bool Error = false;

View File

@ -209,13 +209,17 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.155.28 (2017-03-13)" #define Log_PLATFORM_VERSION "SWAD 16.155.29 (2017-03-13)"
#define CSS_FILE "swad16.147.css" #define CSS_FILE "swad16.147.css"
#define JS_FILE "swad16.144.js" #define JS_FILE "swad16.144.js"
// Number of lines (includes comments but not blank lines) has been got with the following command: // 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 // 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.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;
Version 16.155.28:Mar 13, 2017 Adjusting size of database fields. (217035 lines) Version 16.155.28:Mar 13, 2017 Adjusting size of database fields. (217035 lines)
7 changes necessary in database. 7 changes necessary in database.
ALTER TABLE usr_data CHANGE COLUMN Surname1 Surname1 VARCHAR(511) COLLATE latin1_spanish_ci NOT NULL DEFAULT ''; ALTER TABLE usr_data CHANGE COLUMN Surname1 Surname1 VARCHAR(511) COLLATE latin1_spanish_ci NOT NULL DEFAULT '';

View File

@ -2618,11 +2618,11 @@ mysql> DESCRIBE usr_duplicated;
3 rows in set (0.00 sec) 3 rows in set (0.00 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_duplicated (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_duplicated ("
"UsrCod INT NOT NULL," "UsrCod INT NOT NULL,"
"InformerCod INT NOT NULL," "InformerCod INT NOT NULL,"
"InformTime DATETIME NOT NULL," "InformTime DATETIME NOT NULL,"
"UNIQUE INDEX(UsrCod,InformerCod)," "UNIQUE INDEX(UsrCod,InformerCod),"
"INDEX(UsrCod))"); "INDEX(UsrCod))");
/***** Table usr_emails *****/ /***** Table usr_emails *****/
/* /*
@ -2631,19 +2631,19 @@ mysql> DESCRIBE usr_emails;
| Field | Type | Null | Key | Default | Extra | | Field | Type | Null | Key | Default | Extra |
+-----------+---------------+------+-----+---------+-------+ +-----------+---------------+------+-----+---------+-------+
| UsrCod | int(11) | NO | PRI | NULL | | | UsrCod | int(11) | NO | PRI | NULL | |
| E_mail | varchar(127) | NO | PRI | NULL | | | E_mail | varchar(255) | NO | PRI | NULL | |
| CreatTime | datetime | NO | | NULL | | | CreatTime | datetime | NO | | NULL | |
| Confirmed | enum('N','Y') | NO | | N | | | Confirmed | enum('N','Y') | NO | | N | |
+-----------+---------------+------+-----+---------+-------+ +-----------+---------------+------+-----+---------+-------+
4 rows in set (0.01 sec) 4 rows in set (0,00 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_emails (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_emails ("
"UsrCod INT NOT NULL," "UsrCod INT NOT NULL,"
"E_mail VARCHAR(127) COLLATE latin1_general_ci NOT NULL," "E_mail VARCHAR(255) COLLATE latin1_general_ci NOT NULL," // Cns_MAX_CHARS_EMAIL_ADDRESS
"CreatTime DATETIME NOT NULL," "CreatTime DATETIME NOT NULL,"
"Confirmed ENUM('N','Y') NOT NULL DEFAULT 'N'," "Confirmed ENUM('N','Y') NOT NULL DEFAULT 'N',"
"UNIQUE INDEX(UsrCod,E_mail)," "UNIQUE INDEX(UsrCod,E_mail),"
"UNIQUE INDEX(E_mail))"); "UNIQUE INDEX(E_mail))");
/***** Table usr_figures *****/ /***** Table usr_figures *****/
/* /*

View File

@ -1722,7 +1722,7 @@ void Mai_ConfirmEmail (void)
/***** Get user's code and email from key *****/ /***** Get user's code and email from key *****/
sprintf (Query,"SELECT UsrCod,E_mail FROM pending_emails" sprintf (Query,"SELECT UsrCod,E_mail FROM pending_emails"
" WHERE MailKey='%s'", " WHERE MailKey='%s'",
MailKey); MailKey);
if (DB_QuerySELECT (Query,&mysql_res,"can not get user's code and email from key")) if (DB_QuerySELECT (Query,&mysql_res,"can not get user's code and email from key"))
{ {

View File

@ -720,7 +720,7 @@ static int Svc_CheckParamsNewAccount (char *NewNicknameWithArroba, // Input
char *NewPlainPassword, // Input char *NewPlainPassword, // Input
char *NewEncryptedPassword) // Output char *NewEncryptedPassword) // Output
{ {
char Query[1024]; char Query[256 + Cns_MAX_CHARS_EMAIL_ADDRESS];
/***** Step 1/3: Check new nickname *****/ /***** Step 1/3: Check new nickname *****/
/* Make a copy without possible starting arrobas */ /* Make a copy without possible starting arrobas */
@ -771,7 +771,9 @@ int swad__loginByUserPasswordKey (struct soap *soap,
{ {
char UsrIDNickOrEmail[Cns_MAX_BYTES_EMAIL_ADDRESS + 1]; char UsrIDNickOrEmail[Cns_MAX_BYTES_EMAIL_ADDRESS + 1];
int ReturnCode; int ReturnCode;
char Query[512]; char Query[512 +
Cns_MAX_CHARS_EMAIL_ADDRESS +
Pwd_BYTES_ENCRYPTED_PASSWORD];
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
MYSQL_ROW row; MYSQL_ROW row;
unsigned NumRows; unsigned NumRows;
@ -1082,7 +1084,7 @@ int swad__getNewPassword (struct soap *soap,
{ {
int ReturnCode; int ReturnCode;
char UsrIDNickOrEmail[Cns_MAX_BYTES_EMAIL_ADDRESS + 1]; char UsrIDNickOrEmail[Cns_MAX_BYTES_EMAIL_ADDRESS + 1];
char Query[512]; char Query[128 + Cns_MAX_BYTES_EMAIL_ADDRESS];
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
MYSQL_ROW row; MYSQL_ROW row;
unsigned NumRows; unsigned NumRows;
@ -1107,18 +1109,14 @@ int swad__getNewPassword (struct soap *soap,
Str_RemoveLeadingArrobas (UsrIDNickOrEmail); Str_RemoveLeadingArrobas (UsrIDNickOrEmail);
/* User has typed a nickname */ /* User has typed a nickname */
sprintf (Query,"SELECT UsrCod" sprintf (Query,"SELECT UsrCod FROM usr_nicknames WHERE Nickname='%s'",
" FROM usr_nicknames"
" WHERE Nickname='%s'",
UsrIDNickOrEmail); UsrIDNickOrEmail);
} }
else if (Mai_CheckIfEmailIsValid (Gbl.Usrs.Me.UsrIdLogin)) // 2: It's an email else if (Mai_CheckIfEmailIsValid (Gbl.Usrs.Me.UsrIdLogin)) // 2: It's an email
{ {
/* User has typed an email */ /* User has typed an email */
// TODO: Get only if email confirmed? // TODO: Get only if email confirmed?
sprintf (Query,"SELECT UsrCod" sprintf (Query,"SELECT UsrCod FROM usr_emails WHERE E_mail='%s'",
" FROM usr_emails"
" WHERE E_mail='%s'",
UsrIDNickOrEmail); UsrIDNickOrEmail);
} }
else // 3: It's not a nickname nor email else // 3: It's not a nickname nor email
@ -1130,9 +1128,7 @@ int swad__getNewPassword (struct soap *soap,
{ {
/* User has typed a valid user's ID (existing or not) */ /* User has typed a valid user's ID (existing or not) */
// TODO: Get only if ID confirmed? // TODO: Get only if ID confirmed?
sprintf (Query,"SELECT UsrCod" sprintf (Query,"SELECT UsrCod FROM usr_IDs WHERE UsrID='%s'",
" FROM usr_IDs"
" WHERE UsrID='%s'",
UsrIDNickOrEmail); UsrIDNickOrEmail);
} }
else // String is not a valid user's nickname, email or ID else // String is not a valid user's nickname, email or ID