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?re…
==============================================================================
--- 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);
}
}
}