Sat Jul 22 09:22:11 2023 Rob Lauer <rlauer6@comcast.net>
[1.1.21]:
* VERSION: bump
* NEWS.md: updated
* README.md: generated
* src/main/perl/t/07-encryption.t: typo (add n to regxp options)
Mon Jul 17 08:54:07 2023 Rob Lauer <rlauer6@comcast.net>
[1.1.20]:
* VERSION: bump
* NEWS.md: updated
* README.md: generated
* src/main/perl/lib/Amazon/Credentials.pm.in
- ditch the ## end stuff, it wasn't that helpful
- remove the quotes in hash keys
(get_creds_from_ini_file)
- no 'profile' variable in default section
- set aws_session_token from file and 'token'
- refactor to use populate_creds
(populate_creds): new
(get_creds_from_env): refactored to use populate_creds
(get_creds_from_process): likewise
(get_creds_from_role): likewise
(set_sso_credentials): refactored for clarity
(get_role_credentials): likewise
(export_credentials): likewise
(main): use above
* t/14-utils.t: new
* src/main/perl/UnitTestSetup.pm
- package
- export nothing by default
- remove useless ## end comments
(12-error.t)
- remove 'profile=foo', no profile in default section
* t/00-credentials.t: refactored, import methods from UnitTestSetup
* t/01-credentials.t: likewise
* t/02-credentials.t: likewise
* t/03-container.t: likewise
* t/04-process.t: likewise
* t/05-format.t: likewise
* t/06-security.t: likewise
* t/07-encryption.t: likewise
* t/08-imdsv2.t: likewise
* t/09-live-credentials.t: likewise
* t/10-logging.t: likewise
* t/11-order.t: likewise
* t/12-error.t: likewise
* t/13-env.t: likewise
Mon May 22 16:45:25 2023 Rob Lauer <rlauer6@comcast.net>
[1.1.19]:
* VERSION: bump
* NEWS.md: updated
* README.md: generated
* src/main/perl/lib/Amazon/Credentials.pm.in
(new): provide hint for 'no_passskey_warning'
Tue Jan 24 13:53:18 2023 Rob Lauer <rlauer6@comcast.net>
[1.1.18]:
* VERSION: bump
* README.md: generated
* cpan/Makefile.am: PROJECT_ROOT
* cpan/test-requires: rm Log::Log4perl as a requirement
Mon Jan 9 05:48:08 2023 Rob Lauer <rlauer6@comcast.net>
[1.1.17]:
* VERSION: bump
* src/main/perl/lib/FOO.pm: removed from distribution
Sun Jan 8 15:50:03 2023 Rob Lauer <rlauer6@comcast.net>
[1.1.16]:
* VERSION: bump
* src/main/perl/lib/Amazon/Credentials.pm.in
* cpan/extra-files: use path's relative to project root
* cpan/buildspec.yml: likewise
* src/main/perl/lib/Amazon/Credentials.pm.in
- use q() instead of q{} for lists
* src/main/bash/bin/amazon-credentials.sh.in
- implement generic modulino pattern for scripts
- use qw() instead of qw{} for lists
(get_role_credentials): missing arg in sprintf
* NEWS.md - update
Mon Nov 21 18:41:11 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.15]:
* VERSION: bump
* src/main/perl/lib/Amazon/Credentials.pm.in
(get_creds_from_env): 4 args, not 3 - avoid uninitialized warning
Sun Nov 13 14:09:59 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.14]:
* VERSION: bump
* perl-Amazon-Credentials.spec.in: add scripts to libexecdir
Fri Aug 19 11:21:48 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.13 - SSO error message]:
* VERSION bump
* src/main/perl/lib/Amazon/Credentials
- minor refactoring (decode_json)
(new): debug statement
(get_creds_from_container): decode_json
(_get_access_token): likewise
(get_role_credential)
- debug statements
- better error handling/messages
* Makefile.am: don't rm README.md
Tue Aug 16 16:48:23 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.12 - reusing passkeys]:
* VERSION: bump
* src/main/perl/t/01-credentials.t: no_passkey_warning
* src/main/perl/t/07-encryption.t: likewise
* src/main/perl/t/12-error.t: likewise
* src/main/perl/t/13-env.t: likewise
* src/main/bash/bin/Makefile.am
- amazon-credentials, get-sso-credentials
* src/main/perl/lib/Amazon/Credential.pm.in
- pod tweaks and additions
- no_passkey_warnings
(new): warnings
(get_creds_from_env): clear %ENV of credentials
(_get_access_token): restore current working directory
Wed Aug 10 11:54:11 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.11 - SSO]:
* VERSION: bump
* src/main/perl/lib/Amazon/Credentials.pm.in
(new)
- sso_role_name, sso_account_id, sso_region
(get_region_from_env): new
* src/main/perl/t/13-env.t: delete AWS_REGION from env
* NEWS.md: update
Tue Jul 12 12:27:30 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.10 - unit tests, passkey, GetRoleCredentials]:
* VERSION: bump
* NEWS.md: updates
* README.md: generated
* src/main/perl/lib/Amazon/Credentials.pm.in
- pod for new subs
- remove passkey from hash, store as lexical
(get_passkey): new
(set_passkey): new
(main): new
(help): new
(set_sso_credentials): new
(get_role_credentials): new
(_get_access_token): new
* src/main/perl/t/*: qw{ . lib }
* configure.ac
- add JSON::PP, et.al.
- add src/main/bash/bin/Makefile
* src/main/bash/bin/get-role-credentials.sh.in: new
* src/main/bash/Makefile.am: new
* src/main/bash/bin/Makefile.am: new
* src/main/Makefile.am: add above to SUBDIRS
* cpan/buildspec.yml: exe_files (added shell scripts)
Fri Jun 3 12:45:37 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.9 - get region from .aws/config]:
* configure.ac: dependencies File::chdir, Test::Output
* src/main/perl/lib/Amazon/Credentials.pm.in
- set default timeout for metadata to 2 from 3s
(get_default_region): read .aws/config if found for default region
(create_config_path): new
(get_region_from_config): new
(get_creds_from_ini_file)
- get region from [default] section regardless
* VERSION: bump
* README.md: version
* src/main/perl/UnitTestSetup.pm
(create_config_file): new
(init_test)
- set default if undef only
- create .aws/config w/us-east-2 as default region
* src/main/perl/t/13-env.t
- test for default region from.aws/config
Thu Apr 28 18:04:16 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.8 - new README.md]:
* README-BUILD.md: renamed from README.md
* README.md: new
* Makefile.am: build rule for above
Mon Apr 25 09:55:14 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.7 - unit test fails on perl >= 5.17]:
* src/main/perl/lib/Amazon/Credentials.pm.in
(safe_dumper): less greedy to get all instances of credentials
(get_creds_from_env): @ENV{@env}
* src/main/perl/UnitTestSetup.pm
(__DATA__): add more profiles
* src/main/perl/t/13-env.t
Sun Apr 24 06:51:16 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.6 - more unit test fun]:
* VERSION: bump
* src/main/perl/lib/Amazon/Credentials.pm.in
(_init_encryption): test for Crypt::Cipher::AES too!
* .gitignore: just *.pm in src/main/perl/lib
* bootstrap: rebuild on version bump
* src/main/perl/lib/Amazon/Credentials/UnitTests.pm.in: new
* configure.ac: do not treat warnings as errors (pattern rule)
* cpan/test-requires: add Test::Without::Module
* src/main/perl/UnitTestSetup.pm: new
* src/main/perl/t/00-credentials.t: use UnitTestSetup
* src/main/perl/t/01-credentials.t: likewise
* src/main/perl/t/02-credentials.t: likewise
* src/main/perl/t/03-container.t: likewise
* src/main/perl/t/04-process.t: likewise
* src/main/perl/t/05-format.t: likewise
* src/main/perl/t/06-security.t: likewise
* src/main/perl/t/07-encryption.t: likewise
* src/main/perl/t/09-live-credentials.t: likewise
* src/main/perl/t/10-logging.t: likewise
* src/main/perl/t/11-order.t: likewise
* src/main/perl/t/12-error.t: likewise
Sun Apr 24 05:01:18 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.5 - CPAN only release, no changes]:
Wed Apr magit20 14:55:50 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.4 - missing unit tests]:
* VERSION: bump
* src/main/perl/lib/Amazon/Credentials.pm.in
- print_error, raise_error, error
- use our instead of use vars
- re-arrange subs in logical sections
- some refactoring for code clarity (formatting)
- use decode_json, encode_json
- minor refactoring, more constants
(get_creds_from_env):new
(set_credentials)
- respect print_error, raise_error setting
* src/main/perl/t/12-error.t: new
* .gitignore: +prove.sh.*, test-suite.log
Mon Apr 18 14:41:29 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.3 - unit test fixes]:
* VERSION: bump
* bootstrap: configure after bump
* .gitignore: -test-requires
* cpan/test-requires: new (Module::Loaded)
* cpan/buildspec.yml
- test-requires
* cpan/Makefile.am
(CLEANFILES): -test-requires
Sun Apr 17 09:18:12 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.2 - unit test fixes]:
* VERSION: bump
* src/main/perl/t/07-encryption.t
- use Test::Without::Module instead of Devel::Hide
- skip all tests if no Crypt::CBC available
- use -key or -pass to support older Crypt::CBC modules
* src/main/perl/t/01-credentials.t: bail on error
* src/main/perl/lib/Amazon::Credentials.pm.in
- pod tweaks
(_crypt): use -key -pass to support older Crypt::CBC versions
* cpan/requires: new
* cpan/buildspec.yml: core_modules: no
Thu Apr 14 09:48:53 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.1 - pod fixes]:
* NEWS.md: update
* src/main/perl/lib/Amazon/Credentials.pm.in
- pod fixes
Thu Apr 14 08:18:59 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.0 - credential encryption, IMDSv2 support]:
* src/main/perl/t/11-order.t: new
* src/main/perl/get-creds-from-process
- create more realistic payload
* src/main/perl/lib/Amazon/Credentials.pm.in
- pod improvements
- export create_passkey
(set_default_logger): new
(_init_logger): use above
(_set_defaults)
- set default order from split string
- make sure order is array ref
- validate search order
- do not use debug flag to set insecure flag
(get_creds_from_ini_file)
- test 'aws_access_key_id', not keys
(reset_credentials)
- add flag to regenerate credentials
* src/main/perl/t/01-credentials.t
- add test for region
- refactored
* src/main/perl/t/02-credentials.t
- refactored
- perltidy
* src/main/perl/t/03-container.t: likewise
* src/main/perl/t/04-process.t: likewise
* src/main/perl/t/05-format.t: likewise
* src/main/perl/t/06-security.t: likewise
* src/main/perl/t/07-encryption.t
- likewise
- breakout subtest 'do not cache credentials'
- add test for rotating credentials w/custom passkey
- order tests logically
- test default and custom ciphers
* src/main/perl/t/08-imdsv2.t
- use instance role
* src/main/perl/t/09-live-credentials.t
- subtest 'get real credentials from role'
- subtest 'get real credentials from profile'
* src/main/perl/t/11-order.t: new
* src/main/perl/t/100logging.t: test for default message changed
* README-TESTING.md: new
* src/main/perl/Makefile.am
(CLEANFILES): +prove.sh
Thu Apr 7 08:46:59 2022 Rob Lauer <rlauer6@comcast.net>
[1.1.0 - credential encryption, IMDSv2 support]:
* NEWS.md: notes on enhancements in this release
* VERSION: bump minor version
* src/main/perl/lib/Amazon/Credentials.pm.in
- pod updates
- update encrypted keys with prefix '_'
(new)
- use debug flag set insecure mode for full debug output
- default mode is to encrypt credentials if Crypt::CBC installed
- add cache attribute to enable/disable cacheing behavior
- just check if logger is ref, not 'CODE'
(credential_keys)
- fetch credentials if cacheing disabled
- delete token related members if no token
(get_default_region)
- use container metadata if executing in container
- add IMDSv2 token for EC2
(find_credentials)
- log message
- use new setter/getters to enforce encryption
(get_creds_from_container)
- don't store serialized credentials ($creds->{serialized})
(get_creds_from_role)
- likewise
- add headers for IMDSv2
(get_creds_from_process)
- refactored
(get_creds_from_ini_file)
- refactored
- set region from section
* src/main/perl/t/01-credentials.t
- use new getters
* src/main/perl/t/03-container.t
- perltidy
- set ECS_CONTAINER_METADATA_URI_V4
(src/main/perl/t/04-process.t): test region
(get_aws_access_key_id): new
(get_aws_secret_access_key): new
(get_creds_from_file): removed
(reset_credentials): new
(rotate_credentials): new
(safe_dumper): renamed from dump_ini_file
(set_aws_access_key_id): new
(set_aws_secret_access_key): new
(set_token): new
(create_passkey): new
(_create_metadata_url): new
(_crypt): new
(_decrypt): new
(_encrypt): new
(_fetch_passkey): new
(_init_encryption): new
* src/main/perl/t/07-encryption.t: new
* src/main/perl/t/08-imdsv2.t: new
* src/main/perl/t/09-live-credentials.t: new
* src/main/perl/t/10-logging.t: new
* README-TESTING.md: new
* cpan/requires: new
* src/main/perl/get-credentials-from-process
- use real expiration date
Mon Feb 7 08:00:07 2022 Rob Lauer <rlauer6@comcast.net>
[1.0.19: log security]:
* VERSION: bump
* src/main/perl/lib/Amazon/Credentials.pm.in
- pod tweaks and additions (SECURITY)
- only need perl 5.10?
- + insecure option
(new): output warning if insecure mode
(dump_ini_file): new
(get_creds_from_ini_file): use above method
(dump_response): new
(get_creds_from_role): use above
(get_creds_from_container): likewise
(format_credentials): q{}
* src/main/perl/t/06-security.t: new
Tue Feb 1 16:23:26 2022 Rob Lauer <rlauer6@comcast.net>
[1.0.18: debugging]:
* VERSION: bump
* src/main/perl/lib/Amazon/Credentials.pm.in
- add more debug messages
(new): use DEBUG environment variable as documented
(get_creds_from_ini_file): .aws/config
* src/main/perl/t/04-process.t: [profile foo]
Tue Feb 1 12:06:36 2022 Rob Lauer <rlauer6@comcast.net>
[1.0.17: unit tests for new methods]:
* src/main/perl/lib/Amazon/Credentials.pm.in
(format_credentials): don't join on "\n"
* src/main/perl/t/05-format.t
- new unit test for formattingmethods
Tue Feb 1 08:41:42 2022 Rob Lauer <rlauer6@comcast.net>
[1.0.17: perlcritic, format, as_string, credential_keys]:
* src/main/perl/lib/Amazon/Credentials.pm.in
- varioius "suggestions" from perlcritic
(as_string): new
(format): new
(credential_keys): new
(find_credentials): refactor
(get_creds_from_ini_file): refactor
* VERSION: bump
* .perlcriticrc: new
* README.md: update build docs
* .gitigmore: + cpan/upload-instructions
[distcheck]:
* Makefile.am: distcheck
* src/main/perl/Makefile.am: likewise
* cpan/Makefile.am: added buildspec.yml to dist
Mon Jan 31 07:06:15 2022 Rob Lauer <rlauer6@comcast.net>
[1.0.16]:
* cpan/extra-files: get-creds-from-process
* src/main/perl/Makefile.am
- add 03-, 04- tests to list
- fix make check from root
* src/main/perl/lib/Makefile.am: tests moved up one dir
* Makefile.am: make cpan
Sun Jan 30 10:06:07 2022 Rob Lauer <rlauer6@comcast.net>
[1.0.16]:
* VERSION: bump
Sat Jan 29 11:53:12 2022 Rob Lauer <rlauer6@comcast.net>
[1.0.16 Config::Tiny]:
* src/main/perl/lib/Amazon/Credentials.pm.in
- some refactoring
- use Config::Tiny
(find_credentials)
- use Config::Tiny
(get_creds_from_ini_file): new
(get_creds_from_file): moved to sub from inline (deprecated)
(get_creds_from_process): rename from get_credentials_from_process
* src/main/perl/t/01-credentials.t: add default profile
* src/main/perl/t/02-credentials.t: use profile for test
* src/main/perl/t/04-process.t: new
* src/main/perl/get-creds-from-process: new
Sat Jan 29 06:53:47 2022 Rob Lauer <rlauer6@comcast.net>
[1.0.15 credential process]:
* VERSION: bump
* src/main/perl/lib/Amazon/Credentials.pm.in
- use English;
- move pod to bottom
(find_credentials)
- set source if creds found in environment
- add check for credentials from process (credential_process=)
Sat Jan 15 05:52:08 2022 Rob Lauer <rlauer6@comcast.net>
[1.0.14]:
- no commit, pushed to CPAN, 1.0.13 as new version
Sat Jan 15 05:37:48 2022 Rob Lauer <rlauer6@comcast.net>
[1.0.13: log cleanup]:
* src/main/perl/lib/Amazon/Credentials.pm.in
- remove some log messages
(new)
- add warning if debug and no logger
- check if passed logger is code ref
Mon Jan 10 18:20:27 2022 Rob Lauer <rlauer6@comcast.net>
[1.0.12: refactoring]:
* VERSION: bump
* src/main/perl/Amazon/Credentials.pm.in
- refactoring, remove buggy foreach () case construct
- perlcritic mitigations
(Amazon::Credentials:Logger::debug): return if ! debug level
(new): use AWS_DEFAULT_REGION
* src/main/perl/t/03-container.t: new test for container
Sat Jan 8 09:44:57 2022 Rob Lauer <rlauer6@comcast.net>
[1.0.11]:
* .gitignore: add cpan/local
* configure.ac: use VERSION file
* VERSION: new
* bootstrap: bump
[get_creds_from_container]:
* src/main/perl/lib/Amazon/Credentials.pm.in
(get_creds_from_container): $@ used but not in eval
(refresh_token): check for ref AND keys
Wed Sep 15 16:09:27 2021 Rob Lauer <rlauer6@comcast.net>
[1.0.10-5]:
* configure.ac: bump release
* src/main/perl/lib/Amazon/Credentials.pm.in
- pod - default order
(find_credentials): check if profile defined and true
Fri Mar 5 14:54:01 2021 Rob Lauer <rlauer6@comcast.net>
[1.0.10-4]:
* buildspec.yml
- 0.2
- add YRB_EXTRA for repo update notification
* README.md: badge
Sun Jan 27 04:03:28 2019 Rob Lauer <rlauer6@comcast.net>
[1.0.10-3]:
* src/main/perl/lib/Amazon/Credentials.pm.in: pod changes
* configure.ac: bump minor version
Sun Jan 27 03:27:22 2019 Rob Lauer <rlauer6@comcast.net>
[1.0.10-2]:
* cpan/Makfile.am: .PHONY
* src/main/perl/lib/Amazon/Credentials.pm.in: pod changes
* configure.ac: bump minor version
Tue Dec 11 12:53:58 2018 Rob Lauer <rlauer6@comcast.net>
[1.0.10-1]:
* configure.ac: bump release
* cpan/Makefile.am: rename tarball for minor release only
* src/main/perl/t/02-credentials.t: GMT, not UTC
* README.md: mention 'make cpan'
* cpan/extra-files: new
Mon Dec 10 13:44:31 2018 Rob Lauer <rlauer6@comcast.net>
[1.0.10]:
* ChangeLog: new
* bootstrap: new
* configure.ac
- bump minor release
- add cpan/Makefile
* cpan/Makefile.am: new
* Makfile.am: add path above
* cpan/buildspec.yml
- don't build from git repo, build local
- use relative path for above
* src/main/perl/lib/Amazon/Credentials.pm.in
(_iso8601_to_time): always run strptime() in GMT