Short Answer: LAPACK's dsytf2 (for symmetric full) and dsptrf (for symmetric packed, which is the same layout that Bierman uses in its Kalman filter subroutines) actually computes UDU' decompostion as it is used in estimation community.
Longer Version:
Cholesky decomposition routines of lapack (such as dpotrf) computes only LL' and U'U (not UU'). It is interesting to note until version 3.6 of lapack, the documentation of lapack wrongfully stated that when the UPLO='U', the Cholesky decomposition returns UU' decomposition. But, that wrong statement was fixed after 3.6. Currently (as of 3.12), lapack's Cholesky decomposition routines can only return U'U or LL' decomposition based on UPLO argument (same as matlab's chol function).
On the other hand, LDL decomposition routines of lapack actually computes UDU' when the UPLO is set to 'U' in the arguments. This fact is also explicitly stated in these functions documentation.
However, one should also note that lapack LDL routines executes much more complicated algorithms as the LDL routines are designed for indefinite matrices. In estimation algorithms, we generally set the row/col to zero when the pivot is zero and continue to decompose the rest of the matrix as it is known that the input (the covariance matrix) is not indefinite. However, LDL routines of lapack, performs row/col rooks in such cases. Therefore, one may need to use syconv routine to convert permutated LDL'/UDU' matrices into unpermutated forms.