Version 16.155.24

This commit is contained in:
Antonio Cañas Vargas 2017-03-13 14:22:36 +01:00
parent 7a8a6cc9ec
commit e524c33078
29 changed files with 222 additions and 200 deletions

View File

@ -910,7 +910,7 @@ CREATE TABLE IF NOT EXISTS social_comments (
PubCod BIGINT NOT NULL,
Content LONGTEXT NOT NULL,
ImageName VARCHAR(43) NOT NULL,
ImageTitle VARCHAR(255) NOT NULL,
ImageTitle VARCHAR(2047) NOT NULL,
ImageURL VARCHAR(255) NOT NULL,
UNIQUE INDEX(PubCod),
FULLTEXT(Content)) ENGINE = MYISAM;
@ -958,7 +958,7 @@ CREATE TABLE IF NOT EXISTS social_posts (
PstCod INT NOT NULL AUTO_INCREMENT,
Content LONGTEXT NOT NULL,
ImageName VARCHAR(43) NOT NULL,
ImageTitle VARCHAR(255) NOT NULL,
ImageTitle VARCHAR(2047) NOT NULL,
ImageURL VARCHAR(255) NOT NULL,
UNIQUE INDEX(PstCod),
FULLTEXT(Content)) ENGINE = MYISAM;

View File

