Hey Christian, Do you have any other suggestions?
Thanks, -Zach On Thursday, September 3, 2015 at 9:46:41 AM UTC-4, Zach wrote: > > Our Apache server runs reviewboard as a wsgi daemon process. Its other > function is to authenticate the user against active directory and then pass > the REMOTE_USER header to reviewboard, which we then handle in a custom > django remote user middleware. > > I tried the --disable-proxy switch and still received the same error for > both commands (`post` and `status`). > > If i try to do a get on the site directly, it works (meaning the > credentials are likely not being sent correctly): > > $ curl -usvc-reviewboard:`cat ~/.svc-reviewboard` > http://reviewboard.company.com/api/validation/diffs/; echo > {"stat": "ok", "links": {"self": {"href": " > http://reviewboard.company.com/api/validation/diffs/", "method": "GET"}, > "create": {"href": "http://reviewboard.company.com/api/validation/diffs/", > "method": "POST"}}} > > > On Wednesday, September 2, 2015 at 5:41:53 PM UTC-4, Christian Hammond > wrote: >> >> What this looks like to me is that our attempts at pre-filling the >> Authorization header isn't working. Looks like the proxy is getting in the >> way and eating it. Review Board then sends a 401, which is supposed to have >> an API payload, but the proxy is messing with that. >> >> Is this a proxy server for internal usage, or is it meant to be used to >> reach the outside Internet? Assuming the server is within the network, can >> you just use --disable-proxy (or DISABLE_PROXY = True in ~/.reviewboardrc) ? >> >> Christian >> >> -- >> Christian Hammond - chi...@chipx86.com >> Review Board - https://www.reviewboard.org >> Beanbag, Inc. - https://www.beanbaginc.com >> >> On Tue, Sep 1, 2015 at 6:55 AM, Zach <zac...@gmail.com> wrote: >> >>> I realized it's getting a 401 on api/validation/diffs for `post` and an >>> error on api/session/?expand=user for `status`: >>> >>> $ ~/rbtools0.7.4/bin/rbt post --username=svc-reviewboard >>> --password=`cat ~/.svc-reviewboard` --debug >>> >>> RBTools 0.7.4 >>> >>> Python 2.6.6 (r266:84292, Nov 21 2013, 10:50:32) >>> [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] >>> >>> Running on >>> Linux-2.6.32-504.23.4.el6.x86_64-x86_64-with-redhat-6.6-Santiago >>> >>> Home = /home/<username> >>> >>> Current directory = /home/<username>/rb_test >>> >>> Running: git version >>> >>> Checking for a Subversion repository... >>> >>> Running: svn --non-interactive info >>> >>> Command exited with rc 1: ['svn', '--non-interactive', u'info'] >>> svn: '.' is not a working copy >>> --- >>> >>> Checking for a Git repository... >>> >>> Running: git rev-parse --git-dir >>> >>> Running: git config core.bare >>> >>> Running: git rev-parse --show-toplevel >>> >>> Running: git symbolic-ref -q HEAD >>> >>> Running: git config --get branch.<username>_rb_test.merge >>> >>> Command exited with rc 1: ['git', 'config', '--get', u'branch. >>> <username>_rb_test.merge'] >>> --- >>> >>> Running: git config --get branch.<username>_rb_test.remote >>> >>> Command exited with rc 1: ['git', 'config', '--get', u'branch. >>> <username>_rb_test.remote'] >>> --- >>> >>> Running: git config --get remote.origin.url >>> >>> repository info: Path: https://<gitlabusername>:<gitlabpassword>@ >>> gitlab.company.com/<folder>/<repo>.git, Base path: , Supports >>> changesets: False >>> >>> Making HTTP GET request to http://reviewboard.company.com/api/ >>> >>> Running: git rev-parse refs/heads/<username>t_new_rb_test >>> >>> Running: git merge-base 0acfafe86d9f898ae5eebfdd23a1fc26643c71ab >>> origin/<username>_rb_test >>> >>> Running: git rev-parse e574f4d22b67539c7e192e08462fb260807e6ecd >>> >>> Running: git status --porcelain --untracked-files=no >>> >>> Running: git rev-parse --git-dir >>> >>> Running: git -c core.quotepath=false -c diff.noprefix=false diff >>> --no-color --full-index --ignore-submodules -M --no-ext-diff >>> e574f4d22b67539c7e192e08462fb260807e6ecd..0acfafe86d9f898ae5eebfdd23a1fc26643c71ab >>> >>> Making HTTP GET request to >>> http://reviewboard.company.com/api/validation/diffs/ >>> >>> Got HTTP error: 401: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML >>> 2.0//EN"> >>> <html><head> >>> <title>401 Authorization Required</title> >>> </head><body> >>> <h1>Authorization Required</h1> >>> <p>This server could not verify that you >>> are authorized to access the document >>> requested. Either you supplied the wrong >>> credentials (e.g., bad password), or your >>> browser doesn't understand how to supply >>> the credentials required.</p> >>> </body></html> >>> >>> Traceback (most recent call last): >>> File "/home/<username>/rbtools0.7.4/bin/rbt", line 9, in <module> >>> load_entry_point('RBTools==0.7.4', 'console_scripts', 'rbt')() >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/commands/main.py", >>> >>> line 133, in main >>> command.run_from_argv([RB_MAIN, command_name] + args) >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/commands/__init__.py", >>> >>> line 612, in run_from_argv >>> exit_code = self.main(*args) or 0 >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/commands/post.py", >>> >>> line 754, in main >>> (msg_prefix, e)) >>> rbtools.commands.CommandError: Error validating diff >>> >>> HTTP 401 >>> >>> >>> $ ~/rbtools0.7.4/bin/rbt status --username=svc-reviewboard >>> --password=`cat ~/.svc-reviewboard` --debug >>> >>> RBTools 0.7.4 >>> >>> Python 2.6.6 (r266:84292, Nov 21 2013, 10:50:32) >>> [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] >>> >>> Running on >>> Linux-2.6.32-504.23.4.el6.x86_64-x86_64-with-redhat-6.6-Santiago >>> >>> Home = /home/<username> >>> >>> Current directory = /home/<username>/rb_test >>> >>> Running: git version >>> >>> Checking for a Subversion repository... >>> >>> Running: svn --non-interactive info >>> >>> Command exited with rc 1: ['svn', '--non-interactive', u'info'] >>> svn: '.' is not a working copy >>> --- >>> >>> Checking for a Git repository... >>> >>> Running: git rev-parse --git-dir >>> >>> Running: git config core.bare >>> >>> Running: git rev-parse --show-toplevel >>> >>> Running: git symbolic-ref -q HEAD >>> >>> Running: git config --get branch.<username>_rb_test.merge >>> >>> Command exited with rc 1: ['git', 'config', '--get', >>> u'branch.<username>_rb_test.merge'] >>> --- >>> >>> Running: git config --get branch.<username>_rb_test.remote >>> >>> Command exited with rc 1: ['git', 'config', '--get', >>> u'branch.<username>_rb_test.remote'] >>> --- >>> >>> Running: git config --get remote.origin.url >>> >>> repository info: Path: https://<gitlabusername>:<gitlabpassword>@ >>> gitlab.company.com/formulas/review-board.git, Base path: , Supports >>> changesets: False >>> >>> Making HTTP GET request to http://reviewboard.company.com/api/ >>> >>> Making HTTP GET request to >>> http://reviewboard.company.com/api/session/?expand=user >>> >>> Got HTTP error: 401: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML >>> 2.0//EN"> >>> <html><head> >>> <title>401 Authorization Required</title> >>> </head><body> >>> <h1>Authorization Required</h1> >>> <p>This server could not verify that you >>> are authorized to access the document >>> requested. Either you supplied the wrong >>> credentials (e.g., bad password), or your >>> browser doesn't understand how to supply >>> the credentials required.</p> >>> </body></html> >>> >>> Traceback (most recent call last): >>> File "/home/<username>/rbtools0.7.4/bin/rbt", line 9, in <module> >>> load_entry_point('RBTools==0.7.4', 'console_scripts', 'rbt')() >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/commands/main.py", >>> >>> line 133, in main >>> command.run_from_argv([RB_MAIN, command_name] + args) >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/commands/__init__.py", >>> >>> line 612, in run_from_argv >>> exit_code = self.main(*args) or 0 >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/commands/status.py", >>> >>> line 41, in main >>> username = get_username(api_client, api_root, auth_required=True) >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/utils/users.py", >>> >>> line 64, in get_username >>> user = get_user(api_client, api_root, auth_required) >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/utils/users.py", >>> >>> line 54, in get_user >>> session = get_authenticated_session(api_client, api_root, >>> auth_required) >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/utils/users.py", >>> >>> line 22, in get_authenticated_session >>> session = api_root.get_session(expand='user') >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/api/resource.py", >>> >>> line 146, in <lambda> >>> self._get_url(url, **kwargs))) >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/api/decorators.py", >>> >>> line 27, in request_method >>> *args, **kwargs) >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/api/transport/sync.py", >>> >>> line 74, in execute_request_method >>> return self._execute_request(request) >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/api/transport/sync.py", >>> >>> line 83, in _execute_request >>> rsp = self.server.make_request(request) >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/api/request.py", >>> >>> line 577, in make_request >>> self.process_error(e.code, e.read()) >>> File >>> "/home/<username>/rbtools0.7.4/lib/python2.6/site-packages/RBTools-0.7.4-py2.6.egg/rbtools/api/request.py", >>> >>> line 553, in process_error >>> raise APIError(http_status, None, None, data) >>> rbtools.api.errors.APIError: HTTP 401 >>> >>> >>> >>> On Tuesday, June 24, 2014 at 1:38:03 AM UTC-4, Pierre Mariani wrote: >>> >>>> We use Review Board at work. It is installed on a web server that >>>> is protected by HTTP Basic Authentication. >>>> >>>> We haven't been able to use RBTools to interact with it as we >>>> couldn't find the right configuration to pass this authentication >>>> wall. >>>> >>>> After looking through the code, I didn't see how it could be >>>> configured at all, and came to the conclusion that this feature >>>> wasn't supported. >>>> >>>> I also didn't find an obvious way to modify >>>> ReviewBoardHTTPBasicAuthHandler or ReviewBoardHTTPPasswordMgr to >>>> add that feature. >>>> >>>> I resorted to defining a new server option, and passing it >>>> through RBClient, SyncTransport and finally to ReviewBoardServer, >>>> where it is used to define a new urllib2.HTTPBasicAuthHandler >>>> which gets added to the list of handlers. >>>> You can see the diff at >>>> https://github.com/pmariani/rbtools/compare/basic-auth-hack >>>> >>>> It's hacky but good enough for my use case. However, I would >>>> rather not maintain a fork and would like to be able to push >>>> similar changes back to the main RBTools repo. >>>> >>>> Can someone confirm that HTTP Basic Authentication isn't currently >>>> supported >>>> in RBTools? >>>> >>>> Are there design resources that would let me adapt my hack to >>>> something acceptable by the project? >>>> >>>> Thank you >>>> >>>> >>>> -- >>> 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...@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.