Commit Graph

958 Commits

Author SHA1 Message Date
Harshavardhana
49a714d1a4 Add license header for Minio modifications, improvements for sha1,sha256,sha512 implementations
Also bring in SSE3 optimized public domain implementation of SHA1 from Intel ``FIPS PUB 180-1``
2015-02-21 15:50:47 -08:00
Harshavardhana
12cff1be58 Implement sha1 as intel optimized set 2015-02-21 11:25:09 -08:00
Anis Elleuch
1d4d7ff274 Add missing asm instruction to correct sha256 calculation in avx mode 2015-02-21 19:34:36 +01:00
Anis Elleuch
e89271b8f5 Use Intel optimized code (ssse3, avx, avx2) to calculate sha256 2015-02-21 13:11:15 +01:00
Harshavardhana
3151f9b6c3 Add proper entries for GobHeader, Data copy.
This commit also adds 'donut_gen.go' for generating sample donut file
2015-02-21 01:44:27 -08:00
Frederick F. Kautz IV
8129d8fd0b Writing data out with error handling 2015-02-20 23:24:01 -08:00
Frederick F. Kautz IV
98ddbd840e Moving donut code to v1 in donut package 2015-02-20 23:07:43 -08:00
Frederick F. Kautz IV
9833647fb7 Fixing magic number for INIM 2015-02-20 22:42:58 -08:00
Anand Babu (AB) Periasamy
ec36a598c9 Magic as numbers are faster to encode and compare 2015-02-20 18:20:21 -08:00
Harshavardhana
741e14f749 Remove go cover and remove unncessary Makefiles 2015-02-20 17:44:26 -08:00
Harshavardhana
19a4998fcb SHA512 Implemention with Intel assembly code 2015-02-20 16:32:19 -08:00
Harshavardhana
c4f0aad9b5 Add donut tests, just for verification 2015-02-18 19:46:14 -08:00
Frederick F. Kautz IV
f7f34d08e8 Donut structure refined 2015-02-18 17:18:33 -08:00
Frederick F. Kautz IV
ab80c0ce12 Merge pull request #180 from abperiasamy/donut 2015-02-18 15:57:16 -08:00
Anand Babu (AB) Periasamy
9e304b53de donut spec v1 prototype 2015-02-18 15:52:12 -08:00
Harshavardhana
fab954f13f Run govet and fix 2015-02-18 15:33:55 -08:00
Harshavardhana
f7a06a5d1e Some more cleanup 2015-02-18 12:15:33 -08:00
Frederick F. Kautz IV
05ac09bf69 Adding header version 2015-02-18 10:21:02 -08:00
Harshavardhana
a3e5121f7b Make channels more aware of errors and shutdown on error - some cleanup 2015-02-18 00:24:19 -08:00
Harshavardhana
cf6d03b907 Expose policy code, for api router usage 2015-02-17 19:06:01 -08:00
Harshavardhana
5235badec9 Merge pull request #169 from harshavardhana/pr_out_add_policy_validation_code_more_rigorous 2015-02-17 18:10:00 -08:00
Frederick F. Kautz IV
fe9a5c14a0 Adding scaffolding for writing donut 2015-02-17 17:47:10 -08:00
Harshavardhana
980d229272 Add policy validation code more rigorous 2015-02-17 13:23:16 -08:00
Harshavardhana
f04beab7c2 Skip policy files 2015-02-16 18:37:09 -08:00
Harshavardhana
eeae64935e Implement bucket policy handler and with galore of cleanup 2015-02-16 18:20:40 -08:00
Harshavardhana
ba3e2d41f7 Add license and fix development scripts 2015-02-15 01:59:48 -08:00
Harshavardhana
966cdd4f05 Reply in xml from validate and ignore handlers 2015-02-11 22:00:45 -08:00
Harshavardhana
ac4f07906c Implement S3 Style ErrorCodes and Response
This patchset also brings in lot of cleanup in terms of minioapi codebase
2015-02-11 21:27:28 -08:00
Harshavardhana
680848bdcb Add license header 2015-02-08 03:00:32 -08:00
Harshavardhana
8087ca2450 Verify both 'x-amz-date' and 'date' header before discarding request 2015-02-08 02:37:19 -08:00
Harshavardhana
92f83982db Changes to tests pending from #142 2015-02-06 20:47:21 -08:00
Harshavardhana
ecb70a4c19 Avoid trailing '/' for buckets and also re-directs - in accordance with aws clients 2015-02-06 20:42:09 -08:00
Harshavardhana
81fc11ee5d Implement authorization support 2015-02-06 02:08:52 -08:00
Harshavardhana
0e8b16a55d Ignore EOF in ReadConfig() 2015-02-05 16:10:49 -08:00
Harshavardhana
72d0999dcb Reply back AccessKey, Secretkey through json 2015-02-05 15:59:44 -08:00
Harshavardhana
95f214c99b Append to Users list 2015-02-05 15:40:51 -08:00
Harshavardhana
b3b73ff4cb Merge pull request #136 from harshavardhana/pr_out_store_credentials_through_webui 2015-02-05 14:20:06 -08:00
Harshavardhana
4c90017b02 Store credentials through webui 2015-02-05 14:19:48 -08:00
Frederick F. Kautz IV
620435cea6 Content type is now passed from minioapi to storage 2015-02-05 14:05:43 -08:00
Frederick F. Kautz IV
288bc3fcc7 Adding content type to backend storage drivers 2015-02-04 17:32:40 -08:00
Frederick F. Kautz IV
816310825e Removing XMLName from json request 2015-02-04 14:21:47 -08:00
Frederick F. Kautz IV
7152712f34 Accessing dir as object should return ObjectNotFound 2015-02-03 16:45:00 -08:00
Harshavardhana
582ce3df36 Make sure config testing is done in tempdir 2015-02-03 00:25:33 -08:00
Harshavardhana
b1db70c807 Add json config reader/writer 2015-02-03 00:12:46 -08:00
Harshavardhana
aff4c5826b Use helper HomeDir() 2015-02-02 21:44:17 -08:00
Harshavardhana
dc47ca1431 Fix build issue 2015-02-01 17:21:17 -08:00
Frederick F. Kautz IV
a8eef13835 Minioapi TestPutObject properly creates bucket at start of test 2015-02-01 14:46:45 -08:00
Frederick F. Kautz IV
a092b44cf1 Adding test to ensure list objects returns an error for non existant buckets to match previous bug fix and fix for inmemory 2015-02-01 10:48:31 -08:00
Harshavardhana
5d197dd063 Reply back errors properly 2015-02-01 03:10:28 -08:00
Harshavardhana
b635501fb7 Add StrictSlash for path re-direction 2015-02-01 02:49:09 -08:00
Harshavardhana
e1b3836c60 Service a new WebUI server at port 8081.
It is provided to avoid the router clutter on the Object API
end. This is just a first cut sample we are going to build on
top of this the new management console UI.

