Skip to content

Commit dfc21e7

Browse files
committed
fixed: auth routing (critical bug)
1 parent ba743c9 commit dfc21e7

4 files changed

Lines changed: 27 additions & 16 deletions

File tree

index.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ function Framework() {
131131

132132
this.id = null;
133133
this.version = 1700;
134-
this.version_header = '1.7.0 (build: 41)';
134+
this.version_header = '1.7.0 (build: 42)';
135135
this.versionNode = parseInt(process.version.replace('v', '').replace(/\./g, ''), 10);
136136

137137
this.config = {
@@ -830,6 +830,9 @@ Framework.prototype.route = function(url, funcExecute, flags, length, middleware
830830
else
831831
method = method.toUpperCase();
832832

833+
if (name[1] === '#')
834+
name = name.substring(1);
835+
833836
self.routes.web.push({
834837
name: name,
835838
priority: priority,
@@ -5765,6 +5768,9 @@ Framework.prototype.lookup = function(req, url, flags, noLoggedUnlogged, noCache
57655768
return self.temporary.other[key];
57665769
*/
57675770

5771+
// helper for 401 http status
5772+
req.$isAuthorized = true;
5773+
57685774
var length = self.routes.web.length;
57695775
for (var i = 0; i < length; i++) {
57705776

@@ -5788,9 +5794,10 @@ Framework.prototype.lookup = function(req, url, flags, noLoggedUnlogged, noCache
57885794
}
57895795

57905796
if (route.flags !== null && route.flags.length > 0) {
5797+
57915798
var result = framework_internal.routeCompareFlags2(req, route, noLoggedUnlogged ? true : route.isMEMBER);
57925799
if (result === -1)
5793-
req.isAuthorized = false;
5800+
req.$isAuthorized = false; // request is not authorized
57945801

57955802
if (result < 1)
57965803
continue;
@@ -5834,6 +5841,8 @@ Framework.prototype.lookup_websocket = function(req, url, noLoggedUnlogged) {
58345841
var subdomain = req.subdomain === null ? null : req.subdomain.join('.');
58355842
var length = self.routes.websockets.length;
58365843

5844+
req.$isAuthorized = true;
5845+
58375846
for (var i = 0; i < length; i++) {
58385847

58395848
var route = self.routes.websockets[i];
@@ -5854,7 +5863,7 @@ Framework.prototype.lookup_websocket = function(req, url, noLoggedUnlogged) {
58545863
var result = framework_internal.routeCompareFlags2(req, route, noLoggedUnlogged ? true : route.isMEMBER);
58555864

58565865
if (result === -1)
5857-
req.isAuthorized = false;
5866+
req.$isAuthorized = false;
58585867

58595868
if (result < 1)
58605869
continue;
@@ -7214,7 +7223,7 @@ Subscribe.prototype.doAuthorization = function(isLogged, user) {
72147223
var route = framework.lookup(req, req.buffer_exceeded ? '#431' : req.uri.pathname, req.flags);
72157224

72167225
if (route === null)
7217-
route = framework.lookup(req, req.isAuthorized ? '#404' : '#401');
7226+
route = framework.lookup(req, req.$isAuthorized ? '#404' : '#401');
72187227

72197228
self.route = route;
72207229
self.execute(req.buffer_exceeded ? 431 : 404);
@@ -8107,6 +8116,8 @@ Controller.prototype.transfer = function(url, flags) {
81078116
var noFlag = flags === null || flags === undefined || flags.length === 0;
81088117
var selected = null;
81098118

8119+
self.req.$isAuthorized = true;
8120+
81108121
for (var i = 0; i < length; i++) {
81118122

81128123
var route = framework.routes.web[i];
@@ -8128,7 +8139,7 @@ Controller.prototype.transfer = function(url, flags) {
81288139

81298140
var result = framework_internal.routeCompareFlags(route.flags, flags, true);
81308141
if (result === -1)
8131-
req.isAuthorized = false;
8142+
self.req.$isAuthorized = false;
81328143

81338144
if (result < 1)
81348145
continue;

minify/merged/total.js

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

minify/total.js/index.js

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

minify/total.js/readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ __Client-side libraries__
4848

4949
- [jQuery jComponent](https://github.com/petersirka/jComponent)
5050
- [jQuery two way bindings](https://github.com/petersirka/jquery.bindings)
51-
- [Tangular - template engine like Angular.js](https://github.com/petersirka/Tangular
51+
- [Tangular - template engine like Angular.js](https://github.com/petersirka/Tangular)
5252
- [jQuery file upload (+ drag&drop)](https://github.com/petersirka/jquery.upload)
5353

5454
***

0 commit comments

Comments
 (0)