]> git.ipfire.org Git - thirdparty/squid.git/blob - src/error/forward.h
Maintenance: automate header guards 2/3 (#1655)
[thirdparty/squid.git] / src / error / forward.h
1 /*
2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9 #ifndef SQUID_SRC_ERROR_FORWARD_H
10 #define SQUID_SRC_ERROR_FORWARD_H
11
12 #include "base/forward.h"
13
14 typedef enum {
15 ERR_NONE,
16
17 /* Access Permission Errors. Prefix new with ERR_ACCESS_ */
18 ERR_ACCESS_DENIED,
19 ERR_CACHE_ACCESS_DENIED,
20 ERR_CACHE_MGR_ACCESS_DENIED,
21 ERR_FORWARDING_DENIED,
22 ERR_NO_RELAY,
23 ERR_CANNOT_FORWARD,
24
25 /* TCP Errors. */
26 ERR_READ_TIMEOUT,
27 ERR_LIFETIME_EXP,
28 ERR_READ_ERROR,
29 ERR_WRITE_ERROR,
30 ERR_CONNECT_FAIL,
31 ERR_SECURE_CONNECT_FAIL,
32 ERR_SOCKET_FAILURE,
33
34 /* DNS Errors */
35 ERR_DNS_FAIL,
36 ERR_URN_RESOLVE,
37
38 /* HTTP Errors */
39 ERR_ONLY_IF_CACHED_MISS, /* failure to satisfy only-if-cached request */
40 ERR_TOO_BIG,
41 ERR_INVALID_RESP,
42 ERR_UNSUP_HTTPVERSION, /* HTTP version is not supported */
43 ERR_INVALID_REQ,
44 ERR_UNSUP_REQ,
45 ERR_INVALID_URL,
46 ERR_ZERO_SIZE_OBJECT,
47 ERR_PRECONDITION_FAILED,
48 ERR_CONFLICT_HOST,
49
50 /* FTP Errors */
51 ERR_FTP_DISABLED,
52 ERR_FTP_UNAVAILABLE,
53 ERR_FTP_FAILURE,
54 ERR_FTP_PUT_ERROR,
55 ERR_FTP_NOT_FOUND,
56 ERR_FTP_FORBIDDEN,
57 ERR_FTP_PUT_CREATED, /* !error,a note that the file was created */
58 ERR_FTP_PUT_MODIFIED, /* modified, !created */
59
60 /* ESI Errors */
61 ERR_ESI, /* Failure to perform ESI processing */
62
63 /* ICAP Errors */
64 ERR_ICAP_FAILURE,
65
66 /* Squid problem */
67 ERR_GATEWAY_FAILURE,
68
69 /* Special Cases */
70 ERR_DIR_LISTING, /* Display of remote directory (FTP) */
71 ERR_SQUID_SIGNATURE, /* not really an error */
72 ERR_SHUTTING_DOWN,
73 ERR_PROTOCOL_UNKNOWN,
74
75 // NOTE: error types defined below TCP_RESET are optional and do not generate
76 // a log warning if the files are missing
77 TCP_RESET, // Send TCP RST packet instead of error page
78
79 ERR_CLIENT_GONE, // No client to send the error page to
80 ERR_SECURE_ACCEPT_FAIL, // Rejects the SSL connection instead of error page
81 ERR_REQUEST_START_TIMEOUT, // Aborts the connection instead of error page
82 ERR_REQUEST_PARSE_TIMEOUT, // Aborts the connection instead of error page
83 ERR_RELAY_REMOTE, // Sends server reply instead of error page
84
85 /* Cache Manager GUI can install a manager index/home page */
86 MGR_INDEX,
87
88 ERR_MAX
89 } err_type;
90
91 class Error;
92 class ErrorDetail;
93 class ErrorState;
94
95 typedef RefCount<ErrorDetail> ErrorDetailPointer;
96
97 #endif /* SQUID_SRC_ERROR_FORWARD_H */
98