Topic: Suggestion : accès aux dépôts SVN par HTTPS

Accès aux dépôts Subversion par HTTPS

Pourquoi ?
L'avantage d'un accès HTTPS par rapport à un accès SVN+SSH est son côté passe-partout. On se retrouve trop souvent du mauvais côté d'un firewall (boulot, établissement scolaire, ...) qui ne laisse pas passer les précieux paquets SSH. C'est frustrant ©.

Pourquoi HTTPS au lieu de HTTP ?
L'ennui avec l'implémentation de l'accès SVN au-dessus d'Apache, c'est que ça utilise la couche WebDAV, qui utilise elle-même des méthodes HTTP que les firewalls les plus ch##### bloqueront également (exemple : méthode WebDAV "PROPFIND" qui ne passe pas). HTTPS, à ma connaissance, passe partout.

Tu peux pas demander à ton admin de laisser passer les flux dont tu as besoin pour travailler ?
« Malheureux, surtout pas, je veux juste les flux pour contribuer à mon projet » ;)

Tu peux pas demander à ton admin de laisser passer les flux que tu veux ?
Nan, je déconne, même dans Sliders, les admins refusent ça :D

Anecdote
J'ai eu l'occasion de passer un an dans une licence professionnelle dédiée aux logiciels libres. Comme nous avions les droits root et la possibilité d'attaquer le reste du réseau (d'ailleurs entre 12h et 14h, on distinguait 3 camps : les "Je lis des webcomics", les "Je joue à Frozen Bubble", et les "Je teste l'ARP poisoning"), la passerelle qui reliait notre réseau de hippies au réseau de l'établissement n'était pas vraiment laxiste. Je ne pouvais donc pas faire le moindre check out sur un serveur SVN si celui-ci n'était pas en HTTPS. Ironiquement, la licence-dédiée-aux-logiciels-libres ne permettait pas de taffer sur son logiciel libre entre midi et deux (mais c'était bien chouette quand même).

Comment ?
Techniquement, il faut un serveur Apache avec mod_dav_svn, qui repose sur mod_dav (WebDAV), auquel s'ajoutent les joyeusetés relatives à SSL (mod_ssl et clés).

Le SVN Book décrit assez bien la procédure dans son chapitre 6 «Server Configuration», section "httpd, the Apache HTTP server". Suffisamment bien en tout cas pour que je n'aie pas conservé d'autres signets sur le sujet.

Exemple de configuration pour _un_ projet (je n'ai pas testé l'automatisation pour des centaines de projets).

<Location /projet>
    DAV svn
    # chemin du depot
    SVNPath /srv/svn/projet
    Require valid-user
    AuthType Basic
    AuthName "SVN Projet"
    # chemin du fichier decrivant les permissions
    AuthUserFile svn/svn-access-projet
    #optionnel : gestion plus fine des droits des utilisateurs sur les dossiers
    AuthzSVNAccessFile svn/svn-policy-projet
    SVNPathAuthz on
</Location>

Bon, désolé de ne pas être exhaustif sur le plan technique mais je ne sais pas tout de votre mixture interne. Quelques histoires de droit sont à prévoir pour un accès simultané avec SSH et HTTPS. Si vous cherchez un précédent, le projet KDE propose un accès SVN+SSH ou HTTPS au choix (mais pas simultanément pour un même compte je crois).


Voilou, voilou, c'était la suggestion du jour :)

Gray's Law of Programming:
        'n+1' trivial tasks are expected to be accomplished in the same time as 'n' tasks.
Logg's Rebuttal to Gray's Law:
        'n+1' trivial tasks take twice as long as 'n' trivial tasks.

Re: Suggestion : accès aux dépôts SVN par HTTPS

Le truc cool avec svn+ssh:// c'est que les droits sont faciles a mettre en oeuvre, suffit de laisser la magie des droits unix faire son oeuvre... avec dav c'est la galère.

Puis générer des configurations automatiquement c'est LE plan galère assuré.

Ensuite, si le but c'est juste de passer un firewall, c'est pas vraiment le job de TuxFamily, TCP a été conçu pour gérer 64K ports c'est bien pour qu'ils soient utilisés :-)

Mais bon si ya un motivé pour faire en sorte que ça marche aussi simplement que le svn+ssh:// et sans générer de fichier de conf (dével d'un module apache allant taper dans la db VHFFS ou je ne sais quoi), on prend !

Re: Suggestion : accès aux dépôts SVN par HTTPS

gradator wrote:

Mais bon si ya un motivé pour faire en sorte que ça marche aussi simplement que le svn+ssh:// et sans générer de fichier de conf (dével d'un module apache allant taper dans la db VHFFS ou je ne sais quoi), on prend !

J'étudierai ce qu'il est possible de faire pour gérer les conf, ça ne m'étonnerait pas qu'il existe déjà des débuts de solution. Pour ce qui est des droits, il faut que le serveur Apache ait les permissions de lecture / écriture sur les fichiers (via un groupe ça devrait aller) mais effectivement, les utilisateurs employés pour l'authentification ne sont pas les utilisateurs UNIX.

Gray's Law of Programming:
        'n+1' trivial tasks are expected to be accomplished in the same time as 'n' tasks.
Logg's Rebuttal to Gray's Law:
        'n+1' trivial tasks take twice as long as 'n' trivial tasks.

Re: Suggestion : accès aux dépôts SVN par HTTPS

Je suis moi aussi très intéressé par cette fonctionnalité. L'équipe de mon projet est composée d'étudiants dont 80% doivent être derière un firewall de cité U (qui bloque, entre autres le site des emplois du temps de la fac c'est dire s'ils vont ouvrir les ports rien que pour nous…)

Sinon si quelqu'un connaît un proxy https → svn+ssh, je suis prenneur. L'autre fois j'avais dû passer 3 ou 4h à chercher un webftp qui passe su tuxfamily :/

Bonne journée :)

Re: Suggestion : accès aux dépôts SVN par HTTPS

Bonjour,

Je suis aussi intéressé par cette fonctionnalité.

Re: Suggestion : accès aux dépôts SVN par HTTPS

Bonjour,

cette fonctionnalité m'intéresse aussi, au minimum pour autoriser l'accès en lecture aux dépots SVN via https.

Est-ce qu'elle est toujours d'actualité ?
Sinon quel serait l'effort pour la développer ?

Merci

Re: Suggestion : accès aux dépôts SVN par HTTPS

J'ai bien une solution toute faite et qui marche de suite, abandonner subversion et passer à Git ou mercurial.

git clone https://git.tuxfamily.org/path/to/repository/ fonctionne.
hg clone  https://hg.tuxfamily.org/path/to/repository/ fonctionne aussi.

Pour nous, subversion est une technologie du passé, dans le même bac que CVS, il est peu probable qu'on fasse quoi que ce soit de plus pour lui. Surtout que la dernière fois qu'on a regardé, le plugin webdav-svn d'Apache était une grosse merde inutilisable et c'est peu probable que ça ait évolué entre temps.

Sylvain

Re: Suggestion : accès aux dépôts SVN par HTTPS

ah oui, passer à git c'est un peu radical comme solution :)

Je vais voir s'il n'existe pas des passerelles https->svn disponibles.

Merci