Hello<br><br>I've managed to compile pam_radius-1.3.17 both 32Bit and 64Bit.<br><br>I had to add -lsocket as part of linking to get it to work and modified the make file to have -m64 to compile on 64bit<br><br>When I compile it for 64Bit this is my make output:<br>
<br>gcc -Wall -fPIC -m64 -c pam_radius_auth.c -o pam_radius_auth.o<br>pam_radius_auth.c: In function `ipstr2long':<br>pam_radius_auth.c:185: warning: subscript has type `char'<br>pam_radius_auth.c: In function `good_ipaddr':<br>
pam_radius_auth.c:221: warning: subscript has type `char'<br>pam_radius_auth.c: In function `host2server':<br>pam_radius_auth.c:277: warning: subscript has type `char'<br>pam_radius_auth.c: In function `rad_converse':<br>
pam_radius_auth.c:1027: warning: passing arg 3 of `pam_get_item' from incompatible pointer type<br>pam_radius_auth.c:1030: warning: passing arg 2 of pointer to function from incompatible pointer type<br>pam_radius_auth.c: In function `pam_sm_authenticate':<br>
pam_radius_auth.c:1081: warning: passing arg 2 of `pam_get_user' from incompatible pointer type<br>pam_radius_auth.c:1097: warning: passing arg 3 of `pam_get_item' from incompatible pointer type<br>pam_radius_auth.c:1102: warning: assignment from incompatible pointer type<br>
pam_radius_auth.c:1121: warning: passing arg 3 of `pam_get_item' from incompatible pointer type<br>pam_radius_auth.c:1135: warning: passing arg 3 of `pam_get_item' from incompatible pointer type<br>pam_radius_auth.c:1168: warning: passing arg 3 of `pam_get_item' from incompatible pointer type<br>
pam_radius_auth.c: In function `pam_private_session':<br>pam_radius_auth.c:1300: warning: passing arg 2 of `pam_get_user' from incompatible pointer type<br>pam_radius_auth.c:1321: warning: passing arg 3 of `pam_get_item' from incompatible pointer type<br>
pam_radius_auth.c: In function `pam_sm_chauthtok':<br>pam_radius_auth.c:1407: warning: passing arg 2 of `pam_get_user' from incompatible pointer type<br>pam_radius_auth.c:1428: warning: passing arg 3 of `pam_get_item' from incompatible pointer type<br>
pam_radius_auth.c:1437: warning: passing arg 3 of `pam_get_item' from incompatible pointer type<br>pam_radius_auth.c:1442: warning: passing arg 3 of `pam_get_item' from incompatible pointer type<br>gcc -Wall -fPIC -m64 -m64 -I/usr/local/include -R/usr/local/lib/sparcv9 -c md5.c<br>
gcc -R/usr/local/lib/sparcv9 -m64 -shared pam_radius_auth.o md5.o -lpam -lsocket -lc -o pam_radius_auth.so<br><br>Which is all well and good.<br><br>But when I try and use the 64Bit version of pamtester it core dumps.<br>
<br>The 32Bit version compiles fine, and 32bit version of pamtester also works fine.<br><br>./pamtester jpam peter authenticate<br>Password:<br>Bus Error (core dumped)<br><br>In /var/adm/messages I get:<br><br>Sep 22 13:51:46 sf2428 genunix: [ID 603404 kern.notice] NOTICE: core_log: pamtester[13662] core dumped: /var/core/core_sol9_pamtester_0_0_1285120305_13662<br>
<br>Any suggestions on what to do with gdb or to debug this problem??<br><br>I've seen a number of posts such as this one: <a href="http://networking.itags.org/networking-tech/58575/">http://networking.itags.org/networking-tech/58575/</a><br>
<br>Talking about changing the typedef for md5.h<br><br>-#define uint32 u_int32_t<br>+#define uint32 uint32_t<br><br>However 1.3.17 already seems to have this patch.<br><br>struct MD5Context {<br> uint32_t buf[4];<br> uint32_t bits[2];<br>
unsigned char in[64];<br>};<br><br>I'm no C developer so not sure where to go to from here.<br><br>Any suggestions would be gratefully accepted.<br><br>Cheers<br><br>Peter<br>