Document unsafe_symlink().
authorMartin Pool <mbp@samba.org>
Mon, 8 Apr 2002 03:10:01 +0000 (03:10 +0000)
committerMartin Pool <mbp@samba.org>
Mon, 8 Apr 2002 03:10:01 +0000 (03:10 +0000)
util.c

diff --git a/util.c b/util.c
index 940bf28..db62587 100644 (file)
--- a/util.c
+++ b/util.c
@@ -985,6 +985,18 @@ void show_progress(OFF_T ofs, OFF_T size)
 
 /**
  * Determine if a symlink points outside the current directory tree.
+ * This is considered "unsafe" because e.g. when mirroring somebody
+ * else's machine it might allow them to establish a symlink to
+ * /etc/passwd, and then read it through a web server.
+ *
+ * @param dest Target of the symlink in question.
+ *
+ * @src src Top source directory currently applicable.  Basically this
+ * is the first parameter to rsync in a simple invocation, but it's
+ * modified as topsrcname in slightly complex ways.
+ *
+ * @retval True if unsafe
+ * @retval False is unsafe
  **/
 int unsafe_symlink(char *dest, char *src)
 {