Hi Christian,

When adding the repository, we perform a couple of checks. One of those is
the SSH test, where we attempt to check if we have a key suitable for
communicating with the host. It sounds like that passed. We use Paramiko (a
Python SSH library) rather than OpenSSH for this test.

For actual communication with the repository, libsvn (and anything it pulls
in) is used instead. It sounds like, while Paramiko handled this fine,
libsvn has not.

I'm not sure how Subversion works with PGP-based SSH keys, but that seems
to be where things are failing. You can try setting $HOME to $sitedir/data
and interact with your repository from the terminal, see if that also
triggers an authentication error.

Christian


-- 
Christian Hammond
President/CEO of Beanbag <https://www.beanbaginc.com/>
Makers of Review Board <https://www.reviewboard.org/>

On Tue, Sep 27, 2016 at 6:18 AM, 'Christian Mueller' via reviewboard <
reviewboard@googlegroups.com> wrote:

> Hello David,
>
> first of all sorry for my delayed answer...
>
> Well, I inserted the name of the repository and clicked the checkbox "show
> repository". I used the path to the root of the repository (I know that is
> important). The repository type is Subversion.
> I chose "None - Custom Repository" as Hosting Service, no BugTracker and
> Access Control as "publicly accessible".
>
> I didn't change anything under "advanced settings" or "internal state"
>
>
> now to the interesting part:
> I didn't enter any user or password because our repository works with pgp
> keys. therefore I copied the private key to [rb root]/data/.ssh/id_rsa.
> this seems to work because I could create the repository within the
> webGui. without that key or with wrong permissions (user www-data!) of that
> key file I was not able to enter the repository at all.
>
> see directory permissions:
>
>
>
> *drwxr-xr-x 2 www-data root     4096 Sep 15 08:19 .drwxr-xr-x 4 www-data
> root     4096 Sep 15 08:20 ..-rw------- 1 www-data root     1687 Sep 15
> 08:18 id_rsa-rw-r--r-- 1 www-data www-data  395 Sep 15 08:19 known_hosts*
>
> I hope you can use this information...
>
> Thanks for your help!
> regards, Christian Mueller
>
>
>
>
> Am Donnerstag, 15. September 2016 16:34:31 UTC+2 schrieb Christian Mueller:
>>
>> Hello,
>>
>> I set up my review board yesterday and until now I am not able to add a
>> review of modified files to the review board. The tool "rbt post" works for
>> complete new files but not for already existing files which are only
>> modified.
>> I just called: $rbt post -d
>>
>> First of all some information about my software and system used:
>> ReviewBoard 2.5.6.1
>> RBTools: 0.7.6
>> Python: 2.7.9
>> OS: Linux debian-8.1 64 bit (Virtual Machine)
>>
>>
>> So far I managed to add a repository to the review board, so the RSA key
>> seems to be fine. I can also login into the review board (command line: rbt
>> login) and in the webgui, so the login information is correct as well.
>> I always get the error Authorization failed, but I am not sure which
>> Authorization is concerned. My guess is that something in the HTTP POST
>> request doesn't work?!
>>
>>
>> >>> RBTools 0.7.6
>> >>> Python 2.7.9 (default, Mar  1 2015, 12:57:24)
>> [GCC 4.9.2]
>> >>> Running on Linux-3.16.0-4-amd64-x86_64-with-debian-8.1
>> >>> Home = /home/cmul
>> >>> Current directory = /home/cmul/dev/svn/anpr_config_reviewboard_test
>> >>> Checking for a Subversion repository...
>> >>> Running: svn --non-interactive info
>> >>> Running: diff --version
>> >>> Running: svn --non-interactive --version -q
>> >>> repository info: Path: svn+ssh://svnu...@svn.efkon.com/anprconfig,
>> Base path: /trunk, Supports changesets: False
>> >>> Making HTTP GET request to http://10.1.19.20/api/
>> >>> Making HTTP GET request to http://10.1.19.20/api/reposito
>> ries/?tool=Subversion
>> >>> Cached response for HTTP GET http://10.1.19.20/api/reposito
>> ries/?tool=Subversion expired and was modified
>> >>> Running: svn --non-interactive info
>> >>> Running: diff --version
>> >>> Running: svn --non-interactive --version -q
>> >>> repository info: Path: svn+ssh://svnu...@svn.efkon.com/anprconfig,
>> Base path: /trunk, Supports changesets: False
>> >>> Running: svn --non-interactive status -q --ignore-externals README.
>> txt
>> >>> Running: svn --non-interactive diff --diff-cmd=diff --notice-ancestry
>> -r BASE README.txt
>> >>> Running: svn --non-interactive info README.txt
>> >>> Running: svn --non-interactive diff --diff-cmd=diff --notice-ancestry
>> -r BASE README.txt --no-diff-deleted
>> >>> Running: svn --non-interactive info README.txt
>> >>> Running: svn --non-interactive info README.txt
>> >>> Running: svn --non-interactive info README.txt
>> >>> Making HTTP GET request to http://10.1.19.20/api/validation/diffs/
>> >>> Cached response for HTTP GET http://10.1.19.20/api/validation/diffs/
>> expired and was modified
>> >>> Making HTTP POST request to http://10.1.19.20/api/validation/diffs/
>> >>> Got API Error 224 (HTTP code 400): Authorization failed
>> >>> Error data: {u'stat': u'fail', u'err': {u'msg': u'Authorization
>> failed', u'code': 224}}
>> Traceback (most recent call last):
>>   File "/usr/local/bin/rbt", line 9, in <module>
>>     load_entry_point('RBTools==0.7.6', 'console_scripts', 'rbt')()
>>   File "/usr/local/lib/python2.7/dist-packages/RBTools-0.7.6-py2.7.
>> egg/rbtools/commands/main.py", line 133, in main
>>     command.run_from_argv([RB_MAIN, command_name] + args)
>>   File "/usr/local/lib/python2.7/dist-packages/RBTools-0.7.6-py2.7.
>> egg/rbtools/commands/__init__.py", line 629, in run_from_argv
>>     exit_code = self.main(*args) or 0
>>   File "/usr/local/lib/python2.7/dist-packages/RBTools-0.7.6-py2.7.
>> egg/rbtools/commands/post.py", line 756, in main
>>     (msg_prefix, e))
>> rbtools.commands.CommandError: Error validating diff
>>
>> Authorization failed (HTTP 400, API Error 224)
>>
>>
>>
>> I inserted some debug output in the file "/usr/local/lib/python2.7/dist
>> -packages/RBTools-0.7.6-py2.7.egg/rbtools/commands/post.py" and all
>> information looks correct but nevertheless an exception is thrown.
>>
>> Debug variables output:
>> diff_validator: ValidateDiffResource(transport=<SyncTransport(url=u'
>> http://10.1.19.20', cookie_file=u'/home/cmul/.rbtools-cookies', agent=
>> 'RBTools/0.7.6')>, payload={u'stat': u'ok', u'links': {u'self': {u'href':
>> u'http://10.1.19.20/api/validation/diffs/', u'method': u'GET'}, u'create'
>> : {u'href': u'http://10.1.19.20/api/validation/diffs/', u'method': u
>> 'POST'}}}, url=u'http://10.1.19.20/api/validation/diffs/', token=None)
>>
>> repository: anprconfig
>>
>> parent_diff: None
>>
>> base_dir: anprconfig
>>
>> diff: Index: /trunk/README.txt
>>
>> The reviewboard log file or any other log (apache2/error.log, syslog,
>> postgresql-log) didn't give any valuable information.
>>
>> Hopefully somebody can help because I really liked the old reviewboard
>> (1.7) we used until now and I really would like to update to the new
>> version...
>> Thanks a lot in advance!
>>
>> regards, Christian
>>
>> --
> Supercharge your Review Board with Power Pack:
> https://www.reviewboard.org/powerpack/
> Want us to host Review Board for you? Check out RBCommons:
> https://rbcommons.com/
> Happy user? Let us know! https://www.reviewboard.org/users/
> ---
> You received this message because you are subscribed to the Google Groups
> "reviewboard" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to reviewboard+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
"reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to