General interest comes from subsequently writing a small UI to
generate `AccessKey` and `SecretKey` to build authorization
layer.
2015-02-01 02:44:53 -08:00
Frederick F. Kautz IV
54026dbc78 Setting order when retrieving buckets 2015-02-01 00:16:25 -08:00
Harshavardhana
26aac9a439 Add bucket resources to ignore handler 2015-01-31 22:45:52 -08:00
Frederick F. Kautz IV
94e124470c Converting unimplemented methods list into an http handler 2015-01-31 19:50:32 -08:00
Harshavardhana
46751f0b28 Add database query function, and some re-factoring 2015-01-31 15:51:18 -08:00
Frederick F. Kautz IV
0cd54031a7 Adding list api test 2015-01-30 17:36:53 -08:00
Harshavardhana
8a4128d304 Force clients to have certs 2015-01-30 16:51:33 -08:00
Frederick F. Kautz IV
84c5df8441 Using generic make test ./... and make build ./..., disabled signers code for now to fix build. 2015-01-30 10:58:47 -08:00
Frederick F. Kautz IV
7ca87e06aa Adding list bucket tests and fixing inmemory behavior. 2015-01-29 11:23:14 -08:00
Harshavardhana
82baccb8bf Prefix if empty skip it before IsValidBucket 2015-01-29 01:07:37 -08:00
Frederick F. Kautz IV
c6d537e66e Reducing code duplication relating to content type 2015-01-28 20:47:23 -08:00
Frederick F. Kautz IV
96a5fc0ee7 Updating godep 2015-01-28 20:26:52 -08:00
Harshavardhana
57d764778d Merge pull request #88 from harshavardhana/pr_out_add_x509_tests_and_should_be_part_of_the_build 2015-01-28 17:13:10 -08:00
Harshavardhana
ac99968796 Add x509 tests and should be part of the build 2015-01-28 17:12:59 -08:00
Frederick F. Kautz IV
b170f3f5fc Reordering minioapi functions 2015-01-28 16:51:44 -08:00
Frederick F. Kautz IV
452d46bfa6 Merge pull request #86 from fkautz/pr_out_adding_comments_to_explain_design_decisions_in_server_go 2015-01-28 16:33:28 -08:00
Frederick F. Kautz IV
66cc370e8b Adding comments to explain design decisions in server.go 2015-01-28 16:33:20 -08:00
Frederick F. Kautz IV
698f0b815f Merge pull request #85 from fkautz/pr_out_http_server_package_now_follows_convention 2015-01-28 16:30:02 -08:00
Frederick F. Kautz IV
f15e2c4e74 HTTP Server package now follows convention 2015-01-28 16:29:47 -08:00
Harshavardhana
1fdd62165e Merge pull request #83 from harshavardhana/pr_out_authorization_validation_in_accordance_with_s3_signer_awsv2 2015-01-28 16:14:39 -08:00
Harshavardhana
d78cd581c5 Authorization validation in accordance with S3 signer AWSv2 2015-01-28 16:14:08 -08:00
Frederick F. Kautz IV
e8399a6d05 Adding server config structure 2015-01-28 16:07:53 -08:00
Frederick F. Kautz IV
f3e31fe795 Fixing build break 2015-01-28 15:27:59 -08:00
Frederick F. Kautz IV
910aa176b4 Merge pull request #80 from fkautz/pr_out_fix_build 2015-01-28 14:00:41 -08:00
Frederick F. Kautz IV
ca7b1a7fc6 Fix build 2015-01-28 14:00:08 -08:00
Harshavardhana
fbafc98edb Add a new pkg/crypto/keys, first cut
- provides three functions
     - GetRandomAlphaNumeric()
     - GetRandomAlphaNumericFull()
     - GetRandomBase64()
     - ValidAccessKey()
