From b8215c08171412fec3dc560161a1d18498418379 Mon Sep 17 00:00:00 2001 From: Joe Watkins Date: Mon, 9 Jan 2017 05:13:46 +0000 Subject: [PATCH] Fixed #72974 imap is undefined service on AIX --- NEWS | 1 + ext/standard/basic_functions.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/NEWS b/NEWS index 005ad09d87..224ed83fae 100644 --- a/NEWS +++ b/NEWS @@ -26,6 +26,7 @@ PHP NEWS . Fixed bug #69442 (closing of fd incorrect when PTS enabled). (jaytaph) . Fixed bug #47021 (SoapClient stumbles over WSDL delivered with "Transfer-Encoding: chunked"). (Rowan Collins) + . Fixed bug #72974 (imap is undefined service on AIX). (matthieu.sarter) - ZIP: . Fixed bug #70103 (ZipArchive::addGlob ignores remove_all_path option). (cmb, diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 132d340990..eeb3031ccc 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -5551,6 +5551,15 @@ PHP_FUNCTION(getservbyname) serv = getservbyname(name, proto); +#if defined(_AIX) + /* + On AIX, imap is only known as imap2 in /etc/services, while on Linux imap is an alias for imap2. + If a request for imap gives no result, we try again with imap2. + */ + if (serv == NULL && strcmp(name, "imap") == 0) { + serv = getservbyname("imap2", proto); + } +#endif if (serv == NULL) { RETURN_FALSE; } -- 2.40.0