| Musl does not have _r versions of getent() and getpwent() APIs |
| |
| Taken from gentoo |
| http://data.gpo.zugaina.org/musl/net-fs/samba/files/samba-4.3.9-remove-getpwent_r.patch |
| |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| |
| Index: samba-4.4.5/source4/torture/local/nss_tests.c |
| =================================================================== |
| --- samba-4.4.5.orig/source4/torture/local/nss_tests.c |
| +++ samba-4.4.5/source4/torture/local/nss_tests.c |
| @@ -247,7 +247,6 @@ static bool test_getgrnam_r(struct tortu |
| return true; |
| } |
| |
| - |
| static bool test_getgrgid(struct torture_context *tctx, |
| gid_t gid, |
| struct group *grp_p) |
| @@ -333,6 +332,7 @@ static bool test_enum_passwd(struct tort |
| return true; |
| } |
| |
| +#if HAVE_GETPWENT_R |
| static bool test_enum_r_passwd(struct torture_context *tctx, |
| struct passwd **pwd_array_p, |
| size_t *num_pwd_p) |
| @@ -381,6 +381,7 @@ static bool test_enum_r_passwd(struct to |
| |
| return true; |
| } |
| +#endif |
| |
| static bool torture_assert_passwd_equal(struct torture_context *tctx, |
| const struct passwd *p1, |
| @@ -432,7 +433,7 @@ static bool test_passwd_r(struct torture |
| struct passwd *pwd, pwd1, pwd2; |
| size_t num_pwd; |
| |
| - torture_assert(tctx, test_enum_r_passwd(tctx, &pwd, &num_pwd), |
| + torture_assert(tctx, test_enum_passwd(tctx, &pwd, &num_pwd), |
| "failed to enumerate passwd"); |
| |
| for (i=0; i < num_pwd; i++) { |
| @@ -460,7 +461,7 @@ static bool test_passwd_r_cross(struct t |
| struct passwd *pwd, pwd1, pwd2, pwd3, pwd4; |
| size_t num_pwd; |
| |
| - torture_assert(tctx, test_enum_r_passwd(tctx, &pwd, &num_pwd), |
| + torture_assert(tctx, test_enum_passwd(tctx, &pwd, &num_pwd), |
| "failed to enumerate passwd"); |
| |
| for (i=0; i < num_pwd; i++) { |
| @@ -531,6 +532,7 @@ static bool test_enum_group(struct tortu |
| return true; |
| } |
| |
| +#if HAVE_GETGRENT_R |
| static bool test_enum_r_group(struct torture_context *tctx, |
| struct group **grp_array_p, |
| size_t *num_grp_p) |
| @@ -579,6 +581,7 @@ static bool test_enum_r_group(struct tor |
| |
| return true; |
| } |
| +#endif |
| |
| static bool torture_assert_group_equal(struct torture_context *tctx, |
| const struct group *g1, |
| @@ -635,7 +638,7 @@ static bool test_group_r(struct torture_ |
| struct group *grp, grp1, grp2; |
| size_t num_grp; |
| |
| - torture_assert(tctx, test_enum_r_group(tctx, &grp, &num_grp), |
| + torture_assert(tctx, test_enum_group(tctx, &grp, &num_grp), |
| "failed to enumerate group"); |
| |
| for (i=0; i < num_grp; i++) { |
| @@ -663,7 +666,7 @@ static bool test_group_r_cross(struct to |
| struct group *grp, grp1, grp2, grp3, grp4; |
| size_t num_grp; |
| |
| - torture_assert(tctx, test_enum_r_group(tctx, &grp, &num_grp), |
| + torture_assert(tctx, test_enum_group(tctx, &grp, &num_grp), |
| "failed to enumerate group"); |
| |
| for (i=0; i < num_grp; i++) { |