Krishnan Parthasarathi
bc8720406d
Added specific error for InvalidObjectName ( #2157 )
9 years ago
Harshavardhana
5102a5877e
API/handler: CopyObject make it behave in accordance with S3 spec. ( #2155 )
...
Fixes bugs found while running s3verify tool - fixes #2152
9 years ago
Harshavardhana
8ddf52021a
server: Bring in s3 compatibility fixes. ( #2099 )
...
This patch fixes majority of discrepant messages and responses
previously reported.
There are few discrepancies observed
- S3 is not honoring 'If-Modified-Since' header.
- We do not implement object policy, S3 returns a different response in this category.
- Adding new headers causes signature mismatch, but Minio server is fine for example
TestCopyObject() to be fixed by moving the signature logic out.
Relevant bug - https://github.com/minio/minio/issues/2097
Fixes #1955
9 years ago
Harshavardhana
8a028a9efb
handler/PUT: Handle signature verification through a custom reader. ( #2066 )
...
Change brings in a new signVerifyReader which provides a io.Reader
compatible reader, additionally implements Verify() function.
Verify() function validates the signature present in the incoming
request. This approach is choosen to avoid complexities involved
in using io.Pipe().
Thanks to Krishna for his inputs on this.
Fixes #2058
Fixes #2054
Fixes #2087
9 years ago
Krishnan Parthasarathi
a854e8cc5c
api: Sent ErrPreconditionFailed on If-Match failure ( #2009 )
...
* api: Sent ErrPreconditionFailed on If-Match failure
ref:
http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
* tests: Added functional tests for GetObject w/ If-Match headers set
* tests: Used verifyError to simplify errorCode and description matching on error
9 years ago
karthic rao
ba5bb4a127
TestServer introduction and revamp of functional tests. ( #1940 )
...
Allows for easy creation of Test server with temp backend.
changes
9 years ago
Aakash Muttineni
6f3bd76754
api: Add new bucket policy nesting error ( #1883 )
...
* Added ErrPolicyNesting which is returned when nesting of policies has occured
* Replaces ErrMalformedPolicy in the case of nesting
* Changed test case in bucket-policy-parser_test.go (ErrMalformedPolicy -> ErrPolicyNesting)
9 years ago
Harshavardhana
76c511c9fe
api: Extend S3 errors with Minio errors. ( #1533 )
...
Fixes #1530
9 years ago
Krishna Srinivas
75320f70d0
multipart: reject part upload if size is less than 5MB. ( #1518 )
9 years ago
Harshavardhana
17868ccd7f
handlers: overhaul entire writErrorResponse, simplify. ( #1472 )
9 years ago
Yurii
bba5468368
minio: Replace 'bucket already exists' error by 'bucket already owned by you'. ( #1465 )
...
S3 API returns BucketAlreadyExists error when some another user has such bucket.
If user that creates the bucket already has it, s3 returns BucketAlreadyOwnedByYou.
As minio has only one user, it should behave accordingly.
Otherwise it causes failures in the applications that ignore creation of already existing bucket in the account, but fail when bucket name is used by someone else.
9 years ago
Harshavardhana
91588209fa
obj: Object api handle all errors in common location. ( #1343 )
9 years ago
Harshavardhana
e0f8fed011
object: handle Error responses and handle errDiskFull. ( #1331 )
9 years ago
Harshavardhana
02ad48466d
error: Signature errors should be returned with APIErrorCode.
...
The reasoning is that we can reply back with wide range of
S3 error responses, which would provide more richer context
to S3 client.
Fixes #1267
9 years ago
Harshavardhana
fdf3d64793
error: Add proper prefixes for s3Error codes.
...
This patch adds 'Err' prefix for all standard API
error codes and also adds a proper type for them.
9 years ago
Harshavardhana
d5057b3c51
accessPolicy: Implement Put, Get, Delete access policy.
...
This patch implements Get,Put,Delete bucket policies
Supporting - http://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html
Currently supports following actions.
"*": true,
"s3:*": true,
"s3:GetObject": true,
"s3:ListBucket": true,
"s3:PutObject": true,
"s3:CreateBucket": true,
"s3:GetBucketLocation": true,
"s3:DeleteBucket": true,
"s3:DeleteObject": true,
"s3:AbortMultipartUpload": true,
"s3:ListBucketMultipartUploads": true,
"s3:ListMultipartUploadParts": true,
following conditions for "StringEquals" and "StringNotEquals"
"s3:prefix", "s3:max-keys"
9 years ago
Harshavardhana
aed62788d9
api: Implement multiple objects Delete api - fixes #956
...
This API takes input XML input in following form.
```
<?xml version="1.0" encoding="UTF-8"?>
<Delete>
<Quiet>true</Quiet>
<Object>
<Key>Key</Key>
</Object>
<Object>
<Key>Key</Key>
</Object>
...
</Delete>
```
and responds the list of successful deletes, list of errors
for all the deleted objects.
```
<?xml version="1.0" encoding="UTF-8"?>
<DeleteResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/ ">
<Deleted>
<Key>sample1.txt</Key>
</Deleted>
<Error>
<Key>sample2.txt</Key>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
</Error>
</DeleteResult>
```
9 years ago
Harshavardhana
3ff8a1b719
api: Implement CopyObject s3 API, doing server side copy.
...
Fixes #1172
9 years ago
Harshavardhana
dd9aaa855c
web/rpc: Merge ports with API server.
...
Fixes #1081 and #1130
9 years ago
Harshavardhana
835b297ba7
fs: Fail createObject with appropriate message.
...
Fail createObject() if a file already exists and one attempts
to create a prefix/directory by same name.
Send an approriate error back to the client as 409 Conflict.
9 years ago
Harshavardhana
682020ef2f
listObjects: Channel based changes.
...
Supports:
- prefixes
- marker
9 years ago
Harshavardhana
3c71c5c80c
s3cmd: Handle support for s3cmd.
9 years ago
Harshavardhana
7c91a8495f
signature/region: Remove 'milkyway' and use 'us-east-1' as default.
...
Fixes #980
9 years ago
Harshavardhana
dddb1650de
Add 5% cumulative reduction in total size of the disk
...
This is done due to filesystem holding additional metadata and inode space
which is unaccounted for during min-free-disk calculation.
9 years ago
Harshavardhana
5b2fa33bdb
Implementing min-free-disk
9 years ago
Harshavardhana
762b798767
Migrate this project to minio micro services code
9 years ago
Harshavardhana
c8de5bad2f
Implement presigned policy
9 years ago
Harshavardhana
d54488f144
Move all server and controller packages into top-level
9 years ago
Harshavardhana
2a15dd5eab
Enhance signature handler - throw back valid error messages
9 years ago
Harshavardhana
63c9cf0c4b
Move from Minimalist Object Storage to Minio Cloud Storage
10 years ago
Harshavardhana
86a887f9d4
Add corresponding tests
10 years ago
Harshavardhana
5eae32f2b0
Return proper InvalidArgument messages like s3 for invalid data for ListObjects(), ListObjectParts(), ListMultipartUploads()
10 years ago
Harshavardhana
4addf7a996
Restructure API handlers, add JSON RPC simple HelloService right now.
10 years ago
Harshavardhana
c07d48e7e8
ErrorResponse from minio server needed proper xml translations
10 years ago
Harshavardhana
2ea10c798b
Implement proper errors for Multipart
10 years ago
Harshavardhana
82c3656f79
Reply back CompleteMultipartUploadResult properly with final ETag computed
...
- Now s3 libraries and also objectstorage-go work properly
10 years ago
Harshavardhana
ade803a923
Verify if request date is 5minutes late, reject such a request as
...
it could be a possible replay attack.
This commit also fixes #505 , by returning MethodNotAllowed instead of NotImplemented
10 years ago
Harshavardhana
848c4ee31c
Further fixes for ACL support, currently code is disabled in all the handlers
...
Disabled because due to lack of testing support. Once we get that in we can
uncomment them back.
10 years ago
Harshavardhana
107e077ec0
Implement x-amz-acl handling
10 years ago
Harshavardhana
b121c8588f
Remove bucketpolicy handlers and all its references
10 years ago
Frederick F. Kautz IV
d5db891094
Simplfying code in api, round 1. Decoupling functions which both write headers and data.
10 years ago
Harshavardhana
2b0b5f014a
Update license header Mini should be Minimalist really
10 years ago
Harshavardhana
7ce3ab3193
Restructure minio api, move signature checks from utils to Api.
10 years ago
Harshavardhana
540723d7ae
Golint cleanup pkg/api
10 years ago
Harshavardhana
b7868d23ac
Update minioapi documentation
10 years ago
Harshavardhana
f7a06a5d1e
Some more cleanup
10 years ago
Harshavardhana
eeae64935e
Implement bucket policy handler and with galore of cleanup
10 years ago
Harshavardhana
ba3e2d41f7
Add license and fix development scripts
10 years ago
Harshavardhana
966cdd4f05
Reply in xml from validate and ignore handlers
10 years ago
Harshavardhana
ac4f07906c
Implement S3 Style ErrorCodes and Response
...
This patchset also brings in lot of cleanup in terms of minioapi codebase
10 years ago