- if(!get_config_int(lookup_config(myself->connection->config_tree, "MACLength"), &myself->maclength))
-
- if(digest_active(&myself->digest)) {
- if(myself->maclength > digest_length(&myself->digest)) {
- logger(LOG_ERR, _("MAC length exceeds size of digest!"));
- return false;
- } else if(myself->maclength < 0) {
- logger(LOG_ERR, _("Bogus MAC length!"));
- return false;
- }
+ if(!digest_open_by_name(&myself->indigest, digest, maclength)) {
+ logger(LOG_ERR, "Unrecognized digest type!");
+ return false;