Esempio n. 1
0
	CATCHUNIXIGNORE(chirp_reli_mkdir(host->hostport, template, S_IRWXU, stoptime), EEXIST);
	CATCHUNIX(chirp_reli_setacl(host->hostport, template, whoami, "rwldpa", stoptime));

	CATCHUNIX(snprintf(template, sizeof(template), "%s/file/" CONFUGA_FID_PRIFMT, host->root, CONFUGA_FID_PRIARGS(empty)));
	CATCHUNIXIGNORE(chirp_reli_putfile_buffer(host->hostport, template, "", S_IRUSR, 0, stoptime), EEXIST);

	CATCHUNIX(snprintf(template, sizeof(template), "%s/open", host->root));
	CATCHUNIXIGNORE(chirp_reli_mkdir(host->hostport, template, S_IRWXU, stoptime), EEXIST);
	CATCHUNIX(chirp_reli_setacl(host->hostport, template, whoami, "rwldpa", stoptime));

	CATCHUNIX(snprintf(template, sizeof(template), "%s/tickets", host->root));
	CATCHUNIXIGNORE(chirp_reli_mkdir(host->hostport, template, S_IRWXU, stoptime), EEXIST);
	CATCHUNIX(chirp_reli_setacl(host->hostport, template, whoami, "rwldpa", stoptime));

	debug(D_DEBUG, "setting `%s' to initialized", host->hostport);
	CATCH(confugaR_register(C, empty, 0, host));
	sqlcatch(sqlite3_prepare_v2(db, current, -1, &stmt, &current));
	sqlcatch(sqlite3_bind_text(stmt, 1, host->hostport, -1, SQLITE_STATIC));
	sqlcatchcode(sqlite3_step(stmt), SQLITE_DONE);
	sqlcatch(sqlite3_finalize(stmt); stmt = NULL);
	debug(D_CONFUGA, "%s/%s initialized", host->hostport, host->root);

	rc = 0;
	goto out;
out:
	sqlite3_finalize(stmt);
	return rc;
}

CONFUGA_IAPI int confugaS_node_insert (confuga *C, const char *hostport, const char *root)
{
Esempio n. 2
0
	time_t stoptime = STOPTIME_SHORT;
	char whoami[128];

	debug(D_CONFUGA, "initializing %s/%s", host->hostport, host->root);

	CATCHUNIX(chirp_reli_whoami(host->hostport, whoami, sizeof(whoami), stoptime));

	CATCHUNIXIGNORE(chirp_reli_mkdir_recursive(host->hostport, host->root, S_IRWXU, stoptime), EEXIST);

	CATCHUNIX(snprintf(template, sizeof(template), "%s/file", host->root));
	CATCHUNIXIGNORE(chirp_reli_mkdir(host->hostport, template, S_IRWXU, stoptime), EEXIST);
	CATCHUNIX(chirp_reli_setacl(host->hostport, template, whoami, "rwldpa", stoptime));

	CATCHUNIX(snprintf(template, sizeof(template), "%s/file/" CONFUGA_FID_PRIFMT, host->root, CONFUGA_FID_PRIARGS(empty)));
	CATCHUNIXIGNORE(chirp_reli_putfile_buffer(host->hostport, template, "", S_IRUSR, 0, stoptime), EEXIST);
	CATCH(confugaR_register(C, empty, 0, sid));

	CATCHUNIX(snprintf(template, sizeof(template), "%s/open", host->root));
	CATCHUNIXIGNORE(chirp_reli_mkdir(host->hostport, template, S_IRWXU, stoptime), EEXIST);
	CATCHUNIX(chirp_reli_setacl(host->hostport, template, whoami, "rwldpa", stoptime));

	CATCHUNIX(snprintf(template, sizeof(template), "%s/tickets", host->root));
	CATCHUNIXIGNORE(chirp_reli_mkdir(host->hostport, template, S_IRWXU, stoptime), EEXIST);
	CATCHUNIX(chirp_reli_setacl(host->hostport, template, whoami, "rwldpa", stoptime));

	debug(D_DEBUG, "setting `%s' to initialized", host->hostport);
	sqlcatch(sqlite3_prepare_v2(db, current, -1, &stmt, &current));
	sqlcatch(sqlite3_bind_text(stmt, 1, host->hostport, -1, SQLITE_STATIC));
	sqlcatchcode(sqlite3_step(stmt), SQLITE_DONE);
	sqlcatch(sqlite3_finalize(stmt); stmt = NULL);
	debug(D_CONFUGA, "%s/%s initialized", host->hostport, host->root);