Index: dll/win32/syssetup/globals.h =================================================================== --- dll/win32/syssetup/globals.h (revision 62700) +++ dll/win32/syssetup/globals.h (working copy) @@ -81,6 +81,11 @@ VOID SetAutoAdminLogon(VOID); +#ifdef CHECK_PASSWORD_STRENGTH +BOOL +CheckPasswordCriteria(LPCWSTR Password); +#endif /* CHECK_PASSWORD_STRENGTH */ + /* wizard.c */ VOID InstallWizard (VOID); Index: dll/win32/syssetup/lang/bg-BG.rc =================================================================== --- dll/win32/syssetup/lang/bg-BG.rc (revision 62700) +++ dll/win32/syssetup/lang/bg-BG.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "Настройката не може да продължи, докато не въведете името си." IDS_WZD_SETCOMPUTERNAME "Настройката не успя да зададе име на компютъра." IDS_WZD_COMPUTERNAME "Настройката не може да продължи, докато не въведете името на компютъра." - IDS_WZD_PASSWORDEMPTY "Трябва да въведете парола!" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Паролите, които сте въвели не съвпадат. Въведете ги отново." IDS_WZD_PASSWORDCHAR "Паролата, която сте въвели съдържа забранени знаци. Въведете изчистена парола." IDS_WZD_LOCALTIME "Вълшебникът не успя да зададе местното време." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/cs-CZ.rc =================================================================== --- dll/win32/syssetup/lang/cs-CZ.rc (revision 62700) +++ dll/win32/syssetup/lang/cs-CZ.rc (working copy) @@ -168,10 +168,27 @@ IDS_WZD_NAME "Instalace nemůže pokračovat, dokud nezadáte své jméno." IDS_WZD_SETCOMPUTERNAME "Instalátor nedokázal nastavit jméno počítače." IDS_WZD_COMPUTERNAME "Instalace nemůže pokračovat, dokud nezadáte jméno počítače." - IDS_WZD_PASSWORDEMPTY "Musíte zadat heslo!" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Zadaná hesla nesouhlasí. Zadejte požadované heslo znovu." IDS_WZD_PASSWORDCHAR "Zadané heslo obsahuje nepovolené znaky. Zadejte upravené heslo." IDS_WZD_LOCALTIME "Instalátor nedokázal nastavit čas." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/de-DE.rc =================================================================== --- dll/win32/syssetup/lang/de-DE.rc (revision 62700) +++ dll/win32/syssetup/lang/de-DE.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "Setup kann erst fortgesetzt werden, wenn ein Name eingegeben wurde." IDS_WZD_SETCOMPUTERNAME "Setup konnte den Computernamen nicht setzen." IDS_WZD_COMPUTERNAME "Setup kann erst fortgesetzt werden, wenn ein Computername eingegeben wurde." - IDS_WZD_PASSWORDEMPTY "Sie müssen ein Passwort setzen!" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Die Passwörter sind nicht gleich. Bitte setzen Sie die Passwörter erneut." IDS_WZD_PASSWORDCHAR "Das Passwort, das Sie setzten, enthält ungültige Zeichen. Bitte setzen Sie ein gültiges Passwort." IDS_WZD_LOCALTIME "Setup konnte die lokale Zeit nicht setzen." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/el-GR.rc =================================================================== --- dll/win32/syssetup/lang/el-GR.rc (revision 62700) +++ dll/win32/syssetup/lang/el-GR.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "Για να συνεχίσει η εγκατάσταση, πρέπει να εισάγετε το όνομά σας." IDS_WZD_SETCOMPUTERNAME "Η εγκατάσταση απέτυχε να ορίσει το όνομα του υπολογιστή σας." IDS_WZD_COMPUTERNAME "Για να συνεχίσει η εγκατάσταση, πρέπει να εισάγετε το όνομά του υπολογιστή." - IDS_WZD_PASSWORDEMPTY "Πρέπει να εισάγετε έναν κωδικό πρόσβασης !" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Οι κωδικοί πρόσβασης που εισαγάγατε δεν είναι ίδιοι. Εισάγετε ξανά τον κωδικό προσβασης." IDS_WZD_PASSWORDCHAR "Ο κωδικός πρόσβασης που εισαγάγατε περιέχει μη έγκυρους χαρακτήρες. Παρακαλώ εισάγετε έναν άλλο κωδικό πρόσβασης." IDS_WZD_LOCALTIME "Η εγκατάσταση απέτυχε να ρυθμίσει την ώρα του υπολογιστή σας." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/en-US.rc =================================================================== --- dll/win32/syssetup/lang/en-US.rc (revision 62700) +++ dll/win32/syssetup/lang/en-US.rc (working copy) @@ -181,10 +181,27 @@ IDS_WZD_NAME "Setup cannot continue until you enter your name." IDS_WZD_SETCOMPUTERNAME "Setup failed to set the computer name." IDS_WZD_COMPUTERNAME "Setup cannot continue until you enter the name of your computer." - IDS_WZD_PASSWORDEMPTY "You must enter a password !" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "The passwords you entered do not match. Please enter the desired password again." - IDS_WZD_PASSWORDCHAR "The password you entered contains invalid characters. Please enter a cleaned password." + IDS_WZD_PASSWORDCHAR "The password you entered contains invalid characters. Please enter a clean password." IDS_WZD_LOCALTIME "Setup was unable to set the local time." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/es-ES.rc =================================================================== --- dll/win32/syssetup/lang/es-ES.rc (revision 62700) +++ dll/win32/syssetup/lang/es-ES.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "El proceso de instalación no puede continuar hasta que no escriba su nombre." IDS_WZD_SETCOMPUTERNAME "El proceso de instalación no pudo configurar el nombre del equipo." IDS_WZD_COMPUTERNAME "El proceso de instalación no puede continuar hasta que no escriba un nombre para su equipo." - IDS_WZD_PASSWORDEMPTY "¡Debe establecer una contraseña!" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "La verificación no concuerda con la contraseña introducida. Por favor introduzca de nuevo la contraseña deseada." IDS_WZD_PASSWORDCHAR "La contraseña que ha introducido contiene carácteres inválidos. Por favor, introduzca uno de nuevo." IDS_WZD_LOCALTIME "El proceso de instalación no pudo configurar la hora del equipo." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/et-EE.rc =================================================================== --- dll/win32/syssetup/lang/et-EE.rc (revision 62700) +++ dll/win32/syssetup/lang/et-EE.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "Paigaldamine ei saa jätkuda enne kui on sisestatud nimi." IDS_WZD_SETCOMPUTERNAME "Arvuti nime ei õnnestunud seadistada." IDS_WZD_COMPUTERNAME "Paigaldamine ei saa jätkuda enne kui on sisestatud arvuti nimi." - IDS_WZD_PASSWORDEMPTY "Sa pead parooli sisestama!" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Paroolid ei klapi. Proovi paroolid uuesti sisestada." IDS_WZD_PASSWORDCHAR "Paroolis on vigased tähemärgid. Proovi teistsugust parooli." IDS_WZD_LOCALTIME "Kohalikku aega ei õnnestunud seadistada." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/fr-FR.rc =================================================================== --- dll/win32/syssetup/lang/fr-FR.rc (revision 62700) +++ dll/win32/syssetup/lang/fr-FR.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "L'installation ne peut pas continuer tant que vous n'avez pas entré votre nom." IDS_WZD_SETCOMPUTERNAME "L'installation a échoué lors de la définition du nom de votre ordinateur." IDS_WZD_COMPUTERNAME "L'installation ne peut continuer tant que vous n'avez pas entré le nom de votre ordinateur." - IDS_WZD_PASSWORDEMPTY "Vous devez entrer un mot de passe !" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Les mots de passe entrés ne correspondent pas. Veuillez saisir une nouvelle fois le mot de passe désiré." IDS_WZD_PASSWORDCHAR "Le mot de passe entré contient des caractères invalides. Veuillez saisir un mot de passe correct." IDS_WZD_LOCALTIME "L'installation n'a pas réussi à définir l'heure locale." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/he-IL.rc =================================================================== --- dll/win32/syssetup/lang/he-IL.rc (revision 62700) +++ dll/win32/syssetup/lang/he-IL.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "Setup cannot continue until you enter your name." IDS_WZD_SETCOMPUTERNAME "Setup failed to set the computer name." IDS_WZD_COMPUTERNAME "Setup cannot continue until you enter the name of your computer." - IDS_WZD_PASSWORDEMPTY "You must enter a password !" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "The passwords you entered do not match. Please enter the desired password again." IDS_WZD_PASSWORDCHAR "The password you entered contains invalid characters. Please enter a cleaned password." IDS_WZD_LOCALTIME "Setup was unable to set the local time." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/hu-HU.rc =================================================================== --- dll/win32/syssetup/lang/hu-HU.rc (revision 62700) +++ dll/win32/syssetup/lang/hu-HU.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "Setup cannot continue until you enter your name." IDS_WZD_SETCOMPUTERNAME "Setup failed to set the computer name." IDS_WZD_COMPUTERNAME "Setup cannot continue until you enter the name of your computer." - IDS_WZD_PASSWORDEMPTY "You must enter a password !" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "The passwords you entered do not match. Please enter the desired password again." IDS_WZD_PASSWORDCHAR "The password you entered contains invalid characters. Please enter a cleaned password." IDS_WZD_LOCALTIME "Setup was unable to set the local time." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/id-ID.rc =================================================================== --- dll/win32/syssetup/lang/id-ID.rc (revision 62700) +++ dll/win32/syssetup/lang/id-ID.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "Setup cannot continue until you enter your name." IDS_WZD_SETCOMPUTERNAME "Setup failed to set the computer name." IDS_WZD_COMPUTERNAME "Setup cannot continue until you enter the name of your computer." - IDS_WZD_PASSWORDEMPTY "You must enter a password !" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "The passwords you entered do not match. Please enter the desired password again." IDS_WZD_PASSWORDCHAR "The password you entered contains invalid characters. Please enter a cleaned password." IDS_WZD_LOCALTIME "Setup was unable to set the local time." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/it-IT.rc =================================================================== --- dll/win32/syssetup/lang/it-IT.rc (revision 62700) +++ dll/win32/syssetup/lang/it-IT.rc (working copy) @@ -162,10 +162,25 @@ IDS_WZD_NAME "La procedura di installazione non può proseguire se non indicate il vostro nome." IDS_WZD_SETCOMPUTERNAME "La procedura di installazione non ha potuto impostare il nome del computer." IDS_WZD_COMPUTERNAME "La procedura di installazione non può proseguire se non indicate il nome del computer." +#ifdef FORCE_ADMIN_PASSWORD IDS_WZD_PASSWORDEMPTY "E' obbligatorio impostare la password !" +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Le due password digitate non corrispondono. Digitate di nuovo le password." IDS_WZD_PASSWORDCHAR "La password contiene caratteri non validi. Digitate una password diversa." IDS_WZD_LOCALTIME "La procedura di installazione non ha potuto impostare l'ora locale." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/ja-JP.rc =================================================================== --- dll/win32/syssetup/lang/ja-JP.rc (revision 62700) +++ dll/win32/syssetup/lang/ja-JP.rc (working copy) @@ -162,10 +162,25 @@ IDS_WZD_NAME "セットアップはユーザ名が入力されるまで続行できません。" IDS_WZD_SETCOMPUTERNAME "コンピュータ名の設定に失敗しました。" IDS_WZD_COMPUTERNAME "セットアップはコンピュータ名が入力されるまで続行できません。" +#ifdef FORCE_ADMIN_PASSWORD IDS_WZD_PASSWORDEMPTY "パスワードを入力してください !" +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "入力されたパスワードが一致しません。 もう一度望ましいパスワードを入力してください。" IDS_WZD_PASSWORDCHAR "入力されたパスワードには無効な文字が含まれています。 有効なパスワードを入力してください。" IDS_WZD_LOCALTIME "セットアップはローカルタイムを設定できませんでした。" +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/nl-NL.rc =================================================================== --- dll/win32/syssetup/lang/nl-NL.rc (revision 62700) +++ dll/win32/syssetup/lang/nl-NL.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "Setup cannot continue until you enter your name." IDS_WZD_SETCOMPUTERNAME "Setup failed to set the computer name." IDS_WZD_COMPUTERNAME "Setup cannot continue until you enter the name of your computer." - IDS_WZD_PASSWORDEMPTY "You must enter a password !" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "The passwords you entered do not match. Please enter the desired password again." IDS_WZD_PASSWORDCHAR "The password you entered contains invalid characters. Please enter a cleaned password." IDS_WZD_LOCALTIME "Setup was unable to set the local time." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/no-NO.rc =================================================================== --- dll/win32/syssetup/lang/no-NO.rc (revision 62700) +++ dll/win32/syssetup/lang/no-NO.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "Installasjonen kan ikke fortsette uten ditt navn." IDS_WZD_SETCOMPUTERNAME "Installasjonen klarte ikke sette datamaskinnavnet." IDS_WZD_COMPUTERNAME "Installasjonen kan ikke fortsette før du taster inn navn for datamaskinen." - IDS_WZD_PASSWORDEMPTY "Du må taste et passord!" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Passordene du tastet er ikke like. Vennligst tast inn på nytt." IDS_WZD_PASSWORDCHAR "Passordet du tastet inneholder ugyldige tegn. Vennligst tast inn et annet." IDS_WZD_LOCALTIME "Installasjonen klarte ikke å sette lokal tid." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/pl-PL.rc =================================================================== --- dll/win32/syssetup/lang/pl-PL.rc (revision 62700) +++ dll/win32/syssetup/lang/pl-PL.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "Program instalacyjny nie może kontynuować dopóki nie wpiszesz swojego imienia i nazwiska." IDS_WZD_SETCOMPUTERNAME "Program instalacyjny nie zdołał ustawić nowej nazwy komputera." IDS_WZD_COMPUTERNAME "Program instalacyjny nie może kontynuować dopóki nie wpiszesz nazwy komputera." - IDS_WZD_PASSWORDEMPTY "Musisz wprowadzić hasło!" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Oba wprowadzone hasła nie są identyczne. Musisz wpisać to samo hasło dwa razy." IDS_WZD_PASSWORDCHAR "Wprowadzone hasło zawiera nieodpowiednie znaki. Proszę wprowadzić hasło bez ich udziału." IDS_WZD_LOCALTIME "Program instalacyjny nie zdołał ustawić czasu lokalnego." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/pt-BR.rc =================================================================== --- dll/win32/syssetup/lang/pt-BR.rc (revision 62700) +++ dll/win32/syssetup/lang/pt-BR.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "A Instalação não pode continuar até que você digite seu nome." IDS_WZD_SETCOMPUTERNAME "A Instalação falhou tentando definir o nome do computador." IDS_WZD_COMPUTERNAME "A Instalação não pode continuar até que você digite o nome do seu computador." - IDS_WZD_PASSWORDEMPTY "Você deve digitar uma senha." +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "As senhas digitadas não coincidem. Por favor, entre com a senha desejada novamente." IDS_WZD_PASSWORDCHAR "A senha que você digitou contém caracteres inválidos. Por favor digite uma senha diferente." IDS_WZD_LOCALTIME "A Instalação não pôde definir a hora local." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/ro-RO.rc =================================================================== --- dll/win32/syssetup/lang/ro-RO.rc (revision 62700) +++ dll/win32/syssetup/lang/ro-RO.rc (working copy) @@ -164,10 +164,27 @@ IDS_WZD_NAME "Nu se poate continua până nu scrieți un nume." IDS_WZD_SETCOMPUTERNAME "Se poate da calculatorului acest nume." IDS_WZD_COMPUTERNAME "Nu se poate continua până nu introduceți un nume pentru calculator." - IDS_WZD_PASSWORDEMPTY "Trebuie să introduceți o parolă!" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Mostrele pentru parolă nu se potrivesc. Încercați reintroducerea parolei." IDS_WZD_PASSWORDCHAR "Parola introdusă de dumneavoastră conține caractere invalide. încercați rescrierea parolei." IDS_WZD_LOCALTIME "Nu se poate stabili ora locală." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/ru-RU.rc =================================================================== --- dll/win32/syssetup/lang/ru-RU.rc (revision 62700) +++ dll/win32/syssetup/lang/ru-RU.rc (working copy) @@ -164,10 +164,27 @@ IDS_WZD_NAME "Для продолжения установки нужно ввести ваше имя." IDS_WZD_SETCOMPUTERNAME "Ошибка установки! Нужно ввести имя компьютера." IDS_WZD_COMPUTERNAME "Для продолжения установки нужно ввести имя компьютера." - IDS_WZD_PASSWORDEMPTY "Вы должны ввести пароль!" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Пароли, которые вы ввели не совпадают. Введите их снова." IDS_WZD_PASSWORDCHAR "Пароли, которые вы ввели содержат запрещенные символы. Введите их снова." IDS_WZD_LOCALTIME "Не удалось установить местное время." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/sk-SK.rc =================================================================== --- dll/win32/syssetup/lang/sk-SK.rc (revision 62700) +++ dll/win32/syssetup/lang/sk-SK.rc (working copy) @@ -168,10 +168,27 @@ IDS_WZD_NAME "Inštalácia nemôže pokračovať, kým nezadáte svoje meno." IDS_WZD_SETCOMPUTERNAME "Inštalátor nedokázal nastaviť názov počítača." IDS_WZD_COMPUTERNAME "Inštalácia nemôže pokračovať, kým nezadáte názov počítača." - IDS_WZD_PASSWORDEMPTY "Musíte zadať heslo!" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Zadané heslá nesúhlasia. Zadajte požadované heslo znovu." IDS_WZD_PASSWORDCHAR "Zadané heslo obsahuje nepovolené znaky. Zadajte upravené heslo." IDS_WZD_LOCALTIME "Inštalátor nedokázal nastaviť čas." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/sq-AL.rc =================================================================== --- dll/win32/syssetup/lang/sq-AL.rc (revision 62700) +++ dll/win32/syssetup/lang/sq-AL.rc (working copy) @@ -181,10 +181,27 @@ IDS_WZD_NAME "Ndërtimi nuk mund të vazhdojë deri sa të shkruani emrin tuaj." IDS_WZD_SETCOMPUTERNAME "Ndërtuesi dështoj për të vendosur emrin e kompjuterit." IDS_WZD_COMPUTERNAME "Ndërtuesi nuk mund të vazhdojë deri sa të shkruani emrin e kompjuterit tuaj." - IDS_WZD_PASSWORDEMPTY "Ju duhet të fusni një fjalëkalim !" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Fjalëkalimet që shkruat nuk përputhet. Ju lutem shkruani fjalëkalimin e dëshiruar përsëri." IDS_WZD_PASSWORDCHAR "Fjalëkalimi që dhatë përmban shenja të pavlefshme. Ju lutemi shkruani një fjalëkalim të qartë." IDS_WZD_LOCALTIME "Ndërtuesi nuk ishte në gjendje për të vendosur kohën lokale." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/tr-TR.rc =================================================================== --- dll/win32/syssetup/lang/tr-TR.rc (revision 62700) +++ dll/win32/syssetup/lang/tr-TR.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "Kur, isim girilmeden devam edemez." IDS_WZD_SETCOMPUTERNAME "Kur, bilgisayar adınızı tanımlayamıyor." IDS_WZD_COMPUTERNAME "Kur, bir bilgisayar adı girilmeden devam edemez." - IDS_WZD_PASSWORDEMPTY "Bir parola girmelisiniz !" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Girdiğiniz parolalar uyuşmuyor. Lütfen kontrol ediniz." IDS_WZD_PASSWORDCHAR "Girdiğiniz parola uygun olmayan karakterler içeriyor. Lütfen kontrol ediniz." IDS_WZD_LOCALTIME "Kur, yerel zamanı tanımlayamıyor." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/uk-UA.rc =================================================================== --- dll/win32/syssetup/lang/uk-UA.rc (revision 62700) +++ dll/win32/syssetup/lang/uk-UA.rc (working copy) @@ -170,10 +170,27 @@ IDS_WZD_NAME "Для продовження встановлення необхідно ввести ваше ім'я." IDS_WZD_SETCOMPUTERNAME "Програмі інсталяції не вдалося встановити ім'я комп'ютера." IDS_WZD_COMPUTERNAME "Для продовження встановлення необхідно ввести ім'я комп'ютера." - IDS_WZD_PASSWORDEMPTY "Ви маєте ввести пароль !" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "Паролі, які ви ввели, не співпадають. Будь ласка введіть потрібний пароль знову." IDS_WZD_PASSWORDCHAR "Пароль, який ви ввели, містить заборонені символи. Будь ласка введіть інший пароль." IDS_WZD_LOCALTIME "Програмі інсталяції не вдалося встановити місцевий час." +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/lang/zh-CN.rc =================================================================== --- dll/win32/syssetup/lang/zh-CN.rc (revision 62700) +++ dll/win32/syssetup/lang/zh-CN.rc (working copy) @@ -162,10 +162,27 @@ IDS_WZD_NAME "请填写您的姓名否则安装程序无法继续" IDS_WZD_SETCOMPUTERNAME "请输入有效的计算机名" IDS_WZD_COMPUTERNAME "请填写计算机名否则安装程序无法继续" - IDS_WZD_PASSWORDEMPTY "请输入密码" +#ifdef FORCE_ADMIN_PASSWORD + IDS_WZD_PASSWORDEMPTY "You must provide a password. By not providing one, you will leave\n\ +your computer more open to security attacks and some features will not be\n\ +available to you." +#endif /* FORCE_ADMIN_PASSWORD */ IDS_WZD_PASSWORDMATCH "您两次输入的密码不一致请重新输入" IDS_WZD_PASSWORDCHAR "密码中包含无效字符,请重新输入" IDS_WZD_LOCALTIME "安装程序无法设置本地时间" +#ifdef CHECK_PASSWORD_STRENGTH + IDS_WZD_PASSWORDSTRENGTH "The password you provided for the Administrator account doesn't\n\ +meet the criteria needed for a strong password. It is recommended\n\ +to use a password with the first three criteria and at least three others:\n\n\ +- Has at least 8 characters\n\ +- Doesn't contain your user, company, or real name\n\ +- Doesn't contain complete words\n\ +- Contains Uppercase letters (A, B, C, etc.)\n\ +- Contains Lowercase letters (a, b, c, etc.)\n\ +- Contains Numbers (1, 2, 3, etc.)\n\ +- Contains Symbols (!, @, &, etc.)\n\n\ +Are you sure you want to use this password?" +#endif /* CHECK_PASSWORD_STRENGTH */ END STRINGTABLE Index: dll/win32/syssetup/precomp.h =================================================================== --- dll/win32/syssetup/precomp.h (revision 62700) +++ dll/win32/syssetup/precomp.h (working copy) @@ -18,6 +18,7 @@ #include #include +#include "settings.h" #include "globals.h" #include "resource.h" Index: dll/win32/syssetup/resource.h =================================================================== --- dll/win32/syssetup/resource.h (revision 62700) +++ dll/win32/syssetup/resource.h (working copy) @@ -103,13 +103,14 @@ #define IDS_REASON_UNKNOWN 3308 #define IDS_ADMINISTRATOR_NAME 3309 -#define IDS_WZD_NAME 3450 -#define IDS_WZD_SETCOMPUTERNAME 3451 -#define IDS_WZD_COMPUTERNAME 3452 -#define IDS_WZD_PASSWORDEMPTY 3453 -#define IDS_WZD_PASSWORDMATCH 3454 -#define IDS_WZD_PASSWORDCHAR 3455 -#define IDS_WZD_LOCALTIME 3456 +#define IDS_WZD_NAME 3450 +#define IDS_WZD_SETCOMPUTERNAME 3451 +#define IDS_WZD_COMPUTERNAME 3452 +#define IDS_WZD_PASSWORDEMPTY 3453 +#define IDS_WZD_PASSWORDMATCH 3454 +#define IDS_WZD_PASSWORDCHAR 3455 +#define IDS_WZD_LOCALTIME 3456 +#define IDS_WZD_PASSWORDSTRENGTH 3457 #define IDS_STATUS_INSTALL_DEV 3500 Index: dll/win32/syssetup/security.c =================================================================== --- dll/win32/syssetup/security.c (revision 62700) +++ dll/win32/syssetup/security.c (working copy) @@ -512,6 +512,35 @@ RegCloseKey(hKey); } +#ifdef CHECK_PASSWORD_STRENGTH +/* Reference: http://windows.microsoft.com/en-us/windows7/tips-for-creating-strong-passwords-and-passphrases */ +BOOL +CheckPasswordCriteria(LPCWSTR lpPassword) +{ + /* Assume that the mandatory password check is disabled and + return true since there is nothing to check. */ + if ((lpPassword == NULL) || (wcscmp(lpPassword, L"") == 0)) + return TRUE; + /* Even though XP/2003 suggests 6 chars minimum, today's + minimum length instead seems to be 8 */ + if (wcslen(lpPassword) < 8) + return FALSE; + + /* Make sure that the password is not the same as the user name */ + if ((wcscmp(lpPassword, L"Administrator") == 0) || (wcscmp(lpPassword, L"Admin") == 0) || + (wcscmp(lpPassword, L"administrator") == 0) || (wcscmp(lpPassword, L"admin") == 0) || + (wcscmp(lpPassword, L"ADMINISTRATOR") == 0) || (wcscmp(lpPassword, L"ADMIN") == 0)) + { + return FALSE; + } + + /* TODO: Check for Lowercase only, Uppercase only, and meets + three of four of the criteria needed for a strong password */ + + return TRUE; +} +#endif /* CHECK_PASSWORD_STRENGTH */ + /* EOF */ Index: dll/win32/syssetup/settings.h =================================================================== --- dll/win32/syssetup/settings.h (revision 0) +++ dll/win32/syssetup/settings.h (working copy) @@ -0,0 +1,29 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS System Setup + * PURPOSE: Provides extra options + * FILE: dll/win32/syssetup/settings.h + * PROGRAMER: Lee Schroeder + */ +#ifndef SETTINGS_H +#define SETTINGS_H + +/* On Windows systems for consumers, providing a password for the main account is +considered to be optional. Although this provides convenience for the consumer, it +also makes the system less secure and more open to hackers. This option allows users +to disable this mandatory requirement either for debugging purposes, or if they really +want to have the option of choosing no password (not recommended). But some features, +like Scheduled Tasks, cannot run with a blank password for security reasons. */ +//#define FORCE_ADMIN_PASSWORD + +/* On server editions of Windows, the administrator password is checked to ensure +that it is a strong password. This is to ensure that the system is more secure, +especially if multiple users are to access the same server. */ +//#define CHECK_PASSWORD_STRENGTH + +/* The Gecko Web Engine is currently used to render the web content found in +MSHTML.DLL. This option enables a dialog that asks the user if they want to +download and install the Gecko Web Engine during setup. Enabled by default. */ +#define INSTALL_GECKO + +#endif /* SETTINGS_H */ Index: dll/win32/syssetup/syssetup.rc =================================================================== --- dll/win32/syssetup/syssetup.rc (revision 62700) +++ dll/win32/syssetup/syssetup.rc (working copy) @@ -2,6 +2,7 @@ #include #include +#include "settings.h" #include "resource.h" #define REACTOS_VERSION_DLL Index: dll/win32/syssetup/wizard.c =================================================================== --- dll/win32/syssetup/wizard.c (revision 62700) +++ dll/win32/syssetup/wizard.c (working copy) @@ -51,7 +51,9 @@ /* FUNCTIONS ****************************************************************/ +#ifdef INSTALL_GECKO extern void WINAPI Control_RunDLLW(HWND hWnd, HINSTANCE hInst, LPCWSTR cmd, DWORD nCmdShow); +#endif /* INSTALL_GECKO */ BOOL GetRosInstallCD(WCHAR *pwszPath, DWORD cchPathMax); @@ -650,6 +652,12 @@ PWCHAR Password; WCHAR Title[64]; WCHAR EmptyComputerName[256], NotMatchPassword[256], WrongPassword[256]; +#ifdef FORCE_ADMIN_PASSWORD + WCHAR EmptyPassword[256]; +#endif /* FORCE_ADMIN_PASSWORD */ +#ifdef CHECK_PASSWORD_STRENGTH + WCHAR PasswordCriteria[600]; +#endif /* CHECK_PASSWORD_STRENGTH */ LPNMHDR lpnm; if (0 == LoadStringW(hDllInstance, IDS_REACTOS_SETUP, Title, sizeof(Title) / sizeof(Title[0]))) @@ -727,25 +735,29 @@ return TRUE; } -#if 0 + /* Gets the values for the two passwords to check if they're valid */ + GetDlgItemTextW(hwndDlg, IDC_ADMINPASSWORD1, Password1, 128); + GetDlgItemTextW(hwndDlg, IDC_ADMINPASSWORD2, Password2, 128); + +#ifdef FORCE_ADMIN_PASSWORD /* Check if admin passwords have been entered */ - if ((GetDlgItemText(hwndDlg, IDC_ADMINPASSWORD1, Password1, 128) == 0) || - (GetDlgItemText(hwndDlg, IDC_ADMINPASSWORD2, Password2, 128) == 0)) + if ((wcscmp(Password1, L"") == 0) || + (wcscmp(Password2, L"") == 0)) { if (0 == LoadStringW(hDllInstance, IDS_WZD_PASSWORDEMPTY, EmptyPassword, sizeof(EmptyPassword) / sizeof(EmptyPassword[0]))) { - wcscpy(EmptyPassword, L"You must enter a password !"); + wcscpy(EmptyPassword, L"You must provide a password. By not providing one, you will leave\n" + L"your computer more open to security attacks and some features will not be\n" + L"available to you."); } MessageBoxW(hwndDlg, EmptyPassword, Title, MB_ICONERROR | MB_OK); SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, -1); return TRUE; } -#else - GetDlgItemTextW(hwndDlg, IDC_ADMINPASSWORD1, Password1, 128); - GetDlgItemTextW(hwndDlg, IDC_ADMINPASSWORD2, Password2, 128); -#endif - /* Check if passwords match */ +#endif /* FORCE_ADMIN_PASSWORD */ + + /* Check if admin passwords match */ if (wcscmp(Password1, Password2)) { if (0 == LoadStringW(hDllInstance, IDS_WZD_PASSWORDMATCH, NotMatchPassword, @@ -758,7 +770,7 @@ return TRUE; } - /* Check password for invalid characters */ + /* Check admin password for invalid characters */ Password = (PWCHAR)Password1; while (*Password) { @@ -767,7 +779,7 @@ if (0 == LoadStringW(hDllInstance, IDS_WZD_PASSWORDCHAR, WrongPassword, sizeof(WrongPassword) / sizeof(WrongPassword[0]))) { - wcscpy(WrongPassword, L"The password you entered contains invalid characters. Please enter a cleaned password."); + wcscpy(WrongPassword, L"The password you entered contains invalid characters. Please enter a clean password."); } MessageBoxW(hwndDlg, WrongPassword, Title, MB_ICONERROR | MB_OK); SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, -1); @@ -776,6 +788,33 @@ Password++; } +#ifdef CHECK_PASSWORD_STRENGTH + /* Check if admin password meets the criteria for a strong password */ + if (!CheckPasswordCriteria(Password1)) + { + if (0 == LoadStringW(hDllInstance, IDS_WZD_PASSWORDSTRENGTH, PasswordCriteria, + sizeof(PasswordCriteria) / sizeof(PasswordCriteria[0]))) + { + wcscpy(PasswordCriteria, L"The password you provided for the Administrator account doesn't\n" + L"meet the criteria needed for a strong password. It is recommended\n" + L"to use a password with the first three criteria and at least three others:\n\n" + L"- Has at least 8 characters\n" + L"- Doesn't contain your user, company, or real name\n" + L"- Doesn't contain complete words\n" + L"- Contains Uppercase letters (A, B, C, etc.)\n" + L"- Contains Lowercase letters (a, b, c, etc.)\n" + L"- Contains Numbers (1, 2, 3, etc.)\n" + L"- Contains Symbols (!, @, &, etc.)\n\n" + L"Are you sure you want to use this password?"); + } + if (MessageBoxW(hwndDlg, PasswordCriteria, Title, MB_ICONWARNING | MB_YESNO) == IDNO) + { + SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, -1); + return TRUE; + } + } +#endif /* CHECK_PASSWORD_STRENGTH */ + /* Set admin password */ SetAdministratorPassword(Password1); break; @@ -1983,8 +2022,10 @@ /* Get pointer to the global setup data */ PSETUPDATA SetupData = (PSETUPDATA)((LPPROPSHEETPAGE)lParam)->lParam; +#ifdef INSTALL_GECKO /* Run the Wine Gecko prompt */ Control_RunDLLW(GetDesktopWindow(), 0, L"appwiz.cpl install_gecko", SW_SHOW); +#endif /* INSTALL_GECKO */ /* Set title font */ SendDlgItemMessage(hwndDlg,