Harshavardhana
7e46055a15
api/handlers: Implement streaming signature v4 support. ( #2370 )
...
* api/handlers: Implement streaming signature v4 support.
Fixes #2326
* tests: Add tests for quick/safe
9 years ago
Anis Elleuch
dcc3463e48
Limit POST form fields and file size + Generic Request Size limiter ( #2317 )
...
* Use less memory when receiving a file via multipart
* Add generic http request maximum size limiter to secure against malicious clients
9 years ago
Harshavardhana
f248089523
api: Implement bucket notification. ( #2271 )
...
* Implement basic S3 notifications through queues
Supports multiple queues and three basic queue types:
1. NilQueue -- messages don't get sent anywhere
2. LogQueue -- messages get logged
3. AmqpQueue -- messages are sent to an AMQP queue
* api: Implement bucket notification.
Supports two different queue types
- AMQP
- ElasticSearch.
* Add support for redis
9 years ago
Harshavardhana
e5dd917c37
handlers/generic: Remove support for 'x-minio-date' ( #2064 )
9 years ago
Frank
a4fef436c8
Fix formatting for adding ETag for exposed headers ( #1687 )
9 years ago
Harshavardhana
30b0b4deba
storage/server/client: Enable storage server, enable client storage.
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
aa8c9bad54
routers: Move API and Web routers into their own files.
...
This is done to ensure we have a clean way to add new routers such as
- diskRouter
- configRouter
- lockRouter
9 years ago
Harshavardhana
9dca46e156
signature: Use a layered approach for signature verification.
...
Signature calculation has now moved out from being a package to
top-level as a layered mechanism.
In case of payload calculation with body, go-routines are initiated
to simultaneously write and calculate shasum. Errors are sent
over the writer so that the lower layer removes the temporary files
properly.
9 years ago
Harshavardhana
aaf97ea02c
config/main: Re-write config files - add to new config v3
...
- New config format.
```
{
"version": "3",
"address": ":9000",
"backend": {
"type": "fs",
"disk": "/path"
},
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
},
"console": {
"enable": true,
"level": "fatal"
}
}
}
```
New command lines in lieu of supporting XL.
Minio initialize filesystem backend.
~~~
$ minio init fs <path>
~~~
Minio initialize XL backend.
~~~
$ minio init xl <url1>...<url16>
~~~
For 'fs' backend it starts the server.
~~~
$ minio server
~~~
For 'xl' backend it waits for servers to join.
~~~
$ minio server
... [PROGRESS BAR] of servers connecting
~~~
Now on other servers execute 'join' and they connect.
~~~
....
minio join <url1> -- from <url2> && minio server
minio join <url1> -- from <url3> && minio server
...
...
minio join <url1> -- from <url16> && minio server
~~~
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
761cb2c740
handlers: Cleanup time handlers helpers.
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
Krishna Srinivas
af7170675d
caching: disable caching of index.html and enable caching for other UI asset files.
9 years ago
Harshavardhana
ae6e774377
api: Return NotImplemented for MultiDelete and CopyObject APIs
9 years ago
Krishna Srinivas
e509bcb2b9
UI: serve index.html if the requested file is not found in the assets bundle.
9 years ago
Harshavardhana
800b19d8e5
cleanup: Remove definitions and move them to its relative places accordingly
...
- Move fs-definitions.go and break them into fs-datatypes.go, fs-bucket-acl.go
and fs-utils.go
- Move api-definitions.go to api-response.go, where they should be.
- Move web-definitions to its related handlers.
9 years ago
Harshavardhana
5da1972d1f
router: Fix "/minio" router for web.
9 years ago
Harshavardhana
91a7b13529
web: Handle private bucket match from prefix to exact match.
...
Filter out 'privateBucket' if any from listBuckets output.
9 years ago
Harshavardhana
dd9aaa855c
web/rpc: Merge ports with API server.
...
Fixes #1081 and #1130
9 years ago
Harshavardhana
5a9333a67b
signature: Rewrite signature handling and move it into a library.
9 years ago
Harshavardhana
9b29af8bbe
listObjects: list objects minor optimization.
...
Minor optimization.
- Add 1000 entries buffered channel for walkerCh.
- Reset marker after the lexical order has reached and
compare only if the marker is set.
9 years ago
Harshavardhana
012fbe756b
handlers: Fix the naming of all handlers.
9 years ago
Krishna Srinivas
a344e7713a
browser-caching: enable browser caching for WebUI
9 years ago
Krishna Srinivas
81b255511f
CORS: cors handling should be before auth handling. cors should allow PUT.
9 years ago
Harshavardhana
3c71c5c80c
s3cmd: Handle support for s3cmd.
9 years ago
Harshavardhana
57430fe183
ignore-handlers: Enhance ignore handlers to cater for bucket resources with or without separators
...
Fixes an issue which we saw with minio-py
9 years ago
Harshavardhana
bd0436bf98
Change default options for cors to handle HEAD and allow all headers
9 years ago
Harshavardhana
1256ca86d0
Add fs separator
9 years ago
Harshavardhana
7fea9cb550
Add rpc signature handler
9 years ago
Harshavardhana
d18ca4b40d
Add proper router for handling putBucketACLHandler
9 years ago
Harshavardhana
cfdb29cac0
Simplify signature handling
...
This change brings a new SignatureHandler where Presigned.
Requests without Payload are handled very early before even
going through the call.
This change simplifies Donut codebase to not have signature related
logic for all API's.
Simplification is still needed for Payload based signature eg. PUT/POST calls
, which are still part of the donut codebase, which will be done subsequently
after donut re-write.
9 years ago
Harshavardhana
2a9c37ba26
Remove using HTTP responses in json reply always in application/xml
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
6a5e5c1826
With new auth config changes, restructure the API code to use the new style
9 years ago
Harshavardhana
1887114444
Fix all the golint complaints about newly added changes
...
Do not use func(this *server), such generic names should not be used
for writing struct methods.
9 years ago
Krishna Srinivas
b1b387b157
Remove unneeded functions in middleware init
9 years ago
Krishna Srinivas
1e82ee1192
Add CORS support to minio s3 server
9 years ago
Harshavardhana
63c9cf0c4b
Move from Minimalist Object Storage to Minio Cloud Storage
10 years ago
Harshavardhana
efbf3eabb7
Return x-amz-request-id for all replies
10 years ago
Harshavardhana
7615a6bfe5
HEAD shouldn't have any body, handle it in writeErrorResponse()
10 years ago
Harshavardhana
97d4a27c7e
Do not reply on ignoredHeaders for server, rely on SignedHeaders sent as part of Authorization header
10 years ago
Harshavardhana
89c1215194
PutObject handler gets initial support for signature v4, working
10 years ago
Harshavardhana
8654ddb566
Generate auth now saves in ${HOME}/.minio/users.json, also authHandler verifies request validity
10 years ago
Harshavardhana
ec33d79d57
Add server side signaturev4 check, not wired up to the readers yet.
10 years ago
Harshavardhana
396b728031
Add auth rpc service to generate access keys, add corresponding test
10 years ago
Harshavardhana
30fc14e703
Restructure codebase move crypto, checksum to top-level, move ``split`` into donut, move crypto/keys into api/auth
10 years ago