From 0f0a29b5b7cfbbd94bc85f95893e11f2b76af78d Mon Sep 17 00:00:00 2001 From: David Anderson Date: Fri, 24 Jul 2009 19:09:37 +0000 Subject: [PATCH] - client: in get_project_config_poll() GUI RPC, return ERR_IN_PROGRESS is the reference site check is in progress. This hopefully fixes a bug where: - the user is connected via a proxy - the manager is run for the first time, and an attach is tried - the get_project_config.php fetch fails because no proxy config - the manager gets the CC_STATUS before the ref site check has finished, so it thinks there's a network connection, and it doesn't ask the user for proxy info svn path=/trunk/boinc/; revision=18712 --- checkin_notes | 22 +++++++++ client/gui_rpc_server_ops.cpp | 11 ++++- client/net_stats.cpp | 10 +++- client/net_stats.h | 1 + clientgui/ProjectPropertiesPage.cpp | 12 +++-- html/inc/util.inc | 2 +- html/languages/translations/es.po | 71 +++++++++++++++++++---------- html/user/login_action.php | 2 +- 8 files changed, 97 insertions(+), 34 deletions(-) diff --git a/checkin_notes b/checkin_notes index 007be11634..68fe8fead7 100644 --- a/checkin_notes +++ b/checkin_notes @@ -6452,3 +6452,25 @@ David 23 July 2009 clientgui/ ProjectProcessingPage.cpp + +David 24 July 2009 + - client: in get_project_config_poll() GUI RPC, + return ERR_IN_PROGRESS is the reference site check is in progress. + This hopefully fixes a bug where: + - the user is connected via a proxy + - the manager is run for the first time, and an attach is tried + - the get_project_config.php fetch fails because no proxy config + - the manager gets the CC_STATUS before the ref site check has + finished, so it thinks there's a network connection, + and it doesn't ask the user for proxy info + + client/ + gui_rpc_server_ops.cpp + net_stats.cpp,h + clientgui/ + ProjectPropertiesPage.cpp + html/ + inc/ + util.inc + user/ + login_action.php diff --git a/client/gui_rpc_server_ops.cpp b/client/gui_rpc_server_ops.cpp index 622048d5d8..538228ce61 100644 --- a/client/gui_rpc_server_ops.cpp +++ b/client/gui_rpc_server_ops.cpp @@ -645,11 +645,20 @@ void GUI_RPC_CONN::handle_get_project_config(char* buf, MIOFILE& fout) { void GUI_RPC_CONN::handle_get_project_config_poll(char*, MIOFILE& fout) { if (get_project_config_op.error_num) { + int x; + // if the HTTP op failed, it triggers a net status check (to google). + // If this is in progress, act as if the HTTP op is still in progress + // + if (net_status.ref_site_check_in_progress()) { + x = ERR_IN_PROGRESS; + } else { + x = get_project_config_op.error_num; + } fout.printf( "\n" " %d\n" "\n", - get_project_config_op.error_num + x ); } else { fout.printf("%s", get_project_config_op.reply.c_str()); diff --git a/client/net_stats.cpp b/client/net_stats.cpp index 5f996e0b14..bd622b6a4f 100644 --- a/client/net_stats.cpp +++ b/client/net_stats.cpp @@ -211,7 +211,9 @@ int LOOKUP_WEBSITE_OP::do_rpc(string& url) { int retval; if (net_status.show_ref_message) { - msg_printf(0, MSG_INFO, "Project communication failed: attempting access to reference site"); + msg_printf(0, MSG_INFO, + "Project communication failed: attempting access to reference site" + ); } retval = gui_http->do_rpc(this, url, LOOKUP_WEBSITE_FILENAME); if (retval) { @@ -256,4 +258,10 @@ void NET_STATUS::poll() { } } +bool NET_STATUS::ref_site_check_in_progress() { + if (need_to_contact_reference_site) return true; + if (gstate.lookup_website_op.error_num == ERR_IN_PROGRESS) return true; + return false; +} + const char *BOINC_RCSID_733b4006f5 = "$Id$"; diff --git a/client/net_stats.h b/client/net_stats.h index 7eafdd4471..b20147c1fd 100644 --- a/client/net_stats.h +++ b/client/net_stats.h @@ -91,6 +91,7 @@ public: last_comm_time = 0; } void poll(); + bool ref_site_check_in_progress(); }; /// This is used to access a reference website (like yahoo or google) diff --git a/clientgui/ProjectPropertiesPage.cpp b/clientgui/ProjectPropertiesPage.cpp index 98fe6375fd..9d95620505 100644 --- a/clientgui/ProjectPropertiesPage.cpp +++ b/clientgui/ProjectPropertiesPage.cpp @@ -420,15 +420,17 @@ void CProjectPropertiesPage::OnStateChange( CProjectPropertiesPageEvent& WXUNUSE ::wxSafeYield(GetParent()); } - // We either successfully retrieved the project's account creation - // policies or we were able to talk to the web server and found out - // they do not support account creation through the wizard. In either - // case we should claim success and set the correct flags to show the - // correct 'next' page. if ( !iReturnValue && (!pc->error_num || pc->error_num == ERR_ACCT_CREATION_DISABLED) ) { + // We either successfully retrieved the project's + // account creation policies or we were able to talk + // to the web server and found out they do not support + // account creation through the wizard. + // In either case, claim success and set the correct flags + // to show the correct 'next' page. + // SetProjectPropertiesSucceeded(true); SetProjectAccountCreationDisabled(pc->account_creation_disabled); SetProjectClientAccountCreationDisabled(pc->client_account_creation_disabled); diff --git a/html/inc/util.inc b/html/inc/util.inc index 347c8d1e31..45cd4e7a47 100644 --- a/html/inc/util.inc +++ b/html/inc/util.inc @@ -69,7 +69,7 @@ function get_logged_in_user($must_be_logged_in=true) { global $g_logged_in_user; if ($g_logged_in_user) return $g_logged_in_user; - check_web_stopped(); + check_web_stopped(); $authenticator = null; if (isset($_COOKIE['auth'])) $authenticator = $_COOKIE['auth']; diff --git a/html/languages/translations/es.po b/html/languages/translations/es.po index 3d2f72df01..19fce63e2f 100644 --- a/html/languages/translations/es.po +++ b/html/languages/translations/es.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: BOINC translation team \n" "POT-Creation-Date: 2009-05-09 21:36 PDT\n" -"PO-Revision-Date: 2009-05-29 07:45-0700\n" +"PO-Revision-Date: 2009-07-23 06:58-0700\n" "Last-Translator: David M \n" "Language-Team: \n" "Language: es\n" @@ -129,16 +129,16 @@ msgid "Edit your profile" msgstr "Edite su perfil" msgid "Your feedback on this profile" -msgstr "" +msgstr "Su opinión sobre este perfil" msgid "Recommend this profile for User of the Day:" -msgstr "" +msgstr "Recomendar este perfil como Usuario del Día" msgid "I %1like%2 this profile" msgstr "Me %1gusta%2 este perfil" msgid "Alert administrators to an offensive profile:" -msgstr "" +msgstr "Alerte a los administradores de un perfil ofensivo:" msgid "I %1do not like%2 this profile" msgstr "%1No me gusta%2 este perfil" @@ -636,6 +636,8 @@ msgid "" "To replace it, click the \"Browse\" button and select a JPEG or PNG file (%1 " "or less)." msgstr "" +"Para reemplazarla, haz click en el botón \"Explorar\" y elige una imagen en " +"formato PNG o JPG (%1 o menor)" msgid "To remove it from your profile, check this box:" msgstr "Para quitarla de tu perfil, marque este cuadro:" @@ -644,6 +646,9 @@ msgid "" "If you would like include a picture with your profile, click the \"Browse\" " "button and select a JPEG or PNG file. Please select images of %1 or less." msgstr "" +"Si desea incluir una imagen en su perfil, haga clic en el botón \"Explorar\" y " +"seleccione un archivo JPEG o PNG. Por favor seleccione imágenes de %1 o " +"menos." msgid "Language" msgstr "Idioma" @@ -658,6 +663,8 @@ msgid "" "To protect the project's webpages from spam, we kindly ask you to type in " "the two words shown in the image:
\n" msgstr "" +"Para proteger las páginas web del proyecto del spam, por favor introduzca " +"las dos palabras que aparecen en la imagen:
" msgid "Create/edit profile" msgstr "Crear/editar perfil" @@ -669,19 +676,26 @@ msgid "" "Your %1profile%2 lets you share your opinions and background with the %3 " "community." msgstr "" +"Su %1perfil%2 le permite compartir sus opiniones y experiencia con la %3 " +"comunidad." msgid "Your ReCaptcha response was not correct. Please try again." msgstr "" +"La respuesta al ReCaptcha no es correcta. Por favor inténtelo de nuevo." msgid "" "Your first response was flagged as spam by the Akismet anti-spam system. " "Please modify your text and try again." msgstr "" +"Su primera respuesta fue marcada como spam por el sistema anti-spam Akismet. " +" Por favor, modifique su texto e inténtelo de nuevo." msgid "" "Your second response was flagged as spam by the Akismet anti-spam system. " "Please modify your text and try again." msgstr "" +"Su segunda respuesta fue marcada como spam por el sistema anti-spam Akismet. " +" Por favor, modifique su texto e inténtelo de nuevo." msgid "Your profile submission was empty." msgstr "" @@ -702,15 +716,17 @@ msgstr "" "datos" msgid "%1View your profile%2" -msgstr "" +msgstr "%1Ver tu perfil%2" msgid "Create a profile" -msgstr "" +msgstr "Crear un perfil" msgid "" "To prevent spam, an average credit of %1 or greater is required to create or " "edit a profile. We apologize for this inconvenience." msgstr "" +"Para evitar el Spam, necesitas un promedio de %1 créditos o más para crear o " +"editar un perfil. Sentimos las molestias." msgid "Download BOINC add-on software" msgstr "" @@ -1289,19 +1305,19 @@ msgid "Your vote to reject this profile has been recorded." msgstr "" msgid "Return to profile." -msgstr "" +msgstr "Regresar al perfil." msgid "This feature is turned off temporarily" -msgstr "" +msgstr "Esta opción ha sido deshabilitada temporalmente" msgid "No computer with ID %1 found" -msgstr "" +msgstr "No se encontró computadora con ID %1" msgid "Tasks for computer %1" -msgstr "" +msgstr "Tareas para la computadora %1" msgid "No access" -msgstr "" +msgstr "Sin acceso" msgid "Missing user ID or host ID" msgstr "" @@ -1325,11 +1341,11 @@ msgid "Top participants" msgstr "Mejores participantes" msgid "Top computers" -msgstr "" +msgstr "Mejores Computadoras" #, fuzzy msgid "Top teams" -msgstr "Mejores equipos de %1" +msgstr "Mejores equipos" msgid "" "More detailed statistics for %1 and other BOINC-based projects are available " @@ -1363,47 +1379,52 @@ msgid "edit the team's name and description" msgstr "" msgid "remove members from the team" -msgstr "" +msgstr "quitar miembros del equipo" msgid "disband a team if it has no members" msgstr "" msgid "To join a team, visit its team page and click %1Join this team%2." msgstr "" +"Para unirse a un equipo, visite la pagina del equipo y pulse en %1Unirse a " +"este equipo%2" #, fuzzy msgid "Find a team" -msgstr "buscar un equipo" +msgstr "Encontrar un equipo" msgid "All teams" -msgstr "" +msgstr "Todos los Equipos" msgid "%1 teams" -msgstr "" +msgstr "%1 equipos" -#, fuzzy msgid "Create a new team" -msgstr "Crear un hilo nuevo" +msgstr "Crear un nuevo equipo" msgid "" "If you cannot find a team that is right for you, you can %1create a team%2." msgstr "" +"Si no encuentras un equipo que sea el indicado para ti, puedes %1crear un " +"equipo%2." msgid "You must choose a non-blank team name" -msgstr "" +msgstr "El nombre del equipo no puede estar en blanco" msgid "A team named %1 already exists - try another name" -msgstr "" +msgstr "Ya existe un equipo llamado %1- intente otro nombre" msgid "Could not create team - please try later." -msgstr "" +msgstr "No se pudo crear el equipo - por favor, intentelo más tarde" msgid "Create a team" -msgstr "" +msgstr "Crear un equipo" msgid "" "You belong to %1. You must %2quit this team%3 before creating a new one." msgstr "" +"Usted pertenece a %1. Usted debe %2quitarse de este equipo%3 antes de crear " +"uno nuevo." msgid "Top hosts" msgstr "Mejores ordenadores" @@ -1415,10 +1436,10 @@ msgid "Participant since" msgstr "Participante desde" msgid "This user has no profile" -msgstr "" +msgstr "Este usuario no tiene perfil" msgid "Account data" -msgstr "" +msgstr "Datos de la cuenta" # ######################################## # "Weak account key" page (weak_auth.php) diff --git a/html/user/login_action.php b/html/user/login_action.php index 22fc38417d..272f3881d0 100644 --- a/html/user/login_action.php +++ b/html/user/login_action.php @@ -99,7 +99,7 @@ if ($id && $t && $h) { // $authenticator = get_str("key", true); if (!$authenticator) { - $authenticator = post_str("authenticator", true); + $authenticator = post_str("authenticator", true); } if (!$authenticator) { error_page("You must supply an account key");