The branch, master has been updated
via 02729863 selftest: Remove unsued variables WINBINDD_PRIV_PIPE_DIR
and wbsockprivdir
via bd8d955 param: Remove winbindd privileged socket directory option
via a551d38 lib/util: Avoid a talloc in ms_fnmatch_protocol
via b4ed72a s3/lib: Use ms_fnmatch_protocol in mask_match
via f969be5 lib: Add "is_case_sensitive" to ms_fnmatch_protocol
via 07d9a90 lib/util/charset: Optimize next_codepoint for the ascii case
via 66cba99 s3/locking: Avoid a talloc for nonexisting
fetch_share_mode_unlocked
via 27daed8 smbd: Streamline get_ea_names_from_file
via f827650 smbd: Fix an indentation
via c687924 smbd: Fix a few signed/unsigned hickups
via 1395823 lib: Avoid a "includes.h"
via 6faf30b smbd: Fix a typo
via 9bed3e3 lib: Avoid an includes.h
via 9af73f6 lib: Add lib/util/server_id.h
from 5059c8e vfs_default: unlock the right file in copy chunk
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 0272986377aecf06f00b7730379fd32b7066dc91
Author: Andrew Bartlett <[email protected]>
Date: Wed Jan 4 07:58:15 2017 +1300
selftest: Remove unsued variables WINBINDD_PRIV_PIPE_DIR and wbsockprivdir
I can not find anything that uses these in the testsuite
Signed-off-by: Andrew Bartlett <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
Autobuild-User(master): Ralph Böhme <[email protected]>
Autobuild-Date(master): Sun Jan 22 22:15:01 CET 2017 on sn-devel-144
commit bd8d9559bf8e6cdbf080902bc2460dbc12848054
Author: Andrew Bartlett <[email protected]>
Date: Tue Jan 3 20:46:59 2017 +1300
param: Remove winbindd privileged socket directory option
This option is unused and has not been used since before Samba 4.3
when the source4/ winbindd code went away.
The associated dynconfig parameters used for the default are also removed.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=10066
Signed-off-by: Andrew Bartlett <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
commit a551d3826d885f22eed33aac56df697f32f854d4
Author: Volker Lendecke <[email protected]>
Date: Tue Oct 25 12:46:00 2016 +0200
lib/util: Avoid a talloc in ms_fnmatch_protocol
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
commit b4ed72a2d3b08128ee03202512914cfbe21b6c91
Author: Volker Lendecke <[email protected]>
Date: Tue Oct 25 12:28:44 2016 +0200
s3/lib: Use ms_fnmatch_protocol in mask_match
This avoids the talloc/free through push_ucs2_talloc
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
commit f969be54417a0d4d2bab0f854ce1c9f9d4639711
Author: Volker Lendecke <[email protected]>
Date: Tue Oct 25 11:53:53 2016 +0200
lib: Add "is_case_sensitive" to ms_fnmatch_protocol
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
commit 07d9a909ba6853fb0b96f6d86e4cf0d5d1b35b28
Author: Volker Lendecke <[email protected]>
Date: Tue Oct 25 12:28:12 2016 +0200
lib/util/charset: Optimize next_codepoint for the ascii case
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
commit 66cba9939b76fbfad91a6fe7156feb898b51b2ad
Author: Volker Lendecke <[email protected]>
Date: Mon Oct 24 17:32:17 2016 +0200
s3/locking: Avoid a talloc for nonexisting fetch_share_mode_unlocked
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
commit 27daed8fcf95eed2df112dc1c30c3a40b5c9565b
Author: Volker Lendecke <[email protected]>
Date: Thu Oct 20 16:33:55 2016 +0200
smbd: Streamline get_ea_names_from_file
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
commit f827650c65e36526abe9d87a52966fec5be1a2dd
Author: Volker Lendecke <[email protected]>
Date: Wed Oct 26 12:20:39 2016 +0200
smbd: Fix an indentation
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
commit c687924eed221b800bb29a7a3e00393b0e7876a4
Author: Volker Lendecke <[email protected]>
Date: Wed Oct 26 12:56:53 2016 +0200
smbd: Fix a few signed/unsigned hickups
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
commit 13958236a983531fc04a7143daf32b11745f813f
Author: Volker Lendecke <[email protected]>
Date: Tue Oct 25 15:42:28 2016 +0200
lib: Avoid a "includes.h"
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
commit 6faf30b31cc7394360a6d3dafbf6a1f16842f6ad
Author: Volker Lendecke <[email protected]>
Date: Thu Oct 20 16:48:12 2016 +0200
smbd: Fix a typo
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
commit 9bed3e3043a8a96c69669a6733c86ba63037a022
Author: Volker Lendecke <[email protected]>
Date: Sun Jan 1 20:05:12 2017 +0000
lib: Avoid an includes.h
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
commit 9af73f62ce87cb5d1e050a58a581dee3d790d848
Author: Volker Lendecke <[email protected]>
Date: Sun Jan 1 20:00:55 2017 +0000
lib: Add lib/util/server_id.h
Signed-off-by: Volker Lendecke <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
-----------------------------------------------------------------------
Summary of changes:
docs-xml/smbdotconf/generate-file-list.sh | 1 -
.../winbind/winbinddprivilegedsocketdirectory.xml | 14 ----
.../smbdotconf/winbind/winbinddsocketdirectory.xml | 2 -
dynconfig/dynconfig.c | 1 -
dynconfig/dynconfig.h | 1 -
dynconfig/wscript | 5 --
lib/param/loadparm.c | 1 -
lib/util/charset/codepoints.c | 4 +
lib/util/debug_s3.c | 1 +
lib/util/ms_fnmatch.c | 39 +++++----
lib/util/samba_util.h | 33 +-------
lib/util/server_id.c | 6 +-
lib/util/server_id.h | 56 +++++++++++++
lib/util/server_id_db.c | 1 +
selftest/selftest.pl | 1 -
selftest/target/Samba3.pm | 2 -
selftest/target/Samba4.pm | 2 -
source3/lib/dbwrap/dbwrap_watch.c | 1 +
source3/lib/g_lock.c | 1 +
source3/lib/messages.c | 1 +
source3/lib/messages_ctdbd.c | 1 +
source3/lib/messages_util.c | 1 +
source3/lib/ms_fnmatch.c | 2 +-
source3/lib/server_id_db_util.c | 1 +
source3/lib/serverid.c | 1 +
source3/lib/tevent_barrier.c | 2 +-
source3/lib/util.c | 3 +-
source3/locking/brlock.c | 1 +
source3/locking/locking.c | 1 +
source3/locking/posix.c | 1 +
source3/locking/share_mode_lock.c | 33 ++++----
source3/param/loadparm.c | 4 -
source3/rpc_server/srvsvc/srv_srvsvc_nt.c | 1 +
source3/smbd/close.c | 1 +
source3/smbd/durable.c | 1 +
source3/smbd/notify_msg.c | 1 +
source3/smbd/notifyd/notifyd.c | 1 +
source3/smbd/open.c | 1 +
source3/smbd/oplock.c | 1 +
source3/smbd/posix_acls.c | 18 ++--
source3/smbd/scavenger.c | 2 +-
source3/smbd/server.c | 1 +
source3/smbd/sesssetup.c | 1 +
source3/smbd/smbXsrv_client.c | 1 +
source3/smbd/smbXsrv_open.c | 1 +
source3/smbd/smbXsrv_session.c | 1 +
source3/smbd/smbXsrv_tcon.c | 1 +
source3/smbd/trans2.c | 96 ++++++++++++----------
source3/torture/msg_sink.c | 1 +
source3/torture/msg_source.c | 1 +
source3/utils/net_g_lock.c | 1 +
source3/utils/net_notify.c | 1 +
source3/utils/net_serverid.c | 1 +
source3/utils/net_status.c | 1 +
source3/utils/smbcontrol.c | 1 +
source3/utils/status.c | 1 +
source4/client/client.c | 8 +-
source4/dsdb/samdb/ldb_modules/ridalloc.c | 1 +
source4/lib/messaging/messaging.c | 1 +
source4/ntvfs/cifs_posix_cli/svfs_util.c | 3 +-
source4/ntvfs/posix/pvfs_dirlist.c | 12 ++-
source4/ntvfs/simple/svfs_util.c | 3 +-
source4/scripting/devel/config_base | 1 -
source4/smb_server/smb/receive.c | 1 +
source4/smbd/server.c | 1 -
source4/smbd/service_stream.c | 1 +
source4/torture/masktest.c | 3 +-
67 files changed, 233 insertions(+), 163 deletions(-)
delete mode 100644
docs-xml/smbdotconf/winbind/winbinddprivilegedsocketdirectory.xml
create mode 100644 lib/util/server_id.h
Changeset truncated at 500 lines:
diff --git a/docs-xml/smbdotconf/generate-file-list.sh
b/docs-xml/smbdotconf/generate-file-list.sh
index 6125908..9cfcd42 100755
--- a/docs-xml/smbdotconf/generate-file-list.sh
+++ b/docs-xml/smbdotconf/generate-file-list.sh
@@ -13,7 +13,6 @@ echo "<!DOCTYPE section [
<!ENTITY pathconfig.PRIVATE_DIR '\${prefix}/private'>
<!ENTITY pathconfig.SMB_PASSWD_FILE '\${prefix}/private/smbpasswd'>
<!ENTITY pathconfig.WINBINDD_SOCKET_DIR '\${prefix}/var/run/winbindd'>
-<!ENTITY pathconfig.WINBINDD_PRIVILEGED_SOCKET_DIR
'\${prefix}/var/lib/winbindd_privileged'>
<!ENTITY pathconfig.CACHEDIR '\${prefix}/var/cache'>
<!ENTITY pathconfig.NTP_SIGND_SOCKET_DIR '\${prefix}/var/lib/ntp_signd'>
]>"
diff --git a/docs-xml/smbdotconf/winbind/winbinddprivilegedsocketdirectory.xml
b/docs-xml/smbdotconf/winbind/winbinddprivilegedsocketdirectory.xml
deleted file mode 100644
index e8be177..0000000
--- a/docs-xml/smbdotconf/winbind/winbinddprivilegedsocketdirectory.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<samba:parameter name="winbindd privileged socket directory"
- context="G"
- type="string"
- constant="1"
- xmlns:samba="http://www.samba.org/samba/DTD/samba-doc">
-<description>
- <para>This setting controls the location of the winbind daemon's
privileged
- socket.</para>
-</description>
-
-<related>winbindd socket directory</related>
-
-<value type="default">&pathconfig.WINBINDD_PRIVILEGED_SOCKET_DIR;</value>
-</samba:parameter>
diff --git a/docs-xml/smbdotconf/winbind/winbinddsocketdirectory.xml
b/docs-xml/smbdotconf/winbind/winbinddsocketdirectory.xml
index 9b20fbe..e88cc2a 100644
--- a/docs-xml/smbdotconf/winbind/winbinddsocketdirectory.xml
+++ b/docs-xml/smbdotconf/winbind/winbinddsocketdirectory.xml
@@ -12,7 +12,5 @@
varaible.</para>
</description>
-<related>winbindd privileged socket directory</related>
-
<value type="default">&pathconfig.WINBINDD_SOCKET_DIR;</value>
</samba:parameter>
diff --git a/dynconfig/dynconfig.c b/dynconfig/dynconfig.c
index 9614152..e75d7db 100644
--- a/dynconfig/dynconfig.c
+++ b/dynconfig/dynconfig.c
@@ -100,7 +100,6 @@ DEFINE_DYN_CONFIG_PARAM(NMBDSOCKETDIR)
DEFINE_DYN_CONFIG_PARAM(DATADIR)
DEFINE_DYN_CONFIG_PARAM(SETUPDIR)
DEFINE_DYN_CONFIG_PARAM(WINBINDD_SOCKET_DIR) /* from winbind_struct_protocol.h
in s3 autoconf */
-DEFINE_DYN_CONFIG_PARAM(WINBINDD_PRIVILEGED_SOCKET_DIR)
DEFINE_DYN_CONFIG_PARAM(NTP_SIGND_SOCKET_DIR)
DEFINE_DYN_CONFIG_PARAM(PYTHONDIR)
DEFINE_DYN_CONFIG_PARAM(PYTHONARCHDIR)
diff --git a/dynconfig/dynconfig.h b/dynconfig/dynconfig.h
index 2a45f1f..4d07c10 100644
--- a/dynconfig/dynconfig.h
+++ b/dynconfig/dynconfig.h
@@ -51,7 +51,6 @@ DEFINE_DYN_CONFIG_PROTO(NMBDSOCKETDIR)
DEFINE_DYN_CONFIG_PROTO(DATADIR)
DEFINE_DYN_CONFIG_PROTO(SETUPDIR)
DEFINE_DYN_CONFIG_PROTO(WINBINDD_SOCKET_DIR)
-DEFINE_DYN_CONFIG_PROTO(WINBINDD_PRIVILEGED_SOCKET_DIR)
DEFINE_DYN_CONFIG_PROTO(NTP_SIGND_SOCKET_DIR)
DEFINE_DYN_CONFIG_PROTO(PYTHONDIR)
DEFINE_DYN_CONFIG_PROTO(PYTHONARCHDIR)
diff --git a/dynconfig/wscript b/dynconfig/wscript
index 2d17e7c..4eaa4c0 100644
--- a/dynconfig/wscript
+++ b/dynconfig/wscript
@@ -221,11 +221,6 @@ dynconfig = {
'FHS-PATH': '${SOCKET_DIR}/winbindd',
'DELAY': True,
},
- 'WINBINDD_PRIVILEGED_SOCKET_DIR' : {
- 'STD-PATH': '${PRIVILEGED_SOCKET_DIR}/winbindd_privileged',
- 'FHS-PATH': '${PRIVILEGED_SOCKET_DIR}/winbindd_privileged',
- 'DELAY': True,
- },
'NMBDSOCKETDIR' : {
'STD-PATH': '${SOCKET_DIR}/nmbd',
'FHS-PATH': '${SOCKET_DIR}/nmbd',
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c
index 6aa757f..a056101 100644
--- a/lib/param/loadparm.c
+++ b/lib/param/loadparm.c
@@ -2648,7 +2648,6 @@ struct loadparm_context *loadparm_init(TALLOC_CTX
*mem_ctx)
lpcfg_do_global_parameter(lp_ctx, "winbind sealed pipes", "True");
lpcfg_do_global_parameter(lp_ctx, "require strong key", "True");
lpcfg_do_global_parameter(lp_ctx, "winbindd socket directory",
dyn_WINBINDD_SOCKET_DIR);
- lpcfg_do_global_parameter(lp_ctx, "winbindd privileged socket
directory", dyn_WINBINDD_PRIVILEGED_SOCKET_DIR);
lpcfg_do_global_parameter(lp_ctx, "ntp signd socket directory",
dyn_NTP_SIGND_SOCKET_DIR);
lpcfg_do_global_parameter_var(lp_ctx, "dns update command",
"%s/samba_dnsupdate", dyn_SCRIPTSBINDIR);
lpcfg_do_global_parameter_var(lp_ctx, "spn update command",
"%s/samba_spnupdate", dyn_SCRIPTSBINDIR);
diff --git a/lib/util/charset/codepoints.c b/lib/util/charset/codepoints.c
index 3d444a6..2c9a9c4 100644
--- a/lib/util/charset/codepoints.c
+++ b/lib/util/charset/codepoints.c
@@ -16817,6 +16817,10 @@ _PUBLIC_ codepoint_t next_codepoint_ext(const char
*str, size_t len,
_PUBLIC_ codepoint_t next_codepoint(const char *str, size_t *size)
{
+ if ((str[0] & 0x80) == 0) {
+ *size = 1;
+ return str[0];
+ }
return next_codepoint_handle(get_iconv_handle(), str, size);
}
diff --git a/lib/util/debug_s3.c b/lib/util/debug_s3.c
index b05d422..99ba2e7 100644
--- a/lib/util/debug_s3.c
+++ b/lib/util/debug_s3.c
@@ -19,6 +19,7 @@
*/
#include "includes.h"
+#include "lib/util/server_id.h"
#include "librpc/gen_ndr/messaging.h"
#include "messages.h"
#include "lib/util/memory.h"
diff --git a/lib/util/ms_fnmatch.c b/lib/util/ms_fnmatch.c
index ede9eff..c0f61ab 100644
--- a/lib/util/ms_fnmatch.c
+++ b/lib/util/ms_fnmatch.c
@@ -59,7 +59,8 @@ struct max_n {
not contain a '.', otherwise it points at the last dot in 'n'.
*/
static int ms_fnmatch_core(const char *p, const char *n,
- struct max_n *max_n, const char *ldot)
+ struct max_n *max_n, const char *ldot,
+ bool is_case_sensitive)
{
codepoint_t c, c2;
int i;
@@ -76,7 +77,7 @@ static int ms_fnmatch_core(const char *p, const char *n,
}
for (i=0; n[i]; i += size_n) {
next_codepoint(n+i, &size_n);
- if (ms_fnmatch_core(p, n+i, max_n+1, ldot) ==
0) {
+ if (ms_fnmatch_core(p, n+i, max_n+1, ldot,
is_case_sensitive) == 0) {
return 0;
}
}
@@ -95,9 +96,9 @@ static int ms_fnmatch_core(const char *p, const char *n,
}
for (i=0; n[i]; i += size_n) {
next_codepoint(n+i, &size_n);
- if (ms_fnmatch_core(p, n+i, max_n+1, ldot) ==
0) return 0;
+ if (ms_fnmatch_core(p, n+i, max_n+1, ldot,
is_case_sensitive) == 0) return 0;
if (n+i == ldot) {
- if (ms_fnmatch_core(p, n+i+size_n,
max_n+1, ldot) == 0) return 0;
+ if (ms_fnmatch_core(p, n+i+size_n,
max_n+1, ldot, is_case_sensitive) == 0) return 0;
if (!max_n->postdot || max_n->postdot >
n) max_n->postdot = n;
return -1;
}
@@ -140,8 +141,13 @@ static int ms_fnmatch_core(const char *p, const char *n,
default:
c2 = next_codepoint(n, &size_n);
- if (c != c2 && codepoint_cmpi(c, c2) != 0) {
- return -1;
+ if (c != c2) {
+ if (is_case_sensitive) {
+ return -1;
+ }
+ if (codepoint_cmpi(c, c2) != 0) {
+ return -1;
+ }
}
n += size_n;
break;
@@ -155,10 +161,10 @@ static int ms_fnmatch_core(const char *p, const char *n,
return -1;
}
-int ms_fnmatch_protocol(const char *pattern, const char *string, int protocol)
+int ms_fnmatch_protocol(const char *pattern, const char *string, int protocol,
+ bool is_case_sensitive)
{
int ret, count, i;
- struct max_n *max_n = NULL;
if (strcmp(string, "..") == 0) {
string = ".";
@@ -193,7 +199,8 @@ int ms_fnmatch_protocol(const char *pattern, const char
*string, int protocol)
p[i] = '<';
}
}
- ret = ms_fnmatch_protocol(p, string, PROTOCOL_NT1);
+ ret = ms_fnmatch_protocol(p, string, PROTOCOL_NT1,
+ is_case_sensitive);
talloc_free(p);
return ret;
}
@@ -202,14 +209,14 @@ int ms_fnmatch_protocol(const char *pattern, const char
*string, int protocol)
if (pattern[i] == '*' || pattern[i] == '<') count++;
}
- max_n = talloc_zero_array(NULL, struct max_n, count);
- if (max_n == NULL) {
- return -1;
- }
+ {
+ struct max_n max_n[count];
- ret = ms_fnmatch_core(pattern, string, max_n, strrchr(string, '.'));
+ memset(max_n, 0, sizeof(struct max_n) * count);
- talloc_free(max_n);
+ ret = ms_fnmatch_core(pattern, string, max_n, strrchr(string,
'.'),
+ is_case_sensitive);
+ }
return ret;
}
@@ -218,5 +225,5 @@ int ms_fnmatch_protocol(const char *pattern, const char
*string, int protocol)
/** a generic fnmatch function - uses for non-CIFS pattern matching */
int gen_fnmatch(const char *pattern, const char *string)
{
- return ms_fnmatch_protocol(pattern, string, PROTOCOL_NT1);
+ return ms_fnmatch_protocol(pattern, string, PROTOCOL_NT1, false);
}
diff --git a/lib/util/samba_util.h b/lib/util/samba_util.h
index c19e246..aad44dc 100644
--- a/lib/util/samba_util.h
+++ b/lib/util/samba_util.h
@@ -526,7 +526,8 @@ _PUBLIC_ int sys_fsusage(const char *path, uint64_t *dfree,
uint64_t *dsize);
* @brief MS-style Filename matching
*/
-int ms_fnmatch_protocol(const char *pattern, const char *string, int protocol);
+int ms_fnmatch_protocol(const char *pattern, const char *string, int protocol,
+ bool is_case_sensitive);
/** a generic fnmatch function - uses for non-CIFS pattern matching */
int gen_fnmatch(const char *pattern, const char *string);
@@ -688,36 +689,6 @@ char *data_path(TALLOC_CTX *mem_ctx, const char *name);
**/
const char *shlib_ext(void);
-struct server_id;
-
-struct server_id_buf { char buf[48]; }; /* probably a bit too large ... */
-char *server_id_str_buf(struct server_id id, struct server_id_buf *dst);
-size_t server_id_str_buf_unique(struct server_id id, char *buf, size_t buflen);
-
-bool server_id_same_process(const struct server_id *p1,
- const struct server_id *p2);
-bool server_id_equal(const struct server_id *p1, const struct server_id *p2);
-struct server_id server_id_from_string(uint32_t local_vnn,
- const char *pid_string);
-
-/**
- * Set the serverid to the special value that represents a disconnected
- * client for (e.g.) durable handles.
- */
-void server_id_set_disconnected(struct server_id *id);
-
-/**
- * check whether a serverid is the special placeholder for
- * a disconnected client
- */
-bool server_id_is_disconnected(const struct server_id *id);
-
-#define SERVER_ID_BUF_LENGTH 24
-void server_id_put(uint8_t buf[SERVER_ID_BUF_LENGTH],
- const struct server_id id);
-void server_id_get(struct server_id *id,
- const uint8_t buf[SERVER_ID_BUF_LENGTH]);
-
/*
* Samba code should use samba_tevent_context_init() instead of
* tevent_context_init() in order to get the debug output.
diff --git a/lib/util/server_id.c b/lib/util/server_id.c
index 77c5ee1..2904e80 100644
--- a/lib/util/server_id.c
+++ b/lib/util/server_id.c
@@ -17,7 +17,11 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "includes.h"
+#include "replace.h"
+#include "lib/util/debug.h"
+#include "lib/util/fault.h"
+#include "lib/util/server_id.h"
+#include "lib/util/byteorder.h"
#include "librpc/gen_ndr/server_id.h"
bool server_id_same_process(const struct server_id *p1,
diff --git a/lib/util/server_id.h b/lib/util/server_id.h
new file mode 100644
index 0000000..6dda86c
--- /dev/null
+++ b/lib/util/server_id.h
@@ -0,0 +1,56 @@
+/*
+ Unix SMB/CIFS implementation.
+ Samba utility functions
+ Copyright (C) Andrew Bartlett 2011
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef __LIB_UTIL_SERVER_ID_H__
+#define __LIB_UTIL_SERVER_ID_H__
+
+#include "replace.h"
+
+struct server_id;
+
+struct server_id_buf { char buf[48]; }; /* probably a bit too large ... */
+
+bool server_id_same_process(const struct server_id *p1,
+ const struct server_id *p2);
+bool server_id_equal(const struct server_id *p1, const struct server_id *p2);
+char *server_id_str_buf(struct server_id id, struct server_id_buf *dst);
+size_t server_id_str_buf_unique(struct server_id id, char *buf, size_t buflen);
+
+struct server_id server_id_from_string(uint32_t local_vnn,
+ const char *pid_string);
+
+/**
+ * Set the serverid to the special value that represents a disconnected
+ * client for (e.g.) durable handles.
+ */
+void server_id_set_disconnected(struct server_id *id);
+
+/**
+ * check whether a serverid is the special placeholder for
+ * a disconnected client
+ */
+bool server_id_is_disconnected(const struct server_id *id);
+
+#define SERVER_ID_BUF_LENGTH 24
+void server_id_put(uint8_t buf[SERVER_ID_BUF_LENGTH],
+ const struct server_id id);
+void server_id_get(struct server_id *id,
+ const uint8_t buf[SERVER_ID_BUF_LENGTH]);
+
+#endif
diff --git a/lib/util/server_id_db.c b/lib/util/server_id_db.c
index 1e65ce2..e0b8476 100644
--- a/lib/util/server_id_db.c
+++ b/lib/util/server_id_db.c
@@ -19,6 +19,7 @@
#include "replace.h"
#include "system/filesys.h"
+#include "lib/util/server_id.h"
#include "lib/util/server_id_db.h"
#include "lib/tdb_wrap/tdb_wrap.h"
#include "lib/util/strv.h"
diff --git a/selftest/selftest.pl b/selftest/selftest.pl
index e1c3429..14ac58f 100755
--- a/selftest/selftest.pl
+++ b/selftest/selftest.pl
@@ -839,7 +839,6 @@ my @exported_envvars = (
"KRB5_CONFIG",
"KRB5CCNAME",
"SELFTEST_WINBINDD_SOCKET_DIR",
- "WINBINDD_PRIV_PIPE_DIR",
"NMBD_SOCKET_DIR",
"LOCAL_PATH",
"DNS_FORWARDER1",
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index 1d77c97..1ae270a 100755
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -1239,7 +1239,6 @@ sub provision($$$$$$$$)
# this gets autocreated by winbindd
my $wbsockdir="$prefix_abs/winbindd";
- my $wbsockprivdir="$lockdir/winbindd_privileged";
my $nmbdsockdir="$prefix_abs/nmbd";
unlink($nmbdsockdir);
@@ -1963,7 +1962,6 @@ force_user:x:$gid_force_user:
$ret{PASSWORD} = $password;
$ret{PIDDIR} = $piddir;
$ret{SELFTEST_WINBINDD_SOCKET_DIR} = $wbsockdir;
- $ret{WINBINDD_PRIV_PIPE_DIR} = $wbsockprivdir;
$ret{NMBD_SOCKET_DIR} = $nmbdsockdir;
$ret{SOCKET_WRAPPER_DEFAULT_IFACE} = $swiface;
$ret{NSS_WRAPPER_PASSWD} = $nss_wrapper_passwd;
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index 8855135..dacdab4 100755
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -442,7 +442,6 @@ sub provision_raw_prepare($$$$$$$$$$$)
$ctx->{statedir} = "$prefix_abs/statedir";
$ctx->{cachedir} = "$prefix_abs/cachedir";
$ctx->{winbindd_socket_dir} = "$prefix_abs/winbindd_socket";
- $ctx->{winbindd_privileged_socket_dir} =
"$prefix_abs/winbindd_privileged_socket";
$ctx->{ntp_signd_socket_dir} = "$prefix_abs/ntp_signd_socket";
$ctx->{nsswrap_passwd} = "$ctx->{etcdir}/passwd";
$ctx->{nsswrap_group} = "$ctx->{etcdir}/group";
@@ -560,7 +559,6 @@ sub provision_raw_step1($$)
state directory = $ctx->{statedir}
cache directory = $ctx->{cachedir}
winbindd socket directory = $ctx->{winbindd_socket_dir}
- winbindd privileged socket directory =
$ctx->{winbindd_privileged_socket_dir}
ntp signd socket directory = $ctx->{ntp_signd_socket_dir}
winbind separator = /
interfaces = $ctx->{interfaces}
diff --git a/source3/lib/dbwrap/dbwrap_watch.c
b/source3/lib/dbwrap/dbwrap_watch.c
index a44f6f1..842ab86 100644
--- a/source3/lib/dbwrap/dbwrap_watch.c
+++ b/source3/lib/dbwrap/dbwrap_watch.c
@@ -19,6 +19,7 @@
#include "includes.h"
#include "system/filesys.h"
+#include "lib/util/server_id.h"
#include "dbwrap/dbwrap.h"
#include "dbwrap_watch.h"
#include "dbwrap_open.h"
diff --git a/source3/lib/g_lock.c b/source3/lib/g_lock.c
index f954978..1815796 100644
--- a/source3/lib/g_lock.c
+++ b/source3/lib/g_lock.c
@@ -19,6 +19,7 @@
#include "includes.h"
#include "system/filesys.h"
+#include "lib/util/server_id.h"
#include "dbwrap/dbwrap.h"
#include "dbwrap/dbwrap_open.h"
#include "dbwrap/dbwrap_watch.h"
diff --git a/source3/lib/messages.c b/source3/lib/messages.c
index 533e869..d7ad49d 100644
--- a/source3/lib/messages.c
+++ b/source3/lib/messages.c
@@ -46,6 +46,7 @@
*/
#include "includes.h"
+#include "lib/util/server_id.h"
#include "dbwrap/dbwrap.h"
#include "serverid.h"
#include "messages.h"
diff --git a/source3/lib/messages_ctdbd.c b/source3/lib/messages_ctdbd.c
index bee2685..a32a80d 100644
--- a/source3/lib/messages_ctdbd.c
+++ b/source3/lib/messages_ctdbd.c
@@ -18,6 +18,7 @@
*/
#include "includes.h"
+#include "lib/util/server_id.h"
#include "messages.h"
#include "util_tdb.h"
#include "lib/util/iov_buf.h"
diff --git a/source3/lib/messages_util.c b/source3/lib/messages_util.c
index 7c11ecf..d712dfe 100644
--- a/source3/lib/messages_util.c
+++ b/source3/lib/messages_util.c
@@ -18,6 +18,7 @@
*/
#include "replace.h"
+#include "lib/util/server_id.h"
#include "lib/util/samba_util.h"
#include "librpc/gen_ndr/server_id.h"
#include "lib/util/byteorder.h"
diff --git a/source3/lib/ms_fnmatch.c b/source3/lib/ms_fnmatch.c
index e32d094..9763afe 100644
--- a/source3/lib/ms_fnmatch.c
+++ b/source3/lib/ms_fnmatch.c
@@ -161,7 +161,7 @@ int ms_fnmatch(const char *pattern, const char *string,
bool translate_pattern,
}
if (strpbrk(pattern, "<>*?\"") == NULL) {
- /* this is not just an optmisation - it is essential
+ /* this is not just an optimisation - it is essential
for LANMAN1 correctness */
if (is_case_sensitive) {
return strcmp(pattern, string);
diff --git a/source3/lib/server_id_db_util.c b/source3/lib/server_id_db_util.c
index 6c6d8ed..e73af24 100644
--- a/source3/lib/server_id_db_util.c
+++ b/source3/lib/server_id_db_util.c
@@ -19,6 +19,7 @@
#include "replace.h"
#include "server_id_db_util.h"
--
Samba Shared Repository