Пример #1
0
int
main(int argc, char *argv[])
{
    int iret = 0;
    struct sockaddr_in sockaddr;

    if (argc != 4) {
        printf("usage:%s ip port configfile", argv[0]);
        return 0;
    }

    eag_log_init(1);

    iret = eag_log_add_filter("eag_portal:macauth:portal_pkg");


    if (EAG_RETURN_OK != eag_thread_master_init(&eag_thread_master)) {
        return -1;
    }


    listen_ip = 0;//ntohl(addr.s_addr);
    listen_port = 0;//atoi(argv[2]);

    memset(	&sockaddr, 0, sizeof(sockaddr));
    sockaddr.sin_family = AF_INET;
    inet_aton(argv[1], &addr);
    sockaddr.sin_addr = addr;
    sockaddr.sin_port = htons(atoi(argv[2]));


    portal = eag_portal_create();
    if (NULL == portal) {
        return -1;
    }
    eag_portal_set_params(portal, listen_ip, listen_port);
    eag_portal_set_thread_master(portal, &eag_thread_master);
    eag_portal_set_resend_params(portal, 3, 3);

    eag_portal_start(portal);
    //eag_portal_set_decaps_cb(portal, eag_macauth_portal_decaps_cb);

    /*init package*/
    memset( &pkgsend, 0, sizeof(pkgsend));
    load_pkg( &pkgsend, argv[3] );
    eag_portal_send_pkg( portal, &pkgsend, &sockaddr );

    int i=5;
    while (i>0) {
        struct timeval timer_wait;
        timer_wait.tv_sec = 1;
        timer_wait.tv_usec = 0;

        //eag_portal_timeout(portal);
        eag_thread_dispatch(&eag_thread_master, &timer_wait);
        i--;
    }

    return 0;

}
Пример #2
0
int main(int argc, char **argv)
{
	alpm_list_t *i;
	int ret = 0;

	if(!(config = parse_opts(argc, argv))) {
		ret = 1;
		goto cleanup;
	}

	if(checks == 0) {
		checks = CHECK_DEPENDS | CHECK_FILES;
	}

	if(!(handle = pu_initialize_handle_from_config(config))) {
		fprintf(stderr, "error: failed to initialize alpm.\n");
		ret = 1;
		goto cleanup;
	}

	localdb = alpm_get_localdb(handle);
	pkgcache = alpm_db_get_pkgcache(localdb);

	for(; optind < argc; ++optind) {
		if(load_pkg(argv[optind]) == NULL) { ret = 1; }
	}
	if(!isatty(fileno(stdin)) && errno != EBADF) {
		char *buf = NULL;
		size_t len = 0;
		ssize_t read;

		while((read = getdelim(&buf, &len, isep, stdin)) != -1) {
			if(buf[read - 1] == isep) { buf[read - 1] = '\0'; }
			if(load_pkg(buf) == NULL) { ret = 1; }
		}
		free(buf);
	}

	if(ret) { goto cleanup; }

	if(packages == NULL) {
		packages = alpm_list_copy(pkgcache);
		recursive = 0;
	} else if(recursive) {
		/* load [opt-]depends */
		alpm_list_t *i, *originals = alpm_list_copy(packages);
		for(i = originals; i; i = alpm_list_next(i)) {
			add_deps(i->data);
		}
		alpm_list_free(originals);
	}

	for(i = packages; i; i = alpm_list_next(i)) {
		int pkgerr = 0;
#define RUNCHECK(t, b) if((checks & t) && b != 0) { pkgerr = ret = 1; }
		RUNCHECK(CHECK_DEPENDS, check_depends(i->data));
		RUNCHECK(CHECK_OPT_DEPENDS, check_opt_depends(i->data));
		RUNCHECK(CHECK_FILES, check_files(i->data));
		RUNCHECK(CHECK_FILE_PROPERTIES, check_file_properties(i->data));
		RUNCHECK(CHECK_MD5SUM, check_md5sum(i->data));
		RUNCHECK(CHECK_SHA256SUM, check_sha256sum(i->data));
#undef RUNCHECK
		if(pkgerr && list_broken) { printf("%s\n", alpm_pkg_get_name(i->data)); }
	}

cleanup:
	alpm_list_free(packages);
	alpm_release(handle);
	pu_config_free(config);

	return ret;
}