aboutsummaryrefslogtreecommitdiff
path: root/nix/libstore/worker-protocol.hh
blob: efe9eadf23f1b790c23cea764de5321ca526e905 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#pragma once

namespace nix {


#define WORKER_MAGIC_1 0x6e697863
#define WORKER_MAGIC_2 0x6478696f

#define PROTOCOL_VERSION 0x161
#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
} 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);


}
) (opaque-dovecot-configuration): Likewise. * gnu/services/messaging.scm (prosody-configuration) (opaque-prosody-configuration): Likewise. * gnu/services/monitoring.scm (zabbix-server-configuration) (zabbix-agent-configuration): Likewise. * gnu/services/networking.scm (opendht-configuration): Likewise. * gnu/services/pm.scm (tlp-configuration): Likewise. * gnu/services/telephony.scm (jami-configuration): Likewise. * gnu/services/virtualization.scm (libvirt-configuration) (qemu-guest-agent-configuration): Likewise. * gnu/services/vpn.scm (openvpn-client-configuration): Likewise. Tobias Geerinckx-Rice 2021-11-17Merge branch 'master' into core-updates-frozenLudovic Courtès 2021-11-16services: cups: Update default timeouts....Upstream raised these back in 2019 with CUPS 2.3.0. * gnu/services/cups.scm (<cups-configuration>): Raise default ‘multiple-operation-timeout’ and ‘timeout’ from 300 to 900 seconds. * doc/guix.texi (Printing Services): Adjust accordingly. Tobias Geerinckx-Rice 2021-06-23Merge branch 'master' into core-updates...Conflicts: gnu/packages/cups.scm gnu/packages/python-web.scm gnu/packages/web.scm guix/build/maven/pom.scm Tobias Geerinckx-Rice 2021-06-23services: cups: Remove obsolete KeepAliveTimeout directive....https://github.com/apple/cups/commit/461bd4e50142b2928a0d164bd1aae274e4d34da5 * gnu/services/cups.scm (<cups-configuration>): Remove keep-alive-timeout field. * doc/guix.texi (Printing Services): Likewise. Tobias Geerinckx-Rice 2021-06-23services: cups: Fix ‘files-config’ typo/left-over....* gnu/services/cups.scm (<policy-configuration>): Substitute <files-configuration> for <files-config> in documentation. * doc/guix.texi (Printing Services): Likewise. Tobias Geerinckx-Rice 2021-06-23services: cups: Support CUPS 2.3.3op2's LogFileGroup directive....* gnu/services/cups.scm (<files-configuration>): Add a log-file-group field. * doc/guix.texi (Printing Services): Document it. Tobias Geerinckx-Rice 2021-03-10services: Prevent following symlinks during activation....This addresses a potential security issue, where a compromised service could trick the activation code in changing the permissions, owner and group of arbitrary files. However, this patch is currently only a partial fix, due to a TOCTTOU (time-of-check to time-of-use) race, which can be fixed once guile has bindings to openat and friends. Fixes: <https://lists.gnu.org/archive/html/guix-devel/2021-01/msg00388.html> * gnu/build/activation.scm: new procedure 'mkdir-p/perms'. * gnu/services/authentication.scm (%nslcd-activation, nslcd-service-type): use new procedure. * gnu/services/cups.scm (%cups-activation): likewise. * gnu/services/dbus.scm (dbus-activation): likewise. * gnu/services/dns.scm (knot-activation): likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxime Devos 2021-01-17services: cups: reuse lp from %base-groups....* gnu/services/cups.scm (%cups-accounts): Try to reuse lp from %base-groups. Leo Prikler 2021-01-10services: cups: Add brlaser extension by default....* gnu/services/cups.scm (cups-configuration): Add brlaser to the default extensions. * doc/guix.texi (Printing Services): Document it. Tobias Geerinckx-Rice