comparison roundup/cgi/actions.py @ 5503:4f6e1ce89557

always encode query parameters in sorted order
author Christof Meerwald <cmeerw@cmeerw.org>
date Thu, 16 Aug 2018 20:14:09 +0100
parents 52cb53eedf77
children cd0ceb2afdb8
comparison
equal deleted inserted replaced
5502:497ab896397d 5503:4f6e1ce89557
1219 1219
1220 redirect_url = urllib_.urlunparse( (redirect_url_tuple.scheme, 1220 redirect_url = urllib_.urlunparse( (redirect_url_tuple.scheme,
1221 redirect_url_tuple.netloc, 1221 redirect_url_tuple.netloc,
1222 redirect_url_tuple.path, 1222 redirect_url_tuple.path,
1223 redirect_url_tuple.params, 1223 redirect_url_tuple.params,
1224 urllib_.urlencode(query, doseq=True), 1224 urllib_.urlencode(list(sorted(query.items())), doseq=True),
1225 redirect_url_tuple.fragment) 1225 redirect_url_tuple.fragment)
1226 ) 1226 )
1227 1227
1228 try: 1228 try:
1229 self.verifyLogin(self.client.user, password) 1229 self.verifyLogin(self.client.user, password)
1237 query['@error_message'] = err.args 1237 query['@error_message'] = err.args
1238 redirect_url = urllib_.urlunparse( (redirect_url_tuple.scheme, 1238 redirect_url = urllib_.urlunparse( (redirect_url_tuple.scheme,
1239 redirect_url_tuple.netloc, 1239 redirect_url_tuple.netloc,
1240 redirect_url_tuple.path, 1240 redirect_url_tuple.path,
1241 redirect_url_tuple.params, 1241 redirect_url_tuple.params,
1242 urllib_.urlencode(query, doseq=True), 1242 urllib_.urlencode(list(sorted(query.items())), doseq=True),
1243 redirect_url_tuple.fragment ) 1243 redirect_url_tuple.fragment )
1244 ) 1244 )
1245 raise exceptions.Redirect(redirect_url) 1245 raise exceptions.Redirect(redirect_url)
1246 # if no __came_from, send back to base url with error 1246 # if no __came_from, send back to base url with error
1247 return 1247 return

Roundup Issue Tracker: http://roundup-tracker.org/