1KUP-SERVER(1) kernel.org KUP-SERVER(1)
2
3
4
6 kup-server - kernel.org upload server utility
7
9 The program kup-server is expected to be the receiver of an ssh shell,
10 configured with the following or similar options in ~/.ssh/autho‐
11 rized_keys:
12
13 command="/usr/bin/kup-server",no-agent-forwarding,no-port-for‐
14 warding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa AAAA[...]
15
16 Each user should have their own UID, as Unix user permissions are used
17 for specific tree access control. On the client side, a corresponding
18 client-side utility kup is used to initiate the connection and perform
19 the uploads.
20
22 The configuration file for kup-server is located in /etc/kup/kup-
23 server.cfg and has the following options:
24
25 [paths]
26 All paths in this section should be disjoint. Do not combine any
27 of them into one directory.
28
29 data_path = /var/lib/kup/pub
30 Path for public consumption, e.g. served via http or rsync.
31
32 git_path = /var/lib/git
33 This is the path where git trees (for the TAR and DIFF options)
34 are available. Those should be readonly for the uploaders.
35
36 lock_file = /var/run/kup/lock
37 A common lock file for data_path. No program should modify the
38 content in data_path without holding an flock on this file.
39 Should be readonly for the uploaders.
40
41 tmp_path = /var/lib/kup/tmp
42 tmp_path can be either:
43
44 1. a directory writable by every user and with the sticky bit
45 set (typically mode 1777 or 1770). In that case, DO NOT end the
46 path with a slash, or:
47
48 2. A directory containing an empty directory for each user
49 (named for that user), owned by that user and mode 0700. In this
50 case, DO end the path with a slash.
51
52 In either case, this directory tree MUST be on the same filesys‐
53 tem as data_path, since the script expects tocreate files in
54 this directory and rename() them into data_path.
55
56 pgp_path = /var/lib/kup/pgp
57 A directory containing a GnuPG public keyring for each user,
58 named <user>.gpg and readable (but not writable) by that user.
59
60 [limits]
61 All sizes are in bytes, all times in seconds.
62
63 max_data = 8589934592
64 Max size of uploaded data.
65
66 bufsiz = 262144
67 Buffer size when reading data.
68
69 timeout_command = 30
70 How long to wait for a command to time out.
71
72 timeout_data = 300
73 Must read at least bufsiz bytes in this timespan.
74
75 timeout_compress = 900
76 Uncompressing tarballs must take at most this long.
77
78 timeout_compress_cpu = 900
79 Each compression command must take at most this long in CPU
80 time.
81
82 [compressors]
83 This section allows specifying the compressors to use when cre‐
84 ating compressed versions of uploaded content.
85
86 use = gz, xz
87 A comma-separated list of file extensions to create (minus the
88 leading dot). For each extension specified, you will need to
89 add a matching section specifying which command and flags to use
90 for decompression and which for compression. Make sure to con‐
91 figure the decompress command to output to stdout. E.g.:
92
93 [gz]
94 compress_command = /bin/pigz -9
95 decompress_command = /bin/gzip -cd
96
97 [xz]
98 compress_command = /bin/xz -9 -T0
99 decompress_command = /bin/xz -cd
100
102 Written by H. Peter Anvin <hpa@zytor.com>.
103
105 Copyright © 2011 Intel Corporation
106
107 This program is free software; you can redistribute it and/or modify it
108 under the terms of the GNU General Public License as published by the
109 Free Software Foundation, Inc.; either version 2 of the License, or (at
110 your option) any later version; incorporated herein by reference.
111 There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
112 PARTICULAR PURPOSE.
113
115 kup(1)
116
117
118
119kernel.org upload server utility 2011 KUP-SERVER(1)