Squid Web Cache master
Loading...
Searching...
No Matches
KeyLog.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2025 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_KEYLOG_H
10#define SQUID_SRC_SECURITY_KEYLOG_H
11
12#include "log/CustomLog.h"
13#include "log/forward.h"
14#include "security/forward.h"
15
16namespace Security {
17
19class KeyLog: public FormattedLog
20{
21public:
22 explicit KeyLog(ConfigParser&);
23
25 bool canLog() const { return logfile != nullptr; }
26
28 void record(const CommunicationSecrets &);
29
31 void dump(std::ostream &) const;
32};
33
34} // namespace Security
35
36#endif /* SQUID_SRC_SECURITY_KEYLOG_H */
37
Logfile * logfile
records writer
a single tls_key_log directive configuration and logging handler
Definition KeyLog.h:20
void dump(std::ostream &) const
reproduces explicitly-configured squid.conf settings
Definition KeyLog.cc:59
void record(const CommunicationSecrets &)
writes a single (but multi-line) key log entry
Definition KeyLog.cc:38
bool canLog() const
whether record() preconditions are currently satisfied
Definition KeyLog.h:25
Network/connection security abstraction layer.
Definition Connection.h:34