FreeBSD fork of Phabricator code review https://reviews.freebsd.org
Go to file
Christopher Speck 0b6e758978 Updates for Mercurial's HTTP protocol
Summary:
While testing https://secure.phabricator.com/D21864 I ran into some issues getting mercurial HTTP access working. Using wireshark I confirmed that my local mercurial 6.4 was not including command arguments as HTTP headers but in the querystring.

I didn't dig too deep into understanding when/why this started happening. The protocol documents this in [[ https://repo.mercurial-scm.org/hg/file/tip/mercurial/helptext/internals/wireprotocol.txt | wireprotocol.txt ]].

>Command arguments can be sent multiple ways. The simplest is part of the URL query string using ``x-www-form-urlencoded`` encoding (see Python's ``urllib.urlencode()``. However, many servers impose length limitations on the URL. So this mechanism is typically only used if the server doesn't support other mechanisms.

Based on that either the mercurial on the server is really old (it's 6.1.1 tho) or maybe some other parsing/info passing in Phab's handling of the wire protocol is causing the client to downgrade the wire protocol support.

Test Plan: Host mercurial repo using HTTP, test push/pull.

Reviewers: #blessed_reviewers, epriestley

Reviewed By: #blessed_reviewers, epriestley

Subscribers: Korvin, epriestley

Differential Revision: https://secure.phabricator.com/D21867
2023-05-28 23:12:20 -04:00
bin Remove the "ssh-auth-key" script 2019-10-28 17:52:37 -07:00
conf Remove an old digest in Celerity code and some obsolete configuration options 2019-01-04 13:43:38 -08:00
externals Addressing some PHP 8 incompatibilities - Remarkup 2023-05-28 23:11:56 -04:00
resources Update Slowvote poll status to use sensible string constants 2022-05-27 10:15:01 -07:00
scripts Addressing some PHP8 incompatibilities - Diffusion & Differential 2023-05-28 23:09:53 -04:00
src Updates for Mercurial's HTTP protocol 2023-05-28 23:12:20 -04:00
support Suppress PHP 8 deprecation warning in startup 2021-07-20 21:07:33 -04:00
webroot Provide a simple "Attach File" explicit workflow for files referenced but not attached 2022-05-24 09:49:59 -07:00
.arcconfig Set "history.immutable" to "false" explicitly in .arcconfig 2016-08-03 08:12:49 -07:00
.arclint Fix a PHP 8.1 strlen() issue with "mysql.pass" configuration 2021-12-16 15:24:21 -08:00
.arcunit Use the configuration driven unit test engine 2015-08-11 07:57:11 +10:00
.editorconfig Addressing some PHP 8 incompatibilities - Remarkup 2023-05-28 23:11:56 -04:00
.gitignore Addressing some PHP 8 incompatibilities 2023-05-24 17:10:12 -04:00
LICENSE Fix text lint issues 2015-02-12 07:00:13 +11:00
NOTICE Remove some "Phacility" and "epriestley" references 2021-07-08 10:46:17 -07:00
README.md Document Phabricator as no longer actively maintained 2021-05-29 13:58:22 -07:00

Effective June 1, 2021: Phabricator is no longer actively maintained.

Phabricator is a collection of web applications for software development.

LICENSE

Phabricator is released under the Apache 2.0 license except as otherwise noted.