liberic 0.1.3 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 3806ba991f49cabfee1a737dd8abb31ae6c75309
4
- data.tar.gz: ed6023e6ae68899f9651c2656e88266dc04d20f8
2
+ SHA256:
3
+ metadata.gz: 5e7deb7e6297685fa161f7503076497a044838f97a7eb7cc0152e4569919217e
4
+ data.tar.gz: 5be4c0aa504af885535e022ea797fadafbba322da364ad49bb79f2aa37096489
5
5
  SHA512:
6
- metadata.gz: f040473e14123084926ceb01fb4f9981e4b3d20a5bcff841aaaa40ffe83e64319debe9ebaefeabc73ec3e55405c1dcb3511d40387cffb2f7db40cac26c34939f
7
- data.tar.gz: 142ecf2bcc3ada592b32e4ef7015a1e48e5a0b511eedb0348b652d682434d7dc1c680fafcf394c0a2be2201a70bf53d5ea4c92da690de17ce0a275dc0890b8eb
6
+ metadata.gz: 127d45ca76db8a8a5478836983762aa7acf69aeee68a2e37a660c3d4c8eae95de1dae6a14375805bfae35ff6e9f9d3c03fe341c31e37e70bda4571b2a75c68d7
7
+ data.tar.gz: 51a34f281440d87d4e7863b057fc472f41293c7b80311780d691dd6bcb44891107ae2ad4bb521e9b52d23cbbf0ccc218b5262dfbfae61edac24f60f8f692f0e8
data/.tool-versions ADDED
@@ -0,0 +1 @@
1
+ ruby 3.3.0
data/CHANGELOG.md ADDED
@@ -0,0 +1,46 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.1.0]
9
+
10
+ Eric now requires a call to an initialization function. This happens
11
+ when the gem is required. However, this is possibly not thread safe
12
+ (no research was done on this).
13
+
14
+ In a single thread context, the gem should be backwards compatible.
15
+
16
+ Names of the error codes (see `Liberic::SDK::Fehlercodes`) have been
17
+ updated according to the constant names used in `eric_fehlercodes.h`
18
+ from the ERiC sources from ERIC 39.
19
+
20
+ So technically this update is not 100% backwards compatible. However, I
21
+ find a bump to 2.0.0 excessive for this release.
22
+
23
+ ### Added
24
+
25
+ - Updated documentation and added a changelog.
26
+ - Added `Liberic::SDK::hole_zertifikat_eigenschaften`
27
+ - Added `Liberic::SDK::initialisiere` and `Liberic::SDK::beende`
28
+
29
+ ### Changed
30
+
31
+ - Updated dependencies of this gem. Since it has been a couple of years
32
+ since the last update, minimum required versions haven't been tested.
33
+ The gem probably also works with Ruby 2.x and older versions of ffi
34
+ and nokogiri.
35
+ - Updated API for ERIC 39 (2023).
36
+ image that will render properly (although in English for all languages)
37
+
38
+ ## [1.0.2] - Prior 2024
39
+
40
+ This gem was originally developed for a company that became later
41
+ wundertax. A [fork of the gem](https://github.com/wundertax/liberic-ruby)
42
+ was maintained by them for a while but has been archived in 2019.
43
+
44
+ Development of [the original version](https://github.com/mpm/liberic-ruby) of
45
+ this gem (where this changelog belongs to) was picked up by me in 2024
46
+ for a different project.
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ ruby '3.3.0'
4
+
3
5
  # Specify your gem's dependencies in liberic.gemspec
4
6
  gemspec
data/README.md CHANGED
@@ -27,7 +27,7 @@ Or install it yourself (not possible yet) as:
27
27
  $ gem install liberic
28
28
 
29
29
  The ERiC library files are not distributed with this gem. They must be
30
- 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).
30
+ 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).
31
31
 
32
32
  Follow the installation instructions from the ERiC documentation.
33
33
 
@@ -40,33 +40,37 @@ include/
40
40
  lib/
41
41
  ```
42
42
 
43
- Currently, the environment variable `ERIC_HOME` needs to be set to this
43
+ Currently, the environment variable `ERIC_HOME_39` needs to be set to this
44
44
  folder or the gem will not find the library files.
45
45
 
46
46
  For example:
47
47
 
48
48
  ```sh
49
- $ export ERIC_HOME=/opt/ERiC-23.3.8.0/Linux-x86_64
49
+ $ export ERIC_HOME_39=/opt/ERiC-39.3.2.0/Linux-x86_64
50
50
  ```
51
51
 
52
52
  ### Additional steps on OS X
53
+
54
+ The following OS X specific information dates back to the first version of this
55
+ library (from 2016). Might be outdated or incorrect by now.
56
+
53
57
  On *Mac OS X* you need to process the libraries to fix the interal paths
54
58
  (credits to @deviantbits):
55
59
 
56
60
  ```
57
- libs=`ls $ERIC_HOME/lib/*.dylib`
58
- plugins=`ls $ERIC_HOME/lib/plugins2/*.dylib`
61
+ libs=`ls $ERIC_HOME_27/lib/*.dylib`
62
+ plugins=`ls $ERIC_HOME_27/lib/plugins2/*.dylib`
59
63
 
60
64
  for target in $libs
61
65
  do
62
66
  for lib in $libs
63
67
  do
64
- install_name_tool -change "@rpath/"`basename $lib` "$ERIC_HOME/lib/"`basename $lib` $target
68
+ install_name_tool -change "@rpath/"`basename $lib` "$ERIC_HOME_27/lib/"`basename $lib` $target
65
69
  done
66
70
 
67
71
  for plugin in $plugins
68
72
  do
69
- install_name_tool -change "@rpath/plugins2/"`basename $plugin` "$ERIC_HOME/lib/plugins2/"`basename $plugin` $target
73
+ install_name_tool -change "@rpath/plugins2/"`basename $plugin` "$ERIC_HOME_27/lib/plugins2/"`basename $plugin` $target
70
74
  done
71
75
  done
72
76
 
@@ -74,7 +78,7 @@ for target in $plugins
74
78
  do
75
79
  for lib in $libs
76
80
  do
77
- install_name_tool -change "@rpath/"`basename $lib` "$ERIC_HOME/lib/"`basename $lib` $target
81
+ install_name_tool -change "@rpath/"`basename $lib` "$ERIC_HOME_27/lib/"`basename $lib` $target
78
82
  done
79
83
  done
80
84
  ```
@@ -82,7 +86,7 @@ done
82
86
  Check your settings by running:
83
87
 
84
88
  ```sh
