Uncommented lines that are forgotten as commented
Field name in X-GSS-Metadata header should have been encoded
properly remove user
fix for 404 on upload progress, needs some further tuning
fixed a permission exception bug when requesting file versions
Fixed indentation and brackets
Fix of Revision: 6b1f43efcd after code review. Rewrite the check condition.
Fix for Issue 35 and for Revision: 8746b05052 concerning the forbideness of '/' in the file name.
Fix of Revision: ec7b8d0b2c after code review. Added a check condition before removing the first and the last slash of the query path.
Remove the first and the trailing slash from the query when searching for a resource
Another fix for setting the auditInfo object by setting AND the user that changed the resource, not only the modification date of the object.
Setting the modification date and setting the auditInfo object to every resource that causes the proper show of permissions to group in every resource.
Rewrite the touchFolder and touchFile methods in order to update only the modification date and nothing else. Add a new method that select the appropriate files tat have permissions to the specific group that is to be deleted.
Recall a faulty previous commit that was related to forbiding the uploading of a file which file name would contain a slash and also adding to some files a copyright year.
Fix for Issue 35, added a note message on creating a new folder or updating an existing folder, informing the user that slashes are not allowed in folder names.The same note is added during the update of file name. Also, the client code has altered in order to forbid the creation or the update of a resource name.At last, don't allow uploading a file which file name contains slash.
Fix for Issue 35 that doesn't allow renaming of a file name when the new file name contains slashes.
Fix for Issue 35 that doesn't allow the creation of a folder which name contains slashes or the renaming of a folder name when the new folder name contains slashes
Fix for Issue 35 that doesn't allow the creation of a folder which name contains slashes.
Fix the response uri when making a GET request by username to /pithos/rest/users/
Remove the unnecessary throwing of NPE and show the shared sub-folders along with the shared files below 'My Shared' view properly. The above mentioned fixes are related to Issue 17
Another fix for Issue 17. On the creation of a new folder it's public property is being set according to the public property of the containg folder
Fix in displaying the proper shared folders for the owner in 'My Shared' view.This solves Issue 33.
Fix on Issue 17. On uploading a file, the file's readForAll value is inherited from the folder it is contained.
Allow public folders and all of the containing subfolders and files to be available in a web page.
Allow folders and subfolders and all of their contents to be marked as public for all when the user hits Public in the parent folder. The opposite is not applied (meaning that when a parent folder is marked as notPublic all the containing subfolders and files are not accordingly marked as notPublic
Navigation through public folder url with no special characters in their folder names fixed. 1. Todo: Treat the special characters 2. For every public folder all containing sub-folder should also be public.
Complete the code that allows the deletion of group permissions in files and/or folders when the group is deleted.
Mark the folders and files as modified in order to inform the client that something has changed concerning the folder and/or file.The change of modification date does the work. The changes in these folders and/or files have come from the deletion of a group that had permissions on that folders and/or files.
Minor fixes and remove logging
Fix the authentication sequence in requests of a file or a folder which is public or not public. This solves the Issue 14. Fix login with fireGSS by adding a boolean check in order the fireGSS client to receive a JSON response. ***TODO: fix sharing the home directory inside renderHTML
Some more fixes on Issue 16 - handling a CastException. Also working Issue 14 - when the user isNull and the file or folder is public for everyone then pretend that the owner is the user and and the user as a request attribute inside the FilesHandler servlet and not inside each method (e.g copy)
Fixed a NullPointerException while range headers existed in the HttpServletResponse. An if check for nulls added in copy method inside the WebDav. This solves Issue 14.
Don't decode resource names in JSON values. This is only necessary when names are passed as request parameters. This fixes renaming folders '+', '%' and ' ', among others.
Fix updates for folders named '%'.
-Navigation from the parent folder to subfolder and vice versa is available in the web page of a public folder-Only files that are marked as public are available in the web page of a public folder
- fix the problem which was related to download a file. It works now since an if statement was updated from if(content) to if (folder != null && content)- fix the path of a containing subfolder in a public folder- When a folder is marked as public from a user all containing files are also marked as public...
Explicitly activate the user on creation and don't rely on the DB to do it.
Simplify the content type conditional and make sure resource representation choice is independent of the access privileges.
Automated merge with https://gss.googlecode.com/hg/
In order to implement display public's folder contents as a web page i)Implement renderHTML method inside FilesHandler ii)make changes in serveResource in order to decide the contentType depending on client header request. This solves Issue 17
first commit - display public's folder contents as a web page
Forbid logins from disabled users.
Reject invalid resource names, like '.' and '..' in both server and web client. This fixes issue 19.
Fix silent NPE due to auto-unboxing.
Consider the folder public flag when checking for authorization permissions.
Merge with 66f69a7348ed1a0de9113a64025721fcc6e68b84
-Allow user to declare a public folder i)a checkbox named [Public] added in the web client's folder properties dialog ii) an API change made in order to return readforall flag for a folder iii) a readforall column added in the domain modelPublic folders are marked with the same icon as shared folders and are available also in the My Shared view. This fixes Issue 17 along with the revision 7fc12576aafb
- Add an administration application.- Remove the redundant RequestBuilder wrapper for efficiency.- Fix warnings.- Ignore the admin app build artifacts.- Guard against users without userclasses in the DB.- Add a dev mode launcher for debugging the admin app.
first commit of adding the public feature to folder / readForAll on each folder
Avoid a NPE when the client doesn't send a Content-Type header.
Fix WebDAV mounts from the Windows WebDAV mini-redirector client implementation:
DAV: namespaced elements in a PROPFIND responses can not use a default namespace; each element must be explicitly prefixed with a namespace prefix defined in itself or a parent. If a default namespace is used the client will give no errors, but will not display any resources....
Stop fetching and checking the user affiliation, since we are not going to use it for determining its userclass.
Avoid a race that caused duplicate coupon class insertions, and remove a transactional call as a performance bonus.
Complete quota upgrades with coupons. Also fix equals() and hashCode() for Invitations to consider the name or its components.
- Initial implementation of quota coupon workflow. Userclass modifications are not happening yet.- Factor out the common servlet methods into a base class.- Style the error messages in registration and coupons.
Fix the owner permission removal check when updating folders as well, and add the empty permission check to that case, too.
Redirect to login for browser requests without a cookie present and also for requests with cookies but without the proper one.
Now that we keep around the cookie, give the user the opportunity to use it as the authentication token to get to a file. This way passing around simple file resource URIs is possible, and as long as the user has authenticated with the service in the current browser session, he can access the file. Furthermore, treat such simple browser access as a special case and redirect to login before returning back to the file. Now one can e-mail the file URI to another user and he can click on the link, get prompted to login (or even register for the service) and then get back to the file URI to download it automatically....
Fix more than 100 warnings.
Don't allow usernames with spaces.
Fix warnings and stop complaining about parameter assignment. We're not eleven.
Fix the check for removed owner permissions.
Handle metadata updates even if they are sent with application/x-www/form-urlencoded content type.
Set all required objectClass attributes when adding an entry to LDAP. Also consistently encode and decode request parameters on success and errors.
Use firstname & lastname instead of full name for more flexibility and escape commas in property file.
Create user accounts in an LDAP-based IdP server after registration, so that Shibboleth login can work.
Implement proper backend lookup for invitations.
Add a user registration flow. Registration can be open for all, or limited to issued invitation codes, as configured in gss.properties.
Make folder move more efficient by not copying the actual file contents.
Split persistentId into identityProvider and identityProviderId for easier DB queries.
Log the file id when indexing fails and hide the stack trace for file not found cases, where it is redundant.
Use exponential backoff when updating the password or last login time in WebDAV.
Display the last login in the web client.
Update the last login for WebDAV access as well.
Add a new API operation for invalidating the current authentication token and returning a new one.
Store the time the user last logged-in. Since the user object is now modified in every login, drop the updated flag optimization. Also, remove an obsolete EJB method.
Retrieve the persistent-id from Shibboleth and store it in the DBMS for future use. Also, fix a few warnings.
Log any persistent-id attributes from Shibboleth.
Use EHCache for second-level caching.
Don't waste time constructing the cookie for the iPhone client login case.
use http caching by using IF-MODIFIED-SINCE HEADERS and handling response accordingly
Replace JBossMessaging 1.x and its HSQLDB data store with HornetQ. Indexing should be faster and more reliable now.
Add the file content type to the search results, as specified in the API documentation.
Discovered by: Giorgos Verigakis
Allow login in development mode to utilize the GWT 2.0 browser plugin.
Fix warning.
Don't convert spaces to plus signs when downloading a file. This fixes bug #756.
Fix the updated URL for a modified folder. This closes bug #759.
Fix bug introduced through stupid Eclipse cleanup.
- Check when renaming file that name doesn't already exist.- Add constraint to DB to ensure we don't get duplicate filenames.
Throw any exceptions thrown unwrapped. This way, the caller knows what it's dealing with in its try/catch block.(Previously, everything thrown was an Exception and most (all?) callers would simply turn this into a 500 error, since they don't check the cause.)
Make folder updates work with a single DB transaction (EJB call). Now the modification date on every child file is properly updated. Also rename modifyFolder() to updateFolder() for consistency with updateFile() and make setFilePermissions/setFolderPermissions private helper methods.
Make file updates work with a single DB transaction (EJB call). Besides the performance benefits, this change properly updates the modification date on every file update.
Requests without Authorization header should be rejected by isRequestValid().
Merge with 6e728a7cfa0b1004acb2613421e261890e560813
Double the retry attempts and the retry timeout in an attempt to better handle the load on the app servers. Also log the final failed retry so that it is greppable in the logs.
- Add constraint in order to avoid double entries due to concurrency. (Happened twice in production.)- Add versioning to avoid lost updates. (Impossible to tell if it has already happened.)
Don't cache the API responses, since we do it in the various operation handlers.
Don't cache the login, nonce, token and policy paths.
Make sure nocache files are never cached and cache files are cached for a year. This way redeployments should never require cleaning the browser cache again. Also, cache everything else for 40 days, to make the application startup snappier.