static void InitParameters(void)
{
	char cfg[128];
	char ip[4][16];
	char wifiippass[128];
	int i;
	unsigned int addr = 0;
	unsigned int mask = 0;
	unsigned int gateway = 0;

	memset(cfg, 0x00, sizeof(cfg));
	if (my_ssid[0]) {
		SetWindowText(WifiWnd[0], my_ssid);
	} else if (LoadStr("SSID", cfg)) {
		SetWindowText(WifiWnd[0], cfg);
	}
	LoadStr("wifipasswd", wifiippass);
	SetWindowText(WifiWnd[1], wifiippass);

	memset(oldip, 0, sizeof(oldip));
	memset(newip, 0, sizeof(newip));

	if (gOptions.wifidhcpfunon) {
		dhcpswitch(1);
		if (wireless_is_online()) {
			//printf("_____%s%d\n", __FILE__, __LINE__);
			unsigned char ip[4];
			memset(ip, 0, sizeof(ip));
			wireless_get_ipaddr(&addr);
			str2ip((char*)ipaddr_to_string(addr), (BYTE*)ip);
			sprintf((char*)oldip[0], "%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]);
			printf("dynaic wifi: %d:%d:%d:%d\n", ip[0], ip[1], ip[2], ip[3]);

			memset(ip, 0, sizeof(ip));
			wireless_get_mask(&mask);
			str2ip(ipaddr_to_string(mask), (BYTE*)ip);
			sprintf((char*)oldip[1], "%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]);

			memset(ip, 0, sizeof(ip));
			wireless_get_default_route(&gateway);
			str2ip(ipaddr_to_string(gateway), (BYTE*)ip);
			sprintf((char*)oldip[2], "%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]);
		}
	} else {
		LoadStr("wifiip", (char*)oldip[0]);
		LoadStr("wifimask", (char*)oldip[1]);
		LoadStr("wifigateway", (char*)oldip[2]);
	}

	memcpy(newip, oldip, sizeof(oldip));
	//set ip
	if(ParseIP(newip[0],ip[0],ip[1],ip[2],ip[3])){
		for(i=0;i<4;i++){
			if (strlen(ip[i])>0) {
				SetWindowText(WifiWnd[3+i],ip[i]);
			} else {
				SetWindowText(WifiWnd[3+i],"0");
			}
		}
	}
	//set sub mask
	if(ParseIP(newip[1],ip[0],ip[1],ip[2],ip[3])){
		for(i=0;i<4;i++){
			SetWindowText(WifiWnd[7+i],ip[i]);
		}
	}

	//set Gate Way
	if(ParseIP(newip[2],ip[0],ip[1],ip[2],ip[3])){
		for(i=0;i<4;i++){
			SetWindowText(WifiWnd[11+i],ip[i]);
		}
	}
}
Example #2
0
void IpAddrSetBuild(char *addr, IpAddrSet *ret, int neg_list)
{
    char *tok, *end, *tmp;
    int neg_ip;

    while(*addr)
    {
        /* Skip whitespace and leading commas */
        for(; *addr && (isspace((int)*addr) || *addr == ','); addr++) ;

        /* Handle multiple negations (such as if someone negates variable that
         * contains a negated IP */
        neg_ip = 0;
        for(; *addr == '!'; addr++)
             neg_ip = !neg_ip;

        /* Find end of this token */
        for(end = addr+1;
           *end && !isspace((int)*end) && *end != ']' && *end != ',';
            end++) ;

        tok = SnortStrndup(addr, end - addr);

        if(!tok)
        {
            FatalError("%s(%d) => Failed to allocate memory for parsing '%s'\n",
                           file_name, file_line, addr);
        }

        if(*addr == '[')
        {
            int brack_count = 0;
            char *list_tok;

            /* Find corresponding ending bracket */
            for(end = addr; *end; end++)
            {
                if(*end == '[')
                    brack_count++;
                else if(*end == ']')
                    brack_count--;

                if(!brack_count)
                    break;
            }

            if(!*end)
            {
                FatalError("%s(%d) => Unterminated IP List '%s'\n",
                           file_name, file_line, addr);
            }

            addr++;

            list_tok = SnortStrndup(addr, end - addr);

            if(!list_tok)
            {
                FatalError("%s(%d) => Failed to allocate memory for parsing '%s'\n",
                               file_name, file_line, addr);
            }

            IpAddrSetBuild(list_tok, ret, neg_ip ^ neg_list);
            free(list_tok);
        }
        else if(*addr == '$')
        {
            if((tmp = VarGet(tok + 1)) == NULL)
            {
                FatalError("%s(%d) => Undefined variable %s\n", file_name,
                        file_line, addr);
            }

            IpAddrSetBuild(tmp, ret, neg_list ^ neg_ip);
        }
        else if(*addr == ']')
        {
            if(!(*(addr+1)))
            {
                /* Succesfully reached the end of this list */
                free(tok);
                return;
            }

            FatalError("%s(%d) => Mismatched bracket in '%s'\n",
                           file_name, file_line, addr);
        }
        else
        {
            /* Skip leading commas */
            for(; *addr && (*addr == ',' || isspace((int)*addr)); addr++) ;

            ParseIP(tok, ret, neg_list ^ neg_ip);

            if(ret->iplist && !ret->iplist->ip_addr && !ret->iplist->netmask)
                 ret->iplist->addr_flags |= ANY_SRC_IP;

            /* Note: the neg_iplist is not checked for '!any' here since
             * ParseIP should have already FatalError'ed on it. */
        }

        free(tok);

        if(*end)
            addr = end + 1;
        else break;
    }

    return;
}
Example #3
0
static void InitModemWin(HWND hWnd)
{
	int rows = 0;
	int item = 0;
	HWND tmpstatic[9];
	char ipaddr[4][4];
	char staticbuf[20];

	module_type = LoadInteger("ModemModule", MODEM_MODULE_Q24PL);
	memset(ModemAPN, 0x00, sizeof(ModemAPN));
	memset(ModemDialNumber, 0x00, sizeof(ModemDialNumber));
	memset(ModemUserName, 0x00, sizeof(ModemUserName));
	memset(ModemPassWord, 0x00, sizeof(ModemPassWord));
	memset(HeartBeatServer, 0x00, sizeof(HeartBeatServer));

	if (module_type != MODEM_MODULE_EM660) {
		LoadStr("APN", ModemAPN);
	}
	LoadStr("ModemDialNumber", ModemDialNumber);
	LoadStr("ModemUserName", ModemUserName);
	LoadStr("ModemPassword", ModemPassWord);
	LoadStr("HeartBeatServer", HeartBeatServer);
	
	//tmpstatic[0] = CreateWindow(CTRL_STATIC, LoadStrByID(1192), WS_VISIBLE | SS_LEFT, 0xbf, 10, rows * 30 + 12, 100, 23, hWnd, 0);
	tmpstatic[0] = CreateWindow(CTRL_STATIC, LoadStrByID(MID_GPRS_CONNECT), WS_VISIBLE | SS_LEFT, 0xbf, 10, rows * 30 + 12, 100, 23, hWnd, 0);
	ModemWnd[0] = CreateWindow(CTRL_COMBOBOX, "", WS_VISIBLE | CBS_READONLY | CBS_SPINLIST | CBS_SPINARROW_LEFTRIGHT | CBS_AUTOFOCUS, 0xd0, 115, rows * 30 + 6, 55, 23, hWnd, 0);
	SendMessage(ModemWnd[0], CB_ADDSTRING, 0, (LPARAM)LoadStrByID(HID_NO));
	SendMessage(ModemWnd[0], CB_ADDSTRING, 0, (LPARAM)LoadStrByID(HID_YES));
	SendMessage(ModemWnd[0], CB_SETCURSEL, gOptions.ModemEnable, 0);
	rows++;

	if (module_type != MODEM_MODULE_EM660){
		tmpstatic[1] = CreateWindow(CTRL_STATIC, LoadStrByID(MID_GPRS_APN), WS_VISIBLE | SS_LEFT, 0xc0, 10, rows * 30 + 12, 100, 23, hWnd, 0);
		ModemWnd[1] = CreateWindow(CTRL_SLEDIT, ModemAPN, WS_VISIBLE | ES_AUTOSELECT | ES_BASELINE | WS_BORDER, 0xd0, 115, rows * 30 + 8, 120, 24, hWnd, 0);
		SendMessage(ModemWnd[1], MAX_NUM_LEN, 0, 0);
		rows++;
	}

	tmpstatic[2] = CreateWindow(CTRL_STATIC, LoadStrByID(MID_GPRS_NMB), WS_VISIBLE | SS_LEFT, 0xc1, 10, rows * 30 + 12, 100, 23, hWnd, 0);
	ModemWnd[2] = CreateWindow(CTRL_SLEDIT, ModemDialNumber, WS_VISIBLE | ES_AUTOSELECT | ES_BASELINE | WS_BORDER, 0xd1, 115, rows*30 + 8, 120, 24, hWnd, 0);
	SendMessage(ModemWnd[2], MAX_NUM_LEN, 0, 0);
	rows++;

	tmpstatic[3] = CreateWindow(CTRL_STATIC, LoadStrByID(MID_GPRS_USER), WS_VISIBLE | SS_LEFT, 0xc2, 10, rows * 30 + 12, 100, 23, hWnd, 0);
	ModemWnd[3] = CreateWindow(CTRL_SLEDIT, ModemUserName, WS_VISIBLE | ES_AUTOSELECT | ES_BASELINE | WS_BORDER, 0xd2, 115, rows * 30 + 8, 120, 24, hWnd, 0);
	SendMessage(ModemWnd[3], MAX_NUM_LEN, 0, 0);
	rows++;

	tmpstatic[4] = CreateWindow(CTRL_STATIC, LoadStrByID(MID_GPRS_PWD), WS_VISIBLE | SS_LEFT, 0xc3, 10, rows * 30 + 12, 100, 23, hWnd, 0);
	ModemWnd[4] = CreateWindow(CTRL_SLEDIT, ModemPassWord, WS_VISIBLE | ES_AUTOSELECT | ES_BASELINE | WS_BORDER, 0xd3, 115, rows * 30 + 8, 120, 24, hWnd, 0);
	SendMessage(ModemWnd[4], MAX_NUM_LEN, 0, 0);
	rows++;

	tmpstatic[5] = CreateWindow(CTRL_STATIC, LoadStrByID(MID_MODEM_HTSERVER), WS_VISIBLE | SS_LEFT, 0xc4, 10, rows * 30 + 12, 100, 23, hWnd, 0);
	ModemWnd[5] = CreateWindow(CTRL_SLEDIT, "", WS_VISIBLE |  ES_AUTOSELECT| ES_BASELINE | WS_BORDER, 0xd4, 115,  rows * 30 + 8, 35, 24, hWnd, 0);
	SendMessage(ModemWnd[rows + item], 3, 0, 0);

	tmpstatic[6] = CreateWindow(CTRL_STATIC, ".", WS_VISIBLE | SS_LEFT, 0xc5, 150, rows * 30 + 12, 10, 23, hWnd, 0);
	ModemWnd[6] = CreateWindow(CTRL_SLEDIT, "", WS_VISIBLE | ES_AUTOSELECT | ES_BASELINE | WS_BORDER, 0xd5, 160, rows * 30 + 8, 35, 24, hWnd, 0);
	SendMessage(ModemWnd[rows + item], 3, 0, 0);

	tmpstatic[7] = CreateWindow(CTRL_STATIC, ".", WS_VISIBLE | SS_LEFT, 0xc6, 195, rows * 30 + 12, 10, 23, hWnd, 0);
	ModemWnd[7] = CreateWindow(CTRL_SLEDIT, "", WS_VISIBLE | ES_AUTOSELECT | ES_BASELINE | WS_BORDER, 0xd6, 205, rows * 30 + 8, 35, 24, hWnd, 0);
	SendMessage(ModemWnd[rows + item], 3, 0, 0);

	tmpstatic[8] = CreateWindow(CTRL_STATIC, ".", WS_VISIBLE | SS_LEFT, 0xc7, 245, rows * 30 + 12, 10, 23, hWnd, 0);
	ModemWnd[8] = CreateWindow(CTRL_SLEDIT, "", WS_VISIBLE | ES_AUTOSELECT | ES_BASELINE | WS_BORDER, 0xd7, 250, rows * 30 + 8, 35, 24, hWnd, 0);
	SendMessage(ModemWnd[rows + item], 3, 0, 0);
	rows++;
	if(ParseIP(HeartBeatServer, ipaddr[0], ipaddr[1], ipaddr[2], ipaddr[3])){
		SetWindowText(ModemWnd[5], ipaddr[0]);
		SetWindowText(ModemWnd[6], ipaddr[1]);
		SetWindowText(ModemWnd[7], ipaddr[2]);
		SetWindowText(ModemWnd[8], ipaddr[3]);
	}
	SendMessage(ModemWnd[5],EM_LIMITTEXT,3,0);
	SendMessage(ModemWnd[6],EM_LIMITTEXT,3,0);
	SendMessage(ModemWnd[7],EM_LIMITTEXT,3,0);
	SendMessage(ModemWnd[8],EM_LIMITTEXT,3,0);

	sprintf(staticbuf, "%s", LoadStrByID(1504));
	ModemWnd[9] = CreateWindow(CTRL_BUTTON, LoadStrByID(HIT_OK), WS_VISIBLE | BS_DEFPUSHBUTTON, IDOK, 5, 185, 85, 23, hWnd, 0);
	ModemWnd[10] = CreateWindow(CTRL_BUTTON, LoadStrByID(HIT_CANCEL), WS_VISIBLE | BS_DEFPUSHBUTTON, IDCANCEL, 103+gOptions.ControlOffset, 185, 85, 23, hWnd, 0);
	ModemWnd[11] = CreateWindow(CTRL_BUTTON, staticbuf, WS_VISIBLE | BS_DEFPUSHBUTTON, IDCANCEL, 202+gOptions.ControlOffset, 185, 115, 23, hWnd, 0);

}