85
- $ ls $ERIC_HOME/lib/libericapi.*
89
+ $ ls $ERIC_HOME_27/lib/libericapi.*
86
90
  ```
87
91
  This should list you one file with an operating system dependend suffix.
88
92
 
data/lib/liberic/boot.rb CHANGED
@@ -19,7 +19,7 @@ module Liberic
19
19
  File.expand_path("libericapi.#{suffix}", ERIC_LIB_FOLDER)
20
20
  end
21
21
 
22
- ERIC_HOME = ENV['ERIC_HOME'] || raise(InitializationError.new('ERIC_HOME environment variable not found (set it to the path to the ERiC libraries)'))
22
+ 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)'))
23
23
  ERIC_LIB_FOLDER = File.expand_path('lib', ERIC_HOME)
24
24
 
25
25
  def check_eric_version!
@@ -7,7 +7,7 @@ module Liberic
7
7
  extend self
8
8
 
9
9
  def raise_on_error(value)
10
- return value if value == SDK::Fehlercodes::OK
10
+ return value if value == SDK::Fehlercodes::ERIC_OK
11
11
  raise Error.new(SDK::Fehlercodes::CODES[value])
12
12
  end
13
13
 
@@ -85,7 +85,8 @@ module Liberic
85
85
  validate: :validiere,
86
86
  print: :drucke,
87
87
  print_and_submit: :sende,
88
- submit: :sende
88
+ submit: :sende,
89
+ print_and_submit_auth: :sende_auth
89
90
  }
90
91
 
91
92
  def create_print_params(options)
@@ -9,6 +9,7 @@ module Liberic
9
9
  def initialize(response_xml)
10
10
  @response_xml = response_xml
11
11
  @response_dom = Nokogiri::XML(@response_xml)
12
+
12
13
  @libs = @response_dom.xpath('//version:Bibliothek', version: VERSION_NS).map do |lib|
13
14
  fields = Hash[
14
15
  {file: 'Name',
@@ -9,7 +9,7 @@ module Liberic
9
9
  attach_function(name, original_name, params, return_type)
10
10
  end
11
11
 
12
- # ERICAPI_DECL int STDCALL EricBearbeiteVorgang(
12
+ # ERICAPI_IMPORT int STDCALL EricBearbeiteVorgang(
13
13
  # const char* datenpuffer,
14
14
  # const char* datenartVersion,
15
15
  # uint32_t bearbeitungsFlags,
@@ -27,66 +27,83 @@ module Liberic
27
27
  :pointer,
28
28
  :pointer], :int
29
29
 
30
- # ERICAPI_DECL int STDCALL EricChangePassword(const char* psePath, const char* oldPin,
31
- # const char* newPin);
30
+
31
+ # ERICAPI_IMPORT int STDCALL EricBeende(void);
32
+ attach_eric_function :beende, [], :int
33
+
34
+ # ERICAPI_IMPORT int STDCALL EricChangePassword(const byteChar* psePath, const byteChar* oldPin,
35
+ # const byteChar* newPin);
32
36
  attach_eric_function :change_password, [:string, :string, :string], :int
33
37
 
34
- # ERICAPI_DECL int STDCALL EricCheckBuFaNummer(const char* steuernummer);
35
- attach_eric_function :check_bu_fa_nummer, [:string], :int
38
+ # ERICAPI_IMPORT int STDCALL EricPruefeBuFaNummer(const byteChar* steuernummer);
39
+ attach_eric_function :pruefe_bu_fa_nummer, [:string], :int
36
40
 
37
- # ERICAPI_DECL int STDCALL EricCheckXML(const char* xml, const char* datenartVersion,
41
+ # ERICAPI_IMPORT int STDCALL EricCheckXML(const char* xml, const char* datenartVersion,
38
42
  # EricRueckgabepufferHandle fehlertextPuffer);
39
43
  attach_eric_function :check_xml, [:string, :string, :pointer], :int, :EricCheckXML
40
44
 
41
- # ERICAPI_DECL int STDCALL EricCloseHandleToCertificate(EricZertifikatHandle hToken);
45
+ # ERICAPI_IMPORT int STDCALL EricCloseHandleToCertificate(EricZertifikatHandle hToken);
42
46
  attach_eric_function :close_handle_to_certificate, [:uint], :int
43
47
 
44
48
  # TODO
45
- # ERICAPI_DECL int STDCALL EricCreateKey(const char* pin, const char* pfad,
46
- # const eric_zertifikat_parameter_t* zertifikatInfo);
49
+ # ERICAPI_IMPORT int STDCALL EricCreateKey(
50
+ # const byteChar* pin,
51
+ # const byteChar* pfad,
52
+ # const eric_zertifikat_parameter_t* zertifikatInfo);
47
53
  attach_eric_function :create_key, [:string, :string, :pointer], :int
48
54
 
49
- # ERICAPI_DECL int STDCALL EricCreateTH(const char* xml, const char* verfahren,
55
+ # ERICAPI_IMPORT int STDCALL EricCreateTH(const char* xml, const char* verfahren,
50
56
  # const char* datenart, const char* vorgang,
51
57
  # const char* testmerker, const char* herstellerId,
52
58
  # const char* datenLieferant, const char* versionClient,
53
- # const char* publicKey,
59
+ # const byteChar* publicKey,
54
60
  # EricRueckgabepufferHandle xmlRueckgabePuffer);
55
61
  attach_eric_function :create_th, [:string, :string, :string, :string,
56
62
  :string, :string, :string, :string, :string, :pointer], :int, :EricCreateTH
57
63
 
58
- # ERICAPI_DECL int STDCALL EricDekodiereDaten(
64
+ # TODO:
65
+ # ERICAPI_IMPORT int STDCALL EricCreateUUID(
66
+ # EricRueckgabepufferHandle uuidRueckgabePuffer);
67
+
68
+ # ERICAPI_IMPORT int STDCALL EricDekodiereDaten(
59
69
  # EricZertifikatHandle zertifikatHandle,
60
- # const char* pin,
61
- # const char* base64Eingabe,
70
+ # const byteChar* pin,
71
+ # const byteChar* base64Eingabe,
62
72
  # EricRueckgabepufferHandle rueckgabePuffer);
63
73
  attach_eric_function :dekodiere_daten, [:uint, :string, :string, :pointer], :int
64
74
 
65
- # ERICAPI_DECL int STDCALL EricEinstellungAlleZuruecksetzen(void);
66
75
  attach_eric_function :einstellung_alle_zuruecksetzen, [:void], :int
67
76
 
68
- # ERICAPI_DECL int STDCALL EricEinstellungLesen(const char* name,
77
+ # ERICAPI_IMPORT int STDCALL EricEinstellungLesen(
78
+ # const char* name,
69
79
  # EricRueckgabepufferHandle rueckgabePuffer);
70
80
  attach_eric_function :einstellung_lesen, [:string, :pointer], :int
71
81
 
72
- # ERICAPI_DECL int STDCALL EricEinstellungSetzen(const char* name, const char* wert);
82
+ # ERICAPI_IMPORT int STDCALL EricEinstellungSetzen(
83
+ # const char* name,
84
+ # const char* wert);
73
85
  attach_eric_function :einstellung_setzen, [:string, :string], :int
74
86
 
75
- # ERICAPI_DECL int STDCALL EricEinstellungZuruecksetzen(const char* name);
87
+ # ERICAPI_IMPORT int STDCALL EricEinstellungZuruecksetzen(
88
+ # const char* name);
76
89
  attach_eric_function :einstellung_zuruecksetzen, [:string], :int
77
90
 
78
- # ERICAPI_DECL int STDCALL EricEntladePlugins();
91
+ # ERICAPI_IMPORT int STDCALL EricEntladePlugins(
92
+ # void);
79
93
  attach_eric_function :entlade_plugins, [], :int
80
94
 
81
- # ERICAPI_DECL int STDCALL EricFormatStNr(const char* eingabeSteuernummer,
95
+ # ERICAPI_IMPORT int STDCALL EricFormatStNr(
96
+ # const byteChar* eingabeSteuernummer,
82
97
  # EricRueckgabepufferHandle rueckgabePuffer);
83
98
  attach_eric_function :format_st_nr, [:string, :pointer], :int
84
99
 
85
- # ERICAPI_DECL int STDCALL EricGetAuswahlListen (const char* datenartVersion, const char* feldkennung,
100
+ # ERICAPI_IMPORT int STDCALL EricGetAuswahlListen(
101
+ # const char* datenartVersion,
102
+ # const char* feldkennung,
86
103
  # EricRueckgabepufferHandle rueckgabeXmlPuffer);
87
104
  attach_eric_function :get_auswahl_listen, [:string, :string, :pointer], :int
88
105
 
89
- # ERICAPI_DECL int STDCALL EricGetErrormessagesFromXMLAnswer(
106
+ # ERICAPI_IMPORT int STDCALL EricGetErrormessagesFromXMLAnswer(
90
107
  # const char* xml,
91
108
  # EricRueckgabepufferHandle transferticketPuffer,
92
109
  # EricRueckgabepufferHandle returncodeTHPuffer,
@@ -94,75 +111,108 @@ module Liberic
94
111
  # EricRueckgabepufferHandle returncodesUndFehlertexteNDHXmlPuffer);
95
112
  attach_eric_function :get_errormessages_from_xml_answer, [:string, :pointer, :pointer, :pointer, :pointer], :int, :EricGetErrormessagesFromXMLAnswer
96
113
 
97
- # ERICAPI_DECL int STDCALL EricGetHandleToCertificate(EricZertifikatHandle* hToken,
114
+ # ERICAPI_IMPORT int STDCALL EricGetHandleToCertificate(
115
+ # EricZertifikatHandle* hToken,
98
116
  # uint32_t* iInfoPinSupport,
99
- # const char* pathToKeystore);
117
+ # const byteChar* pathToKeystore);
100
118
  attach_eric_function :get_handle_to_certificate, [:pointer, :pointer, :string], :int
101
119
 
102
- # ERICAPI_DECL int STDCALL EricGetPinStatus(EricZertifikatHandle hToken, uint32_t* pinStatus,
120
+ # ERICAPI_IMPORT int STDCALL EricGetPinStatus(
121
+ # EricZertifikatHandle hToken,
122
+ # uint32_t* pinStatus,
103
123
  # uint32_t keyType);
104
124
  attach_eric_function :get_pin_status, [:uint, :pointer, :uint], :int
105
125
 
106
- # ERICAPI_DECL int STDCALL EricGetPublicKey(const eric_verschluesselungs_parameter_t* cryptoParameter,
126
+ # ERICAPI_IMPORT int STDCALL EricGetPublicKey(
127
+ # const eric_verschluesselungs_parameter_t* cryptoParameter,
107
128
  # EricRueckgabepufferHandle rueckgabePuffer);
108
129
  attach_eric_function :get_public_key, [:pointer, :pointer], :int
109
130
 
110
- # ERICAPI_DECL int STDCALL EricHoleFehlerText(int fehlerkode,
131
+ # ERICAPI_IMPORT int STDCALL EricHoleFehlerText(
132
+ # int fehlerkode,
111
133
  # EricRueckgabepufferHandle rueckgabePuffer);
112
134
  attach_eric_function :hole_fehler_text, [:int, :pointer], :int
113
135
 
114
- # ERICAPI_DECL int STDCALL EricHoleFinanzaemter(const char* finanzamtLandNummer,
136
+ # ERICAPI_IMPORT int STDCALL EricHoleFinanzaemter(
137
+ # const byteChar* finanzamtLandNummer,
115
138
  # EricRueckgabepufferHandle rueckgabeXmlPuffer);
116
139
  attach_eric_function :hole_finanzaemter, [:string, :pointer], :int
117
140
 
118
- # ERICAPI_DECL int STDCALL EricHoleFinanzamtLandNummern(EricRueckgabepufferHandle rueckgabeXmlPuffer);
141
+ # ERICAPI_IMPORT int STDCALL EricHoleFinanzamtLandNummern(
142
+ # EricRueckgabepufferHandle rueckgabeXmlPuffer);
119
143
  attach_eric_function :hole_finanzamt_land_nummern, [:pointer], :int
120
144
 
121
145
  # TODO
122
- # ERICAPI_DECL int STDCALL EricHoleFinanzamtsdaten(const char bufaNr[5],
123
- # struct Finanzamtsdaten *finanzamtsdaten);
146
+ # ERICAPI_IMPORT int STDCALL EricHoleFinanzamtsdaten(
147
+ # const byteChar bufaNr[5],
148
+ # EricRueckgabepufferHandle rueckgabeXmlPuffer);
124
149
 
125
- # ERICAPI_DECL int STDCALL EricHoleTestfinanzaemter(EricRueckgabepufferHandle rueckgabeXmlPuffer);
150
+ # ERICAPI_IMPORT int STDCALL EricHoleTestfinanzaemter(
151
+ # EricRueckgabepufferHandle rueckgabeXmlPuffer);
126
152
  attach_eric_function :hole_testfinanzaemter, [:pointer], :int
127
153
 
128
- # ERICAPI_DECL int STDCALL EricHoleZertifikatFingerabdruck(
154
+ # ERICAPI_IMPORT int STDCALL EricHoleZertifikatEigenschaften(
155
+ # EricZertifikatHandle hToken,
156
+ # const byteChar * pin,
157
+ # EricRueckgabepufferHandle rueckgabeXmlPuffer);
158
+ attach_eric_function :hole_zertifikat_eigenschaften, [:uint, :string, :pointer], :int
159
+
160
+ # ERICAPI_IMPORT int STDCALL EricHoleZertifikatFingerabdruck(
129
161
  # const eric_verschluesselungs_parameter_t* cryptoParameter,
130
162
  # EricRueckgabepufferHandle fingerabdruckPuffer,
131
163
  # EricRueckgabepufferHandle signaturPuffer);
132
164
  attach_eric_function :hole_zertifikat_fingerabdruck, [:pointer, :pointer, :pointer], :int
133
165
 
134
- # ERICAPI_DECL int STDCALL EricKonvertiereZertifikat(const char* pin, const char* pse);
135
- attach_eric_function :konvertiere_zertifikat, [:string, :string], :int
166
+ # ERICAPI_IMPORT int STDCALL EricInitialisiere(
167
+ # const byteChar *pluginPfad,
168
+ # const byteChar *logPfad);
169
+ attach_eric_function :initialisiere, [:string, :string], :int
136
170
 
137
- # ERICAPI_DECL int STDCALL EricMakeElsterStnr(const char* steuernrBescheid,
138
- # const char landesnr[2+1],
139
- # const char bundesfinanzamtsnr[4+1],
171
+ # ERICAPI_IMPORT int STDCALL EricMakeElsterStnr(
172
+ # const byteChar* steuernrBescheid,
173
+ # const byteChar landesnr[2+1],
174
+ # const byteChar bundesfinanzamtsnr[4+1],
140
175
  # EricRueckgabepufferHandle steuernrPuffer);
141
176
  # FIXME: non-pointer string
142
177
  attach_eric_function :make_elster_stnr, [:string, :string, :string, :pointer], :int
143
178
 
144
- # ERICAPI_DECL int STDCALL EricPruefeBIC(const char* bic);
179
+ # ERICAPI_IMPORT int STDCALL EricPruefeBIC(
180
+ # const byteChar* bic);
145
181
  attach_eric_function :pruefe_bic, [:string], :int, :EricPruefeBIC
146
182
 
147
- # ERICAPI_DECL int STDCALL EricPruefeIBAN(const char* iban);
183
+ # ERICAPI_IMPORT int STDCALL EricPruefeIBAN(
184
+ # const byteChar* iban);
148
185
  attach_eric_function :pruefe_iban, [:string], :int, :EricPruefeIBAN
149
186
 
150
- # ERICAPI_DECL int STDCALL EricPruefeIdentifikationsMerkmal(const char* steuerId);
187
+ # TODO
188
+ # ERICAPI_IMPORT int STDCALL EricPruefeEWAz(
189
+ # const byteChar* einheitswertAz);
190
+
191
+ # ERICAPI_IMPORT int STDCALL EricPruefeIdentifikationsMerkmal(
192
+ # const byteChar* steuerId);
151
193
  attach_eric_function :pruefe_identifikations_merkmal, [:string], :int
152
194
 
153
- # ERICAPI_DECL int STDCALL EricPruefeSteuernummer(const char* steuernummer);
195
+ # ERICAPI_IMPORT int STDCALL EricPruefeSteuernummer(
196
+ # const byteChar* steuernummer);
154
197
  attach_eric_function :pruefe_steuernummer, [:string], :int
155
198
 
156
199
  # TODO
157
- # ERICAPI_DECL int STDCALL EricRegistriereFortschrittCallback(
200
+ # ERICAPI_IMPORT int STDCALL EricPruefeZertifikatPin(
201
+ # const byteChar *pathToKeystore,
202
+ # const byteChar *pin,
203
+ # uint32_t keyType);
204
+
205
+ # TODO
206
+ # ERICAPI_IMPORT int STDCALL EricRegistriereFortschrittCallback(
158
207
  # EricFortschrittCallback funktion,
159
208
  # void* benutzerdaten);
160
209
 
161
210
  # TODO
162
- # ERICAPI_DECL int STDCALL EricRegistriereGlobalenFortschrittCallback(
211
+ # ERICAPI_IMPORT int STDCALL EricRegistriereGlobalenFortschrittCallback(
163
212
  # EricFortschrittCallback funktion,
164
213
  # void* benutzerdaten);
165
214
 
215
+ # check if this still works...
166
216
  # typedef void(STDCALL *EricLogCallback)(
167
217
  # const char* kategorie,
168
218
  # eric_log_level_t loglevel,
@@ -170,7 +220,7 @@ module Liberic
170
220
  # void* benutzerdaten);
171
221
  callback :log_callback, [:string, :int, :string, :pointer], :void
172
222
 
173
- # ERICAPI_DECL int STDCALL EricRegistriereLogCallback(
223
+ # ERICAPI_IMPORT int STDCALL EricRegistriereLogCallback(
174
224
  # EricLogCallback funktion,
175
225
  # uint32_t schreibeEricLogDatei,
176
226
  # void* benutzerdaten);
@@ -182,22 +232,28 @@ module Liberic
182
232
  end
183
233
  end
184
234
 
185
- # ERICAPI_DECL EricRueckgabepufferHandle STDCALL EricRueckgabepufferErzeugen();
235
+ # ERICAPI_IMPORT EricRueckgabepufferHandle STDCALL EricRueckgabepufferErzeugen(
236
+ # void);
186
237
  attach_eric_function :rueckgabepuffer_erzeugen, [], :pointer
187
238
 
188
- # ERICAPI_DECL int STDCALL EricRueckgabepufferFreigeben(EricRueckgabepufferHandle handle);
239
+ # ERICAPI_IMPORT int STDCALL EricRueckgabepufferFreigeben(
240
+ # EricRueckgabepufferHandle handle);
189
241
  attach_eric_function :rueckgabepuffer_freigeben, [:pointer], :int
190
242
 
191
- # ERICAPI_DECL const char* STDCALL EricRueckgabepufferInhalt(EricRueckgabepufferHandle handle);
243
+ # ERICAPI_IMPORT const char* STDCALL EricRueckgabepufferInhalt(
244
+ # EricRueckgabepufferHandle handle);
192
245
  attach_eric_function :rueckgabepuffer_inhalt, [:pointer], :string
193
246
 
194
- # ERICAPI_DECL uint32_t STDCALL EricRueckgabepufferLaenge(EricRueckgabepufferHandle handle);
247
+ # ERICAPI_IMPORT uint32_t STDCALL EricRueckgabepufferLaenge(
248
+ # EricRueckgabepufferHandle handle);
195
249
  attach_eric_function :rueckgabepuffer_laenge, [:pointer], :uint
196
250
 
197
- # ERICAPI_DECL int STDCALL EricSystemCheck();
251
+ # ERICAPI_IMPORT int STDCALL EricSystemCheck(
252
+ # void);
198
253
  attach_eric_function :system_check, [], :int
199
254
 
200
- # ERICAPI_DECL int STDCALL EricVersion(EricRueckgabepufferHandle rueckgabeXmlPuffer);
255
+ # ERICAPI_IMPORT int STDCALL EricVersion(
256
+ # EricRueckgabepufferHandle rueckgabeXmlPuffer);
201
257
  attach_eric_function :version, [:pointer], :int
202
258
  end
203
259
  end
@@ -1,7 +1,7 @@
1
1
  module Liberic
2
2
  module SDK
3
3
  module Configuration
4
- LIBERICAPI_VERSION = %w(23.2.12.0 23.3.6.0 23.3.8.0 23.4.10.0 24.1.12.0)
4
+ LIBERICAPI_VERSION = %w(39.2.4.0)
5
5
  ENCODING = 'iso-8859-15'
6
6
  end
7
7
  end
@@ -2,186 +2,234 @@ module Liberic
2
2
  module SDK
3
3
  module Fehlercodes
4
4
  CODES = {
5
- 0 => 'OK',
6
- 610001001 => 'GLOBAL_UNKNOWN',
7
- 610001002 => 'GLOBAL_PRUEF_FEHLER',
8
- 610001007 => 'GLOBAL_FEHLERMELDUNG_NICHT_VORHANDEN',
9
- 610001008 => 'GLOBAL_KEINE_DATEN_VORHANDEN',
10
- 610001013 => 'GLOBAL_NICHT_GENUEGEND_ARBEITSSPEICHER',
11
- 610001014 => 'GLOBAL_DATEI_NICHT_GEFUNDEN',
12
- 610001016 => 'GLOBAL_HERSTELLER_ID_NICHT_ERLAUBT',
13
- 610001017 => 'GLOBAL_ILLEGAL_STATE',
14
- 610001018 => 'GLOBAL_FUNKTION_NICHT_ERLAUBT',
15
- 610001019 => 'GLOBAL_ECHTFALL_NICHT_ERLAUBT',
16
- 610001020 => 'GLOBAL_NO_VERSAND_IN_BETA_VERSION',
17
- 610001025 => 'GLOBAL_TESTMERKER_UNGUELTIG',
18
- 610001026 => 'GLOBAL_DATENSATZ_ZU_GROSS',
19
- 610001027 => 'GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ERLAUBT',
20
- 610001028 => 'GLOBAL_NUR_PORTALZERTIFIKAT_ERLAUBT',
21
- 610001029 => 'GLOBAL_ABRUFCODE_NICHT_ERLAUBT',
22
- 610001030 => 'GLOBAL_ERROR_XML_CREATE',
23
- 610001031 => 'GLOBAL_TEXTPUFFERGROESSE_FIX',
24
- 610001032 => 'GLOBAL_INTERNER_FEHLER',
25
- 610001033 => 'GLOBAL_ARITHMETIKFEHLER',
26
- 610001034 => 'GLOBAL_STEUERNUMMER_UNGUELTIG',
27
- 610001035 => 'GLOBAL_STEUERNUMMER_FALSCHE_LAENGE',
28
- 610001036 => 'GLOBAL_STEUERNUMMER_NICHT_NUMERISCH',
29
- 610001037 => 'GLOBAL_LANDESNUMMER_UNBEKANNT',
30
- 610001038 => 'GLOBAL_BUFANR_UNBEKANNT',
31
- 610001039 => 'GLOBAL_LANDESNUMMER_BUFANR',
32
- 610001040 => 'GLOBAL_PUFFER_ZUGRIFFSKONFLIKT',
33
- 610001041 => 'GLOBAL_PUFFER_UEBERLAUF',
34
- 610001042 => 'GLOBAL_DATENARTVERSION_UNBEKANNT',
35
- 610001044 => 'GLOBAL_DATENARTVERSION_XML_INKONSISTENT',
36
- 610001045 => 'GLOBAL_COMMONDATA_NICHT_VERFUEGBAR',
37
- 610001046 => 'GLOBAL_LOG_EXCEPTION',
38
- 610001047 => 'GLOBAL_TRANSPORTSCHLUESSEL_NICHT_ERLAUBT',
39
- 610001051 => 'GLOBAL_VORSATZ_UNGUELTIG',
40
- 610001102 => 'GLOBAL_UNKNOWN_PARAMETER_ERROR',
41
- 610001108 => 'GLOBAL_CHECK_CORRUPTED_NDS',
42
- 610001206 => 'GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ANGEGEBEN',
43
- 610001208 => 'GLOBAL_SEND_AUTH_PIN_NICHT_ANGEGEBEN_RESERVIERT',
44
- 610001209 => 'GLOBAL_SEND_FLAG_MEHR_ALS_EINES',
45
- 610001218 => 'GLOBAL_UNGUELTIGE_FLAG_KOMBINATION',
46
- 610001220 => 'GLOBAL_ERSTE_SEITE_DRUCK_NICHT_UNTERSTUETZT',
47
- 610001222 => 'GLOBAL_UNGUELTIGER_PARAMETER',
48
- 610001223 => 'GLOBAL_EINGANGSDATENSATZ_ZU_GROSS',
49
- 610001224 => 'GLOBAL_DRUCK_FUER_VERFAHREN_NICHT_ERLAUBT',
50
- 610001225 => 'GLOBAL_VERSAND_ART_NICHT_UNTERSTUETZT',
51
- 610001226 => 'GLOBAL_UNGUELTIGE_PARAMETER_VERSION',
52
- 610001227 => 'GLOBAL_TRANSFERHANDLE',
53
- 610001228 => 'GLOBAL_PLUGININITIALISIERUNG',
54
- 610001229 => 'GLOBAL_INKOMPATIBLE_VERSIONEN',
55
- 610001230 => 'GLOBAL_VERSCHLUESSELUNGSVERFAHREN_NICHT_UNTERSTUETZT',
56
- 610001400 => 'GLOBAL_UTI_ERROR',
57
- 610001404 => 'GLOBAL_UTI_COUNTRY_NOT_SUPPORTED',
58
- 610001501 => 'GLOBAL_IBAN_FORMALER_FEHLER',
59
- 610001502 => 'GLOBAL_IBAN_LAENDERCODE_FEHLER',
60
- 610001503 => 'GLOBAL_IBAN_LANDESFORMAT_FEHLER',
61
- 610001504 => 'GLOBAL_IBAN_PRUEFZIFFER_FEHLER',
62
- 610001510 => 'GLOBAL_BIC_FORMALER_FEHLER',
63
- 610001511 => 'GLOBAL_BIC_LAENDERCODE_FEHLER',
64
- 610001519 => 'GLOBAL_ZULASSUNGSNUMMER_ZU_LANG',
65
- 610001520 => 'GLOBAL_IDNUMMER_LAENGE_UNGUELTIG',
66
- 610001521 => 'GLOBAL_IDNUMMER_NICHT_NUMERISCH',
67
- 610001522 => 'GLOBAL_IDNUMMER_NICHT_GENAU_EINE_ZIFFER_DOPPELT',
68
- 610001523 => 'GLOBAL_IDNUMMER_ERSTE_ZIFFER_UNGUELTIG',
69
- 610001524 => 'GLOBAL_IDNUMMER_PRUEFZIFFER_UNGUELTIG',
70
- 610001851 => 'GLOBAL_UPDATE_NECESSARY',
71
- 610001860 => 'GLOBAL_EINSTELLUNG_NAME_UNGUELTIG',
72
- 610001861 => 'GLOBAL_EINSTELLUNG_WERT_UNGUELTIG',
73
- 610001862 => 'GLOBAL_ERR_DEKODIEREN',
74
- 610001863 => 'GLOBAL_FUNKTION_NICHT_UNTERSTUETZT',
75
- 610001865 => 'GLOBAL_NUTZDATENTICKETS_NICHT_EINDEUTIG',
76
- 610001866 => 'GLOBAL_NUTZDATENHEADERVERSIONEN_UNEINHEITLICH',
77
- 610001867 => 'GLOBAL_BUNDESLAENDER_UNEINHEITLICH',
78
- 610001868 => 'GLOBAL_ZEITRAEUME_UNEINHEITLICH',
79
- 610001869 => 'GLOBAL_NUTZDATENHEADER_EMPFAENGER_NICHT_KORREKT',
5
+ 0 => 'ERIC_OK',
6
+ 610001001 => 'ERIC_GLOBAL_UNKNOWN',
7
+ 610001002 => 'ERIC_GLOBAL_PRUEF_FEHLER',
8
+ 610001003 => 'ERIC_GLOBAL_HINWEISE',
9
+ 610001007 => 'ERIC_GLOBAL_FEHLERMELDUNG_NICHT_VORHANDEN',
10
+ 610001008 => 'ERIC_GLOBAL_KEINE_DATEN_VORHANDEN',
11
+ 610001013 => 'ERIC_GLOBAL_NICHT_GENUEGEND_ARBEITSSPEICHER',
12
+ 610001014 => 'ERIC_GLOBAL_DATEI_NICHT_GEFUNDEN',
13
+ 610001016 => 'ERIC_GLOBAL_HERSTELLER_ID_NICHT_ERLAUBT',
14
+ 610001017 => 'ERIC_GLOBAL_ILLEGAL_STATE',
15
+ 610001018 => 'ERIC_GLOBAL_FUNKTION_NICHT_ERLAUBT',
16
+ 610001019 => 'ERIC_GLOBAL_ECHTFALL_NICHT_ERLAUBT',
17
+ 610001020 => 'ERIC_GLOBAL_NO_VERSAND_IN_BETA_VERSION',
18
+ 610001025 => 'ERIC_GLOBAL_TESTMERKER_UNGUELTIG',
19
+ 610001026 => 'ERIC_GLOBAL_DATENSATZ_ZU_GROSS',
20
+ 610001027 => 'ERIC_GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ERLAUBT',
21
+ 610001028 => 'ERIC_GLOBAL_NUR_PORTALZERTIFIKAT_ERLAUBT',
22
+ 610001029 => 'ERIC_GLOBAL_ABRUFCODE_NICHT_ERLAUBT',
23
+ 610001030 => 'ERIC_GLOBAL_ERROR_XML_CREATE',
24
+ 610001031 => 'ERIC_GLOBAL_TEXTPUFFERGROESSE_FIX',
25
+ 610001032 => 'ERIC_GLOBAL_INTERNER_FEHLER',
26
+ 610001033 => 'ERIC_GLOBAL_ARITHMETIKFEHLER',
27
+ 610001034 => 'ERIC_GLOBAL_STEUERNUMMER_UNGUELTIG',
28
+ 610001035 => 'ERIC_GLOBAL_STEUERNUMMER_FALSCHE_LAENGE',
29
+ 610001036 => 'ERIC_GLOBAL_STEUERNUMMER_NICHT_NUMERISCH',
30
+ 610001037 => 'ERIC_GLOBAL_LANDESNUMMER_UNBEKANNT',
31
+ 610001038 => 'ERIC_GLOBAL_BUFANR_UNBEKANNT',
32
+ 610001039 => 'ERIC_GLOBAL_LANDESNUMMER_BUFANR',
33
+ 610001040 => 'ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIKT',
34
+ 610001041 => 'ERIC_GLOBAL_PUFFER_UEBERLAUF',
35
+ 610001042 => 'ERIC_GLOBAL_DATENARTVERSION_UNBEKANNT',
36
+ 610001044 => 'ERIC_GLOBAL_DATENARTVERSION_XML_INKONSISTENT',
37
+ 610001045 => 'ERIC_GLOBAL_COMMONDATA_NICHT_VERFUEGBAR',
38
+ 610001046 => 'ERIC_GLOBAL_LOG_EXCEPTION',
39
+ 610001047 => 'ERIC_GLOBAL_TRANSPORTSCHLUESSEL_NICHT_ERLAUBT',
40
+ 610001048 => 'ERIC_GLOBAL_OEFFENTLICHER_SCHLUESSEL_UNGUELTIG',
41
+ 610001049 => 'ERIC_GLOBAL_TRANSPORTSCHLUESSEL_TYP_FALSCH',
42
+ 610001050 => 'ERIC_GLOBAL_PUFFER_UNGLEICHER_INSTANZ',
43
+ 610001051 => 'ERIC_GLOBAL_VORSATZ_UNGUELTIG',
44
+ 610001053 => 'ERIC_GLOBAL_DATEIZUGRIFF_VERWEIGERT',
45
+ 610001080 => 'ERIC_GLOBAL_UNGUELTIGE_INSTANZ',
46
+ 610001081 => 'ERIC_GLOBAL_NICHT_INITIALISIERT',
47
+ 610001082 => 'ERIC_GLOBAL_MEHRFACHE_INITIALISIERUNG',
48
+ 610001083 => 'ERIC_GLOBAL_FEHLER_INITIALISIERUNG',
49
+ 610001102 => 'ERIC_GLOBAL_UNKNOWN_PARAMETER_ERROR',
50
+ 610001108 => 'ERIC_GLOBAL_CHECK_CORRUPTED_NDS',
51
+ 610001206 => 'ERIC_GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ANGEGEBEN',
52
+ 610001209 => 'ERIC_GLOBAL_SEND_FLAG_MEHR_ALS_EINES',
53
+ 610001218 => 'ERIC_GLOBAL_UNGUELTIGE_FLAG_KOMBINATION',
54
+ 610001220 => 'ERIC_GLOBAL_ERSTE_SEITE_DRUCK_NICHT_UNTERSTUETZT',
55
+ 610001222 => 'ERIC_GLOBAL_UNGUELTIGER_PARAMETER',
56
+ 610001224 => 'ERIC_GLOBAL_DRUCK_FUER_VERFAHREN_NICHT_ERLAUBT',
57
+ 610001225 => 'ERIC_GLOBAL_VERSAND_ART_NICHT_UNTERSTUETZT',
58
+ 610001226 => 'ERIC_GLOBAL_UNGUELTIGE_PARAMETER_VERSION',
59
+ 610001227 => 'ERIC_GLOBAL_TRANSFERHANDLE',
60
+ 610001228 => 'ERIC_GLOBAL_PLUGININITIALISIERUNG',
61
+ 610001229 => 'ERIC_GLOBAL_INKOMPATIBLE_VERSIONEN',
62
+ 610001230 => 'ERIC_GLOBAL_VERSCHLUESSELUNGSVERFAHREN_NICHT_UNTERSTUETZT',
63
+ 610001231 => 'ERIC_GLOBAL_MEHRFACHAUFRUFE_NICHT_UNTERSTUETZT',
64
+ 610001404 => 'ERIC_GLOBAL_UTI_COUNTRY_NOT_SUPPORTED',
65
+ 610001501 => 'ERIC_GLOBAL_IBAN_FORMALER_FEHLER',
66
+ 610001502 => 'ERIC_GLOBAL_IBAN_LAENDERCODE_FEHLER',
67
+ 610001503 => 'ERIC_GLOBAL_IBAN_LANDESFORMAT_FEHLER',
68
+ 610001504 => 'ERIC_GLOBAL_IBAN_PRUEFZIFFER_FEHLER',
69
+ 610001510 => 'ERIC_GLOBAL_BIC_FORMALER_FEHLER',
70
+ 610001511 => 'ERIC_GLOBAL_BIC_LAENDERCODE_FEHLER',
71
+ 610001519 => 'ERIC_GLOBAL_ZULASSUNGSNUMMER_ZU_LANG',
72
+ 610001525 => 'ERIC_GLOBAL_IDNUMMER_UNGUELTIG',
73
+ 610001526 => 'ERIC_GLOBAL_NULL_PARAMETER',
74
+ 610001527 => 'ERIC_GLOBAL_EWAZ_UNGUELTIG',
75
+ 610001528 => 'ERIC_GLOBAL_EWAZ_LANDESKUERZEL_UNBEKANNT',
76
+ 610001851 => 'ERIC_GLOBAL_UPDATE_NECESSARY',
77
+ 610001860 => 'ERIC_GLOBAL_EINSTELLUNG_NAME_UNGUELTIG',
78
+ 610001861 => 'ERIC_GLOBAL_EINSTELLUNG_WERT_UNGUELTIG',
79
+ 610001862 => 'ERIC_GLOBAL_ERR_DEKODIEREN',
80
+ 610001863 => 'ERIC_GLOBAL_FUNKTION_NICHT_UNTERSTUETZT',
81
+ 610001865 => 'ERIC_GLOBAL_NUTZDATENTICKETS_NICHT_EINDEUTIG',
82
+ 610001866 => 'ERIC_GLOBAL_NUTZDATENHEADERVERSIONEN_UNEINHEITLICH',
83
+ 610001867 => 'ERIC_GLOBAL_BUNDESLAENDER_UNEINHEITLICH',
84
+ 610001868 => 'ERIC_GLOBAL_ZEITRAEUME_UNEINHEITLICH',
85
+ 610001869 => 'ERIC_GLOBAL_NUTZDATENHEADER_EMPFAENGER_NICHT_KORREKT',
80
86
 
81
- 610101200 => 'TRANSFER_COM_ERROR',
82
- 610101201 => 'TRANSFER_VORGANG_NICHT_UNTERSTUETZT',
83
- 610101210 => 'TRANSFER_ERR_XML_THEADER',
84
- 610101251 => 'TRANSFER_ERR_PARAM',
85
- 610101253 => 'TRANSFER_ERR_DATENTEILENDNOTFOUND',
86
- 610101255 => 'TRANSFER_ERR_BEGINDATENLIEFERANT',
87
- 610101256 => 'TRANSFER_ERR_ENDDATENLIEFERANT',
88
- 610101257 => 'TRANSFER_ERR_BEGINTRANSPORTSCHLUESSEL',
89
- 610101258 => 'TRANSFER_ERR_ENDTRANSPORTSCHLUESSEL',
90
- 610101259 => 'TRANSFER_ERR_BEGINDATENGROESSE',
91
- 610101260 => 'TRANSFER_ERR_ENDDATENGROESSE',
92
- 610101271 => 'TRANSFER_ERR_SEND',
93
- 610101274 => 'TRANSFER_ERR_NOTENCRYPTED',
94
- 610101276 => 'TRANSFER_ERR_PROXYCONNECT',
95
- 610101278 => 'TRANSFER_ERR_CONNECTSERVER',
96
- 610101279 => 'TRANSFER_ERR_NORESPONSE',
97
- 610101280 => 'TRANSFER_ERR_PROXYAUTH',
98
- 610101282 => 'TRANSFER_ERR_SEND_INIT',
99
- 610101283 => 'TRANSFER_ERR_TIMEOUT',
100
- 610101291 => 'TRANSFER_ERR_OTHER',
101
- 610101292 => 'TRANSFER_ERR_XML_NHEADER',
102
- 610101293 => 'TRANSFER_ERR_XML_ENCODING',
103
- 610101294 => 'TRANSFER_ERR_ENDSIGUSER',
104
- 610101295 => 'TRANSFER_ERR_XMLTAG_NICHT_GEFUNDEN',
105
- 610101297 => 'TRANSFER_ERR_DATENTEILFEHLER',
87
+ 610101200 => 'ERIC_TRANSFER_COM_ERROR',
88
+ 610101201 => 'ERIC_TRANSFER_VORGANG_NICHT_UNTERSTUETZT',
89
+ 610101210 => 'ERIC_TRANSFER_ERR_XML_THEADER',
90
+ 610101251 => 'ERIC_TRANSFER_ERR_PARAM',
91
+ 610101253 => 'ERIC_TRANSFER_ERR_DATENTEILENDNOTFOUND',
92
+ 610101255 => 'ERIC_TRANSFER_ERR_BEGINDATENLIEFERANT',
93
+ 610101256 => 'ERIC_TRANSFER_ERR_ENDDATENLIEFERANT',
94
+ 610101257 => 'ERIC_TRANSFER_ERR_BEGINTRANSPORTSCHLUESSEL',
95
+ 610101258 => 'ERIC_TRANSFER_ERR_ENDTRANSPORTSCHLUESSEL',
96
+ 610101259 => 'ERIC_TRANSFER_ERR_BEGINDATENGROESSE',
97
+ 610101260 => 'ERIC_TRANSFER_ERR_ENDDATENGROESSE',
98
+ 610101271 => 'ERIC_TRANSFER_ERR_SEND',
99
+ 610101274 => 'ERIC_TRANSFER_ERR_NOTENCRYPTED',
100
+ 610101276 => 'ERIC_TRANSFER_ERR_PROXYCONNECT',
101
+ 610101278 => 'ERIC_TRANSFER_ERR_CONNECTSERVER',
102
+ 610101279 => 'ERIC_TRANSFER_ERR_NORESPONSE',
103
+ 610101280 => 'ERIC_TRANSFER_ERR_PROXYAUTH',
104
+ 610101282 => 'ERIC_TRANSFER_ERR_SEND_INIT',
105
+ 610101283 => 'ERIC_TRANSFER_ERR_TIMEOUT',
106
+ 610101284 => 'ERIC_TRANSFER_ERR_PROXYPORT_INVALID',
107
+ 610101291 => 'ERIC_TRANSFER_ERR_OTHER',
108
+ 610101292 => 'ERIC_TRANSFER_ERR_XML_NHEADER',
109
+ 610101293 => 'ERIC_TRANSFER_ERR_XML_ENCODING',
110
+ 610101294 => 'ERIC_TRANSFER_ERR_ENDSIGUSER',
111
+ 610101295 => 'ERIC_TRANSFER_ERR_XMLTAG_NICHT_GEFUNDEN',
112
+ 610101297 => 'ERIC_TRANSFER_ERR_DATENTEILFEHLER',
113
+ 610101500 => 'ERIC_TRANSFER_EID_ZERTIFIKATFEHLER',
114
+ 610101510 => 'ERIC_TRANSFER_EID_KEINKONTO',
115
+ 610101511 => 'ERIC_TRANSFER_EID_IDNRNICHTEINDEUTIG',
116
+ 610101512 => 'ERIC_TRANSFER_EID_SERVERFEHLER',
117
+ 610101520 => 'ERIC_TRANSFER_EID_KEINCLIENT',
118
+ 610101521 => 'ERIC_TRANSFER_EID_CLIENTFEHLER',
119
+ 610101522 => 'ERIC_TRANSFER_EID_FEHLENDEFELDER',
120
+ 610101523 => 'ERIC_TRANSFER_EID_IDENTIFIKATIONABGEBROCHEN',
121
+ 610101524 => 'ERIC_TRANSFER_EID_NPABLOCKIERT',
106
122
 
107
- 610201016 => 'CRYPT_ERROR_CREATE_KEY',
108
- 610201101 => 'CRYPT_E_INVALID_HANDLE',
109
- 610201102 => 'CRYPT_E_MAX_SESSION',
110
- 610201103 => 'CRYPT_E_BUSY',
111
- 610201104 => 'CRYPT_E_OUT_OF_MEM',
112
- 610201105 => 'CRYPT_E_PSE_PATH',
113
- 610201106 => 'CRYPT_E_PIN_WRONG',
114
- 610201107 => 'CRYPT_E_PIN_LOCKED',
115
- 610201108 => 'CRYPT_E_P7_READ',
116
- 610201109 => 'CRYPT_E_P7_DECODE',
117
- 610201110 => 'CRYPT_E_P7_RECIPIENT',
118
- 610201111 => 'CRYPT_E_P12_READ',
119
- 610201112 => 'CRYPT_E_P12_DECODE',
120
- 610201113 => 'CRYPT_E_P12_SIG_KEY',
121
- 610201114 => 'CRYPT_E_P12_ENC_KEY',
122
- 610201115 => 'CRYPT_E_P11_SIG_KEY',
123
- 610201116 => 'CRYPT_E_P11_ENC_KEY',
124
- 610201117 => 'CRYPT_E_XML_PARSE',
125
- 610201118 => 'CRYPT_E_XML_SIG_ADD',
126
- 610201119 => 'CRYPT_E_XML_SIG_TAG',
127
- 610201120 => 'CRYPT_E_XML_SIG_SIGN',
128
- 610201121 => 'CRYPT_E_ENCODE_UNKNOWN',
129
- 610201122 => 'CRYPT_E_ENCODE_ERROR',
130
- 610201123 => 'CRYPT_E_XML_INIT',
131
- 610201124 => 'CRYPT_E_ENCRYPT',
132
- 610201125 => 'CRYPT_E_DECRYPT',
133
- 610201126 => 'CRYPT_E_P11_SLOT_EMPTY',
134
- 610201127 => 'CRYPT_E_NO_SIG_ENC_KEY',
135
- 610201144 => 'CRYPT_E_TOKEN_TYPE_MISMATCH',
136
- 610201145 => 'CRYPT_E_TOKEN_UNKNOWN',
137
- 610201200 => 'CRYPT_ZERTIFIKAT',
138
- 610201201 => 'CRYPT_SIGNATUR',
139
- 610201202 => 'CRYPT_PSE_PFAD',
140
- 610201203 => 'CRYPT_NICHT_UNTERSTUETZTES_PSE_FORMAT',
141
- 610201205 => 'CRYPT_PIN_BENOETIGT',
142
- 610201206 => 'CRYPT_PIN_STAERKE_NICHT_AUSREICHEND',
143
- 610201208 => 'CRYPT_E_INTERN',
144
- 610201209 => 'CRYPT_ZERTIFIKATSPFAD_KEIN_VERZEICHNIS',
145
- 610201210 => 'CRYPT_ZERTIFIKATSDATEI_EXISTIERT_BEREITS',
146
- 610201211 => 'CRYPT_PIN_ENTHAELT_UNGUELTIGE_ZEICHEN',
147
- 610201212 => 'CRYPT_E_INVALID_PARAM_ABC',
148
- 610201213 => 'CRYPT_CORRUPTED',
123
+ 610201016 => 'ERIC_CRYPT_ERROR_CREATE_KEY',
124
+ 610201101 => 'ERIC_CRYPT_E_INVALID_HANDLE',
125
+ 610201102 => 'ERIC_CRYPT_E_MAX_SESSION',
126
+ 610201103 => 'ERIC_CRYPT_E_BUSY',
127
+ 610201104 => 'ERIC_CRYPT_E_OUT_OF_MEM',
128
+ 610201105 => 'ERIC_CRYPT_E_PSE_PATH',
129
+ 610201106 => 'ERIC_CRYPT_E_PIN_WRONG',
130
+ 610201107 => 'ERIC_CRYPT_E_PIN_LOCKED',
131
+ 610201108 => 'ERIC_CRYPT_E_P7_READ',
132
+ 610201109 => 'ERIC_CRYPT_E_P7_DECODE',
133
+ 610201110 => 'ERIC_CRYPT_E_P7_RECIPIENT',
134
+ 610201111 => 'ERIC_CRYPT_E_P12_READ',
135
+ 610201112 => 'ERIC_CRYPT_E_P12_DECODE',
136
+ 610201113 => 'ERIC_CRYPT_E_P12_SIG_KEY',
137
+ 610201114 => 'ERIC_CRYPT_E_P12_ENC_KEY',
138
+ 610201115 => 'ERIC_CRYPT_E_P11_SIG_KEY',
139
+ 610201116 => 'ERIC_CRYPT_E_P11_ENC_KEY',
140
+ 610201117 => 'ERIC_CRYPT_E_XML_PARSE',
141
+ 610201118 => 'ERIC_CRYPT_E_XML_SIG_ADD',
142
+ 610201119 => 'ERIC_CRYPT_E_XML_SIG_TAG',
143
+ 610201120 => 'ERIC_CRYPT_E_XML_SIG_SIGN',
144
+ 610201121 => 'ERIC_CRYPT_E_ENCODE_UNKNOWN',
145
+ 610201122 => 'ERIC_CRYPT_E_ENCODE_ERROR',
146
+ 610201123 => 'ERIC_CRYPT_E_XML_INIT',
147
+ 610201124 => 'ERIC_CRYPT_E_ENCRYPT',
148
+ 610201125 => 'ERIC_CRYPT_E_DECRYPT',
149
+ 610201126 => 'ERIC_CRYPT_E_P11_SLOT_EMPTY',
150
+ 610201127 => 'ERIC_CRYPT_E_NO_SIG_ENC_KEY',
151
+ 610201128 => 'ERIC_CRYPT_E_LOAD_DLL',
152
+ 610201129 => 'ERIC_CRYPT_E_NO_SERVICE',
153
+ 610201130 => 'ERIC_CRYPT_E_ESICL_EXCEPTION',
154
+ 610201144 => 'ERIC_CRYPT_E_TOKEN_TYPE_MISMATCH',
155
+ 610201146 => 'ERIC_CRYPT_E_P12_CREATE',
156
+ 610201147 => 'ERIC_CRYPT_E_VERIFY_CERT_CHAIN',
157
+ 610201148 => 'ERIC_CRYPT_E_P11_ENGINE_LOADED',
158
+ 610201149 => 'ERIC_CRYPT_E_USER_CANCEL',
159
+ 610201200 => 'ERIC_CRYPT_ZERTIFIKAT',
160
+ 610201201 => 'ERIC_CRYPT_SIGNATUR',
161
+ 610201203 => 'ERIC_CRYPT_NICHT_UNTERSTUETZTES_PSE_FORMAT',
162
+ 610201205 => 'ERIC_CRYPT_PIN_BENOETIGT',
163
+ 610201206 => 'ERIC_CRYPT_PIN_STAERKE_NICHT_AUSREICHEND',
164
+ 610201208 => 'ERIC_CRYPT_E_INTERN',
165
+ 610201209 => 'ERIC_CRYPT_ZERTIFIKATSPFAD_KEIN_VERZEICHNIS',
166
+ 610201210 => 'ERIC_CRYPT_ZERTIFIKATSDATEI_EXISTIERT_BEREITS',
167
+ 610201211 => 'ERIC_CRYPT_PIN_ENTHAELT_UNGUELTIGE_ZEICHEN',
168
+ 610201212 => 'ERIC_CRYPT_E_INVALID_PARAM_ABC',
169
+ 610201213 => 'ERIC_CRYPT_CORRUPTED',
170
+ 610201214 => 'ERIC_CRYPT_EIDKARTE_NICHT_UNTERSTUETZT',
171
+ 610201215 => 'ERIC_CRYPT_E_SC_SLOT_EMPTY',
172
+ 610201216 => 'ERIC_CRYPT_E_SC_NO_APPLET',
173
+ 610201217 => 'ERIC_CRYPT_E_SC_SESSION',
174
+ 610201218 => 'ERIC_CRYPT_E_P11_NO_SIG_CERT',
175
+ 610201219 => 'ERIC_CRYPT_E_P11_INIT_FAILED',
176
+ 610201220 => 'ERIC_CRYPT_E_P11_NO_ENC_CERT',
177
+ 610201221 => 'ERIC_CRYPT_E_P12_NO_SIG_CERT',
178
+ 610201222 => 'ERIC_CRYPT_E_P12_NO_ENC_CERT',
179
+ 610201223 => 'ERIC_CRYPT_E_SC_ENC_KEY',
180
+ 610201224 => 'ERIC_CRYPT_E_SC_NO_SIG_CERT',
181
+ 610201225 => 'ERIC_CRYPT_E_SC_NO_ENC_CERT',
182
+ 610201226 => 'ERIC_CRYPT_E_SC_INIT_FAILED',
183
+ 610201227 => 'ERIC_CRYPT_E_SC_SIG_KEY',
149
184
 
150
- 610301001 => 'IO_FEHLER',
151
- 610301005 => 'IO_DATEI_INKORREKT',
152
- 610301006 => 'IO_PARSE_FEHLER',
153
- 610301007 => 'IO_NDS_GENERIERUNG_FEHLGESCHLAGEN',
154
- 610301010 => 'IO_MASTERDATENSERVICE_NICHT_VERFUEGBAR',
155
- 610301014 => 'IO_STEUERZEICHEN_IM_NDS',
156
- 610301031 => 'IO_VERSIONSINFORMATIONEN_NICHT_GEFUNDEN',
157
- 610301104 => 'IO_FALSCHES_VERFAHREN',
158
- 610301105 => 'IO_READER_MEHRFACHE_STEUERFAELLE',
159
- 610301106 => 'IO_READER_UNERWARTETE_ELEMENTE',
160
- 610301107 => 'IO_READER_FORMALE_FEHLER',
161
- 610301108 => 'IO_READER_FALSCHES_ENCODING',
162
- 610301109 => 'IO_READER_MEHRFACHE_NUTZDATEN_ELEMENTE',
163
- 610301110 => 'IO_READER_MEHRFACHE_NUTZDATENBLOCK_ELEMENTE',
164
- 610301111 => 'IO_UNBEKANNTE_DATENART',
165
- 610301114 => 'IO_READER_UNTERSACHBEREICH_UNGUELTIG',
166
- 610301115 => 'IO_READER_ZU_VIELE_NUTZDATENBLOCK_ELEMENTE',
167
- 610301150 => 'IO_READER_STEUERZEICHEN_IM_TRANSFERHEADER',
168
- 610301151 => 'IO_READER_STEUERZEICHEN_IM_NUTZDATENHEADER',
169
- 610301152 => 'IO_READER_STEUERZEICHEN_IN_DEN_NUTZDATEN',
170
- 610301200 => 'IO_READER_SCHEMA_VALIDIERUNGSFEHLER',
171
- 610301201 => 'IO_READER_UNBEKANNTE_XML_ENTITY',
172
- 610301252 => 'IO_DATENTEILNOTFOUND',
173
- 610301253 => 'IO_DATENTEILENDNOTFOUND',
174
- 610301300 => 'IO_UEBERGABEPARAMETER_FEHLERHAFT',
185
+ 610301001 => 'ERIC_IO_FEHLER',
186
+ 610301005 => 'ERIC_IO_DATEI_INKORREKT',
187
+ 610301006 => 'ERIC_IO_PARSE_FEHLER',
188
+ 610301007 => 'ERIC_IO_NDS_GENERIERUNG_FEHLGESCHLAGEN',
189
+ 610301010 => 'ERIC_IO_MASTERDATENSERVICE_NICHT_VERFUEGBAR',
190
+ 610301014 => 'ERIC_IO_STEUERZEICHEN_IM_NDS',
191
+ 610301031 => 'ERIC_IO_VERSIONSINFORMATIONEN_NICHT_GEFUNDEN',
192
+ 610301104 => 'ERIC_IO_FALSCHES_VERFAHREN',
193
+ 610301105 => 'ERIC_IO_READER_MEHRFACHE_STEUERFAELLE',
194
+ 610301106 => 'ERIC_IO_READER_UNERWARTETE_ELEMENTE',
195
+ 610301107 => 'ERIC_IO_READER_FORMALE_FEHLER',
196
+ 610301108 => 'ERIC_IO_READER_FALSCHES_ENCODING',
197
+ 610301109 => 'ERIC_IO_READER_MEHRFACHE_NUTZDATEN_ELEMENTE',
198
+ 610301110 => 'ERIC_IO_READER_MEHRFACHE_NUTZDATENBLOCK_ELEMENTE',
199
+ 610301111 => 'ERIC_IO_UNBEKANNTE_DATENART',
200
+ 610301114 => 'ERIC_IO_READER_UNTERSACHBEREICH_UNGUELTIG',
201
+ 610301115 => 'ERIC_IO_READER_ZU_VIELE_NUTZDATENBLOCK_ELEMENTE',
202
+ 610301150 => 'ERIC_IO_READER_STEUERZEICHEN_IM_TRANSFERHEADER',
203
+ 610301151 => 'ERIC_IO_READER_STEUERZEICHEN_IM_NUTZDATENHEADER',
204
+ 610301152 => 'ERIC_IO_READER_STEUERZEICHEN_IN_DEN_NUTZDATEN',
205
+ 610301170 => 'ERIC_IO_READER_RABE_FEHLER',
206
+ 610301171 => 'ERIC_IO_READER_KEINE_RABEID',
207
+ 610301172 => 'ERIC_IO_READER_RABEID_UNGUELTIG',
208
+ 610301173 => 'ERIC_IO_READER_RABE_VERIFIKATIONSID_UNGUELTIG',
209
+ 610301174 => 'ERIC_IO_READER_RABE_REFERENZID_UNGUELTIG',
210
+ 610301175 => 'ERIC_IO_READER_RABE_REFERENZID_NICHT_ERLAUBT',
211
+ 610301176 => 'ERIC_IO_READER_RABE_REFERENZIDS_NICHT_EINDEUTIG',
212
+ 610301190 => 'ERIC_IO_READER_ZU_VIELE_ANHAENGE',
213
+ 610301191 => 'ERIC_IO_READER_ANHANG_ZU_GROSS',
214
+ 610301192 => 'ERIC_IO_READER_ANHAENGE_ZU_GROSS',
215
+ 610301200 => 'ERIC_IO_READER_SCHEMA_VALIDIERUNGSFEHLER',
216
+ 610301201 => 'ERIC_IO_READER_UNBEKANNTE_XML_ENTITY',
217
+ 610301252 => 'ERIC_IO_DATENTEILNOTFOUND',
218
+ 610301253 => 'ERIC_IO_DATENTEILENDNOTFOUND',
219
+ 610301300 => 'ERIC_IO_UEBERGABEPARAMETER_FEHLERHAFT',
220
+ 610301400 => 'ERIC_IO_UNGUELTIGE_UTF8_SEQUENZ',
221
+ 610301401 => 'ERIC_IO_UNGUELTIGE_ZEICHEN_IN_PARAMETER',
175
222
 
176
- 610501001 => 'PRINT_INTERNER_FEHLER',
177
- 610501002 => 'PRINT_DRUCKVORLAGE_NICHT_GEFUNDEN',
178
- 610501004 => 'PRINT_UNGUELTIGER_DATEI_PFAD',
179
- 610501007 => 'PRINT_INITIALISIERUNG_FEHLERHAFT',
180
- 610501008 => 'PRINT_AUSGABEZIEL_UNBEKANNT',
181
- 610501009 => 'PRINT_ABBRUCH_DRUCKVORBEREITUNG',
182
- 610501010 => 'PRINT_ABBRUCH_GENERIERUNG',
183
- 610501011 => 'PRINT_STEUERFALL_NICHT_UNTERSTUETZT',
184
- 610501012 => 'PRINT_FUSSTEXT_ZU_LANG'
223
+ 610501001 => 'ERIC_PRINT_INTERNER_FEHLER',
224
+ 610501002 => 'ERIC_PRINT_DRUCKVORLAGE_NICHT_GEFUNDEN',
225
+ 610501004 => 'ERIC_PRINT_UNGUELTIGER_DATEI_PFAD',
226
+ 610501007 => 'ERIC_PRINT_INITIALISIERUNG_FEHLERHAFT',
227
+ 610501008 => 'ERIC_PRINT_AUSGABEZIEL_UNBEKANNT',
228
+ 610501009 => 'ERIC_PRINT_ABBRUCH_DRUCKVORBEREITUNG',
229
+ 610501010 => 'ERIC_PRINT_ABBRUCH_GENERIERUNG',
230
+ 610501011 => 'ERIC_PRINT_STEUERFALL_NICHT_UNTERSTUETZT',
231
+ 610501012 => 'ERIC_PRINT_FUSSTEXT_ZU_LANG',
232
+ 610501015 => 'ERIC_PRINT_PDFCALLBACK'
185
233
  }
186
234
 
187
235
  CODES.each do |value, name|
@@ -35,7 +35,8 @@ module Liberic
35
35
  BearbeitungFlag = enum(
36
36
  :validiere, (1 << 1),
37
37
  :sende, (1 << 2),
38
- :drucke, (1 << 5)
38
+ :drucke, (1 << 5),
39
+ :sende_auth, ('00100110'.to_i(2)) # triggers all three: valiediere, sende and drucke
39
40
  )
40
41
 
41
42
  ERIC_LOG_ERROR = 4
@@ -1,3 +1,3 @@
1
1
  module Liberic
2
- VERSION = '0.1.3'
2
+ VERSION = '1.1.0'
3
3
  end
data/lib/liberic.rb CHANGED
@@ -10,6 +10,8 @@ require 'liberic/process'
10
10
  require 'liberic/config'
11
11
 
12
12
  module Liberic
13
+ SDK::API::initialisiere(nil, nil)
14
+
13
15
  check_eric_version!
14
16
 
15
17
  def config
data/liberic.gemspec CHANGED
@@ -27,10 +27,10 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ["lib"]
29
29
 
30
- spec.add_dependency "ffi", "~> 1.9"
31
- spec.add_dependency "nokogiri", "~> 1.6"
30
+ spec.add_dependency "ffi", "~> 1.16"
31
+ spec.add_dependency "nokogiri", "~> 1.16"
32
32
 
33
- spec.add_development_dependency "bundler", "~> 1.10"
34
- spec.add_development_dependency "rake", "~> 10.0"
35
- spec.add_development_dependency "rspec", "~> 3.3"
33
+ spec.add_development_dependency "bundler", "~> 2.5"
34
+ spec.add_development_dependency "rake", "~> 13.1"
35
+ spec.add_development_dependency "rspec", "~> 3.13"
36
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: liberic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Malte Münchert
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-08-16 00:00:00.000000000 Z
11
+ date: 2024-02-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -16,70 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.9'
19
+ version: '1.16'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.9'
26
+ version: '1.16'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: nokogiri
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.6'
33
+ version: '1.16'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.6'
40
+ version: '1.16'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.10'
47
+ version: '2.5'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.10'
54
+ version: '2.5'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: '13.1'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '10.0'
68
+ version: '13.1'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '3.3'
75
+ version: '3.13'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '3.3'
82
+ version: '3.13'
83
83
  description: Liberic is a ruby wrapper for ERiC, a C library to interact with German
84
84
  Tax Authority's ELSTER service.
85
85
  email:
@@ -90,7 +90,9 @@ extra_rdoc_files: []
90
90
  files:
91
91
  - ".gitignore"
92
92
  - ".rspec"
93
+ - ".tool-versions"
93
94
  - ".travis.yml"
95
+ - CHANGELOG.md
94
96
  - CODE_OF_CONDUCT.md
95
97
  - Gemfile
96
98
  - LICENSE
@@ -136,8 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
138
  - !ruby/object:Gem::Version
137
139
  version: '0'
138
140
  requirements: []
139
- rubyforge_project:
140
- rubygems_version: 2.4.6
141
+ rubygems_version: 3.5.6
141
142
  signing_key:
142
143
  specification_version: 4
143
144
  summary: Ruby bindings for ELSTER/ERiC (German Tax Authority Service)