Arbitrary length xlat support in v3.1.x

Arran Cudbard-Bell a.cudbardb at
Mon Aug 10 01:52:24 CEST 2015

Arbitrary length xlat functions are now available in v3.1.x.

If you'd like to see a particular function output data > 2048 bytes please send a pull request.

To update a function:

1. Update the xlat_register call for that function, and pass 0 as the buf_len argument.
2. Update the xlat function to allocate a buffer in the context of the request, and copy the output data to it e.g.
  - *out = talloc_array(request, char, <len>);
  - *out = talloc_typed_strdup(request, in);
  - *out = talloc_bstrndup(request, in, inlen);

Some xlat functions are trivially easy to update, some are harder.

All xlats will be fixed in time, but there's ~90 of them, so community assistance is appreciated.


Arran Cudbard-Bell <a.cudbardb at>
FreeRADIUS development team

FD31 3077 42EC 7FCD 32FE 5EE2 56CF 27F9 30A8 CAA2

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 872 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <>

More information about the Freeradius-Devel mailing list