diff --git a/swad_changelog.h b/swad_changelog.h index acef1e9a4..3aeda2563 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -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) diff --git a/swad_config.c b/swad_config.c index f985765d9..dee06d204 100644 --- a/swad_config.c +++ b/swad_config.c @@ -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; + } diff --git a/swad_config.h b/swad_config.h index 6695e65d6..80aa999f7 100644 --- a/swad_config.h +++ b/swad_config.h @@ -545,4 +545,7 @@ void Cfg_GetConfigFromFile (void); +const char *Cfg_GetDatabasePassword (void); +const char *Cfg_GetSMTPPassword (void); + #endif diff --git a/swad_database.c b/swad_database.c index e822b9394..c6cc84815 100644 --- a/swad_database.c +++ b/swad_database.c @@ -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"); diff --git a/swad_global.c b/swad_global.c index ad8debfb1..c0bfd3e60 100644 --- a/swad_global.c +++ b/swad_global.c @@ -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 (); diff --git a/swad_global.h b/swad_global.h index f61018d6a..7eba4c46d 100644 --- a/swad_global.h +++ b/swad_global.h @@ -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]; diff --git a/swad_mail.c b/swad_mail.c index c2e235e21..c5e8eaf56 100644 --- a/swad_mail.c +++ b/swad_mail.c @@ -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);