https://git.reactos.org/?p=reactos.git;a=commitdiff;h=f63310b056036fac229e3…
commit f63310b056036fac229e34afb47808ff70811c1c
Author: Eric Kohl <eric.kohl(a)reactos.org>
AuthorDate: Sun Oct 27 09:33:27 2019 +0100
Commit: Eric Kohl <eric.kohl(a)reactos.org>
CommitDate: Sun Oct 27 09:33:27 2019 +0100
[IPCONFIG] Revert changes that were not meant to be published yet
---
base/applications/network/ipconfig/ipconfig.c | 157 +++++++++++---------------
1 file changed, 65 insertions(+), 92 deletions(-)
diff --git a/base/applications/network/ipconfig/ipconfig.c
b/base/applications/network/ipconfig/ipconfig.c
index fdebdb1d8b4..1b15e3f5369 100644
--- a/base/applications/network/ipconfig/ipconfig.c
+++ b/base/applications/network/ipconfig/ipconfig.c
@@ -34,59 +34,6 @@
HINSTANCE hInstance;
HANDLE ProcessHeap;
-BOOL
-DoNamesMatch(
- _In_ LPWSTR pszName,
- _In_ LPTSTR pszPattern)
-{
- if (pszPattern == NULL)
- return TRUE;
-
-// if (_wcsicmp(pszName, pszPattern) == 0)
-// return TRUE;
-#if 0
- for (;;)
- {
- if (*pszPattern == L'*')
- {
- pszPattern++;
- if (*pszPattern == L'\0')
- return TRUE;
-
- while (towlower(*pszName) != towlower(*pszPattern))
- {
- if (*pszName == L'\0')
- return FALSE;
-
- pszName++;
- }
- }
- else if (*pszPattern == L'?')
- {
- pszPattern++;
-
- if (*pszName == L'\0')
- return FALSE;
-
- pszName++;
- }
- else
- {
- if (*pszName == L'\0' && *pszPattern == L'\0')
- return TRUE;
-
- if (towlower(*pszName) != towlower(*pszPattern))
- return FALSE;
-
- pszName++;
- pszPattern++;
- }
- }
-#endif
-
- return FALSE;
-}
-
int LoadStringAndOem(HINSTANCE hInst,
UINT uID,
LPTSTR szNode,
@@ -660,20 +607,22 @@ VOID Release(LPTSTR Index)
IP_ADAPTER_INDEX_MAP AdapterInfo;
DWORD ret;
DWORD i;
- PIP_INTERFACE_INFO pInfo = NULL;
- ULONG ulOutBufLen = 0;
- if (GetInterfaceInfo(pInfo, &ulOutBufLen) == ERROR_INSUFFICIENT_BUFFER)
+ /* if interface is not given, query GetInterfaceInfo */
+ if (Index == NULL)
{
- pInfo = (IP_INTERFACE_INFO *)HeapAlloc(ProcessHeap, 0, ulOutBufLen);
- if (pInfo == NULL)
- return;
+ PIP_INTERFACE_INFO pInfo = NULL;
+ ULONG ulOutBufLen = 0;
- if (GetInterfaceInfo(pInfo, &ulOutBufLen) == NO_ERROR )
+ if (GetInterfaceInfo(pInfo, &ulOutBufLen) == ERROR_INSUFFICIENT_BUFFER)
{
- for (i = 0; i < pInfo->NumAdapters; i++)
+ pInfo = (IP_INTERFACE_INFO *)HeapAlloc(ProcessHeap, 0, ulOutBufLen);
+ if (pInfo == NULL)
+ return;
+
+ if (GetInterfaceInfo(pInfo, &ulOutBufLen) == NO_ERROR )
{
- if (DoNamesMatch(pInfo->Adapter[i].Name, Index))
+ for (i = 0; i < pInfo->NumAdapters; i++)
{
CopyMemory(&AdapterInfo, &pInfo->Adapter[i],
sizeof(IP_ADAPTER_INDEX_MAP));
_tprintf(_T("name - %ls\n"), pInfo->Adapter[i].Name);
@@ -685,57 +634,71 @@ VOID Release(LPTSTR Index)
DoFormatMessage(ret);
}
}
- }
- HeapFree(ProcessHeap, 0, pInfo);
+ HeapFree(ProcessHeap, 0, pInfo);
+ }
+ else
+ {
+ DoFormatMessage(0);
+ HeapFree(ProcessHeap, 0, pInfo);
+ return;
+ }
}
else
{
DoFormatMessage(0);
- HeapFree(ProcessHeap, 0, pInfo);
return;
}
}
else
{
- DoFormatMessage(0);
- return;
+ ;
+ /* FIXME:
+ * we need to be able to release connections by name with support for globbing
+ * i.e. ipconfig /release Eth* will release all cards starting with Eth...
+ * ipconfig /release *con* will release all cards with 'con' in
their name
+ */
}
}
+
+
+
VOID Renew(LPTSTR Index)
{
IP_ADAPTER_INDEX_MAP AdapterInfo;
- PIP_INTERFACE_INFO pInfo;
- ULONG ulOutBufLen = 0;
DWORD i;
- pInfo = (IP_INTERFACE_INFO *)HeapAlloc(ProcessHeap, 0, sizeof(IP_INTERFACE_INFO));
- if (pInfo == NULL)
+ /* if interface is not given, query GetInterfaceInfo */
+ if (Index == NULL)
{
- _tprintf(_T("memory allocation error"));
- return;
- }
+ PIP_INTERFACE_INFO pInfo;
+ ULONG ulOutBufLen = 0;
- /* Make an initial call to GetInterfaceInfo to get
- * the necessary size into the ulOutBufLen variable */
- if (GetInterfaceInfo(pInfo, &ulOutBufLen) == ERROR_INSUFFICIENT_BUFFER)
- {
- HeapFree(ProcessHeap, 0, pInfo);
- pInfo = (IP_INTERFACE_INFO *)HeapAlloc(ProcessHeap, 0, ulOutBufLen);
+ pInfo = (IP_INTERFACE_INFO *)HeapAlloc(ProcessHeap, 0,
sizeof(IP_INTERFACE_INFO));
if (pInfo == NULL)
{
_tprintf(_T("memory allocation error"));
return;
}
- }
- /* Make a second call to GetInterfaceInfo to get the actual data we want */
- if (GetInterfaceInfo(pInfo, &ulOutBufLen) == NO_ERROR)
- {
- for (i = 0; i < pInfo->NumAdapters; i++)
+ /* Make an initial call to GetInterfaceInfo to get
+ * the necessary size into the ulOutBufLen variable */
+ if (GetInterfaceInfo(pInfo, &ulOutBufLen) == ERROR_INSUFFICIENT_BUFFER)
{
- if (DoNamesMatch(pInfo->Adapter[i].Name, Index))
+ HeapFree(ProcessHeap, 0, pInfo);
+ pInfo = (IP_INTERFACE_INFO *)HeapAlloc(ProcessHeap, 0, ulOutBufLen);
+ if (pInfo == NULL)
+ {
+ _tprintf(_T("memory allocation error"));
+ return;
+ }
+ }
+
+ /* Make a second call to GetInterfaceInfo to get the actual data we want */
+ if (GetInterfaceInfo(pInfo, &ulOutBufLen) == NO_ERROR)
+ {
+ for (i = 0; i < pInfo->NumAdapters; i++)
{
CopyMemory(&AdapterInfo, &pInfo->Adapter[i],
sizeof(IP_ADAPTER_INDEX_MAP));
_tprintf(_T("name - %ls\n"), pInfo->Adapter[i].Name);
@@ -748,14 +711,23 @@ VOID Renew(LPTSTR Index)
}
}
}
+ else
+ {
+ _tprintf(_T("\nGetInterfaceInfo failed : "));
+ DoFormatMessage(0);
+ }
+
+ HeapFree(ProcessHeap, 0, pInfo);
}
else
{
- _tprintf(_T("\nGetInterfaceInfo failed : "));
- DoFormatMessage(0);
+ ;
+ /* FIXME:
+ * we need to be able to renew connections by name with support for globbing
+ * i.e. ipconfig /renew Eth* will renew all cards starting with Eth...
+ * ipconfig /renew *con* will renew all cards with 'con' in their
name
+ */
}
-
- HeapFree(ProcessHeap, 0, pInfo);
}
VOID
@@ -1018,9 +990,10 @@ int main(int argc, char *argv[])
break;
case 3: /* Process all the options that can have 1 parameter */
if (DoRelease)
- Release(argv[2]);
+ _tprintf(_T("\nSorry /release [adapter] is not implemented
yet\n"));
+ //Release(argv[2]);
else if (DoRenew)
- Renew(argv[2]);
+ _tprintf(_T("\nSorry /renew [adapter] is not implemented
yet\n"));
else if (DoShowclassid)
_tprintf(_T("\nSorry /showclassid adapter is not implemented
yet\n"));
else if (DoSetclassid)