diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..f8c277d --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,5 @@ +# Reviews are required by +# +# - @pennylane-hq/germany-core as main usage of this gem is for this team + +* @pennylane-hq/germany-core diff --git a/.github/workflows/specs.yml b/.github/workflows/specs.yml new file mode 100644 index 0000000..74d3a7d --- /dev/null +++ b/.github/workflows/specs.yml @@ -0,0 +1,24 @@ +name: Specs + +on: + push: + pull_request: + +jobs: + license_checks: + name: License checks + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@v4 + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + - name: Run license checks + run: | + bundle exec license_finder || (cat <<-END && exit 1) + + You seem to be introducing a new license into our stack, please reach out to + #licenses-tech-stack on slack to get guidance on the topic. + END diff --git a/.gitignore b/.gitignore index 0785352..5a691b7 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,6 @@ /Gemfile.lock /_yardoc/ /coverage/ -/doc/ /pkg/ /spec/reports/ /tmp/ diff --git a/.tool-versions b/.tool-versions index 3294aed..ae5ecdb 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -ruby 3.3.0 +ruby 3.4.2 diff --git a/Gemfile b/Gemfile index 4cb32f6..fcea359 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,10 @@ source 'https://rubygems.org' -ruby '3.3.0' +ruby '3.4.2' # Specify your gem's dependencies in liberic.gemspec gemspec + +group :test, :development do + gem 'license_finder', require: false +end \ No newline at end of file diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml new file mode 100644 index 0000000..7febf6b --- /dev/null +++ b/doc/dependency_decisions.yml @@ -0,0 +1,188 @@ +--- +################################################################################ +# +# IMPORTANT: This file includes some important legal decisions that were +# made by the legal team so before making changes, reach out to the slack +# channel #licenses-tech-stack to ask around and get more context. +# +################################################################################ + +######################################## +# +# LICENSES WE CAN USE WITHOUT CONCERN +# +######################################## + +- [permit, 2-clause BSDL] +- [permit, Apache 2.0] +- [permit, Apache License (2.0)] +- [permit, BlueOak-1.0.0] +- [permit, BSD Zero Clause License] +- [permit, BSD] +- [permit, Hippocratic-2.1] +- [permit, ISC] +- [permit, MIT or MPL-2.0] +- [permit, MIT] +- [permit, MIT-0] +- [permit, New BSD] +- [permit, Public Domain] +- [permit, Python-2.0] +- [permit, ruby] +- [permit, Simplified BSD] +- [permit, Unlicense] +- [permit, WTFPL] +- [permit, Zlib] +- [permit, CC0 1.0 Universal] +- - :approve + - Pennylane + - :why: Our own software +- - :approve + - pennylane + - :why: Our own software +- - :approve + - '.' + - :why: Our own software + +######################################## +# +# NOT IDEAL BUT NON-BLOCKING +# we want to manually review and approve software using those licenses on +# a case-by-case approach because it's debatable setup +# +# Those licenses notably include: +# - Creative Commons versions (CC-BY is generally OK, but needs double-checking) +# - LGPL, which is confusing between Lesser GPL and Library GPL and its many versions. +# - Mozilla Public License (MPL) which is generally OK as well, but let's be conservative +# +######################################## + +- - :approve + - caniuse-lite + - :why: > + Using CC-BY-4.0 which is permissive: + https://github.com/browserslist/caniuse-lite?tab=CC-BY-4.0-1-ov-file#readme + +- - :approve + - llhttp-ffi + - :why: Mozilla Public License 2.0 is fine + +- - :approve + - mdn-data + - :why: > + Using CC0-1.0 which is permissive: + https://github.com/mdn/data?tab=CC0-1.0-1-ov-file#readme + +- - :approve + - postcss-values-parser + - :why: Mozilla Public License 2.0 is fine + +- - :approve + - lightningcss + - :why: Mozilla Public License 2.0 is fine + +######################################## +# +# MISDOCUMENTED VALID LICENSES +# +######################################## + +- - :approve + - aws_cf_signer + - :why: MIT license https://github.com/dylanvaughn/aws_cf_signer?tab=MIT-1-ov-file#readme +- - :approve + - '@segment/facade' + - :why: MIT license https://github.com/segmentio/facade?tab=MIT-1-ov-file +- - :approve + - '@segment/isodate' + - :why: MIT license https://github.com/segmentio/isodate?tab=MIT-1-ov-file +- - :approve + - '@segment/isodate-traverse' + - :why: MIT license https://github.com/segmentio/isodate-traverse?tab=MIT-1-ov-file +- - :approve + - brakeman + - :why: https://github.com/presidentbeef/brakeman/blob/main/LICENSE.md +- - :approve + - color-convert + - :why: MIT license https://github.com/Qix-/color-convert#MIT-1-ov-file +- - :approve + - decko + - :why: MIT license https://github.com/developit/decko?tab=MIT-1-ov-file +- - :approve + - exif-parser + - :why: MIT license https://github.com/bwindels/exif-parser?tab=MIT-1-ov-file +- - :approve + - khroma + - :why: MIT license https://github.com/fabiospampinato/khroma?tab=MIT-1-ov-file +- - :approve + - new-date + - :why: MIT license https://github.com/segmentio/new-date?tab=MIT-1-ov-file +- - :approve + - stickyfill + - :why: MIT license https://github.com/webmodules/stickyfill?tab=MIT-1-ov-file +- - :approve + - tosource + - :why: Zlib license https://github.com/marcello3d/node-tosource?tab=Zlib-1-ov-file +- - :approve + - uuid-v4 + - :why: MIT license https://www.npmjs.com/package/uuid-v4 +- - :approve + - pdf-core + - :why: Matz' Ruby license https://github.com/prawnpdf/pdf-core?tab=License-1-ov-file +- - :approve + - prawn + - :why: Matz' Ruby license https://github.com/prawnpdf/prawn?tab=License-1-ov-file +- - :approve + - ttfunk + - :why: Matz' Ruby license https://github.com/prawnpdf/ttfunk?tab=License-1-ov-file +- - :approve + - '@typescript-eslint/parser' + - :why: MIT license https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/LICENSE +- - :approve + - 'atomically' + - :why: MIT license https://github.com/fabiospampinato/atomically/blob/master/license +- - :approve + - 'when-exit' + - :why: MIT license https://github.com/fabiospampinato/when-exit/blob/master/license +- - :approve + - 'stubborn-fs' + - :why: MIT license https://github.com/fabiospampinato/stubborn-fs/blob/master/license +- - :approve + - '@auth0/xmldom' + - :why: MIT license https://github.com/auth0/xmldom/blob/master/LICENSE +- - :approve + - 'valid-url' + - :why: MIT license https://github.com/ogt/valid-url/blob/master/LICENSE +- - :approve + - 'front_matter_parser' + - :why: MIT license https://github.com/waiting-for-dev/front_matter_parser/blob/main/LICENSE.txt +- - :approve + - customerio-gist-web + - :why: > + MIT license; see LICENSE file in package + https://unpkg.com/browse/customerio-gist-web@3.16.10/LICENSE +######################################## +# +# NOT IDEAL BUT NOT A BLOCKER +# +######################################## + +- - :approve + - mini_exiftool + - :why: > + This is LGPL-2.1, a weak copyleft license that we can use as long as we + comply with some requirements available here: + https://pennylane-org.slack.com/archives/C04HEQLHDTQ/p1732882347125169?thread_ts=1732882100.984249&cid=C04HEQLHDTQ + +- - :approve + - rchardet + - :why: > + This is LGPL-2.1, a weak copyleft license that we can use as long as we + comply with some requirements available here: + https://pennylane-org.slack.com/archives/C04HEQLHDTQ/p1732882347125169?thread_ts=1732882100.984249&cid=C04HEQLHDTQ + +- - :approve + - epics + - :why: > + This is LGPL-2.1, a weak copyleft license that we can use as long as we + comply with some requirements available here: + https://pennylane-org.slack.com/archives/C04HEQLHDTQ/p1741249208399559 \ No newline at end of file diff --git a/lib/liberic/helpers/invocation.rb b/lib/liberic/helpers/invocation.rb index 89e6167..dc16947 100644 --- a/lib/liberic/helpers/invocation.rb +++ b/lib/liberic/helpers/invocation.rb @@ -22,6 +22,23 @@ def with_result_buffer(raise_on_error = true, &block) SDK::API.rueckgabepuffer_freigeben(handle) result end + + def with_local_and_server_result_buffers(&block) + local_handle = SDK::API.rueckgabepuffer_erzeugen + server_handle = SDK::API.rueckgabepuffer_erzeugen + + error_code = yield(local_handle, server_handle) + + local_result = Liberic::SDK::API.rueckgabepuffer_inhalt(local_handle) + server_result = Liberic::SDK::API.rueckgabepuffer_inhalt(server_handle) + + return { + error_code: error_code, + error_message: SDK::Fehlercodes::CODES[error_code], + local_result: local_result, + server_result: server_result + } + end end end end diff --git a/lib/liberic/process.rb b/lib/liberic/process.rb index b1cce6a..f232d6a 100644 --- a/lib/liberic/process.rb +++ b/lib/liberic/process.rb @@ -60,8 +60,8 @@ def execute(options = {}) eric_action = ACTIONS[action] || (raise ExecutionError.new("Invalid action: #{action}. Valid actions are #{ACTIONS.keys.join(', ')}")) is_printing = %w[submit print_and_submit print_and_submit_auth].include?(action.to_s) print_params = create_print_params(options) - server_buffer = SDK::API.rueckgabepuffer_erzeugen - result = Helpers::Invocation.with_result_buffer(false) do |local_buffer| + + result = Helpers::Invocation.with_local_and_server_result_buffers do |local_buffer, server_buffer| SDK::API.bearbeite_vorgang(@xml, @type, eric_action, (action == :submit ? nil : print_params), @@ -70,13 +70,8 @@ def execute(options = {}) local_buffer, server_buffer) end - server_result = SDK::API.rueckgabepuffer_inhalt(server_buffer) - SDK::API.rueckgabepuffer_freigeben(server_buffer) print_params.pointer.free - { - result: result, - server_result: server_result - } + result end private @@ -93,7 +88,7 @@ def create_print_params(options) params = SDK::Types::DruckParameter.new params[:version] = 4 params[:duplexDruck] = options[:duplex] ? 1 : 0 - params[:vorschau] = options.has_key?(:draft) ? (options[:draft] ? 1 : 0) : 1 + params[:vorschau] = options.has_key?(:draft) ? (options[:draft] ? 1 : 0) : 0 {pdfName: :filename, fussText: :footer}.each do |eric_param, ruby_param| if options[ruby_param] diff --git a/lib/liberic/sdk/fehlercodes.rb b/lib/liberic/sdk/fehlercodes.rb index 05e39e9..23fb64b 100644 --- a/lib/liberic/sdk/fehlercodes.rb +++ b/lib/liberic/sdk/fehlercodes.rb @@ -2,251 +2,245 @@ module Liberic module SDK module Fehlercodes CODES = { - 0 => 'ERIC_OK', - 610001001 => 'ERIC_GLOBAL_UNKNOWN', - 610001002 => 'ERIC_GLOBAL_PRUEF_FEHLER', - 610001003 => 'ERIC_GLOBAL_HINWEISE', - 610001007 => 'ERIC_GLOBAL_FEHLERMELDUNG_NICHT_VORHANDEN', - 610001008 => 'ERIC_GLOBAL_KEINE_DATEN_VORHANDEN', - 610001013 => 'ERIC_GLOBAL_NICHT_GENUEGEND_ARBEITSSPEICHER', - 610001014 => 'ERIC_GLOBAL_DATEI_NICHT_GEFUNDEN', - 610001016 => 'ERIC_GLOBAL_HERSTELLER_ID_NICHT_ERLAUBT', - 610001017 => 'ERIC_GLOBAL_ILLEGAL_STATE', - 610001018 => 'ERIC_GLOBAL_FUNKTION_NICHT_ERLAUBT', - 610001019 => 'ERIC_GLOBAL_ECHTFALL_NICHT_ERLAUBT', - 610001020 => 'ERIC_GLOBAL_NO_VERSAND_IN_BETA_VERSION', - 610001025 => 'ERIC_GLOBAL_TESTMERKER_UNGUELTIG', - 610001026 => 'ERIC_GLOBAL_DATENSATZ_ZU_GROSS', - 610001027 => 'ERIC_GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ERLAUBT', - 610001028 => 'ERIC_GLOBAL_NUR_PORTALZERTIFIKAT_ERLAUBT', - 610001029 => 'ERIC_GLOBAL_ABRUFCODE_NICHT_ERLAUBT', - 610001030 => 'ERIC_GLOBAL_ERROR_XML_CREATE', - 610001031 => 'ERIC_GLOBAL_TEXTPUFFERGROESSE_FIX', - 610001032 => 'ERIC_GLOBAL_INTERNER_FEHLER', - 610001033 => 'ERIC_GLOBAL_ARITHMETIKFEHLER', - 610001034 => 'ERIC_GLOBAL_STEUERNUMMER_UNGUELTIG', - 610001035 => 'ERIC_GLOBAL_STEUERNUMMER_FALSCHE_LAENGE', - 610001036 => 'ERIC_GLOBAL_STEUERNUMMER_NICHT_NUMERISCH', - 610001037 => 'ERIC_GLOBAL_LANDESNUMMER_UNBEKANNT', - 610001038 => 'ERIC_GLOBAL_BUFANR_UNBEKANNT', - 610001039 => 'ERIC_GLOBAL_LANDESNUMMER_BUFANR', - 610001040 => 'ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIKT', - 610001041 => 'ERIC_GLOBAL_PUFFER_UEBERLAUF', - 610001042 => 'ERIC_GLOBAL_DATENARTVERSION_UNBEKANNT', - 610001044 => 'ERIC_GLOBAL_DATENARTVERSION_XML_INKONSISTENT', - 610001045 => 'ERIC_GLOBAL_COMMONDATA_NICHT_VERFUEGBAR', - 610001046 => 'ERIC_GLOBAL_LOG_EXCEPTION', - 610001047 => 'ERIC_GLOBAL_TRANSPORTSCHLUESSEL_NICHT_ERLAUBT', - 610001048 => 'ERIC_GLOBAL_OEFFENTLICHER_SCHLUESSEL_UNGUELTIG', - 610001049 => 'ERIC_GLOBAL_TRANSPORTSCHLUESSEL_TYP_FALSCH', - 610001050 => 'ERIC_GLOBAL_PUFFER_UNGLEICHER_INSTANZ', - 610001051 => 'ERIC_GLOBAL_VORSATZ_UNGUELTIG', - 610001053 => 'ERIC_GLOBAL_DATEIZUGRIFF_VERWEIGERT', - 610001080 => 'ERIC_GLOBAL_UNGUELTIGE_INSTANZ', - 610001081 => 'ERIC_GLOBAL_NICHT_INITIALISIERT', - 610001082 => 'ERIC_GLOBAL_MEHRFACHE_INITIALISIERUNG', - 610001083 => 'ERIC_GLOBAL_FEHLER_INITIALISIERUNG', - 610001102 => 'ERIC_GLOBAL_UNKNOWN_PARAMETER_ERROR', - 610001108 => 'ERIC_GLOBAL_CHECK_CORRUPTED_NDS', - 610001206 => 'ERIC_GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ANGEGEBEN', - 610001209 => 'ERIC_GLOBAL_SEND_FLAG_MEHR_ALS_EINES', - 610001218 => 'ERIC_GLOBAL_UNGUELTIGE_FLAG_KOMBINATION', - 610001220 => 'ERIC_GLOBAL_ERSTE_SEITE_DRUCK_NICHT_UNTERSTUETZT', - 610001222 => 'ERIC_GLOBAL_UNGUELTIGER_PARAMETER', - 610001224 => 'ERIC_GLOBAL_DRUCK_FUER_VERFAHREN_NICHT_ERLAUBT', - 610001225 => 'ERIC_GLOBAL_VERSAND_ART_NICHT_UNTERSTUETZT', - 610001226 => 'ERIC_GLOBAL_UNGUELTIGE_PARAMETER_VERSION', - 610001227 => 'ERIC_GLOBAL_TRANSFERHANDLE', - 610001228 => 'ERIC_GLOBAL_PLUGININITIALISIERUNG', - 610001229 => 'ERIC_GLOBAL_INKOMPATIBLE_VERSIONEN', - 610001230 => 'ERIC_GLOBAL_VERSCHLUESSELUNGSVERFAHREN_NICHT_UNTERSTUETZT', - 610001231 => 'ERIC_GLOBAL_MEHRFACHAUFRUFE_NICHT_UNTERSTUETZT', - 610001404 => 'ERIC_GLOBAL_UTI_COUNTRY_NOT_SUPPORTED', - 610001501 => 'ERIC_GLOBAL_IBAN_FORMALER_FEHLER', - 610001502 => 'ERIC_GLOBAL_IBAN_LAENDERCODE_FEHLER', - 610001503 => 'ERIC_GLOBAL_IBAN_LANDESFORMAT_FEHLER', - 610001504 => 'ERIC_GLOBAL_IBAN_PRUEFZIFFER_FEHLER', - 610001510 => 'ERIC_GLOBAL_BIC_FORMALER_FEHLER', - 610001511 => 'ERIC_GLOBAL_BIC_LAENDERCODE_FEHLER', - 610001519 => 'ERIC_GLOBAL_ZULASSUNGSNUMMER_ZU_LANG', - 610001525 => 'ERIC_GLOBAL_IDNUMMER_UNGUELTIG', - 610001526 => 'ERIC_GLOBAL_NULL_PARAMETER', - 610001527 => 'ERIC_GLOBAL_EWAZ_UNGUELTIG', - 610001528 => 'ERIC_GLOBAL_EWAZ_LANDESKUERZEL_UNBEKANNT', - 610001851 => 'ERIC_GLOBAL_UPDATE_NECESSARY', - 610001860 => 'ERIC_GLOBAL_EINSTELLUNG_NAME_UNGUELTIG', - 610001861 => 'ERIC_GLOBAL_EINSTELLUNG_WERT_UNGUELTIG', - 610001862 => 'ERIC_GLOBAL_ERR_DEKODIEREN', - 610001863 => 'ERIC_GLOBAL_FUNKTION_NICHT_UNTERSTUETZT', - 610001865 => 'ERIC_GLOBAL_NUTZDATENTICKETS_NICHT_EINDEUTIG', - 610001866 => 'ERIC_GLOBAL_NUTZDATENHEADERVERSIONEN_UNEINHEITLICH', - 610001867 => 'ERIC_GLOBAL_BUNDESLAENDER_UNEINHEITLICH', - 610001868 => 'ERIC_GLOBAL_ZEITRAEUME_UNEINHEITLICH', - 610001869 => 'ERIC_GLOBAL_NUTZDATENHEADER_EMPFAENGER_NICHT_KORREKT', - - 610101200 => 'ERIC_TRANSFER_COM_ERROR', - 610101201 => 'ERIC_TRANSFER_VORGANG_NICHT_UNTERSTUETZT', - 610101210 => 'ERIC_TRANSFER_ERR_XML_THEADER', - 610101251 => 'ERIC_TRANSFER_ERR_PARAM', - 610101253 => 'ERIC_TRANSFER_ERR_DATENTEILENDNOTFOUND', - 610101255 => 'ERIC_TRANSFER_ERR_BEGINDATENLIEFERANT', - 610101256 => 'ERIC_TRANSFER_ERR_ENDDATENLIEFERANT', - 610101257 => 'ERIC_TRANSFER_ERR_BEGINTRANSPORTSCHLUESSEL', - 610101258 => 'ERIC_TRANSFER_ERR_ENDTRANSPORTSCHLUESSEL', - 610101259 => 'ERIC_TRANSFER_ERR_BEGINDATENGROESSE', - 610101260 => 'ERIC_TRANSFER_ERR_ENDDATENGROESSE', - 610101271 => 'ERIC_TRANSFER_ERR_SEND', - 610101274 => 'ERIC_TRANSFER_ERR_NOTENCRYPTED', - 610101276 => 'ERIC_TRANSFER_ERR_PROXYCONNECT', - 610101278 => 'ERIC_TRANSFER_ERR_CONNECTSERVER', - 610101279 => 'ERIC_TRANSFER_ERR_NORESPONSE', - 610101280 => 'ERIC_TRANSFER_ERR_PROXYAUTH', - 610101282 => 'ERIC_TRANSFER_ERR_SEND_INIT', - 610101283 => 'ERIC_TRANSFER_ERR_TIMEOUT', - 610101284 => 'ERIC_TRANSFER_ERR_PROXYPORT_INVALID', - 610101291 => 'ERIC_TRANSFER_ERR_OTHER', - 610101292 => 'ERIC_TRANSFER_ERR_XML_NHEADER', - 610101293 => 'ERIC_TRANSFER_ERR_XML_ENCODING', - 610101294 => 'ERIC_TRANSFER_ERR_ENDSIGUSER', - 610101295 => 'ERIC_TRANSFER_ERR_XMLTAG_NICHT_GEFUNDEN', - 610101297 => 'ERIC_TRANSFER_ERR_DATENTEILFEHLER', - 610101500 => 'ERIC_TRANSFER_EID_ZERTIFIKATFEHLER', - 610101510 => 'ERIC_TRANSFER_EID_KEINKONTO', - 610101511 => 'ERIC_TRANSFER_EID_IDNRNICHTEINDEUTIG', - 610101512 => 'ERIC_TRANSFER_EID_SERVERFEHLER', - 610101520 => 'ERIC_TRANSFER_EID_KEINCLIENT', - 610101521 => 'ERIC_TRANSFER_EID_CLIENTFEHLER', - 610101522 => 'ERIC_TRANSFER_EID_FEHLENDEFELDER', - 610101523 => 'ERIC_TRANSFER_EID_IDENTIFIKATIONABGEBROCHEN', - 610101524 => 'ERIC_TRANSFER_EID_NPABLOCKIERT', - - 610201016 => 'ERIC_CRYPT_ERROR_CREATE_KEY', - 610201017 => 'ERIC_CRYPT_OUT_OF_ENTROPY', - 610201101 => 'ERIC_CRYPT_E_INVALID_HANDLE', - 610201102 => 'ERIC_CRYPT_E_MAX_SESSION', - 610201103 => 'ERIC_CRYPT_E_BUSY', - 610201104 => 'ERIC_CRYPT_E_OUT_OF_MEM', - 610201105 => 'ERIC_CRYPT_E_PSE_PATH', - 610201106 => 'ERIC_CRYPT_E_PIN_WRONG', - 610201107 => 'ERIC_CRYPT_E_PIN_LOCKED', - 610201108 => 'ERIC_CRYPT_E_P7_READ', - 610201109 => 'ERIC_CRYPT_E_P7_DECODE', - 610201110 => 'ERIC_CRYPT_E_P7_RECIPIENT', - 610201111 => 'ERIC_CRYPT_E_P12_READ', - 610201112 => 'ERIC_CRYPT_E_P12_DECODE', - 610201113 => 'ERIC_CRYPT_E_P12_SIG_KEY', - 610201114 => 'ERIC_CRYPT_E_P12_ENC_KEY', - 610201115 => 'ERIC_CRYPT_E_P11_SIG_KEY', - 610201116 => 'ERIC_CRYPT_E_P11_ENC_KEY', - 610201117 => 'ERIC_CRYPT_E_XML_PARSE', - 610201118 => 'ERIC_CRYPT_E_XML_SIG_ADD', - 610201119 => 'ERIC_CRYPT_E_XML_SIG_TAG', - 610201120 => 'ERIC_CRYPT_E_XML_SIG_SIGN', - 610201121 => 'ERIC_CRYPT_E_ENCODE_UNKNOWN', - 610201122 => 'ERIC_CRYPT_E_ENCODE_ERROR', - 610201123 => 'ERIC_CRYPT_E_XML_INIT', - 610201124 => 'ERIC_CRYPT_E_ENCRYPT', - 610201125 => 'ERIC_CRYPT_E_DECRYPT', - 610201126 => 'ERIC_CRYPT_E_P11_SLOT_EMPTY', - 610201127 => 'ERIC_CRYPT_E_NO_SIG_ENC_KEY', - 610201128 => 'ERIC_CRYPT_E_LOAD_DLL', - 610201129 => 'ERIC_CRYPT_E_NO_SERVICE', - 610201130 => 'ERIC_CRYPT_E_ESICL_EXCEPTION', - 610201140 => 'ERIC_CRYPT_E_ESIGNER_NICHT_GELADEN', - 610201141 => 'ERIC_CRYPT_E_INKOMPATIBLE_ESIGNER_VERSION', - 610201142 => 'ERIC_CRYPT_E_VERALTETE_ESIGNER_VERSION', - 610201144 => 'ERIC_CRYPT_E_TOKEN_TYPE_MISMATCH', - 610201146 => 'ERIC_CRYPT_E_P12_CREATE', - 610201147 => 'ERIC_CRYPT_E_VERIFY_CERT_CHAIN', - 610201148 => 'ERIC_CRYPT_E_P11_ENGINE_LOADED', - 610201149 => 'ERIC_CRYPT_E_USER_CANCEL', - 610201200 => 'ERIC_CRYPT_ZERTIFIKAT', - 610201201 => 'ERIC_CRYPT_SIGNATUR', - 610201203 => 'ERIC_CRYPT_NICHT_UNTERSTUETZTES_PSE_FORMAT', - 610201205 => 'ERIC_CRYPT_PIN_BENOETIGT', - 610201206 => 'ERIC_CRYPT_PIN_STAERKE_NICHT_AUSREICHEND', - 610201208 => 'ERIC_CRYPT_E_INTERN', - 610201209 => 'ERIC_CRYPT_ZERTIFIKATSPFAD_KEIN_VERZEICHNIS', - 610201210 => 'ERIC_CRYPT_ZERTIFIKATSDATEI_EXISTIERT_BEREITS', - 610201211 => 'ERIC_CRYPT_PIN_ENTHAELT_UNGUELTIGE_ZEICHEN', - 610201212 => 'ERIC_CRYPT_E_INVALID_PARAM_ABC', - 610201213 => 'ERIC_CRYPT_CORRUPTED', - 610201214 => 'ERIC_CRYPT_EIDKARTE_NICHT_UNTERSTUETZT', - 610201215 => 'ERIC_CRYPT_E_SC_SLOT_EMPTY', - 610201216 => 'ERIC_CRYPT_E_SC_NO_APPLET', - 610201217 => 'ERIC_CRYPT_E_SC_SESSION', - 610201218 => 'ERIC_CRYPT_E_P11_NO_SIG_CERT', - 610201219 => 'ERIC_CRYPT_E_P11_INIT_FAILED', - 610201220 => 'ERIC_CRYPT_E_P11_NO_ENC_CERT', - 610201221 => 'ERIC_CRYPT_E_P12_NO_SIG_CERT', - 610201222 => 'ERIC_CRYPT_E_P12_NO_ENC_CERT', - 610201223 => 'ERIC_CRYPT_E_SC_ENC_KEY', - 610201224 => 'ERIC_CRYPT_E_SC_NO_SIG_CERT', - 610201225 => 'ERIC_CRYPT_E_SC_NO_ENC_CERT', - 610201226 => 'ERIC_CRYPT_E_SC_INIT_FAILED', - 610201227 => 'ERIC_CRYPT_E_SC_SIG_KEY', - 610201228 => 'ERIC_CRYPT_E_DATA_NOT_INITIALIZED', - 610201229 => 'ERIC_CRYPT_E_ASN1_READ_BUFFER_TOO_SMALL', - 610201230 => 'ERIC_CRYPT_E_ASN1_READ_DATA_INCOMPLETE', - 610201231 => 'ERIC_CRYPT_E_ASN1_NO_ENVELOPED_DATA', - 610201232 => 'ERIC_CRYPT_E_ASN1_NO_CONTENT_DATA', - 610201233 => 'ERIC_CRYPT_E_XML_VERIFY', - - 610301001 => 'ERIC_IO_FEHLER', - 610301005 => 'ERIC_IO_DATEI_INKORREKT', - 610301006 => 'ERIC_IO_PARSE_FEHLER', - 610301007 => 'ERIC_IO_NDS_GENERIERUNG_FEHLGESCHLAGEN', - 610301010 => 'ERIC_IO_MASTERDATENSERVICE_NICHT_VERFUEGBAR', - 610301014 => 'ERIC_IO_STEUERZEICHEN_IM_NDS', - 610301031 => 'ERIC_IO_VERSIONSINFORMATIONEN_NICHT_GEFUNDEN', - 610301104 => 'ERIC_IO_FALSCHES_VERFAHREN', - 610301105 => 'ERIC_IO_READER_MEHRFACHE_STEUERFAELLE', - 610301106 => 'ERIC_IO_READER_UNERWARTETE_ELEMENTE', - 610301107 => 'ERIC_IO_READER_FORMALE_FEHLER', - 610301108 => 'ERIC_IO_READER_FALSCHES_ENCODING', - 610301109 => 'ERIC_IO_READER_MEHRFACHE_NUTZDATEN_ELEMENTE', - 610301110 => 'ERIC_IO_READER_MEHRFACHE_NUTZDATENBLOCK_ELEMENTE', - 610301111 => 'ERIC_IO_UNBEKANNTE_DATENART', - 610301114 => 'ERIC_IO_READER_UNTERSACHBEREICH_UNGUELTIG', - 610301115 => 'ERIC_IO_READER_ZU_VIELE_NUTZDATENBLOCK_ELEMENTE', - 610301150 => 'ERIC_IO_READER_STEUERZEICHEN_IM_TRANSFERHEADER', - 610301151 => 'ERIC_IO_READER_STEUERZEICHEN_IM_NUTZDATENHEADER', - 610301152 => 'ERIC_IO_READER_STEUERZEICHEN_IN_DEN_NUTZDATEN', - 610301170 => 'ERIC_IO_READER_RABE_FEHLER', - 610301171 => 'ERIC_IO_READER_KEINE_RABEID', - 610301172 => 'ERIC_IO_READER_RABEID_UNGUELTIG', - 610301173 => 'ERIC_IO_READER_RABE_VERIFIKATIONSID_UNGUELTIG', - 610301174 => 'ERIC_IO_READER_RABE_REFERENZID_UNGUELTIG', - 610301175 => 'ERIC_IO_READER_RABE_REFERENZID_NICHT_ERLAUBT', - 610301176 => 'ERIC_IO_READER_RABE_REFERENZIDS_NICHT_EINDEUTIG', - 610301190 => 'ERIC_IO_READER_ZU_VIELE_ANHAENGE', - 610301191 => 'ERIC_IO_READER_ANHANG_ZU_GROSS', - 610301192 => 'ERIC_IO_READER_ANHAENGE_ZU_GROSS', - 610301193 => 'ERIC_IO_READER_ANHANG_ZU_KLEIN', - 610301200 => 'ERIC_IO_READER_SCHEMA_VALIDIERUNGSFEHLER', - 610301201 => 'ERIC_IO_READER_UNBEKANNTE_XML_ENTITY', - 610301202 => 'ERIC_IO_TESTHERSTELLERID_GESPERRT', - 610301252 => 'ERIC_IO_DATENTEILNOTFOUND', - 610301253 => 'ERIC_IO_DATENTEILENDNOTFOUND', - 610301300 => 'ERIC_IO_UEBERGABEPARAMETER_FEHLERHAFT', - 610301400 => 'ERIC_IO_UNGUELTIGE_UTF8_SEQUENZ', - 610301401 => 'ERIC_IO_UNGUELTIGE_ZEICHEN_IN_PARAMETER', - - 610501001 => 'ERIC_PRINT_INTERNER_FEHLER', - 610501002 => 'ERIC_PRINT_DRUCKVORLAGE_NICHT_GEFUNDEN', - 610501004 => 'ERIC_PRINT_UNGUELTIGER_DATEI_PFAD', - 610501007 => 'ERIC_PRINT_INITIALISIERUNG_FEHLERHAFT', - 610501008 => 'ERIC_PRINT_AUSGABEZIEL_UNBEKANNT', - 610501009 => 'ERIC_PRINT_ABBRUCH_DRUCKVORBEREITUNG', - 610501010 => 'ERIC_PRINT_ABBRUCH_GENERIERUNG', - 610501011 => 'ERIC_PRINT_STEUERFALL_NICHT_UNTERSTUETZT', - 610501012 => 'ERIC_PRINT_FUSSTEXT_ZU_LANG', - 610501015 => 'ERIC_PRINT_PDFCALLBACK' + 610201213 => "The submitted certificate has inconsistencies and therefore cannot be used. Please use a different one or generate and use a new certificate.", + 610201214 => "The function called does not support the new identity card (nPA) and the electronic residence permit (eAT).", + 610201016 => "Key generation error.", + 610201017 => "Insufficient entropy for cryptographic operation.", + 610201232 => "The ASN.1 structure contains no data", + 610201233 => "XML signature verification failed.", + 610201231 => "The ASN.1 structure contains no EnvelopedData.", + 610201229 => "The read buffer for decoding the ASN.1 structure is too small.", + 610201230 => "The data of the ASN.1 structure is incomplete.", + 610201103 => "eSigner: Overload.", + 610201228 => "The data structure is not initialized", + 610201125 => "eSigner: Error while decrypting.", + 610201122 => "eSigner: Encoding error.", + 610201121 => "eSigner: Parameter error, unknown encoding.", + 610201124 => "eSigner: Error during encryption.", + 610201130 => "eSigner: Unknown exception occurred.", + 610201140 => "eSigner: The eSigner library could not be loaded", + 610201141 => "eSigner: The eSigner library is in an incompatible version.", + 610201208 => "Internal error occurred. Details may be found in the logfile (eric.log).", + 610201101 => "eSigner: Invalid token handle.", + 610201128 => "eSigner: PKCS11 or PC/SC library is missing or not executable.", + 610201102 => "eSigner: Too many sessions open.", + 610201129 => "eSigner: The PC/SC service is not started.", + 610201127 => "eSigner: No signature/encryption certificates/keys found (PKCS#11).", + 610201104 => "eSigner: Memory allocation error.", + 610201116 => "eSigner: Error accessing hard token decryption key.", + 610201148 => "eSigner: PKCS#11 Engine occupied with another library.", + 610201219 => "P11 The initial token access failed.", + 610201220 => "P11 encryption certificate missing.", + 610201218 => "P11 signature certificate missing.", + 610201115 => "eSigner: Error accessing hard token signature key.", + 610201126 => "eSigner: No signature card inserted (PKCS#11).", + 610201146 => "eSigner: Temporary PKCS#12 token cannot be generated.", + 610201112 => "eSigner: Error decoding the PKCS#12 object.", + 610201114 => "eSigner: Error accessing Soft-PSE decryption key.", + 610201222 => "P12 encryption certificate missing.", + 610201221 => "P12 signature certificate missing.", + 610201111 => "eSigner: Error reading the PKCS#12 object.", + 610201113 => "eSigner: Error accessing soft-PSE signature key.", + 610201109 => "eSigner: Error decoding PKCS#7.", + 610201108 => "eSigner: Error reading the PKCS#7 object.", + 610201110 => "eSigner: Decryption certificate not included in recipient list.", + 610201107 => "eSigner: The password or PIN is locked.", + 610201106 => "eSigner: An incorrect password or PIN was entered.", + 610201105 => "eSigner: Invalid PSE path.", + 610201223 => "PC/SC Access to the decryption key has failed.", + 610201226 => "PC/SC Initial token access failed.", + 610201216 => "No supported applet found.", + 610201225 => "PC/SC encryption certificate missing.", + 610201224 => "PC/SC signature certificate missing.", + 610201217 => "Error in the card session.", + 610201227 => "PC/SC Access to the signature key failed.", + 610201215 => "There is no card/no stick plugged in.", + 610201144 => "eSigner: CA token type and internal token type do not match.", + 610201149 => "eSigner: Action canceled by user.", + 610201142 => "eSigner: The eSigner library is in an outdated version", + 610201147 => "eSigner: Certificate chain could not be verified.", + 610201123 => "eSigner: XML initialization error.", + 610201117 => "eSigner: Error parsing the XML input file.", + 610201118 => "eSigner: Error generating the XML signature tree.", + 610201120 => "eSigner: Error in XML signature generation.", + 610201119 => "eSigner: XML signature tag not present.", + 610201203 => "The format of the PSE is not supported.", + 610201205 => "For the selected operation, a password or PIN must be specified.", + 610201211 => "The desired password contains invalid characters (e.g., umlauts).", + 610201212 => "Invalid cryptographic parameter (ABC).", + 610201206 => "The requested password is not secure enough (e.g., too short).", + 610201201 => "Signature generation error.", + 610201200 => "Access error on certificate.", + 610201210 => "In the specified directory, a component of an ERiC certificate already exists.", + 610201209 => "The specified certificate path is not a directory.", + 610001033 => "An error occurred during an arithmetic operation. Details are in the logfile (eric.log).", + 610001510 => "Invalid BIC: The formal structure of the specified BIC is invalid.", + 610001511 => "Invalid BIC: The specified country code is invalid or is currently not supported in the ELSTER process.", + 610001038 => "Invalid federal tax office number.", + 610001867 => "Error in the submitted EDS-XML: Cases for multiple federal states have been specified. However, only cases for one federal state may be specified within one data delivery.", + 610001108 => "Defective payload.", + 610001045 => "The plugin 'commonData' could not be loaded or does not offer a required service. Details are in the logfile (eric.log).", + 610001053 => "The file could not be accessed as desired. Details are in the logfile (eric.log).", + 610001014 => "File not found.", + 610001042 => "The passed data type version is unknown or the required ERiC plugin was not found. Please note that the data type version is case-sensitive.", + 610001044 => "The passed data type version does not match the input XML. Details may be in the logfile (eric.log).", + 610001026 => "The dataset to be sent is too large.", + 610001224 => "The pressure is not supported for the specified procedure.", + 610001019 => "For this procedure/this type of data/this test manufacturer ID/these ERiC settings, real cases are not allowed.", + 610001860 => "Invalid name for setting.", + 610001861 => "Invalid value for setting.", + 610001030 => "An error occurred in the conversion to XML.", + 610001862 => "Decoding error.", + 610001528 => "The country code passed is unknown or empty.", + 610001527 => "The unit value file reference passed is invalid.", + 610001007 => "No plaintext error message available.", + 610001083 => "The requested ERiC instance could not be created. Details may be available in the logfile (eric.log).", + 610001018 => "The function called is not allowed.", + 610001863 => "The called function is not supported.", + 610001016 => "For this procedure/data type, processing with the specified manufacturer ID is not allowed.", + 610001003 => "Notes during the plausibility check, but the record is plausible. To determine the hints to be displayed, the return buffer (parameter \"rueckgabeXmlPuffer\") must be evaluated.", + 610001501 => "Invalid IBAN: IBAN must consist of a two-digit country code followed by a two-digit check digit followed by the Basic Bank Account Number.", + 610001502 => "Invalid IBAN: The specified country code is invalid or is not currently supported in the ELSTER procedure.", + 610001503 => "Invalid IBAN: The specified IBAN does not comply with the formal structure of the IBAN defined for the specified country, or the IBAN is not permissible.", + 610001504 => "Invalid IBAN: The checksum calculation for the specified IBAN results in a differing check digit.", + 610001525 => "The passed ID number is invalid.", + 610001017 => "Invalid state.", + 610001229 => "The versions of the ERiC files mentioned in the logfile are not compatible. (See eric.log.)", + 610001032 => "Internal error occurred. Details may be in the logfile (eric.log).", + 610001008 => "For the passed value, no data is available.", + 610001039 => "Invalid federal tax office number.", + 610001037 => "Invalid country number.", + 610001046 => "An exception occurred while writing to the log file.", + 610001231 => "The call to an API function of the ERiC must only be made once a previous call has returned.", + 610001082 => "The single-thread ERiC has already been initialized with EricInitialisiere.", + 610001013 => "There is not enough memory available.", + 610001081 => "The single-thread ERiC was not initialized with EricInitialisiere.", + 610001020 => "Shipping of real cases (= cases without a test marker set) is not possible with a BETA version.", + 610001526 => "The parameter NULL was passed.", + 610001028 => "The shipping method specified only allows portal certificates.", + 610001029 => "Retrieval code not permitted.", + 610001866 => "Error in the submitted EDS-XML: Different versions of the payload header were used in the collected data. However, only one payload header version is permitted within a data delivery.", + 610001869 => "Error in the provided EDS-XML: The content of the payload element \"\" is incorrect for this data type.", + 610001865 => "Error in the submitted EDS-XML: A payload ticket for multiple tax cases was used in the collected data. However, a separate payload ticket must be specified for each tax case.", + 610001048 => "The submitted public key cannot be read.", + 610001228 => "The initialization of a plugin has failed.", + 610001220 => "Printing of first page not supported.", + 610001002 => "Error during plausibility check, data set not plausible. To determine the failed plausibility checks, the return buffer (parameter \"rueckgabeXmlPuffer\") must be evaluated.", + 610001041 => "An attempt was made to describe a buffer beyond the maximum possible length.", + 610001050 => "The buffer handle passed was not created with the present instance.", + 610001040 => "A buffer handle was passed multiple times.", + 610001209 => "More than one shipping flag is specified.", + 610001035 => "Invalid tax number: 13 digits expected.", + 610001036 => "Invalid tax number: Only digits are expected.", + 610001034 => "Invalid tax number.", + 610001025 => "The passed test marker is not permissible for the specified procedure.", + 610001031 => "The size of the text buffer cannot be changed.", + 610001227 => "An illegal transfer handle was specified for the data retrieval process.", + 610001047 => "For this type of data, no TransportKey may be specified in the TransferHeader.", + 610001049 => "The type of transport key specified in the TransferHeader is not allowed for this type of data.", + 610001222 => "The specified parameters are invalid or incomplete.", + 610001218 => "The combination of edit flags passed is not allowed.", + 610001080 => "The passed instance is either NULL or has already been released.", + 610001226 => "The version of one of the specified parameters is invalid.", + 610001001 => "Processing faulty, no more detailed information available. Details may be in the logfile (eric.log).", + 610001102 => "Unknown parameter error.", + 610001851 => "Update of ERiC required. Now start the update.", + 610001404 => "The federal state/tax office with the specified number does not participate in the ELSTER procedure for the specified type of tax.", + 610001225 => "The shipping method is not allowed for the specified data type version.", + 610001230 => "The encryption method specified in the XML element \"\" is not supported by ERiC.", + 610001206 => "Encrypted/authenticated shipping desired, but no necessary encryption parameters specified.", + 610001027 => "The encryption parameter may only be specified for authenticated dispatch.", + 610001051 => "The element \"Vorsatz\" contains invalid values, details are in the logfile (eric.log).", + 610001868 => "Error in the submitted EDS-XML: Cases for different years have been specified. However, within one data delivery, only cases for the same year may be specified.", + 610001519 => "The specified registration number does not meet the length requirements. A maximum of 6 digits is allowed.", + 610301005 => "The file structure is incorrect.", + 610301253 => "In the XML string, the text \"\" could not be found.", + 610301252 => "The text \"\" could not be found in the XML string.", + 610301104 => "The value in the transfer header element \"Procedure\" is not supported by the used reader.", + 610301001 => "Processing faulty, no more detailed information available.", + 610301010 => "Internal error, the master data service is not available.", + 610301007 => "The generation of the payload dataset has failed.", + 610301006 => "Error parsing the input data. Details are in the log file (eric.log).", + 610301192 => "The total size of all attachments in a payload block is too big. Details are in the logfile (eric.log).", + 610301191 => "An attachment is too large. Details are in the logfile (eric.log).", + 610301193 => "The referenced attachment is too small and must be embedded into the XML. Details can be found in the log file (eric.log).", + 610301108 => "The input data was not in UTF-8 encoding without BOM, or no encoding was specified.", + 610301107 => "Formal errors were found in the input file, details may be in the logfile (eric.log).", + 610301171 => "No RabeId was specified, details may be in the logfile (eric.log)", + 610301110 => "More than one data block was found in the input file.", + 610301109 => "More than one \"payload\" element was found in the input file.", + 610301105 => "More than one tax case was found in the input file.", + 610301172 => "An invalid RabeId was found, details may be in the log file (eric.log).", + 610301170 => "Errors were found in the details for referencing receipts (RABE). Details are in the logfile (eric.log).", + 610301176 => "For a payload block, the same reference ID was specified multiple times. Details may be in the log file (eric.log).", + 610301175 => "A reference ID has been specified for a field that does not allow a reference ID. Details may be in the log file (eric.log).", + 610301174 => "An invalid ReferenceId was found, details may be in the logfile (eric.log).", + 610301173 => "An invalid VerificationId was found, details may be in the logfile (eric.log)", + 610301200 => "Errors occurred while validating the XML. Details are in the logfile (eric.log).", + 610301151 => "Invalid control characters were found in the PayloadHeader element.", + 610301150 => "Invalid control characters were found in the TransferHeader element.", + 610301152 => "Invalid control characters were found in the payload element.", + 610301201 => "An XML entity could not be resolved.", + 610301106 => "Unexpected elements were found in the input file, details may be available in the log file (eric.log).", + 610301114 => "Invalid or missing value for the sub-area of investigation.", + 610301190 => "A payload block contains too many attachments. Details are in the log file (eric.log).", + 610301115 => "Too many data blocks were found in the input file.", + 610301014 => "Invalid control characters were found in the payload record.", + 610301202 => "The manufacturer ID specified in the XML is blocked. Please use your own manufacturer ID also for test cases.", + 610301300 => "Incorrect function call parameters.", + 610301111 => "The value specified in the \"Data Type\" element of the transfer header is unknown.", + 610301400 => "The parameter contains invalid UTF-8 multibyte sequences.", + 610301401 => "The parameter contains at least one invalid character.", + 610301031 => "The version information of the ERiC libraries could not be read.", + 610501009 => "The start of the expression process failed. Necessary resources may not have been allocated.", + 610501010 => "During the output of the contents, an error occurred.", + 610501008 => "The format to be used or the target client is not known.", + 610501002 => "No print template found for the specified combination of sub-case type and assessment period. Please check the installed print templates.", + 610501012 => "The passed footer text is too long.", + 610501007 => "ERiCPrint was not initialized correctly. Maybe ERiC was not initialized correctly?", + 610501001 => "Processing faulty, no further information available.", + 610501015 => "During the PDF creation, the custom callback function reported an error.", + 610501011 => "The combination of subtype and assessment period is not supported.", + 610501004 => "The wrong file path was specified, access rights are missing, or the file is currently being used by another application.", + 610101200 => "General communication error.", + 610101521 => "The eID client has reported an error. Details about the error can be found in the log of the eID client or, if applicable, in the ERiC logfile (eric.log).", + 610101523 => "The reading of the data from the identity card was canceled by the user.", + 610101511 => "The user could not be assigned a unique identification number.", + 610101520 => "The eID client is not reachable. Probably it was not started or the passed local URL is incorrect.", + 610101510 => "For the user's identification number, there is no account at ELSTER.", + 610101524 => "The ID card is blocked by another process. Terminate the other process and try again.", + 610101512 => "The nPA servlet could not establish a connection to the eID server.", + 610101500 => "No ad hoc certificate could be created or found for the identity card or residence permit, details may be found in the logfile (eric.log).", + 610101259 => "The text \"\" could not be found in the XML string.", + 610101255 => "In the XML string, the text \"\" could not be found.", + 610101257 => "The text \"\" could not be found in the XML string.", + 610101278 => "No connection could be established to the servers.", + 610101253 => "In the XML string, the text \"\" could not be found.", + 610101297 => "The XML element \"\" could not be read.", + 610101260 => "In the XML string, the text \"\" could not be found.", + 610101256 => "In the XML string, the text \"\" could not be found.", + 610101294 => "The text \"\" could not be found in the XML string.", + 610101258 => "In the XML string, the text \"\" could not be found.", + 610101279 => "No response could be received from the clearing house.", + 610101274 => "The response data was not PKCS#7 encrypted.", + 610101291 => "Other, undefined error occurred.", + 610101251 => "Invalid parameters were provided.", + 610101280 => "The proxy server expects login credentials.", + 610101276 => "Connection to the proxy server could not be established.", + 610101284 => "No valid port was specified for the proxy.", + 610101271 => "An error occurred during data exchange.", + 610101282 => "Error initializing shipment, details may be in the log file (eric.log).", + 610101283 => "There was a timeout when communicating with the server.", + 610101295 => "A tag could not be found in the XML string.", + 610101293 => "The XML is in the wrong encoding.", + 610101292 => "Error in payload header. The ELSTER acceptance server reported an error. Please evaluate the server response. In the case of batch data, all payload blocks must be checked to identify the erroneous record.", + 610101210 => "Error in transfer header. The ELSTER acceptance server has reported an error. Please evaluate the server response.", + 610101201 => "This operation is not supported by the called function.", + 0 => "Processing error-free.", + 610101522 => "Not all required data fields of the identity card could be read. Please check through the \"Self-disclosure\" function of the eID client whether the following data from your identity card are correctly provided: surname, first name(s), date of birth, address (with postal code), and type of document." } - CODES.each do |value, name| - const_set(name, value) - end + ERIC_OK = 0 end end end