Thu Apr 14 08:18:59 2022 Rob Lauer [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 [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 [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 [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 [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 [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 [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 [1.0.16]: * VERSION: bump Sat Jan 29 11:53:12 2022 Rob Lauer [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 [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 [1.0.14]: - no commit, pushed to CPAN, 1.0.13 as new version Sat Jan 15 05:37:48 2022 Rob Lauer [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 [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 [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 [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 [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 [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 [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 [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 [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