$NetBSD: patch-ac,v 1.1 2005/04/13 16:36:07 salo Exp $

--- cnf.c.orig	2005-04-13 12:06:54.000000000 -0400
+++ cnf.c	2005-04-13 12:11:51.000000000 -0400
@@ -36,11 +36,16 @@
 
 // We set the default values
 
-strcpy(conf->sqlhost,"localhost");
-strcpy(conf->sqluser,"myuser");
-strcpy(conf->sqldb,"mydb");
-strcpy(conf->sqlpasswd,"mypasswd");
-strcpy(conf->message,"Greylisted");
+strncpy(conf->sqlhost,"localhost",sizeof(conf->sqlhost)-1);
+conf->sqlhost[sizeof(conf->sqlhost)-1] = '\0';
+strncpy(conf->sqluser,"myuser",sizeof(conf->sqluser)-1);
+conf->sqluser[sizeof(conf->sqluser)-1] = '\0';
+strncpy(conf->sqldb,"mydb",sizeof(conf->sqldb)-1);
+conf->sqldb[sizeof(conf->sqldb)-1] = '\0';
+strncpy(conf->sqlpasswd,"mypasswd",sizeof(conf->sqlpasswd)-1);
+conf->sqlpasswd[sizeof(conf->sqlpasswd)-1] = '\0';
+strncpy(conf->message,"Greylisted",sizeof(conf->message)-1);
+conf->message[sizeof(conf->message)-1] = '\0';
 conf->port=2525;
 conf->maxcon=100;
 conf->mini=60;
@@ -73,14 +78,46 @@
 		buffer[strlen(buffer)-1]=0;
                 *p=0;
                 if(strcmp(buffer,"CLIENTS")==0) ReadClients(conf,p+1);
-                if(strcmp(buffer,"USER")==0) strcpy(conf->user,p+1);
-                if(strcmp(buffer,"GROUP")==0) strcpy(conf->grp,p+1);
-                if(strcmp(buffer,"DNSWL")==0) strcpy(conf->dnswl,p+1);
-                if(strcmp(buffer,"SQLHOST")==0) strcpy(conf->sqlhost,p+1);
-                if(strcmp(buffer,"SQLUSER")==0) strcpy(conf->sqluser,p+1);
-                if(strcmp(buffer,"SQLDB")==0) strcpy(conf->sqldb,p+1);
-                if(strcmp(buffer,"SQLPASSWD")==0) strcpy(conf->sqlpasswd,p+1);
-                if(strcmp(buffer,"MESSAGE")==0) strcpy(conf->message,p+1);
+                if(strcmp(buffer,"USER")==0)
+			{
+			strncpy(conf->user,p+1,sizeof(conf->user)-1);
+			conf->user[sizeof(conf->user)-1] = '\0';
+			}
+                if(strcmp(buffer,"GROUP")==0)
+			{
+			strncpy(conf->grp,p+1,sizeof(conf->grp)-1);
+			conf->grp[sizeof(conf->grp)-1] = '\0';
+			}
+                if(strcmp(buffer,"DNSWL")==0)
+			{
+			strncpy(conf->dnswl,p+1,sizeof(conf->dnswl)-1);
+			conf->dnswl[sizeof(conf->dnswl)-1] = '\0';
+			}
+                if(strcmp(buffer,"SQLHOST")==0)
+			{
+			strncpy(conf->sqlhost,p+1,sizeof(conf->sqlhost)-1);
+			conf->sqlhost[sizeof(conf->sqlhost)-1] = '\0';
+			}
+                if(strcmp(buffer,"SQLUSER")==0)
+			{
+			strncpy(conf->sqluser,p+1,sizeof(conf->sqluser)-1);
+			conf->sqluser[sizeof(conf->sqluser)-1] = '\0';
+			}
+                if(strcmp(buffer,"SQLDB")==0)
+			{
+			strncpy(conf->sqldb,p+1,sizeof(conf->sqldb)-1);
+			conf->sqldb[sizeof(conf->sqldb)-1] = '\0';
+			}
+                if(strcmp(buffer,"SQLPASSWD")==0)
+			{
+			strncpy(conf->sqlpasswd,p+1,sizeof(conf->sqlpasswd)-1);
+			conf->sqlpasswd[sizeof(conf->sqlpasswd)-1] = '\0';
+			}
+                if(strcmp(buffer,"MESSAGE")==0)
+			{
+			strncpy(conf->message,p+1,sizeof(conf->message)-1);
+			conf->message[sizeof(conf->message)-1] = '\0';
+			}
                 if(strcmp(buffer,"PORT")==0) conf->port=atoi(p+1);
                 if(strcmp(buffer,"MAXCON")==0) conf->maxcon=atoi(p+1);
                 if(strcmp(buffer,"MINTIME")==0) conf->mini=atol(p+1);
