Commit Graph

128 Commits

Author SHA1 Message Date
Michael Walker 1f35b6dec3 Raise an error if files exceed the max file size 2018-01-15 11:39:29 +00:00
Winston Li 806002f273 Path was static instead of final 2017-09-20 08:20:16 +01:00
Winston Li 705b88933c Fix log message 2017-09-20 08:20:16 +01:00
Michael Mazour 976419b2d2 More logging fields for unauthorized requests
When a request requires authentication, log username, IP address, and the status code returned by the auth attempt. Previously logged projectName only.
2017-09-08 10:15:45 +01:00
Michael Mazour a3a41640b9 Merge pull request #26 from overleaf/custom-error-page
Simple Error Page to Replace Default
2017-09-06 06:53:57 +01:00
hugh-obrien d9e368ac35 Add a JSON response instead of default error page
Use custom error handler instead of default that leaks server info.

- Use in API context
- Use in default/web context
- Add tests
2017-09-05 13:32:23 +01:00
Winston Li f9307c7110 Check file size on tar input path and use stream copying instead of buffering fully 2017-08-02 21:40:00 +01:00
Winston Li 045eea8282 Add messages to precondition checks 2017-08-02 20:58:26 +01:00
Winston Li fd743d1bf3 Fix #3705 2017-08-02 20:58:15 +01:00
Winston Li ad687e5f58 Add failing test for #3705 2017-08-02 20:51:20 +01:00
Michael Walker ced34d91d4 Delete temporary files created by Tar on close
The SwapJob creates temporary files indirectly through Tar.bz2.zip.
These files are deleted with File.deleteOnExit, but there is no other
deletion mechanism.  This means that temporary files will build up as
the git bridge runs, only being deleted when the JVM finally
terminates.

Instead, we can delete these temporary files as soon as they are no
longer needed.  The files are wrapped in a FileInputStream and not
directly exposed, so we can simply delete the underlying file when the
stream is closed, as then the file is inaccessible.
2017-07-14 12:08:50 +01:00
Winston Li 21b769170d Minor name change to keep swap job / s3 decoupled 2017-04-04 13:09:43 +01:00
Winston Li 5dcc4128b4 Remove sleep and reset jgit version 2017-02-17 15:57:09 +00:00
Winston Li ee61d72e2e Implementation and tests of GC, GcJob, S3 files 2017-02-17 13:44:11 +00:00
Winston Li 9c63f06d4e Change InvalidGitRepository message 2016-12-22 13:40:12 +00:00
Winston Li 6d563ed40e Better javadoc, improve handling of submodules 2016-12-19 12:56:58 +00:00
Winston Li 76eb0a3200 Improve javadoc and logging 2016-12-17 16:09:01 +00:00
Winston Li d3fd17aab5 Improve javadocs around swapping/repos 2016-12-17 15:20:08 +00:00
Winston Li 25a988daa3 Add JavaDoc, minor refactor 2016-10-09 21:13:11 +01:00
Winston Li d3eb737120 Ignore .gitignore files on git.overleaf.com repos (fix #1281) 2016-10-08 16:12:20 +01:00
Winston Li fe058e8695 Use df equivalent as default for calculating used space 2016-09-19 10:01:07 +01:00
Winston Li 9a0f18e516 Increase postback timeout to 60s 2016-09-19 09:34:45 +01:00
Winston Li e9ffcfe19e Remove extra comma 2016-09-12 15:42:18 +01:00
Winston Li 9b78138314 Remove duplicate call to create the last_accessed index 2016-09-12 15:13:55 +01:00
Winston Li a8c743cb9c Schedule next swap job after previous job finishes 2016-09-12 15:11:56 +01:00
Winston Li 95a7cb2b8b Add check for last_accessed column in case adding failed due to an error rather than because it already exists 2016-09-06 09:13:20 +01:00
Winston Li ea803b53d8 Remove swap table and put last_accessed column in projects 2016-09-06 09:11:53 +01:00
Winston Li eb77d166e2 Add checkDB to upgrade the DB 2016-09-06 09:11:32 +01:00
Winston Li 52e5d2921f Sanitise s3 info and fix for s3 2016-09-06 09:11:32 +01:00
Winston Li 9936fbe3c9 Implement and test the swap job, and add integration test 2016-09-06 09:11:32 +01:00
Winston Li dd5694104d Delete the SnapshotRepositoryBuilder and WLBridgedProject abominations. Set accessed time after update and push. 2016-09-06 09:11:32 +01:00
Winston Li c459cd57af Implement and test SwapJobImpl 2016-09-06 09:11:32 +01:00
Winston Li a595acd0a6 Add and test GetNumProjects 2016-09-06 09:11:32 +01:00
Winston Li 4b014826d3 Add and test InMemorySwapStore 2016-09-06 09:11:32 +01:00
Winston Li f036ff2c8b Add and test an SQL update for only setting a project's last_accessed if it's missing 2016-09-06 09:11:32 +01:00
Winston Li 9d19cdd261 Implement and test DBStore swap_table functionality 2016-09-06 09:11:32 +01:00
Winston Li d2b628d904 Move stuff to bridge package 2016-09-06 09:11:32 +01:00
Winston Li f3eb32e2ec Catch more exceptions in db init 2016-09-06 09:11:32 +01:00
Winston Li cfc02bbcc8 Remove DB fluff layer 2016-09-06 09:11:32 +01:00
Winston Li c3609803c0 Change DBStore to target a file 2016-09-06 09:11:32 +01:00
Winston Li 25fea8ef58 Implement bz2 support and test 2016-09-06 09:11:32 +01:00
Winston Li 8c0937511e Add implementations, implement S3SwapStore (with only tars), FSRepoStore, Tar and File utils, add tests 2016-09-06 09:11:32 +01:00
Winston Li 692b979098 Large refactor of parts into distinct components / interfaces 2016-09-05 15:45:57 +01:00
Winston Li 5b810b64ba Decouple jgit's Repository class from the Bridge 2016-09-05 15:45:57 +01:00
Winston Li 598ea8a6fb Ugrade jgit and jgit.http.server to 4.4.1.201607150455-r and fix tests 2016-08-20 13:22:07 +01:00
Winston Li 3389615ef6 Use better error message for problems building repo (#1576) 2016-08-20 12:15:34 +01:00
Marc Egea i Sala d143baf489 Add more logging to commit action (#16) 2016-06-09 10:26:22 +01:00
Marc Egea i Sala cb2e12d3b0 Merge pull request #15 from overleaf/handler-refactor
Put API handlers into their own namespace
2016-06-07 07:57:07 +01:00
John Lees-Miller 4fb9cbdf19 Restore a removed logging statement 2016-06-03 16:45:16 +01:00
John Lees-Miller 42d1236063 Check for missing project before checking key 2016-06-03 16:11:31 +01:00