2015-01-28 12:02:13 -08:00
Harshavardhana
2ccecd3f32 Add list buckets for 'fs' 2015-01-27 18:43:55 -08:00
Harshavardhana
3781734903 Merge pull request #77 from harshavardhana/pr_out_add_tiedot_integration_package_first_cut_more_improvements_needed 2015-01-27 18:15:50 -08:00
Harshavardhana
c63a6dba2f Add 'tiedot' integration package, first cut - more improvements needed 2015-01-27 18:15:23 -08:00
Frederick F. Kautz IV
5daa408e2c Creating subdirectories in fs now works 2015-01-27 17:47:11 -08:00
Frederick F. Kautz IV
044dc9af80 Adding more tests, including ordering of objects in prefix 2015-01-27 13:11:22 -08:00
Harshavardhana
aa4bc2549e Merge pull request #72 from harshavardhana/pr_out_add_erasure_package_in_its_full_form_v1_0 2015-01-27 12:57:51 -08:00
Harshavardhana
2547163cb2 Add erasure package in its full form v1.0 2015-01-27 12:55:17 -08:00
Frederick F. Kautz IV
74ef65daac Removing log from fs_test.go 2015-01-27 12:02:08 -08:00
Frederick F. Kautz IV
163a6c35db Adding fs storage 2015-01-27 11:09:55 -08:00
Frederick F. Kautz IV
49641e3410 Adding storage modifications for upcoming fs system 2015-01-26 15:45:10 -08:00
Harshavardhana
f3a27169fc Avoid 'clang' optimization, keep it -O0 2015-01-26 12:22:08 -08:00
Harshavardhana
b6627b4d6a Consolidate reply headers, simplify contentType 2015-01-25 18:23:39 -08:00
Harshavardhana
dfc3367e25 Add Server, Connection into HTTP header for all API replies 2015-01-25 17:40:22 -08:00
Harshavardhana
9e6eedfbbc Merge pull request #63 from harshavardhana/pr_out_implement_tls_server 2015-01-25 17:23:21 -08:00
Harshavardhana
063832baaf Implement TLS server
$ ./minio --tls --cert <your_cert> --key <your_private_key>