@ -552,7 +552,7 @@ bool Acc_CreateMyNewAccountAndLogIn (void)
{
char NewNicknameWithoutArroba[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1];
char NewEmail[Cns_MAX_BYTES_EMAIL_ADDRESS + 1];
char NewEncryptedPassword[Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
char NewEncryptedPassword[Pwd_BYTES_ENCRYPTED_PASSWORD + 1];
if (Acc_GetParamsNewAccount (NewNicknameWithoutArroba,NewEmail,NewEncryptedPassword))
{
@ -562,7 +562,7 @@ bool Acc_CreateMyNewAccountAndLogIn (void)
/***** Set password to the password typed by the user *****/
Str_Copy (Gbl.Usrs.Me.UsrDat.Password,NewEncryptedPassword,
Pwd_MAX_BYTES_ENCRYPTED_PASSWORD);
Pwd_BYTES_ENCRYPTED_PASSWORD);
/***** User does not exist in the platform, so create him/her! *****/
Acc_CreateNewUsr (&Gbl.Usrs.Me.UsrDat,
@ -966,7 +966,7 @@ void Acc_CompletelyEliminateAccount (struct UsrData *UsrDat,
extern const char *Txt_Briefcase_of_THE_USER_X_has_been_removed;
extern const char *Txt_Photo_of_THE_USER_X_has_been_removed;
extern const char *Txt_Record_card_of_THE_USER_X_has_been_removed;
char Query[1024];
char Query[128];
bool PhotoRemoved = false;
/***** Remove the works zones of the user in all courses *****/
@ -982,8 +982,7 @@ void Acc_CompletelyEliminateAccount (struct UsrData *UsrDat,
Grp_RemUsrFromAllGrps (UsrDat,QuietOrVerbose);
/***** Remove user's requests for inscription *****/
sprintf (Query,"DELETE FROM crs_usr_requests"
" WHERE UsrCod='%ld'",
sprintf (Query,"DELETE FROM crs_usr_requests WHERE UsrCod='%ld'",
UsrDat->UsrCod);
DB_QueryDELETE (Query,"can not remove user's requests for inscription");
@ -991,8 +990,7 @@ void Acc_CompletelyEliminateAccount (struct UsrData *UsrDat,
Dup_RemoveUsrFromDuplicated (UsrDat->UsrCod);
/***** Remove user from the table of courses and users *****/
sprintf (Query,"DELETE FROM crs_usr"
" WHERE UsrCod='%ld'",
sprintf (Query,"DELETE FROM crs_usr WHERE UsrCod='%ld'",
UsrDat->UsrCod);
DB_QueryDELETE (Query,"can not remove a user from all courses");
@ -1004,8 +1002,7 @@ void Acc_CompletelyEliminateAccount (struct UsrData *UsrDat,
}
/***** Remove user as administrator of any degree *****/
sprintf (Query,"DELETE FROM admin"
" WHERE UsrCod='%ld'",
sprintf (Query,"DELETE FROM admin WHERE UsrCod='%ld'",
UsrDat->UsrCod);
DB_QueryDELETE (Query,"can not remove a user as administrator");

View File

@ -4782,7 +4782,7 @@ static void Act_FormStartInternal (Act_Action_t NextAction,bool PutParameterLoca
const char *Id,const char *Anchor,const char *OnSubmit)
{
extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES];
char ParamsStr[256 + 256 + Ses_LENGTH_SESSION_ID + 256];
char ParamsStr[256 + 256 + Ses_BYTES_SESSION_ID + 256];
if (!Gbl.Form.Inside)
{
@ -4818,12 +4818,12 @@ static void Act_FormStartInternal (Act_Action_t NextAction,bool PutParameterLoca
}
}
// Params should have space for 256 + 256 + Ses_LENGTH_SESSION_ID + 256 bytes
// Params should have space for 256 + 256 + Ses_BYTES_SESSION_ID + 256 bytes
void Act_SetParamsForm (char *ParamsStr,Act_Action_t NextAction,
bool PutParameterLocationIfNoSesion)
{
char ParamAction[256];
char ParamSession[256 + Ses_LENGTH_SESSION_ID];
char ParamSession[256 + Ses_BYTES_SESSION_ID];
char ParamLocation[256];
ParamAction[0] = '\0';

View File

@ -2282,7 +2282,8 @@ void Att_RegisterStudentsInAttEvent (void)
Ptr = Gbl.Usrs.Select.Std;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrData.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrData.EncryptedUsrCod,
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrData);
if (UsrData.UsrCod > 0) // Student exists in database
/***** Mark student to not be removed *****/
@ -2836,7 +2837,8 @@ static void Att_GetListSelectedUsrCods (unsigned NumStdsInList,long **LstSelecte
NumStd < NumStdsInList && *Ptr;
NumStd++)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);
(*LstSelectedUsrCods)[NumStd] = UsrDat.UsrCod;
}

View File

@ -189,7 +189,7 @@ static unsigned Cal_GetParamFirstDayOfWeek (void)
void Cal_DrawCurrentMonth (void)
{
extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES];
char ParamsStr[256 + 256 + Ses_LENGTH_SESSION_ID + 256];
char ParamsStr[256 + 256 + Ses_BYTES_SESSION_ID + 256];
/***** Get list of holidays *****/
if (!Gbl.Hlds.LstIsRead)
@ -289,7 +289,7 @@ static void Cal_DrawCalendar (Act_Action_t ActionSeeCalendar,
{
extern const char *Hlp_Calendar;
extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES];
char ParamsStr[256 + 256 + Ses_LENGTH_SESSION_ID + 256];
char ParamsStr[256 + 256 + Ses_BYTES_SESSION_ID + 256];
/***** Get list of holidays *****/
if (!Gbl.Hlds.LstIsRead)

View File

@ -200,6 +200,8 @@
// TODO: Subject in msg_content and msg_content_deleted should be VARCHAR(255) in order to be copied directly to SummaryStr
// TODO: Check how to get a summary of a social post or comments
// TODO: Check default values for ImageName, ImageTitle and ImageURL in database tables
// TODO: En la agenda debe poder repetirse el nombre del evento
// TODO: Cuando hay un fallo al rellenar el formulario de nuevo evento en la agenda se borran los datos
@ -207,15 +209,20 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.155.23 (2017-03-13)"
#define Log_PLATFORM_VERSION "SWAD 16.155.24 (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.23:Mar 13, 2017 Adjusting size of database fields. (216957 lines)
Version 16.155.24:Mar 13, 2017 Adjusting size of database fields. (216988 lines)
2 changes necessary in database:
ALTER TABLE social_comments CHANGE COLUMN ImageTitle ImageTitle VARCHAR(2047) NOT NULL;
ALTER TABLE social_posts CHANGE COLUMN ImageTitle ImageTitle VARCHAR(2047) NOT NULL;
Version 16.155.23:Mar 13, 2017 Adjusting size of database fields. (216957 lines)
4 changes necessary in database:
ALTER TABLE plugins CHANGE COLUMN Name Name VARCHAR(511) NOT NULL;
ALTER TABLE plugins CHANGE COLUMN Description Description VARCHAR(2047) NOT NULL;
ALTER TABLE plugins CHANGE COLUMN Logo Logo VARCHAR(31) NOT NULL;

View File

@ -641,7 +641,7 @@ void Con_UpdateMeInConnectedList (void)
void Con_RemoveOldConnected (void)
{
char Query[512];
char Query[256];
/***** Remove old users from connected list *****/
sprintf (Query,"DELETE FROM connected WHERE UsrCod NOT IN"

View File

@ -1160,7 +1160,7 @@ mysql> DESCRIBE forum_post;
"NumNotif INT NOT NULL DEFAULT 0,"
"Subject TEXT NOT NULL," // Cns_MAX_BYTES_SUBJECT
"Content LONGTEXT NOT NULL," // Cns_MAX_BYTES_LONG_TEXT
"ImageName VARCHAR(43) NOT NULL," // Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64
"ImageName VARCHAR(43) NOT NULL," // Img_BYTES_NAME
"ImageTitle VARCHAR(2047) NOT NULL," // Img_MAX_BYTES_TITLE
"ImageURL VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
"UNIQUE INDEX(PstCod),"
@ -1246,7 +1246,7 @@ mysql> DESCRIBE hidden_params;
4 rows in set (0.00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS hidden_params ("
"SessionId CHAR(43) NOT NULL,"
"SessionId CHAR(43) NOT NULL," // Ses_BYTES_SESSION_ID
"Action INT NOT NULL,"
"ParamName VARCHAR(255) NOT NULL,"
"ParamValue TEXT NOT NULL,"
@ -1565,7 +1565,7 @@ mysql> DESCRIBE msg_content;
"MsgCod INT NOT NULL AUTO_INCREMENT,"
"Subject TEXT NOT NULL,"
"Content LONGTEXT NOT NULL,"
"ImageName VARCHAR(43) NOT NULL DEFAULT ''," // Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64
"ImageName VARCHAR(43) NOT NULL DEFAULT ''," // Img_BYTES_NAME
"ImageTitle VARCHAR(2047) NOT NULL DEFAULT ''," // Img_MAX_BYTES_TITLE
"ImageURL VARCHAR(255) NOT NULL DEFAULT ''," // Cns_MAX_BYTES_WWW
"UNIQUE INDEX(MsgCod),"
@ -1590,7 +1590,7 @@ mysql> DESCRIBE msg_content_deleted;
"MsgCod INT NOT NULL,"
"Subject TEXT NOT NULL,"
"Content LONGTEXT NOT NULL,"
"ImageName VARCHAR(43) NOT NULL DEFAULT ''," // Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64
"ImageName VARCHAR(43) NOT NULL DEFAULT ''," // Img_BYTES_NAME
"ImageTitle VARCHAR(2047) NOT NULL DEFAULT ''," // Img_MAX_BYTES_TITLE
"ImageURL VARCHAR(255) NOT NULL DEFAULT ''," // Cns_MAX_BYTES_WWW
"UNIQUE INDEX(MsgCod),"
@ -1823,7 +1823,7 @@ mysql> DESCRIBE pending_passwd;
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS pending_passwd ("
"UsrCod INT NOT NULL,"
"PendingPassword CHAR(86) COLLATE latin1_bin NOT NULL," // Pwd_MAX_BYTES_ENCRYPTED_PASSWORD
"PendingPassword CHAR(86) COLLATE latin1_bin NOT NULL," // Pwd_BYTES_ENCRYPTED_PASSWORD
"DateAndTime DATETIME NOT NULL,"
"PRIMARY KEY (UsrCod))");
@ -1902,9 +1902,9 @@ mysql> DESCRIBE sessions;
18 rows in set (0,00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS sessions ("
"SessionId CHAR(43) NOT NULL,"
"SessionId CHAR(43) NOT NULL," // Ses_BYTES_SESSION_ID
"UsrCod INT NOT NULL,"
"Password CHAR(86) COLLATE latin1_bin NOT NULL,"
"Password CHAR(86) COLLATE latin1_bin NOT NULL," // Pwd_BYTES_ENCRYPTED_PASSWORD
"Role TINYINT NOT NULL DEFAULT 0,"
"CtyCod INT NOT NULL DEFAULT -1,"
"InsCod INT NOT NULL DEFAULT -1,"
@ -1926,23 +1926,23 @@ mysql> DESCRIBE sessions;
/***** Table social_comments *****/
/*
mysql> DESCRIBE social_comments;
+------------+--------------+------+-----+---------+-------+
+------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
+------------+---------------+------+-----+---------+-------+
| PubCod | bigint(20) | NO | PRI | NULL | |
| Content | longtext | NO | MUL | NULL | |
| ImageName | varchar(43) | NO | | NULL | |
| ImageTitle | varchar(255) | NO | | NULL | |
| ImageTitle | varchar(2047) | NO | | NULL | |
| ImageURL | varchar(255) | NO | | NULL | |
+------------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
+------------+---------------+------+-----+---------+-------+
5 rows in set (0,00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS social_comments ("
"PubCod BIGINT NOT NULL,"
"Content LONGTEXT NOT NULL,"
"ImageName VARCHAR(43) NOT NULL,"
"ImageTitle VARCHAR(255) NOT NULL,"
"ImageURL VARCHAR(255) NOT NULL,"
"ImageName VARCHAR(43) NOT NULL," // Img_BYTES_NAME
"ImageTitle VARCHAR(2047) NOT NULL," // Img_MAX_BYTES_TITLE
"ImageURL VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
"UNIQUE INDEX(PubCod),"
"FULLTEXT(Content)) ENGINE = MYISAM;");
@ -2022,23 +2022,23 @@ mysql> DESCRIBE social_notes_fav;
/***** Table social_posts *****/
/*
mysql> DESCRIBE social_posts;
+------------+--------------+------+-----+---------+----------------+
+------------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
+------------+---------------+------+-----+---------+----------------+
| PstCod | int(11) | NO | PRI | NULL | auto_increment |
| Content | longtext | NO | MUL | NULL | |
| ImageName | varchar(43) | NO | | NULL | |
| ImageTitle | varchar(255) | NO | | NULL | |
| ImageTitle | varchar(2047) | NO | | NULL | |
| ImageURL | varchar(255) | NO | | NULL | |
+------------+--------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
+------------+---------------+------+-----+---------+----------------+
5 rows in set (0,00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS social_posts ("
"PubCod INT NOT NULL AUTO_INCREMENT,"
"Content LONGTEXT NOT NULL,"
"ImageName VARCHAR(43) NOT NULL,"
"ImageTitle VARCHAR(255) NOT NULL,"
"ImageURL VARCHAR(255) NOT NULL,"
"ImageName VARCHAR(43) NOT NULL," // Img_BYTES_NAME
"ImageTitle VARCHAR(2047) NOT NULL," // Img_MAX_BYTES_TITLE
"ImageURL VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
"UNIQUE INDEX(PubCod),"
"FULLTEXT(Content)) ENGINE = MYISAM;");
@ -2080,7 +2080,7 @@ mysql> DESCRIBE social_timelines;
2 rows in set (0.00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS social_timelines ("
"SessionId CHAR(43) NOT NULL,"
"SessionId CHAR(43) NOT NULL," // Ses_BYTES_SESSION_ID
"NotCod BIGINT NOT NULL,"
"UNIQUE INDEX(SessionId,NotCod))");
@ -2559,7 +2559,7 @@ mysql> DESCRIBE usr_data;
DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_data ("
"UsrCod INT NOT NULL AUTO_INCREMENT,"
"EncryptedUsrCod CHAR(43) NOT NULL DEFAULT '',"
"Password CHAR(86) COLLATE latin1_bin NOT NULL DEFAULT '',"
"Password CHAR(86) COLLATE latin1_bin NOT NULL DEFAULT ''," // Pwd_BYTES_ENCRYPTED_PASSWORD
"Surname1 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '',"
"Surname2 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '',"
"FirstName VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '',"

View File

@ -469,7 +469,7 @@ static long For_InsertForumPst (long ThrCod,long UsrCod,
if ((Query = malloc (512 +
strlen (Subject) +
strlen (Content) +
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 +
Img_BYTES_NAME +
Img_MAX_BYTES_TITLE +
Cns_MAX_BYTES_WWW)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store database query.");

View File

@ -166,7 +166,7 @@ struct Globals
unsigned NumSessions;
bool IsOpen;
bool HasBeenDisconnected;
char Id[Ses_LENGTH_SESSION_ID + 1];
char Id[Ses_BYTES_SESSION_ID + 1];
long UsrCod;
} Session;
@ -295,8 +295,8 @@ struct Globals
bool RoleHasChanged; // Set when I have changed my role
char UsrIdLogin[Cns_MAX_BYTES_EMAIL_ADDRESS + 1]; // String to store the ID, nickname or email entered in the user's login
char LoginPlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
char LoginEncryptedPassword[Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
char PendingPassword[Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
char LoginEncryptedPassword[Pwd_BYTES_ENCRYPTED_PASSWORD + 1];
char PendingPassword[Pwd_BYTES_ENCRYPTED_PASSWORD + 1];
char PathDir[PATH_MAX + 1];
bool Logged;
bool IBelongToCurrentIns;

View File

@ -144,7 +144,7 @@ void Img_GetImageNameTitleAndURLFromRow (const char *Name,
/***** Copy image name to struct *****/
Str_Copy (Image->Name,Name,
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Img_BYTES_NAME);
/***** Set status of image file *****/
Image->Status = Image->Name[0] ? Img_NAME_STORED_IN_DB :

View File

@ -31,6 +31,8 @@
/***************************** Public constants ******************************/
/*****************************************************************************/
#define Img_BYTES_NAME Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64
#define Img_MAX_CHARS_TITLE (128 - 1) // 127
#define Img_MAX_BYTES_TITLE ((Img_MAX_CHARS_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
@ -91,7 +93,7 @@ struct Image
{
Img_Action_t Action;
Img_FileStatus_t Status;
char Name[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1];
char Name[Img_BYTES_NAME + 1];
char *Title; // Title/attribution (it must be initialized to NULL
// in order to not trying to free it when no memory allocated)
char *URL; // URL, i.e. link to original big photo or video

View File

@ -720,7 +720,8 @@ void Msg_RecMsgFromUsr (void)
NumRecipients = 0;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDstData.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDstData.EncryptedUsrCod,
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDstData);
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDstData)) // Get recipient's data from the database
{
@ -1288,7 +1289,7 @@ static long Msg_InsertNewMsg (const char *Subject,const char *Content,
if ((Query = malloc (512 +
strlen (Subject) +
strlen (Content) +
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 +
Img_BYTES_NAME +
Img_MAX_BYTES_TITLE)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store database query.");

View File

@ -657,7 +657,7 @@ void Pag_GetParamPagNum (Pag_WhatPaginate_t WhatPaginate)
void Pag_SaveLastPageMsgIntoSession (Pag_WhatPaginate_t WhatPaginate,unsigned NumPage)
{
char Query[128 + Ses_LENGTH_SESSION_ID];
char Query[128 + Ses_BYTES_SESSION_ID];
/***** Save last page of received/sent messages *****/
sprintf (Query,"UPDATE sessions SET %s='%u' WHERE SessionId='%s'",
@ -673,7 +673,7 @@ void Pag_SaveLastPageMsgIntoSession (Pag_WhatPaginate_t WhatPaginate,unsigned Nu
unsigned Pag_GetLastPageMsgFromSession (Pag_WhatPaginate_t WhatPaginate)
{
char Query[128 + Ses_LENGTH_SESSION_ID];
char Query[128 + Ses_BYTES_SESSION_ID];
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned long NumRows;

View File

@ -735,7 +735,7 @@ void Par_GetMainParameters (void)
}
/***** Get session identifier, if exists *****/
Par_GetParToText ("ses",Gbl.Session.Id,Ses_LENGTH_SESSION_ID);
Par_GetParToText ("ses",Gbl.Session.Id,Ses_BYTES_SESSION_ID);
if (Gbl.Session.Id[0])
{
/***** Get user's code, password, current degree and current course from stored session *****/
@ -750,7 +750,7 @@ void Par_GetMainParameters (void)
else
{
// Try old parameter "IdSes" (allowed for compatibility, to be removed soon)
Par_GetParToText ("IdSes",Gbl.Session.Id,Ses_LENGTH_SESSION_ID);
Par_GetParToText ("IdSes",Gbl.Session.Id,Ses_BYTES_SESSION_ID);
if (Gbl.Session.Id[0])
{
/***** Get user's code, password, current degree and current course from stored session *****/

View File

@ -119,7 +119,7 @@ bool Pwd_CheckPendingPassword (void)
/* Get encrypted pending password */
row = mysql_fetch_row (mysql_res);
Str_Copy (Gbl.Usrs.Me.PendingPassword,row[0],
Pwd_MAX_BYTES_ENCRYPTED_PASSWORD);
Pwd_BYTES_ENCRYPTED_PASSWORD);
}
else
Gbl.Usrs.Me.PendingPassword[0] = '\0';
@ -138,7 +138,7 @@ bool Pwd_CheckPendingPassword (void)
void Pwd_AssignMyPendingPasswordToMyCurrentPassword (void)
{
char Query[128 + Pwd_MAX_BYTES_ENCRYPTED_PASSWORD];
char Query[128 + Pwd_BYTES_ENCRYPTED_PASSWORD];
/***** Update my current password in database *****/
sprintf (Query,"UPDATE usr_data SET Password='%s'"
@ -149,7 +149,7 @@ void Pwd_AssignMyPendingPasswordToMyCurrentPassword (void)
/***** Update my current password *****/
Str_Copy (Gbl.Usrs.Me.UsrDat.Password,Gbl.Usrs.Me.PendingPassword,
Pwd_MAX_BYTES_ENCRYPTED_PASSWORD);
Pwd_BYTES_ENCRYPTED_PASSWORD);
}
/*****************************************************************************/
@ -163,7 +163,7 @@ void Pwd_ActChgMyPwd1 (void)
extern const char *Txt_You_have_not_entered_your_password_correctly;
char PlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
char NewPlainPassword[2][Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
char NewEncryptedPassword[Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
char NewEncryptedPassword[Pwd_BYTES_ENCRYPTED_PASSWORD + 1];
/***** Get plain password from form *****/
Par_GetParToText ("UsrPwd",PlainPassword,Pwd_MAX_BYTES_PLAIN_PASSWORD);
@ -189,7 +189,7 @@ void Pwd_ActChgMyPwd1 (void)
if (Pwd_SlowCheckIfPasswordIsGood (NewPlainPassword[0],NewEncryptedPassword,Gbl.Usrs.Me.UsrDat.UsrCod)) // New password is good?
{
Str_Copy (Gbl.Usrs.Me.UsrDat.Password,NewEncryptedPassword,
Pwd_MAX_BYTES_ENCRYPTED_PASSWORD);
Pwd_BYTES_ENCRYPTED_PASSWORD);
Ses_UpdateSessionDataInDB ();
Enr_UpdateUsrData (&Gbl.Usrs.Me.UsrDat);
sprintf (Gbl.Message,"%s",Txt_Your_password_has_been_changed_successfully);
@ -457,7 +457,7 @@ static void Pwd_CreateANewPassword (char PlainPassword[Pwd_MAX_BYTES_PLAIN_PASSW
void Pwd_SetMyPendingPassword (char PlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1])
{
char Query[256 + Pwd_MAX_BYTES_ENCRYPTED_PASSWORD];
char Query[256 + Pwd_BYTES_ENCRYPTED_PASSWORD];
/***** Encrypt my pending password *****/
Cry_EncryptSHA512Base64 (PlainPassword,Gbl.Usrs.Me.PendingPassword);
@ -487,7 +487,7 @@ void Pwd_UpdateOtherPwd1 (void)
extern const char *Txt_The_X_password_has_been_changed_successfully;
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
char NewPlainPassword[2][Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
char NewEncryptedPassword[Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
char NewEncryptedPassword[Pwd_BYTES_ENCRYPTED_PASSWORD + 1];
Gbl.Usrs.Error = true;
@ -511,7 +511,7 @@ void Pwd_UpdateOtherPwd1 (void)
{
/* Update other user's data */
Str_Copy (Gbl.Usrs.Other.UsrDat.Password,NewEncryptedPassword,
Pwd_MAX_BYTES_ENCRYPTED_PASSWORD);
Pwd_BYTES_ENCRYPTED_PASSWORD);
Enr_UpdateUsrData (&Gbl.Usrs.Other.UsrDat);
sprintf (Gbl.Message,Txt_The_X_password_has_been_changed_successfully,
@ -926,7 +926,7 @@ bool Pwd_GetConfirmationOnDangerousAction (void)
extern const char *Txt_You_have_not_confirmed_the_action;
extern const char *Txt_You_have_not_entered_your_password_correctly;
char PlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
char EncryptedPassword[Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
char EncryptedPassword[Pwd_BYTES_ENCRYPTED_PASSWORD + 1];
/***** Get if consent has been done *****/
if (!Par_GetParToBool ("Consent"))

View File

@ -37,7 +37,7 @@
#define Pwd_MAX_CHARS_PLAIN_PASSWORD (256 - 1)
#define Pwd_MAX_BYTES_PLAIN_PASSWORD Pwd_MAX_CHARS_PLAIN_PASSWORD
#define Pwd_MAX_BYTES_ENCRYPTED_PASSWORD Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64
#define Pwd_BYTES_ENCRYPTED_PASSWORD Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64
/*****************************************************************************/
/***************************** Public prototypes *****************************/

View File

@ -79,7 +79,7 @@ void Plg_ListPlugins (void)
extern const char *Txt_Plugin;
unsigned NumPlg;
struct Plugin *Plg;
char URL[Cns_MAX_BYTES_WWW + Ses_LENGTH_SESSION_ID + 1];
char URL[Cns_MAX_BYTES_WWW + Ses_BYTES_SESSION_ID + 1];
if (Gbl.Usrs.Me.LoggedRole != Rol_SYS_ADM)
{

View File

@ -1007,7 +1007,8 @@ void Rec_ListRecordsGsts (void)
Ptr = Gbl.Usrs.Select.All;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat)) // Get from the database the data of the student
{
@ -1170,7 +1171,8 @@ static void Rec_ListRecordsStds (Rec_SharedRecordViewType_t ShaTypeOfView,
Ptr = Gbl.Usrs.Select.All;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat)) // Get from the database the data of the student
if (Usr_CheckIfUsrBelongsToCrs (UsrDat.UsrCod,
@ -1366,7 +1368,8 @@ void Rec_ListRecordsTchs (void)
Ptr = Gbl.Usrs.Select.All;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat)) // Get from the database the data of the student
if (Usr_CheckIfUsrBelongsToCrs (UsrDat.UsrCod,

View File

@ -1343,7 +1343,7 @@ static void Sch_SaveLastSearchIntoSession (void)
{
char Query[256 +
Sch_MAX_BYTES_STRING_TO_FIND +
Ses_LENGTH_SESSION_ID];
Ses_BYTES_SESSION_ID];
if (Gbl.Usrs.Me.Logged)
{

View File

@ -81,7 +81,7 @@ void Ses_CreateSession (void)
{
/***** Create a unique name for the session *****/
Str_Copy (Gbl.Session.Id,Gbl.UniqueNameEncrypted,
Ses_LENGTH_SESSION_ID);
Ses_BYTES_SESSION_ID);
/***** Check that session is not open *****/
if (Ses_CheckIfSessionExists (Gbl.Session.Id))
@ -105,7 +105,7 @@ void Ses_CreateSession (void)
bool Ses_CheckIfSessionExists (const char *IdSes)
{
char Query[512];
char Query[128 + Ses_BYTES_SESSION_ID];
/***** Get if session already exists in database *****/
sprintf (Query,"SELECT COUNT(*) FROM sessions WHERE SessionId='%s'",
@ -154,7 +154,9 @@ void Ses_CloseSession (void)
void Ses_InsertSessionInDB (void)
{
char Query[1024];
char Query[1024 +
Ses_BYTES_SESSION_ID +
Pwd_BYTES_ENCRYPTED_PASSWORD];
/***** Insert session in the database *****/
if (Gbl.Search.WhatToSearch == Sch_SEARCH_UNKNOWN)
@ -185,7 +187,9 @@ void Ses_InsertSessionInDB (void)
void Ses_UpdateSessionDataInDB (void)
{
char Query[1024];
char Query[1024 +
Pwd_BYTES_ENCRYPTED_PASSWORD +
Ses_BYTES_SESSION_ID];
/***** Update session in database *****/
sprintf (Query,"UPDATE sessions SET UsrCod='%ld',Password='%s',Role='%u',"
@ -210,11 +214,10 @@ void Ses_UpdateSessionDataInDB (void)
void Ses_UpdateSessionLastRefreshInDB (void)
{
char Query[512];
char Query[128 + Ses_BYTES_SESSION_ID];
/***** Update session in database *****/
sprintf (Query,"UPDATE sessions SET LastRefresh=NOW()"
" WHERE SessionId='%s'",
sprintf (Query,"UPDATE sessions SET LastRefresh=NOW() WHERE SessionId='%s'",
Gbl.Session.Id);
DB_QueryUPDATE (Query,"can not update session");
}
@ -225,7 +228,7 @@ void Ses_UpdateSessionLastRefreshInDB (void)
static void Ses_RemoveSessionFromDB (void)
{
char Query[512];
char Query[128 + Ses_BYTES_SESSION_ID];
/***** Remove current session *****/
sprintf (Query,"DELETE FROM sessions WHERE SessionId='%s'",
@ -267,7 +270,7 @@ void Ses_RemoveExpiredSessions (void)
bool Ses_GetSessionData (void)
{
char Query[512];
char Query[256 + Ses_BYTES_SESSION_ID];
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned UnsignedNum;
@ -290,7 +293,7 @@ bool Ses_GetSessionData (void)
/***** Get password (row[1]) *****/
Str_Copy (Gbl.Usrs.Me.LoginEncryptedPassword,row[1],
Pwd_MAX_BYTES_ENCRYPTED_PASSWORD);
Pwd_BYTES_ENCRYPTED_PASSWORD);
/***** Get logged user type (row[2]) *****/
if (sscanf (row[2],"%u",&Gbl.Usrs.Me.RoleFromSession) != 1)
@ -353,7 +356,7 @@ void Ses_InsertHiddenParInDB (Act_Action_t Action,const char *ParamName,const ch
if (!Ses_CheckIfHiddenParIsAlreadyInDB (Action,ParamName))
{
/***** Allocate space for query *****/
MaxLength = 256 + Ses_LENGTH_SESSION_ID + strlen (ParamName) + strlen (ParamValue);
MaxLength = 256 + Ses_BYTES_SESSION_ID + strlen (ParamName) + strlen (ParamValue);
if ((Query = (char *) malloc (MaxLength + 1)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory for query.");
@ -377,7 +380,7 @@ void Ses_InsertHiddenParInDB (Act_Action_t Action,const char *ParamName,const ch
void Ses_RemoveHiddenParFromThisSession (void)
{
char Query[128 + Ses_LENGTH_SESSION_ID];
char Query[128 + Ses_BYTES_SESSION_ID];
if (Gbl.Session.IsOpen && // There is an open session
!Gbl.HiddenParamsInsertedIntoDB) // No params just inserted
@ -395,7 +398,7 @@ void Ses_RemoveHiddenParFromThisSession (void)
void Ses_RemoveHiddenParFromExpiredSessions (void)
{
char Query[512];
char Query[256];
/***** Remove hidden parameters from expired sessions *****/
sprintf (Query,"DELETE FROM hidden_params"

View File

@ -33,7 +33,7 @@
/***************************** Public constants ******************************/
/*****************************************************************************/
#define Ses_LENGTH_SESSION_ID Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64
#define Ses_BYTES_SESSION_ID Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64
#define Con_MIN_TIME_TO_REFRESH_CONNECTED_IN_MS (Cfg_MIN_TIME_TO_REFRESH_CONNECTED * 1000L) // Refresh period of connected users in miliseconds
#define Con_MAX_TIME_TO_REFRESH_CONNECTED_IN_MS (Cfg_MAX_TIME_TO_REFRESH_CONNECTED * 1000L) // Refresh period of connected users in miliseconds

View File

@ -803,7 +803,7 @@ static void Soc_BuildQueryToGetTimeline (Soc_TimelineUsrOrGbl_t TimelineUsrOrGbl
static long Soc_GetPubCodFromSession (const char *FieldName)
{
char Query[128 + Ses_LENGTH_SESSION_ID];
char Query[128 + Ses_BYTES_SESSION_ID];
MYSQL_RES *mysql_res;
MYSQL_ROW row;
long PubCod;
@ -831,7 +831,7 @@ static long Soc_GetPubCodFromSession (const char *FieldName)
static void Soc_UpdateLastPubCodIntoSession (void)
{
char Query[256 + Ses_LENGTH_SESSION_ID];
char Query[256 + Ses_BYTES_SESSION_ID];
/***** Update last publishing code *****/
sprintf (Query,"UPDATE sessions"
@ -847,7 +847,7 @@ static void Soc_UpdateLastPubCodIntoSession (void)
static void Soc_UpdateFirstPubCodIntoSession (long FirstPubCod)
{
char Query[128 + Ses_LENGTH_SESSION_ID];
char Query[128 + Ses_BYTES_SESSION_ID];
/***** Update last publishing code *****/
sprintf (Query,"UPDATE sessions SET FirstPubCod='%ld' WHERE SessionId='%s'",
@ -2293,8 +2293,9 @@ static long Soc_ReceiveSocialPost (void)
/***** Allocate space for query *****/
if ((Query = malloc (256 +
strlen (Content) +
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 +
Img_MAX_BYTES_TITLE)) == NULL)
Img_BYTES_NAME +
Img_MAX_BYTES_TITLE +
Cns_MAX_BYTES_WWW)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store database query.");
/***** Check if image is received and processed *****/
@ -2444,7 +2445,7 @@ static unsigned long Soc_GetNumCommentsInSocialNote (long NotCod)
static void Soc_WriteCommentsInSocialNote (const struct SocialNote *SocNot)
{
char Query[512];
char Query[1024];
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned long NumComments;
@ -2995,8 +2996,9 @@ static long Soc_ReceiveComment (void)
/***** Allocate space for query *****/
if ((Query = malloc (256 +
strlen (Content) +
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 +
Img_MAX_BYTES_TITLE)) == NULL)
Img_BYTES_NAME +
Img_MAX_BYTES_TITLE +
Cns_MAX_BYTES_WWW)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store database query.");
/***** Check if image is received and processed *****/
@ -4494,7 +4496,7 @@ static void Soc_GetDataOfSocialNotByCod (struct SocialNote *SocNot)
static void Soc_GetDataOfSocialComByCod (struct SocialComment *SocCom)
{
char Query[512];
char Query[1024];
MYSQL_RES *mysql_res;
MYSQL_ROW row;
@ -4714,7 +4716,7 @@ void Soc_ClearOldTimelinesDB (void)
static void Soc_ClearTimelineThisSession (void)
{
char Query[128 + Ses_LENGTH_SESSION_ID];
char Query[128 + Ses_BYTES_SESSION_ID];
/***** Remove social timeline for this session *****/
sprintf (Query,"DELETE FROM social_timelines WHERE SessionId='%s'",
@ -4728,7 +4730,7 @@ static void Soc_ClearTimelineThisSession (void)
static void Soc_AddNotesJustRetrievedToTimelineThisSession (void)
{
char Query[256 + Ses_LENGTH_SESSION_ID];
char Query[256 + Ses_BYTES_SESSION_ID];
sprintf (Query,"INSERT IGNORE INTO social_timelines"
" (SessionId,NotCod)"

View File

@ -1299,7 +1299,8 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
Ptr = Gbl.Usrs.Select.All;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);
if (UsrDat.UsrCod > 0)
{

View File

@ -112,8 +112,8 @@ action="https://localhost/swad/es" method="post">
void Str_InsertLinks (char *Txt,unsigned long MaxLength,size_t MaxCharsURLOnScreen)
{
extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES];
char ParamsStr[256 + 256 + Ses_LENGTH_SESSION_ID + 256];
char Anchor1Nick[256 + 256 + 256 + Ses_LENGTH_SESSION_ID + 256 + 256];
char ParamsStr[256 + 256 + Ses_BYTES_SESSION_ID + 256];
char Anchor1Nick[256 + 256 + 256 + Ses_BYTES_SESSION_ID + 256 + 256];
char Anchor2Nick[256 + Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64];
size_t TxtLength;
size_t TxtLengthWithInsertedAnchors;

View File

@ -691,7 +691,7 @@ static bool Tst_CheckIfNextTstAllowed (void)
static void Tst_SetTstStatus (unsigned NumTst,Tst_Status_t TstStatus)
{
char Query[512];
char Query[512 + Ses_BYTES_SESSION_ID];
/***** Delete old status from expired sessions *****/
sprintf (Query,"DELETE FROM tst_status"
@ -6021,7 +6021,7 @@ static void Tst_InsertOrUpdateQstIntoDB (void)
if ((Query = malloc (512 +
Gbl.Test.Stem.Length +
Gbl.Test.Feedback.Length +
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 +
Img_BYTES_NAME +
Img_MAX_BYTES_TITLE)) == NULL)
Lay_ShowErrorAndExit ("Not enough memory to store database query.");
@ -7089,7 +7089,8 @@ void Tst_ShowUsrsTestResults (void)
Ptr = Gbl.Usrs.Select.All;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,Gbl.Usrs.Other.UsrDat.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,Gbl.Usrs.Other.UsrDat.EncryptedUsrCod,
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&Gbl.Usrs.Other.UsrDat);
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // Get of the database the data of the user
if (Usr_CheckIfUsrBelongsToCrs (Gbl.Usrs.Other.UsrDat.UsrCod,

View File

@ -487,7 +487,7 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat)
/* Get encrypted password */
Str_Copy (UsrDat->Password,row[1],
Pwd_MAX_BYTES_ENCRYPTED_PASSWORD);
Pwd_BYTES_ENCRYPTED_PASSWORD);
/* Get roles */
UsrDat->RoleInCurrentCrsDB = Rol_GetRoleInCrs (Gbl.CurrentCrs.Crs.CrsCod,UsrDat->UsrCod);
@ -4886,7 +4886,7 @@ static void Usr_GetListUsrsFromQuery (const char *Query,Rol_Role_t Role,Sco_Scop
/* Get encrypted password (row[2]) */
Str_Copy (UsrInList->Password,row[2],
Pwd_MAX_BYTES_ENCRYPTED_PASSWORD);
Pwd_BYTES_ENCRYPTED_PASSWORD);
/* Get user's surname 1 (row[3]) */
Str_Copy (UsrInList->Surname1,row[3],
@ -5401,7 +5401,8 @@ bool Usr_FindUsrCodInListOfSelectedUsrs (const char *EncryptedUsrCodToFind)
Ptr = Gbl.Usrs.Select.All;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,EncryptedUsrCod,
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
if (!strcmp (EncryptedUsrCodToFind,EncryptedUsrCod))
return true; // Found!
}
@ -5423,7 +5424,8 @@ unsigned Usr_CountNumUsrsInListOfSelectedUsrs (void)
Ptr = Gbl.Usrs.Select.All;
while (*Ptr)
{
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Par_GetNextStrUntilSeparParamMult (&Ptr,UsrDat.EncryptedUsrCod,
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Usr_GetUsrCodFromEncryptedUsrCod (&UsrDat);
if (UsrDat.UsrCod > 0)
NumUsrs++;

View File

@ -126,7 +126,7 @@ struct UsrData
unsigned Num;
} IDs;
char Nickname [Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1];
char Password [Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
char Password [Pwd_BYTES_ENCRYPTED_PASSWORD + 1];
Rol_Role_t RoleInCurrentCrsDB;
int Roles; // Check always if filled/calculated
// >=0 ==> filled/calculated
@ -185,7 +185,7 @@ struct UsrInList
{
long UsrCod;
char EncryptedUsrCod[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1];
char Password[Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
char Password[Pwd_BYTES_ENCRYPTED_PASSWORD + 1];
char Surname1 [Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1];
char Surname2 [Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1];
char FirstName[Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1];

View File

@ -192,7 +192,7 @@ Svc_Role_t Svc_RolRole_to_SvcRole[Rol_NUM_ROLES] =
Svc_ROLE_UNKNOWN, // Rol_SYS_ADM
};
#define Svc_LENGTH_WS_KEY Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64
#define Svc_BYTES_WS_KEY Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64
/*****************************************************************************/
/********************************* Data types ********************************/
@ -204,11 +204,11 @@ Svc_Role_t Svc_RolRole_to_SvcRole[Rol_NUM_ROLES] =
static int Svc_GetPlgCodFromAppKey (const char *appKey);
static int Svc_CheckIdSession (const char *IdSession);
static int Svc_CheckWSKey (char WSKey[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1]);
static int Svc_CheckWSKey (char WSKey[Svc_BYTES_WS_KEY + 1]);
static int Svc_CheckCourseAndGroupCodes (long CrsCod,long GrpCod);
static int Svc_GenerateNewWSKey (long UsrCod,
char WSKey[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1]);
char WSKey[Svc_BYTES_WS_KEY + 1]);
static int Svc_RemoveOldWSKeys (void);
static int Svc_GetCurrentDegCodFromCurrentCrsCod (void);
static bool Svc_GetSomeUsrDataFromUsrCod (struct UsrData *UsrDat,long CrsCod);
@ -281,7 +281,7 @@ void Svc_Exit (const char *DetailErrorMessage)
static int Svc_GetPlgCodFromAppKey (const char *appKey)
{
char Query[256 + Plg_MAX_BYTES_PLUGIN_APP_KEY];
char Query[128 + Plg_MAX_BYTES_PLUGIN_APP_KEY];
MYSQL_RES *mysql_res;
MYSQL_ROW row;
@ -326,7 +326,7 @@ static int Svc_CheckIdSession (const char *IdSession)
{
const char *Ptr;
unsigned i;
char Query[512];
char Query[128 + Ses_BYTES_SESSION_ID];
/***** Check if pointer is NULL *****/
if (IdSession == NULL)
@ -335,7 +335,7 @@ static int Svc_CheckIdSession (const char *IdSession)
"Session identifier is a null pointer");
/***** Check length of session identifier *****/
if (strlen (IdSession) != Ses_LENGTH_SESSION_ID)
if (strlen (IdSession) != Ses_BYTES_SESSION_ID)
return soap_sender_fault (Gbl.soap,
"Bad session identifier",
"The length of the session identifier is wrong");
@ -371,9 +371,9 @@ static int Svc_CheckIdSession (const char *IdSession)
/************** Check if a web service key exists in database ****************/
/*****************************************************************************/
static int Svc_CheckWSKey (char WSKey[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1])
static int Svc_CheckWSKey (char WSKey[Svc_BYTES_WS_KEY + 1])
{
char Query[512];
char Query[128 + Svc_BYTES_WS_KEY];
MYSQL_RES *mysql_res;
MYSQL_ROW row;
@ -443,7 +443,7 @@ static int Svc_CheckCourseAndGroupCodes (long CrsCod,long GrpCod)
/*****************************************************************************/
static int Svc_GenerateNewWSKey (long UsrCod,
char WSKey[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1])
char WSKey[Svc_BYTES_WS_KEY + 1])
{
int ReturnCode;
char Query[512];
@ -454,7 +454,7 @@ static int Svc_GenerateNewWSKey (long UsrCod,
/***** Create a unique name for the key *****/
Str_Copy (WSKey,Gbl.UniqueNameEncrypted,
Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64);
Svc_BYTES_WS_KEY);
/***** Check that key does not exist in database *****/
sprintf (Query,"SELECT COUNT(*) FROM ws_keys WHERE WSKey='%s'",
@ -644,7 +644,7 @@ int swad__createAccount (struct soap *soap,
struct swad__createAccountOutput *createAccountOut) // output
{
char NewNicknameWithoutArroba[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1];
char NewEncryptedPassword[Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
char NewEncryptedPassword[Pwd_BYTES_ENCRYPTED_PASSWORD + 1];
int Result;
int ReturnCode;
@ -653,7 +653,7 @@ int swad__createAccount (struct soap *soap,
Gbl.WebService.Function = Svc_createAccount;
/***** Allocate space for strings *****/
createAccountOut->wsKey = (char *) soap_malloc (Gbl.soap,Svc_LENGTH_WS_KEY + 1);
createAccountOut->wsKey = (char *) soap_malloc (Gbl.soap,Svc_BYTES_WS_KEY + 1);
/***** Default values returned on error *****/
createAccountOut->userCode = 0; // Undefined error
@ -681,7 +681,7 @@ int swad__createAccount (struct soap *soap,
/***** Set password to the password typed by the user *****/
Str_Copy (Gbl.Usrs.Me.UsrDat.Password,NewEncryptedPassword,
Pwd_MAX_BYTES_ENCRYPTED_PASSWORD);
Pwd_BYTES_ENCRYPTED_PASSWORD);
/***** User does not exist in the platform, so create him/her! *****/
Acc_CreateNewUsr (&Gbl.Usrs.Me.UsrDat,
@ -783,7 +783,7 @@ int swad__loginByUserPasswordKey (struct soap *soap,
Gbl.WebService.Function = Svc_loginByUserPasswordKey;
/***** Allocate space for strings *****/
loginByUserPasswordKeyOut->wsKey = (char *) soap_malloc (Gbl.soap,Svc_LENGTH_WS_KEY + 1);
loginByUserPasswordKeyOut->wsKey = (char *) soap_malloc (Gbl.soap,Svc_BYTES_WS_KEY + 1);
loginByUserPasswordKeyOut->userNickname = (char *) soap_malloc (Gbl.soap,Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1);
loginByUserPasswordKeyOut->userID = (char *) soap_malloc (Gbl.soap,ID_MAX_BYTES_USR_ID + 1);
loginByUserPasswordKeyOut->userFirstname = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1);
@ -937,7 +937,7 @@ int swad__loginBySessionKey (struct soap *soap,
struct swad__loginBySessionKeyOutput *loginBySessionKeyOut) // output
{
int ReturnCode;
char Query[512];
char Query[256 + Ses_BYTES_SESSION_ID];
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned NumRows;
@ -949,7 +949,7 @@ int swad__loginBySessionKey (struct soap *soap,
Gbl.WebService.Function = Svc_loginBySessionKey;
/***** Allocate space for strings *****/
loginBySessionKeyOut->wsKey = (char *) soap_malloc (Gbl.soap,Svc_LENGTH_WS_KEY + 1);
loginBySessionKeyOut->wsKey = (char *) soap_malloc (Gbl.soap,Svc_BYTES_WS_KEY + 1);
loginBySessionKeyOut->userNickname = (char *) soap_malloc (Gbl.soap,Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1);
loginBySessionKeyOut->userID = (char *) soap_malloc (Gbl.soap,ID_MAX_BYTES_USR_ID + 1);
loginBySessionKeyOut->userFirstname = (char *) soap_malloc (Gbl.soap,Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1);
@ -993,7 +993,8 @@ int swad__loginBySessionKey (struct soap *soap,
// Now, we know that sessionID is a valid session identifier
/***** Query data of the session from database *****/
sprintf (Query,"SELECT UsrCod,DegCod,CrsCod FROM sessions"
" WHERE SessionId='%s'",sessionID);
" WHERE SessionId='%s'",
sessionID);
if ((NumRows = (unsigned) DB_QuerySELECT (Query,&mysql_res,"can not get session data")) == 1) // Session found in table of sessions
{
row = mysql_fetch_row (mysql_res);