]>
Commit | Line | Data |
---|---|---|
474f076e AJ |
1 | /* |
2 | * Copyright (C) 1996-2015 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_SECURITY_SERVEROPTIONS_H | |
10 | #define SQUID_SRC_SECURITY_SERVEROPTIONS_H | |
11 | ||
12 | #include "security/PeerOptions.h" | |
13 | ||
14 | namespace Security | |
15 | { | |
16 | ||
17 | /// TLS squid.conf settings for a listening port | |
18 | class ServerOptions : public PeerOptions | |
19 | { | |
20 | public: | |
21 | ServerOptions() : PeerOptions() {} | |
22 | explicit ServerOptions(const Security::ServerOptions &); | |
23 | virtual ~ServerOptions() = default; | |
24 | ||
25 | /* Security::PeerOptions API */ | |
26 | virtual void parse(const char *); | |
27 | virtual void clear() {*this = ServerOptions();} | |
28 | virtual void dumpCfg(Packable *, const char *pfx) const; | |
29 | ||
30 | /// update the context with DH, EDH, EECDH settings | |
31 | void updateContextEecdh(Security::ContextPointer &); | |
32 | ||
33 | public: | |
34 | SBuf dh; ///< Diffi-Helman cipher config | |
35 | SBuf dhParamsFile; ///< Diffi-Helman ciphers parameter file | |
36 | SBuf eecdhCurve; ///< Elliptic curve for ephemeral EC-based DH key exchanges | |
37 | }; | |
38 | ||
39 | } // namespace Security | |
40 | ||
41 | #endif /* SQUID_SRC_SECURITY_SERVEROPTIONS_H */ |