Commit graph

33 commits

Author SHA1 Message Date
Calvin Montgomery 00901f9cdb Remove junk from an old abandoned project 2017-07-02 22:35:12 -07:00
Calvin Montgomery 76e0d1b7ec Use proxy-addr for parsing x-forwarded-for
Closes #683 by providing functionality to trust proxies other than
localhost.
2017-06-27 23:37:18 -07:00
Calvin Montgomery b23a858a8c Integrate socket.io ban check with GlobalBanDB 2017-06-05 23:14:45 -07:00
Calvin Montgomery 8306d2d1b6 Refactor logging 2017-04-04 23:02:31 -07:00
Calvin Montgomery 9dc82ad444 Enforce stricter validation on polls 2017-03-20 21:37:32 -07:00
Calvin Montgomery 99760b6989 Purge the awful refreshAccount logic
User.prototype.refreshAccount was responsible for multiple race
condition bugs as well as inefficient duplication of DB queries in an
attempt to correct such race conditions.

It has now been replaced by a more reasonable model:

  * Global user account information and aliases are fetched in parallel
    on socket connection
  * Channel rank is fetched when the user tries to join a channel
2016-10-03 23:12:22 -07:00
calzoneman 701d470494 Add initial blocking of new users in chat 2016-08-10 21:59:18 -07:00
calzoneman 016b125f49 Initial IP session cookie implementation 2016-08-08 23:03:16 -07:00
calzoneman 312892e56b Short term additional fix for #583
The previous commits do not handle all of the edge cases of #583
appropriately.  This is a short term solution that will work, but is not
as efficient as it could be.  The whole refreshAccount function needs to
be reconsidered and replaced with a more sane way of handling atomic
updates to the user's account state.
2016-06-29 22:00:25 -07:00
calzoneman 6e772c6837 Add partition map reload 2016-06-08 22:54:16 -07:00
calzoneman 77465e6b49 Add partitioning logic 2016-06-06 21:54:49 -07:00
calzoneman b69bd82a72 Add DualClusterClient for live testing phase of backend/frontend split 2016-04-23 19:53:18 -07:00
calzoneman e6234297a1 Merge 2016-02-09 20:13:58 -08:00
calzoneman 50124c8a45 Refactor backend initialization 2016-02-04 21:43:20 -08:00
calzoneman 86abebf9bf Add RedisClusterClient 2016-01-28 19:51:59 -08:00
calzoneman f8470fc8f6 Use new proxy address formatter 2016-01-23 12:46:04 -08:00
calzoneman dd73a8ee9a Automatically publish backend address to the pool 2016-01-20 23:11:55 -08:00
calzoneman eeaffe1f61 Update socket.io to version 1.4.0 2016-01-06 21:42:48 -08:00
calzoneman 8bef7924b2 Minor fix 2016-01-01 18:28:53 -08:00
calzoneman 28807344bc Import logger 2016-01-01 18:26:43 -08:00
calzoneman cdb20e8d40 Handle when a frontend disconnects 2016-01-01 18:25:12 -08:00
calzoneman 9a262da13d Set socketUser data from frontend 2015-12-30 21:57:46 -08:00
calzoneman 5b44117681 Use new protocol 2015-12-28 23:52:39 -08:00
calzoneman 9dd617d9fc Update to reflect change in endpoint key 2015-12-27 15:10:43 -08:00
calzoneman b536c15758 Initial hacks to get the split to work 2015-12-26 15:07:03 -08:00
calzoneman 10d4ec8e60 Initial work for proxy connections 2015-12-24 16:24:07 -08:00
calzoneman bfe76dae0e Check X-Forwarded-For on sockets (resolves #528) 2015-12-12 16:59:58 -08:00
calzoneman 23333ee266 Remove console logging of clientErrors from HTTP/socket.io 2015-10-30 22:26:20 -07:00
calzoneman a8cc8e4b04 Add more counters for diagnostic information 2015-10-28 23:38:17 -07:00
calzoneman 21c3a1b3cd API changes, add documentation 2015-10-25 17:20:39 -07:00
calzoneman 7b5476874d Minor function change 2015-10-21 20:56:09 -07:00
calzoneman 40e2a608f6 Initial sioconfig migration work 2015-10-19 22:32:00 -07:00
calzoneman 0109a87e55 package: build with babel for ES2015 support
* Rename lib/ -> src/
* Add `postinstall` npm target for compiling src files to lib
* Add `build-watch` npm target for development with babel --watch
* Add `lib/` to .gitignore
* Add `source-map-support` module for babel-generated sourcemaps
2015-09-23 19:27:04 -07:00