[SCM] Samba Shared Repository - branch v4-18-test updated
Jule Anger
janger at samba.org
Wed May 31 10:48:01 UTC 2023
The branch, v4-18-test has been updated
via af9dc206043 smbd: also reset struct stat_ex.cached_dos_attributes in SET_STAT_INVALID()
via 09ea170e3b4 smbd: zero intialize SMB_STRUCT_STAT in vfswrap_readdir()
via 5865388ede8 CI: add a test that checks the dosmode of symlinks
via 6dfa2252fd3 vfs_fruit: add fruit:convert_adouble parameter
via 5c5ab78d93d vfs_fruit: just log failing AppleDouble conversion
via 0db5f559d0e libadouble: allow FILE_SHARE_DELETE in ad_convert_xattr()
via fe988c71379 vfs_fruit: never return AFP_Resource stream for directories
via 051cd8f5915 vfs_fruit: return ENOENT instead of EISDIR when trying to open AFP_Resource for a directory
via 976b4955570 CI: add a test for fruit AppleDouble conversion when deletion triggers conversion
from a22173a745e rpc_server3: Pass winbind_env_set() state through to rpcd_*
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-18-test
- Log -----------------------------------------------------------------
commit af9dc206043809a706063019112a191e81456ed7
Author: Ralph Boehme <slow at samba.org>
Date: Tue May 23 17:26:03 2023 +0200
smbd: also reset struct stat_ex.cached_dos_attributes in SET_STAT_INVALID()
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15375
Signed-off-by: Ralph Boehme <slow at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Wed May 24 21:42:50 UTC 2023 on atb-devel-224
(cherry picked from commit 412373984db6d0c20ba38076d06d0a87631890d0)
Autobuild-User(v4-18-test): Jule Anger <janger at samba.org>
Autobuild-Date(v4-18-test): Wed May 31 10:47:15 UTC 2023 on atb-devel-224
commit 09ea170e3b4a5c962e29b86d1eadf06a430bc9a6
Author: Ralph Boehme <slow at samba.org>
Date: Tue May 23 17:23:28 2023 +0200
smbd: zero intialize SMB_STRUCT_STAT in vfswrap_readdir()
Avoid returning an uninitialized st.cached_dos_attributes.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15375
Signed-off-by: Ralph Boehme <slow at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
(cherry picked from commit 0391120079b032077c3914c10189b85e61dc8498)
commit 5865388ede8b5d3d3b389be49261574dde7008d7
Author: Ralph Boehme <slow at samba.org>
Date: Wed May 24 13:13:19 2023 +0200
CI: add a test that checks the dosmode of symlinks
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15375
Signed-off-by: Ralph Boehme <slow at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
(cherry picked from commit b4af281b2d7bfddbdb7289dadbed9db623bf0e84)
commit 6dfa2252fd308ab7a60513d5a167305614a9e192
Author: Ralph Boehme <slow at samba.org>
Date: Mon May 22 12:32:00 2023 +0200
vfs_fruit: add fruit:convert_adouble parameter
https://bugzilla.samba.org/show_bug.cgi?id=15378
Signed-off-by: Ralph Boehme <slow at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Fri May 26 00:52:29 UTC 2023 on atb-devel-224
(cherry picked from commit 035f6d914d133cf3248f15b1be06a9e1837238da)
commit 5c5ab78d93def900a91954e30fdb25aa1d5a3cdb
Author: Ralph Boehme <slow at samba.org>
Date: Mon May 22 12:25:04 2023 +0200
vfs_fruit: just log failing AppleDouble conversion
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15378
Signed-off-by: Ralph Boehme <slow at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
(cherry picked from commit 3bf97f19c36d26b4178f7cb6202bbdd44de0c1aa)
commit 0db5f559d0ef883c975177a705e82ae4d0951c72
Author: Ralph Boehme <slow at samba.org>
Date: Tue May 23 17:28:33 2023 +0200
libadouble: allow FILE_SHARE_DELETE in ad_convert_xattr()
Not specifying FILE_SHARE_DELETE wasn't done intentionally. Not setting the flag
triggers the following problem:
* client sends a CREATE with delete access
* this triggers a call to open_streams_for_delete() where we check for
conflicting opens on any of the streams of the file or directory
* if the file (or directory) has a stream like ":com.apple.quarantine" the
stream is opened with DELETE_ACCESS and kept open when the next step might:
* if the file (or directory) has a Mac specific :AFP_AfpInfo stream, the
ad_convert() routine in fruit_create_file() is triggered
* ad_convert() checks if the file (or ...) has a sidecar ._ AppleDouble file, if
it has:
* in ad_convert_xattr() we unpack any set of xattrs encoded in the AppleDouble
file and recreate them as streams with the VFS. Now, if any of these xattrs
happens to be converted to a stream that we still have open in
open_streams_for_delete() (see above) we get a NT_STATUS_SHARING_VIOLATION
This error gets passed up the stack back to open_streams_for_delete() so the
client CREATE request fails and the client is unhappy.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15378
Signed-off-by: Ralph Boehme <slow at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
(cherry picked from commit 55bd10456486628cad2bd085618e873598401c3b)
commit fe988c713798732b996de99684c73199ec68b70f
Author: Ralph Boehme <slow at samba.org>
Date: Mon May 22 19:37:17 2023 +0200
vfs_fruit: never return AFP_Resource stream for directories
The macOS client creates ._ AppleDouble files for directories that do contain
an (empty) resource fork AppleDouble entry. So when going from a Samba server
config without streams module (or when migrating data from another server
without streams support), to a Samba config with a streams module and vfs_fruit,
fruit_streaminfo() will wrongly return the AFP_Resource from the AppleDouble
file as stream to the client.
To address this, just never return an AFP_Resource stream for directories when
listing streams in fruit_streaminfo(). ad_convert(), when configured with
fruit:delete_empty_adfiles = true
fruit:wipe_intentionally_left_blank_rfork = true
will happily discard the AFP_Resource from the AppleDouble file.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15378
Signed-off-by: Ralph Boehme <slow at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
(cherry picked from commit 06f0c070a0b18313f48362aa326e3e7e6a096492)
commit 051cd8f5915615bed9ff8756661afffb794e42b4
Author: Ralph Boehme <slow at samba.org>
Date: Mon May 22 19:35:33 2023 +0200
vfs_fruit: return ENOENT instead of EISDIR when trying to open AFP_Resource for a directory
Translates to NT_STATUS_OBJECT_NAME_NOT_FOUND which is the same error macOS
returns in this case.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15378
Signed-off-by: Ralph Boehme <slow at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
(cherry picked from commit 9b91a8bad2ff8da9eb56f1f9d640bcea294a5a0a)
commit 976b4955570d34b8b013a7fd17f3551fbf105f83
Author: Ralph Boehme <slow at samba.org>
Date: Wed May 24 21:28:48 2023 +0200
CI: add a test for fruit AppleDouble conversion when deletion triggers conversion
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15378
Signed-off-by: Ralph Boehme <slow at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
(cherry picked from commit 59eadfe21aca6d563f86ea656517216036421bca)
-----------------------------------------------------------------------
Summary of changes:
docs-xml/manpages/vfs_fruit.8.xml | 13 +
source3/include/smb_macros.h | 5 +-
source3/lib/adouble.c | 2 +-
source3/modules/vfs_default.c | 2 +-
source3/modules/vfs_fruit.c | 48 +-
source3/script/tests/test_symlink_dosmode.sh | 74 +++
source3/selftest/tests.py | 4 +
source4/torture/vfs/fruit.c | 954 +++++++++++++++++++++++++++
8 files changed, 1082 insertions(+), 20 deletions(-)
create mode 100755 source3/script/tests/test_symlink_dosmode.sh
Changeset truncated at 500 lines:
diff --git a/docs-xml/manpages/vfs_fruit.8.xml b/docs-xml/manpages/vfs_fruit.8.xml
index 6950898a7d1..2215f031312 100644
--- a/docs-xml/manpages/vfs_fruit.8.xml
+++ b/docs-xml/manpages/vfs_fruit.8.xml
@@ -406,6 +406,19 @@
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>fruit:convert_adouble = yes | no</term>
+ <listitem>
+ <para>Whether an attempt shall be made to convert ._ AppleDouble
+ sidecar files to native streams (xattrs when using
+ vfs_streams_xattr). The main use case for this conversion is
+ transparent migration from a server config without streams support
+ where the macOS client created those AppleDouble sidecar
+ files.</para>
+ <para>The default is <emphasis>yes</emphasis>.</para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</refsect1>
diff --git a/source3/include/smb_macros.h b/source3/include/smb_macros.h
index 0f44d1402a8..42ff9ffb0d4 100644
--- a/source3/include/smb_macros.h
+++ b/source3/include/smb_macros.h
@@ -108,7 +108,10 @@
#define VALID_STAT(st) ((st).st_ex_nlink != 0)
#define VALID_STAT_OF_DIR(st) (VALID_STAT(st) && S_ISDIR((st).st_ex_mode))
-#define SET_STAT_INVALID(st) ((st).st_ex_nlink = 0)
+#define SET_STAT_INVALID(st) { \
+ (st).st_ex_nlink = 0; \
+ (st).cached_dos_attributes = FILE_ATTRIBUTES_INVALID; \
+};
/* Macros to get at offsets within smb_lkrng and smb_unlkrng
structures. We cannot define these as actual structures
diff --git a/source3/lib/adouble.c b/source3/lib/adouble.c
index 062c73ec758..15f8f0aa8a9 100644
--- a/source3/lib/adouble.c
+++ b/source3/lib/adouble.c
@@ -1222,7 +1222,7 @@ static bool ad_convert_xattr(vfs_handle_struct *handle,
NULL, /* dirfsp */
stream_name, /* fname */
FILE_GENERIC_WRITE, /* access_mask */
- FILE_SHARE_READ | FILE_SHARE_WRITE, /* share_access */
+ FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, /* share_access */
FILE_OPEN_IF, /* create_disposition */
0, /* create_options */
0, /* file_attributes */
diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c
index 000c23208f5..89eec1146d7 100644
--- a/source3/modules/vfs_default.c
+++ b/source3/modules/vfs_default.c
@@ -603,7 +603,7 @@ static struct dirent *vfswrap_readdir(vfs_handle_struct *handle,
struct dirent *result;
bool fake_ctime = lp_fake_directory_create_times(SNUM(handle->conn));
int flags = AT_SYMLINK_NOFOLLOW;
- SMB_STRUCT_STAT st;
+ SMB_STRUCT_STAT st = {0};
int ret;
START_PROFILE(syscall_readdir);
diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c
index 4058d4834e7..c08238cb15f 100644
--- a/source3/modules/vfs_fruit.c
+++ b/source3/modules/vfs_fruit.c
@@ -131,6 +131,7 @@ struct fruit_config_data {
const char *model;
bool time_machine;
off_t time_machine_max_size;
+ bool convert_adouble;
bool wipe_intentionally_left_blank_rfork;
bool delete_empty_adfiles;
@@ -381,6 +382,10 @@ static int init_fruit_config(vfs_handle_struct *handle)
config->time_machine_max_size = conv_str_size(tm_size_str);
}
+ config->convert_adouble = lp_parm_bool(
+ SNUM(handle->conn), FRUIT_PARAM_TYPE_NAME,
+ "convert_adouble", true);
+
config->wipe_intentionally_left_blank_rfork = lp_parm_bool(
SNUM(handle->conn), FRUIT_PARAM_TYPE_NAME,
"wipe_intentionally_left_blank_rfork", false);
@@ -1567,7 +1572,7 @@ static int fruit_open_rsrc_adouble(vfs_handle_struct *handle,
S_ISDIR(fsp->base_fsp->fsp_name->st.st_ex_mode))
{
/* sorry, but directories don't have a resource fork */
- errno = EISDIR;
+ errno = ENOENT;
rc = -1;
goto exit;
}
@@ -3959,6 +3964,10 @@ static NTSTATUS fruit_streaminfo_rsrc(vfs_handle_struct *handle,
struct fruit_config_data *config = NULL;
NTSTATUS status;
+ if (S_ISDIR(smb_fname->st.st_ex_mode)) {
+ return NT_STATUS_OK;
+ }
+
SMB_VFS_HANDLE_GET_DATA(handle, config, struct fruit_config_data,
return NT_STATUS_INTERNAL_ERROR);
@@ -4286,7 +4295,10 @@ static NTSTATUS fruit_create_file(vfs_handle_struct *handle,
SMB_VFS_HANDLE_GET_DATA(handle, config, struct fruit_config_data,
return NT_STATUS_UNSUCCESSFUL);
- if (is_apple_stream(smb_fname->stream_name) && !internal_open) {
+ if (is_apple_stream(smb_fname->stream_name) &&
+ !internal_open &&
+ config->convert_adouble)
+ {
uint32_t conv_flags = 0;
if (config->wipe_intentionally_left_blank_rfork) {
@@ -4301,8 +4313,8 @@ static NTSTATUS fruit_create_file(vfs_handle_struct *handle,
macos_string_replace_map,
conv_flags);
if (ret != 0) {
- DBG_ERR("ad_convert() failed\n");
- return NT_STATUS_UNSUCCESSFUL;
+ DBG_ERR("ad_convert(\"%s\") failed\n",
+ smb_fname_str_dbg(smb_fname));
}
}
@@ -4400,20 +4412,22 @@ static NTSTATUS fruit_freaddir_attr(struct vfs_handle_struct *handle,
DBG_DEBUG("Path [%s]\n", fsp_str_dbg(fsp));
- if (config->wipe_intentionally_left_blank_rfork) {
- conv_flags |= AD_CONV_WIPE_BLANK;
- }
- if (config->delete_empty_adfiles) {
- conv_flags |= AD_CONV_DELETE;
- }
+ if (config->convert_adouble) {
+ if (config->wipe_intentionally_left_blank_rfork) {
+ conv_flags |= AD_CONV_WIPE_BLANK;
+ }
+ if (config->delete_empty_adfiles) {
+ conv_flags |= AD_CONV_DELETE;
+ }
- ret = ad_convert(handle,
- fsp->fsp_name,
- macos_string_replace_map,
- conv_flags);
- if (ret != 0) {
- DBG_ERR("ad_convert() failed\n");
- return NT_STATUS_UNSUCCESSFUL;
+ ret = ad_convert(handle,
+ fsp->fsp_name,
+ macos_string_replace_map,
+ conv_flags);
+ if (ret != 0) {
+ DBG_ERR("ad_convert(\"%s\") failed\n",
+ fsp_str_dbg(fsp));
+ }
}
*pattr_data = talloc_zero(mem_ctx, struct readdir_attr_data);
diff --git a/source3/script/tests/test_symlink_dosmode.sh b/source3/script/tests/test_symlink_dosmode.sh
new file mode 100755
index 00000000000..dd6cb6be472
--- /dev/null
+++ b/source3/script/tests/test_symlink_dosmode.sh
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+if [ $# -lt 7 ]; then
+ cat <<EOF
+Usage: test_symlink_dosmode.sh SERVER SERVER_IP USERNAME PASSWORD LOCAL_PATH PREFIX SMBCLIENT
+EOF
+ exit 1
+fi
+
+SERVER="${1}"
+SERVER_IP="${2}"
+USERNAME="${3}"
+PASSWORD="${4}"
+LOCAL_PATH="${5}"
+PREFIX="${6}"
+SMBCLIENT="${7}"
+SMBCLIENT="$VALGRIND ${SMBCLIENT}"
+shift 6
+
+incdir=$(dirname "$0")/../../../testprogs/blackbox
+. "$incdir"/subunit.sh
+
+failed=0
+
+# Do not let deprecated option warnings muck this up
+SAMBA_DEPRECATED_SUPPRESS=1
+export SAMBA_DEPRECATED_SUPPRESS
+
+# Define the test environment/filenames.
+#
+share_test_dir="$LOCAL_PATH"
+
+rm -rf "$share_test_dir/testdir"
+
+mkdir -p "$share_test_dir/testdir/dir"
+touch "$share_test_dir/testdir/file"
+ln -s "../file" "$share_test_dir/testdir/dir/symlink"
+
+test_symlink_dosmode()
+{
+ tmpfile=$PREFIX/smbclient_interactive_prompt_commands
+ cat >"$tmpfile" <<EOF
+ls testdir/dir/*
+quit
+EOF
+ cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT -U$USERNAME%$PASSWORD //$SERVER/local_symlinks -I$SERVER_IP < $tmpfile 2>&1'
+ eval echo "$cmd"
+ out=$(eval "$cmd")
+ ret=$?
+ rm -f "$tmpfile"
+
+ if [ $ret != 0 ]; then
+ printf "%s\n" "$out"
+ printf "failed accessing local_symlinks with error %s\n" "$ret"
+ return 1
+ fi
+
+ mode=$(printf "%s" "$out" | awk '/symlink/ {print $2}')
+ echo "mode: $mode"
+ if [ x"$mode" != x"N" ] ; then
+ printf "Bad mode: '%s', expected 'N'\n" "$mode"
+ printf "%s\n" "$out"
+ return 1
+ fi
+ return 0
+}
+
+testit "symlink_dosmode" \
+ test_symlink_dosmode ||
+ failed=$((failed + 1))
+
+rm -rf "$share_test_dir/testdir"
+
+testok "$0" "$failed"
diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py
index fc3227be9b5..f24f6779150 100755
--- a/source3/selftest/tests.py
+++ b/source3/selftest/tests.py
@@ -777,6 +777,10 @@ for env in ["fileserver"]:
[os.path.join(samba3srcdir, "script/tests/test_stream_dir_rename.sh"),
'$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
+ plantestsuite("samba3.blackbox.test_symlink_dosmode", env,
+ [os.path.join(samba3srcdir, "script/tests/test_symlink_dosmode.sh"),
+ '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
+ '$PREFIX', smbclient3])
#
# tar command tests
#
diff --git a/source4/torture/vfs/fruit.c b/source4/torture/vfs/fruit.c
index 3621fec460c..99d63becbb4 100644
--- a/source4/torture/vfs/fruit.c
+++ b/source4/torture/vfs/fruit.c
@@ -7017,6 +7017,959 @@ done:
return ret;
}
+/*
+-------------------------------------------------------------------------------
+MagicNumber: 00051607 : AppleDouble
+Version : 00020000 : Version 2
+Filler : 4D 61 63 20 4F 53 20 58 20 20 20 20 20 20 20 20 : Mac OS X
+Num. of ent: 0002 : 2
+
+-------------------------------------------------------------------------------
+Entry ID : 00000009 : Finder Info
+Offset : 00000032 : 50
+Length : 00000EB0 : 3760
+
+-DInfo-----:
+Rect top : 0000 : 0
+Rect left : 0000 : 0
+Rect bottom: 0000 : 0
+Rect right : 0000 : 0
+isAlias : 0
+Invisible : 0
+hasBundle : 0
+nameLocked : 0
+Stationery : 0
+CustomIcon : 0
+Reserved : 0
+Inited : 1
+NoINITS : 0
+Shared : 0
+SwitchLaunc: 0
+Hidden Ext : 0
+color : 000 : none
+isOnDesk : 0
+Location v : 0000 : 0
+Location h : 0000 : 0
+View : 0000 : ..
+
+-DXInfo----:
+Scroll v : 0000 : 0
+Scroll h : 0000 : 0
+Rsvd|OpnChn: 00000000 : 0
+AreInvalid : 0
+unknown bit: 0
+unknown bit: 0
+unknown bit: 0
+unknown bit: 0
+unknown bit: 0
+unknown bit: 0
+CustomBadge: 0
+ObjctIsBusy: 0
+unknown bit: 0
+unknown bit: 0
+unknown bit: 0
+unknown bit: 0
+RoutingInfo: 0
+unknown bit: 0
+unknown bit: 0
+Comment : 0000 : ..
+PutAway : 00000000 : 0
+
+-EA--------:
+pad : 0000 : ..
+magic : 41545452 : ATTR
+debug_tag : 0081714C : 8483148
+total_size : 00000EE2 : 3810
+data_start : 00000098 : 152
+data_length: 00000039 : 57
+reserved[0]: 00000000 : ....
+reserved[1]: 00000000 : ....
+reserved[2]: 00000000 : ....
+flags : 0000 : ..
+num_attrs : 0001 : 1
+-EA ENTRY--:
+offset : 00000098 : 152
+length : 00000039 : 57
+flags : 0000 : ..
+namelen : 15 : 21
+-EA NAME---: 0 1 2 3 4 5 6 7 8 9 A B C D E F : (ASCII)
+00000000 : 63 6F 6D 2E 61 70 70 6C 65 2E 71 75 61 72 61 6E : com.apple.quaran
+00000010 : 74 69 6E 65 00 : tine.
+-EA VALUE--: 0 1 2 3 4 5 6 7 8 9 A B C D E F : (ASCII)
+00000000 : 30 30 38 31 3B 36 32 65 61 33 37 66 64 3B 43 68 : 0081;62ea37fd;Ch
+00000010 : 72 6F 6D 65 3B 42 35 39 46 42 39 45 44 2D 35 41 : rome;B59FB9ED-5A
+00000020 : 32 39 2D 34 45 35 42 2D 38 35 36 43 2D 37 45 44 : 29-4E5B-856C-7ED
+00000030 : 30 45 46 45 41 37 30 41 43 : 0EFEA70AC
+
+-RAW DUMP--: 0 1 2 3 4 5 6 7 8 9 A B C D E F : (ASCII)
+00000000 : 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 : ................
+00000010 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000020 : 00 00 41 54 54 52 00 81 71 4C 00 00 0E E2 00 00 : ..ATTR..qL......
+00000030 : 00 98 00 00 00 39 00 00 00 00 00 00 00 00 00 00 : .....9..........
+00000040 : 00 00 00 00 00 01 00 00 00 98 00 00 00 39 00 00 : .............9..
+00000050 : 15 63 6F 6D 2E 61 70 70 6C 65 2E 71 75 61 72 61 : .com.apple.quara
+00000060 : 6E 74 69 6E 65 00 30 30 38 31 3B 36 32 65 61 33 : ntine.0081;62ea3
+00000070 : 37 66 64 3B 43 68 72 6F 6D 65 3B 42 35 39 46 42 : 7fd;Chrome;B59FB
+00000080 : 39 45 44 2D 35 41 32 39 2D 34 45 35 42 2D 38 35 : 9ED-5A29-4E5B-85
+00000090 : 36 43 2D 37 45 44 30 45 46 45 41 37 30 41 43 00 : 6C-7ED0EFEA70AC.
+000000A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000000B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000000C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000000D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000000E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000000F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000100 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000110 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000120 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000130 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000140 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000150 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000160 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000170 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000180 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000190 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000001A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000001B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000001C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000001D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000001E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000001F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000200 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000210 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000220 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000230 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000240 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000250 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000260 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000270 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000280 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000290 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000002A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000002B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000002C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000002D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000002E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000002F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000300 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000310 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000320 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000330 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000340 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000350 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000360 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000370 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000380 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000390 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000003A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000003B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000003C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000003D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000003E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000003F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000400 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000410 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000420 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000430 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000440 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000450 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000460 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000470 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000480 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000490 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000004A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000004B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000004C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000004D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000004E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000004F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000500 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000510 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000520 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000530 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000540 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000550 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000560 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000570 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000580 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000590 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000005A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000005B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000005C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000005D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000005E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000005F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000600 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000610 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000620 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000630 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000640 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000650 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000660 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000670 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000680 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000690 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000006A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000006B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000006C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000006D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000006E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000006F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000700 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000710 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000720 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000730 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000740 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000750 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000760 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000770 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000780 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000790 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000007A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000007B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000007C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000007D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000007E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000007F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000800 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000810 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000820 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000830 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000840 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000850 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000860 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000870 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000880 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+00000890 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000008A0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000008B0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000008C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000008D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000008E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
+000008F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : ................
--
Samba Shared Repository
More information about the samba-cvs
mailing list