This patchset also provides crypto/x509 - which is a wrapper package
to generate X509 certificates.

This is necessary to provide certificates later through management console
2015-01-25 17:20:00 -08:00
Frederick F. Kautz IV
2368e7c936 Adding error support to all commands in storage interface 2015-01-25 15:35:08 -08:00
Frederick F. Kautz IV
d37bbfec41 Adding IsTruncated to minioapi 2015-01-25 13:32:39 -08:00
Frederick F. Kautz IV
39208601dc Adding more api suite tests 2015-01-25 13:06:36 -08:00
Frederick F. Kautz IV
0da193e6d6 Adding paging count tests 2015-01-25 12:57:58 -08:00
Frederick F. Kautz IV
82a69d3ab9 Adding initial test suites 2015-01-25 11:22:38 -08:00
Harshavardhana
15e832de64 For listobjects ignore resources should be for buckets 2015-01-24 18:46:23 -08:00
Harshavardhana
c751811dcb Return http.StatusNotImplemented for range of Bucket and Object resources
Not Implemented bucket resources
================================
    "acl":            true
    "lifecycle":      true
    "policy":         true
    "location":       true
    "logging":        true
    "notification":   true
    "versions":       true
    "requestPayment": true
    "versioning":     true
    "website":        true
    "uploads":        true

Not Implemented object resources
================================
    "uploadId":       true
    "acl":            true
    "torrent":        true
    "uploads":        true
2015-01-24 16:37:25 -08:00
Harshavardhana
704d6d8b0a Putbucket before PutObject in TestPutObject 2015-01-24 15:42:24 -08:00
Harshavardhana
77210fead3 Merge pull request #54 from harshavardhana/pr_out_add_bucket_to_be_part_of_object_struct_reply_back_with_bucketnotfound_for_erroneous_object_put_requests 2015-01-24 15:38:56 -08:00
Harshavardhana
357a81e879 Add bucket to be part of object struct, reply back with BucketNotFound
for erroneous Object Put requests.

Other minor cleanups, to follow

  - https://github.com/golang/go/wiki/CodeReviewComments
