From: Amos Jeffries Date: Tue, 11 Aug 2026 15:32:53 +0000 (+0000) Subject: Upgrade icap:: logformat Strings to SBuf (#2462) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=HEAD;p=thirdparty%2Fsquid.git Upgrade icap:: logformat Strings to SBuf (#2462) --- diff --git a/src/AccessLogEntry.h b/src/AccessLogEntry.h index 419b13621b..108fdcbbb3 100644 --- a/src/AccessLogEntry.h +++ b/src/AccessLogEntry.h @@ -219,8 +219,8 @@ public: } Ip::Address hostAddr; ///< ICAP server IP address - String serviceName; ///< ICAP service name - String reqUri; ///< ICAP Request-URI + SBuf serviceName; ///< ICAP service name + SBuf reqUri; ///< ICAP Request-URI Adaptation::Icap::ICAP::Method reqMethod = Adaptation::methodNone; ///< ICAP request method int64_t bytesSent = 0; ///< number of bytes sent to ICAP server so far int64_t bytesRead = 0; ///< number of bytes read from ICAP server so far diff --git a/src/adaptation/icap/Xaction.cc b/src/adaptation/icap/Xaction.cc index 997042eb00..875802f7e3 100644 --- a/src/adaptation/icap/Xaction.cc +++ b/src/adaptation/icap/Xaction.cc @@ -31,6 +31,7 @@ #include "icap_log.h" #include "ipcache.h" #include "pconn.h" +#include "sbuf/StringConvert.h" #include "security/PeerConnector.h" #include "SquidConfig.h" @@ -616,8 +617,8 @@ void Adaptation::Icap::Xaction::finalizeLogInfo() const Adaptation::Icap::ServiceRep &s = service(); al.icap.hostAddr = s.cfg().host.termedBuf(); - al.icap.serviceName = s.cfg().key; - al.icap.reqUri = s.cfg().uri; + al.icap.serviceName = StringToSBuf(s.cfg().key); + al.icap.reqUri = StringToSBuf(s.cfg().uri); tvSub(al.icap.ioTime, icap_tio_start, icap_tio_finish); tvSub(al.icap.trTime, icap_tr_start, current_time); diff --git a/src/format/Format.cc b/src/format/Format.cc index 445a20712f..0c70c8a0b5 100644 --- a/src/format/Format.cc +++ b/src/format/Format.cc @@ -739,11 +739,11 @@ Format::Format::assemble(MemBuf &mb, const AccessLogEntry::Pointer &al, int logS break; case LFT_ICAP_SERV_NAME: - out = al->icap.serviceName.termedBuf(); + out = al->icap.serviceName.c_str(); break; case LFT_ICAP_REQUEST_URI: - out = al->icap.reqUri.termedBuf(); + out = al->icap.reqUri.c_str(); break; case LFT_ICAP_REQUEST_METHOD: diff --git a/src/log/FormatSquidIcap.cc b/src/log/FormatSquidIcap.cc index 2c8283dfd0..589888b4df 100644 --- a/src/log/FormatSquidIcap.cc +++ b/src/log/FormatSquidIcap.cc @@ -43,7 +43,7 @@ Log::Format::SquidIcap(const AccessLogEntry::Pointer &al, Logfile * logfile) if (user && !*user) safe_free(user); - logfilePrintf(logfile, "%9ld.%03d %6ld %s %s/%03d %" PRId64 " %s %s %s -/%s -\n", + logfilePrintf(logfile, "%9ld.%03d %6ld %s %s/%03d %" PRId64 " %s " SQUIDSBUFPH " %s -/%s -\n", (long int) current_time.tv_sec, (int) current_time.tv_usec / 1000, tvToMsec(al->icap.trTime), @@ -52,7 +52,7 @@ Log::Format::SquidIcap(const AccessLogEntry::Pointer &al, Logfile * logfile) al->icap.resStatus, al->icap.bytesRead, Adaptation::Icap::ICAP::methodStr(al->icap.reqMethod), - al->icap.reqUri.termedBuf(), + SQUIDSBUFPRINT(al->icap.reqUri), user ? user : "-", al->icap.hostAddr.toStr(tmp, MAX_IPSTRLEN)); safe_free(user);