Simon Eisenmann
336f2eda8f
Implemented pipeline for Offer, Candidate and Bye.
9 years ago
Simon Eisenmann
e617374095
Refactored structure of Go source code to module and binary.
9 years ago
Simon Eisenmann
beff7439b8
Bumped copyright to 2015.
10 years ago
Simon Eisenmann
d5323d2610
Fixed an issue where replaced sessions cannot receive data from contacts in other rooms.
10 years ago
Simon Eisenmann
e967ff5907
Fixed an issue where replaced sessions cannot receive data from contacts in other rooms.
10 years ago
Simon Eisenmann
7b418e2c2c
Avoid to defer replace and close.
11 years ago
Simon Eisenmann
c49331bd7d
Avoid beeing stuck in hub lock when a client gets replaced but the old connection does not hang on close.
11 years ago
Simon Eisenmann
eb1ecce7e0
Avoid the need for another mutex in Client by moving cleanup client checks to Hub.
11 years ago
Simon Eisenmann
02a6ae2a2b
Fixed a problem where replaced sessions got cleaned up i a previous connection was still closing.
11 years ago
Lance Cooper
6bcd814c1f
Move all session cleanup code to a single code path.
...
This should resolve any cases where sessions were not removed from the hub
after their connection closed.
Also moves buddy image management entirely into the session and
vastly improves locking around session data. Also allocates less
when sending client left messages and paves the way for session specific
message codecs.
11 years ago
Lance Cooper
713a2b903b
Major refactoring of server side code to allow isolated unit tests.
...
In addition to adding unit tests for the "Hello" message,
the following notable improvements are included:
* Separate websocket callbacks from the hub via a handler API
and adaptor.
* Move all application specific state to the session.
* Session no longer refers to the hub.
* Remove redundant MessageRequest struct.
* Hub is no longer responsible for buffer pool or
buddy image management.
* Consolidated connection table locking in the hub.
* Remove redundant session table from the hub.
* Split room join and leave into separate handlers.
This also removes the RoomConnectionUpdate struct.
* Entirely remove room management from the hub.
This also provides room operations with a separate mutex.
* Split stats into a separate service.
* Simplify the session token handler.
* Buddy image HTTP handler no longer takes the entire hub.
* Centralize JSON encoding and decoding. This removes JSON
encoding from the room worker queue.
* Improve unicast message statistics.
* Numerous other renamings and cleanup items.
11 years ago
Simon Eisenmann
c635b5db59
Create only one fake session per userid,
11 years ago
Simon Eisenmann
724c4d27e5
Implemented fake sessions.
11 years ago
Simon Eisenmann
0424635e15
Implemented session subscription.
11 years ago
Simon Eisenmann
0c37d4851f
Decode secrets as hex and recommend in configuration comments to generate secrets as hex values with example on how to do it.
11 years ago
Simon Eisenmann
31069ef041
Cleanups.
11 years ago
Simon Eisenmann
24ad6ffe49
Refactored attestation server side and implemented automatic expiry and refresh.
11 years ago
Simon Eisenmann
27a08dc006
Implemented fake data lookup using attestation token.
11 years ago
Simon Eisenmann
b65d2e10df
Added attestation data.
11 years ago
Simon Eisenmann
4780e79a5e
Added Prio and stap to sessions.
11 years ago
Simon Eisenmann
73ebac440c
Implemented working client side sessions lookup.
11 years ago
Simon Eisenmann
3204c329bc
Implementd client side lookup support.
11 years ago
Simon Eisenmann
e6f2182e49
Implemented client side sessions request.
11 years ago
Simon Eisenmann
e5aeda31d9
Fixed userid matching for sessions lookup.
11 years ago
Simon Eisenmann
19cc75c0fe
Implemented server sessions lookup.
11 years ago
Simon Eisenmann
790b1c12b5
Implemented secure userid.
11 years ago
Simon Eisenmann
cc255be4c5
Added encryption to sessions and contact tokens to protect data.
11 years ago
Simon Eisenmann
8b4156beba
Do not allow to send contact requests to own userid sessions.
11 years ago
Simon Eisenmann
ab3e5673b8
Implemented first simple Ui for contacts in chat.
11 years ago
Simon Eisenmann
ea91cbd8ca
Defined and implemented contact request/response protocol and data structure.
11 years ago
Simon Eisenmann
13ac41d417
Changed name of project to Spreed WebRTC.
11 years ago
Simon Eisenmann
eb13945be8
TLS client side auth now even works.
11 years ago
Simon Eisenmann
a1c1405c61
Added realm to userids, tokens and nonces.
11 years ago
Simon Eisenmann
f27c5d10a3
Implemented web client integration of user authentication, authorization and creation.
11 years ago
Simon Eisenmann
8a74cfb892
Implemented user authorization and authentication api and data layers.
11 years ago
Simon Eisenmann
dfba1f5640
Added non public session id to prepare for authorization.
11 years ago
Simon Eisenmann
41cb800c15
Make sure all session data is available early enough.
11 years ago
Simon Eisenmann
c5bd56c718
Cleaned up token and session id generation in preperation for userids.
11 years ago
Simon Eisenmann
c7bddeda5f
Renamed everything which was named user to session in preperation for user implementation.
11 years ago
Simon Eisenmann
a8a6022e8c
Fixed couple of warnings found with golint.
11 years ago
Simon Eisenmann
fa5c3b57cf
Gofmt.
11 years ago
Simon Eisenmann
919e758a31
Removed obsolete different TURN user formats.
11 years ago
Simon Eisenmann
ac3a2c32b5
Use expiration time stamp for TURN REST API auth.
11 years ago
Simon Eisenmann
ed7cf2d826
Improved TURN server support.
11 years ago
Joachim Bauch
c054a78f06
Remove user images on disconnect.
12 years ago
Joachim Bauch
8794894302
Load buddy images from URL.
...
This allows the frontend proxy to cache images and avoids hitting the backend server too often. This also is required in preparation for further changes to move user data away from memory.
12 years ago
Joachim Bauch
a0220f6eb1
Include number of chat message in hub statistics.
12 years ago
Joachim Bauch
f185864ca9
Use refcounted buffers for IO.
...
Need to use buffers multiple times when broadcasting.
12 years ago
Joachim Bauch
bc5aee4658
Prevent duplicate room creation.
12 years ago
Joachim Bauch
17aba85b51
Reuse buffers when reading/writing data.
12 years ago