2015-01-24 15:35:05 -08:00
Frederick F. Kautz IV
af1ec94925 Adding more tests 2015-01-24 13:13:03 -08:00
Harshavardhana
01d15ca3b2 Implement crc32c for Darwin, update documentation 2015-01-23 19:43:51 -08:00
Frederick F. Kautz IV
dd0c833718 Adding tests for GET object in minioapi. 2015-01-23 19:33:56 -08:00
Frederick F. Kautz IV
71833b4513 Cleaning up more code. 2015-01-23 17:29:27 -08:00
Frederick F. Kautz IV
9224095420 Removing date format method 2015-01-23 17:19:38 -08:00
Harshavardhana
c516c74c51 Fix content-type in GetObjects 2015-01-23 13:16:31 -08:00
Frederick F. Kautz IV
574742ec14 Cleaning up minioapi code 2015-01-23 12:26:37 -08:00
Harshavardhana
d9d80f7c22 Get Bucket List objects compliance MaxKeys to 1000, Rename
Content struct to Item for cosmetic reasons for xml decoding
on client side
2015-01-23 12:15:01 -08:00
Harshavardhana
132e661136 List buckets response should be nested xml buckets
Additionally check for 'Header' content-type before
referencing it, as it may be empty value
2015-01-23 01:57:26 -08:00
Harshavardhana
d482c39341 Merge pull request #42 from harshavardhana/pr_out_make_gcc_mandatory_on_osx_since_clang_lacks_certain_gas_features 2015-01-22 18:33:49 -08:00
Harshavardhana
3d43305b1f Make gcc mandatory on OSX, since clang lacks certain GAS features 2015-01-22 18:33:35 -08:00
Frederick F. Kautz IV
8636e189e6 Cosmetic change, sorting routes 2015-01-22 16:19:55 -08:00
Frederick F. Kautz IV
8d1c447aac Adding HEAD verb to minioapi 2015-01-22 14:25:53 -08:00
Frederick F. Kautz IV
3a3d9989d1 Merge pull request #39 from fkautz/pr_out_making_in_memory_storage_data_type_private 2015-01-21 17:15:29 -08:00
Frederick F. Kautz IV
079cdcd909 Making in memory storage data type private 2015-01-21 17:15:05 -08:00
Frederick F. Kautz IV
8efd23b755 Migrating from unix ts to time.Time 2015-01-21 17:12:47 -08:00
Frederick F. Kautz IV
53a8536984 Fixing regex 2015-01-21 15:29:31 -08:00
Frederick F. Kautz IV
856781b2a4 Simplifying bucket name convention and making convention public 2015-01-21 15:22:15 -08:00
Frederick F. Kautz IV
ae0b88f319 Simplfying bucket naming convention 2015-01-21 15:20:35 -08:00
Harshavardhana
546e762abf Remove http unused package 2015-01-21 15:14:49 -08:00
Harshavardhana
bd1df87bd3 Merge pull request #34 from fkautz/pr_out_adding_etag_to_headers 2015-01-21 15:07:16 -08:00
Frederick F. Kautz IV
9ca1e37235 Adding etag to headers 2015-01-21 15:02:08 -08:00
Harshavardhana
5cb49175b1 Merge pull request #32 from harshavardhana/pr_out_remove_linux_specific_code_for_now_bring_them_in_later 2015-01-21 13:48:04 -08:00
Harshavardhana
9401262f75 Remove linux specific code for now, bring them in later 2015-01-21 13:47:50 -08:00
Frederick F. Kautz IV
c23fa26830 Extracting storage api to interface 2015-01-21 12:58:33 -08:00
Harshavardhana
d44404dd81 Provide ETag with sha256Sum of input object data 2015-01-21 10:55:33 -08:00
Harshavardhana
5b67da7d96 Add PutBucket and ListBuckets service 2015-01-21 00:52:59 -08:00
Harshavardhana
e22ae2475a Add license headers and other cleanup 2015-01-20 23:16:24 -08:00
Harshavardhana
9949a02e3e Merge pull request #2 from harshavardhana/pr_out_provide_package_http_as_a_http_server_wrapper
Provide package http as a http.Server wrapper
2015-01-20 23:15:16 -08:00
Frederick F. Kautz IV
761249934b Merge pull request #27 from fkautz/pr_out_adding_error_when_object_exists 2015-01-20 19:16:51 -08:00
Frederick F. Kautz IV
9260e6404a Adding error when object exists 2015-01-20 19:13:57 -08:00
Frederick F. Kautz IV
3026f77cfc Adding handler for listing objects to both trailing and non-trailing url 2015-01-20 19:10:52 -08:00
Frederick F. Kautz IV
cc4329fb12 List objects in a bucket. 2015-01-20 18:40:22 -08:00
Frederick F. Kautz IV
53190e1210 Initial work for xml list objects 2015-01-20 16:08:14 -08:00
Frederick F. Kautz IV
3c1580fcd9 Simplifying code 2015-01-20 14:07:39 -08:00
Frederick F. Kautz IV
2fedef04ac Moving scsi pkg away from errors.New 2015-01-20 11:34:05 -08:00
Frederick F. Kautz IV
36268f07ea Adding error handling to storage get call 2015-01-19 17:39:20 -08:00
Frederick F. Kautz IV
f3705c5d61 Moving web logic to minioapi package 2015-01-19 15:59:01 -08:00
Frederick F. Kautz IV
c791c7bca4 Store objects in memory map 2015-01-19 10:30:40 -08:00
Frederick F. Kautz IV
718794205f wip 2015-01-18 17:05:50 -08:00
Frederick F. Kautz IV
2ede0bff52 Closing channel when http server dies
Fixing deadlock on error
2015-01-18 17:04:09 -08:00
Frederick F. Kautz IV
1176d38e84 handler now only listens to GET requests 2015-01-18 16:23:17 -08:00
Frederick F. Kautz IV
c766f3617b Populating http handler with test scaffolding 2015-01-18 16:16:02 -08:00
Frederick F. Kautz IV
d3d1c1afb3 Minor refactoring, moving http request logic from storage to server 2015-01-18 15:50:53 -08:00
Frederick F. Kautz IV
f356599e22 Adding initial web server and storage server module infrastructure 2015-01-18 15:06:24 -08:00
Frederick F. Kautz IV
f550e84cf4 Removing old server
Removing storage drivers
2015-01-18 14:54:46 -08:00
Frederick F. Kautz IV
b8981ce946 Removing old server 2015-01-17 10:39:35 -08:00
Harshavardhana
b1266de212 Consolidate asm.S from crc32c, sha1, sha256 and sha512 2015-01-15 23:09:03 -08:00
Harshavardhana
3bf73642fd Remove assembly code bring back C code 2015-01-15 18:53:15 -08:00
Harshavardhana
6e84b1df97 Provide package http as a http.Server wrapper 2015-01-14 12:43:41 -08:00
Harshavardhana
68de9ac19e Further restructure 2015-01-14 12:40:43 -08:00
Harshavardhana
432275e966 Full restructure in accordance with
- pkg/{subsystem}/{package} style
  - modify Makefile to reflect the new style,
    consolidate various entries
  - add a dummy ``main.go`` at top level
2015-01-14 11:29:04 -08:00
Harshavardhana
f347a1e590 Merge with Intel ISAL changes from github.com/minio-io/isal
- These changes bring in a much needed Mac OSX port for
    Intel ISAL library
  - At the current stage this MacOSX part of code is
    considered beta
  - pkg/cpu now supports OSX
  - pkg/checksum/crc32c - is still WIP, rest of the packages
    have been validated
2015-01-11 00:39:39 -08:00
Harshavardhana
462808b87a Disable sha1,sha256,sha512 avx,avx2,sse3 crypto implementations.
Re-implement them later, once stable
2015-01-06 17:02:25 -08:00
Frederick F. Kautz IV
b5d84790a2 Further simplifying merging files. Eliminated a structure, switched to PipeWriter 2015-01-04 14:46:51 +13:00
Harshavardhana
0e4a26e3b4 Add Diskattrmap, Scsiattrmap for probed scsi devices
Additional changes

- Use ``iota`` for constants
- Remove unncessary C header files
- ``new-cmd`` now depends on codegangsta cli
2014-12-30 02:37:47 -08:00
Harshavardhana
6b36b5c551 A full restructure 2014-12-29 21:22:26 -08:00