{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":585994826,"defaultBranch":"master","name":"emv-utils","ownerLogin":"openemv","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-01-06T16:48:58.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/96020388?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1678617685.0970712","currentOid":""},"activityList":{"items":[{"before":"fb0780c1eafaf53d294ee4f8ba1f65685668a53b","after":"c144b5fa1be07cc2a15e4a85f45b3b9b60199260","ref":"refs/heads/master","pushedAt":"2024-08-08T18:51:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Ensure that argp keys are not interpreted as short options\n\nThe argp documentation indicates that if the key parameter has a value\nthat is a printable ASCII value, it will also be used as the short\noption. Currently enums provide the key parameter for each option and\nthere is no intention for these to be short options. Therefore it is\nbest to renumber the enums to avoid printable ASCII values.","shortMessageHtmlLink":"Ensure that argp keys are not interpreted as short options"}},{"before":"1d2b40c98cc303281455680818cbdbe4aa068d1b","after":"fb0780c1eafaf53d294ee4f8ba1f65685668a53b","ref":"refs/heads/master","pushedAt":"2024-08-08T18:47:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Minor improvement to printing of Data Object List (DOL) fields\n\n* It is safe to assume that DOL fields will never have an associated\n value string\n* Remove the colon when printing DOL entries because it will not be\n followed by a data buffer","shortMessageHtmlLink":"Minor improvement to printing of Data Object List (DOL) fields"}},{"before":"ea3a2c8d809c4a90ae597baed73fc6682dba4e8c","after":"1d2b40c98cc303281455680818cbdbe4aa068d1b","ref":"refs/heads/master","pushedAt":"2024-07-31T19:22:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Update Github Actions\n\n* Add debug and release builds for Ubuntu 24.04 LTS\n* Remove builds for Fedora 37 and Fedora 38 because they are EOL\n* Add debug and release builds for Fedora 40\n* Update MacOS builds for MacOS 13 and MacOS 14. Note that Github's\n MacOS 14 runners are arm64, not x86_64.\n* Github's MacOS runners already have pkg-config and gettext and it is\n no longer necessary to specify their installation\n* Update MacOS builds to test shared library builds\n* Add builds for Microsoft Universal C Runtime (UCRT) using MSYS2's\n UCRT64 build environment that is based on GCC, not CLANG","shortMessageHtmlLink":"Update Github Actions"}},{"before":"64b7923afaa637ae152f39f67bc23c47fcbc1b52","after":"ea3a2c8d809c4a90ae597baed73fc6682dba4e8c","ref":"refs/heads/master","pushedAt":"2024-07-31T19:14:30.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Improve argp usage in emv-decode\n\nMove documentation strings out of argp options and instead specify them\nin the documentation parameter of struct argp.","shortMessageHtmlLink":"Improve argp usage in emv-decode"}},{"before":"df05cb5179836de3fe5490a310ac7988d58942a1","after":"64b7923afaa637ae152f39f67bc23c47fcbc1b52","ref":"refs/heads/master","pushedAt":"2024-07-31T19:12:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Update copyright notices","shortMessageHtmlLink":"Update copyright notices"}},{"before":"31777d565a5d00ed48b6d69a14bca76680c8ce19","after":"df05cb5179836de3fe5490a310ac7988d58942a1","ref":"refs/heads/master","pushedAt":"2024-07-29T19:14:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Populate terminal data fields before GET PROCESSING OPTIONS\n\nEMV 4.4 Book 1, 12.4, states that the terminal should set the value of\nApplication Identifier (AID) - terminal (field 9F06) before GET\nPROCESSING OPTIONS. It is not explicitly stated that PDOL may list 9F06,\nbut the assumption is that the PDOL may list any field having the\nterminal as the source. Therefore, this implementation will create the\ninitial terminal data fields for the current transaction before PDOL\nprocessing and GET PROCESSING OPTIONS.","shortMessageHtmlLink":"Populate terminal data fields before GET PROCESSING OPTIONS"}},{"before":"63f9cfff3f6c0988d008979fbc73be7802ffaba3","after":"31777d565a5d00ed48b6d69a14bca76680c8ce19","ref":"refs/heads/master","pushedAt":"2024-07-29T19:13:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Improve EMV Data Object List (DOL) processing\n\nAllow emv_dol_build_data() to use an arbitrary number of TLV lists as\ndata sources.","shortMessageHtmlLink":"Improve EMV Data Object List (DOL) processing"}},{"before":"6919bbd961d8e73355d39fba978844d8362e7e90","after":"63f9cfff3f6c0988d008979fbc73be7802ffaba3","ref":"refs/heads/master","pushedAt":"2024-07-29T19:10:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Populate terminal data fields for the current transaction\n\nThe emv_initiate_application_processing() function will create these\nfields and append them to the terminal data:\n* Point-of-Service (POS) Entry Mode; field 9F39\n* Application Identifier (AID) - terminal; field 9F06\n* Transaction Status Information (TSI); field 9B\n* Terminal Verification Results (TVR); field 95","shortMessageHtmlLink":"Populate terminal data fields for the current transaction"}},{"before":"71c35427105910b6b8988e087175e354baced254","after":"6919bbd961d8e73355d39fba978844d8362e7e90","ref":"refs/heads/master","pushedAt":"2024-07-22T18:49:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Refactor emv_read_application_data() to use emv_ctx_t","shortMessageHtmlLink":"Refactor emv_read_application_data() to use emv_ctx_t"}},{"before":"a547b1796e30fdbcaac9be3d2d75e2aae4738b91","after":"71c35427105910b6b8988e087175e354baced254","ref":"refs/heads/master","pushedAt":"2024-07-22T18:48:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Refactor emv_initiate_application_processing() to use emv_ctx_t\n\nNote that emv_initiate_application_processing() will now clear the ICC\ndata list in case it was populated by a previous application selection\nattempt.\n\nAlso, emv_initiate_application_processing() no longer has separate TLV\nsource lists as parameters and will instead search the TLV lists when\nbuilding the PDOL data for GET PROCESSING OPTIONS in this order:\n* emv_ctx_t.params\n* emv_ctx_t.config\n\nIn future, a more advanced per-AID configuration mechanism will impact\nthe above order.","shortMessageHtmlLink":"Refactor emv_initiate_application_processing() to use emv_ctx_t"}},{"before":"dbb75c4338cdcbc9642b2c40c6d5f3cf86a66564","after":"a547b1796e30fdbcaac9be3d2d75e2aae4738b91","ref":"refs/heads/master","pushedAt":"2024-07-22T18:44:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Refactor emv_select_application() to use emv_ctx_t\n\nNote that emv_select_application() will now also free\nemv_ctx_t.selected_app if it was previously populated.","shortMessageHtmlLink":"Refactor emv_select_application() to use emv_ctx_t"}},{"before":"dff526209956846054f8f0563fd2e08a8882924d","after":"dbb75c4338cdcbc9642b2c40c6d5f3cf86a66564","ref":"refs/heads/master","pushedAt":"2024-07-22T18:42:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Refactor emv_build_candidate_list() to use emv_ctx_t","shortMessageHtmlLink":"Refactor emv_build_candidate_list() to use emv_ctx_t"}},{"before":"42d92cab7f6c74063a44d80dee363f061a134607","after":"dff526209956846054f8f0563fd2e08a8882924d","ref":"refs/heads/master","pushedAt":"2024-07-22T18:20:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Initial implementation of EMV processing context\n\nThe intention is that the EMV processing context will hold all\nconfiguration, parameters and state related to EMV processing such that\nthe high level EMV library functions can eventually be refactored to\ntake this as a parameter instead of various separate parameters.","shortMessageHtmlLink":"Initial implementation of EMV processing context"}},{"before":"2924b631bed27e6c267db742fc66cb294852b3c1","after":"42d92cab7f6c74063a44d80dee363f061a134607","ref":"refs/heads/master","pushedAt":"2024-06-11T17:51:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Fix ASRPD (field 9F0A) registered ID for Technical Cooperation ep2 Association\n\nThe Technical Cooperation ep2, March 24, 2020, Product Identification\ndocument, as well as www.emvco.com/registered-ids/, indicate that the\nASRPD-ID is 3, not 2.","shortMessageHtmlLink":"Fix ASRPD (field 9F0A) registered ID for Technical Cooperation ep2 As…"}},{"before":"54c0e6edc020b6b00cbe594264fc8b4ad8cebdce","after":"2924b631bed27e6c267db742fc66cb294852b3c1","ref":"refs/heads/master","pushedAt":"2024-06-11T17:48:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Stringify Card Status Update (CSU) field\n\nThis field does not have a tag identifier and instead occurs inside\nother fields such as the Issuer Authentication Data (field 91).","shortMessageHtmlLink":"Stringify Card Status Update (CSU) field"}},{"before":"0a9fb4b090baec1090e27cfcfcf8e0a1a54b7994","after":"54c0e6edc020b6b00cbe594264fc8b4ad8cebdce","ref":"refs/heads/master","pushedAt":"2024-06-11T17:44:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Stringify Cryptogram Information Data (field 9F27)\n\nThe payment system-specific cryptogram bits are stringified verbatim\nwhen non-zero because there is no indication in the specification of how\nthese bits should be assessed even if they are proprietary. Similarly it\nis not clear whether the reason/advice codes matter if advice is not\nrequired and therefore both scenarios are stringified to avoid\nambiguity.","shortMessageHtmlLink":"Stringify Cryptogram Information Data (field 9F27)"}},{"before":"678dd7518d18e8dfa88dd5f31d8c23d3b76f3024","after":"0a9fb4b090baec1090e27cfcfcf8e0a1a54b7994","ref":"refs/heads/master","pushedAt":"2024-06-09T15:32:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Stringify various EMV fields\n\n* Last Online Application Transaction Counter (ATC) Register; field 9F13\n* Lower Consecutive Offline Limit; field 9F14\n* Personal Identification Number (PIN) Try Counter; field 9F17\n* Certification Authority Public Key Index; field 9F22\n* Upper Consecutive Offline Limit; field 9F23\n* Payment Account Reference (PAR); field 9F24\n\nAlso move Token Requestor ID (field 9F19) to its proper place.","shortMessageHtmlLink":"Stringify various EMV fields"}},{"before":"ab3e72fd6e9adccf6384dacd3d12a7b54896f1be","after":"678dd7518d18e8dfa88dd5f31d8c23d3b76f3024","ref":"refs/heads/master","pushedAt":"2024-06-08T09:29:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Implement PC/SC compatibility helpers for non-PCSCLite builds\n\nLinux and MacOS are both supported by pcsc-lite, but unfortunately there\nis no pcsc-lite package for MSYS2 and Windows does not provide the\nreader.h header.","shortMessageHtmlLink":"Implement PC/SC compatibility helpers for non-PCSCLite builds"}},{"before":"8e11043376372a728b8863ff92aaa02a2c248687","after":"ab3e72fd6e9adccf6384dacd3d12a7b54896f1be","ref":"refs/heads/master","pushedAt":"2024-06-08T09:22:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Relax the output buffer type for pcsc_reader_get_atr()","shortMessageHtmlLink":"Relax the output buffer type for pcsc_reader_get_atr()"}},{"before":"489cac2ecad9a48be1f7e465dfc93357af3d80d7","after":"8e11043376372a728b8863ff92aaa02a2c248687","ref":"refs/heads/master","pushedAt":"2024-06-08T09:21:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Implement PCSC_READER_ANY for pcsc_wait_for_card()\n\n59a21f344782da1cee596ffc6b01a65fc6324549 documented the use of\nPCSC_READER_ANY but never implemented it.","shortMessageHtmlLink":"Implement PCSC_READER_ANY for pcsc_wait_for_card()"}},{"before":"831cca98df7b0b90a53196ff7fce7434d6aa3573","after":"489cac2ecad9a48be1f7e465dfc93357af3d80d7","ref":"refs/heads/master","pushedAt":"2024-06-08T09:20:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Implement PC/SC reader property retrieval\n\nThe pcsc_reader_get_property() function can be used to retrieve any\nspecific property if supported by the PC/SC reader while this project\nonly provides property definitions for properties that are likely to be\nof interest to this project in future.\n\nAlso stringify these properties in emv-tool.","shortMessageHtmlLink":"Implement PC/SC reader property retrieval"}},{"before":"0dae7a002ba5262b3babc674662d16b3370c2504","after":"831cca98df7b0b90a53196ff7fce7434d6aa3573","ref":"refs/heads/master","pushedAt":"2024-06-08T09:13:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Implement PC/SC reader feature list retrieval\n\nThe pcsc_reader_has_feature() function can be used to determine whether\nany specific feature is supported by the PC/SC reader while this project\nonly provides feature definitions for features that are likely to be of\ninterest to this project in future. However, none of these features are\nin use by this project yet.\n\nAlso stringify these features in emv-tool.","shortMessageHtmlLink":"Implement PC/SC reader feature list retrieval"}},{"before":"fd86629fd69afce61653a8594580d18c6219c479","after":"0dae7a002ba5262b3babc674662d16b3370c2504","ref":"refs/heads/master","pushedAt":"2024-06-08T09:09:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Misc Doxygen and error string improvements\n\n* Allow static functions and inline functions in Doxygen output\n* Use Doxygen preprocessor to ignore GCC __attribute__ which would\n otherwise be interpreted as a function\n* Add iso7816_apdu.h to iso7816 library header list\n* Fix various Doxygen typos\n* Fix various error string typos","shortMessageHtmlLink":"Misc Doxygen and error string improvements"}},{"before":"99abd301d42611ef947672e19594a954b215dd14","after":"fd86629fd69afce61653a8594580d18c6219c479","ref":"refs/heads/master","pushedAt":"2024-06-08T09:07:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Implement PC/SC retrieval of PICC UID\n\nThe recommended way for PC/SC to determine whether the card is\ncontactless is to check for the artificial ATR that PC/SC creates for\ncontactless cards and then to attempt retrieval of the PICC UID.\n\nThe primary purpose of this change is to reject contactless cards for\nnow to avoid decoding their artificial ATRs. Eventually this project\nwill grow to support contactless cards and implement further PC/SC\ncontactless functionality.","shortMessageHtmlLink":"Implement PC/SC retrieval of PICC UID"}},{"before":"bba3e30c40abd8c918f7f457b477485bb65323b0","after":"99abd301d42611ef947672e19594a954b215dd14","ref":"refs/heads/master","pushedAt":"2024-05-23T18:08:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Stringify EMV GET DATA command\n\nNote that EMV's GET DATA differs from ISO 7816's GET DATA by\nspecialising P1-P2 to allow only a small subset of 2-byte BER-TLV\nfields. This implementation only provides a one-line description to\nemv_capdu_get_string().","shortMessageHtmlLink":"Stringify EMV GET DATA command"}},{"before":"106a5e490b45adb1000a038885f9f8ac665f4e39","after":"bba3e30c40abd8c918f7f457b477485bb65323b0","ref":"refs/heads/master","pushedAt":"2024-05-23T18:06:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Stringify ISO 7816 PUT DATA command\n\nThis implementation only stringifies the interpretation of P1-P2 for\nPUT DATA, but does not consider the command data at all, to provide a\none-line description to iso7816_capdu_get_string().","shortMessageHtmlLink":"Stringify ISO 7816 PUT DATA command"}},{"before":"15ce8ee4908110264270cb30deaeb81c883f70c7","after":"106a5e490b45adb1000a038885f9f8ac665f4e39","ref":"refs/heads/master","pushedAt":"2024-05-23T18:01:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Stringify ISO 7816 READ RECORD command\n\nThis implementation only stringifies the record identifier/number and\nthe P2 bits indicating the sequence or occurrence of records to be read,\nto provide a one-line description to iso7816_capdu_get_string(). The\ncommand data indicating the offset is ignored for now because it is not\nused by EMV.","shortMessageHtmlLink":"Stringify ISO 7816 READ RECORD command"}},{"before":"4b3d31b49fda3a14afabc39a7bb6fd7ad8db2526","after":"15ce8ee4908110264270cb30deaeb81c883f70c7","ref":"refs/heads/master","pushedAt":"2024-05-23T17:55:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Stringify ISO 7816 SELECT command\n\nThis is a simple implementation that only stringifies the file\nidentifier and the file occurence bits of P2 to provide a one-line\ndescription to iso7816_capdu_get_string().\n\nThis commit also adds testing for partial AID matching which illustrates\nthe file occurence bits of P2.","shortMessageHtmlLink":"Stringify ISO 7816 SELECT command"}},{"before":"112f313ca07d7b53d8f692903a49311323883729","after":"4b3d31b49fda3a14afabc39a7bb6fd7ad8db2526","ref":"refs/heads/master","pushedAt":"2024-05-19T13:32:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Implement ISO 7816 APDU case helper function\n\nThis helper function can also identify extended APDU cases although EMV\ndoes not support them. The intention is that this helper function can be\nused by EMV TTL as well as future C-APDU decoder implementations.","shortMessageHtmlLink":"Implement ISO 7816 APDU case helper function"}},{"before":"d5170b78b0f29f46e3d25e82f7153b5686eec02b","after":"112f313ca07d7b53d8f692903a49311323883729","ref":"refs/heads/master","pushedAt":"2024-05-19T13:30:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"leonlynch","name":"Leon Lynch","path":"/leonlynch","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2271766?s=80&v=4"},"commit":{"message":"Implement C-APDU print helpers\n\n* iso7816_capdu_get_string() will provide a one-line description of the\n interindustry C-APDUs.\n* emv_capdu_get_string() will provide a one-line description of the\n proprietary C-APDUs.\n* print_capdu() will print the C-APDU buffer followed by the one-line\n description provided by emv_capdu_get_string() in parentheses.\n* Stringify Issuer Script Command (field 86) content using\n emv_capdu_get_string().\n* emv_strings now links in iso7816","shortMessageHtmlLink":"Implement C-APDU print helpers"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAElZR7OQA","startCursor":null,"endCursor":null}},"title":"Activity · openemv/emv-utils"}