[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-cvs
Subject:    [PHP-CVS] [php-src] PHP-8.1: Merge branch 'PHP-8.0' into PHP-8.1
From:       Jakub Zelenka <noreply () php ! net>
Date:       2022-04-29 19:47:53
Message-ID: ZsR1vWxVmhPnuf6xQQleJPQQjzqxCxIUDqbTVOP6Ms () main ! php ! net
[Download RAW message or body]

Author: Jakub Zelenka (bukka)
Date: 2022-04-29T20:41:13+01:00

Commit: https://github.com/php/php-src/commit/0332b62c35bafd596492b2170c4cec3903cbebec
Raw diff: https://github.com/php/php-src/commit/0332b62c35bafd596492b2170c4cec3903cbebec.diff

Merge branch 'PHP-8.0' into PHP-8.1

Changed paths:
  M  NEWS
  M  sapi/fpm/config.m4


Diff:

diff --git a/NEWS b/NEWS
index 6a51433ceab1..994b3d28208a 100644
--- a/NEWS
+++ b/NEWS
@@ -30,6 +30,7 @@ PHP                                                                        NEWS
     (Jakub Zelenka)
   . Fixed bug #77023 (FPM cannot shutdown processes). (Jakub Zelenka)
   . Fixed comment in kqueue remove callback log message. (David Carlier)
+  . Fixed ACL build check on MacOS. (David Carlier)
 
 - Hash:
   . Fixed bug #81714 (segfault when serializing finalized HashContext). (cmb)
diff --git a/sapi/fpm/config.m4 b/sapi/fpm/config.m4
index 7c2fdec12202..09c3ae08195f 100644
--- a/sapi/fpm/config.m4
+++ b/sapi/fpm/config.m4
@@ -555,18 +555,57 @@ if test "$PHP_FPM" != "no"; then
   fi
 
   if test "$PHP_FPM_ACL" != "no" ; then
+    AC_MSG_CHECKING([for acl user/group permissions support])
     AC_CHECK_HEADERS([sys/acl.h])
-    dnl *BSD has acl_* built into libc.
-    AC_CHECK_FUNC(acl_free, [
-      AC_DEFINE(HAVE_FPM_ACL, 1, [ POSIX Access Control List ])
-    ],[
-      AC_CHECK_LIB(acl, acl_free, [
-        PHP_ADD_LIBRARY(acl)
-        AC_DEFINE(HAVE_FPM_ACL, 1, [ POSIX Access Control List ])
-      ],[
-        AC_MSG_ERROR(libacl required not found)
-      ])
-    ])
+
+    AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <sys/acl.h>
+      int main()
+      {
+        acl_t acl;
+        acl_entry_t user, group;
+        acl = acl_init(1);
+        acl_create_entry(&acl, &user);
+        acl_set_tag_type(user, ACL_USER);
+        acl_create_entry(&acl, &group);
+        acl_set_tag_type(user, ACL_GROUP);
+        acl_free(acl);
+        return 0;
+      }
+    ]])], [
+      AC_CHECK_LIB(acl, acl_free, 
+        [PHP_ADD_LIBRARY(acl)
+          have_fpm_acl=yes
+          AC_MSG_RESULT([yes])
+        ],[
+          AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <sys/acl.h>
+            int main()
+            {
+              acl_t acl;
+              acl_entry_t user, group;
+              acl = acl_init(1);
+              acl_create_entry(&acl, &user);
+              acl_set_tag_type(user, ACL_USER);
+              acl_create_entry(&acl, &group);
+              acl_set_tag_type(user, ACL_GROUP);
+              acl_free(acl);
+              return 0;
+            }
+          ]])], [
+            have_fpm_acl=yes
+            AC_MSG_RESULT([yes])
+          ], [
+            have_fpm_acl=no
+            AC_MSG_RESULT([no])
+          ], [AC_MSG_RESULT([skipped])])
+        ])
+    ], [
+      have_fpm_acl=no
+      AC_MSG_RESULT([no])
+    ], [AC_MSG_RESULT([skipped (cross-compiling)])])
+
+    if test "$have_fpm_acl" = "yes"; then
+      AC_DEFINE([HAVE_FPM_ACL], 1, [do we have acl support?])
+    fi
   fi
 
   if test "x$PHP_FPM_APPARMOR" != "xno" ; then

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic