summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2020-05-04 16:51:51 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2020-05-04 22:59:38 +0200
commitc40a494406aa3606be964b24d224ec4eb0c936e8 (patch)
tree2ce8a3673c5922d9864709c89d3da57afc41c56b
parent7c1316ec6a726adaf96b9101054b85bbd763c14f (diff)
downloadphp-git-c40a494406aa3606be964b24d224ec4eb0c936e8.tar.gz
Fix #79561: dns_get_record() fails with DNS_ALL
Since Windows has its own definitions of the `PHP_DNS_*` macros, we have to use these when registering the PHP constants.
-rw-r--r--NEWS3
-rw-r--r--ext/standard/dns.c2
-rw-r--r--ext/standard/dns_win32.c18
3 files changed, 22 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index edc5fb002b..5acd1e9bb6 100644
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,9 @@ PHP NEWS
. Fixed bug #79528 (Different object of the same xml between 7.4.5 and
7.4.4). (cmb)
+- Standard:
+ . Fixed bug #79561 (dns_get_record() fails with DNS_ALL). (cmb)
+
30 Apr 2020, PHP 7.3.18RC1
- Core:
diff --git a/ext/standard/dns.c b/ext/standard/dns.c
index c06fa04f89..4ee40aa5ec 100644
--- a/ext/standard/dns.c
+++ b/ext/standard/dns.c
@@ -1124,7 +1124,7 @@ PHP_FUNCTION(dns_get_mx)
#endif /* HAVE_FULL_DNS_FUNCS */
#endif /* !defined(PHP_WIN32) && HAVE_DNS_SEARCH_FUNC */
-#if HAVE_FULL_DNS_FUNCS || defined(PHP_WIN32)
+#if HAVE_FULL_DNS_FUNCS && !defined(PHP_WIN32)
PHP_MINIT_FUNCTION(dns) {
REGISTER_LONG_CONSTANT("DNS_A", PHP_DNS_A, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("DNS_NS", PHP_DNS_NS, CONST_CS | CONST_PERSISTENT);
diff --git a/ext/standard/dns_win32.c b/ext/standard/dns_win32.c
index aa11a01f47..f12c80c6bc 100644
--- a/ext/standard/dns_win32.c
+++ b/ext/standard/dns_win32.c
@@ -501,3 +501,21 @@ PHP_FUNCTION(dns_get_record)
}
}
/* }}} */
+
+PHP_MINIT_FUNCTION(dns) {
+ REGISTER_LONG_CONSTANT("DNS_A", PHP_DNS_A, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("DNS_NS", PHP_DNS_NS, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("DNS_CNAME", PHP_DNS_CNAME, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("DNS_SOA", PHP_DNS_SOA, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("DNS_PTR", PHP_DNS_PTR, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("DNS_HINFO", PHP_DNS_HINFO, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("DNS_MX", PHP_DNS_MX, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("DNS_TXT", PHP_DNS_TXT, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("DNS_SRV", PHP_DNS_SRV, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("DNS_NAPTR", PHP_DNS_NAPTR, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("DNS_AAAA", PHP_DNS_AAAA, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("DNS_A6", PHP_DNS_A6, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("DNS_ANY", PHP_DNS_ANY, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("DNS_ALL", PHP_DNS_ALL, CONST_CS | CONST_PERSISTENT);
+ return SUCCESS;
+}