Nicolas Baradakis <nbk@sitadelle.com> wrote:
I'd suggest to always use #include <freeradius/file.h>
I'm just a little paranoid about files that the server needs to build itself, but which aren't needed by anyone using libradius.
In src/include/Makefile, we would install the files avalaible for everyone in /usr/include/freeradius, and just ignore the files only needed to build the server.
Except when you install files from version X, and try to build files with version Y. They get confused. This is exactly the behavior we're seeing on Solaris, where it finds "md5.h", and as a result, doesn't use the one needed to build the server. Sure. I'll take a look at adding versioning information in the header files, which should help address some issues, but won't solve them all. My $0.0.2 is that the server code should use <freeradius-devel/file.h> during build time, and the installed header files should be in /usr/include/freeradius, and include each other as <freeradius/file.h>. This make take some install-time hacks, but I think it's worth it. I've got a Perl script to do the replacement, so it's pretty easy to swap one scheme for another. Alan DeKok.