Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't include the checksum_seed in the full-file MD5 checksum.
[rsync/rsync.git]
/
util.c
diff --git
a/util.c
b/util.c
index
4e03a19
..
656c3bf
100644
(file)
--- a/
util.c
+++ b/
util.c
@@
-7,8
+7,9
@@
* Copyright (C) 2003-2007 Wayne Davison
*
* This program is free software; you can redistribute it and/or modify
* Copyright (C) 2003-2007 Wayne Davison
*
* This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
+ * 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
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-16,8
+17,7
@@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* 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, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ * with this program; if not, visit the http://fsf.org website.
*/
#include "rsync.h"
*/
#include "rsync.h"
@@
-28,6
+28,7
@@
extern int module_id;
extern int modify_window;
extern int relative_paths;
extern int human_readable;
extern int modify_window;
extern int relative_paths;
extern int human_readable;
+extern char *module_dir;
extern unsigned int module_dirlen;
extern mode_t orig_umask;
extern char *partial_dir;
extern unsigned int module_dirlen;
extern mode_t orig_umask;
extern char *partial_dir;
@@
-749,7
+750,7
@@
unsigned int clean_fname(char *name, BOOL collapse_dot_dot)
* rootdir will be ignored to avoid expansion of the string.
*
* The rootdir string contains a value to use in place of a leading slash.
* rootdir will be ignored to avoid expansion of the string.
*
* The rootdir string contains a value to use in place of a leading slash.
- * Specify NULL to get the default of
lp_path(module_id)
.
+ * Specify NULL to get the default of
"module_dir"
.
*
* The depth var is a count of how many '..'s to allow at the start of the
* path. If symlink is set, combine its value with the "p" value to get
*
* The depth var is a count of how many '..'s to allow at the start of the
* path. If symlink is set, combine its value with the "p" value to get
@@
-778,7
+779,7
@@
char *sanitize_path(char *dest, const char *p, const char *rootdir, int depth,
int plen = strlen(p);
if (*p == '/') {
if (!rootdir)
int plen = strlen(p);
if (*p == '/') {
if (!rootdir)
- rootdir =
lp_path(module_id)
;
+ rootdir =
module_dir
;
rlen = strlen(rootdir);
depth = 0;
p++;
rlen = strlen(rootdir);
depth = 0;
p++;
@@
-883,8
+884,10
@@
int push_dir(const char *dir, int set_path_only)
if (len == 1 && *dir == '.')
return 1;
if (len == 1 && *dir == '.')
return 1;
- if ((*dir == '/' ? len : curr_dir_len + 1 + len) >= sizeof curr_dir)
+ if ((*dir == '/' ? len : curr_dir_len + 1 + len) >= sizeof curr_dir) {
+ errno = ENAMETOOLONG;
return 0;
return 0;
+ }
if (!set_path_only && chdir(dir))
return 0;
if (!set_path_only && chdir(dir))
return 0;