diff options
Diffstat (limited to 'src/include/taler_merchantdb_plugin.h')
-rw-r--r-- | src/include/taler_merchantdb_plugin.h | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/src/include/taler_merchantdb_plugin.h b/src/include/taler_merchantdb_plugin.h index 963f9234..6f94e514 100644 --- a/src/include/taler_merchantdb_plugin.h +++ b/src/include/taler_merchantdb_plugin.h @@ -60,6 +60,22 @@ struct TALER_MERCHANTDB_AccountDetails }; +/** + * Authentication settings for an instance. + */ +struct TALER_MERCHANTDB_InstanceAuthSettings +{ + /** + * Hash used for authentication. All zero if authentication is off. + */ + struct GNUNET_HashCode auth_hash; + + /** + * Salt used to hash the "Authentication" header, the result must then + * match the @e auth_hash. + */ + struct GNUNET_ShortHashCode auth_salt; +}; /** * General settings for an instance. @@ -118,17 +134,6 @@ struct TALER_MERCHANTDB_InstanceSettings */ struct GNUNET_TIME_Relative default_pay_delay; - /** - * Hash used for authentication. All zero if authentication is off. - */ - struct GNUNET_HashCode auth_hash; - - /** - * Salt used to hash the "Authentication" header, the result must then - * match the @e auth_hash. - */ - struct GNUNET_ShortHashCode auth_salt; - }; @@ -148,6 +153,7 @@ typedef void const struct TALER_MerchantPublicKeyP *merchant_pub, const struct TALER_MerchantPrivateKeyP *merchant_priv, const struct TALER_MERCHANTDB_InstanceSettings *is, + const struct TALER_MERCHANTDB_InstanceAuthSettings *ias, unsigned int accounts_length, const struct TALER_MERCHANTDB_AccountDetails accounts[]); @@ -784,7 +790,8 @@ struct TALER_MERCHANTDB_Plugin (*insert_instance)(void *cls, const struct TALER_MerchantPublicKeyP *merchant_pub, const struct TALER_MerchantPrivateKeyP *merchant_priv, - const struct TALER_MERCHANTDB_InstanceSettings *is); + const struct TALER_MERCHANTDB_InstanceSettings *is, + const struct TALER_MERCHANTDB_InstanceAuthSettings *ias); /** * Insert information about an instance's account into our database. @@ -836,6 +843,20 @@ struct TALER_MERCHANTDB_Plugin const struct TALER_MERCHANTDB_InstanceSettings *is); /** + * Update information about an instance's authentication settings + * into our database. + * + * @param cls closure + * @param merchant_id merchant backend instance ID + * @param ias instance auth settings + * @return database result code + */ + enum GNUNET_DB_QueryStatus + (*update_instance_auth)(void *cls, + const char *merchant_id, + const struct TALER_MERCHANTDB_InstanceAuthSettings *ias); + + /** * Set an instance's account in our database to "inactive". * * @param cls closure |