Fixed nil pointer dereference in s3.go line 246 when accessing iamConfig pointer.
Added proper nil-checking before dereferencing s3opt.iamConfig.
- Check if s3opt.iamConfig is nil before dereferencing
- Use safe variable for passing IAM config path
- Prevents segmentation violation on server startup
- Maintains backward compatibility
- Add IamConfig field to S3ApiServerOption for optional advanced IAM
- Integrate IAM loading logic directly into NewS3ApiServerWithStore
- Remove duplicate enhanced_s3_server.go file
- Simplify command line logic to use single server constructor
- Maintain backward compatibility - standard IAM works without config
- Advanced IAM activated automatically when -iam.config is provided
This follows better architectural principles by enhancing existing
functions rather than creating parallel implementations.
- Add -iam.config flag to support advanced IAM configuration
- Enable S3 server to start with IAM integration when config is provided
- Allows JWT Bearer token authentication for S3 operations
s3 command ignore tlsVerifyClientCert and cacert.file arguments from
command line. On startS3Server instead of use real values (in s3opt),
default values (from s3Options, always empty) are checked.
Now on right values are checked and if user provide this arguments
RequireAndVerifyClientCert is set and/or ca certificate is loaded.
* Added/Updated:
- Added metrics ip options for all servers;
- Fixed a bug with the selection of the binIp or ip parameter for the metrics handler;
* Fixed cmd flags
* Add a way to use a JWT in an HTTP only cookie
If a JWT is not included in the Authorization header or a query string, attempt to get a JWT from an HTTP only cookie.
* Added a way to specify allowed origins header from config
* Removed unecessary log
* Check list of domains from config or command flag
* Handle default wildcard and change name of config value to cors
* refactor(net_timeout): `listner` -> `listener`
Signed-off-by: Ryan Russell <git@ryanrussell.org>
* refactor(s3): `s3ApiLocalListner` -> `s3ApiLocalListener`
Signed-off-by: Ryan Russell <git@ryanrussell.org>
* refactor(filer): `localPublicListner` -> `localPublicListener`
Signed-off-by: Ryan Russell <git@ryanrussell.org>
* refactor(command): `masterLocalListner` -> `masterLocalListener`
Signed-off-by: Ryan Russell <git@ryanrussell.org>
* refactor(net_timeout): `ipListner` -> `ipListener`
Signed-off-by: Ryan Russell <git@ryanrussell.org>
Signed-off-by: Ryan Russell <git@ryanrussell.org>