/*
* citmail.c v4.1
+ * $Id$
*
* This program may be used as a local mail delivery agent, which will allow
* all Citadel users to receive Internet e-mail. To enable this functionality,
long conv_date(char *sdbuf)
{
int a,b,cpos,tend,tval;
- long now;
+ time_t now;
struct tm *tmbuf;
char dbuf[128];
{
static char buf[32];
- sprintf(buf,"errno = %d",e);
+ snprintf(buf,sizeof buf,"errno = %d",e);
return(buf);
}
#endif
*/
void do_citmail(char recp[], int dtype) {
- long now;
+ time_t now;
FILE *temp;
int a;
char buf[128];
strcpy(recp, "");
}
else {
- strcpy(targetroom, "Mail");
+ strcpy(targetroom, MAILROOM);
}
time(&now);
- sprintf(from, "postmaster@%s", config.c_nodename);
+ snprintf(from, sizeof from, "postmaster@%s", config.c_nodename);
- sprintf(buf, "./network/spoolin/citmail.%d", getpid());
+ snprintf(buf, sizeof buf, "./network/spoolin/citmail.%d", getpid());
temp = fopen(buf,"w");
putc(255,temp); putc(MES_NORMAL,temp); putc(1,temp);
fprintf(temp, "O%s%c", targetroom, 0);
}
else {
- fprintf(temp, "OMail%c", 0);
+ fprintf(temp, "O%s%c", MAILROOM, 0);
}
fprintf(temp,"N%s%c", nodebuf, 0);
static char buf[1024];
FILE *fp;
- sprintf(buf,"cd %s; uudecode",target);
+ snprintf(buf,sizeof buf,"cd %s; uudecode",target);
fp=popen(buf,"w");
if (fp==NULL) return;
/* Otherwise, we're dealing with Citadel mail. */
else {
- sprintf(recp, "%s!%s", node, user);
+ snprintf(recp, sizeof recp, "%s!%s", node, user);
deliver_to_ignet = 1;
printf("250 IGnet recipient.\n");
}
* back to an external mail transport agent such as sendmail.
*/
if (haschar(node, '.')) {
- sprintf(buf, SENDMAIL, recp);
+ snprintf(buf, sizeof buf, SENDMAIL, recp);
system(buf);
exit(0);
}
/* Otherwise, we're dealing with Citadel mail. */
else {
- sprintf(recp, "%s!%s", node, user);
+ snprintf(recp, sizeof recp, "%s!%s", node, user);
deliver_to_ignet = 1;
}