Asn.cc
Go to the documentation of this file.
255 storeClientCopy(asState->sc, e, asState->parsingBuffer.makeInitialSpace(), asHandleReply, asState);
274 debugs(53, DBG_IMPORTANT, "ERROR: asHandleReply: Called with Error set and size=" << (unsigned int) result.length);
284 Parser::Tokenizer tok(SBuf(asState->parsingBuffer.content().data, asState->parsingBuffer.contentSize()));
297 debugs(53, 2, "WHOIS: Discarding the last " << leftoverBytes << " received bytes of a truncated AS response");
302 const auto remainingSpace = asState->parsingBuffer.space().positionAt(result.offset + result.length);
313 const decltype(StoreIOBuffer::offset) stillReasonableOffset = 100000; // an arbitrary limit in bytes
316 debugs(53, DBG_IMPORTANT, "WARNING: Ignoring the tail of a suspiciously large WHOIS AS response" <<
369 debugs(53, 3, "asnAddNet: Ignoring repeated network '" << addr << "/" << bitl << "' for AS " << as_number);
530 const ipcache_addrs *ia = ipcache_gethostbyname(checklist->request->url.host(), IP_LOOKUP_IF_MISS);
Store::ParsingBuffer parsingBuffer
for receiving a WHOIS reply body from Store and interpreting it
Definition: Asn.cc:89
Definition: CbDataList.h:15
void push_back(char)
Append a single character. The character may be NUL (\0).
Definition: SBuf.cc:208
Definition: ipcache.h:50
struct StoreIOBuffer::@130 flags
void defaultPort()
reset the port to the default port number for the current scheme
Definition: Uri.h:94
CharacterSet complement(const char *complementLabel=nullptr) const
Definition: CharacterSet.cc:74
const ipcache_addrs * ipcache_gethostbyname(const char *name, int flags)
Definition: ipcache.cc:729
StoreIOBuffer & positionAt(const int64_t newOffset)
convenience method for changing the offset of a being-configured buffer
Definition: StoreIOBuffer.h:47
Definition: radix.h:103
static int destroyRadixNode(struct squid_radix_node *rn, void *w)
Definition: Asn.cc:403
Definition: Checklist.h:30
SQUIDCEXTERN int squid_rn_walktree(struct squid_radix_node_head *, int(*)(struct squid_radix_node *, void *), void *)
Definition: radix.c:817
char * toStr(char *buf, const unsigned int blen, int force=AF_UNSPEC) const
Definition: Address.cc:812
#define MAX_IPSTRLEN
Length of buffer that needs to be allocated to old a null-terminated IP-string.
Definition: forward.h:25
static void StartLookup(ACLFilledChecklist &, const Acl::Node &)
Definition: DestinationIp.cc:88
Definition: HttpRequest.h:48
Definition: StoreIOBuffer.h:15
Definition: RequestFlags.h:22
Http::StatusCode status() const
retrieve the status code for this status line
Definition: StatusLine.h:45
ACLFilledChecklist * Filled(ACLChecklist *checklist)
convenience and safety wrapper for dynamic_cast<ACLFilledChecklist*>
Definition: FilledChecklist.h:146
void consume(size_t)
get rid of previously appended() prefix of a given size
Definition: ParsingBuffer.cc:68
void appended(const char *, size_t)
remember the new bytes received into the previously provided space()
Definition: ParsingBuffer.cc:47
static int printRadixNode(struct squid_radix_node *rn, void *sentry)
Definition: Asn.cc:437
SQUIDCEXTERN int squid_rn_inithead(struct squid_radix_node_head **, int)
Definition: radix.c:853
SQUIDCEXTERN struct squid_radix_node * squid_rn_addroute(void *, void *, struct squid_radix_node_head *, struct squid_radix_node[2])
Definition: radix.c:519
int match(ACLChecklist *) override
Matches the actual data in checklist against this Acl::Node.
Definition: Asn.cc:526
Definition: radix.h:51
Definition: Tokenizer.h:29
Definition: ParsingBuffer.h:35
StoreEntry * storeCreateEntry(const char *url, const char *logUrl, const RequestFlags &flags, const HttpRequestMethod &method)
Definition: store.cc:759
Definition: Xaction.cc:137
int match(ACLChecklist *) override
Matches the actual data in checklist against this Acl::Node.
Definition: Asn.cc:518
StoreIOBuffer makeInitialSpace()
Definition: ParsingBuffer.h:84
SQUIDCEXTERN struct squid_radix_node * squid_rn_match(void *, struct squid_radix_node_head *)
Definition: radix.c:244
CBDATA_CLASS_INIT(ASState)
Definition: Store.h:37
SQUIDCEXTERN struct squid_radix_node * squid_rn_lookup(void *, void *, struct squid_radix_node_head *)
Definition: radix.c:206
Definition: parse.c:160
SQUIDCEXTERN struct squid_radix_node * squid_rn_delete(void *, void *, struct squid_radix_node_head *)
Definition: radix.c:664
void RegisterAction(char const *action, char const *desc, OBJH *handler, Protected, Atomic, Format)
Definition: Registration.cc:54
Definition: StoreClient.h:73
StoreEntry * storeGetPublic(const char *uri, const HttpRequestMethod &method)
Definition: store.cc:504
std::unique_ptr< Parameters > data
Definition: ParameterizedNode.h:43
static void fwdStart(const Comm::ConnectionPointer &client, StoreEntry *, HttpRequest *)
Same as Start() but no master xaction info (AccessLogEntry) available.
Definition: FwdState.cc:407
optimized set of C chars, with quick membership test and merge support
Definition: CharacterSet.h:17
int storeUnregister(store_client *sc, StoreEntry *e, void *data)
Definition: store_client.cc:765
void storeClientCopy(store_client *sc, StoreEntry *e, StoreIOBuffer copyInto, STCB *callback, void *data)
Definition: store_client.cc:224
size_t contentSize() const
the total number of append()ed bytes that were not consume()d
Definition: ParsingBuffer.cc:41
Definition: Address.h:42
store_client * storeClientListAdd(StoreEntry *e, void *data)
Definition: store_client.cc:124
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products