Asn.cc
Go to the documentation of this file.
257 storeClientCopy(asState->sc, e, asState->parsingBuffer.makeInitialSpace(), asHandleReply, asState);
276 debugs(53, DBG_IMPORTANT, "ERROR: asHandleReply: Called with Error set and size=" << (unsigned int) result.length);
286 Parser::Tokenizer tok(SBuf(asState->parsingBuffer.content().data, asState->parsingBuffer.contentSize()));
299 debugs(53, 2, "WHOIS: Discarding the last " << leftoverBytes << " received bytes of a truncated AS response");
304 const auto remainingSpace = asState->parsingBuffer.space().positionAt(result.offset + result.length);
315 const decltype(StoreIOBuffer::offset) stillReasonableOffset = 100000; // an arbitrary limit in bytes
318 debugs(53, DBG_IMPORTANT, "WARNING: Ignoring the tail of a suspiciously large WHOIS AS response" <<
371 debugs(53, 3, "asnAddNet: Ignoring repeated network '" << addr << "/" << bitl << "' for AS " << as_number);
532 const ipcache_addrs *ia = ipcache_gethostbyname(checklist->request->url.host(), IP_LOOKUP_IF_MISS);
544 debugs(28, 3, "can't yet compare '" << AclMatchedName << "' ACL for " << checklist->request->url.host());
CBDATA_CLASS_INIT(ASState)
static int printRadixNode(struct squid_radix_node *rn, void *sentry)
Definition: Asn.cc:439
static int destroyRadixNode(struct squid_radix_node *rn, void *w)
Definition: Asn.cc:405
void asnAclInitialize(ACL *acls)
ACLFilledChecklist * Filled(ACLChecklist *checklist)
convenience and safety wrapper for dynamic_cast<ACLFilledChecklist*>
Definition: FilledChecklist.h:120
Definition: Checklist.h:27
CBDATA_CLASS(ASState)
ASState()=default
Store::ParsingBuffer parsingBuffer
for receiving a WHOIS reply body from Store and interpreting it
Definition: Asn.cc:89
int match(ACLChecklist *) override
Matches the actual data in checklist against this ACL.
Definition: Asn.cc:528
std::unique_ptr< Parameters > data
Definition: ParameterizedNode.h:43
int match(ACLChecklist *) override
Matches the actual data in checklist against this ACL.
Definition: Asn.cc:520
void defaultPort()
reset the port to the default port number for the current scheme
Definition: Uri.h:99
Definition: CbDataList.h:16
optimized set of C chars, with quick membership test and merge support
Definition: CharacterSet.h:18
CharacterSet complement(const char *complementLabel=nullptr) const
Definition: CharacterSet.cc:74
Definition: ipcache.h:51
static void fwdStart(const Comm::ConnectionPointer &client, StoreEntry *, HttpRequest *)
Same as Start() but no master xaction info (AccessLogEntry) available.
Definition: FwdState.cc:412
Definition: HttpRequest.h:49
Http::StatusCode status() const
retrieve the status code for this status line
Definition: StatusLine.h:45
Definition: Address.h:41
char * toStr(char *buf, const unsigned int blen, int force=AF_UNSPEC) const
Definition: Address.cc:792
Definition: Tokenizer.h:30
Definition: RequestFlags.h:23
Definition: Store.h:42
Definition: StoreIOBuffer.h:16
struct StoreIOBuffer::@141 flags
StoreIOBuffer & positionAt(const int64_t newOffset)
convenience method for changing the offset of a being-configured buffer
Definition: StoreIOBuffer.h:47
Definition: ParsingBuffer.h:36
void consume(size_t)
get rid of previously appended() prefix of a given size
Definition: ParsingBuffer.cc:68
size_t contentSize() const
the total number of append()ed bytes that were not consume()d
Definition: ParsingBuffer.cc:41
StoreIOBuffer makeInitialSpace()
Definition: ParsingBuffer.h:84
void appended(const char *, size_t)
remember the new bytes received into the previously provided space()
Definition: ParsingBuffer.cc:47
Definition: StoreClient.h:70
const ipcache_addrs * ipcache_gethostbyname(const char *name, int flags)
Definition: ipcache.cc:728
#define MAX_IPSTRLEN
Length of buffer that needs to be allocated to old a null-terminated IP-string.
Definition: forward.h:25
Definition: Xaction.cc:139
void RegisterAction(char const *action, char const *desc, OBJH *handler, int pw_req_flag, int atomic)
Definition: Registration.cc:16
SQUIDCEXTERN struct squid_radix_node * squid_rn_lookup(void *, void *, struct squid_radix_node_head *)
Definition: radix.c:206
SQUIDCEXTERN struct squid_radix_node * squid_rn_delete(void *, void *, struct squid_radix_node_head *)
Definition: radix.c:664
SQUIDCEXTERN struct squid_radix_node * squid_rn_match(void *, struct squid_radix_node_head *)
Definition: radix.c:244
SQUIDCEXTERN int squid_rn_inithead(struct squid_radix_node_head **, int)
Definition: radix.c:853
SQUIDCEXTERN int squid_rn_walktree(struct squid_radix_node_head *, int(*)(struct squid_radix_node *, void *), void *)
Definition: radix.c:817
SQUIDCEXTERN struct squid_radix_node * squid_rn_addroute(void *, void *, struct squid_radix_node_head *, struct squid_radix_node[2])
Definition: radix.c:519
StoreEntry * storeCreateEntry(const char *url, const char *logUrl, const RequestFlags &flags, const HttpRequestMethod &method)
Definition: store.cc:745
StoreEntry * storeGetPublic(const char *uri, const HttpRequestMethod &method)
Definition: store.cc:490
int storeUnregister(store_client *sc, StoreEntry *e, void *data)
Definition: store_client.cc:749
void storeClientCopy(store_client *sc, StoreEntry *e, StoreIOBuffer copyInto, STCB *callback, void *data)
Definition: store_client.cc:213
store_client * storeClientListAdd(StoreEntry *e, void *data)
Definition: store_client.cc:123
Definition: radix.h:103
Definition: radix.h:51
Definition: parse.c:160