From: Junio C Hamano Date: Wed, 02 Nov 2005 00:14:11 GMT Subject: Re: [PATCH 4/4] git-daemon support for user-relative paths. Message-ID: <7vvezb6h4c.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <20051101225921.3E7455BF74@nox.op5.se> Andreas Ericsson writes: > + [--timeout=n] [--init-timeout=n] [--strict-paths] [directory...] Why not just --strict? > @@ -10,16 +10,18 @@ > #include "pkt-line.h" > #include "cache.h" > > -static int log_syslog; > +static int log_syslog = 0; I'd drop this. > /* If this is set, git-daemon-export-ok is not required */ > static int export_all_trees = 0; > > @@ -81,69 +83,49 @@ static void loginfo(const char *err, ... > va_end(params); > } > > -static int path_ok(const char *dir) > +static const char *path_ok(const char *dir) > { > + const char *path = is_git_repo(dir, strict_paths); > + /* No such directory or not a git archive */ > + if(!path) { > + logerror("'%s': unable to chdir or not a git archive", dir); > + return NULL; > } > > if ( ok_paths && *ok_paths ) { > + char **pp = NULL; > + int dirlen = strlen(path); > > for ( pp = ok_paths ; *pp ; pp++ ) { > int len = strlen(*pp); > + if ( len <= dirlen && !strncmp(*pp, path, len) ) { > + if( path[len] == '\0' || (!strict_paths && path[len] == '/') ) > + return path; > } > } Sorry, but I am a bit confused. Does this mean that you need to list all directories under --strict-paths, instead of saying "/pub/scm and everything under it is OK"? I like the general direction this set is taking, but let's let it simmer for a while.