#include "rfc2181.h"
![](rfc1035_8h__incl.png)
![](rfc1035_8h__dep__incl.png)
Go to the source code of this file.
Classes | |
class | rfc1035_rr |
struct | _rfc1035_query |
struct | _rfc1035_message |
Macros | |
#define | RFC1035_MAXHOSTNAMESZ RFC2181_MAXHOSTNAMELEN |
#define | RFC1035_DEFAULT_PACKET_SZ 512 |
#define | RFC1035_TYPE_A 1 |
#define | RFC1035_TYPE_CNAME 5 |
#define | RFC1035_TYPE_PTR 12 |
#define | RFC1035_CLASS_IN 1 |
Typedefs | |
typedef struct _rfc1035_query | rfc1035_query |
typedef struct _rfc1035_message | rfc1035_message |
Functions | |
ssize_t | rfc1035BuildAQuery (const char *hostname, char *buf, size_t sz, unsigned short qid, rfc1035_query *query, ssize_t edns_sz) |
ssize_t | rfc1035BuildPTRQuery (const struct in_addr, char *buf, size_t sz, unsigned short qid, rfc1035_query *query, ssize_t edns_sz) |
void | rfc1035SetQueryID (char *, unsigned short qid) |
int | rfc1035MessageUnpack (const char *buf, size_t sz, rfc1035_message **answer) |
int | rfc1035QueryCompare (const rfc1035_query *, const rfc1035_query *) |
void | rfc1035RRDestroy (rfc1035_rr **rr, int n) |
void | rfc1035MessageDestroy (rfc1035_message **message) |
const char * | rfc1035ErrorMessage (int n) |
int | rfc1035HeaderPack (char *buf, size_t sz, rfc1035_message *hdr) |
int | rfc1035HeaderUnpack (const char *buf, size_t sz, unsigned int *off, rfc1035_message *h) |
int | rfc1035QuestionPack (char *buf, size_t sz, const char *name, const unsigned short type, const unsigned short _class) |
int | rfc1035RRPack (char *buf, size_t sz, const rfc1035_rr *RR) |
Macro Definition Documentation
◆ RFC1035_CLASS_IN
◆ RFC1035_DEFAULT_PACKET_SZ
◆ RFC1035_MAXHOSTNAMESZ
#define RFC1035_MAXHOSTNAMESZ RFC2181_MAXHOSTNAMELEN |
◆ RFC1035_TYPE_A
◆ RFC1035_TYPE_CNAME
◆ RFC1035_TYPE_PTR
Typedef Documentation
◆ rfc1035_message
typedef struct _rfc1035_message rfc1035_message |
◆ rfc1035_query
typedef struct _rfc1035_query rfc1035_query |
Function Documentation
◆ rfc1035BuildAQuery()
ssize_t rfc1035BuildAQuery | ( | const char * | hostname, |
char * | buf, | ||
size_t | sz, | ||
unsigned short | qid, | ||
rfc1035_query * | query, | ||
ssize_t | edns_sz | ||
) |
Definition at line 663 of file rfc1035.cc.
References _rfc1035_message::arcount, assert, _rfc1035_message::id, int, _rfc1035_query::name, _rfc1035_message::opcode, _rfc1035_query::qclass, _rfc1035_message::qdcount, _rfc1035_message::qr, _rfc1035_query::qtype, _rfc1035_message::rd, RFC1035_CLASS_IN, RFC1035_TYPE_A, rfc1035HeaderPack(), rfc1035QuestionPack(), rfc2671RROptPack(), and xstrncpy().
◆ rfc1035BuildPTRQuery()
ssize_t rfc1035BuildPTRQuery | ( | const struct in_addr | , |
char * | buf, | ||
size_t | sz, | ||
unsigned short | qid, | ||
rfc1035_query * | query, | ||
ssize_t | edns_sz | ||
) |
Definition at line 702 of file rfc1035.cc.
References _rfc1035_message::arcount, assert, _rfc1035_message::id, int, _rfc1035_query::name, _rfc1035_message::opcode, _rfc1035_query::qclass, _rfc1035_message::qdcount, _rfc1035_message::qr, _rfc1035_query::qtype, _rfc1035_message::rd, RFC1035_CLASS_IN, RFC1035_TYPE_PTR, rfc1035HeaderPack(), rfc1035QuestionPack(), rfc2671RROptPack(), and xstrncpy().
◆ rfc1035ErrorMessage()
const char* rfc1035ErrorMessage | ( | int | n | ) |
Definition at line 449 of file rfc1035.cc.
References rfc1035_unpack_error.
Referenced by idnsCheckQueue(), idnsGrokReply(), and TestRfc1035::testBugPacketHeadersOnly().
◆ rfc1035HeaderPack()
int rfc1035HeaderPack | ( | char * | buf, |
size_t | sz, | ||
rfc1035_message * | hdr | ||
) |
Definition at line 56 of file rfc1035.cc.
References _rfc1035_message::aa, _rfc1035_message::ancount, _rfc1035_message::arcount, assert, _rfc1035_message::id, _rfc1035_message::nscount, off, _rfc1035_message::opcode, _rfc1035_message::qdcount, _rfc1035_message::qr, _rfc1035_message::ra, _rfc1035_message::rcode, _rfc1035_message::rd, and _rfc1035_message::tc.
Referenced by rfc1035BuildAQuery(), rfc1035BuildPTRQuery(), and rfc3596BuildHostQuery().
◆ rfc1035HeaderUnpack()
int rfc1035HeaderUnpack | ( | const char * | buf, |
size_t | sz, | ||
unsigned int * | off, | ||
rfc1035_message * | h | ||
) |
Definition at line 185 of file rfc1035.cc.
References _rfc1035_message::aa, _rfc1035_message::ancount, _rfc1035_message::arcount, assert, _rfc1035_message::id, _rfc1035_message::nscount, off, _rfc1035_message::opcode, _rfc1035_message::qdcount, _rfc1035_message::qr, _rfc1035_message::ra, _rfc1035_message::rcode, _rfc1035_message::rd, and _rfc1035_message::tc.
Referenced by rfc1035MessageUnpack(), TestRfc1035::testBugPacketEndingOnCompressionPtr(), TestRfc1035::testBugPacketHeadersOnly(), and TestRfc1035::testHeaderUnpack().
◆ rfc1035MessageDestroy()
void rfc1035MessageDestroy | ( | rfc1035_message ** | message | ) |
Definition at line 535 of file rfc1035.cc.
References rfc1035RRDestroy(), and xfree.
Referenced by idnsGrokReply(), rfc1035MessageUnpack(), TestRfc1035::testBugPacketEndingOnCompressionPtr(), TestRfc1035::testParseAPacket(), and idns_query::~idns_query().
◆ rfc1035MessageUnpack()
int rfc1035MessageUnpack | ( | const char * | buf, |
size_t | sz, | ||
rfc1035_message ** | answer | ||
) |
Definition at line 589 of file rfc1035.cc.
References _rfc1035_message::ancount, _rfc1035_message::answer, int, off, _rfc1035_message::qdcount, _rfc1035_message::query, _rfc1035_message::rcode, RFC1035_UNPACK_DEBUG, rfc1035_unpack_error, rfc1035HeaderUnpack(), rfc1035MessageDestroy(), rfc1035QueryUnpack(), rfc1035RRUnpack(), xcalloc(), and xfree.
Referenced by idnsGrokReply(), TestRfc1035::testBugPacketEndingOnCompressionPtr(), TestRfc1035::testBugPacketHeadersOnly(), and TestRfc1035::testParseAPacket().
◆ rfc1035QueryCompare()
int rfc1035QueryCompare | ( | const rfc1035_query * | , |
const rfc1035_query * | |||
) |
Definition at line 555 of file rfc1035.cc.
References _rfc1035_query::name, _rfc1035_query::qclass, and _rfc1035_query::qtype.
Referenced by idnsGrokReply().
◆ rfc1035QuestionPack()
int rfc1035QuestionPack | ( | char * | buf, |
size_t | sz, | ||
const char * | name, | ||
const unsigned short | type, | ||
const unsigned short | _class | ||
) |
Definition at line 154 of file rfc1035.cc.
References assert, off, and rfc1035NamePack().
Referenced by rfc1035BuildAQuery(), rfc1035BuildPTRQuery(), and rfc3596BuildHostQuery().
◆ rfc1035RRDestroy()
void rfc1035RRDestroy | ( | rfc1035_rr ** | rr, |
int | n | ||
) |
◆ rfc1035RRPack()
int rfc1035RRPack | ( | char * | buf, |
size_t | sz, | ||
const rfc1035_rr * | RR | ||
) |
Definition at line 330 of file rfc1035.cc.
References rfc1035_rr::_class, assert, rfc1035_rr::name, off, rfc1035_rr::rdata, rfc1035_rr::rdlength, rfc1035NamePack(), rfc1035_rr::ttl, and rfc1035_rr::type.
Referenced by rfc2671RROptPack().
◆ rfc1035SetQueryID()
void rfc1035SetQueryID | ( | char * | , |
unsigned short | qid | ||
) |
Definition at line 744 of file rfc1035.cc.
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