]> git.pld-linux.org Git - packages/distcc.git/blame - distccd-version.patch
- rel 0.2; use distcc user instead of nobody
[packages/distcc.git] / distccd-version.patch
CommitLineData
57875147 1Index: src/exitcode.h
2--- src/exitcode.h 2 Feb 2003 12:24:29 -0000 1.13
3+++ src/exitcode.h 2 Apr 2003 02:42:27 -0000
4@@ -33,6 +33,7 @@
5 * codes.
6 **/
7 enum dcc_exitcode {
8+ EXIT_VERSION_REQUEST = 001,
9 EXIT_DISTCC_FAILED = 100, /**< General failure */
10 EXIT_BAD_ARGUMENTS = 101,
11 EXIT_BIND_FAILED = 102,
12Index: src/rpc.c
13--- src/rpc.c 27 Mar 2003 04:45:49 -0000 1.25
14+++ src/rpc.c 2 Apr 2003 02:42:27 -0000
15@@ -160,6 +160,8 @@
16 }
17
18 if (memcmp(buf, expected, 4)) {
19+ if (memcmp(expected, "DIST", 4) == 0 && memcmp(buf, "QVER", 4) == 0)
20+ return EXIT_VERSION_REQUEST;
21 rs_log_error("mismatch on token %s", expected);
22 return EXIT_PROTOCOL_ERROR;
23 }
24Index: src/serve.c
25--- src/serve.c 31 Mar 2003 08:36:37 -0000 1.83
26+++ src/serve.c 2 Apr 2003 02:42:27 -0000
27@@ -87,8 +87,11 @@
28 static int dcc_r_request_header(int ifd)
29 {
30 int vers;
31+ int ret;
32
33- if (dcc_r_token_int(ifd, "DIST", &vers) == -1) {
34+ if ((ret = dcc_r_token_int(ifd, "DIST", &vers)) != 0) {
35+ if (ret == EXIT_VERSION_REQUEST)
36+ return ret;
37 rs_log_error("client did not provide distcc magic fairy dust");
38 return EXIT_PROTOCOL_ERROR;
39 }
40@@ -260,8 +263,13 @@
41
42 if ((ret = dcc_r_request_header(netfd))
43 || (ret = dcc_r_argv(netfd, &argv))
44- || (ret = dcc_scan_args(argv, &orig_input, &orig_output, &argv)))
45+ || (ret = dcc_scan_args(argv, &orig_input, &orig_output, &argv))) {
46+ if (ret == EXIT_VERSION_REQUEST) {
47+ rs_trace("send %s", PACKAGE_VERSION);
48+ return dcc_writex(netfd, PACKAGE_VERSION, strlen(PACKAGE_VERSION));
49+ }
50 return ret;
51+ }
52
53 /* TODO: Make sure cleanup is called in case of error.
54 *
This page took 0.025206 seconds and 4 git commands to generate.