vacman_controller 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ee4c75fbd20ae09c2c7a03f608ecc2145eff8fd4
4
- data.tar.gz: ff62bbd604f47c2f76cbed4c116e610d182077bf
3
+ metadata.gz: 3d98133ea201d0ae3720517f298c719979a91fee
4
+ data.tar.gz: 1c6ae1f43a4cc27ff8285073ea9d789c0b5c6c62
5
5
  SHA512:
6
- metadata.gz: '0595aa687ce43602703fcf96eb44ca9baae844eb484d75d00730b9360e214a390b441d3d116ebaf7baafc612cf32fc4b62f4d64b921b1bae4fd702e64107890a'
7
- data.tar.gz: 9c61b204c79f9fa891cb1fd94f8ff75b66a8248f53d3a89cb71696b6fae72452a25271cd41dd2795bb6dbd7e8fc72135634a5c453436eb078f8045f4c4bcdcfe
6
+ metadata.gz: 6c7e8cec7e94fab24bad7188374685263192721cf70ba66e751ef73e25dd24dbe0baaaed9e46b7a8d2e5fcc1e9f5055c4058857f85bf458e28297093312948e1
7
+ data.tar.gz: 862c00c0d793e934d9bdb88af6bd7f06ac5cae8264a77a63afd84563f4c642fa9c65a8f5373083fb7e0c4edfa0f126e890f460e2992a147eb7daa4518a09dd88
@@ -255,6 +255,33 @@ static VALUE vacman_set_token_property(VALUE module, VALUE token, VALUE property
255
255
  }
256
256
 
257
257
 
258
+ /*
259
+ * Set token static password
260
+ */
261
+ static VALUE vacman_set_token_pin(VALUE module, VALUE token, VALUE pin) {
262
+ TDigipassBlob dpdata;
263
+
264
+ if (!RB_TYPE_P(pin, T_STRING)) {
265
+ rb_raise(e_vacmanerror, "invalid pin given, requires a string");
266
+ return Qnil;
267
+ }
268
+
269
+ rbhash_to_digipass(token, &dpdata);
270
+
271
+ aat_ascii *passwd = StringValueCStr(pin);
272
+ aat_int32 result = AAL2ChangeStaticPassword(&dpdata, &KernelParms, passwd, passwd);
273
+
274
+ digipass_to_rbhash(&dpdata, token);
275
+
276
+ if (result == 0) {
277
+ return Qtrue;
278
+ } else {
279
+ vacman_raise_error("AAL2ChangeStaticPassword", result);
280
+ return Qnil;
281
+ }
282
+ }
283
+
284
+
258
285
  /*
259
286
  * verify password
260
287
  * this is the main usecase, check the use input for authentication
@@ -354,7 +381,7 @@ static struct kernel_property kernel_properties[] = {
354
381
  { "EventWindow", &KernelParms.EventWindow, 100 }, // Event Window size in nbr of iterations
355
382
  { "HSMSlotId", &KernelParms.HSMSlotId, 0 }, // HSM Slot id uses to store DB and Transport Key
356
383
  };
357
- static int kernel_properties_count = sizeof(kernel_properties)/sizeof(struct kernel_property);
384
+ static size_t kernel_properties_count = sizeof(kernel_properties)/sizeof(struct kernel_property);
358
385
 
359
386
  /*
360
387
  * Get kernel property names
@@ -377,7 +404,7 @@ static VALUE vacman_set_kernel_param(VALUE module, VALUE paramname, VALUE rbval)
377
404
  char *name = StringValueCStr(paramname);
378
405
  int value = rb_fix2int(rbval);
379
406
 
380
- for (int i = 0; i < kernel_properties_count; i++) {
407
+ for (size_t i = 0; i < kernel_properties_count; i++) {
381
408
  if (strcmp(name, kernel_properties[i].name) == 0) {
382
409
  *kernel_properties[i].value = value;
383
410
  return Qtrue;
@@ -395,7 +422,7 @@ static VALUE vacman_set_kernel_param(VALUE module, VALUE paramname, VALUE rbval)
395
422
  static VALUE vacman_get_kernel_param(VALUE module, VALUE paramname) {
396
423
  char *name = StringValueCStr(paramname);
397
424
 
398
- for (int i = 0; i < kernel_properties_count; i++) {
425
+ for (size_t i = 0; i < kernel_properties_count; i++) {
399
426
  if (strcmp(name, kernel_properties[i].name) == 0) {
400
427
  return LONG2FIX(*kernel_properties[i].value);
401
428
  }
@@ -413,7 +440,7 @@ static void init_kernel_params() {
413
440
 
414
441
  KernelParms.ParmCount = 19; /* Number of valid parameters in this list */
415
442
 
416
- for (int i = 0; i < kernel_properties_count; i++) {
443
+ for (size_t i = 0; i < kernel_properties_count; i++) {
417
444
  *kernel_properties[i].value = kernel_properties[i].deflt;
418
445
  }
419
446
  }
@@ -441,6 +468,8 @@ void Init_vacman_controller(void) {
441
468
  rb_define_singleton_method(vacman_module, "get_token_property", vacman_get_token_property, 2);
442
469
  rb_define_singleton_method(vacman_module, "set_token_property", vacman_set_token_property, 3);
443
470
 
471
+ rb_define_singleton_method(vacman_module, "set_token_pin", vacman_set_token_pin, 2);
472
+
444
473
  rb_define_singleton_method(vacman_module, "token_property_names", vacman_get_token_property_names, 0);
445
474
  rb_define_singleton_method(vacman_module, "kernel_property_names", vacman_get_kernel_property_names, 0);
446
475
  }
@@ -149,6 +149,23 @@ module VacmanController
149
149
 
150
150
 
151
151
 
152
+ # Set a token PIN
153
+ #
154
+ # == Parameters:
155
+ # hash::
156
+ # the hash for a specific token (you get these in import)
157
+ # pin::
158
+ # the new PIN. must be a string.
159
+ #
160
+ # possible names:
161
+ #
162
+ #
163
+ def set_token_pin(hash, pin)
164
+ VacmanLowLevel.set_token_pin(hash, pin)
165
+ end
166
+
167
+
168
+
152
169
  # Returns all properties configured for a token
153
170
  #
154
171
  def get_token_all_properties(hash)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vacman_controller
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcus Lankenau