$NetBSD: patch-ac,v 1.5 2013/09/10 14:28:14 joerg Exp $ --- dtcpclient.c.orig 2006-05-25 16:36:21.000000000 +0000 +++ dtcpclient.c @@ -72,10 +72,12 @@ #define PREFIX "/usr/local" #endif -#define PIDFILE _PATH_VARRUN "/dtcpclient.pid" -#define PASSWDFILE PREFIX "/etc/dtcpclient.auth" -#define SCRIPTFLIE PREFIX "/etc/dtcpclient.script" +#define PIDFILE VARBASE "/run/dtcpclient.pid" +#define PASSWDFILE SYSCONFDIR "/dtcpclient.auth" +#define SCRIPTFLIE PREFIX "/sbin/dtcpclient-script" +#undef FALSE +#undef TRUE typedef enum { FALSE = 0, TRUE = 1 @@ -173,9 +175,9 @@ authenticate(char *user, char *challenge int i; MD5Init(&ctx); - MD5Update(&ctx, user, strlen(user)); - MD5Update(&ctx, challenge, strlen(challenge)); - MD5Update(&ctx, pass, strlen(pass)); + MD5Update(&ctx, (unsigned char *)user, strlen(user)); + MD5Update(&ctx, (unsigned char *)challenge, strlen(challenge)); + MD5Update(&ctx, (unsigned char *)pass, strlen(pass)); MD5Final(digest, &ctx); for (i = 0; i < 16; i++) { ascii_digest[i + i] = hex[digest[i] >> 4]; @@ -512,8 +514,8 @@ invoke_script(const char *state, const c if (verbose) { strncpy(buf, "calling:", sizeof(buf)); for (argc = 0; argv[argc] != NULL; ++argc) { - strncat(buf, " ", sizeof(buf)); - strncat(buf, argv[argc], sizeof(buf)); + strncat(buf, " ", sizeof(buf) - 1); + strncat(buf, argv[argc], sizeof(buf) - 1); } logmsg(LOG_NOTICE, "%s", buf); }