From: maja Date: Sat, 8 Feb 1997 19:58:51 +0000 (+0000) Subject: Use much of the backed out code from 1.12. But remove use of mkstemp. -moj X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=a51883bd827359816e77f7099c4e21cb5f776de8;p=openbsd Use much of the backed out code from 1.12. But remove use of mkstemp. -moj --- diff --git a/usr.sbin/ypserv/ypxfr/ypxfr.c b/usr.sbin/ypserv/ypxfr/ypxfr.c index 80a237be61f..31d9b73b064 100644 --- a/usr.sbin/ypserv/ypxfr/ypxfr.c +++ b/usr.sbin/ypserv/ypxfr/ypxfr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ypxfr.c,v 1.13 1997/02/07 09:24:03 deraadt Exp $ */ +/* $OpenBSD: ypxfr.c,v 1.14 1997/02/08 19:58:51 maja Exp $ */ /* * Copyright (c) 1994 Mats O Jansson @@ -32,23 +32,25 @@ */ #ifndef LINT -static char rcsid[] = "$OpenBSD: ypxfr.c,v 1.13 1997/02/07 09:24:03 deraadt Exp $"; +static char rcsid[] = "$OpenBSD: ypxfr.c,v 1.14 1997/02/08 19:58:51 maja Exp $"; #endif +#include +#include +#include + +#include +#include + #include #include #include -#include #include #include -#include -#include -#include #include #include #include -/* #include */ #include #include @@ -57,7 +59,7 @@ static char rcsid[] = "$OpenBSD: ypxfr.c,v 1.13 1997/02/07 09:24:03 deraadt Exp #include "ypdb.h" #include "ypdef.h" -char *progname = "ypxfr"; +extern char *__progname; DBM *db; extern bool_t xdr_ypresp_all_seq(); @@ -70,7 +72,7 @@ ypxfr_foreach(status,keystr,keylen,valstr,vallen,data) int status,keylen,vallen,*data; char *keystr,*valstr; { - datum key,val; + datum key,val; if (status == 2) return(0); @@ -95,7 +97,7 @@ char *domain; char *map; u_long *lordernum; { - char map_path[1024]; + char map_path[MAXPATHLEN]; char order_key[] = YP_LAST_KEY; char order[MAX_LAST_LEN+1]; struct stat finfo; @@ -107,17 +109,18 @@ u_long *lordernum; status = YPPUSH_SUCC; - sprintf(map_path,"%s/%s",YP_DB_PATH,domain); + snprintf(map_path, sizeof map_path, "%s/%s",YP_DB_PATH,domain); if (!((stat(map_path, &finfo) == 0) && ((finfo.st_mode & S_IFMT) == S_IFDIR))) { fprintf(stderr, "%s: domain %s not found locally\n", - progname, domain); + __progname, domain); status = YPPUSH_NODOM; } if(status > 0) { - sprintf(map_path,"%s/%s/%s%s",YP_DB_PATH,domain,map,YPDB_SUFFIX); + snprintf(map_path, sizeof map_path, "%s/%s/%s%s", + YP_DB_PATH,domain,map,YPDB_SUFFIX); if(!(stat(map_path, &finfo) == 0)) { status = YPPUSH_NOMAP; } @@ -125,7 +128,8 @@ u_long *lordernum; if(status > 0) { - sprintf(map_path,"%s/%s/%s",YP_DB_PATH,domain,map); + snprintf(map_path, sizeof map_path, "%s/%s/%s", + YP_DB_PATH,domain,map); db = ypdb_open(map_path, O_RDONLY, 0444); if(db == NULL) { status = YPPUSH_DBM; @@ -189,9 +193,7 @@ char *domain; char *map; struct ypall_callback *incallback; { - u_long status; - - status = yp_all_host(client, domain, map, incallback); + (void)yp_all_host(client, domain, map, incallback); } @@ -204,7 +206,8 @@ char *temp_map; DBM *db; char db_temp[255]; - sprintf(db_temp,"%s/%s/%s",YP_DB_PATH,domain,temp_map); + snprintf(db_temp,sizeof db_temp, "%s/%s/%s", + YP_DB_PATH,domain,temp_map); db = ypdb_open(db_temp, O_RDWR|O_CREAT, 0444); @@ -219,10 +222,12 @@ char *domain; char *map; char *temp_map; { - char db_name[255],db_temp[255]; + char db_name[MAXPATHLEN],db_temp[MAXPATHLEN]; - sprintf(db_name,"%s/%s/%s%s",YP_DB_PATH,domain,map,YPDB_SUFFIX); - sprintf(db_temp,"%s/%s/%s%s",YP_DB_PATH,domain,temp_map,YPDB_SUFFIX); + snprintf(db_name, sizeof db_name, "%s/%s/%s%s", + YP_DB_PATH,domain,map,YPDB_SUFFIX); + snprintf(db_temp, sizeof db_temp, "%s/%s/%s%s", + YP_DB_PATH,domain,temp_map,YPDB_SUFFIX); rename(db_temp,db_name); return YPPUSH_SUCC; @@ -232,9 +237,10 @@ int unlink_db(domain,map,temp_map) char *temp_map; { - char db_temp[255]; + char db_temp[MAXPATHLEN]; - sprintf(db_temp,"%s/%s/%s%s",YP_DB_PATH,domain,temp_map,YPDB_SUFFIX); + snprintf(db_temp, sizeof db_temp, "%s/%s/%s%s", + YP_DB_PATH,domain,temp_map,YPDB_SUFFIX); unlink(db_temp); return YPPUSH_SUCC; @@ -506,7 +512,7 @@ char *argv[]; if (usage) { status = YPPUSH_BADARGS; - (void)fprintf(stderr,"usage: %s [-cf] [-d domain] [-h host] [-s domain] [-C tid prog ipadd port] mapname\n",progname); + (void)fprintf(stderr,"usage: %s [-cf] [-d domain] [-h host] [-s domain] [-C tid prog ipadd port] mapname\n",__progname); } if (status > 0) { @@ -571,14 +577,9 @@ char *argv[]; } if (status == YPPUSH_SUCC) { - int fd; /* Create temporary db */ - fd = mkstemp(mapname); - if (fd == -1) - status = YPPUSH_DBM; - else - close(fd); + mktemp(mapname); if (status > 0) { db = create_db(domain,map,mapname);