Commit graph

28 commits

Author SHA1 Message Date
Ray Bellis
34fdaa4e8c db/SecurityManager.js: convert checkAccess() to thenify 2019-01-23 16:25:29 +00:00
muxator
11453d544c prepare to async: stricter checks
This change is in preparation of the future async refactoring by Ray. It tries
to extract as many changes in boolean conditions as possible, in order to make
more evident identifying eventual logic bugs in the future work.

This proved already useful in at least one case.

BEWARE: this commit exposes an incoherency in the DB API, in which, depending
on the driver used, some functions can return null or undefined. This condition
will be externally fixed by the final commit in this series ("db/DB.js: prevent
DB layer from returning undefined"). Until that commit, the code base may have
some bugs.
2019-03-01 09:43:41 +01:00
muxator
9497ee734f prepare to async: trivial reformatting
This change is only cosmetic. Its aim is do make it easier to understand the
async changes that are going to be merged later on. It was extracted from the
original work from Ray Bellis.

To verify that nothing has changed, you can run the following command on each
file touched by this commit:
  npm install uglify-es
  diff --unified <(uglify-js --beautify bracketize <BEFORE.js>) <(uglify-js --beautify bracketize <AFTER.js>)



This is a complete script that does the same automatically (works from a
mercurial clone):

```bash
#!/usr/bin/env bash

set -eu

REVISION=<THIS_REVISION>

PARENT_REV=$(hg identify --rev "${REVISION}" --template '{p1rev}')
FILE_LIST=$(hg status --no-status --change ${REVISION})
UGLIFYJS="node_modules/uglify-es/bin/uglifyjs"

for FILE_NAME in ${FILE_LIST[@]}; do
  echo "Checking ${FILE_NAME}"
  diff --unified \
    <("${UGLIFYJS}" --beautify bracketize <(hg cat --rev "${PARENT_REV}" "${FILE_NAME}")) \
    <("${UGLIFYJS}" --beautify bracketize <(hg cat --rev "${REVISION}"   "${FILE_NAME}"))
done
```
2019-02-08 23:20:57 +01:00
muxator
b34fc2de2b use Date.now() instead of new Date().getTime()
This is documented to be more performant.

The substitution was made on frontend code, too (i.e., the one in /static),
because Date.now() is supported since IE 9, and we are life supporting only
IE 11.

Commands:
  find . -name *.js | xargs sed --in-place "s/new Date().getTime()/Date.now()/g"
  find . -name *.js | xargs sed --in-place "s/(new Date()).getTime()/Date.now()/g"

Not done on jQuery.
2019-02-26 23:25:15 +01:00
muxator
6af419a88e SecurityManager.js: early return, no functional changes 2018-08-29 02:33:29 +02:00
John McLear
2765a95774
Merge pull request #3218 from klausweiss/develop
Feature: New server-side hook: onAccessCheck
2018-04-03 13:38:47 +01:00
Mikołaj Biel
2508b9749c fix typo 2017-07-10 20:59:08 +02:00
Mikołaj Biel
35702a0589 [feat] New server-side hook: onAccessCheck 2017-07-10 20:54:32 +02:00
webzwo0i
b204aa2085 remove more dead requires. 2014-12-16 19:10:01 +01:00
Marcel Klehr
b1b972a2b4 Merge pull request #1787 from goldquest/dev_nopass_whensession
Grant access for valid session to password protected group pads

so, if user has valid session, they don't need the password
2014-06-17 14:01:16 +02:00
Robert Helmer
348d9a838f convert over to server-side crypto 2014-01-15 11:44:57 -08:00
Luc Didry
3d8452b143 Replace tabs indentation with spaces indentation
Some files are obviously external libraries, I didn't touch them
2013-12-05 08:41:29 +01:00
Marcel Klehr
048d55a64c Don't create new pad if a non-existant read-only pad is accessed
fixes #1848
2013-10-12 18:41:48 +02:00
goldquest
121c02c74f Grant access, when valid session is available and sessionNoPassword is set 2013-05-29 16:53:14 +02:00
mluto
911bfb30e4 Log when a sessionID in checkAccess is not found 2013-03-31 10:56:14 +02:00
mluto
30cae9097f When there is just one session and this one is invalid SecurityManager.checkAccess would cause the request to hang forever because the callback is omitted for each invalid session, this fixes this issue.
validSession still remains false so this does not cause issues further down.
2013-03-31 10:27:21 +02:00
mluto
7e3b288afc log things the log4js-way; put all the brackets on a new line 2013-03-30 20:46:56 +01:00
mluto
253a8e37fd Added debug-output to SecurityManager.checkAccess to indicate *why* an auth-try failed. 2013-03-30 20:34:45 +01:00
goldquest
7631096135 fix for multiple cookies support (Also fix for, when session is not valid anymore) 2012-12-06 02:01:38 +01:00
goldquest
4ce16b526e Added semicolons 2012-12-06 02:00:58 +01:00
Marcel Klehr
a72ade4494 Fix async.forEach in MultiSession code 2012-09-19 17:48:26 +02:00
Marcel Klehr
b9da0e187e Revert "Fixed foreach loop on session IDs, was breaking EP on single session in cookie."
This reverts commit 443a71bc9c.

	modified:   src/node/db/SecurityManager.js
2012-09-19 17:42:36 +02:00
johnyma22
443a71bc9c Fixed foreach loop on session IDs, was breaking EP on single session in cookie. 2012-09-18 16:30:26 +01:00
Marcel Klehr
d05d587f21 Don't break if there is no session cookie. 2012-09-11 20:59:19 +02:00
Marcel Klehr
dad83d9b77 Document multi-session cookie feature 2012-09-02 19:51:40 +02:00
Egil Moeller
a894fcd4f9 Removed CommonCode entierly 2012-02-28 21:19:10 +01:00
Egil Moeller
763361a7c9 First stab at getting client side require(plugin/..) to work from within etherpad 2012-02-26 17:48:17 +01:00
Egil Moeller
1239ce7f28 The Big Renaming - etherpad is now an NPM module 2012-02-26 13:07:51 +01:00
Renamed from node/db/SecurityManager.js (Browse further)