--- input.c.orig Thu Jan 14 03:19:14 1999 +++ input.c Fri Feb 28 13:48:38 2003 @@ -60,11 +60,27 @@ #error "Shadow and PAM don't mix!" #endif +#if (__FreeBSD__ == 0) /* 1.0 did not define __FreeBSD__ */ +#define __FreeBSD_version 199401 +#elsif __FreeBSD__ == 1 /* 1.1 defined it to be 1 */ +#define __FreeBSD_version 199405 +#else /* 2.0 and higher define it to be 2 */ +#include /* and this works */ +#endif + #include +#if defined (__FreeBSD_version) && (__FreeBSD_version > 500030) +#include +#else #include +#endif static struct pam_conv PAM_conversation = { +#if defined (__FreeBSD_version) && (__FreeBSD_version > 500030) + openpam_ttyconv, +#else &misc_conv, +#endif NULL }; @@ -291,7 +307,7 @@ setuid(getuid()); setgid(getgid()); - sprintf(prompt, "%s's password: ", username); + snprintf(prompt, 99, "%s's password: ", username); #endif /* !USE_PAM */ }