git: be1d9733d125 - main - finance/ktoblzcheck: Update bank data
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 07 Mar 2022 13:19:49 UTC
The branch main has been updated by jhale: URL: https://cgit.FreeBSD.org/ports/commit/?id=be1d9733d1258d1f1565412164f2844e3bd26679 commit be1d9733d1258d1f1565412164f2844e3bd26679 Author: Jason E. Hale <jhale@FreeBSD.org> AuthorDate: 2022-03-07 13:09:43 +0000 Commit: Jason E. Hale <jhale@FreeBSD.org> CommitDate: 2022-03-07 13:19:36 +0000 finance/ktoblzcheck: Update bank data Bank data is valid from 2022-03-07 - 2022-06-05. Update check digit calculation for methods 45, B1, and C2. Add check digit caluclation for method E4. MFH: 2022Q1 --- finance/ktoblzcheck/Makefile | 4 +- finance/ktoblzcheck/distinfo | 6 +- finance/ktoblzcheck/files/patch-src_lib_methods.cc | 83 ++++++++++++++++++++++ 3 files changed, 88 insertions(+), 5 deletions(-) diff --git a/finance/ktoblzcheck/Makefile b/finance/ktoblzcheck/Makefile index 0ab0a4180ef9..410f29269c9a 100644 --- a/finance/ktoblzcheck/Makefile +++ b/finance/ktoblzcheck/Makefile @@ -2,7 +2,7 @@ PORTNAME= ktoblzcheck PORTVERSION= 1.53 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= finance german MASTER_SITES= SF/${PORTNAME} \ LOCAL/jhale:bankdata @@ -24,7 +24,7 @@ CMAKE_OFF= ENABLE_BANKDATA_DOWNLOAD PLIST_SUB= BANKDATA_DATE=${BANKDATA_DATE} PORTDOCS= README.md -BANKDATA_DATE= 20211206 +BANKDATA_DATE= 20220307 OPTIONS_DEFINE= DOCS DOXYGEN OPTIONS_SUB= yes diff --git a/finance/ktoblzcheck/distinfo b/finance/ktoblzcheck/distinfo index c1241569e969..1ba71bbd02d3 100644 --- a/finance/ktoblzcheck/distinfo +++ b/finance/ktoblzcheck/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1645536770 +TIMESTAMP = 1646591314 SHA256 (ktoblzcheck-1.53.tar.gz) = 18b9118556fe83240f468f770641d2578f4ff613cdcf0a209fb73079ccb70c55 SIZE (ktoblzcheck-1.53.tar.gz) = 531459 -SHA256 (ktoblzcheck-bankdata-20211206.tar.gz) = 45dad24fc88259d86365c137b3fb84c08ef89689bf5bec8588cad22178e27ef7 -SIZE (ktoblzcheck-bankdata-20211206.tar.gz) = 304864 +SHA256 (ktoblzcheck-bankdata-20220307.tar.gz) = 87fb315c76756366a2c75abc6b078a06af93e3b90faf8044cf8c1c6436dc9466 +SIZE (ktoblzcheck-bankdata-20220307.tar.gz) = 302328 diff --git a/finance/ktoblzcheck/files/patch-src_lib_methods.cc b/finance/ktoblzcheck/files/patch-src_lib_methods.cc new file mode 100644 index 000000000000..58e7293ef25e --- /dev/null +++ b/finance/ktoblzcheck/files/patch-src_lib_methods.cc @@ -0,0 +1,83 @@ +Update methods 45, B1, and C2. Implement method E4. +https://sourceforge.net/p/ktoblzcheck/code/merge-requests/14/ + +--- src/lib/methods.cc.orig 2020-01-20 15:07:55 UTC ++++ src/lib/methods.cc +@@ -530,15 +530,15 @@ AccountNumberCheck::Result method_44(const int *accoun + return algo01(11, weight, false, 10, account); + } + ++// method 45 was extended for due-date 2018-06-04 + AccountNumberCheck::Result method_45(const int *account, int *weight) + { +- // some numbers do not have a checksum +- if (0 == account[0] || 1 == account[4]) { ++ // accountIDs starting with "0" or "48" do not have a check digit ++ // accountIDs that have "1" as the fifth digit do not have a check digit ++ if (0 == account[0] || 1 == account[4] || (4 == account[0] && 8 == account[1])) { + return AccountNumberCheck::OK; + } +- +- number2Array("2121212120", weight); +- return algo01(10, weight, true, 10, account); ++ return method_00(account, weight); + } + + AccountNumberCheck::Result method_46(const int *account, int *weight) +@@ -1644,13 +1644,13 @@ AccountNumberCheck::Result method_B0(const int *accoun + // Checked with Bundesbank-Testnumbers + AccountNumberCheck::Result method_B1(const int *account, int *weight) + { +- number2Array("1371371370", weight); +- if (AccountNumberCheck::OK == algo01(10, weight, false, 10, account)) { +- return AccountNumberCheck::OK; // variant 1 (method "05") ++ if (AccountNumberCheck::OK == method_05(account, weight)) { ++ return AccountNumberCheck::OK; // variant 1 + } +- number2Array("1731731730", weight); +- return algo01(10, weight, false, 10, account); +- // variant 2 (method "01") ++ if (AccountNumberCheck::OK == method_01(account, weight)) { ++ return AccountNumberCheck::OK; // variant 2 ++ } ++ return method_00(account, weight); //variant 3, extended for due-date 2017-06-05 + } + + // Added by Jens Gecius (new Method as of September 6th, 2004) +@@ -1824,7 +1824,10 @@ AccountNumberCheck::Result method_C2(const int *accoun + if (AccountNumberCheck::OK == method_22(account, weight)) { // variant 1 + return AccountNumberCheck::OK; + } +- return method_00(account, weight); // variant 2 ++ if (AccountNumberCheck::OK == method_00(account, weight)) { // variant 2 ++ return AccountNumberCheck::OK; ++ } ++ return method_04(account, weight); // variant 3, extended for due-date 2017-09-04 + } + + // new method C3 and C4 valid from March 5th, 2007, checked with Bundesbank-Testnumbers +@@ -2190,6 +2193,16 @@ AccountNumberCheck::Result method_E3(const int *accoun + return method_21(account, weight); // variant 2 + } + ++// new method E4 valid from 2017-06-05 ++// checked with Bundesbank-Testnumbers ++AccountNumberCheck::Result method_E4(const int *account, int *weight) ++{ ++ if (AccountNumberCheck::OK == method_02(account, weight)) { // variant 1 ++ return AccountNumberCheck::OK; ++ } ++ return method_00(account, weight); // variant 2 ++} ++ + struct method_func_s { + const char *str; + AccountNumberCheck::MethodFunc func; +@@ -2337,6 +2350,7 @@ const struct method_func_s cb_funcs[] = { + { "E1", method_E1}, + { "E2", method_E2}, + { "E3", method_E3}, ++ { "E4", method_E4}, + { 0, 0} // Important: The array has to end with the {0,0} entry, + // otherwise initMethodMap() will runaway and crash! + };