Author: dchapyshev Date: Tue Sep 15 17:36:35 2009 New Revision: 43055
URL: http://svn.reactos.org/svn/reactos?rev=43055&view=rev Log: - Add validation a computer name - Set limit for computer name length
Modified: trunk/reactos/dll/win32/netid/lang/bg-BG.rc trunk/reactos/dll/win32/netid/lang/cs-CZ.rc trunk/reactos/dll/win32/netid/lang/de-DE.rc trunk/reactos/dll/win32/netid/lang/el-GR.rc trunk/reactos/dll/win32/netid/lang/en-US.rc trunk/reactos/dll/win32/netid/lang/es-ES.rc trunk/reactos/dll/win32/netid/lang/fr-FR.rc trunk/reactos/dll/win32/netid/lang/id-ID.rc trunk/reactos/dll/win32/netid/lang/it-IT.rc trunk/reactos/dll/win32/netid/lang/nl-NL.rc trunk/reactos/dll/win32/netid/lang/no-NO.rc trunk/reactos/dll/win32/netid/lang/pl-PL.rc trunk/reactos/dll/win32/netid/lang/ru-RU.rc trunk/reactos/dll/win32/netid/lang/sk-SK.rc trunk/reactos/dll/win32/netid/lang/uk-UA.rc trunk/reactos/dll/win32/netid/netid.c
Modified: trunk/reactos/dll/win32/netid/lang/bg-BG.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/bg-BG.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/bg-BG.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/bg-BG.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -70,6 +70,7 @@ 25 "You can change the name and the membership of this computer. Changes may affect access to network resources." 1021 "Çàáåëåæêà: Ñàìî óïðàâíèöèòå ìîãàò äà ïðîìåíÿò îïîçíàâàòåëèòå íà êîìïþòúðà." 1022 "Çàáåëåæêà: Îïîçíàâàòåëÿò íà êîìïþòúðà íå ìîæå äà áúäå ñìåíåí, çàùîòî:" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Ïî&äðîáíîñòè >>" 3220 "<< &Ïî&äðîáíîñòè" 4000 "Information"
Modified: trunk/reactos/dll/win32/netid/lang/cs-CZ.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/cs-CZ.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/cs-CZ.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/cs-CZ.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -76,6 +76,7 @@ 25 "You can change the name and the membership of this computer. Changes may affect access to network resources." 1021 "Poznámka: Identifikaci tohoto poèítaèe mohou zmìnit pouze administrátoøi." 1022 "Poznámka: Identifikace poèítaèe nemùe být zmìnìna z následujících dùvodù:" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Detaily >>" 3220 "<< &Detaily" 4000 "Information"
Modified: trunk/reactos/dll/win32/netid/lang/de-DE.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/de-DE.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/de-DE.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/de-DE.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -78,6 +78,7 @@ 25 "You can change the name and the membership of this computer. Changes may affect access to network resources." 1021 "Hinweis: Nur Administratoren können die Identifikation des Computers ändern." 1022 "Hinweis: Die Identifikation des Computers kann aus folgendem Grund nicht geändert werden:" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Details >>" 3220 "<< &Details" 4000 "Information"
Modified: trunk/reactos/dll/win32/netid/lang/el-GR.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/el-GR.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/el-GR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/el-GR.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -70,6 +70,7 @@ 25 "You can change the name and the membership of this computer. Changes may affect access to network resources." 1021 "Note: Only Administrators can change the identification of this computer." 1022 "Note: The identification of the computer cannot be changed because:" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Details >>" 3220 "<< &Details" 4000 "Information"
Modified: trunk/reactos/dll/win32/netid/lang/en-US.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/en-US.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/en-US.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/en-US.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -70,6 +70,7 @@ 25 "You can change the name and the membership of this computer. Changes may affect access to network resources." 1021 "Note: Only Administrators can change the identification of this computer." 1022 "Note: The identification of the computer cannot be changed because:" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Details >>" 3220 "<< &Details" 4000 "Information"
Modified: trunk/reactos/dll/win32/netid/lang/es-ES.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/es-ES.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/es-ES.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/es-ES.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -75,6 +75,7 @@ 25 "You can change the name and the membership of this computer. Changes may affect access to network resources." 1021 "Nota: Sólo los Administradores pueden cambiar la identificación de este equipo." 1022 "Nota: La identificación de este equipo no puede ser cambiada porque:" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Detalles >>" 3220 "<< &Detalles" 4000 "Information"
Modified: trunk/reactos/dll/win32/netid/lang/fr-FR.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/fr-FR.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/fr-FR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/fr-FR.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -70,6 +70,7 @@ 25 "You can change the name and the membership of this computer. Changes may affect access to network resources." 1021 "Note : Seuls les administrateurs peuvent modifier l'identification de cet ordinateur." 1022 "Note : L'identification de l'ordinateur ne peut pas être modifiée car :" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Détails >>" 3220 "<< &Détails" 4000 "Information"
Modified: trunk/reactos/dll/win32/netid/lang/id-ID.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/id-ID.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/id-ID.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/id-ID.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -70,6 +70,7 @@ 25 "You can change the name and the membership of this computer. Changes may affect access to network resources." 1021 "Note: Only Administrators can change the identification of this computer." 1022 "Note: The identification of the computer cannot be changed because:" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Details >>" 3220 "<< &Details" 4000 "Information"
Modified: trunk/reactos/dll/win32/netid/lang/it-IT.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/it-IT.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/it-IT.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/it-IT.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -71,6 +71,7 @@ 25 "You can change the name and the membership of this computer. Changes may affect access to network resources." 1021 "Nota: Solo gli Amministratori possono cambiare l'identificazione di questo computer." 1022 "Nota: L'identificazione di questo computer non può essere cambiata perchè:" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Dettagli >>" 3220 "<< &Dettagli" 4000 "Information"
Modified: trunk/reactos/dll/win32/netid/lang/nl-NL.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/nl-NL.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/nl-NL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/nl-NL.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -70,6 +70,7 @@ 25 "You can change the name and the membership of this computer. Changes may affect access to network resources." 1021 "Let op: Alleen Administrators mogen de indentificatie van deze computer aanpassen." 1022 "Let op: De indentificatie van deze computer kan niet gewijzigd worden omdat:" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Details >>" 3220 "<< &Details" 4000 "Information"
Modified: trunk/reactos/dll/win32/netid/lang/no-NO.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/no-NO.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/no-NO.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/no-NO.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -70,6 +70,7 @@ 25 "You can change the name and the membership of this computer. Changes may affect access to network resources." 1021 "OBS: Bare administratorer kan endre identifisering for denne datamaskinen." 1022 "OBS: Identifisering for datamaskinen kunne ikke endres fordi:" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Detaljer >>" 3220 "<< &Detaljer" 4000 "Information"
Modified: trunk/reactos/dll/win32/netid/lang/pl-PL.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/pl-PL.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/pl-PL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/pl-PL.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -78,6 +78,7 @@ 25 "You can change the name and the membership of this computer. Changes may affect access to network resources." 1021 "Uwaga: Tylko Administratorzy mog¹ zmieniaæ identyfikator tego komputera." 1022 "Uwaga: Identyfikator tego komputera nie zosta³ zmieniony, powód:" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Szczegó³y >>" 3220 "<< &Szczegó³y" 4000 "Information"
Modified: trunk/reactos/dll/win32/netid/lang/ru-RU.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/ru-RU.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/ru-RU.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -70,6 +70,7 @@ 25 "Ìîæíî èçìåíèòü èìÿ è ïðèíàäëåæíîñòü ýòîãî êîìïüþòåðà. Èçìåíåíèÿ ìîãóò ïîâëèÿòü íà äîñòóï ê ñåòåâûì ðåñóðñàì." 1021 "Ïðèìå÷àíèå: òîëüêî àäìèíèñòðàòîðû ìîãóò èçìåíèòü èäåíòèôèêàöèþ ýòîãî êîìïüþòåðà." 1022 "Ïðèìå÷àíèå: èäåíòèôèêàöèÿ ýòîãî êîìïüþòåðà íå ìîæåò áûòü èçìåíåíà, ïîòîìó ÷òî:" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Ïîäðîáíî >>" 3220 "<< &Ïîäðîáíî" 4000 "Èíôîðìàöèÿ"
Modified: trunk/reactos/dll/win32/netid/lang/sk-SK.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/sk-SK.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/sk-SK.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/sk-SK.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -77,6 +77,7 @@ 25 "You can change the name and the membership of this computer. Changes may affect access to network resources." 1021 "Poznámka: Iba správcovia môu zmeni identifikáciu tohto poèítaèa." 1022 "Poznámka: Identifikácia poèítaèa nemôe by zmenená, lebo:" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Podrobnosti >>" 3220 "<< &Podrobnosti" 4000 "Information"
Modified: trunk/reactos/dll/win32/netid/lang/uk-UA.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/lang/uk-UA.... ============================================================================== --- trunk/reactos/dll/win32/netid/lang/uk-UA.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/lang/uk-UA.rc [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -78,6 +78,7 @@ 25 "You can change the name and the membership of this computer. Changes may affect access to network resources." 1021 "Ïðèì³òêà: çì³íèòè ³äåíòèô³êàö³þ öüîãî êîìï'þòåðà ìîæóòü ëèøå àäì³í³ñòðàòîðè." 1022 "Ïðèì³òêà: çì³íèòè ³äåíòèô³êàö³þ öüîãî êîìï'þòåðà íåìîæëèâî, îñê³ëüêè:" + 1030 "The new computer name ""%s"" contains characters which are not allowed. Characters which are not allowed include ` ~ ! @ # $ %% ^ & * ( ) = + _ [ ] { } \ | ; : ' " , . < > / and ?" 3210 "&Ïîäðîáèö³ >>" 3220 "<< &Ïîäðîáèö³" 4000 "Information"
Modified: trunk/reactos/dll/win32/netid/netid.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netid/netid.c?rev... ============================================================================== --- trunk/reactos/dll/win32/netid/netid.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netid/netid.c [iso-8859-1] Tue Sep 15 17:36:35 2009 @@ -14,6 +14,12 @@ #include <prsht.h> #include "resource.h"
+static INT_PTR CALLBACK +NetIDPageProc(IN HWND hwndDlg, + IN UINT uMsg, + IN WPARAM wParam, + IN LPARAM lParam); + static HINSTANCE hDllInstance;
@@ -55,6 +61,28 @@ EnableWindow(GetDlgItem(hDlg, 1004), FALSE); EnableWindow(GetDlgItem(hDlg, 116), FALSE); EnableWindow(GetDlgItem(hDlg, 1007), FALSE); +} + +static +BOOL +IsValidComputerName(LPCWSTR s) +{ + int i; + + for (i = 0; i <= wcslen(s); i++) + { + if (s[i] == L'!' || s[i] == L'@' || s[i] == L'#' || s[i] == L'$' + || s[i] == L'^' || s[i] == L'&' || s[i] == L'\' || s[i] == L'|' + || s[i] == L')' || s[i] == L'(' || s[i] == L'{' || s[i] == L'"' + || s[i] == L'}' || s[i] == L'~' || s[i] == L'/' || s[i] == L''' + || s[i] == L'=' || s[i] == L':' || s[i] == L';' || s[i] == L'+' + || s[i] == L'<' || s[i] == L'>' || s[i] == L'?' || s[i] == L'[' + || s[i] == L']' || s[i] == L'`' || s[i] == L'%' || s[i] == L'_' + || s[i] == L'.') + return FALSE; + } + + return TRUE; }
static @@ -74,6 +102,8 @@
if (LoadString(hDllInstance, 25, MsgText, sizeof(MsgText) / sizeof(TCHAR))) SetDlgItemText(hDlg, 1017, MsgText); + + SendMessage(GetDlgItem(hDlg, 1002), EM_SETLIMITTEXT, MAX_COMPUTERNAME_LENGTH, 0);
if (GetComputerName(ComputerName, &Size)) { @@ -143,6 +173,16 @@ { switch (LOWORD(wParam)) { + case 1002: + if (HIWORD(wParam) == EN_CHANGE) + { + TCHAR szText[MAX_COMPUTERNAME_LENGTH + 1]; + + GetWindowText(GetDlgItem(hDlg, 1002), szText, MAX_COMPUTERNAME_LENGTH + 1); + SetDlgItemText(hDlg, 1001, szText); + } + break; + case 1008: /* Domain radio button */ case 1004: /* Workgroup radio button */ if (SendDlgItemMessage(hDlg, 1008, BM_GETCHECK, 0, 0) == BST_CHECKED) @@ -172,13 +212,24 @@ { if (_tcscmp(ComputerName, NewComputerName) != 0) { - if (!SetComputerName(NewComputerName)) + if (!IsValidComputerName(NewComputerName)) + { + TCHAR szText[MAX_PATH], szMsgText[MAX_PATH]; + + LoadString(hDllInstance, 1030, szText, sizeof(szText) / sizeof(TCHAR)); + + swprintf(szMsgText, szText, NewComputerName); + MessageBox(hDlg, szMsgText, NULL, MB_OK | MB_ICONERROR); + SetFocus(GetDlgItem(hDlg, 1002)); + break; + } + else if (!SetComputerName(NewComputerName)) { TCHAR szMsgText[MAX_PATH];
LoadString(hDllInstance, 4001, szMsgText, sizeof(szMsgText) / sizeof(TCHAR));
- MessageBox(0, szMsgText, NULL, MB_OK | MB_ICONERROR); + MessageBox(hDlg, szMsgText, NULL, MB_OK | MB_ICONERROR); } else { @@ -188,6 +239,8 @@ LoadString(hDllInstance, 24, szMsgText, sizeof(szMsgText) / sizeof(TCHAR));
MessageBox(hDlg, szMsgText, szMsgTitle, MB_OK | MB_ICONINFORMATION); + + NetIDPageProc(GetParent(hDlg), WM_INITDIALOG, 0, 0); } } }