On Sat, Mar 9, 2013 at 8:50 AM, Arran Cudbard-Bell <a.cudbardb@freeradius.org> wrote:
I've refactored the code and shrunk it.

I really appreciate your help on this.
The code you submitted leaked opaque data, which i've fixed.

I'm concerned about the call to storeUserName, and getConnection, there's no where where the connection is explicitly destroyed, so I don't see how memory passed to those functions or allocated by those functions is ever freed. I guess there must be some magic GC/reference counting i'm missing?

------

Regarding the library.

I actually packaged it for fedora listed here http://koji.fedoraproject.org/koji/buildinfo?buildID=383324 .

So I use the that packaged version when building EAP-TNC module for freeradius, and somehow I did not have any of these issues while building the module. I will surely look for and try to eliminate  the errors you noticed. 
 
The build scripts for tnc-fhh are poor and do not work correctly on my system (OSX 10.8.2, Apple clang version 4.0, cmake version 2.8.10.1).

 
I get errors from the linker/clang

        clang: error: invalid argument '-current_version 0.8.4' only allowed with '-dynamiclib'

and when I add

        clang: error: invalid argument '-bundle' not allowed with '-dynamiclib'

Adding -dynamiclib and removing -bundle from CMakeFiles/dummyimv.dir/link.txt fixes this, but i'm guessing there's a better way.

ditto for:
imcv/hostscanner/imv/CMakeFiles/hostscannerimv.dir/link.txt
imcv/clamav/imv/CMakeFiles/clamavimv.dir/link.txt
imcv/example/imv/CMakeFiles/exampleimv.dir/link.txt
imcv/platid/imv/CMakeFiles/platidimv.dir/link.txt

tncutil/CMakeLists.txt doesn't specify linker flags for libssl libcrypto or boost_system / boost_system-mt, so the linker fails with unresolved symbols.

I added them manually:
target_link_libraries(${PROJECT_NAME} ${Log4cxx_LIBRARY} ${XercesC_LIBRARY} ssl crypto boost_system-mt)

I'm guessing there's a better way of doing this.

The code itself has typos and won't compile:

tnc-fhh/imcv/hostscanner/imv/src/HostScannerIMV.cpp:318:9: error: use of undeclared identifier 'u_int'
        u_int pos = line.find_first_of('=');

Changing it to unsigned int at least allowed the build system to get past that.

and there's an obvious typo here:

nc-fhh/imcv/platid/imv/src/PlatidIMV.cpp:209:16: warning: equality comparison result unused [-Wunused-comparison]
                nothingWrong == false;

That should be an assignment operator.

Finally:

CMake Error at imunit/cmake_install.cmake:31 (FILE):
  file INSTALL cannot set permissions on "/usr/local/include"

Why is the install script attempting to change permissions on /usr/local/include in the first place?

I'll take a look at the eap-ttls modifications later, and do them as a separate commit.

Again, your effort is very much appreciated.
-Arran


-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/devel.html