]> granicus.if.org Git - php/commitdiff
Added more useful warning messages
authorTjerk Meesters <datibbaw@php.net>
Tue, 15 Jul 2014 12:28:16 +0000 (20:28 +0800)
committerStanislav Malyshev <stas@php.net>
Mon, 1 Dec 2014 06:39:25 +0000 (22:39 -0800)
ext/standard/dns.c

index cdec56bf144b146cfa7d8b77ab20741c9fb51bea..a6739747057b2e6329ab9cd390e5d1628a4f18d4 100644 (file)
@@ -897,13 +897,24 @@ PHP_FUNCTION(dns_get_record)
 
                        if (n < 0) {
                                php_dns_free_handle(handle);
-                               if (h_errno == NO_DATA || h_errno == HOST_NOT_FOUND) {
-                                       continue;
-                               } else {
-                                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "DNS Query failed");
-                                       zval_dtor(return_value);
-                                       RETURN_FALSE;
+                               switch (h_errno) {
+                                       case NO_DATA:
+                                       case HOST_NOT_FOUND:
+                                               continue;
+
+                                       case NO_RECOVERY:
+                                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "An unexpected server failure occurred.");
+                                               break;
+
+                                       case TRY_AGAIN:
+                                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "A temporary server error occurred.");
+                                               break;
+
+                                       default:
+                                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "DNS Query failed");
                                }
+                               zval_dtor(return_value);
+                               RETURN_FALSE;
                        }
 
                        cp = answer.qb2 + HFIXEDSZ;