mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 15:38:40 +01:00
samba4: update to 4.11.4
* update to 4.11.4 (python3 version) * re-enable AD-DC option * add 'samba_nice' UCI option via "config procd 'extra'" * restructure buildsteps (don't rely on waf --targets logic) * move quota option into VFS * move ACL option into AC-DC * add more admin-tools * use rpath_install for libs * fix rpath + rstrip Signed-off-by: Andy Walsh <andy.walsh44+github@gmail.com>
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
diff --git a/source4/torture/local/nss_tests.c b/source4/torture/local/nss_tests.c
|
||||
index 2cd6122..04f13c6 100644
|
||||
--- a/source4/torture/local/nss_tests.c
|
||||
+++ b/source4/torture/local/nss_tests.c
|
||||
@@ -247,7 +247,6 @@ static bool test_getgrnam_r(struct torture_context *tctx,
|
||||
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 torture_context *tctx,
|
||||
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 torture_context *tctx,
|
||||
|
||||
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_context *tctx)
|
||||
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 torture_context *tctx)
|
||||
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 torture_context *tctx,
|
||||
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 torture_context *tctx,
|
||||
|
||||
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_context *tctx)
|
||||
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 torture_context *tctx)
|
||||
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++) {
|
||||
@@ -0,0 +1,38 @@
|
||||
diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h
|
||||
index b5d79b9..3f4eae0 100644
|
||||
--- a/lib/param/loadparm.h
|
||||
+++ b/lib/param/loadparm.h
|
||||
@@ -31,6 +31,7 @@
|
||||
#define _LOADPARM_H
|
||||
|
||||
#include <talloc.h>
|
||||
+#include <time.h>
|
||||
|
||||
struct parmlist_entry {
|
||||
struct parmlist_entry *prev, *next;
|
||||
diff --git a/source3/lib/system_smbd.c b/source3/lib/system_smbd.c
|
||||
index 3b1ac9c..4044d75 100644
|
||||
--- a/source3/lib/system_smbd.c
|
||||
+++ b/source3/lib/system_smbd.c
|
||||
@@ -27,6 +27,8 @@
|
||||
#include "system/passwd.h"
|
||||
#include "nsswitch/winbind_client.h"
|
||||
#include "../lib/util/setid.h"
|
||||
+#include <grp.h>
|
||||
+#include <uuid/uuid.h>
|
||||
|
||||
#ifndef HAVE_GETGROUPLIST
|
||||
|
||||
diff --git a/source4/torture/local/nss_tests.c b/source4/torture/local/nss_tests.c
|
||||
index 2cd6122..0c84ec2 100644
|
||||
--- a/source4/torture/local/nss_tests.c
|
||||
+++ b/source4/torture/local/nss_tests.c
|
||||
@@ -20,6 +20,8 @@
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
+#include <grp.h>
|
||||
+#include <uuid/uuid.h>
|
||||
|
||||
#include "torture/torture.h"
|
||||
#include "torture/local/proto.h"
|
||||
@@ -0,0 +1,19 @@
|
||||
diff --git a/nsswitch/wins.c b/nsswitch/wins.c
|
||||
index dccb6dd..bb24acb 100644
|
||||
--- a/nsswitch/wins.c
|
||||
+++ b/nsswitch/wins.c
|
||||
@@ -39,6 +39,14 @@ static pthread_mutex_t wins_nss_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||
#define INADDRSZ 4
|
||||
#endif
|
||||
|
||||
+#ifndef NETDB_INTERNAL
|
||||
+#define NETDB_INTERNAL -1
|
||||
+#endif
|
||||
+
|
||||
+#ifndef NETDB_SUCCESS
|
||||
+#define NETDB_SUCCESS 0
|
||||
+#endif
|
||||
+
|
||||
NSS_STATUS _nss_wins_gethostbyname_r(const char *hostname,
|
||||
struct hostent *he,
|
||||
char *buffer,
|
||||
@@ -0,0 +1,14 @@
|
||||
--- a/source4/dsdb/samdb/ldb_modules/count_attrs.c
|
||||
+++ b/source4/dsdb/samdb/ldb_modules/count_attrs.c
|
||||
@@ -38,6 +38,11 @@
|
||||
#define NULL_REQ_PSEUDO_N -2LL;
|
||||
#define STAR_REQ_PSEUDO_N -4LL;
|
||||
|
||||
+#ifndef __COMPAR_FN_T
|
||||
+#define __COMPAR_FN_T
|
||||
+typedef int (*__compar_fn_t)(const void *, const void *);
|
||||
+#endif
|
||||
+
|
||||
struct count_attrs_private {
|
||||
struct tdb_wrap *requested;
|
||||
struct tdb_wrap *duplicates;
|
||||
@@ -0,0 +1,22 @@
|
||||
diff --git a/source4/dsdb/samdb/ldb_modules/count_attrs.c b/source4/dsdb/samdb/ldb_modules/count_attrs.c
|
||||
index b0d1b22..29f1b94 100644
|
||||
--- a/source4/dsdb/samdb/ldb_modules/count_attrs.c
|
||||
+++ b/source4/dsdb/samdb/ldb_modules/count_attrs.c
|
||||
@@ -222,7 +222,7 @@ static const char **get_sorted_attrs(TALLOC_CTX *mem_ctx,
|
||||
attrs[i] = a;
|
||||
}
|
||||
|
||||
- qsort(attrs, n_attrs, sizeof(char *), (__compar_fn_t)strcasecmp_ptr);
|
||||
+ qsort(attrs, n_attrs, sizeof(char *), (int (*)(const void *, const void *))strcasecmp_ptr);
|
||||
return attrs;
|
||||
}
|
||||
|
||||
@@ -313,7 +313,7 @@ static int count_attrs_search_callback(struct ldb_request *req,
|
||||
}
|
||||
|
||||
qsort(found_attrs, msg->num_elements, sizeof(char *),
|
||||
- (__compar_fn_t)strcasecmp_ptr);
|
||||
+ (int (*)(const void *, const void *))strcasecmp_ptr);
|
||||
|
||||
|
||||
/* find and report duplicates */
|
||||
@@ -0,0 +1,40 @@
|
||||
--- a/wscript_configure_embedded_heimdal 2019-12-17
|
||||
+++ b/wscript_configure_embedded_heimdal 2019-12-17
|
||||
@@ -1 +1,12 @@
|
||||
conf.RECURSE('source4/heimdal_build')
|
||||
+
|
||||
+def check_system_heimdal_binary(name):
|
||||
+ if conf.LIB_MAY_BE_BUNDLED(name):
|
||||
+ return False
|
||||
+ if not conf.find_program(name, var=name.upper()):
|
||||
+ return False
|
||||
+ conf.define('USING_SYSTEM_%s' % name.upper(), 1)
|
||||
+ return True
|
||||
+
|
||||
+check_system_heimdal_binary("compile_et")
|
||||
+check_system_heimdal_binary("asn1_compile")
|
||||
--- a/wscript_configure_system_heimdal 2019-12-17
|
||||
+++ b/wscript_configure_system_heimdal 2019-12-17
|
||||
@@ -37,14 +37,6 @@ def check_system_heimdal_lib(name, funct
|
||||
conf.define('USING_SYSTEM_%s' % name.upper(), 1)
|
||||
return True
|
||||
|
||||
-def check_system_heimdal_binary(name):
|
||||
- if conf.LIB_MAY_BE_BUNDLED(name):
|
||||
- return False
|
||||
- if not conf.find_program(name, var=name.upper()):
|
||||
- return False
|
||||
- conf.define('USING_SYSTEM_%s' % name.upper(), 1)
|
||||
- return True
|
||||
-
|
||||
check_system_heimdal_lib("com_err", "com_right_r com_err", "com_err.h")
|
||||
|
||||
if check_system_heimdal_lib("roken", "rk_socket_set_reuseaddr", "roken.h"):
|
||||
@@ -96,7 +88,4 @@ finally:
|
||||
#if conf.CHECK_BUNDLED_SYSTEM('tommath', checkfunctions='mp_init', headers='tommath.h'):
|
||||
# conf.define('USING_SYSTEM_TOMMATH', 1)
|
||||
|
||||
-check_system_heimdal_binary("compile_et")
|
||||
-check_system_heimdal_binary("asn1_compile")
|
||||
-
|
||||
conf.define('USING_SYSTEM_KRB5', 1)
|
||||
@@ -1,11 +0,0 @@
|
||||
--- a/source4/heimdal_build/wscript_configure 2019-12-03
|
||||
+++ b/source4/heimdal_build/wscript_configure 2019-12-03
|
||||
@@ -199,7 +199,7 @@ def check_system_heimdal_lib(name, funct
|
||||
def check_system_heimdal_binary(name):
|
||||
if conf.LIB_MAY_BE_BUNDLED(name):
|
||||
return False
|
||||
- if not conf.find_program(name, var=name.upper()):
|
||||
+ if not conf.find_program(name + '_samba', var=name.upper()):
|
||||
return False
|
||||
conf.define('USING_SYSTEM_%s' % name.upper(), 1)
|
||||
return True
|
||||
+2
-2
@@ -5,7 +5,7 @@
|
||||
}
|
||||
|
||||
- priv_path = private_path("msg.sock");
|
||||
+ priv_path = lock_path("msg.sock");
|
||||
+ priv_path = lock_path(talloc_tos(), "msg.sock");
|
||||
if (priv_path == NULL) {
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
msg_ctx->msg_dgm_ref = messaging_dgm_ref(
|
||||
msg_ctx, msg_ctx->event_ctx, &msg_ctx->id.unique_id,
|
||||
- private_path("msg.sock"), lck_path,
|
||||
+ lock_path("msg.sock"), lck_path,
|
||||
+ lock_path(talloc_tos(), "msg.sock"), lck_path,
|
||||
messaging_recv_cb, msg_ctx, &ret);
|
||||
|
||||
if (msg_ctx->msg_dgm_ref == NULL) {
|
||||
+2
-20
@@ -1,22 +1,3 @@
|
||||
--- a/lib/crypto/wscript_configure
|
||||
+++ b/lib/crypto/wscript_configure
|
||||
@@ -2,11 +2,11 @@
|
||||
import Options
|
||||
import Utils
|
||||
|
||||
-if not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h',
|
||||
- checklibc=True):
|
||||
- conf.CHECK_FUNCS_IN('MD5Init', 'md5', headers='sys/md5.h',
|
||||
- checklibc=True)
|
||||
- conf.CHECK_FUNCS_IN('MD5Init', 'md', headers='sys/md5.h',
|
||||
+# if not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h',
|
||||
+ # checklibc=True):
|
||||
+conf.CHECK_FUNCS_IN('MD5Init', 'md5', headers='sys/md5.h',
|
||||
+ checklibc=True)
|
||||
+conf.CHECK_FUNCS_IN('MD5Init', 'md', headers='sys/md5.h',
|
||||
checklibc=True)
|
||||
conf.CHECK_FUNCS_IN('CC_MD5_Init', '', headers='CommonCrypto/CommonDigest.h',
|
||||
checklibc=True)
|
||||
--- a/lib/replace/wscript
|
||||
+++ b/lib/replace/wscript
|
||||
@@ -340,22 +340,13 @@ def configure(conf):
|
||||
@@ -72,6 +53,7 @@
|
||||
|
||||
extra_libs = ''
|
||||
- if bld.CONFIG_SET('HAVE_LIBBSD'): extra_libs += ' bsd'
|
||||
|
||||
if bld.CONFIG_SET('HAVE_LIBRT'): extra_libs += ' rt'
|
||||
|
||||
bld.SAMBA_SUBSYSTEM('LIBREPLACE_HOSTCC',
|
||||
REPLACE_HOSTCC_SOURCE,
|
||||
Reference in New Issue
Block a user