From 60ffaed70cba75409e643a86c5a858f6804e2f8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20M=C3=BCnchert?= Date: Mon, 19 Feb 2024 20:46:37 +0100 Subject: [PATCH] Bump version to 1.1.0, update dependencies and interface to work with ERIC 39 --- .tool-versions | 1 + CHANGELOG.md | 46 ++++ Gemfile | 2 + README.md | 10 +- lib/liberic.rb | 2 + lib/liberic/boot.rb | 2 +- lib/liberic/helpers/invocation.rb | 2 +- lib/liberic/response/version.rb | 1 + lib/liberic/sdk/api.rb | 156 ++++++++---- lib/liberic/sdk/configuration.rb | 2 +- lib/liberic/sdk/fehlercodes.rb | 400 +++++++++++++++++------------- lib/liberic/version.rb | 2 +- liberic.gemspec | 10 +- 13 files changed, 399 insertions(+), 237 deletions(-) create mode 100644 .tool-versions create mode 100644 CHANGELOG.md diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..3294aed --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +ruby 3.3.0 diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..5bd59b5 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,46 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [1.1.0] + +Eric now requires a call to an initialization function. This happens +when the gem is required. However, this is possibly not thread safe +(no research was done on this). + +In a single thread context, the gem should be backwards compatible. + +Names of the error codes (see `Liberic::SDK::Fehlercodes`) have been +updated according to the constant names used in `eric_fehlercodes.h` +from the ERiC sources from ERIC 39. + +So technically this update is not 100% backwards compatible. However, I +find a bump to 2.0.0 excessive for this release. + +### Added + +- Updated documentation and added a changelog. +- Added `Liberic::SDK::hole_zertifikat_eigenschaften` +- Added `Liberic::SDK::initialisiere` and `Liberic::SDK::beende` + +### Changed + +- Updated dependencies of this gem. Since it has been a couple of years + since the last update, minimum required versions haven't been tested. + The gem probably also works with Ruby 2.x and older versions of ffi + and nokogiri. +- Updated API for ERIC 39 (2023). + image that will render properly (although in English for all languages) + +## [1.0.2] - Prior 2024 + +This gem was originally developed for a company that became later +wundertax. A [fork of the gem](https://github.com/wundertax/liberic-ruby) +was maintained by them for a while but has been archived in 2019. + +Development of [the original version](https://github.com/mpm/liberic-ruby) of +this gem (where this changelog belongs to) was picked up by me in 2024 +for a different project. diff --git a/Gemfile b/Gemfile index 427f3dc..4cb32f6 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,6 @@ source 'https://rubygems.org' +ruby '3.3.0' + # Specify your gem's dependencies in liberic.gemspec gemspec diff --git a/README.md b/README.md index 826456d..386bea4 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Or install it yourself (not possible yet) as: $ gem install liberic The ERiC library files are not distributed with this gem. They must be -obtained from the [ELSTER Downloads Page](https://www.elster.de/ssl/secure/eric.php). (Requires your personal credentials which have to be requested from ELSTER). +obtained from the [ELSTER Downloads Page](https://www.elster.de/elsterweb/entwickler/infoseite/eric). (Requires your personal credentials which have to be requested from ELSTER). Follow the installation instructions from the ERiC documentation. @@ -40,16 +40,20 @@ include/ lib/ ``` -Currently, the environment variable `ERIC_HOME_27` needs to be set to this +Currently, the environment variable `ERIC_HOME_39` needs to be set to this folder or the gem will not find the library files. For example: ```sh -$ export ERIC_HOME_27=/opt/ERiC-27.3.2.0/Linux-x86_64 +$ export ERIC_HOME_39=/opt/ERiC-39.3.2.0/Linux-x86_64 ``` ### Additional steps on OS X + +The following OS X specific information dates back to the first version of this +library (from 2016). Might be outdated or incorrect by now. + On *Mac OS X* you need to process the libraries to fix the interal paths (credits to @deviantbits): diff --git a/lib/liberic.rb b/lib/liberic.rb index e341541..39220a3 100644 --- a/lib/liberic.rb +++ b/lib/liberic.rb @@ -10,6 +10,8 @@ require 'liberic/config' module Liberic + SDK::API::initialisiere(nil, nil) + check_eric_version! def config diff --git a/lib/liberic/boot.rb b/lib/liberic/boot.rb index 47c70cb..1c7d663 100644 --- a/lib/liberic/boot.rb +++ b/lib/liberic/boot.rb @@ -19,7 +19,7 @@ def library_path File.expand_path("libericapi.#{suffix}", ERIC_LIB_FOLDER) end - ERIC_HOME = ENV['ERIC_HOME_27'] || raise(InitializationError.new('ERIC_HOME_27 environment variable not found (set it to the path to the ERiC libraries)')) + ERIC_HOME = ENV['ERIC_HOME_39'] || raise(InitializationError.new('ERIC_HOME_39 environment variable not found (set it to the path to the ERiC libraries)')) ERIC_LIB_FOLDER = File.expand_path('lib', ERIC_HOME) def check_eric_version! diff --git a/lib/liberic/helpers/invocation.rb b/lib/liberic/helpers/invocation.rb index db876ac..89e6167 100644 --- a/lib/liberic/helpers/invocation.rb +++ b/lib/liberic/helpers/invocation.rb @@ -7,7 +7,7 @@ class Error < StandardError extend self def raise_on_error(value) - return value if value == SDK::Fehlercodes::OK + return value if value == SDK::Fehlercodes::ERIC_OK raise Error.new(SDK::Fehlercodes::CODES[value]) end diff --git a/lib/liberic/response/version.rb b/lib/liberic/response/version.rb index 0b25543..46c8b4a 100644 --- a/lib/liberic/response/version.rb +++ b/lib/liberic/response/version.rb @@ -9,6 +9,7 @@ class Version def initialize(response_xml) @response_xml = response_xml @response_dom = Nokogiri::XML(@response_xml) + @libs = @response_dom.xpath('//version:Bibliothek', version: VERSION_NS).map do |lib| fields = Hash[ {file: 'Name', diff --git a/lib/liberic/sdk/api.rb b/lib/liberic/sdk/api.rb index 290a488..b701fda 100644 --- a/lib/liberic/sdk/api.rb +++ b/lib/liberic/sdk/api.rb @@ -9,7 +9,7 @@ def self.attach_eric_function(name, params, return_type, original_name = nil) attach_function(name, original_name, params, return_type) end - # ERICAPI_DECL int STDCALL EricBearbeiteVorgang( + # ERICAPI_IMPORT int STDCALL EricBearbeiteVorgang( # const char* datenpuffer, # const char* datenartVersion, # uint32_t bearbeitungsFlags, @@ -27,66 +27,83 @@ def self.attach_eric_function(name, params, return_type, original_name = nil) :pointer, :pointer], :int - # ERICAPI_DECL int STDCALL EricChangePassword(const char* psePath, const char* oldPin, - # const char* newPin); + + # ERICAPI_IMPORT int STDCALL EricBeende(void); + attach_eric_function :beende, [], :int + + # ERICAPI_IMPORT int STDCALL EricChangePassword(const byteChar* psePath, const byteChar* oldPin, + # const byteChar* newPin); attach_eric_function :change_password, [:string, :string, :string], :int - # ERICAPI_DECL int STDCALL EricCheckBuFaNummer(const char* steuernummer); - attach_eric_function :check_bu_fa_nummer, [:string], :int + # ERICAPI_IMPORT int STDCALL EricPruefeBuFaNummer(const byteChar* steuernummer); + attach_eric_function :pruefe_bu_fa_nummer, [:string], :int - # ERICAPI_DECL int STDCALL EricCheckXML(const char* xml, const char* datenartVersion, + # ERICAPI_IMPORT int STDCALL EricCheckXML(const char* xml, const char* datenartVersion, # EricRueckgabepufferHandle fehlertextPuffer); attach_eric_function :check_xml, [:string, :string, :pointer], :int, :EricCheckXML - # ERICAPI_DECL int STDCALL EricCloseHandleToCertificate(EricZertifikatHandle hToken); + # ERICAPI_IMPORT int STDCALL EricCloseHandleToCertificate(EricZertifikatHandle hToken); attach_eric_function :close_handle_to_certificate, [:uint], :int # TODO - # ERICAPI_DECL int STDCALL EricCreateKey(const char* pin, const char* pfad, - # const eric_zertifikat_parameter_t* zertifikatInfo); + # ERICAPI_IMPORT int STDCALL EricCreateKey( + # const byteChar* pin, + # const byteChar* pfad, + # const eric_zertifikat_parameter_t* zertifikatInfo); attach_eric_function :create_key, [:string, :string, :pointer], :int - # ERICAPI_DECL int STDCALL EricCreateTH(const char* xml, const char* verfahren, + # ERICAPI_IMPORT int STDCALL EricCreateTH(const char* xml, const char* verfahren, # const char* datenart, const char* vorgang, # const char* testmerker, const char* herstellerId, # const char* datenLieferant, const char* versionClient, - # const char* publicKey, + # const byteChar* publicKey, # EricRueckgabepufferHandle xmlRueckgabePuffer); attach_eric_function :create_th, [:string, :string, :string, :string, :string, :string, :string, :string, :string, :pointer], :int, :EricCreateTH - # ERICAPI_DECL int STDCALL EricDekodiereDaten( + # TODO: + # ERICAPI_IMPORT int STDCALL EricCreateUUID( + # EricRueckgabepufferHandle uuidRueckgabePuffer); + + # ERICAPI_IMPORT int STDCALL EricDekodiereDaten( # EricZertifikatHandle zertifikatHandle, - # const char* pin, - # const char* base64Eingabe, + # const byteChar* pin, + # const byteChar* base64Eingabe, # EricRueckgabepufferHandle rueckgabePuffer); attach_eric_function :dekodiere_daten, [:uint, :string, :string, :pointer], :int - # ERICAPI_DECL int STDCALL EricEinstellungAlleZuruecksetzen(void); attach_eric_function :einstellung_alle_zuruecksetzen, [:void], :int - # ERICAPI_DECL int STDCALL EricEinstellungLesen(const char* name, + # ERICAPI_IMPORT int STDCALL EricEinstellungLesen( + # const char* name, # EricRueckgabepufferHandle rueckgabePuffer); attach_eric_function :einstellung_lesen, [:string, :pointer], :int - # ERICAPI_DECL int STDCALL EricEinstellungSetzen(const char* name, const char* wert); + # ERICAPI_IMPORT int STDCALL EricEinstellungSetzen( + # const char* name, + # const char* wert); attach_eric_function :einstellung_setzen, [:string, :string], :int - # ERICAPI_DECL int STDCALL EricEinstellungZuruecksetzen(const char* name); + # ERICAPI_IMPORT int STDCALL EricEinstellungZuruecksetzen( + # const char* name); attach_eric_function :einstellung_zuruecksetzen, [:string], :int - # ERICAPI_DECL int STDCALL EricEntladePlugins(); + # ERICAPI_IMPORT int STDCALL EricEntladePlugins( + # void); attach_eric_function :entlade_plugins, [], :int - # ERICAPI_DECL int STDCALL EricFormatStNr(const char* eingabeSteuernummer, + # ERICAPI_IMPORT int STDCALL EricFormatStNr( + # const byteChar* eingabeSteuernummer, # EricRueckgabepufferHandle rueckgabePuffer); attach_eric_function :format_st_nr, [:string, :pointer], :int - # ERICAPI_DECL int STDCALL EricGetAuswahlListen (const char* datenartVersion, const char* feldkennung, + # ERICAPI_IMPORT int STDCALL EricGetAuswahlListen( + # const char* datenartVersion, + # const char* feldkennung, # EricRueckgabepufferHandle rueckgabeXmlPuffer); attach_eric_function :get_auswahl_listen, [:string, :string, :pointer], :int - # ERICAPI_DECL int STDCALL EricGetErrormessagesFromXMLAnswer( + # ERICAPI_IMPORT int STDCALL EricGetErrormessagesFromXMLAnswer( # const char* xml, # EricRueckgabepufferHandle transferticketPuffer, # EricRueckgabepufferHandle returncodeTHPuffer, @@ -94,69 +111,104 @@ def self.attach_eric_function(name, params, return_type, original_name = nil) # EricRueckgabepufferHandle returncodesUndFehlertexteNDHXmlPuffer); attach_eric_function :get_errormessages_from_xml_answer, [:string, :pointer, :pointer, :pointer, :pointer], :int, :EricGetErrormessagesFromXMLAnswer - # ERICAPI_DECL int STDCALL EricGetHandleToCertificate(EricZertifikatHandle* hToken, + # ERICAPI_IMPORT int STDCALL EricGetHandleToCertificate( + # EricZertifikatHandle* hToken, # uint32_t* iInfoPinSupport, - # const char* pathToKeystore); + # const byteChar* pathToKeystore); attach_eric_function :get_handle_to_certificate, [:pointer, :pointer, :string], :int - # ERICAPI_DECL int STDCALL EricGetPinStatus(EricZertifikatHandle hToken, uint32_t* pinStatus, + # ERICAPI_IMPORT int STDCALL EricGetPinStatus( + # EricZertifikatHandle hToken, + # uint32_t* pinStatus, # uint32_t keyType); attach_eric_function :get_pin_status, [:uint, :pointer, :uint], :int - # ERICAPI_DECL int STDCALL EricGetPublicKey(const eric_verschluesselungs_parameter_t* cryptoParameter, + # ERICAPI_IMPORT int STDCALL EricGetPublicKey( + # const eric_verschluesselungs_parameter_t* cryptoParameter, # EricRueckgabepufferHandle rueckgabePuffer); attach_eric_function :get_public_key, [:pointer, :pointer], :int - # ERICAPI_DECL int STDCALL EricHoleFehlerText(int fehlerkode, + # ERICAPI_IMPORT int STDCALL EricHoleFehlerText( + # int fehlerkode, # EricRueckgabepufferHandle rueckgabePuffer); attach_eric_function :hole_fehler_text, [:int, :pointer], :int - # ERICAPI_DECL int STDCALL EricHoleFinanzaemter(const char* finanzamtLandNummer, + # ERICAPI_IMPORT int STDCALL EricHoleFinanzaemter( + # const byteChar* finanzamtLandNummer, # EricRueckgabepufferHandle rueckgabeXmlPuffer); attach_eric_function :hole_finanzaemter, [:string, :pointer], :int - # ERICAPI_DECL int STDCALL EricHoleFinanzamtLandNummern(EricRueckgabepufferHandle rueckgabeXmlPuffer); + # ERICAPI_IMPORT int STDCALL EricHoleFinanzamtLandNummern( + # EricRueckgabepufferHandle rueckgabeXmlPuffer); attach_eric_function :hole_finanzamt_land_nummern, [:pointer], :int # TODO - # ERICAPI_DECL int STDCALL EricHoleFinanzamtsdaten(const char bufaNr[5], - # struct Finanzamtsdaten *finanzamtsdaten); + # ERICAPI_IMPORT int STDCALL EricHoleFinanzamtsdaten( + # const byteChar bufaNr[5], + # EricRueckgabepufferHandle rueckgabeXmlPuffer); - # ERICAPI_DECL int STDCALL EricHoleTestfinanzaemter(EricRueckgabepufferHandle rueckgabeXmlPuffer); + # ERICAPI_IMPORT int STDCALL EricHoleTestfinanzaemter( + # EricRueckgabepufferHandle rueckgabeXmlPuffer); attach_eric_function :hole_testfinanzaemter, [:pointer], :int - # ERICAPI_DECL int STDCALL EricHoleZertifikatFingerabdruck( + # ERICAPI_IMPORT int STDCALL EricHoleZertifikatEigenschaften( + # EricZertifikatHandle hToken, + # const byteChar * pin, + # EricRueckgabepufferHandle rueckgabeXmlPuffer); + attach_eric_function :hole_zertifikat_eigenschaften, [:uint, :string, :pointer], :int + + # ERICAPI_IMPORT int STDCALL EricHoleZertifikatFingerabdruck( # const eric_verschluesselungs_parameter_t* cryptoParameter, # EricRueckgabepufferHandle fingerabdruckPuffer, # EricRueckgabepufferHandle signaturPuffer); attach_eric_function :hole_zertifikat_fingerabdruck, [:pointer, :pointer, :pointer], :int - # ERICAPI_DECL int STDCALL EricMakeElsterStnr(const char* steuernrBescheid, - # const char landesnr[2+1], - # const char bundesfinanzamtsnr[4+1], + # ERICAPI_IMPORT int STDCALL EricInitialisiere( + # const byteChar *pluginPfad, + # const byteChar *logPfad); + attach_eric_function :initialisiere, [:string, :string], :int + + # ERICAPI_IMPORT int STDCALL EricMakeElsterStnr( + # const byteChar* steuernrBescheid, + # const byteChar landesnr[2+1], + # const byteChar bundesfinanzamtsnr[4+1], # EricRueckgabepufferHandle steuernrPuffer); # FIXME: non-pointer string attach_eric_function :make_elster_stnr, [:string, :string, :string, :pointer], :int - # ERICAPI_DECL int STDCALL EricPruefeBIC(const char* bic); + # ERICAPI_IMPORT int STDCALL EricPruefeBIC( + # const byteChar* bic); attach_eric_function :pruefe_bic, [:string], :int, :EricPruefeBIC - # ERICAPI_DECL int STDCALL EricPruefeIBAN(const char* iban); + # ERICAPI_IMPORT int STDCALL EricPruefeIBAN( + # const byteChar* iban); attach_eric_function :pruefe_iban, [:string], :int, :EricPruefeIBAN - # ERICAPI_DECL int STDCALL EricPruefeIdentifikationsMerkmal(const char* steuerId); + # TODO + # ERICAPI_IMPORT int STDCALL EricPruefeEWAz( + # const byteChar* einheitswertAz); + + # ERICAPI_IMPORT int STDCALL EricPruefeIdentifikationsMerkmal( + # const byteChar* steuerId); attach_eric_function :pruefe_identifikations_merkmal, [:string], :int - # ERICAPI_DECL int STDCALL EricPruefeSteuernummer(const char* steuernummer); + # ERICAPI_IMPORT int STDCALL EricPruefeSteuernummer( + # const byteChar* steuernummer); attach_eric_function :pruefe_steuernummer, [:string], :int # TODO - # ERICAPI_DECL int STDCALL EricRegistriereFortschrittCallback( + # ERICAPI_IMPORT int STDCALL EricPruefeZertifikatPin( + # const byteChar *pathToKeystore, + # const byteChar *pin, + # uint32_t keyType); + + # TODO + # ERICAPI_IMPORT int STDCALL EricRegistriereFortschrittCallback( # EricFortschrittCallback funktion, # void* benutzerdaten); # TODO - # ERICAPI_DECL int STDCALL EricRegistriereGlobalenFortschrittCallback( + # ERICAPI_IMPORT int STDCALL EricRegistriereGlobalenFortschrittCallback( # EricFortschrittCallback funktion, # void* benutzerdaten); @@ -167,7 +219,7 @@ def self.attach_eric_function(name, params, return_type, original_name = nil) # void* benutzerdaten); callback :log_callback, [:string, :int, :string, :pointer], :void - # ERICAPI_DECL int STDCALL EricRegistriereLogCallback( + # ERICAPI_IMPORT int STDCALL EricRegistriereLogCallback( # EricLogCallback funktion, # uint32_t schreibeEricLogDatei, # void* benutzerdaten); @@ -179,22 +231,28 @@ def self.generate_log_callback(&block) end end - # ERICAPI_DECL EricRueckgabepufferHandle STDCALL EricRueckgabepufferErzeugen(); + # ERICAPI_IMPORT EricRueckgabepufferHandle STDCALL EricRueckgabepufferErzeugen( + # void); attach_eric_function :rueckgabepuffer_erzeugen, [], :pointer - # ERICAPI_DECL int STDCALL EricRueckgabepufferFreigeben(EricRueckgabepufferHandle handle); + # ERICAPI_IMPORT int STDCALL EricRueckgabepufferFreigeben( + # EricRueckgabepufferHandle handle); attach_eric_function :rueckgabepuffer_freigeben, [:pointer], :int - # ERICAPI_DECL const char* STDCALL EricRueckgabepufferInhalt(EricRueckgabepufferHandle handle); + # ERICAPI_IMPORT const char* STDCALL EricRueckgabepufferInhalt( + # EricRueckgabepufferHandle handle); attach_eric_function :rueckgabepuffer_inhalt, [:pointer], :string - # ERICAPI_DECL uint32_t STDCALL EricRueckgabepufferLaenge(EricRueckgabepufferHandle handle); + # ERICAPI_IMPORT uint32_t STDCALL EricRueckgabepufferLaenge( + # EricRueckgabepufferHandle handle); attach_eric_function :rueckgabepuffer_laenge, [:pointer], :uint - # ERICAPI_DECL int STDCALL EricSystemCheck(); + # ERICAPI_IMPORT int STDCALL EricSystemCheck( + # void); attach_eric_function :system_check, [], :int - # ERICAPI_DECL int STDCALL EricVersion(EricRueckgabepufferHandle rueckgabeXmlPuffer); + # ERICAPI_IMPORT int STDCALL EricVersion( + # EricRueckgabepufferHandle rueckgabeXmlPuffer); attach_eric_function :version, [:pointer], :int end end diff --git a/lib/liberic/sdk/configuration.rb b/lib/liberic/sdk/configuration.rb index 033e147..7bd9865 100644 --- a/lib/liberic/sdk/configuration.rb +++ b/lib/liberic/sdk/configuration.rb @@ -1,7 +1,7 @@ module Liberic module SDK module Configuration - LIBERICAPI_VERSION = %w(27.3.2.0) + LIBERICAPI_VERSION = %w(39.2.4.0) ENCODING = 'iso-8859-15' end end diff --git a/lib/liberic/sdk/fehlercodes.rb b/lib/liberic/sdk/fehlercodes.rb index 44dc844..392aff8 100644 --- a/lib/liberic/sdk/fehlercodes.rb +++ b/lib/liberic/sdk/fehlercodes.rb @@ -2,186 +2,234 @@ module Liberic module SDK module Fehlercodes CODES = { - 0 => 'OK', - 610001001 => 'GLOBAL_UNKNOWN', - 610001002 => 'GLOBAL_PRUEF_FEHLER', - 610001007 => 'GLOBAL_FEHLERMELDUNG_NICHT_VORHANDEN', - 610001008 => 'GLOBAL_KEINE_DATEN_VORHANDEN', - 610001013 => 'GLOBAL_NICHT_GENUEGEND_ARBEITSSPEICHER', - 610001014 => 'GLOBAL_DATEI_NICHT_GEFUNDEN', - 610001016 => 'GLOBAL_HERSTELLER_ID_NICHT_ERLAUBT', - 610001017 => 'GLOBAL_ILLEGAL_STATE', - 610001018 => 'GLOBAL_FUNKTION_NICHT_ERLAUBT', - 610001019 => 'GLOBAL_ECHTFALL_NICHT_ERLAUBT', - 610001020 => 'GLOBAL_NO_VERSAND_IN_BETA_VERSION', - 610001025 => 'GLOBAL_TESTMERKER_UNGUELTIG', - 610001026 => 'GLOBAL_DATENSATZ_ZU_GROSS', - 610001027 => 'GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ERLAUBT', - 610001028 => 'GLOBAL_NUR_PORTALZERTIFIKAT_ERLAUBT', - 610001029 => 'GLOBAL_ABRUFCODE_NICHT_ERLAUBT', - 610001030 => 'GLOBAL_ERROR_XML_CREATE', - 610001031 => 'GLOBAL_TEXTPUFFERGROESSE_FIX', - 610001032 => 'GLOBAL_INTERNER_FEHLER', - 610001033 => 'GLOBAL_ARITHMETIKFEHLER', - 610001034 => 'GLOBAL_STEUERNUMMER_UNGUELTIG', - 610001035 => 'GLOBAL_STEUERNUMMER_FALSCHE_LAENGE', - 610001036 => 'GLOBAL_STEUERNUMMER_NICHT_NUMERISCH', - 610001037 => 'GLOBAL_LANDESNUMMER_UNBEKANNT', - 610001038 => 'GLOBAL_BUFANR_UNBEKANNT', - 610001039 => 'GLOBAL_LANDESNUMMER_BUFANR', - 610001040 => 'GLOBAL_PUFFER_ZUGRIFFSKONFLIKT', - 610001041 => 'GLOBAL_PUFFER_UEBERLAUF', - 610001042 => 'GLOBAL_DATENARTVERSION_UNBEKANNT', - 610001044 => 'GLOBAL_DATENARTVERSION_XML_INKONSISTENT', - 610001045 => 'GLOBAL_COMMONDATA_NICHT_VERFUEGBAR', - 610001046 => 'GLOBAL_LOG_EXCEPTION', - 610001047 => 'GLOBAL_TRANSPORTSCHLUESSEL_NICHT_ERLAUBT', - 610001051 => 'GLOBAL_VORSATZ_UNGUELTIG', - 610001102 => 'GLOBAL_UNKNOWN_PARAMETER_ERROR', - 610001108 => 'GLOBAL_CHECK_CORRUPTED_NDS', - 610001206 => 'GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ANGEGEBEN', - 610001208 => 'GLOBAL_SEND_AUTH_PIN_NICHT_ANGEGEBEN_RESERVIERT', - 610001209 => 'GLOBAL_SEND_FLAG_MEHR_ALS_EINES', - 610001218 => 'GLOBAL_UNGUELTIGE_FLAG_KOMBINATION', - 610001220 => 'GLOBAL_ERSTE_SEITE_DRUCK_NICHT_UNTERSTUETZT', - 610001222 => 'GLOBAL_UNGUELTIGER_PARAMETER', - 610001223 => 'GLOBAL_EINGANGSDATENSATZ_ZU_GROSS', - 610001224 => 'GLOBAL_DRUCK_FUER_VERFAHREN_NICHT_ERLAUBT', - 610001225 => 'GLOBAL_VERSAND_ART_NICHT_UNTERSTUETZT', - 610001226 => 'GLOBAL_UNGUELTIGE_PARAMETER_VERSION', - 610001227 => 'GLOBAL_TRANSFERHANDLE', - 610001228 => 'GLOBAL_PLUGININITIALISIERUNG', - 610001229 => 'GLOBAL_INKOMPATIBLE_VERSIONEN', - 610001230 => 'GLOBAL_VERSCHLUESSELUNGSVERFAHREN_NICHT_UNTERSTUETZT', - 610001400 => 'GLOBAL_UTI_ERROR', - 610001404 => 'GLOBAL_UTI_COUNTRY_NOT_SUPPORTED', - 610001501 => 'GLOBAL_IBAN_FORMALER_FEHLER', - 610001502 => 'GLOBAL_IBAN_LAENDERCODE_FEHLER', - 610001503 => 'GLOBAL_IBAN_LANDESFORMAT_FEHLER', - 610001504 => 'GLOBAL_IBAN_PRUEFZIFFER_FEHLER', - 610001510 => 'GLOBAL_BIC_FORMALER_FEHLER', - 610001511 => 'GLOBAL_BIC_LAENDERCODE_FEHLER', - 610001519 => 'GLOBAL_ZULASSUNGSNUMMER_ZU_LANG', - 610001520 => 'GLOBAL_IDNUMMER_LAENGE_UNGUELTIG', - 610001521 => 'GLOBAL_IDNUMMER_NICHT_NUMERISCH', - 610001522 => 'GLOBAL_IDNUMMER_NICHT_GENAU_EINE_ZIFFER_DOPPELT', - 610001523 => 'GLOBAL_IDNUMMER_ERSTE_ZIFFER_UNGUELTIG', - 610001524 => 'GLOBAL_IDNUMMER_PRUEFZIFFER_UNGUELTIG', - 610001851 => 'GLOBAL_UPDATE_NECESSARY', - 610001860 => 'GLOBAL_EINSTELLUNG_NAME_UNGUELTIG', - 610001861 => 'GLOBAL_EINSTELLUNG_WERT_UNGUELTIG', - 610001862 => 'GLOBAL_ERR_DEKODIEREN', - 610001863 => 'GLOBAL_FUNKTION_NICHT_UNTERSTUETZT', - 610001865 => 'GLOBAL_NUTZDATENTICKETS_NICHT_EINDEUTIG', - 610001866 => 'GLOBAL_NUTZDATENHEADERVERSIONEN_UNEINHEITLICH', - 610001867 => 'GLOBAL_BUNDESLAENDER_UNEINHEITLICH', - 610001868 => 'GLOBAL_ZEITRAEUME_UNEINHEITLICH', - 610001869 => 'GLOBAL_NUTZDATENHEADER_EMPFAENGER_NICHT_KORREKT', + 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 => 'TRANSFER_COM_ERROR', - 610101201 => 'TRANSFER_VORGANG_NICHT_UNTERSTUETZT', - 610101210 => 'TRANSFER_ERR_XML_THEADER', - 610101251 => 'TRANSFER_ERR_PARAM', - 610101253 => 'TRANSFER_ERR_DATENTEILENDNOTFOUND', - 610101255 => 'TRANSFER_ERR_BEGINDATENLIEFERANT', - 610101256 => 'TRANSFER_ERR_ENDDATENLIEFERANT', - 610101257 => 'TRANSFER_ERR_BEGINTRANSPORTSCHLUESSEL', - 610101258 => 'TRANSFER_ERR_ENDTRANSPORTSCHLUESSEL', - 610101259 => 'TRANSFER_ERR_BEGINDATENGROESSE', - 610101260 => 'TRANSFER_ERR_ENDDATENGROESSE', - 610101271 => 'TRANSFER_ERR_SEND', - 610101274 => 'TRANSFER_ERR_NOTENCRYPTED', - 610101276 => 'TRANSFER_ERR_PROXYCONNECT', - 610101278 => 'TRANSFER_ERR_CONNECTSERVER', - 610101279 => 'TRANSFER_ERR_NORESPONSE', - 610101280 => 'TRANSFER_ERR_PROXYAUTH', - 610101282 => 'TRANSFER_ERR_SEND_INIT', - 610101283 => 'TRANSFER_ERR_TIMEOUT', - 610101291 => 'TRANSFER_ERR_OTHER', - 610101292 => 'TRANSFER_ERR_XML_NHEADER', - 610101293 => 'TRANSFER_ERR_XML_ENCODING', - 610101294 => 'TRANSFER_ERR_ENDSIGUSER', - 610101295 => 'TRANSFER_ERR_XMLTAG_NICHT_GEFUNDEN', - 610101297 => 'TRANSFER_ERR_DATENTEILFEHLER', + 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 => 'CRYPT_ERROR_CREATE_KEY', - 610201101 => 'CRYPT_E_INVALID_HANDLE', - 610201102 => 'CRYPT_E_MAX_SESSION', - 610201103 => 'CRYPT_E_BUSY', - 610201104 => 'CRYPT_E_OUT_OF_MEM', - 610201105 => 'CRYPT_E_PSE_PATH', - 610201106 => 'CRYPT_E_PIN_WRONG', - 610201107 => 'CRYPT_E_PIN_LOCKED', - 610201108 => 'CRYPT_E_P7_READ', - 610201109 => 'CRYPT_E_P7_DECODE', - 610201110 => 'CRYPT_E_P7_RECIPIENT', - 610201111 => 'CRYPT_E_P12_READ', - 610201112 => 'CRYPT_E_P12_DECODE', - 610201113 => 'CRYPT_E_P12_SIG_KEY', - 610201114 => 'CRYPT_E_P12_ENC_KEY', - 610201115 => 'CRYPT_E_P11_SIG_KEY', - 610201116 => 'CRYPT_E_P11_ENC_KEY', - 610201117 => 'CRYPT_E_XML_PARSE', - 610201118 => 'CRYPT_E_XML_SIG_ADD', - 610201119 => 'CRYPT_E_XML_SIG_TAG', - 610201120 => 'CRYPT_E_XML_SIG_SIGN', - 610201121 => 'CRYPT_E_ENCODE_UNKNOWN', - 610201122 => 'CRYPT_E_ENCODE_ERROR', - 610201123 => 'CRYPT_E_XML_INIT', - 610201124 => 'CRYPT_E_ENCRYPT', - 610201125 => 'CRYPT_E_DECRYPT', - 610201126 => 'CRYPT_E_P11_SLOT_EMPTY', - 610201127 => 'CRYPT_E_NO_SIG_ENC_KEY', - 610201144 => 'CRYPT_E_TOKEN_TYPE_MISMATCH', - 610201145 => 'CRYPT_E_TOKEN_UNKNOWN', - 610201200 => 'CRYPT_ZERTIFIKAT', - 610201201 => 'CRYPT_SIGNATUR', - 610201202 => 'CRYPT_PSE_PFAD', - 610201203 => 'CRYPT_NICHT_UNTERSTUETZTES_PSE_FORMAT', - 610201205 => 'CRYPT_PIN_BENOETIGT', - 610201206 => 'CRYPT_PIN_STAERKE_NICHT_AUSREICHEND', - 610201208 => 'CRYPT_E_INTERN', - 610201209 => 'CRYPT_ZERTIFIKATSPFAD_KEIN_VERZEICHNIS', - 610201210 => 'CRYPT_ZERTIFIKATSDATEI_EXISTIERT_BEREITS', - 610201211 => 'CRYPT_PIN_ENTHAELT_UNGUELTIGE_ZEICHEN', - 610201212 => 'CRYPT_E_INVALID_PARAM_ABC', - 610201213 => 'CRYPT_CORRUPTED', + 610201016 => 'ERIC_CRYPT_ERROR_CREATE_KEY', + 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', + 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', - 610301001 => 'IO_FEHLER', - 610301005 => 'IO_DATEI_INKORREKT', - 610301006 => 'IO_PARSE_FEHLER', - 610301007 => 'IO_NDS_GENERIERUNG_FEHLGESCHLAGEN', - 610301010 => 'IO_MASTERDATENSERVICE_NICHT_VERFUEGBAR', - 610301014 => 'IO_STEUERZEICHEN_IM_NDS', - 610301031 => 'IO_VERSIONSINFORMATIONEN_NICHT_GEFUNDEN', - 610301104 => 'IO_FALSCHES_VERFAHREN', - 610301105 => 'IO_READER_MEHRFACHE_STEUERFAELLE', - 610301106 => 'IO_READER_UNERWARTETE_ELEMENTE', - 610301107 => 'IO_READER_FORMALE_FEHLER', - 610301108 => 'IO_READER_FALSCHES_ENCODING', - 610301109 => 'IO_READER_MEHRFACHE_NUTZDATEN_ELEMENTE', - 610301110 => 'IO_READER_MEHRFACHE_NUTZDATENBLOCK_ELEMENTE', - 610301111 => 'IO_UNBEKANNTE_DATENART', - 610301114 => 'IO_READER_UNTERSACHBEREICH_UNGUELTIG', - 610301115 => 'IO_READER_ZU_VIELE_NUTZDATENBLOCK_ELEMENTE', - 610301150 => 'IO_READER_STEUERZEICHEN_IM_TRANSFERHEADER', - 610301151 => 'IO_READER_STEUERZEICHEN_IM_NUTZDATENHEADER', - 610301152 => 'IO_READER_STEUERZEICHEN_IN_DEN_NUTZDATEN', - 610301200 => 'IO_READER_SCHEMA_VALIDIERUNGSFEHLER', - 610301201 => 'IO_READER_UNBEKANNTE_XML_ENTITY', - 610301252 => 'IO_DATENTEILNOTFOUND', - 610301253 => 'IO_DATENTEILENDNOTFOUND', - 610301300 => 'IO_UEBERGABEPARAMETER_FEHLERHAFT', + 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', + 610301200 => 'ERIC_IO_READER_SCHEMA_VALIDIERUNGSFEHLER', + 610301201 => 'ERIC_IO_READER_UNBEKANNTE_XML_ENTITY', + 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 => 'PRINT_INTERNER_FEHLER', - 610501002 => 'PRINT_DRUCKVORLAGE_NICHT_GEFUNDEN', - 610501004 => 'PRINT_UNGUELTIGER_DATEI_PFAD', - 610501007 => 'PRINT_INITIALISIERUNG_FEHLERHAFT', - 610501008 => 'PRINT_AUSGABEZIEL_UNBEKANNT', - 610501009 => 'PRINT_ABBRUCH_DRUCKVORBEREITUNG', - 610501010 => 'PRINT_ABBRUCH_GENERIERUNG', - 610501011 => 'PRINT_STEUERFALL_NICHT_UNTERSTUETZT', - 610501012 => 'PRINT_FUSSTEXT_ZU_LANG' + 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' } CODES.each do |value, name| diff --git a/lib/liberic/version.rb b/lib/liberic/version.rb index ecd7a1e..8660081 100644 --- a/lib/liberic/version.rb +++ b/lib/liberic/version.rb @@ -1,3 +1,3 @@ module Liberic - VERSION = '1.0.2' + VERSION = '1.1.0' end diff --git a/liberic.gemspec b/liberic.gemspec index 543e3a9..23080c9 100644 --- a/liberic.gemspec +++ b/liberic.gemspec @@ -27,10 +27,10 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ["lib"] - spec.add_dependency "ffi", "~> 1.9" - spec.add_dependency "nokogiri", "~> 1.6" + spec.add_dependency "ffi", "~> 1.16" + spec.add_dependency "nokogiri", "~> 1.16" - spec.add_development_dependency "bundler", "~> 1.10" - spec.add_development_dependency "rake", "~> 10.0" - spec.add_development_dependency "rspec", "~> 3.3" + spec.add_development_dependency "bundler", "~> 2.5" + spec.add_development_dependency "rake", "~> 13.1" + spec.add_development_dependency "rspec", "~> 3.13" end