X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnet_setup.c;h=224bdf6113f335dde59d19148005c9aaffe93f7b;hb=4124b9682f8f890acb25d0c92f2583eef670274a;hp=17eaec2b7475be8ec88b5ccae689cdecec68de6b;hpb=5a132550deb58473285e5f91705d286aef47be71;p=tinc diff --git a/src/net_setup.c b/src/net_setup.c index 17eaec2b..224bdf61 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -314,21 +314,17 @@ bool setup_myself(void) { if(!get_config_string(lookup_config(myself->connection->config_tree, "Digest"), &digest)) digest = xstrdup("sha1"); - if(!digest_open_by_name(&myself->indigest, digest)) { - logger(LOG_ERR, _("Unrecognized digest type!")); + int maclength = 4; + get_config_int(lookup_config(myself->connection->config_tree, "MACLength"), &maclength); + + if(maclength < 0) { + logger(LOG_ERR, _("Bogus MAC length!")); return false; } - if(!get_config_int(lookup_config(myself->connection->config_tree, "MACLength"), &myself->inmaclength)) - - if(digest_active(&myself->indigest)) { - if(myself->inmaclength > digest_length(&myself->indigest)) { - logger(LOG_ERR, _("MAC length exceeds size of digest!")); - return false; - } else if(myself->inmaclength < 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; } /* Compression */