bugmonotone - Bugs: bug #22507, Remote anonymous access to repo

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #22507: Remote anonymous access to repo

Submitted by:  None
Submitted on:  Fri 07 Mar 2008 01:30:11 AM UTC  
 
Category: networkingSeverity: 3 - Normal
Item Group: feature requestStatus: Works for me
Privacy: PublicAssigned to: None
Open/Closed: Closed
mtn version --full: 

monotone 0.38 (base revision: c1757f6cde49bddd77c82580059105bc470145b2)
Running on : Linux 2.6.18-53.1.6.el5xen #1 SMP Wed Jan 16 04:10:44 EST 2008 x86_64
C++ compiler : GNU C++ version 4.1.2 20070626 (Red Hat 4.1.2-14)
C++ standard library: GNU libstdc++ version 20070626
Boost version : 1_33_1
Changes since base revision:
format_version "1"

new_manifest [085f4d04a0bbbc06b44cf6194ca9c2079f924cdd]

old_revision [c1757f6cde49bddd77c82580059105bc470145b2]

Generated from data cached in the distribution;
further changes may have been made.

Fri 07 Mar 2008 03:57:49 AM UTC, comment #2:

Monotone can do exactly what you want, though it isn't as polished as it might be. You're looking for "usher". Query on the mailing list for more details, and feel free to file more bugs if you run into more specific problems using it...

Nathaniel Smith <njs>
Project Member
Fri 07 Mar 2008 03:44:08 AM UTC, comment #1:

This report is not very clear. As monotone folks know, monotone's
standalone netsync server does this fine, in its way. What is needed is a
reasonable way to host separate db's on a server for separate projects.

For authenticated access, ssh:// db uris work fine to tie into separate
per-db authentication (via filesystem permissions and ssh server controls)
and that matches what hosting folks expect from other systems.

For anonymous access, none of the several options have worked out well.
I think the clearly best solution would be to support mtn://host/dbname
uris for the netsync protocol and have that protocol start with dbname
selection before any other handshake (so different dbname's can even have
different server keys). On the server side, lua can map dbname to db file
and other hook set (details can almost all be done in lua).

One thing I tried was to set up a single anonymous-only mirror db served by
regular netsync and not allowing any normal writes. This would be a big
soup db of all projects' branch names thrown together, so it's still not so
hot, but survivable since people use reasonable branch name conventions. I
tried to make the mirror get auto-updated by the netsync server running via
ssh on the authenticated-access writable db, using lua hooks and
server_request_sync. But that hit the weird bugs with handling pipe fds
that I posted on monotone-devel about.

The next plan was a ssh://anonymous@host/dbfile uri. My first hope for
that was that just by changing the forced mtn command not to use
--no-transport-auth, the connection would like anonymous netsync and just
win. But, insanely, the protocol doesn't self-identify with auth vs noauth
handshake, so the opposite ends are just confused. (Unless I make every
user install extra lua magic to make it not expect --no-transport-auth.)

I'll cons another ssh-based kludge plan. But this is far too much work.

Anonymous
Fri 07 Mar 2008 01:30:11 AM UTC, original submission:

Monotone needs to provide some way to remotely access the repo anonymously. Similar to what git:// does or over http.

Anonymous

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by njs (Posted a comment)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 07 Mar 2008 03:57:49 AM UTCnjsStatusNone=>Works for me
      Open/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup1