You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Fabian Angelstorf <f....@googlemail.com> on 2011/10/16 16:16:59 UTC

client-sided encrypted SVN

Dear Mailinglist,
I am part of a group of students, who are a working on a fully client-sided
encrypted version of SVN.
After our last inquiry as to how to implement this the best way, we've
decided to introduce a new http-library for this purpose and have been
working on this since.

Our concept utilizes SVN's property routines to broadcast public keys.
Working on this we encountered a problem. While applying textdeltas, we need
all keys for a file that is being updated , which are stored in the
properties, to decrypt it. But it seems that properties which have been set
in the same revision to which the client updates aren't established locally
yet and can't be accessed using standard "svn_client_propget3". (You can
find a more detailed example below) Is this true? Are they stored and
accessable elsewhere?

Because of this we can't access those vital public keys and can't decrypt
our files.

Thanks for your help & best regards
Fabian Angelstorf

Example:
Step 0.
Client A @ RevNum Z
Client B @ RevNum Z

Step 1.
Client A sets property public key for file x
Client A commits file x, which changes in the process because gets encrypted
Client A is at Z+1
Step 2.
Client B updates
CLient B tries to access properties, finds none
Client B can't decrypt when processing deltas

Re: client-sided encrypted SVN

Posted by Branko Čibej <br...@xbc.nu>.
On 18.10.2011 18:32, Fabian Angelstorf wrote:
> Hey Brane,
> thanks for your reply.
> Yes, the answer was obvious and we have found it. Or at least obvious to
> somebody who is familiar with the project's source-code.

Well, I've not been too familiar with SVN code for quite a few years
now. So my assertion wasn't based on intimate knowledge of the editor
baton. :)

Good job on figuring out a better solution than the one I had in mind.

-- Brane


Re: client-sided encrypted SVN

Posted by Fabian Angelstorf <f....@googlemail.com>.
Hey Brane,
thanks for your reply.
Yes, the answer was obvious and we have found it. Or at least obvious to
somebody who is familiar with the project's source-code. To somebody new to
the code it isn't always easy to find what you are looking for, when you are
looking at - gosh, I don't even know how many lines of code.
We decided to ask rather than look ourselves anyfurther since we have been
hacking our way through this huge leviathan for weeks now and have
encountered several minor or major issues like this.
Therefore, since it is obvious to programmers acquainted with the code, but
not for people getting to know it just now, some pointers would have been
welcome.
Anyways thanks for taking the time to reply.

For other generations that might stumble upon this:
The file_baton contains a propchange list, that can be evaluated.

Best regards.

Fabian

2011/10/17 Branko Čibej <br...@xbc.nu>

> On 16.10.2011 16:16, Fabian Angelstorf wrote:
> > Dear Mailinglist,
> > I am part of a group of students, who are a working on a fully
> > client-sided encrypted version of SVN.
> > After our last inquiry as to how to implement this the best way, we've
> > decided to introduce a new http-library for this purpose and have been
> > working on this since.
> >
> > Our concept utilizes SVN's property routines to broadcast public keys.
> > Working on this we encountered a problem.
>
> The solution should be fairly obvious, so do put a bit of effort into
> figuring it out before calling for help with your assignment.
>
> -- Brane
>
>

Re: client-sided encrypted SVN

Posted by Branko Čibej <br...@xbc.nu>.
On 16.10.2011 16:16, Fabian Angelstorf wrote:
> Dear Mailinglist,
> I am part of a group of students, who are a working on a fully
> client-sided encrypted version of SVN.
> After our last inquiry as to how to implement this the best way, we've
> decided to introduce a new http-library for this purpose and have been
> working on this since.
>
> Our concept utilizes SVN's property routines to broadcast public keys.
> Working on this we encountered a problem.

The solution should be fairly obvious, so do put a bit of effort into
figuring it out before calling for help with your assignment.

-- Brane