FS#45364 - SSH write access via HTTPS
Attached to Project:
AUR web interface
Opened by Tom Swartz (tomswartz07) - Wednesday, 17 June 2015, 19:24 GMT
Opened by Tom Swartz (tomswartz07) - Wednesday, 17 June 2015, 19:24 GMT
|
Details
I had posted a general question in the AUR mailing list[1],
and it seems to have spurred some discussion.
My question/feature request is as follows: With the understanding that all PKGBUILDS are now controlled exclusively via git, is it possible to configure SSH write access to the Git repositories via a port other than port 22? Various other Git-based services encourage 'ssh on port 22', but also offer access via alternate methods (ssh via HTTPS port 443, for example). GitHub[2] and BitBucket are the two main examples of this configuration. For home and non-corporate users, outbound access via Port 22 is relatively easy. However, in corporate networks, many times all ports except for a select few are firewalled for various reasons (e.g. to protect the rest of the devices on the network). In these corportate networks, outbound traffic is only accessible via Ports 80, 443 and (rarely) very few others, and requesting a change in the outbound network policy is almost impossible. As such, many users (such as myself) cannot upload PKGBUILDS to the AUR because of the restrictive firewall rules. I'd appreciate any feedback with this issue. [1]https://lists.archlinux.org/pipermail/aur-general/2015-June/030939.html [2]https://help.github.com/articles/using-ssh-over-the-https-port/ |
This task depends upon
This is what I'm referring to. Git push via the HTTPS ports.
Currently it's configured so that Git Push is only via ssh.
Hopefully that clears things up.
Anyway, it shouldn't be /too/ hard to add, but I'm not sure which way would be the best.
We would probably have to get nginx compiled with --with-http_auth_request_module and do an if statement to check if the git-receive-pack parameter is given in the service parameter of the query string, and if so we do an auth_request to the AUR to check
1) If the credentials are valid, and
2) If the user has access to the repo