From users-return-5217-daniel=haxx.se@subversion.apache.org Thu Oct 7 11:26:30 2010 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on giant.haxx.se X-Spam-Level: X-Spam-Status: No, score=-1.5 required=3.0 tests=BAYES_00,T_RP_MATCHES_RCVD autolearn=ham version=3.3.1 Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by giant.haxx.se (8.14.3/8.14.3/Debian-9.1) with SMTP id o979QT21004021 for ; Thu, 7 Oct 2010 11:26:29 +0200 Received: (qmail 8342 invoked by uid 500); 7 Oct 2010 09:26:18 -0000 Mailing-List: contact users-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list users@subversion.apache.org Received: (qmail 8326 invoked by uid 99); 7 Oct 2010 09:26:17 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Oct 2010 09:26:17 +0000 X-ASF-Spam-Status: No, hits=0.7 required=10.0 tests=RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_NEUTRAL Received-SPF: neutral (athena.apache.org: local policy) Received: from [80.67.31.27] (HELO smtprelay04.ispgateway.de) (80.67.31.27) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Oct 2010 09:26:09 +0000 Received: from [75.34.103.74] (helo=[192.168.7.75]) by smtprelay04.ispgateway.de with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.68) (envelope-from ) id 1P3mjT-0001dO-C5; Thu, 07 Oct 2010 11:25:47 +0200 Subject: Re: How do I enforce a minimum client version when hosted via httpd Mime-Version: 1.0 (Apple Message framework v1081) Content-Type: text/plain; charset=us-ascii From: Ryan Schmidt In-Reply-To: Date: Thu, 7 Oct 2010 04:25:44 -0500 Cc: users@subversion.apache.org Content-Transfer-Encoding: quoted-printable Message-Id: <004670A0-2C7A-49BD-A698-813D9341133E@ryandesign.com> References: To: Stephen Connolly X-Mailer: Apple Mail (2.1081) X-Df-Sender: 368818 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.3.5 (giant.haxx.se [80.67.6.50]); Thu, 07 Oct 2010 11:26:30 +0200 (CEST) X-Friend: Nope On Oct 7, 2010, at 03:29, Stephen Connolly wrote: > I remember reading before about a hack/trick that allows you to ensure = that the client is at least mergeinfo aware when the repository is = served via Apache httpd. >=20 > Google is not being co-operative with my attempts to find the Apache = HTTPD directive that makes this magic happen. >=20 > IIRC the trick is less than perfect, i.e. it just blocks < 1.5.2 = clients from connecting (though the version limit could be 1.5.0 or = 1.5.1 I recall it being about querying the capabilities of the client = and a specific capability was only introduced in 1.5.1 or 1.5.2) A = better trick would allow blocking clients less than 1.6.13 from = connecting ;-) There is no Apache directive for this; instead, you can write a clause = in your start-commit hook script. =46rom the start-commit.tmpl file = created for you in every new repository: # [1] REPOS-PATH (the path to this repository) # [2] USER (the authenticated user attempting to commit) # [3] CAPABILITIES (a colon-separated list of capabilities reported # by the client; see note below) # # Note: The CAPABILITIES parameter is new in Subversion 1.5, and 1.5 # clients will typically report at least the "mergeinfo" capability. # If there are other capabilities, then the list is colon-separated, # e.g.: "mergeinfo:some-other-capability" (the order is undefined). So if the third parameter passed to your start-commit hook script is = empty / nonexistent, you know that client is older than 1.5 and you can = take some action, such as denying the commit, if that's what you want to = do.