1--TEST--
2Test session and output_add_rewrite_var() URL-Rewriting independently
3--EXTENSIONS--
4session
5--INI--
6session.trans_sid_tags="a=href,area=href,frame=src,form="
7url_rewriter.tags="a=href,area=href,frame=src,form="
8--FILE--
9<?php
10$testTags = <<<TEST
11
12<a href=""></a>
13<a href="./foo.php"></a>
14
15<a href="//php.net/foo.php"></a>
16<a href="http://php.net/foo.php"></a>
17<a href="bad://php.net/foo.php"></a>
18<a href="//www.php.net/foo.php"></a>
19
20<a href="//session-trans-sid.com/foo.php"></a>
21<a href="http://session-trans-sid.com/foo.php"></a>
22<a href="bad://session-trans-sid.com/foo.php"></a>
23<a href="//www.session-trans-sid.com/foo.php"></a>
24
25<a href="//url-rewriter.com/foo.php"></a>
26<a href="http://url-rewriter.com/foo.php"></a>
27<a href="bad://url-rewriter.com/foo.php"></a>
28<a href="//www.url-rewriter.com/foo.php"></a>
29
30<form action="" method="get"> </form>
31<form action="./foo.php" method="get"></form>
32
33<form action="//php.net/foo.php" method="get"></form>
34<form action="http://php.net/foo.php" method="get"></form>
35<form action="bad://php.net/foo.php" method="get"></form>
36<form action="//www.php.net/foo.php" method="get"></form>
37
38<form action="//session-trans-sid.com/bar.php" method="get"></form>
39<form action="http://session-trans-sid.com/bar.php" method="get"></form>
40<form action="bad://session-trans-sid.com/bar.php" method="get"></form>
41<form action="//www.session-trans-sid.com/bar.php" method="get"></form>
42
43<form action="//url-rewriter.com/bar.php" method="get"></form>
44<form action="http://url-rewriter.com/bar.php" method="get"></form>
45<form action="bad://url-rewriter.com/bar.php" method="get"></form>
46<form action="//www.url-rewriter.com/bar.php" method="get"></form>
47
48TEST;
49
50ob_start();
51
52ini_set('session.trans_sid_hosts', 'session-trans-sid.com');
53ini_set('url_rewriter.hosts', 'url-rewriter.com');
54
55ini_set('session.use_only_cookies', 1);
56ini_set('session.use_cookies', 1);
57ini_set('session.use_strict_mode', 1);
58ini_set('session.use_trans_sid', 0);
59
60output_add_rewrite_var('<name>', '<value>');
61
62echo "URL-Rewriting with output_add_rewrite_var() without transparent session id support\n";
63echo $testTags;
64
65ob_end_flush();
66
67
68ini_set('session.use_only_cookies', 0);
69ini_set('session.use_cookies', 0);
70ini_set('session.use_strict_mode', 0);
71ini_set('session.use_trans_sid', 1);
72
73session_id('testid');
74session_start();
75
76echo "\nURL-Rewriting with transparent session id support without output_add_rewrite_var()\n";
77echo $testTags;
78
79--EXPECT--
80URL-Rewriting with output_add_rewrite_var() without transparent session id support
81
82<a href="?%3Cname%3E=%3Cvalue%3E"></a>
83<a href="./foo.php?%3Cname%3E=%3Cvalue%3E"></a>
84
85<a href="//php.net/foo.php"></a>
86<a href="http://php.net/foo.php"></a>
87<a href="bad://php.net/foo.php"></a>
88<a href="//www.php.net/foo.php"></a>
89
90<a href="//session-trans-sid.com/foo.php"></a>
91<a href="http://session-trans-sid.com/foo.php"></a>
92<a href="bad://session-trans-sid.com/foo.php"></a>
93<a href="//www.session-trans-sid.com/foo.php"></a>
94
95<a href="//url-rewriter.com/foo.php?%3Cname%3E=%3Cvalue%3E"></a>
96<a href="http://url-rewriter.com/foo.php?%3Cname%3E=%3Cvalue%3E"></a>
97<a href="bad://url-rewriter.com/foo.php"></a>
98<a href="//www.url-rewriter.com/foo.php"></a>
99
100<form action="" method="get"><input type="hidden" name="&lt;name&gt;" value="&lt;value&gt;" /> </form>
101<form action="./foo.php" method="get"><input type="hidden" name="&lt;name&gt;" value="&lt;value&gt;" /></form>
102
103<form action="//php.net/foo.php" method="get"></form>
104<form action="http://php.net/foo.php" method="get"></form>
105<form action="bad://php.net/foo.php" method="get"></form>
106<form action="//www.php.net/foo.php" method="get"></form>
107
108<form action="//session-trans-sid.com/bar.php" method="get"></form>
109<form action="http://session-trans-sid.com/bar.php" method="get"></form>
110<form action="bad://session-trans-sid.com/bar.php" method="get"></form>
111<form action="//www.session-trans-sid.com/bar.php" method="get"></form>
112
113<form action="//url-rewriter.com/bar.php" method="get"><input type="hidden" name="&lt;name&gt;" value="&lt;value&gt;" /></form>
114<form action="http://url-rewriter.com/bar.php" method="get"><input type="hidden" name="&lt;name&gt;" value="&lt;value&gt;" /></form>
115<form action="bad://url-rewriter.com/bar.php" method="get"></form>
116<form action="//www.url-rewriter.com/bar.php" method="get"></form>
117
118URL-Rewriting with transparent session id support without output_add_rewrite_var()
119
120<a href="?PHPSESSID=testid"></a>
121<a href="./foo.php?PHPSESSID=testid"></a>
122
123<a href="//php.net/foo.php"></a>
124<a href="http://php.net/foo.php"></a>
125<a href="bad://php.net/foo.php"></a>
126<a href="//www.php.net/foo.php"></a>
127
128<a href="//session-trans-sid.com/foo.php?PHPSESSID=testid"></a>
129<a href="http://session-trans-sid.com/foo.php?PHPSESSID=testid"></a>
130<a href="bad://session-trans-sid.com/foo.php"></a>
131<a href="//www.session-trans-sid.com/foo.php"></a>
132
133<a href="//url-rewriter.com/foo.php"></a>
134<a href="http://url-rewriter.com/foo.php"></a>
135<a href="bad://url-rewriter.com/foo.php"></a>
136<a href="//www.url-rewriter.com/foo.php"></a>
137
138<form action="" method="get"><input type="hidden" name="PHPSESSID" value="testid" /> </form>
139<form action="./foo.php" method="get"><input type="hidden" name="PHPSESSID" value="testid" /></form>
140
141<form action="//php.net/foo.php" method="get"></form>
142<form action="http://php.net/foo.php" method="get"></form>
143<form action="bad://php.net/foo.php" method="get"></form>
144<form action="//www.php.net/foo.php" method="get"></form>
145
146<form action="//session-trans-sid.com/bar.php" method="get"><input type="hidden" name="PHPSESSID" value="testid" /></form>
147<form action="http://session-trans-sid.com/bar.php" method="get"><input type="hidden" name="PHPSESSID" value="testid" /></form>
148<form action="bad://session-trans-sid.com/bar.php" method="get"></form>
149<form action="//www.session-trans-sid.com/bar.php" method="get"></form>
150
151<form action="//url-rewriter.com/bar.php" method="get"></form>
152<form action="http://url-rewriter.com/bar.php" method="get"></form>
153<form action="bad://url-rewriter.com/bar.php" method="get"></form>
154<form action="//www.url-rewriter.com/bar.php" method="get"></form>
155