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 - [email protected] Review Board - https://www.reviewboard.org Beanbag, Inc. - https://www.beanbaginc.com On Tue, Sep 1, 2015 at 6:55 AM, Zach <[email protected]> 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 [email protected]. > 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
