Ejemplo n.º 1
0
INT64_T chirp_multi_md5(const char *volume, const char *path, unsigned char digest[16], time_t stoptime)
{
	struct file_info info;
	if(chirp_multi_lookup(volume, path, &info, stoptime)) {
		return chirp_reli_md5(info.rhost, info.rpath, digest, stoptime);
	} else {
		return -1;
	}
}
Ejemplo n.º 2
0
static INT64_T do_md5(int argc, char **argv)
{
	unsigned char digest[16];
	char full_path[CHIRP_LINE_MAX];
	int result;

	complete_remote_path(argv[1], full_path);

	result = chirp_reli_md5(current_host, full_path, digest, stoptime);
	if(result > 0)
		printf("%s %s\n", md5_string(digest), full_path);
	return result;
}
Ejemplo n.º 3
0
INT64_T chirp_global_md5(const char *host, const char *path, unsigned char *digest, time_t stoptime)
{
	if(is_multi_path(host)) {
		char mhost[CHIRP_PATH_MAX];
		char mpath[CHIRP_PATH_MAX];
		parse_multi_path(path, mhost, mpath);
		return chirp_multi_md5(mhost, mpath, digest, stoptime);
	} else if(not_empty(host)) {
		return chirp_reli_md5(host, path, digest, stoptime);
	} else {
		errno = EACCES;
		return -1;
	}
}