about summary refs log tree commit diff
path: root/cgit.c
diff options
context:
space:
mode:
authorJohan Herland <johan@herland.net>2010-11-15 20:40:43 +0100
committerLars Hjemli <larsh@prediktor.no>2010-11-16 09:03:43 +0100
commit682adbc0cad2baa1a6119013b166f52de3ee3352 (patch)
treebef3cd4f21672a40399816dcbcab2fedf20b5f5f /cgit.c
parentui-stats: Remove unnecessary #include (diff)
downloadcgit-pink-682adbc0cad2baa1a6119013b166f52de3ee3352.tar.gz
cgit-pink-682adbc0cad2baa1a6119013b166f52de3ee3352.zip
scan_path(): Improve handling of inaccessible directories
When scanning a tree containing inaccessible directories (e.g. '.ssh'
directories in users' homedirs, or repos with explicitly restricted access),
scan_path() currently causes three lines of "Permissions denied" errors to be
printed to the CGI error log per inaccessible directory:

  Error checking path /home/foo/.ssh: Permission denied (13)
  Error checking path /home/foo/.ssh/.git: Permission denied (13)
  Error opening directory /home/foo/.ssh: Permission denied (13)

This is a side-effect of calling is_git_dir(path) and
is_git_dir(fmt("%s/.git", path) _before_ we try to opendir(path).

By placing the opendir(path) before the two is_git_dir() calls, we reduce the
noise to a single line per inaccessible directory:

  Error opening directory /home/foo/.ssh: Permission denied (13)

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Lars Hjemli <larsh@prediktor.no>
Diffstat (limited to 'cgit.c')
0 files changed, 0 insertions, 0 deletions