Mercurial > hg
annotate tests/test-http-permissions.t @ 36755:ff4bc0ab6740 stable
wireproto: check permissions when executing "batch" command (BC) (SEC)
For as long as the "batch" command has existed (introduced by
bd88561afb4b and first released as part of Mercurial 1.9), that command
(like most wire commands introduced after 2008) lacked an entry in
the hgweb permissions table. And since we don't verify permissions if
an entry is missing from the permissions table, this meant that
executing a command via "batch" would bypass all permissions
checks.
The security implications are significant: a Mercurial HTTP server
would allow writes via "batch" wire protocol commands as long as
the HTTP request were processed by Mercurial and the process running
the Mercurial HTTP server had write access to the repository. The
Mercurial defaults of servers being read-only and the various web.*
config options to define access control were bypassed.
In addition, "batch" could be used to exfiltrate data from servers
that were configured to not allow read access.
Both forms of permissions bypass could be mitigated to some extent
by using HTTP authentication. This would prevent HTTP requests from
hitting Mercurial's server logic. However, any authenticated request
would still be able to bypass permissions checks via "batch" commands.
The easiest exploit was to send "pushkey" commands via "batch" and
modify the state of bookmarks, phases, and obsolescence markers.
However, I suspect a well-crafted HTTP request could trick the server
into running the "unbundle" wire protocol command, effectively
performing a full `hg push` to create new changesets on the remote.
This commit plugs this gaping security hole by having the "batch"
command perform permissions checking on each sub-command that is
being batched. We do this by threading a permissions checking
callable all the way to the protocol handler. The threading is a
bit hacky from a code perspective. But it preserves API compatibility,
which is the proper thing to do on the stable branch.
One of the subtle things we do is assume that a command with an
undefined permission is a "push" command. This is the safest thing to
do from a security perspective: we don't want to take chances that
a command could perform a write even though the server is configured
to not allow writes.
As the test changes demonstrate, it is no longer possible to bypass
permissions via the "batch" wire protocol command.
.. bc::
The "batch" wire protocol command now enforces permissions of
each invoked sub-command. Wire protocol commands must define
their operation type or the "batch" command will assume they
can write data and will prevent their execution on HTTP servers
unless the HTTP request method is POST, the server is configured
to allow pushes, and the (possibly authenticated) HTTP user is
authorized to perform a push.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 20 Feb 2018 18:55:58 -0800 |
parents | e3c228b4510d |
children | 2ecb0fc535b1 |
rev | line source |
---|---|
36751
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1 #require killdaemons |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
2 |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
3 $ cat > fakeremoteuser.py << EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
4 > import os |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
5 > from mercurial.hgweb import hgweb_mod |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
6 > from mercurial import wireproto |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
7 > class testenvhgweb(hgweb_mod.hgweb): |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
8 > def __call__(self, env, respond): |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
9 > # Allow REMOTE_USER to define authenticated user. |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
10 > if r'REMOTE_USER' in os.environ: |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
11 > env[r'REMOTE_USER'] = os.environ[r'REMOTE_USER'] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
12 > # Allow REQUEST_METHOD to override HTTP method |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
13 > if r'REQUEST_METHOD' in os.environ: |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
14 > env[r'REQUEST_METHOD'] = os.environ[r'REQUEST_METHOD'] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
15 > return super(testenvhgweb, self).__call__(env, respond) |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
16 > hgweb_mod.hgweb = testenvhgweb |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
17 > |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
18 > @wireproto.wireprotocommand('customreadnoperm') |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
19 > def customread(repo, proto): |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
20 > return b'read-only command no defined permissions\n' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
21 > @wireproto.wireprotocommand('customwritenoperm') |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
22 > def customwritenoperm(repo, proto): |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
23 > return b'write command no defined permissions\n' |
36753
742ce6fbc109
wireproto: move command permissions dict out of hgweb_mod
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36752
diff
changeset
|
24 > wireproto.permissions['customreadwithperm'] = 'pull' |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
25 > @wireproto.wireprotocommand('customreadwithperm') |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
26 > def customreadwithperm(repo, proto): |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
27 > return b'read-only command w/ defined permissions\n' |
36753
742ce6fbc109
wireproto: move command permissions dict out of hgweb_mod
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36752
diff
changeset
|
28 > wireproto.permissions['customwritewithperm'] = 'push' |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
29 > @wireproto.wireprotocommand('customwritewithperm') |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
30 > def customwritewithperm(repo, proto): |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
31 > return b'write command w/ defined permissions\n' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
32 > EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
33 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
34 $ cat >> $HGRCPATH << EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
35 > [extensions] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
36 > fakeremoteuser = $TESTTMP/fakeremoteuser.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
37 > strip = |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
38 > EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
39 |
36751
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
40 $ hg init test |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
41 $ cd test |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
42 $ echo a > a |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
43 $ hg ci -Ama |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
44 adding a |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
45 $ cd .. |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
46 $ hg clone test test2 |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
47 updating to branch default |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
48 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
49 $ cd test2 |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
50 $ echo a >> a |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
51 $ hg ci -mb |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
52 $ hg book bm -r 0 |
36751
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
53 $ cd ../test |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
54 |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
55 web.deny_read=* prevents access to wire protocol for all users |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
56 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
57 $ cat > .hg/hgrc <<EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
58 > [web] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
59 > deny_read = * |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
60 > EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
61 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
62 $ hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
63 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
64 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
65 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=capabilities' |
36754
e3c228b4510d
wireproto: declare operation type for most commands (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36753
diff
changeset
|
66 401 read not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
67 |
36754
e3c228b4510d
wireproto: declare operation type for most commands (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36753
diff
changeset
|
68 0 |
e3c228b4510d
wireproto: declare operation type for most commands (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36753
diff
changeset
|
69 read not authorized |
e3c228b4510d
wireproto: declare operation type for most commands (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36753
diff
changeset
|
70 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
71 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
72 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=stream_out' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
73 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
74 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
75 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
76 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
77 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
78 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
79 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=listkeys' --requestheader 'x-hgarg-1=namespace=phases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
80 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
81 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
82 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
83 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
84 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
85 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
86 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=listkeys+namespace%3Dphases' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
87 401 read not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
88 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
89 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
90 read not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
91 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
92 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
93 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
94 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
95 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadnoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
96 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
97 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
98 read-only command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
99 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
100 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadwithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
101 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
102 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
103 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
104 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
105 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
106 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
107 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
108 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
109 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
110 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
111 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
112 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
113 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
114 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
115 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
116 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
117 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
118 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
119 $ hg --cwd ../test2 pull http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
120 pulling from http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
121 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
122 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
123 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
124 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
125 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
126 web.deny_read=* with REMOTE_USER set still locks out clients |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
127 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
128 $ REMOTE_USER=authed_user hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
129 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
130 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
131 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=capabilities' |
36754
e3c228b4510d
wireproto: declare operation type for most commands (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36753
diff
changeset
|
132 401 read not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
133 |
36754
e3c228b4510d
wireproto: declare operation type for most commands (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36753
diff
changeset
|
134 0 |
e3c228b4510d
wireproto: declare operation type for most commands (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36753
diff
changeset
|
135 read not authorized |
e3c228b4510d
wireproto: declare operation type for most commands (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36753
diff
changeset
|
136 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
137 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
138 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=stream_out' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
139 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
140 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
141 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
142 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
143 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
144 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
145 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=listkeys+namespace%3Dphases' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
146 401 read not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
147 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
148 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
149 read not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
150 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
151 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
152 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
153 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
154 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadnoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
155 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
156 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
157 read-only command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
158 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
159 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadwithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
160 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
161 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
162 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
163 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
164 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
165 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
166 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
167 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
168 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
169 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
170 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
171 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
172 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
173 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
174 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
175 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
176 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
177 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
178 $ hg --cwd ../test2 pull http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
179 pulling from http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
180 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
181 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
182 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
183 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
184 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
185 web.deny_read=<user> denies access to unauthenticated user |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
186 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
187 $ cat > .hg/hgrc <<EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
188 > [web] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
189 > deny_read = baduser1,baduser2 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
190 > EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
191 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
192 $ hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
193 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
194 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
195 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=listkeys' --requestheader 'x-hgarg-1=namespace=phases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
196 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
197 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
198 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
199 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
200 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
201 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
202 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=listkeys+namespace%3Dphases' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
203 401 read not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
204 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
205 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
206 read not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
207 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
208 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
209 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
210 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
211 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadnoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
212 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
213 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
214 read-only command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
215 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
216 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadwithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
217 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
218 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
219 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
220 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
221 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
222 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
223 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
224 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
225 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
226 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
227 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
228 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
229 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
230 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
231 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
232 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
233 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
234 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
235 $ hg --cwd ../test2 pull http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
236 pulling from http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
237 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
238 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
239 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
240 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
241 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
242 web.deny_read=<user> denies access to users in deny list |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
243 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
244 $ REMOTE_USER=baduser2 hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
245 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
246 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
247 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=listkeys' --requestheader 'x-hgarg-1=namespace=phases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
248 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
249 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
250 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
251 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
252 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
253 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
254 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=listkeys+namespace%3Dphases' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
255 401 read not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
256 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
257 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
258 read not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
259 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
260 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
261 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
262 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
263 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadnoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
264 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
265 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
266 read-only command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
267 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
268 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadwithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
269 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
270 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
271 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
272 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
273 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
274 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
275 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
276 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
277 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
278 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
279 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
280 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
281 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
282 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
283 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
284 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
285 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
286 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
287 $ hg --cwd ../test2 pull http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
288 pulling from http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
289 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
290 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
291 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
292 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
293 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
294 web.deny_read=<user> allows access to authenticated users not in list |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
295 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
296 $ REMOTE_USER=gooduser hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
297 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
298 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
299 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=listkeys' --requestheader 'x-hgarg-1=namespace=phases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
300 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
301 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
302 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 1 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
303 publishing True (no-eol) |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
304 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
305 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=listkeys+namespace%3Dphases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
306 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
307 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
308 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 1 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
309 publishing True (no-eol) |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
310 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
311 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadnoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
312 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
313 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
314 read-only command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
315 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
316 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadwithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
317 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
318 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
319 read-only command w/ defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
320 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
321 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
322 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
323 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
324 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
325 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
326 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
327 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
328 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
329 405 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
330 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
331 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
332 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
333 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
334 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
335 $ hg --cwd ../test2 pull http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
336 pulling from http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
337 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
338 no changes found |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
339 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
340 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
341 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
342 web.allow_read=* allows reads for unauthenticated users |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
343 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
344 $ cat > .hg/hgrc <<EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
345 > [web] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
346 > allow_read = * |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
347 > EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
348 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
349 $ hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
350 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
351 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
352 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=listkeys' --requestheader 'x-hgarg-1=namespace=phases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
353 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
354 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
355 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 1 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
356 publishing True (no-eol) |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
357 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
358 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=listkeys+namespace%3Dphases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
359 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
360 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
361 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 1 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
362 publishing True (no-eol) |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
363 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
364 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadnoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
365 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
366 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
367 read-only command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
368 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
369 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadwithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
370 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
371 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
372 read-only command w/ defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
373 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
374 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
375 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
376 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
377 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
378 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
379 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
380 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
381 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
382 405 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
383 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
384 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
385 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
386 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
387 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
388 $ hg --cwd ../test2 pull http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
389 pulling from http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
390 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
391 no changes found |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
392 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
393 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
394 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
395 web.allow_read=* allows read for authenticated user |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
396 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
397 $ REMOTE_USER=authed_user hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
398 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
399 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
400 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=listkeys' --requestheader 'x-hgarg-1=namespace=phases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
401 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
402 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
403 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 1 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
404 publishing True (no-eol) |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
405 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
406 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=listkeys+namespace%3Dphases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
407 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
408 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
409 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 1 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
410 publishing True (no-eol) |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
411 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
412 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadnoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
413 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
414 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
415 read-only command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
416 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
417 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadwithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
418 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
419 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
420 read-only command w/ defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
421 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
422 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
423 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
424 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
425 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
426 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
427 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
428 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
429 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
430 405 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
431 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
432 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
433 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
434 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
435 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
436 $ hg --cwd ../test2 pull http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
437 pulling from http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
438 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
439 no changes found |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
440 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
441 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
442 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
443 web.allow_read=<user> does not allow unauthenticated users to read |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
444 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
445 $ cat > .hg/hgrc <<EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
446 > [web] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
447 > allow_read = gooduser |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
448 > EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
449 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
450 $ hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
451 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
452 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
453 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=listkeys' --requestheader 'x-hgarg-1=namespace=phases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
454 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
455 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
456 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
457 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
458 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
459 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
460 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=listkeys+namespace%3Dphases' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
461 401 read not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
462 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
463 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
464 read not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
465 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
466 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
467 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
468 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
469 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadnoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
470 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
471 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
472 read-only command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
473 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
474 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadwithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
475 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
476 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
477 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
478 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
479 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
480 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
481 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
482 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
483 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
484 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
485 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
486 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
487 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
488 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
489 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
490 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
491 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
492 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
493 $ hg --cwd ../test2 pull http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
494 pulling from http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
495 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
496 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
497 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
498 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
499 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
500 web.allow_read=<user> does not allow user not in list to read |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
501 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
502 $ REMOTE_USER=baduser hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
503 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
504 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
505 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=listkeys' --requestheader 'x-hgarg-1=namespace=phases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
506 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
507 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
508 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
509 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
510 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
511 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
512 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=listkeys+namespace%3Dphases' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
513 401 read not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
514 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
515 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
516 read not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
517 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
518 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
519 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
520 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
521 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadnoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
522 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
523 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
524 read-only command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
525 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
526 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadwithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
527 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
528 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
529 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
530 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
531 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
532 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
533 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
534 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
535 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
536 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
537 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
538 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
539 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
540 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
541 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
542 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
543 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
544 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
545 $ hg --cwd ../test2 pull http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
546 pulling from http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
547 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
548 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
549 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
550 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
551 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
552 web.allow_read=<user> allows read from user in list |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
553 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
554 $ REMOTE_USER=gooduser hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
555 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
556 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
557 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=listkeys' --requestheader 'x-hgarg-1=namespace=phases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
558 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
559 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
560 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 1 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
561 publishing True (no-eol) |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
562 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
563 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=listkeys+namespace%3Dphases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
564 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
565 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
566 cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 1 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
567 publishing True (no-eol) |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
568 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
569 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadnoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
570 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
571 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
572 read-only command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
573 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
574 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadwithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
575 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
576 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
577 read-only command w/ defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
578 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
579 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
580 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
581 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
582 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
583 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
584 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
585 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
586 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
587 405 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
588 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
589 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
590 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
591 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
592 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
593 $ hg --cwd ../test2 pull http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
594 pulling from http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
595 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
596 no changes found |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
597 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
598 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
599 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
600 web.deny_read takes precedence over web.allow_read |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
601 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
602 $ cat > .hg/hgrc <<EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
603 > [web] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
604 > allow_read = baduser |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
605 > deny_read = baduser |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
606 > EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
607 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
608 $ REMOTE_USER=baduser hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
609 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
610 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
611 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=listkeys' --requestheader 'x-hgarg-1=namespace=phases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
612 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
613 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
614 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
615 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
616 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
617 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
618 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=listkeys+namespace%3Dphases' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
619 401 read not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
620 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
621 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
622 read not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
623 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
624 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
625 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
626 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
627 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadnoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
628 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
629 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
630 read-only command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
631 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
632 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadwithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
633 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
634 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
635 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
636 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
637 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
638 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
639 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
640 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
641 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
642 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
643 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
644 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
645 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
646 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
647 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
648 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
649 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
650 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
651 $ hg --cwd ../test2 pull http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
652 pulling from http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
653 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
654 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
655 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
656 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
657 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
658 web.allow-pull=false denies read access to repo |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
659 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
660 $ cat > .hg/hgrc <<EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
661 > [web] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
662 > allow-pull = false |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
663 > EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
664 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
665 $ hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
666 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
667 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
668 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=capabilities' |
36754
e3c228b4510d
wireproto: declare operation type for most commands (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36753
diff
changeset
|
669 401 pull not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
670 |
36754
e3c228b4510d
wireproto: declare operation type for most commands (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36753
diff
changeset
|
671 0 |
e3c228b4510d
wireproto: declare operation type for most commands (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36753
diff
changeset
|
672 pull not authorized |
e3c228b4510d
wireproto: declare operation type for most commands (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36753
diff
changeset
|
673 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
674 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
675 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=listkeys' --requestheader 'x-hgarg-1=namespace=phases' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
676 401 pull not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
677 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
678 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
679 pull not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
680 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
681 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
682 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=listkeys+namespace%3Dphases' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
683 401 pull not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
684 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
685 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
686 pull not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
687 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
688 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
689 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
690 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
691 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadnoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
692 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
693 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
694 read-only command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
695 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
696 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadwithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
697 401 pull not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
698 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
699 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
700 pull not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
701 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
702 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
703 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
704 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
705 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
706 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
707 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
708 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
709 405 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
710 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
711 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
712 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
713 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
714 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
715 $ hg --cwd ../test2 pull http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
716 pulling from http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
717 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
718 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
719 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
720 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
721 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
722 Attempting a write command with HTTP GET fails |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
723 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
724 $ cat > .hg/hgrc <<EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
725 > EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
726 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
727 $ REQUEST_METHOD=GET hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
728 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
729 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
730 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=pushkey' --requestheader 'x-hgarg-1=namespace=bookmarks&key=bm&old=&new=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
731 405 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
732 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
733 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
734 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
735 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
736 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
737 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=pushkey+namespace%3Dbookmarks%2Ckey%3Dbm%2Cold%3D%2Cnew%3Dcb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
738 405 push requires POST request |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
739 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
740 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
741 push requires POST request |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
742 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
743 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
744 $ hg bookmarks |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
745 no bookmarks set |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
746 $ hg bookmark -d bm |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
747 abort: bookmark 'bm' does not exist |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
748 [255] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
749 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
750 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
751 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
752 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
753 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
754 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
755 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
756 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
757 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
758 405 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
759 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
760 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
761 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
762 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
763 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
764 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
765 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
766 Attempting a write command with an unknown HTTP verb fails |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
767 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
768 $ REQUEST_METHOD=someverb hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
769 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
770 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
771 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=pushkey' --requestheader 'x-hgarg-1=namespace=bookmarks&key=bm&old=&new=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
772 405 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
773 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
774 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
775 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
776 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
777 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
778 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=pushkey+namespace%3Dbookmarks%2Ckey%3Dbm%2Cold%3D%2Cnew%3Dcb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
779 405 push requires POST request |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
780 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
781 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
782 push requires POST request |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
783 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
784 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
785 $ hg bookmarks |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
786 no bookmarks set |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
787 $ hg bookmark -d bm |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
788 abort: bookmark 'bm' does not exist |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
789 [255] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
790 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
791 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
792 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
793 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
794 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
795 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
796 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
797 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
798 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
799 405 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
800 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
801 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
802 push requires POST request |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
803 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
804 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
805 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
806 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
807 Pushing on a plaintext channel is disabled by default |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
808 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
809 $ cat > .hg/hgrc <<EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
810 > EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
811 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
812 $ REQUEST_METHOD=POST hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
813 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
814 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
815 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=pushkey' --requestheader 'x-hgarg-1=namespace=bookmarks&key=bm&old=&new=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
816 403 ssl required |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
817 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
818 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
819 ssl required |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
820 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
821 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
822 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=pushkey+namespace%3Dbookmarks%2Ckey%3Dbm%2Cold%3D%2Cnew%3Dcb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
823 403 ssl required |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
824 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
825 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
826 ssl required |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
827 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
828 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
829 $ hg bookmarks |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
830 no bookmarks set |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
831 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
832 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
833 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
834 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
835 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
836 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
837 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
838 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
839 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
840 403 ssl required |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
841 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
842 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
843 ssl required |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
844 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
845 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
846 Reset server to remove REQUEST_METHOD hack to test hg client |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
847 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
848 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
849 $ hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
850 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
851 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
852 $ hg --cwd ../test2 push -B bm http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
853 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
854 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
855 no changes found |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
856 abort: HTTP Error 403: ssl required |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
857 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
858 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
859 $ hg --cwd ../test2 push http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
860 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
861 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
862 abort: HTTP Error 403: ssl required |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
863 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
864 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
865 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
866 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
867 web.deny_push=* denies pushing to unauthenticated users |
36751
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
868 |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
869 $ cat > .hg/hgrc <<EOF |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
870 > [web] |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
871 > push_ssl = false |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
872 > deny_push = * |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
873 > EOF |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
874 |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
875 $ REQUEST_METHOD=POST hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
876 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
877 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
878 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=pushkey' --requestheader 'x-hgarg-1=namespace=bookmarks&key=bm&old=&new=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
879 401 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
880 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
881 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
882 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
883 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
884 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
885 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=pushkey+namespace%3Dbookmarks%2Ckey%3Dbm%2Cold%3D%2Cnew%3Dcb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
886 401 push not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
887 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
888 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
889 push not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
890 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
891 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
892 $ hg bookmarks |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
893 no bookmarks set |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
894 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
895 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
896 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
897 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
898 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
899 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
900 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
901 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
902 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
903 401 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
904 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
905 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
906 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
907 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
908 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
909 Reset server to remove REQUEST_METHOD hack to test hg client |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
910 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
911 $ killdaemons.py |
36751
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
912 $ hg serve -p $HGPORT -d --pid-file hg.pid |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
913 $ cat hg.pid > $DAEMON_PIDS |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
914 |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
915 $ hg --cwd ../test2 push -B bm http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
916 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
917 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
918 no changes found |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
919 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
920 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
921 |
36751
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
922 $ hg --cwd ../test2 push http://localhost:$HGPORT/ |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
923 pushing to http://localhost:$HGPORT/ |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
924 searching for changes |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
925 abort: authorization failed |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
926 [255] |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
927 |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
928 $ killdaemons.py |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
929 |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
930 web.deny_push=* denies pushing to authenticated users |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
931 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
932 $ REMOTE_USER=someuser REQUEST_METHOD=POST hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
933 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
934 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
935 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=pushkey' --requestheader 'x-hgarg-1=namespace=bookmarks&key=bm&old=&new=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
936 401 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
937 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
938 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
939 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
940 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
941 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
942 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=pushkey+namespace%3Dbookmarks%2Ckey%3Dbm%2Cold%3D%2Cnew%3Dcb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
943 401 push not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
944 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
945 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
946 push not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
947 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
948 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
949 $ hg bookmarks |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
950 no bookmarks set |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
951 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
952 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
953 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
954 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
955 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
956 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
957 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
958 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
959 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
960 401 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
961 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
962 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
963 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
964 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
965 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
966 Reset server to remove REQUEST_METHOD hack to test hg client |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
967 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
968 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
969 $ REMOTE_USER=someuser hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
970 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
971 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
972 $ hg --cwd ../test2 push -B bm http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
973 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
974 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
975 no changes found |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
976 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
977 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
978 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
979 $ hg --cwd ../test2 push http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
980 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
981 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
982 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
983 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
984 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
985 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
986 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
987 web.deny_push=<user> denies pushing to user in list |
36751
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
988 |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
989 $ cat > .hg/hgrc <<EOF |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
990 > [web] |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
991 > push_ssl = false |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
992 > deny_push = baduser |
36751
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
993 > EOF |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
994 |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
995 $ REMOTE_USER=baduser REQUEST_METHOD=POST hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
996 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
997 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
998 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=pushkey' --requestheader 'x-hgarg-1=namespace=bookmarks&key=bm&old=&new=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
999 401 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1000 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1001 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1002 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1003 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1004 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1005 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=pushkey+namespace%3Dbookmarks%2Ckey%3Dbm%2Cold%3D%2Cnew%3Dcb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1006 401 push not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1007 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1008 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1009 push not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1010 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1011 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1012 $ hg bookmarks |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1013 no bookmarks set |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1014 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1015 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1016 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1017 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1018 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1019 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1020 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1021 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1022 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1023 401 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1024 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1025 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1026 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1027 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1028 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1029 Reset server to remove REQUEST_METHOD hack to test hg client |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1030 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1031 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1032 $ REMOTE_USER=baduser hg serve -p $HGPORT -d --pid-file hg.pid |
36751
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1033 $ cat hg.pid > $DAEMON_PIDS |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1034 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1035 $ hg --cwd ../test2 push -B bm http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1036 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1037 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1038 no changes found |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1039 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1040 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1041 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1042 $ hg --cwd ../test2 push http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1043 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1044 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1045 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1046 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1047 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1048 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1049 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1050 web.deny_push=<user> denies pushing to user not in list because allow-push isn't set |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1051 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1052 $ REMOTE_USER=gooduser REQUEST_METHOD=POST hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1053 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1054 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1055 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=pushkey' --requestheader 'x-hgarg-1=namespace=bookmarks&key=bm&old=&new=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1056 401 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1057 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1058 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1059 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1060 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1061 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1062 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=pushkey+namespace%3Dbookmarks%2Ckey%3Dbm%2Cold%3D%2Cnew%3Dcb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1063 401 push not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1064 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1065 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1066 push not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1067 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1068 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1069 $ hg bookmarks |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1070 no bookmarks set |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1071 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1072 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1073 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1074 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1075 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1076 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1077 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1078 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1079 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1080 401 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1081 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1082 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1083 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1084 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1085 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1086 Reset server to remove REQUEST_METHOD hack to test hg client |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1087 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1088 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1089 $ REMOTE_USER=gooduser hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1090 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1091 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1092 $ hg --cwd ../test2 push -B bm http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1093 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1094 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1095 no changes found |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1096 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1097 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1098 |
36751
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1099 $ hg --cwd ../test2 push http://localhost:$HGPORT/ |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1100 pushing to http://localhost:$HGPORT/ |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1101 searching for changes |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1102 abort: authorization failed |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1103 [255] |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1104 |
2c647da851ed
tests: extract HTTP permissions tests to own test file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
diff
changeset
|
1105 $ killdaemons.py |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1106 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1107 web.allow-push=* allows pushes from unauthenticated users |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1108 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1109 $ cat > .hg/hgrc <<EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1110 > [web] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1111 > push_ssl = false |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1112 > allow-push = * |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1113 > EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1114 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1115 $ REQUEST_METHOD=POST hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1116 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1117 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1118 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=pushkey' --requestheader 'x-hgarg-1=namespace=bookmarks&key=bm&old=&new=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1119 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1120 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1121 1 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1122 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1123 $ hg bookmarks |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1124 bm 0:cb9a9f314b8b |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1125 $ hg book -d bm |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1126 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1127 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1128 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1129 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1130 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1131 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1132 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1133 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1134 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1135 write command w/ defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1136 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1137 Reset server to remove REQUEST_METHOD hack to test hg client |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1138 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1139 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1140 $ hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1141 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1142 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1143 $ hg --cwd ../test2 push -B bm http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1144 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1145 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1146 no changes found |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1147 exporting bookmark bm |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1148 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1149 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1150 $ hg book -d bm |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1151 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1152 $ hg --cwd ../test2 push http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1153 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1154 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1155 remote: adding changesets |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1156 remote: adding manifests |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1157 remote: adding file changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1158 remote: added 1 changesets with 1 changes to 1 files |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1159 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1160 $ hg strip -r 1: |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1161 saved backup bundle to $TESTTMP/test/.hg/strip-backup/ba677d0156c1-eea704d7-backup.hg |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1162 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1163 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1164 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1165 web.allow-push=* allows pushes from authenticated users |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1166 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1167 $ REMOTE_USER=someuser REQUEST_METHOD=POST hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1168 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1169 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1170 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=pushkey' --requestheader 'x-hgarg-1=namespace=bookmarks&key=bm&old=&new=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1171 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1172 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1173 1 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1174 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1175 $ hg bookmarks |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1176 bm 0:cb9a9f314b8b |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1177 $ hg book -d bm |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1178 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1179 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1180 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1181 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1182 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1183 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1184 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1185 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1186 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1187 write command w/ defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1188 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1189 Reset server to remove REQUEST_METHOD hack to test hg client |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1190 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1191 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1192 $ REMOTE_USER=someuser hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1193 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1194 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1195 $ hg --cwd ../test2 push -B bm http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1196 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1197 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1198 no changes found |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1199 exporting bookmark bm |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1200 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1201 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1202 $ hg book -d bm |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1203 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1204 $ hg --cwd ../test2 push http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1205 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1206 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1207 remote: adding changesets |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1208 remote: adding manifests |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1209 remote: adding file changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1210 remote: added 1 changesets with 1 changes to 1 files |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1211 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1212 $ hg strip -r 1: |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1213 saved backup bundle to $TESTTMP/test/.hg/strip-backup/ba677d0156c1-eea704d7-backup.hg |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1214 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1215 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1216 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1217 web.allow-push=<user> denies push to user not in list |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1218 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1219 $ cat > .hg/hgrc <<EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1220 > [web] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1221 > push_ssl = false |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1222 > allow-push = gooduser |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1223 > EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1224 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1225 $ REMOTE_USER=baduser REQUEST_METHOD=POST hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1226 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1227 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1228 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=pushkey' --requestheader 'x-hgarg-1=namespace=bookmarks&key=bm&old=&new=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1229 401 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1230 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1231 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1232 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1233 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1234 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1235 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=pushkey+namespace%3Dbookmarks%2Ckey%3Dbm%2Cold%3D%2Cnew%3Dcb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1236 401 push not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1237 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1238 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1239 push not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1240 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1241 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1242 $ hg bookmarks |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1243 no bookmarks set |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1244 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1245 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1246 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1247 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1248 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1249 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1250 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1251 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1252 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1253 401 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1254 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1255 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1256 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1257 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1258 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1259 Reset server to remove REQUEST_METHOD hack to test hg client |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1260 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1261 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1262 $ REMOTE_USER=baduser hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1263 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1264 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1265 $ hg --cwd ../test2 push -B bm http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1266 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1267 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1268 no changes found |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1269 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1270 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1271 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1272 $ hg --cwd ../test2 push http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1273 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1274 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1275 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1276 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1277 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1278 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1279 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1280 web.allow-push=<user> allows push from user in list |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1281 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1282 $ REMOTE_USER=gooduser REQUEST_METHOD=POST hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1283 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1284 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1285 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=pushkey' --requestheader 'x-hgarg-1=namespace=bookmarks&key=bm&old=&new=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1286 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1287 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1288 1 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1289 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1290 $ hg bookmarks |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1291 bm 0:cb9a9f314b8b |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1292 $ hg book -d bm |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1293 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1294 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=pushkey+namespace%3Dbookmarks%2Ckey%3Dbm%2Cold%3D%2Cnew%3Dcb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1295 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1296 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1297 1 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1298 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1299 $ hg bookmarks |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1300 bm 0:cb9a9f314b8b |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1301 $ hg book -d bm |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1302 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1303 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1304 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1305 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1306 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1307 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1308 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1309 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1310 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1311 write command w/ defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1312 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1313 Reset server to remove REQUEST_METHOD hack to test hg client |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1314 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1315 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1316 $ REMOTE_USER=gooduser hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1317 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1318 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1319 $ hg --cwd ../test2 push -B bm http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1320 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1321 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1322 no changes found |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1323 exporting bookmark bm |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1324 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1325 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1326 $ hg book -d bm |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1327 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1328 $ hg --cwd ../test2 push http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1329 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1330 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1331 remote: adding changesets |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1332 remote: adding manifests |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1333 remote: adding file changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1334 remote: added 1 changesets with 1 changes to 1 files |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1335 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1336 $ hg strip -r 1: |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1337 saved backup bundle to $TESTTMP/test/.hg/strip-backup/ba677d0156c1-eea704d7-backup.hg |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1338 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1339 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1340 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1341 web.deny_push takes precedence over web.allow_push |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1342 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1343 $ cat > .hg/hgrc <<EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1344 > [web] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1345 > push_ssl = false |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1346 > allow-push = someuser |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1347 > deny_push = someuser |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1348 > EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1349 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1350 $ REMOTE_USER=someuser REQUEST_METHOD=POST hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1351 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1352 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1353 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=pushkey' --requestheader 'x-hgarg-1=namespace=bookmarks&key=bm&old=&new=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1354 401 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1355 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1356 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1357 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1358 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1359 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1360 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=pushkey+namespace%3Dbookmarks%2Ckey%3Dbm%2Cold%3D%2Cnew%3Dcb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1361 401 push not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1362 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1363 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1364 push not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1365 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1366 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1367 $ hg bookmarks |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1368 no bookmarks set |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1369 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1370 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1371 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1372 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1373 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1374 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1375 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1376 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1377 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1378 401 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1379 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1380 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1381 push not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1382 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1383 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1384 Reset server to remove REQUEST_METHOD hack to test hg client |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1385 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1386 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1387 $ REMOTE_USER=someuser hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1388 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1389 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1390 $ hg --cwd ../test2 push -B bm http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1391 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1392 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1393 no changes found |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1394 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1395 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1396 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1397 $ hg --cwd ../test2 push http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1398 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1399 searching for changes |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1400 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1401 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1402 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1403 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1404 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1405 web.allow-push has no effect if web.deny_read is set |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1406 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1407 $ cat > .hg/hgrc <<EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1408 > [web] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1409 > push_ssl = false |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1410 > allow-push = * |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1411 > deny_read = * |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1412 > EOF |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1413 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1414 $ REQUEST_METHOD=POST REMOTE_USER=someuser hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1415 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1416 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1417 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=pushkey' --requestheader 'x-hgarg-1=namespace=bookmarks&key=bm&old=&new=cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1418 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1419 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1420 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1421 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1422 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1423 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1424 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=batch' --requestheader 'x-hgarg-1=cmds=pushkey+namespace%3Dbookmarks%2Ckey%3Dbm%2Cold%3D%2Cnew%3Dcb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b' |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1425 401 read not authorized |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1426 |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1427 0 |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1428 read not authorized |
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1429 [1] |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1430 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1431 $ hg bookmarks |
36755
ff4bc0ab6740
wireproto: check permissions when executing "batch" command (BC) (SEC)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36754
diff
changeset
|
1432 no bookmarks set |
36752
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1433 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1434 TODO custom commands don't check permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1435 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1436 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadnoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1437 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1438 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1439 read-only command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1440 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1441 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customreadwithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1442 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1443 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1444 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1445 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1446 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1447 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1448 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritenoperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1449 200 Script output follows |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1450 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1451 write command no defined permissions |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1452 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1453 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=customwritewithperm' |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1454 401 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1455 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1456 0 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1457 read not authorized |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1458 [1] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1459 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1460 Reset server to remove REQUEST_METHOD hack to test hg client |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1461 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1462 $ killdaemons.py |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1463 $ REMOTE_USER=someuser hg serve -p $HGPORT -d --pid-file hg.pid |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1464 $ cat hg.pid > $DAEMON_PIDS |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1465 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1466 $ hg --cwd ../test2 push -B bm http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1467 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1468 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1469 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1470 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1471 $ hg --cwd ../test2 push http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1472 pushing to http://localhost:$HGPORT/ |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1473 abort: authorization failed |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1474 [255] |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1475 |
bbd4027b019b
tests: comprehensively test HTTP server permissions checking
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36751
diff
changeset
|
1476 $ killdaemons.py |