Version 22.50.5: Oct 20, 2022 Code refactoring in configuration.

This commit is contained in:
acanas 2022-10-20 10:45:07 +02:00
parent 92559fd9a9
commit bb93618e1f
7 changed files with 30 additions and 20 deletions

View File

@ -605,10 +605,11 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate
TODO: Attach pdf files in multimedia.
*/
#define Log_PLATFORM_VERSION "SWAD 22.50.4 (2022-10-20)"
#define Log_PLATFORM_VERSION "SWAD 22.50.5 (2022-10-20)"
#define CSS_FILE "swad22.49.4.css"
#define JS_FILE "swad22.49.js"
/*
Version 22.50.5: Oct 20, 2022 Code refactoring in configuration. (333447 lines)
Version 22.50.4: Oct 20, 2022 Code refactoring in email sending. (333438 lines)
Version 22.50.3: Oct 19, 2022 Fixed bug in keys when playing matches. (333456 lines)
Version 22.50.2: Oct 19, 2022 Code refactoring related to dates. (333456 lines)

View File

@ -32,15 +32,18 @@
#include "swad_config.h"
#include "swad_error.h"
#include "swad_global.h"
#include "swad_layout.h"
#include "swad_string.h"
/*****************************************************************************/
/************** External global variables from others modules ****************/
/************************* Private global variables **************************/
/*****************************************************************************/
extern struct Globals Gbl;
static struct
{
char Database[Cfg_MAX_BYTES_DATABASE_PASSWORD + 1];
char SMTP[Cfg_MAX_BYTES_SMTP_PASSWORD + 1];
} Cfg_Passwords;
/*****************************************************************************/
/******************* Get SMTP password from config file **********************/
@ -84,18 +87,29 @@ void Cfg_GetConfigFromFile (void)
/* Close config file */
fclose (FileCfg);
/***** Search SMTP password *****/
/***** Search passwords *****/
Cfg_Passwords.Database[0] =
Cfg_Passwords.SMTP[0] = '\0';
Ptr = Config;
while (*Ptr)
{
Str_GetNextStringUntilSpace (&Ptr,Str,Cfg_MAX_BYTES_STR);
if (!strcasecmp (Str,"DATABASE_PASSWORD"))
Str_GetNextStringUntilSpace (&Ptr,Gbl.Config.DatabasePassword,Cfg_MAX_BYTES_DATABASE_PASSWORD);
Str_GetNextStringUntilSpace (&Ptr,Cfg_Passwords.Database,Cfg_MAX_BYTES_DATABASE_PASSWORD);
else if (!strcasecmp (Str,"SMTP_PASSWORD"))
Str_GetNextStringUntilSpace (&Ptr,Gbl.Config.SMTPPassword,Cfg_MAX_BYTES_SMTP_PASSWORD);
Str_GetNextStringUntilSpace (&Ptr,Cfg_Passwords.SMTP ,Cfg_MAX_BYTES_SMTP_PASSWORD);
}
if (!Gbl.Config.DatabasePassword[0] ||
!Gbl.Config.SMTPPassword[0])
if (!Cfg_Passwords.Database[0] ||
!Cfg_Passwords.SMTP[0])
Err_ShowErrorAndExit ("Bad config format.");
}
const char *Cfg_GetDatabasePassword (void)
{
return Cfg_Passwords.Database;
}
const char *Cfg_GetSMTPPassword (void)
{
return Cfg_Passwords.SMTP;
}

View File

@ -545,4 +545,7 @@
void Cfg_GetConfigFromFile (void);
const char *Cfg_GetDatabasePassword (void);
const char *Cfg_GetSMTPPassword (void);
#endif

View File

@ -3920,7 +3920,7 @@ void DB_OpenDBConnection (void)
Err_ShowErrorAndExit ("Can not init MySQL.");
if (mysql_real_connect (&DB_Database.mysql,Cfg_DATABASE_HOST,
Cfg_DATABASE_USER,Gbl.Config.DatabasePassword,
Cfg_DATABASE_USER,Cfg_GetDatabasePassword (),
Cfg_DATABASE_DBNAME,0,NULL,0) == NULL)
DB_ExitOnMySQLError ("can not connect to database");

View File

@ -85,9 +85,6 @@ void Gbl_InitializeGlobals (void)
Dat_SetStartExecutionTimeUTC ();
Dat_GetAndConvertCurrentDateTime ();
Gbl.Config.DatabasePassword[0] = '\0';
Gbl.Config.SMTPPassword[0] = '\0';
Gbl.PID = getpid ();
Sta_GetRemoteAddr ();

View File

@ -50,11 +50,6 @@
struct Globals
{
struct
{
char DatabasePassword[Cfg_MAX_BYTES_DATABASE_PASSWORD + 1];
char SMTPPassword[Cfg_MAX_BYTES_SMTP_PASSWORD + 1];
} Config;
struct Fil_Files F;
pid_t PID; // PID of current process
char IP[Cns_MAX_BYTES_IP + 1];

View File

@ -1711,7 +1711,7 @@ int Mai_SendMailMsg (char FileNameMail[PATH_MAX + 1],const char *Subject)
Cfg_AUTOMATIC_EMAIL_SMTP_SERVER,
Cfg_AUTOMATIC_EMAIL_SMTP_PORT,
Cfg_AUTOMATIC_EMAIL_FROM,
Gbl.Config.SMTPPassword,
Cfg_GetSMTPPassword (),
Gbl.Usrs.Me.UsrDat.Email,
Cfg_PLATFORM_SHORT_NAME,Subject,
FileNameMail);