Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Hawkowl/fix missing auth (#5328) | Amber Brown | 2019-06-04 | 1 | -0/+1 |
| | |||||
* | Unify v1 and v2 REST client APIs (#5226) | Amber Brown | 2019-06-03 | 12 | -203/+183 |
| | |||||
* | Fix ignored filter field in `/messages` endpoint | Eisha Chen-yen-su | 2019-05-30 | 1 | -0/+2 |
| | | | | | | | | This fixes a bug which were causing the "event_format" field to be ignored in the filter of requests to the `/messages` endpoint of the CS API. Signed-off-by: Eisha Chen-yen-su <chenyensu0@gmail.com> | ||||
* | Merge pull request #5256 from aaronraimist/logout-correct-error | Erik Johnston | 2019-05-30 | 1 | -18/+9 |
|\ | | | | | Show correct error when logging out and access token is missing | ||||
| * | Lint | Aaron Raimist | 2019-05-29 | 1 | -2/+0 |
| | | | | | | | | Signed-off-by: Aaron Raimist <aaron@raim.ist> | ||||
| * | Get rid of try except | Aaron Raimist | 2019-05-27 | 1 | -16/+9 |
| | | | | | | | | Signed-off-by: Aaron Raimist <aaron@raim.ist> | ||||
| * | Show correct error when logging out and access token is missing | Aaron Raimist | 2019-05-24 | 1 | -4/+4 |
| | | | | | | | | Signed-off-by: Aaron Raimist <aaron@raim.ist> | ||||
* | | Serve CAS login over r0 (#5286) | Amber Brown | 2019-05-30 | 1 | -2/+2 |
|/ | |||||
* | Drop support for v2_alpha API prefix (#5190) | Richard van der Hoff | 2019-05-15 | 1 | -4/+4 |
| | |||||
* | Allow client event serialization to be async | Erik Johnston | 2019-05-14 | 2 | -14/+20 |
| | |||||
* | add options to require an access_token to GET /profile and /publicRooms on ↵ | Matthew Hodgson | 2019-05-08 | 2 | -12/+34 |
| | | | | | | | | | | | | | | | | | CS API (#5083) This commit adds two config options: * `restrict_public_rooms_to_local_users` Requires auth to fetch the public rooms directory through the CS API and disables fetching it through the federation API. * `require_auth_for_profile_requests` When set to `true`, requires that requests to `/profile` over the CS API are authenticated, and only returns the user's profile if the requester shares a room with the profile's owner, as per MSC1301. MSC1301 also specifies a behaviour for federation (only returning the profile if the server asking for it shares a room with the profile's owner), but that's currently really non-trivial to do in a not too expensive way. Next step is writing down a MSC that allows a HS to specify which user sent the profile query. In this implementation, Synapse won't send a profile query over federation if it doesn't believe it already shares a room with the profile's owner, though. Groups have been intentionally omitted from this commit. | ||||
* | Move admin api impl to its own package | Richard van der Hoff | 2019-05-01 | 1 | -896/+0 |
| | | | | It doesn't really belong under rest/client/v1 any more. | ||||
* | Move admin API to a new prefix | Richard van der Hoff | 2019-05-01 | 1 | -20/+50 |
| | |||||
* | Move admin API away from ClientV1RestServlet | Richard van der Hoff | 2019-05-01 | 1 | -33/+33 |
| | |||||
* | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2019-04-17 | 3 | -78/+42 |
|\ | | | | | | | babolivier/account_expiration | ||||
| * | Remove usage of request.postpath | Erik Johnston | 2019-04-16 | 1 | -8/+8 |
| | | | | | | | | | | | | | | This is an undocumented variable in twisted, and relies on the servlet being mounted in the right way. This also breaks getting push rules on workers. | ||||
| * | Only handle GET requests for /push_rules | Erik Johnston | 2019-04-15 | 1 | -0/+7 |
| | | |||||
| * | Add admin API for group deletion | Erik Johnston | 2019-04-03 | 1 | -0/+26 |
| | | |||||
| * | Fix grammar and document get_current_users_in_room (#4998) | Andrew Morgan | 2019-04-03 | 1 | -1/+1 |
| | | |||||
| * | Remove presence lists (#4989) | Neil Johnson | 2019-04-03 | 1 | -67/+0 |
| | | | | | | Remove presence list support as per MSC 1819 | ||||
| * | remove log line for password (#4965) | Neil Johnson | 2019-03-28 | 1 | -2/+0 |
| | | | | | | | | Remove log line for password. | ||||
* | | Add management endpoints for account validity | Brendan Abolivier | 2019-04-17 | 1 | -0/+39 |
|/ | |||||
* | Support 3PID login in password providers (#4931) | Andrew Morgan | 2019-03-26 | 1 | -4/+45 |
| | | | | | Adds a new method, check_3pid_auth, which gives password providers the chance to allow authentication with third-party identifiers such as email or msisdn. | ||||
* | Use flags | Erik Johnston | 2019-03-20 | 1 | -2/+4 |
| | |||||
* | Gracefully handle failing to kick user | Erik Johnston | 2019-03-20 | 1 | -19/+27 |
| | |||||
* | Log new room ID | Erik Johnston | 2019-03-20 | 1 | -1/+6 |
| | |||||
* | Add ratelimiting on login (#4821) | Brendan Abolivier | 2019-03-15 | 1 | -0/+10 |
| | | | Add two ratelimiters on login (per-IP address and per-userID). | ||||
* | Send message after room has been shutdown | Erik Johnston | 2019-03-06 | 1 | -11/+11 |
| | | | | | | | | Currently the explanation message is sent to the abuse room before any users are forced joined, which means it tends to get lost in the backlog of joins. So instead we send the message *after* we've forced joined everyone. | ||||
* | Add 'server_version' endpoint to admin API | Joseph Weston | 2019-03-01 | 1 | -0/+23 |
| | | | | | This is required because the 'Server' HTTP header is not always passed through proxies. | ||||
* | Fix registration on workers (#4682) | Erik Johnston | 2019-02-20 | 1 | -2/+2 |
| | | | | | | | | | | * Move RegistrationHandler init to HomeServer * Move post registration actions to RegistrationHandler * Add post regisration replication endpoint * Newsfile | ||||
* | Move register_device into handler | Erik Johnston | 2019-02-18 | 1 | -37/+22 |
| | |||||
* | Fix typos | Andrew Morgan | 2019-01-22 | 1 | -4/+4 |
| | |||||
* | Return well_known in /login response (#4319) | Richard van der Hoff | 2018-12-24 | 1 | -7/+11 |
| | | | | ... as per MSC1730. | ||||
* | create support user (#4141) | Neil Johnson | 2018-12-14 | 1 | -1/+10 |
| | | | | | | Allow for the creation of a support user. A support user can access the server, join rooms, interact with other users, but does not appear in the user directory nor does it contribute to monthly active user limits. | ||||
* | Initialise user displayname from SAML2 data (#4272) | Richard van der Hoff | 2018-12-07 | 1 | -0/+5 |
| | | | | | When we register a new user from SAML2 data, initialise their displayname correctly. | ||||
* | Factor SSO success handling out of CAS login (#4264) | Richard van der Hoff | 2018-12-07 | 1 | -29/+76 |
| | | | | This is mostly factoring out the post-CAS-login code to somewhere we can reuse it for other SSO flows, but it also fixes the userid mapping while we're at it. | ||||
* | Rip out half-implemented m.login.saml2 support (#4265) | Richard van der Hoff | 2018-12-06 | 1 | -67/+2 |
| | | | | | | | | | | | | | * Rip out half-implemented m.login.saml2 support This was implemented in an odd way that left most of the work to the client, in a way that I really didn't understand. It's going to be a pain to maintain, so let's start by ripping it out. * drop undocumented dependency on dateutil It turns out we were relying on dateutil being pulled in transitively by pysaml2. There's no need for that bloat. | ||||
* | Fix non-ASCII pushrules (#4248) | Amber Brown | 2018-12-04 | 1 | -12/+23 |
| | |||||
* | fix type error | Amber Brown | 2018-12-03 | 1 | -1/+1 |
| | |||||
* | Support m.login.sso (#4220) | Richard van der Hoff | 2018-11-27 | 1 | -4/+9 |
| | | | | | | | | | | | | | | | | | * Clean up the CSS for the fallback login form I was finding this hard to work with, so simplify a bunch of things. Each flow is now a form inside a div of class login_flow. The login_flow class now has a fixed width, as that looks much better than each flow having a differnt width. * Support m.login.sso MSC1721 renames m.login.cas to m.login.sso. This implements the change (retaining support for m.login.cas for older clients). * changelog | ||||
* | Refactor state group lookup to reduce DB hits (#4011) | Erik Johnston | 2018-10-25 | 1 | -1/+2 |
| | | | | | | | | Currently when fetching state groups from the data store we make two hits two the database: once for members and once for non-members (unless request is filtered to one or the other). This adds needless load to the datbase, so this PR refactors the lookup to make only a single database hit. | ||||
* | Clean up room alias creation | Erik Johnston | 2018-10-19 | 1 | -32/+5 |
| | |||||
* | Merge pull request #3835 from krombel/fix_3821 | Amber Brown | 2018-09-12 | 1 | -1/+5 |
|\ | | | | | fix VOIP crashes under Python 3 | ||||
| * | fix VOIP crashes under Python 3 (#3821) | Krombel | 2018-09-10 | 1 | -1/+5 |
| | | |||||
* | | Port rest/ to Python 3 (#3823) | Amber Brown | 2018-09-12 | 7 | -52/+57 |
|/ | |||||
* | Allow guests to access /rooms/:roomId/event/:eventId | Will Hunt | 2018-08-20 | 1 | -1/+1 |
| | |||||
* | Integrate presence from hotfixes (#3694) | Amber Brown | 2018-08-18 | 1 | -1/+2 |
| | |||||
* | speed up /members and add at= and membership params (#3568) | Matthew Hodgson | 2018-08-15 | 1 | -3/+29 |
| | |||||
* | Don't fail requests to unbind 3pids for non supporting ID servers | Erik Johnston | 2018-08-08 | 1 | -2/+9 |
| | | | | | | | | | | Older identity servers may not support the unbind 3pid request, so we shouldn't fail the requests if we received one of 400/404/501. The request still fails if we receive e.g. 500 responses, allowing clients to retry requests on transient identity server errors that otherwise do support the API. Fixes #3661 | ||||
* | Merge branch 'master' into develop | Richard van der Hoff | 2018-08-02 | 2 | -2/+2 |
|\ | |||||
| * | Check room visibility for /event/ requests | Richard van der Hoff | 2018-08-02 | 2 | -2/+2 |
| | | | | | | | | | | | | | | | | Make sure that the user has permission to view the requeseted event for /event/{eventId} and /room/{roomId}/event/{eventId} requests. Also check that the event is in the given room for /room/{roomId}/event/{eventId}, for sanity. | ||||
* | | Merge pull request #3620 from fuzzmz/return-404-room-not-found | Richard van der Hoff | 2018-08-01 | 1 | -2/+2 |
|\ \ | | | | | | | return 404 if room not found | ||||
| * | | return NotFoundError if room not found | Serban Constantin | 2018-07-31 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per the Client-Server API[0] we should return `M_NOT_FOUND` if the room isn't found instead of generic SynapseError. This ensures that /directory/list API returns 404 for room not found instead of 400. [0]: https://matrix.org/docs/spec/client_server/unstable.html#get-matrix-client-r0-directory-list-room-roomid Signed-off-by: Serban Constantin <serban.constantin@gmail.com> | ||||
* | | | Python 3: Convert some unicode/bytes uses (#3569) | Amber Brown | 2018-08-02 | 1 | -7/+15 |
|/ / | |||||
* | | make /context lazyload & filter aware (#3567) | Matthew Hodgson | 2018-07-27 | 1 | -0/+9 |
| | | | | | | make /context lazyload & filter aware. | ||||
* | | Merge branch 'develop' of github.com:matrix-org/synapse into ↵ | Erik Johnston | 2018-07-23 | 3 | -437/+126 |
|\ \ | | | | | | | | | | erikj/client_apis_move | ||||
| * | | Admin API for creating new users (#3415) | Amber Brown | 2018-07-20 | 1 | -0/+122 |
| | | | |||||
| * | | Move v1-only APIs into their own module & isolate deprecated ones (#3460) | Amber Brown | 2018-07-19 | 2 | -437/+4 |
| |/ | |||||
* | | Move RoomContextHandler out of Handlers | Erik Johnston | 2018-07-18 | 1 | -2/+2 |
| | | | | | | | | This is in preparation for moving GET /context/ to a worker | ||||
* | | Split MessageHandler into read only and writers | Erik Johnston | 2018-07-18 | 2 | -15/+13 |
|/ | | | | | This will let us call the read only parts from workers, and so be able to move some APIs off of master, e.g. the `/state` API. | ||||
* | check isort by travis | Krombel | 2018-07-16 | 2 | -3/+3 |
| | |||||
* | Fix develop because I broke it :( (#3535) | Amber Brown | 2018-07-14 | 1 | -2/+2 |
| | |||||
* | Merge pull request #3534 from krombel/use_parse_and_asserts_from_servlet | Amber Brown | 2018-07-14 | 7 | -74/+42 |
|\ | | | | | Use parse and asserts from http.servlet | ||||
| * | fix sytests | Amber Brown | 2018-07-14 | 1 | -1/+1 |
| | | |||||
| * | add changelog | Krombel | 2018-07-13 | 1 | -1/+1 |
| | | |||||
| * | rename assert_params_in_request to assert_params_in_dict | Krombel | 2018-07-13 | 5 | -14/+14 |
| | | | | | | | | | | | | the method "assert_params_in_request" does handle dicts and not requests. A request body has to be parsed to json before this method can be used | ||||
| * | Use parse_{int,str} and assert from http.servlet | Krombel | 2018-07-13 | 7 | -75/+43 |
| | | | | | | | | | | | | | | parse_integer and parse_string can take a request and raise errors in case we have wrong or missing params. This PR tries to use them more to deduplicate some code and make it better readable | ||||
* | | Make auth & transactions more testable (#3499) | Amber Brown | 2018-07-14 | 3 | -6/+5 |
|/ | |||||
* | run isort | Amber Brown | 2018-07-09 | 14 | -86/+88 |
| | |||||
* | Attempt to be more performant on PyPy (#3462) | Amber Brown | 2018-06-28 | 2 | -2/+3 |
| | |||||
* | update doc for deactivate API | Matthew Hodgson | 2018-06-26 | 1 | -1/+1 |
| | |||||
* | add GDPR erase param to deactivate API | Matthew Hodgson | 2018-06-26 | 1 | -1/+12 |
| | |||||
* | Revert "Revert "Merge pull request #3431 from ↵ | Erik Johnston | 2018-06-25 | 1 | -1/+3 |
| | | | | | | matrix-org/rav/erasure_visibility"" This reverts commit 1d009013b3c3e814177afc59f066e02a202b21cd. | ||||
* | Revert "Merge pull request #3431 from matrix-org/rav/erasure_visibility" | Richard van der Hoff | 2018-06-22 | 1 | -3/+1 |
| | | | | | This reverts commit ce0d911156b355c5bf452120bfb08653dad96497, reversing changes made to b4a5d767a94f1680d07edfd583aae54ce422573e. | ||||
* | Merge pull request #3431 from matrix-org/rav/erasure_visibility | Erik Johnston | 2018-06-22 | 1 | -1/+3 |
|\ | | | | | Support hiding events from deleted users | ||||
| * | mark accounts as erased when requested | Richard van der Hoff | 2018-06-12 | 1 | -1/+3 |
| | | |||||
* | | Remove run_on_reactor (#3395) | Amber Brown | 2018-06-14 | 1 | -7/+0 |
|/ | |||||
* | fix log | Richard van der Hoff | 2018-06-07 | 1 | -1/+1 |
| | |||||
* | Fix event-purge-by-ts admin API | Richard van der Hoff | 2018-06-07 | 1 | -6/+4 |
| | | | | | | This got completely broken in 0.30. Fixes #3300. | ||||
* | Replace some more comparisons with six | Adrian Tschira | 2018-05-19 | 1 | -3/+5 |
| | | | | | | plus a bonus b"" string I missed last time Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | Merge pull request #3221 from matrix-org/erikj/purge_token | Erik Johnston | 2018-05-18 | 1 | -7/+10 |
|\ | | | | | Make purge_history operate on tokens | ||||
| * | Make purge_history operate on tokens | Erik Johnston | 2018-05-15 | 1 | -7/+10 |
| | | | | | | | | As we're soon going to change how topological_ordering works | ||||
* | | Move RoomCreationHandler out of synapse.handlers.Handlers | Richard van der Hoff | 2018-05-17 | 2 | -5/+4 |
|/ | | | | | | | Handlers is deprecated nowadays, so let's move this out before I add a new dependency on it. Also fix the docstrings on create_room. | ||||
* | Set Server header in SynapseRequest | Richard van der Hoff | 2018-05-10 | 1 | -1/+0 |
| | | | | | | | | | | | | (instead of everywhere that writes a response. Or rather, the subset of places which write responses where we haven't forgotten it). This also means that we don't have to have the mysterious version_string attribute in anything with a request handler. Unfortunately it does mean that we have to pass the version string wherever we instantiate a SynapseSite, which has been c&ped 150 times, but that is code that ought to be cleaned up anyway really. | ||||
* | Burminate v1auth | Adrian Tschira | 2018-04-30 | 2 | -2/+6 |
| | | | | | | | | | | | | | | | | | | This closes #2602 v1auth was created to account for the differences in status code between the v1 and v2_alpha revisions of the protocol (401 vs 403 for invalid tokens). However since those protocols were merged, this makes the r0 version/endpoint internally inconsistent, and violates the specification for the r0 endpoint. This might break clients that rely on this inconsistency with the specification. This is said to affect the legacy angular reference client. However, I feel that restoring parity with the spec is more important. Either way, it is critical to inform developers about this change, in case they rely on the illegal behaviour. Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | add guard for None on purge_history api | Krombel | 2018-04-30 | 1 | -1/+14 |
| | |||||
* | Merge pull request #3156 from NotAFile/py3-hmac-bytes | Richard van der Hoff | 2018-04-30 | 1 | -7/+9 |
|\ | | | | | Construct HMAC as bytes on py3 | ||||
| * | Construct HMAC as bytes on py3 | Adrian Tschira | 2018-04-29 | 1 | -7/+9 |
| | | | | | | | | Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | | Use six.moves.urlparse | Adrian Tschira | 2018-04-15 | 2 | -5/+6 |
|/ | | | | | | The imports were shuffled around a bunch in py3 Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | Merge pull request #3079 from matrix-org/erikj/limit_concurrent_sends | Erik Johnston | 2018-04-10 | 1 | -6/+1 |
|\ | | | | | Limit concurrent event sends for a room | ||||
| * | Use create_and_send_nonmember_event everywhere | Erik Johnston | 2018-04-09 | 1 | -6/+1 |
| | | |||||
* | | Merge pull request #3061 from NotAFile/add-some-byte-strings | Richard van der Hoff | 2018-04-09 | 1 | -2/+2 |
|\ \ | | | | | | | Add b prefixes to some strings that are bytes in py3 | ||||
| * | | Add b prefixes to some strings that are bytes in py3 | Adrian Tschira | 2018-04-04 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | This has no effect on python2 Signed-off-by: Adrian Tschira <nota@notafile.com> | ||||
* | | | Merge pull request #2938 from dklug/develop | Richard van der Hoff | 2018-04-09 | 1 | -1/+4 |
|\ \ \ | |_|/ |/| | | Return 401 for invalid access_token on logout | ||||
| * | | Return 401 for invalid access_token on logout | dklug | 2018-03-02 | 1 | -1/+4 |
| | | | | | | | | | | | | Signed-off-by: Duncan Klug <dklug@ucmerced.edu> | ||||
* | | | Merge pull request #2986 from jplatte/join_reponse_room_id | Richard van der Hoff | 2018-04-05 | 1 | -1/+6 |
|\ \ \ | |_|/ |/| | | Add room_id to the response of `rooms/{roomId}/join` | ||||
| * | | Add room_id to the response of `rooms/{roomId}/join` | Jonas Platte | 2018-03-13 | 1 | -1/+6 |
| | | | | | | | | | | | | Fixes #2349 | ||||
* | | | Merge branch 'master' of github.com:matrix-org/synapse into develop | Erik Johnston | 2018-03-19 | 1 | -1/+1 |
|\ \ \ | |/ / |/| | | |||||
| * | | Replace ujson with simplejson | Erik Johnston | 2018-03-15 | 1 | -1/+1 |
| | | | |||||
* | | | RoomMembershipRestServlet doesn't handle /forget | Erik Johnston | 2018-03-13 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | Due to the order we register the REST handlers `/forget` was handled by the correct handler. | ||||
* | | | Add transactional API to history purge | Richard van der Hoff | 2018-03-12 | 1 | -3/+35 |
| | | | | | | | | | | | | Make the purge request return quickly, and allow scripts to poll for updates. | ||||
* | | | Provide a means to pass a timestamp to purge_history | Richard van der Hoff | 2018-03-05 | 1 | -3/+55 |
| |/ |/| | |||||
* | | Move RoomMemberHandler out of Handlers | Erik Johnston | 2018-03-01 | 2 | -12/+14 |
| | | |||||
* | | Merge pull request #2854 from matrix-org/erikj/event_create_worker | Erik Johnston | 2018-02-13 | 1 | -1/+0 |
|\ \ | | | | | | | Create a worker for event creation | ||||
| * | | Add event_creator worker | Erik Johnston | 2018-02-07 | 1 | -1/+0 |
| | | | |||||
* | | | Fix typos in purge api & doc | Richard van der Hoff | 2018-02-13 | 1 | -3/+1 |
| | | | | | | | | | | | | | | | * It's supposed to be purge_local_events, not ..._history * Fix the doc to have valid json | ||||
* | | | Merge pull request #2858 from matrix-org/rav/purge_updates | Richard van der Hoff | 2018-02-09 | 1 | -1/+10 |
|\ \ \ | |/ / |/| | | delete_local_events for purge_room_history | ||||
| * | | delete_local_events for purge_history | Richard van der Hoff | 2018-02-09 | 1 | -1/+10 |
| | | | | | | | | | | | | Add a flag which makes the purger delete local events | ||||
* | | | Update copyright | Erik Johnston | 2018-02-06 | 2 | -0/+2 |
| | | | |||||
* | | | Update places where we create events | Erik Johnston | 2018-02-05 | 2 | -9/+11 |
| | | | |||||
* | | | Merge branch 'develop' into travis/admin-list-media | Travis Ralston | 2018-02-01 | 2 | -17/+34 |
|\ \ \ | |||||
| * | | | add ?ts massaging for ASes (#2754) | Matthew Hodgson | 2018-01-23 | 1 | -6/+11 |
| | | | | | | | | | | | | blindly implement ?ts for AS. untested | ||||
| * | | | rewrite based on PR feedback: | Matthew Hodgson | 2018-01-19 | 1 | -13/+7 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * [ ] split config options into allowed_local_3pids and registrations_require_3pid * [ ] simplify and comment logic for picking registration flows * [ ] fix docstring and move check_3pid_allowed into a new util module * [ ] use check_3pid_allowed everywhere @erikjohnston PTAL | ||||
| * | | | fix up v1, and improve errors | Matthew Hodgson | 2018-01-19 | 1 | -11/+29 |
| |/ / | |||||
* / / | Add an admin route to get all the media in a room | Travis Ralston | 2018-01-20 | 1 | -0/+22 |
|/ / | | | | | | | | | This is intended to be used by administrators to monitor the media that is passing through their server, if they wish. Signed-off-by: Travis Ralston <travpc@gmail.com> | ||||
* | | Add /room/{id}/event/{id} to synapse | Richard van der Hoff | 2018-01-09 | 1 | -3/+26 |
| | | | | | | | | | | | | Turns out that there is a valid usecase for retrieving event by id (notably having received a push), but event ids should be scoped to room, so /event/{id} is wrong. | ||||
* | | Better logging when login can't find a 3pid | Richard van der Hoff | 2017-12-20 | 1 | -4/+10 |
|/ | |||||
* | Delete devices in various logout situations | Richard van der Hoff | 2017-11-29 | 1 | -2/+25 |
| | | | | | | | | | | | | | Make sure that we delete devices whenever a user is logged out due to any of the following situations: * /logout * /logout_all * change password * deactivate account (by the user or by an admin) * invalidate access token from a dynamic module Fixes #2672. | ||||
* | Move set_password into its own handler | Richard van der Hoff | 2017-11-29 | 1 | -2/+2 |
| | | | | | | Non-functional refactoring to move set_password. This means that we'll be able to properly deactivate devices and access tokens without introducing a dependency loop. | ||||
* | Move deactivate_account into its own handler | Richard van der Hoff | 2017-11-29 | 1 | -2/+2 |
| | | | | | | Non-functional refactoring to move deactivate_account. This means that we'll be able to properly deactivate devices and access tokens without introducing a dependency loop. | ||||
* | Downcase userids for shared-secret registration | Richard van der Hoff | 2017-11-10 | 1 | -1/+1 |
| | |||||
* | Allow password_auth_providers to return a callback | Richard van der Hoff | 2017-11-01 | 1 | -1/+4 |
| | | | | ... so that they have a way to record access tokens. | ||||
* | Merge remote-tracking branch 'origin/develop' into ↵ | David Baker | 2017-11-01 | 1 | -3/+10 |
|\ | | | | | | | rav/refactor_accesstoken_delete | ||||
| * | Merge pull request #2615 from matrix-org/rav/break_auth_device_dep | David Baker | 2017-11-01 | 1 | -3/+0 |
| |\ | | | | | | | Break dependency of auth_handler on device_handler | ||||
| | * | Break dependency of auth_handler on device_handler | Richard van der Hoff | 2017-11-01 | 1 | -3/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm going to need to make the device_handler depend on the auth_handler, so I need to break this dependency to avoid a cycle. It turns out that the auth_handler was only using the device_handler in one place which was an edge case which we can more elegantly handle by throwing an error rather than fixing it up. | ||||
| * | | Apparently this is python | David Baker | 2017-11-01 | 1 | -1/+1 |
| | | | |||||
| * | | Log login requests | David Baker | 2017-11-01 | 1 | -0/+10 |
| |/ | | | | | | | Carefully though, to avoid logging passwords | ||||
* / | Move access token deletion into auth handler | Richard van der Hoff | 2017-11-01 | 2 | -11/+6 |
|/ | | | | | | | Also move duplicated deactivation code into the auth handler. I want to add some hooks when we deactivate an access token, so let's bring it all in here so that there's somewhere to put it. | ||||
* | Refactor some logic from LoginRestServlet into AuthHandler | Richard van der Hoff | 2017-10-31 | 1 | -29/+26 |
| | | | | | | | | | | | | | | I'm going to need some more flexibility in handling login types in password auth providers, so as a first step, move some stuff from LoginRestServlet into AuthHandler. In particular, we pass everything other than SAML, JWT and token logins down to the AuthHandler, which now has responsibility for checking the login type and fishing the password out of the login dictionary, as well as qualifying the user_id if need be. Ideally SAML, JWT and token would go that way too, but there's no real need for it right now and I'm trying to minimise impact. This commit *should* be non-functional. | ||||
* | replace 'except:' with 'except Exception:' | Richard van der Hoff | 2017-10-23 | 4 | -7/+7 |
| | | | | what could possibly go wrong | ||||
* | Remove pointless create() method | Richard van der Hoff | 2017-10-20 | 1 | -3/+3 |
| | | | | | It just calls the constructor, so we may as well kill it rather than having random codepaths. | ||||
* | Merge branch 'develop' into erikj/groups_merged | David Baker | 2017-10-02 | 1 | -10/+6 |
|\ | |||||
| * | Fix /joined_members to work with AS users | Erik Johnston | 2017-09-28 | 1 | -2/+1 |
| | | |||||
| * | Fix bug where /joined_members didn't check user was in room | Erik Johnston | 2017-09-27 | 1 | -10/+7 |
| | | |||||
* | | Merge branch 'develop' of github.com:matrix-org/synapse into erikj/groups_merged | Erik Johnston | 2017-09-19 | 1 | -8/+8 |
|\| | |||||
| * | fix english | hera | 2017-08-04 | 1 | -7/+7 |
| | | |||||
| * | typo | hera | 2017-08-04 | 1 | -1/+1 |
| | | |||||
* | | Split out profile handler to fix tests | Erik Johnston | 2017-08-25 | 1 | -9/+9 |
|/ | |||||
* | Fix bug where pusherpool didn't start and broke some rooms | Erik Johnston | 2017-07-06 | 1 | -8/+6 |
| | | | | | | | | Since we didn't instansiate the PusherPool at start time it could fail at run time, which it did for some users. This may or may not fix things for those users, but it should happen at start time and stop the server from starting. | ||||
* | Add API to quarantine media | Erik Johnston | 2017-06-19 | 1 | -0/+25 |
| | |||||
* | Remove unused import | Erik Johnston | 2017-06-19 | 1 | -1/+1 |
| | |||||
* | Change to create new room and join other users | Erik Johnston | 2017-06-19 | 1 | -6/+53 |
| | |||||
* | Forget room | Erik Johnston | 2017-06-19 | 1 | -0/+2 |
| | |||||
* | Add shutdown room API | Erik Johnston | 2017-06-19 | 1 | -1/+66 |
| | |||||
* | Add more granular event send metrics | Erik Johnston | 2017-05-02 | 1 | -0/+1 |
| | |||||
* | Merge pull request #2130 from APwhitehat/roomexists | Erik Johnston | 2017-04-27 | 1 | -1/+5 |
|\ | | | | | Check that requested room_id exists | ||||
| * | Check that requested room_id exists | Anant Prakash | 2017-04-14 | 1 | -1/+5 |
| | | |||||
* | | Reduce size of joined_user cache | Erik Johnston | 2017-04-25 | 1 | -1/+7 |
|/ | | | | | | | | The _get_joined_users_from_context cache stores a mapping from user_id to avatar_url and display_name. Instead of storing those in a dict, store them in a namedtuple as that uses much less memory. We also try converting the string to ascii to further reduce the size. | ||||
* | Merge pull request #2011 from matrix-org/matthew/turn_allow_guests | Erik Johnston | 2017-03-31 | 1 | -1/+4 |
|\ | | | | | add setting (on by default) to support TURN for guests | ||||
| * | add setting (on by default) to support TURN for guests | Matthew Hodgson | 2017-03-15 | 1 | -1/+4 |
| | | |||||
* | | Don't recreate so many sets | Erik Johnston | 2017-03-16 | 1 | -2/+1 |
| | | |||||
* | | Format presence events on the edges instead of reformatting them multiple times | Erik Johnston | 2017-03-15 | 1 | -0/+3 |
| | | |||||
* | | Merge pull request #1997 from matrix-org/dbkr/cas_partialdownload | David Baker | 2017-03-15 | 1 | -1/+8 |
|\ \ | |/ |/| | Handle PartialDownloadError in CAS login | ||||
| * | Handle PartialDownloadError in CAS login | David Baker | 2017-03-14 | 1 | -1/+8 |
| | | |||||
* | | Support registration / login with phone number | David Baker | 2017-03-13 | 1 | -6/+82 |
|/ | | | | Changes from https://github.com/matrix-org/synapse/pull/1971 | ||||
* | Revert "Support registration & login with phone number" | Erik Johnston | 2017-03-13 | 1 | -82/+6 |
| | |||||
* | Not any more, it doesn't | David Baker | 2017-03-08 | 1 | -1/+0 |
| | |||||
* | Minor fixes from PR feedback | David Baker | 2017-03-08 | 1 | -1/+1 |
| | |||||
* | Factor out msisdn canonicalisation | David Baker | 2017-03-08 | 1 | -13/+5 |
| | | | | Plus a couple of other minor fixes | ||||
* | Fix pep8 | David Baker | 2017-03-08 | 1 | -3/+3 |
| | |||||
* | Support new login format | David Baker | 2017-03-07 | 1 | -6/+91 |
| | | | | https://docs.google.com/document/d/1-6ZSSW5YvCGhVFDyD2QExAUAdpCWjccvJT5xiyTTG2Y/edit# | ||||
* | Remove unused param | Erik Johnston | 2017-02-20 | 1 | -1/+0 |
| | |||||
* | Make kick & ban reasons work | David Baker | 2017-02-14 | 1 | -0/+5 |
| | | | | | | We somehow specced APIs with reason strings, preserve the content in the events and even have the clients display them, but failed to actually pass the parameter through to the event content. | ||||
* | admin,storage: added more administrator functionalities | Morteza Araby | 2017-02-02 | 2 | -2/+224 |
| | | | | | | | | | | | | | | administrators can now: - Set displayname of users - Update user avatars - Search for users by user_id - Browse all users in a paginated API - Reset user passwords - Deactivate users Helpers for doing paginated queries has also been added to storage Signed-off-by: Morteza Araby <morteza.araby@ericsson.com> | ||||
* | Fix email push in pusher worker | Erik Johnston | 2017-02-02 | 1 | -1/+4 |
| | | | | | | This was broken when device list updates were implemented, as Mailer could no longer instantiate an AuthHandler due to a dependency on federation sending. | ||||
* | Added username and password for turn server | Marvin Steadfast | 2017-01-19 | 1 | -9/+17 |
| | | | | | It makes it possible to use a turn server that needs a username and password instead of a token. | ||||
* | Lowercase all email addresses before querying db | David Baker | 2017-01-18 | 1 | -1/+7 |
| | | | | | Since we store all emails in the DB in lowercase (https://github.com/matrix-org/synapse/pull/1170) | ||||
* | Linearize updates to membership via PUT /state/ | Erik Johnston | 2017-01-09 | 1 | -11/+17 |
| | |||||
* | Merge pull request #1676 from matrix-org/erikj/room_list | Erik Johnston | 2016-12-12 | 2 | -1/+52 |
|\ | | | | | Add new API appservice specific public room list | ||||
| * | Add new API appservice specific public room list | Erik Johnston | 2016-12-06 | 2 | -1/+52 |
| | | |||||
* | | Add /room/<room_id>/joined_members API | Erik Johnston | 2016-12-08 | 1 | -0/+19 |
| | | | | | | | | | | | | This returns the currently joined members in the room with their display names and avatar urls. This is more efficient than /members for large rooms where you don't need the full events. | ||||
* | | Add joined_rooms servlet | Erik Johnston | 2016-12-08 | 1 | -0/+17 |
|/ | |||||
* | Merge branch 'develop' into rav/no_more_refresh_tokens | Richard van der Hoff | 2016-11-30 | 1 | -12/+0 |
|\ | |||||
| * | Stop putting a time caveat on access tokens | Richard van der Hoff | 2016-11-29 | 1 | -12/+0 |
| | | | | | | | | | | | | | | | | The 'time' caveat on the access tokens was something of a lie, since we weren't enforcing it; more pertinently its presence stops us ever adding useful time caveats. Let's move in the right direction by not lying in our caveats. | ||||
* | | Stop generating refresh tokens | Richard van der Hoff | 2016-11-28 | 1 | -18/+10 |
|/ | | | | | | | Since we're not doing refresh tokens any more, we should start killing off the dead code paths. /tokenrefresh itself is a bit of a thornier subject, since there might be apps out there using it, but we can at least not generate refresh tokens on new logins. | ||||
* | Clean transactions based on time. Add HttpTransactionCache tests. | Kegan Dougal | 2016-11-14 | 1 | -1/+1 |
| | |||||
* | Move .observe() up to the cache to make things neater | Kegan Dougal | 2016-11-14 | 1 | -24/+6 |
| | |||||
* | Review comments | Kegan Dougal | 2016-11-11 | 3 | -146/+29 |
| | |||||
* | More flake8 | Kegan Dougal | 2016-11-11 | 1 | -1/+3 |
| | |||||
* | Flake8 and fix whoopsie | Kegan Dougal | 2016-11-11 | 1 | -4/+8 |
| | |||||
* | Use ObservableDeferreds instead of Deferreds as they behave as intended | Kegan Dougal | 2016-11-11 | 2 | -30/+31 |
| | |||||
* | Flake8 | Kegan Dougal | 2016-11-10 | 1 | -3/+3 |
| | |||||
* | Store Promise<Response> instead of Response for HTTP API transactions | Kegan Dougal | 2016-11-10 | 3 | -82/+56 |
| | | | | | | | | | | | | | | | | | | This fixes a race whereby: - User hits an endpoint. - No cached transaction so executes main code. - User hits same endpoint. - No cache transaction so executes main code. - Main code finishes executing and caches response and returns. - Main code finishes executing and caches response and returns. This race is common in the wild when Synapse is struggling under load. This commit fixes the race by: - User hits an endpoint. - Caches the promise to execute the main code and executes main code. - User hits same endpoint. - Yields on the same promise as the first request. - Main code finishes executing and returns, unblocking both requests. | ||||
* | rest/client/v1/register: use the correct requester in createUser | Patrik Oldsberg | 2016-10-06 | 1 | -3/+6 |
| | | | | Signed-off-by: Patrik Oldsberg <patrik.oldsberg@ericsson.com> | ||||
* | storage/appservice: make appservice methods only relying on the cache ↵ | Patrik Oldsberg | 2016-10-06 | 1 | -1/+1 |
| | | | | synchronous | ||||
* | Time out typing over federation | Erik Johnston | 2016-09-23 | 1 | -1/+4 |
| | |||||
* | Support /initialSync in synchrotron worker | Erik Johnston | 2016-09-21 | 2 | -5/+4 |
| | |||||
* | Enable guest access to POST /publicRooms | Erik Johnston | 2016-09-17 | 1 | -2/+2 |
| | |||||
* | Make POST /publicRooms require auth | Erik Johnston | 2016-09-16 | 1 | -2/+1 |
| | |||||
* | Change the way we calculate new_limit in /publicRooms and add POST API | Erik Johnston | 2016-09-15 | 1 | -0/+29 |
| | |||||
* | Remove default public rooms limit | Erik Johnston | 2016-09-15 | 1 | -1/+1 |
| | |||||
* | By default limit /publicRooms to 100 entries | Erik Johnston | 2016-09-15 | 1 | -1/+1 |
| | |||||
* | Pass since/from parameters over federation | Erik Johnston | 2016-09-15 | 1 | -3/+3 |
| | |||||
* | Allow paginating both forwards and backwards | Erik Johnston | 2016-09-15 | 1 | -3/+15 |
| | |||||
* | Remove support for aggregate room lists | Erik Johnston | 2016-09-15 | 1 | -1/+1 |
| | |||||
* | Conform better to the CAS protocol specification | Shell Turner | 2016-09-09 | 1 | -5/+2 |
| | | | | | | | Redirect to CAS's /login endpoint properly, and don't require an <attributes> element. Signed-off-by: Shell Turner <cam.turn@gmail.com> | ||||
* | Merge pull request #1096 from matrix-org/markjh/get_access_token | Mark Haines | 2016-09-09 | 3 | -16/+10 |
|\ | | | | | Add helper function for getting access_tokens from requests | ||||
| * | Add helper function for getting access_tokens from requests | Mark Haines | 2016-09-09 | 3 | -16/+10 |
| | | | | | | | | | | | | Rather than reimplementing the token parsing in the various places. This will make it easier to change the token parsing to allow access_tokens in HTTP headers. | ||||
* | | Filter returned events for client-facing format | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -2/+3 |
| | | |||||
* | | Allow clients to specify the format a room state event is returned in | Paul "LeoNerd" Evans | 2016-09-09 | 1 | -1/+7 |
|/ | |||||
* | Use parse_string | Erik Johnston | 2016-09-08 | 1 | -2/+2 |
| | |||||
* | Add server param to /publicRooms | Erik Johnston | 2016-09-08 | 1 | -5/+16 |
| | |||||
* | Pass through user-supplied content in /join/$room_id | Kegan Dougal | 2016-08-23 | 1 | -0/+1 |
| | | | | | | | It was always intended to allow custom keys on the join event, but this has at some point been lost. Restore it. If the user specifies keys like "avatar_url" then they will be clobbered. | ||||
* | Make synchrotron accept /events | Erik Johnston | 2016-08-12 | 1 | -5/+4 |
| | |||||
* | Dont invoke get_handlers fromClientV1RestServlet | Erik Johnston | 2016-08-12 | 9 | -1/+86 |
| | | | | | | hs.get_handlers() can not be invoked from split out processes. Moving the invocations down a level means that we can slowly split out individual servlets. | ||||
* | Merge pull request #995 from matrix-org/rav/clean_up_cas_login | David Baker | 2016-08-09 | 1 | -125/+33 |
|\ | | | | | Clean up CAS login code | ||||
| * | Clean up CAS login code | Richard van der Hoff | 2016-08-08 | 1 | -125/+33 |
| | | | | | | | | | | | | | | Remove some apparently unused code. Clean up parse_cas_response, mostly to catch the exception if the CAS response isn't valid XML. | ||||
* | | Fix CAS login | Richard van der Hoff | 2016-08-08 | 1 | -0/+1 |
|/ | | | | Attempting to log in with CAS was giving a 500 error. | ||||
* | Implement deleting devices | Richard van der Hoff | 2016-07-26 | 1 | -3/+10 |
| | |||||
* | Merge pull request #933 from matrix-org/rav/type_annotations | Richard van der Hoff | 2016-07-20 | 2 | -0/+8 |
|\ | | | | | Type annotations | ||||
| * | Type annotations | Richard van der Hoff | 2016-07-19 | 2 | -0/+8 |
| | | | | | | | | | | Add some type annotations to help PyCharm (in particular) to figure out the types of a bunch of things. | ||||
* | | Merge pull request #932 from matrix-org/rav/register_refactor | David Baker | 2016-07-20 | 1 | -1/+3 |
|\ \ | | | | | | | Further registration refactoring | ||||
| * | | Further registration refactoring | Richard van der Hoff | 2016-07-19 | 1 | -1/+3 |
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | * `RegistrationHandler.appservice_register` no longer issues an access token: instead it is left for the caller to do it. (There are two of these, one in `synapse/rest/client/v1/register.py`, which now simply calls `AuthHandler.issue_access_token`, and the other in `synapse/rest/client/v2_alpha/register.py`, which is covered below). * In `synapse/rest/client/v2_alpha/register.py`, move the generation of access_tokens into `_create_registration_details`. This means that the normal flow no longer needs to call `AuthHandler.issue_access_token`; the shared-secret flow can tell `RegistrationHandler.register` not to generate a token; and the appservice flow continues to work despite the above change. | ||||
* | | Merge pull request #922 from matrix-org/erikj/file_api2 | Erik Johnston | 2016-07-20 | 1 | -1/+10 |
|\ \ | |/ |/| | Feature: Add filter to /messages. Add 'contains_url' to filter. | ||||
| * | Add filter param to /messages API | Erik Johnston | 2016-07-14 | 1 | -1/+10 |
| | | |||||
* | | Add device_id support to /login | Richard van der Hoff | 2016-07-18 | 1 | -3/+36 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add a 'devices' table to the storage, as well as a 'device_id' column to refresh_tokens. Allow the client to pass a device_id, and initial_device_display_name, to /login. If login is successful, then register the device in the devices table if it wasn't known already. If no device_id was supplied, make one up. Associate the device_id with the access token and refresh token, so that we can get at it again later. Ensure that the device_id is copied from the refresh token to the access_token when the token is refreshed. | ||||
* | | Refactor login flow | Richard van der Hoff | 2016-07-18 | 1 | -18/+23 |
| | | | | | | | | | | | | | | | | | | | | Make sure that we have the canonical user_id *before* calling get_login_tuple_for_user_id. Replace login_with_password with a method which just validates the password, and have the caller call get_login_tuple_for_user_id. This brings the password flow into line with the other flows, and will give us a place to register the device_id if necessary. | ||||
* | | Bug fix: expire invalid access tokens | Negar Fazeli | 2016-07-13 | 1 | -1/+1 |
|/ | |||||
* | Add rest servlet. Fix SQL. | Erik Johnston | 2016-07-06 | 1 | -0/+1 |
| | |||||
* | Merge branch 'erikj/shared_secret' into erikj/test2 | Erik Johnston | 2016-07-06 | 1 | -4/+16 |
|\ | |||||
| * | Check that there are no null bytes in user and passsword | Erik Johnston | 2016-07-06 | 1 | -0/+6 |
| | | |||||
| * | Add null separator to hmac | Erik Johnston | 2016-07-06 | 1 | -0/+2 |
| | | |||||
| * | Add an admin option to shared secret registration | Erik Johnston | 2016-07-05 | 1 | -0/+1 |
| | | |||||
| * | Protect password when registering using shared secret | Erik Johnston | 2016-07-05 | 1 | -4/+7 |
| | | |||||
* | | Add purge_history API | Erik Johnston | 2016-07-05 | 1 | -0/+18 |
|/ | |||||
* | Fix style violations | Kent Shikama | 2016-07-04 | 1 | -1/+2 |
| | | | | Signed-off-by: Kent Shikama <kent@kentshikama.com> | ||||
* | Use .get() instead of [] to access password_hash | Kent Shikama | 2016-07-04 | 1 | -1/+1 |
| | |||||
* | Optionally include password hash in createUser endpoint | Kent Shikama | 2016-07-03 | 1 | -1/+3 |
| | | | | Signed-off-by: Kent Shikama <kent@kentshikama.com> | ||||
* | Feature: Add deactivate account admin API | Erik Johnston | 2016-06-30 | 1 | -0/+26 |
| | | | | | | | | | | Allows server admins to "deactivate" accounts, which: - Revokes all access tokens - Removes all threepids - Removes password The API is a POST to `/admin/deactivate/<user_id>` | ||||
* | Implement purge_media_cache admin API | Erik Johnston | 2016-06-29 | 1 | -0/+32 |
| | |||||
* | Remove redundant exception log in /events | Erik Johnston | 2016-06-09 | 1 | -24/+21 |
| | |||||
* | Don't make rooms visibile by default | Erik Johnston | 2016-06-08 | 1 | -2/+0 |
| | |||||
* | Log user that is making /publicRooms calls | Erik Johnston | 2016-06-08 | 1 | -0/+7 |
| | |||||
* | Load push rules in storage layer, so that they get cached | Erik Johnston | 2016-06-03 | 1 | -4/+2 |
| | |||||
* | Working unsubscribe links going straight to the HS | David Baker | 2016-06-02 | 1 | -1/+3 |
| | | | | and authed by macaroons that let you delete pushers and nothing else | ||||
* | Merge branch 'dbkr/split_out_auth_handler' into dbkr/email_unsubscribe | David Baker | 2016-06-02 | 1 | -5/+6 |
|\ | |||||
| * | Split out the auth handler | David Baker | 2016-06-02 | 1 | -5/+6 |
| | | |||||
* | | WIP on unsubscribing email notifs without logging in | David Baker | 2016-06-01 | 1 | -1/+54 |
|/ | |||||
* | Basic, un-cached support for secondary_directory_servers | David Baker | 2016-05-31 | 1 | -1/+2 |
| | |||||
* | Split out the room list handler | David Baker | 2016-05-31 | 1 | -1/+1 |
| | | | | So I can use it from federation bits without pulling in all the handlers. | ||||
* | Allow clients to specify a server_name to avoid 'No known servers' | Kegan Dougal | 2016-05-19 | 1 | -1/+4 |
| | | | | Multiple server_names are supported via ?server_name=foo&server_name=bar | ||||
* | Move typing handler out of the Handlers object | Mark Haines | 2016-05-17 | 1 | -4/+3 |
| | |||||
* | Move the presence handler out of the Handlers object | Mark Haines | 2016-05-16 | 2 | -7/+15 |
| | |||||
* | Create user with expiry | Negi Fazeli | 2016-05-13 | 1 | -0/+71 |
| | | | | | | - Add unittests for client, api and handler Signed-off-by: Negar Fazeli <negar.fazeli@ericsson.com> | ||||
* | Make pyjwt dependency optional | Erik Johnston | 2016-04-25 | 1 | -5/+7 |
| | |||||
* | Merge pull request #687 from nikriek/jwt-fix | Erik Johnston | 2016-04-21 | 1 | -3/+6 |
|\ | | | | | Fix issues with JWT login | ||||
| * | Fix issues with JWT login | Niklas Riekenbrauck | 2016-04-21 | 1 | -3/+6 |
| | | |||||
* | | Make the /set part mandatory | David Baker | 2016-04-12 | 1 | -1/+1 |
| | | |||||
* | | Mis-named function | David Baker | 2016-04-12 | 1 | -1/+1 |
| | | |||||
* | | Split into separate servlet classes | David Baker | 2016-04-12 | 1 | -11/+16 |
| | |