* nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump.
(WorkerOp): Add ‘wopSubstituteURLs’.
* nix/nix-daemon/nix-daemon.cc (performOp): Implement it.
* guix/store.scm (%protocol-version): Bump.
(operation-id): Add ‘substitute-urls’.
(substitute-urls): New procedure.
* tests/store.scm ("substitute-urls, default")
("substitute-urls, client-specified URLs")
("substitute-urls, disabled"): New tests.
Change-Id: I2c0119500c3a1eecfa5ebf32463ffb0f173161de
		
	
			
		
			
				
	
	
		
			63 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| namespace nix {
 | |
| 
 | |
| 
 | |
| #define WORKER_MAGIC_1 0x6e697863
 | |
| #define WORKER_MAGIC_2 0x6478696f
 | |
| 
 | |
| #define PROTOCOL_VERSION 0x164
 | |
| #define GET_PROTOCOL_MAJOR(x) ((x) & 0xff00)
 | |
| #define GET_PROTOCOL_MINOR(x) ((x) & 0x00ff)
 | |
| 
 | |
| 
 | |
| typedef enum {
 | |
|     wopIsValidPath = 1,
 | |
|     wopHasSubstitutes = 3,
 | |
|     wopQueryPathHash = 4,
 | |
|     wopQueryReferences = 5,
 | |
|     wopQueryReferrers = 6,
 | |
|     wopAddToStore = 7,
 | |
|     wopAddTextToStore = 8,
 | |
|     wopBuildPaths = 9,
 | |
|     wopEnsurePath = 10,
 | |
|     wopAddTempRoot = 11,
 | |
|     wopAddIndirectRoot = 12,
 | |
|     wopSyncWithGC = 13,
 | |
|     wopFindRoots = 14,
 | |
|     wopExportPath = 16,
 | |
|     wopQueryDeriver = 18,
 | |
|     wopSetOptions = 19,
 | |
|     wopCollectGarbage = 20,
 | |
|     wopQuerySubstitutablePathInfo = 21,
 | |
|     wopQueryDerivationOutputs = 22,
 | |
|     wopQueryAllValidPaths = 23,
 | |
|     wopQueryFailedPaths = 24,
 | |
|     wopClearFailedPaths = 25,
 | |
|     wopQueryPathInfo = 26,
 | |
|     wopImportPaths = 27,
 | |
|     wopQueryDerivationOutputNames = 28,
 | |
|     wopQueryPathFromHashPart = 29,
 | |
|     wopQuerySubstitutablePathInfos = 30,
 | |
|     wopQueryValidPaths = 31,
 | |
|     wopQuerySubstitutablePaths = 32,
 | |
|     wopQueryValidDerivers = 33,
 | |
|     wopOptimiseStore = 34,
 | |
|     wopVerifyStore = 35,
 | |
|     wopBuiltinBuilders = 80,
 | |
|     wopSubstituteURLs = 81
 | |
| } WorkerOp;
 | |
| 
 | |
| 
 | |
| #define STDERR_NEXT  0x6f6c6d67
 | |
| #define STDERR_READ  0x64617461 // data needed from source
 | |
| #define STDERR_WRITE 0x64617416 // data for sink
 | |
| #define STDERR_LAST  0x616c7473
 | |
| #define STDERR_ERROR 0x63787470
 | |
| 
 | |
| 
 | |
| Path readStorePath(Source & from);
 | |
| template<class T> T readStorePaths(Source & from);
 | |
| 
 | |
| 
 | |
| }
 |