Version 16.155.22

This commit is contained in:
Antonio Cañas Vargas 2017-03-13 13:33:45 +01:00
parent 5bd5fb1b59
commit bd17e6b0ab
12 changed files with 57 additions and 46 deletions

View File

@ -863,8 +863,8 @@ CREATE TABLE IF NOT EXISTS pending_passwd (
CREATE TABLE IF NOT EXISTS places ( CREATE TABLE IF NOT EXISTS places (
PlcCod INT NOT NULL AUTO_INCREMENT, PlcCod INT NOT NULL AUTO_INCREMENT,
InsCod INT NOT NULL, InsCod INT NOT NULL,
ShortName VARCHAR(32) NOT NULL, ShortName VARCHAR(511) NOT NULL,
FullName VARCHAR(127) NOT NULL, FullName VARCHAR(2047) NOT NULL,
UNIQUE INDEX(PlcCod), UNIQUE INDEX(PlcCod),
INDEX(InsCod)); INDEX(InsCod));
-- --

View File

@ -552,7 +552,7 @@ bool Acc_CreateMyNewAccountAndLogIn (void)
{ {
char NewNicknameWithoutArroba[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1]; char NewNicknameWithoutArroba[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1];
char NewEmail[Cns_MAX_BYTES_EMAIL_ADDRESS + 1]; char NewEmail[Cns_MAX_BYTES_EMAIL_ADDRESS + 1];
char NewEncryptedPassword[Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 + 1]; char NewEncryptedPassword[Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
if (Acc_GetParamsNewAccount (NewNicknameWithoutArroba,NewEmail,NewEncryptedPassword)) if (Acc_GetParamsNewAccount (NewNicknameWithoutArroba,NewEmail,NewEncryptedPassword))
{ {
@ -562,7 +562,7 @@ bool Acc_CreateMyNewAccountAndLogIn (void)
/***** Set password to the password typed by the user *****/ /***** Set password to the password typed by the user *****/
Str_Copy (Gbl.Usrs.Me.UsrDat.Password,NewEncryptedPassword, Str_Copy (Gbl.Usrs.Me.UsrDat.Password,NewEncryptedPassword,
Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64); Pwd_MAX_BYTES_ENCRYPTED_PASSWORD);
/***** User does not exist in the platform, so create him/her! *****/ /***** User does not exist in the platform, so create him/her! *****/
Acc_CreateNewUsr (&Gbl.Usrs.Me.UsrDat, Acc_CreateNewUsr (&Gbl.Usrs.Me.UsrDat,

View File

@ -207,13 +207,18 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.155.21 (2017-03-13)" #define Log_PLATFORM_VERSION "SWAD 16.155.22 (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.22:Mar 13, 2017 Adjusting size of database fields. (216957 lines)
2 changes necessary in database:
ALTER TABLE places CHANGE COLUMN ShortName ShortName VARCHAR(511) NOT NULL;
ALTER TABLE places CHANGE COLUMN FullName FullName VARCHAR(2047) NOT NULL;
Version 16.155.21:Mar 13, 2017 Adjusting size of database fields. (216948 lines) Version 16.155.21:Mar 13, 2017 Adjusting size of database fields. (216948 lines)
1 change necessary in database. 1 change necessary in database.
ALTER TABLE pending_emails CHANGE COLUMN E_mail E_mail VARCHAR(255) COLLATE latin1_general_ci NOT NULL; ALTER TABLE pending_emails CHANGE COLUMN E_mail E_mail VARCHAR(255) COLLATE latin1_general_ci NOT NULL;

View File

@ -1822,31 +1822,31 @@ mysql> DESCRIBE pending_passwd;
3 rows in set (0.00 sec) 3 rows in set (0.00 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS pending_passwd (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS pending_passwd ("
"UsrCod INT NOT NULL," "UsrCod INT NOT NULL,"
"PendingPassword CHAR(86) COLLATE latin1_bin NOT NULL," "PendingPassword CHAR(86) COLLATE latin1_bin NOT NULL," // Pwd_MAX_BYTES_ENCRYPTED_PASSWORD
"DateAndTime DATETIME NOT NULL," "DateAndTime DATETIME NOT NULL,"
"PRIMARY KEY (UsrCod))"); "PRIMARY KEY (UsrCod))");
/***** Table places *****/ /***** Table places *****/
/* /*
mysql> DESCRIBE places; mysql> DESCRIBE places;
+-----------+--------------+------+-----+---------+----------------+ +-----------+---------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra | | Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+ +-----------+---------------+------+-----+---------+----------------+
| PlcCod | int(11) | NO | PRI | NULL | auto_increment | | PlcCod | int(11) | NO | PRI | NULL | auto_increment |
| InsCod | int(11) | NO | MUL | NULL | | | InsCod | int(11) | NO | MUL | NULL | |
| ShortName | varchar(32) | NO | | NULL | | | ShortName | varchar(511) | NO | | NULL | |
| FullName | varchar(127) | NO | | NULL | | | FullName | varchar(2047) | NO | | NULL | |
+-----------+--------------+------+-----+---------+----------------+ +-----------+---------------+------+-----+---------+----------------+
4 rows in set (0.00 sec) 4 rows in set (0,00 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS places (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS places ("
"PlcCod INT NOT NULL AUTO_INCREMENT," "PlcCod INT NOT NULL AUTO_INCREMENT,"
"InsCod INT NOT NULL," "InsCod INT NOT NULL,"
"ShortName VARCHAR(32) NOT NULL," "ShortName VARCHAR(511) NOT NULL," // Plc_MAX_BYTES_PLACE_SHRT_NAME
"FullName VARCHAR(127) NOT NULL," "FullName VARCHAR(2047) NOT NULL," // Plc_MAX_BYTES_PLACE_FULL_NAME
"UNIQUE INDEX(PlcCod)," "UNIQUE INDEX(PlcCod),"
"INDEX(InsCod))"); "INDEX(InsCod))");
/***** Table plugins *****/ /***** Table plugins *****/
/* /*

View File

@ -295,8 +295,8 @@ struct Globals
bool RoleHasChanged; // Set when I have changed my role 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 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 LoginPlainPassword[Pwd_MAX_BYTES_PLAIN_PASSWORD + 1];
char LoginEncryptedPassword[Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 + 1]; char LoginEncryptedPassword[Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
char PendingPassword[Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 + 1]; char PendingPassword[Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
char PathDir[PATH_MAX + 1]; char PathDir[PATH_MAX + 1];
bool Logged; bool Logged;
bool IBelongToCurrentIns; bool IBelongToCurrentIns;

View File

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

View File

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

View File

@ -536,7 +536,7 @@ void Plc_RemovePlace (void)
{ {
extern const char *Txt_To_remove_a_place_you_must_first_remove_all_centres_of_that_place; extern const char *Txt_To_remove_a_place_you_must_first_remove_all_centres_of_that_place;
extern const char *Txt_Place_X_removed; extern const char *Txt_Place_X_removed;
char Query[512]; char Query[128];
struct Place Plc; struct Place Plc;
/***** Get place code *****/ /***** Get place code *****/
@ -846,12 +846,15 @@ void Plc_RecFormNewPlace (void)
static void Plc_CreatePlace (struct Place *Plc) static void Plc_CreatePlace (struct Place *Plc)
{ {
extern const char *Txt_Created_new_place_X; extern const char *Txt_Created_new_place_X;
char Query[1024]; char Query[256 +
Plc_MAX_BYTES_PLACE_SHRT_NAME +
Plc_MAX_BYTES_PLACE_FULL_NAME];
/***** Create a new place *****/ /***** Create a new place *****/
sprintf (Query,"INSERT INTO places" sprintf (Query,"INSERT INTO places"
" (InsCod,ShortName,FullName)" " (InsCod,ShortName,FullName)"
" VALUES ('%ld','%s','%s')", " VALUES"
" ('%ld','%s','%s')",
Gbl.CurrentIns.Ins.InsCod,Plc->ShrtName,Plc->FullName); Gbl.CurrentIns.Ins.InsCod,Plc->ShrtName,Plc->FullName);
DB_QueryINSERT (Query,"can not create place"); DB_QueryINSERT (Query,"can not create place");

View File

@ -290,7 +290,7 @@ bool Ses_GetSessionData (void)
/***** Get password (row[1]) *****/ /***** Get password (row[1]) *****/
Str_Copy (Gbl.Usrs.Me.LoginEncryptedPassword,row[1], Str_Copy (Gbl.Usrs.Me.LoginEncryptedPassword,row[1],
Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64); Pwd_MAX_BYTES_ENCRYPTED_PASSWORD);
/***** Get logged user type (row[2]) *****/ /***** Get logged user type (row[2]) *****/
if (sscanf (row[2],"%u",&Gbl.Usrs.Me.RoleFromSession) != 1) if (sscanf (row[2],"%u",&Gbl.Usrs.Me.RoleFromSession) != 1)

View File

@ -487,7 +487,7 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat)
/* Get encrypted password */ /* Get encrypted password */
Str_Copy (UsrDat->Password,row[1], Str_Copy (UsrDat->Password,row[1],
Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64); Pwd_MAX_BYTES_ENCRYPTED_PASSWORD);
/* Get roles */ /* Get roles */
UsrDat->RoleInCurrentCrsDB = Rol_GetRoleInCrs (Gbl.CurrentCrs.Crs.CrsCod,UsrDat->UsrCod); 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]) */ /* Get encrypted password (row[2]) */
Str_Copy (UsrInList->Password,row[2], Str_Copy (UsrInList->Password,row[2],
Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64); Pwd_MAX_BYTES_ENCRYPTED_PASSWORD);
/* Get user's surname 1 (row[3]) */ /* Get user's surname 1 (row[3]) */
Str_Copy (UsrInList->Surname1,row[3], Str_Copy (UsrInList->Surname1,row[3],

View File

@ -38,6 +38,7 @@
#include "swad_layout.h" #include "swad_layout.h"
#include "swad_menu.h" #include "swad_menu.h"
#include "swad_nickname.h" #include "swad_nickname.h"
#include "swad_password.h"
#include "swad_privacy_visibility_type.h" #include "swad_privacy_visibility_type.h"
#include "swad_role_type.h" #include "swad_role_type.h"
#include "swad_scope.h" #include "swad_scope.h"
@ -125,7 +126,7 @@ struct UsrData
unsigned Num; unsigned Num;
} IDs; } IDs;
char Nickname [Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1]; char Nickname [Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1];
char Password [Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 + 1]; char Password [Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
Rol_Role_t RoleInCurrentCrsDB; Rol_Role_t RoleInCurrentCrsDB;
int Roles; // Check always if filled/calculated int Roles; // Check always if filled/calculated
// >=0 ==> filled/calculated // >=0 ==> filled/calculated
@ -184,7 +185,7 @@ struct UsrInList
{ {
long UsrCod; long UsrCod;
char EncryptedUsrCod[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1]; char EncryptedUsrCod[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1];
char Password[Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 + 1]; char Password[Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
char Surname1 [Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1]; char Surname1 [Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1];
char Surname2 [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]; char FirstName[Usr_MAX_BYTES_FIRSTNAME_OR_SURNAME + 1];

View File

@ -644,7 +644,7 @@ int swad__createAccount (struct soap *soap,
struct swad__createAccountOutput *createAccountOut) // output struct swad__createAccountOutput *createAccountOut) // output
{ {
char NewNicknameWithoutArroba[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1]; char NewNicknameWithoutArroba[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1];
char NewEncryptedPassword[Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64 + 1]; char NewEncryptedPassword[Pwd_MAX_BYTES_ENCRYPTED_PASSWORD + 1];
int Result; int Result;
int ReturnCode; int ReturnCode;
@ -681,7 +681,7 @@ int swad__createAccount (struct soap *soap,
/***** Set password to the password typed by the user *****/ /***** Set password to the password typed by the user *****/
Str_Copy (Gbl.Usrs.Me.UsrDat.Password,NewEncryptedPassword, Str_Copy (Gbl.Usrs.Me.UsrDat.Password,NewEncryptedPassword,
Cry_LENGTH_ENCRYPTED_STR_SHA512_BASE64); Pwd_MAX_BYTES_ENCRYPTED_PASSWORD);
/***** User does not exist in the platform, so create him/her! *****/ /***** User does not exist in the platform, so create him/her! *****/
Acc_CreateNewUsr (&Gbl.Usrs.Me.UsrDat, Acc_CreateNewUsr (&Gbl.Usrs.Me.UsrDat,