Ejemplo n.º 1
0
static void 
proc_reg_resp(struct msg_ac_reg_resp_t *msg, int len, int proto)
{
	sys_debug("Receive ac reg response packet\n");
	if(len < sizeof(*msg)) {
		sys_err("Receive error msg ac reg response packet\n");
		return;
	}

	/* md5sum3 = packet + random1 + password */
	if(chap_msg_cmp_md5((void *)msg, sizeof(*msg), 
			get_random(msg->header.mac))) {
		sys_err("ac reg response packet chap error\n");
		return;
	}

	strncpy(sysstat.acuuid, msg->header.acuuid, UUID_LEN);
	memcpy(sysstat.dmac, msg->header.mac, ETH_ALEN);
	if(msg->acaddr.sin_addr.s_addr)
		sysstat.server = msg->acaddr;
	if(msg->apaddr.sin_addr.s_addr) 
		setaddr((void *)&msg->apaddr);

	pr_ipv4(&msg->acaddr);

	/* if have connect to remote ac, close it. 
	 * and connect to local ac */
	if(sysstat.sock >= 0)
		close(sysstat.sock);

	ac_reconnect();
	sysstat.isreg = 1;
}
Ejemplo n.º 2
0
int
main(int argc, char **argv)
{
    char			*ptr, **pptr;
    struct hostent	*hptr;

    while (--argc > 0)
    {
        ptr = *++argv;
        if ( (hptr = gethostbyname(ptr)) == NULL)
        {
            err_msg("gethostbyname error for host: %s: %s",
                    ptr, hstrerror(h_errno));
            continue;
        }
        printf("official host name: %s\n", hptr->h_name);

        for (pptr = hptr->h_aliases; *pptr != NULL; pptr++)
            printf("	alias: %s\n", *pptr);

        switch (hptr->h_addrtype)
        {
        case AF_INET:
            pr_ipv4(hptr->h_addr_list);
            break;

        default:
            err_ret("unknown address type");
            break;
        }
    }
    exit(0);
}