pathjoin(cmpbuf, MAXPATHLEN, basis_dir[j], fname);
- if (link_stat(cmpbuf, stp, 0) < 0)
+ if (link_stat(cmpbuf, &sxp->st, 0) < 0)
- match_level = 0;
+ return -1;
}
if (match_level == 3 && !copy_dest) {
ITEM_LOCAL_CHANGE, 0, NULL);
}
if (code != FNONE && verbose) {
-@@ -1056,18 +1108,22 @@ static void recv_generator(char *fname,
+@@ -1059,18 +1111,22 @@ static void recv_generator(char *fname,
code = FNONE;
}
}
statret = -1;
if (verbose > 2) {
rprintf(FINFO,"mknod(%s,0%o,0x%x)\n",
-@@ -1080,7 +1136,7 @@ static void recv_generator(char *fname,
+@@ -1083,7 +1139,7 @@ static void recv_generator(char *fname,
} else {
set_file_attrs(fname, file, NULL, 0);
if (itemizing) {
ITEM_LOCAL_CHANGE, 0, NULL);
}
if (code != FNONE && verbose)
-@@ -1094,14 +1150,14 @@ static void recv_generator(char *fname,
+@@ -1097,14 +1153,14 @@ static void recv_generator(char *fname,
}
} else {
if (itemizing)
}
if (!S_ISREG(file->mode)) {
-@@ -1135,7 +1191,7 @@ static void recv_generator(char *fname,
+@@ -1138,7 +1194,7 @@ static void recv_generator(char *fname,
}
if (update_only && statret == 0
if (verbose > 1)
rprintf(FINFO, "%s is newer\n", fname);
return;
-@@ -1144,20 +1200,20 @@ static void recv_generator(char *fname,
+@@ -1147,20 +1203,20 @@ static void recv_generator(char *fname,
fnamecmp = fname;
fnamecmp_type = FNAMECMP_FNAME;
}
if (j >= 0) {
fnamecmp = fnamecmpbuf;
-@@ -1167,7 +1223,7 @@ static void recv_generator(char *fname,
+@@ -1170,7 +1226,7 @@ static void recv_generator(char *fname,
}
real_ret = statret;
if (partial_dir && (partialptr = partial_dir_fname(fname)) != NULL
&& link_stat(partialptr, &partial_st, 0) == 0
-@@ -1186,7 +1242,7 @@ static void recv_generator(char *fname,
+@@ -1189,7 +1245,7 @@ static void recv_generator(char *fname,
rprintf(FINFO, "fuzzy basis selected for %s: %s\n",
fname, fnamecmpbuf);
}
statret = 0;
fnamecmp = fnamecmpbuf;
fnamecmp_type = FNAMECMP_FUZZY;
-@@ -1195,7 +1251,7 @@ static void recv_generator(char *fname,
+@@ -1198,7 +1254,7 @@ static void recv_generator(char *fname,
if (statret != 0) {
if (preserve_hard_links && file->link_u.links
itemizing, code, HL_SKIP))
return;
if (stat_errno == ENOENT)
-@@ -1205,39 +1261,52 @@ static void recv_generator(char *fname,
+@@ -1208,39 +1264,52 @@ static void recv_generator(char *fname,
return;
}
fnamecmp = partialptr;
fnamecmp_type = FNAMECMP_PARTIAL_DIR;
statret = 0;
-@@ -1261,17 +1330,21 @@ static void recv_generator(char *fname,
+@@ -1264,17 +1333,21 @@ static void recv_generator(char *fname,
pretend_missing:
/* pretend the file didn't exist */
if (preserve_hard_links && file->link_u.links
}
if (!(back_file = make_file(fname, NULL, NULL, 0, NO_FILTERS))) {
close(fd);
-@@ -1282,7 +1355,7 @@ static void recv_generator(char *fname,
+@@ -1285,7 +1358,7 @@ static void recv_generator(char *fname,
full_fname(backupptr));
free(back_file);
close(fd);
}
if ((f_copy = do_open(backupptr,
O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, 0600)) < 0) {
-@@ -1290,14 +1363,14 @@ static void recv_generator(char *fname,
+@@ -1293,14 +1366,14 @@ static void recv_generator(char *fname,
full_fname(backupptr));
free(back_file);
close(fd);
}
if (verbose > 2)
-@@ -1315,24 +1388,32 @@ static void recv_generator(char *fname,
+@@ -1318,24 +1391,32 @@ static void recv_generator(char *fname,
iflags |= ITEM_BASIS_TYPE_FOLLOWS;
if (fnamecmp_type == FNAMECMP_FUZZY)
iflags |= ITEM_XNAME_FOLLOWS;
if (f_copy >= 0) {
close(f_copy);
-@@ -1345,6 +1426,13 @@ static void recv_generator(char *fname,
+@@ -1348,6 +1429,13 @@ static void recv_generator(char *fname,
}
close(fd);
}
void generate_files(int f_out, struct file_list *flist, char *local_name)
-@@ -1404,6 +1492,8 @@ void generate_files(int f_out, struct fi
+@@ -1407,6 +1495,8 @@ void generate_files(int f_out, struct fi
* notice that and let us know via the redo pipe (or its closing). */
ignore_timeout = 1;
SIVAL(numbuf, 0, ndx);
--- old/lib/sysacls.c
+++ new/lib/sysacls.c
-@@ -0,0 +1,3245 @@
+@@ -0,0 +1,3247 @@
+/*
+ Unix SMB/CIFS implementation.
+ Samba system utilities for ACL support.
+ uid_t user_id;
+
+ /* AIX has no DEFAULT */
-+ if ( type == SMB_ACL_TYPE_DEFAULT )
++ if ( type == SMB_ACL_TYPE_DEFAULT ) {
++ errno = ENOTSUP;
+ return NULL;
++ }
+
+ /* Get the acl using statacl */
+