Implement per pkg RSA signatures and on-demand repository access.
This commit is contained in:
		@@ -159,16 +159,12 @@ repo_list_uri_cb(struct xbps_repo *repo, void *arg _unused, bool *done _unused)
 | 
			
		||||
	printf("%5zd %s",
 | 
			
		||||
	    repo->idx ? (ssize_t)xbps_dictionary_count(repo->idx) : -1,
 | 
			
		||||
	    repo->uri);
 | 
			
		||||
	if (repo->is_remote) {
 | 
			
		||||
		printf(" (RSA %s, %s)\n",
 | 
			
		||||
		    repo->is_signed ? "signed" : "unsigned",
 | 
			
		||||
		    repo->is_verified ? "verified" : "unverified");
 | 
			
		||||
		if (repo->xhp->flags & XBPS_FLAG_VERBOSE) {
 | 
			
		||||
			if (repo->signedby)
 | 
			
		||||
				printf("      Signed-by: %s\n", repo->signedby);
 | 
			
		||||
			if (repo->hexfp)
 | 
			
		||||
				printf("      %u %s\n", repo->pubkey_size, repo->hexfp);
 | 
			
		||||
		}
 | 
			
		||||
	printf(" (RSA %s)\n", repo->is_signed ? "signed" : "unsigned");
 | 
			
		||||
	if (repo->xhp->flags & XBPS_FLAG_VERBOSE) {
 | 
			
		||||
		if (repo->signedby)
 | 
			
		||||
			printf("      Signed-by: %s\n", repo->signedby);
 | 
			
		||||
		if (repo->hexfp)
 | 
			
		||||
			printf("      %u %s\n", repo->pubkey_size, repo->hexfp);
 | 
			
		||||
	} else {
 | 
			
		||||
		printf("\n");
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -291,10 +291,14 @@ repo_show_pkg_info(struct xbps_handle *xhp,
 | 
			
		||||
{
 | 
			
		||||
	xbps_dictionary_t pkgd;
 | 
			
		||||
 | 
			
		||||
	if (((pkgd = xbps_rpool_get_pkg(xhp, pattern)) == NULL) &&
 | 
			
		||||
	    ((pkgd = xbps_rpool_get_virtualpkg(xhp, pattern)) == NULL))
 | 
			
		||||
		return errno;
 | 
			
		||||
 | 
			
		||||
	pkgd = xbps_rpool_get_pkg_plist(xhp, pattern, "./props.plist");
 | 
			
		||||
	if (pkgd == NULL) {
 | 
			
		||||
                if (errno != ENOTSUP && errno != ENOENT) {
 | 
			
		||||
			fprintf(stderr, "Unexpected error: %s\n",
 | 
			
		||||
			    strerror(errno));
 | 
			
		||||
			return errno;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if (option)
 | 
			
		||||
		show_pkg_info_one(pkgd, option);
 | 
			
		||||
	else
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user