Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 0906004

Browse filesBrowse files
avivkellerRafaelGSS
authored andcommitted
dns: stop using deprecated ares_query
PR-URL: #55430 Refs: #52464 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
1 parent f355054 commit 0906004
Copy full SHA for 0906004

File tree

Expand file treeCollapse file tree

2 files changed

+31
-28
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

2 files changed

+31
-28
lines changed
Open diff view settings
Collapse file

‎src/cares_wrap.cc‎

Copy file name to clipboardExpand all lines: src/cares_wrap.cc
+12-12Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -830,62 +830,62 @@ void ChannelWrap::EnsureServers() {
830830
}
831831

832832
int AnyTraits::Send(QueryWrap<AnyTraits>* wrap, const char* name) {
833-
wrap->AresQuery(name, ns_c_in, ns_t_any);
833+
wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_ANY);
834834
return ARES_SUCCESS;
835835
}
836836

837837
int ATraits::Send(QueryWrap<ATraits>* wrap, const char* name) {
838-
wrap->AresQuery(name, ns_c_in, ns_t_a);
838+
wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_A);
839839
return ARES_SUCCESS;
840840
}
841841

842842
int AaaaTraits::Send(QueryWrap<AaaaTraits>* wrap, const char* name) {
843-
wrap->AresQuery(name, ns_c_in, ns_t_aaaa);
843+
wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_AAAA);
844844
return ARES_SUCCESS;
845845
}
846846

847847
int CaaTraits::Send(QueryWrap<CaaTraits>* wrap, const char* name) {
848-
wrap->AresQuery(name, ns_c_in, T_CAA);
848+
wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_CAA);
849849
return ARES_SUCCESS;
850850
}
851851

852852
int CnameTraits::Send(QueryWrap<CnameTraits>* wrap, const char* name) {
853-
wrap->AresQuery(name, ns_c_in, ns_t_cname);
853+
wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_CNAME);
854854
return ARES_SUCCESS;
855855
}
856856

857857
int MxTraits::Send(QueryWrap<MxTraits>* wrap, const char* name) {
858-
wrap->AresQuery(name, ns_c_in, ns_t_mx);
858+
wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_MX);
859859
return ARES_SUCCESS;
860860
}
861861

862862
int NsTraits::Send(QueryWrap<NsTraits>* wrap, const char* name) {
863-
wrap->AresQuery(name, ns_c_in, ns_t_ns);
863+
wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_NS);
864864
return ARES_SUCCESS;
865865
}
866866

867867
int TxtTraits::Send(QueryWrap<TxtTraits>* wrap, const char* name) {
868-
wrap->AresQuery(name, ns_c_in, ns_t_txt);
868+
wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_TXT);
869869
return ARES_SUCCESS;
870870
}
871871

872872
int SrvTraits::Send(QueryWrap<SrvTraits>* wrap, const char* name) {
873-
wrap->AresQuery(name, ns_c_in, ns_t_srv);
873+
wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_SRV);
874874
return ARES_SUCCESS;
875875
}
876876

877877
int PtrTraits::Send(QueryWrap<PtrTraits>* wrap, const char* name) {
878-
wrap->AresQuery(name, ns_c_in, ns_t_ptr);
878+
wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_PTR);
879879
return ARES_SUCCESS;
880880
}
881881

882882
int NaptrTraits::Send(QueryWrap<NaptrTraits>* wrap, const char* name) {
883-
wrap->AresQuery(name, ns_c_in, ns_t_naptr);
883+
wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_NAPTR);
884884
return ARES_SUCCESS;
885885
}
886886

887887
int SoaTraits::Send(QueryWrap<SoaTraits>* wrap, const char* name) {
888-
wrap->AresQuery(name, ns_c_in, ns_t_soa);
888+
wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_SOA);
889889
return ARES_SUCCESS;
890890
}
891891

Collapse file

‎src/cares_wrap.h‎

Copy file name to clipboardExpand all lines: src/cares_wrap.h
+19-16Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -246,18 +246,20 @@ class QueryWrap final : public AsyncWrap {
246246
return Traits::Send(this, name);
247247
}
248248

249-
void AresQuery(const char* name, int dnsclass, int type) {
249+
void AresQuery(const char* name,
250+
ares_dns_class_t dnsclass,
251+
ares_dns_rec_type_t type) {
250252
channel_->EnsureServers();
251253
TRACE_EVENT_NESTABLE_ASYNC_BEGIN1(
252254
TRACING_CATEGORY_NODE2(dns, native), trace_name_, this,
253255
"name", TRACE_STR_COPY(name));
254-
ares_query(
255-
channel_->cares_channel(),
256-
name,
257-
dnsclass,
258-
type,
259-
Callback,
260-
MakeCallbackPointer());
256+
ares_query_dnsrec(channel_->cares_channel(),
257+
name,
258+
dnsclass,
259+
type,
260+
Callback,
261+
MakeCallbackPointer(),
262+
nullptr);
261263
}
262264

263265
void ParseError(int status) {
@@ -304,19 +306,20 @@ class QueryWrap final : public AsyncWrap {
304306
return wrap;
305307
}
306308

307-
static void Callback(
308-
void* arg,
309-
int status,
310-
int timeouts,
311-
unsigned char* answer_buf,
312-
int answer_len) {
309+
static void Callback(void* arg,
310+
ares_status_t status,
311+
size_t timeouts,
312+
const ares_dns_record_t* dnsrec) {
313313
QueryWrap<Traits>* wrap = FromCallbackPointer(arg);
314314
if (wrap == nullptr) return;
315315

316316
unsigned char* buf_copy = nullptr;
317+
size_t answer_len = 0;
317318
if (status == ARES_SUCCESS) {
318-
buf_copy = node::Malloc<unsigned char>(answer_len);
319-
memcpy(buf_copy, answer_buf, answer_len);
319+
// No need to explicitly call ares_free_string here,
320+
// as it is a wrapper around free, which is already
321+
// invoked when MallocedBuffer is destructed.
322+
ares_dns_write(dnsrec, &buf_copy, &answer_len);
320323
}
321324

322325
wrap->response_data_ = std::make_unique<ResponseData>();

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.