#if USE_OPENSSL
ssluser(NULL),
#endif
- port(NULL) {
+ port(NULL)
+ {
caddr.setNoAddr();
+ memset(&start_time, 0, sizeof(start_time));
}
Ip::Address caddr;
typedef NotesList::const_iterator const_iterator; ///< iterates over the notes list
Notes(const char *aDescr, const char **metasBlacklist, bool allowFormatted = false): descr(aDescr), blacklisted(metasBlacklist), formattedValues(allowFormatted) {}
- Notes(): descr(NULL), blacklisted(NULL) {}
+ Notes(): descr(NULL), blacklisted(NULL), formattedValues(false) {}
~Notes() { notes.clear(); }
/**
* Parse a notes line and returns a pointer to the
static ACL *FindByName(const char *name);
ACL();
- explicit ACL(const ACLFlag flgs[]) : cfgline(NULL), next(NULL), flags(flgs) { memset(name, '\0', sizeof(name)); }
+ explicit ACL(const ACLFlag flgs[]) : cfgline(NULL), next(NULL), flags(flgs), registered(false) {
+ *name = 0;
+ }
virtual ~ACL();
/// sets user-specified ACL name and squid.conf context
Adaptation::Icap::Config Adaptation::Icap::TheConfig;
Adaptation::Icap::Config::Config() :
+ default_options_ttl(0),
preview_enable(0), preview_size(0), allow206_enable(0),
connect_timeout_raw(0), io_timeout_raw(0), reuse_connections(0),
client_username_header(NULL), client_username_encode(0), repeat(NULL),
ConnStateData::ConnStateData(const MasterXaction::Pointer &xact) :
AsyncJob("ConnStateData"), // kids overwrite
+ nrequests(0),
#if USE_OPENSSL
sslBumpMode(Ssl::bumpEnd),
+#endif
+ needProxyProtocolHeader_(false),
+#if USE_OPENSSL
switchedToHttps_(false),
sslServerBump(NULL),
+ signAlgorithm(Ssl::algSignTrusted),
#endif
stoppedSending_(NULL),
stoppedReceiving_(NULL)
{
+ flags.readMore = true; // kids may overwrite
+ flags.swanSang = false;
+
pinning.host = NULL;
pinning.port = -1;
pinning.pinned = false;
port = xact->squidPort;
log_addr = xact->tcpClient->remote;
log_addr.applyMask(Config.Addrs.client_netmask);
-
- flags.readMore = true; // kids may overwrite
}
void
void purgeEntriesByUrl(HttpRequest * req, const char *url);
Client::Client(FwdState *theFwdState): AsyncJob("Client"),
+ completed(false),
+ currentOffset(0),
+ responseBodyBuffer(NULL),
+ fwd(theFwdState),
requestSender(NULL),
#if USE_ADAPTATION
adaptedHeadSource(NULL),
theVirginReply(NULL),
theFinalReply(NULL)
{
- fwd = theFwdState;
entry = fwd->entry;
-
entry->lock("Client");
request = fwd->request;
Ftp::Gateway::Gateway(FwdState *fwdState):
AsyncJob("FtpStateData"),
- Ftp::Client(fwdState)
-{
- const char *url = entry->url();
- debugs(9, 3, HERE << "'" << url << "'" );
- theSize = -1;
- mdtm = -1;
+ Ftp::Client(fwdState),
+ password_url(0),
+ reply_hdr(NULL),
+ reply_hdr_state(0),
+ conn_att(0),
+ login_att(0),
+ mdtm(-1),
+ theSize(-1),
+ pathcomps(NULL),
+ filepath(NULL),
+ dirpath(NULL),
+ restart_offset(0),
+ proxy_host(NULL),
+ list_width(0),
+ old_filepath(NULL),
+ typecode('\0')
+{
+ debugs(9, 3, entry->url());
+
+ *user = 0;
+ *password = 0;
+ memset(&flags, 0, sizeof(flags));
if (Config.Ftp.passive && !flags.pasv_failed)
flags.pasv_supported = 1;
Ftp::Gateway::~Gateway()
{
- debugs(9, 3, HERE << entry->url() );
+ debugs(9, 3, entry->url());
if (Comm::IsConnOpen(ctrl.conn)) {
debugs(9, DBG_IMPORTANT, "Internal bug: FTP Gateway left open " <<
wordlistDestroy(&pathcomps);
cwd_message.clean();
-
- safe_free(old_filepath);
-
+ xfree(old_filepath);
title_url.clean();
-
base_href.clean();
-
- safe_free(filepath);
-
- safe_free(dirpath);
+ xfree(filepath);
+ xfree(dirpath);
}
/**
Ftp::Relay::Relay(FwdState *const fwdState):
AsyncJob("Ftp::Relay"),
Ftp::Client(fwdState),
+ thePreliminaryCb(NULL),
forwardingCompleted(false)
{
savedReply.message = NULL;
callback(c),
data(cbdataReference(d)),
placeholder(b == NULL)
- {}
+ {
+ memset(&dispatch_time, 0, sizeof(dispatch_time));
+ }
+
~Request() {
cbdataReferenceDone(data);
xfree(buf);
HtcpReplyData::HtcpReplyData() :
hit(0), hdr(hoHtcpReply), msg_id(0), version(0.0)
-{}
+{
+ memset(&cto, 0, sizeof(cto));
+}
static void
reader()
{
flags.readMore = false; // we need to announce ourselves first
+ *uploadBuf = 0;
}
Ftp::Server::~Server()