| 503 purple_aes_cipher_set_batch_mode(PurpleCipher *cipher, |
503 purple_aes_cipher_set_batch_mode(PurpleCipher *cipher, |
| 504 PurpleCipherBatchMode mode) |
504 PurpleCipherBatchMode mode) |
| 505 { |
505 { |
| 506 PurpleAESCipherPrivate *priv = PURPLE_AES_CIPHER_GET_PRIVATE(cipher); |
506 PurpleAESCipherPrivate *priv = PURPLE_AES_CIPHER_GET_PRIVATE(cipher); |
| 507 |
507 |
| 508 if (mode == PURPLE_CIPHER_BATCH_MODE_CBC) |
508 if (mode != PURPLE_CIPHER_BATCH_MODE_CBC) { |
| 509 return; |
509 purple_debug_error("cipher-aes", "unsupported batch mode\n"); |
| 510 |
510 priv->failure = TRUE; |
| 511 purple_debug_error("cipher-aes", "unsupported batch mode\n"); |
511 } |
| 512 priv->failure = TRUE; |
512 |
| |
513 g_object_notify(G_OBJECT(cipher), "batch-mode"); |
| 513 } |
514 } |
| 514 |
515 |
| 515 static PurpleCipherBatchMode |
516 static PurpleCipherBatchMode |
| 516 purple_aes_cipher_get_batch_mode(PurpleCipher *cipher) |
517 purple_aes_cipher_get_batch_mode(PurpleCipher *cipher) |
| 517 { |
518 { |
| 588 cipher_class->get_key_size = purple_aes_cipher_get_key_size; |
589 cipher_class->get_key_size = purple_aes_cipher_get_key_size; |
| 589 cipher_class->set_batch_mode = purple_aes_cipher_set_batch_mode; |
590 cipher_class->set_batch_mode = purple_aes_cipher_set_batch_mode; |
| 590 cipher_class->get_batch_mode = purple_aes_cipher_get_batch_mode; |
591 cipher_class->get_batch_mode = purple_aes_cipher_get_batch_mode; |
| 591 cipher_class->get_block_size = purple_aes_cipher_get_block_size; |
592 cipher_class->get_block_size = purple_aes_cipher_get_block_size; |
| 592 |
593 |
| 593 pspec = g_param_spec_enum("batch_mode", "batch_mode", "batch_mode", |
594 pspec = g_param_spec_enum("batch-mode", "batch-mode", "batch-mode", |
| 594 PURPLE_TYPE_CIPHER_BATCH_MODE, 0, |
595 PURPLE_TYPE_CIPHER_BATCH_MODE, 0, |
| 595 G_PARAM_READWRITE); |
596 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); |
| 596 g_object_class_install_property(obj_class, PROP_BATCH_MODE, pspec); |
597 g_object_class_install_property(obj_class, PROP_BATCH_MODE, pspec); |
| 597 |
598 |
| 598 pspec = g_param_spec_string("iv", "iv", "iv", NULL, |
599 pspec = g_param_spec_string("iv", "iv", "iv", NULL, |
| 599 G_PARAM_WRITABLE); |
600 G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS); |
| 600 g_object_class_install_property(obj_class, PROP_IV, pspec); |
601 g_object_class_install_property(obj_class, PROP_IV, pspec); |
| 601 |
602 |
| 602 pspec = g_param_spec_string("key", "key", "key", NULL, |
603 pspec = g_param_spec_string("key", "key", "key", NULL, |
| 603 G_PARAM_WRITABLE); |
604 G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS); |
| 604 g_object_class_install_property(obj_class, PROP_KEY, pspec); |
605 g_object_class_install_property(obj_class, PROP_KEY, pspec); |
| 605 |
606 |
| 606 g_type_class_add_private(klass, sizeof(PurpleAESCipherPrivate)); |
607 g_type_class_add_private(klass, sizeof(PurpleAESCipherPrivate)); |
| 607 } |
608 } |
| 608 |
609 |