]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Do recursive xlat
authorAlan T. DeKok <aland@freeradius.org>
Thu, 9 Apr 2009 08:35:38 +0000 (10:35 +0200)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 9 Apr 2009 08:35:38 +0000 (10:35 +0200)
src/main/xlat.c

index af5f88370b240c5e8c78dd1abeaeeb2f8b921139..7033338a6a2a2ff8989b87b53e61494d96b6981f 100644 (file)
@@ -450,9 +450,15 @@ static size_t xlat_md5(UNUSED void *instance, REQUEST *request,
        int i;
        uint8_t digest[16];
        FR_MD5_CTX ctx;
+       char buffer[1024];
+
+       if (!radius_xlat(buffer, sizeof(buffer), fmt, request, func)) {
+               *out = '\0';
+               return 0;
+       }
 
        fr_MD5Init(&ctx);
-       fr_MD5Update(&ctx, (void *) fmt, strlen(fmt));
+       fr_MD5Update(&ctx, (void *) buffer, strlen(buffer));
        fr_MD5Final(digest, &ctx);
 
        if (outlen < 33) {