summaryrefslogtreecommitdiffstats
path: root/ldap/admin/src/create_instance.c
diff options
context:
space:
mode:
authorRich Megginson <rmeggins@redhat.com>2005-03-05 04:29:24 +0000
committerRich Megginson <rmeggins@redhat.com>2005-03-05 04:29:24 +0000
commitb352660e243c7b9b7d050f1c38cff1c9faf278b1 (patch)
treeede08019beb931c3206609ab2377a015d510bdb4 /ldap/admin/src/create_instance.c
parentf08951680ddfebc3f3df07e720ad0650fe473c0f (diff)
clean up sprintf usage and many other flawfinder issues; clean up compiler warnings on Linux; remove pam_passthru from DS 7.1
Diffstat (limited to 'ldap/admin/src/create_instance.c')
-rw-r--r--ldap/admin/src/create_instance.c252
1 files changed, 124 insertions, 128 deletions
diff --git a/ldap/admin/src/create_instance.c b/ldap/admin/src/create_instance.c
index ce713040..d2a332ac 100644
--- a/ldap/admin/src/create_instance.c
+++ b/ldap/admin/src/create_instance.c
@@ -165,7 +165,7 @@ static char *make_error(char *fmt, ...)
va_list args;
va_start(args, fmt);
- vsprintf(errbuf, fmt, args);
+ PR_vsnprintf(errbuf, sizeof(errbuf), fmt, args);
va_end(args);
return errbuf;
}
@@ -211,7 +211,7 @@ static int getSuiteSpotUserGroup(server_config_s* cf)
if (cf->servuser)
return 0;
- sprintf(realFile, "%s/%s", cf->sroot, ssUsersFile);
+ PR_snprintf(realFile, sizeof(realFile), "%s/%s", cf->sroot, ssUsersFile);
if (!(fp = fopen(realFile, "r")))
return 1;
@@ -256,8 +256,7 @@ void set_defaults(char *sroot, char *hn, server_config_s *conf)
{
if( (t = strchr(hn, '.')) )
*t = '\0';
- id = (char *) malloc(strlen(hn) + 1);
- sprintf(id, "%s", hn);
+ id = PR_smprintf("%s", hn);
if(t)
*t = '.';
}
@@ -471,7 +470,7 @@ static char *sanity_check(server_config_s *cf, char *param_name)
}
}
/* has that identifier already been used? */
- sprintf(fn, "%s%c%s-%s", cf->sroot, FILE_PATHSEP,
+ PR_snprintf(fn, sizeof(fn), "%s%c%s-%s", cf->sroot, FILE_PATHSEP,
PRODUCT_NAME, cf->servid);
/* Not an error to upgrade! ???
@@ -649,7 +648,7 @@ char *chownlogs(char *sroot, char *user)
if(!(pw = getpwnam(user)))
return make_error("Could not find UID and GID of user '%s'.",
user);
- sprintf(fn, "%s%clogs", sroot, FILE_PATHSEP);
+ PR_snprintf(fn, sizeof(fn), "%s%clogs", sroot, FILE_PATHSEP);
return chownfile (pw, fn);
}
return NULL;
@@ -663,7 +662,7 @@ char *chownconfig(char *sroot, char *user)
if(!(pw = getpwnam(user)))
return make_error("Could not find UID and GID of user '%s'.",
user);
- sprintf(fn, "%s%cconfig", sroot, FILE_PATHSEP);
+ PR_snprintf(fn, sizeof(fn), "%s%cconfig", sroot, FILE_PATHSEP);
return chownfile (pw, fn);
}
return NULL;
@@ -685,7 +684,7 @@ char *gen_script(char *s_root, char *name, char *fmt, ...)
char *shell = "/bin/sh";
va_list args;
- sprintf(fn, "%s%c%s", s_root, FILE_PATHSEP, name);
+ PR_snprintf(fn, sizeof(fn), "%s%c%s", s_root, FILE_PATHSEP, name);
if(!(f = fopen(fn, "w")))
return make_error("Could not write to %s (%s).", fn, ds_system_errmsg());
va_start(args, fmt);
@@ -737,8 +736,8 @@ char *gen_perl_script(char *s_root, char *cs_path, char *name, char *fmt, ...)
FILE *f;
va_list args;
- sprintf(fn, "%s%c%s", cs_path, FILE_PATHSEP, name);
- sprintf(myperl, "%s%cbin%cslapd%cadmin%cbin%cperl",
+ PR_snprintf(fn, sizeof(fn), "%s%c%s", cs_path, FILE_PATHSEP, name);
+ PR_snprintf(myperl, sizeof(myperl), "%s%cbin%cslapd%cadmin%cbin%cperl",
s_root, FILE_PATHSEP, FILE_PATHSEP,
FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
if(!(f = fopen(fn, "w")))
@@ -778,11 +777,11 @@ char *gen_perl_script_auto(char *s_root, char *cs_path, char *name,
char fn[PATH_SIZE], ofn[PATH_SIZE];
const char *table[10][2];
- sprintf(ofn, "%s%cbin%cslapd%cadmin%cscripts%ctemplate-%s", s_root,
+ PR_snprintf(ofn, sizeof(ofn), "%s%cbin%cslapd%cadmin%cscripts%ctemplate-%s", s_root,
FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
FILE_PATHSEP, name);
- sprintf(fn, "%s%c%s", cs_path, FILE_PATHSEP, name);
- sprintf(myperl, "!%s%cbin%cslapd%cadmin%cbin%cperl",
+ PR_snprintf(fn, sizeof(fn), "%s%c%s", cs_path, FILE_PATHSEP, name);
+ PR_snprintf(myperl, sizeof(myperl), "!%s%cbin%cslapd%cadmin%cbin%cperl",
s_root, FILE_PATHSEP, FILE_PATHSEP,
FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
@@ -831,12 +830,12 @@ char *gen_perl_script_auto_for_migration(char *s_root, char *cs_path, char *name
char fn[PATH_SIZE], ofn[PATH_SIZE];
const char *table[10][2];
- sprintf(ofn, "%s%cbin%cslapd%cadmin%cscripts%ctemplate-%s", s_root,
+ PR_snprintf(ofn, sizeof(ofn), "%s%cbin%cslapd%cadmin%cscripts%ctemplate-%s", s_root,
FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
FILE_PATHSEP, name);
- sprintf(fn, "%s%cbin%cslapd%cadmin%cbin%c%s", s_root, FILE_PATHSEP,
+ PR_snprintf(fn, sizeof(fn), "%s%cbin%cslapd%cadmin%cbin%c%s", s_root, FILE_PATHSEP,
FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, name);
- sprintf(myperl, "!%s%cbin%cslapd%cadmin%cbin%cperl",
+ PR_snprintf(myperl, sizeof(myperl), "!%s%cbin%cslapd%cadmin%cbin%cperl",
s_root, FILE_PATHSEP, FILE_PATHSEP,
FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
@@ -888,7 +887,7 @@ service_exists(char *servid)
{
DWORD status, lasterror = 0;
char szServiceName[MAX_PATH] = {0};
- sprintf(szServiceName,"%s-%s", SVR_ID_SERVICE, servid);
+ PR_snprintf(szServiceName, sizeof(szServiceName),"%s-%s", SVR_ID_SERVICE, servid);
/* if the service already exists, error */
status = SERVICE_GetNTServiceStatus(szServiceName, &lasterror );
if ( (lasterror == ERROR_SERVICE_DOES_NOT_EXIST) ||
@@ -910,7 +909,7 @@ void setup_nteventlogging(char *szServiceId, char *szMessageFile)
char szKey[MAX_PATH];
DWORD dwData;
- sprintf(szKey, "SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\%s", szServiceId);
+ PR_snprintf(szKey, sizeof(szKey), "SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\%s", szServiceId);
if(RegCreateKey(HKEY_LOCAL_MACHINE, szKey, &hKey) == ERROR_SUCCESS)
{
@@ -930,10 +929,10 @@ char *add_ntservice(server_config_s *cf)
char szServiceExe[MAX_PATH], szServiceDisplayName[MAX_PATH], szServiceName[MAX_PATH];
DWORD dwLastError;
- sprintf ( szServiceExe, "%s/bin/%s/server/%s", cf->sroot,
+ PR_snprintf(szServiceExe, sizeof(szServiceExe), "%s/bin/%s/server/%s", cf->sroot,
SVR_DIR_ROOT, SVR_EXE);
- sprintf ( szServiceName,"%s-%s", SVR_ID_SERVICE, cf->servid);
- sprintf ( szServiceDisplayName, "%s (%s)", SVR_NAME_FULL_VERSION,
+ PR_snprintf(szServiceName, sizeof(szServiceName),"%s-%s", SVR_ID_SERVICE, cf->servid);
+ PR_snprintf(szServiceDisplayName, sizeof(szServiceDisplayName), "%s (%s)", SVR_NAME_FULL_VERSION,
cf->servid);
/* install new service - if already installed, try and remove and
@@ -947,7 +946,7 @@ char *add_ntservice(server_config_s *cf)
}
// setup event logging registry keys, do this after service creation
- sprintf(szMessageFile, "%s\\bin\\%s\\server\\%s", cf->sroot,
+ PR_snprintf(szMessageFile, sizeof(szMessageFile), "%s\\bin\\%s\\server\\%s", cf->sroot,
SVR_DIR_ROOT, "slapdmessages30.dll");
setup_nteventlogging(szServiceName, szMessageFile);
@@ -970,16 +969,16 @@ char *setup_ntserver(server_config_s *cf)
DWORD sizeof_value_data_buffer;
/* MLM - Adding ACL directories authdb and authdb/default */
- sprintf(subdir, "%s%cauthdb", sroot, FILE_PATHSEP);
+ PR_snprintf(subdir, sizeof(subdir), "%s%cauthdb", sroot, FILE_PATHSEP);
if( (create_instance_mkdir(subdir, NEWDIR_MODE)) )
return make_error("mkdir %s failed (%s)", subdir, ds_system_errmsg());
- sprintf(subdir, "%s%cauthdb%cdefault", sroot, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(subdir, sizeof(subdir), "%s%cauthdb%cdefault", sroot, FILE_PATHSEP, FILE_PATHSEP);
if( (create_instance_mkdir(subdir, NEWDIR_MODE)) )
return make_error("mkdir %s failed (%s)", subdir, ds_system_errmsg());
/* Create DS-nickname (corresponding to ServiceID) key in registry */
- sprintf(line, "%s\\%s\\%s-%s", KEY_SOFTWARE_NETSCAPE, SVR_KEY_ROOT,
+ PR_snprintf(line, sizeof(line), "%s\\%s\\%s-%s", KEY_SOFTWARE_NETSCAPE, SVR_KEY_ROOT,
SVR_ID_SERVICE, cf->servid);
Result = RegCreateKey(HKEY_LOCAL_MACHINE, line, &hServerKey);
@@ -990,14 +989,14 @@ char *setup_ntserver(server_config_s *cf)
// note that SVR_ID_PRODUCT is being used here, which is of the form dsX
// as opposed to SVR_ID_SERVICE, which is of the form dsX30
- sprintf(line, "%s\\%s-%s\\config", sroot, SVR_ID_PRODUCT, cf->servid);
+ PR_snprintf(line, sizeof(line), "%s\\%s-%s\\config", sroot, SVR_ID_PRODUCT, cf->servid);
Result = RegSetValueEx(hServerKey, VALUE_CONFIG_PATH, 0, REG_SZ,
line, strlen(line) + 1);
RegCloseKey(hServerKey);
/* Create SNMP key in registry */
- sprintf(line, "%s\\%s\\%s", KEY_SOFTWARE_NETSCAPE, SVR_KEY_ROOT,
+ PR_snprintf(line, sizeof(line), "%s\\%s\\%s", KEY_SOFTWARE_NETSCAPE, SVR_KEY_ROOT,
KEY_SNMP_CURRENTVERSION);
Result = RegCreateKey(HKEY_LOCAL_MACHINE, line, &hServerKey);
@@ -1008,13 +1007,13 @@ char *setup_ntserver(server_config_s *cf)
/* Create the SNMP Pathname value */
- sprintf(line, "%s\\%s", sroot, SNMP_PATH);
+ PR_snprintf(line, sizeof(line), "%s\\%s", sroot, SNMP_PATH);
Result = RegSetValueEx(hServerKey, VALUE_APP_PATH, 0, REG_SZ,
line, strlen(line) + 1);
RegCloseKey(hServerKey);
/* write SNMP extension agent value to Microsoft SNMP Part of Registry) */
- sprintf(line, "%s\\%s", KEY_SERVICES, KEY_SNMP_SERVICE);
+ PR_snprintf(line, sizeof(line), "%s\\%s", KEY_SERVICES, KEY_SNMP_SERVICE);
Result = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
line,
0,
@@ -1027,7 +1026,7 @@ char *setup_ntserver(server_config_s *cf)
make sure it doesn't already exist, find last one and increment
value for new key */
- sprintf(line, "%s\\%s\\%s", KEY_SOFTWARE_NETSCAPE, SVR_KEY_ROOT, KEY_SNMP_CURRENTVERSION);
+ PR_snprintf(line, sizeof(line), "%s\\%s\\%s", KEY_SOFTWARE_NETSCAPE, SVR_KEY_ROOT, KEY_SNMP_CURRENTVERSION);
Result = RegQueryInfoKey(hServerKey, NULL, NULL, NULL, NULL, NULL,
NULL, &NumValues, NULL, NULL, NULL, NULL);
@@ -1044,7 +1043,7 @@ char *setup_ntserver(server_config_s *cf)
and it would not find the key if it was already there
*/
sizeof_value_data_buffer=MAX_PATH;
- sprintf(NumValuesBuf, "%d", iterator);
+ PR_snprintf(NumValuesBuf, sizeof(NumValuesBuf), "%d", iterator);
Result = RegQueryValueEx(hServerKey,
NumValuesBuf,
NULL,
@@ -1062,7 +1061,7 @@ char *setup_ntserver(server_config_s *cf)
if(!value_already_exists)
{
- sprintf(NumValuesBuf, "%d", NumValues + 1);
+ PR_snprintf(NumValuesBuf, sizeof(NumValuesBuf), "%d", NumValues + 1);
Result = RegSetValueEx(hServerKey, NumValuesBuf, 0, REG_SZ,
line, strlen(line) + 1);
@@ -1125,7 +1124,7 @@ char *create_server(server_config_s *cf, char *param_name)
* <server_root>/.native_solaris file acts as the flag
*/
if (!iDSISolaris) {
- sprintf(otherline, "%s%c.native_solaris", sroot, FILE_PATHSEP);
+ PR_snprintf(otherline, sizeof(otherline), "%s%c.native_solaris", sroot, FILE_PATHSEP);
if (create_instance_exists(otherline)) {
iDSISolaris = 1;
}
@@ -1137,11 +1136,11 @@ char *create_server(server_config_s *cf, char *param_name)
*/
sub = sub_token(sroot,"/usr/iplanet/",13,"/var/",5);
if (sub) {
- sprintf(subdirvar, "%s/"PRODUCT_NAME"-%s", sub, cf->servid);
+ PR_snprintf(subdirvar, sizeof(subdirvar), "%s/"PRODUCT_NAME"-%s", sub, cf->servid);
free(sub);
}
else {
- sprintf(subdirvar, "%s/"PRODUCT_NAME"-%s", SOLARIS_VAR_DIR, cf->servid);
+ PR_snprintf(subdirvar, sizeof(subdirvar), "%s/"PRODUCT_NAME"-%s", SOLARIS_VAR_DIR, cf->servid);
}
if( (create_instance_mkdir_p(subdirvar, NEWDIR_MODE)) )
return make_error("mkdir %s failed (%s)", subdirvar, ds_system_errmsg());
@@ -1151,64 +1150,64 @@ char *create_server(server_config_s *cf, char *param_name)
*/
sub = sub_token(sroot,"/usr/",5,"/etc/",5);
if (sub) {
- sprintf(subdiretc, "%s/"PRODUCT_NAME"-%s", sub, cf->servid);
+ PR_snprintf(subdiretc, sizeof(subdiretc), "%s/"PRODUCT_NAME"-%s", sub, cf->servid);
free(sub);
}
else {
- sprintf(subdiretc, "%s/"PRODUCT_NAME"-%s", SOLARIS_ETC_DIR, cf->servid);
+ PR_snprintf(subdiretc, sizeof(subdiretc), "%s/"PRODUCT_NAME"-%s", SOLARIS_ETC_DIR, cf->servid);
}
if( (create_instance_mkdir_p(subdiretc, NEWDIR_MODE)) )
return make_error("mkdir %s failed (%s)", subdiretc, ds_system_errmsg());
- sprintf(subdir, "%s%c"PRODUCT_NAME"-%s", sroot, FILE_PATHSEP,
+ PR_snprintf(subdir, sizeof(subdir), "%s%c"PRODUCT_NAME"-%s", sroot, FILE_PATHSEP,
cf->servid);
if( (create_instance_symlink(subdirvar, subdir)) )
return make_error("symlink %s ==> %s failed (%s)", subdir, subdirvar, ds_system_errmsg());
}
else {
- sprintf(subdir, "%s%c"PRODUCT_NAME"-%s", sroot, FILE_PATHSEP,
+ PR_snprintf(subdir, sizeof(subdir), "%s%c"PRODUCT_NAME"-%s", sroot, FILE_PATHSEP,
cf->servid);
if( (create_instance_mkdir(subdir, NEWDIR_MODE)) )
return make_error("mkdir %s failed (%s)", subdir, ds_system_errmsg());
}
#else
- sprintf(subdir, "%s%c"PRODUCT_NAME"-%s", sroot, FILE_PATHSEP,
+ PR_snprintf(subdir, sizeof(subdir), "%s%c"PRODUCT_NAME"-%s", sroot, FILE_PATHSEP,
cf->servid);
if( (create_instance_mkdir(subdir, NEWDIR_MODE)) )
return make_error("mkdir %s failed (%s)", subdir, ds_system_errmsg());
#endif /* SOLARIS */
/* Create slapd-nickname/config directory */
- sprintf(line, "%s%cconfig", subdir, FILE_PATHSEP);
+ PR_snprintf(line, sizeof(line), "%s%cconfig", subdir, FILE_PATHSEP);
if( (create_instance_mkdir(line, NEWDIR_MODE)) )
return make_error("mkdir %s failed (%s)", line, ds_system_errmsg());
#if defined( SOLARIS )
if (iDSISolaris) {
- sprintf(line, "%s%cconfig", subdirvar, FILE_PATHSEP);
- sprintf(otherline, "%s%cconfig", subdiretc, FILE_PATHSEP);
+ PR_snprintf(line, sizeof(line), "%s%cconfig", subdirvar, FILE_PATHSEP);
+ PR_snprintf(otherline, sizeof(otherline), "%s%cconfig", subdiretc, FILE_PATHSEP);
if( (create_instance_symlink(line, otherline)) )
return make_error("symlink %s ==> %s failed (%s)", otherline, line, ds_system_errmsg());
}
#endif /* SOLARIS */
/* Create slapd-nickname/config/schema directory */
- sprintf(line, "%s%cconfig%cschema", subdir, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(line, sizeof(line), "%s%cconfig%cschema", subdir, FILE_PATHSEP, FILE_PATHSEP);
if( (create_instance_mkdir(line, NEWDIR_MODE)) )
return make_error("mkdir %s failed (%s)", line, ds_system_errmsg());
#if defined (BUILD_PRESENCE)
/* Create slapd-nickname/config/presence directory */
- sprintf(line, "%s%cconfig%cpresence", subdir, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(line, sizeof(line), "%s%cconfig%cpresence", subdir, FILE_PATHSEP, FILE_PATHSEP);
if( (create_instance_mkdir(line, NEWDIR_MODE)) )
return make_error("mkdir %s failed (%s)", line, ds_system_errmsg());
#endif
/* Create slapd-nickname/logs directory */
- sprintf(line, "%s%clogs", subdir, FILE_PATHSEP);
+ PR_snprintf(line, sizeof(line), "%s%clogs", subdir, FILE_PATHSEP);
if( (create_instance_mkdir(line, NEWSECDIR_MODE)) )
return make_error("mkdir %s failed (%s)", line, ds_system_errmsg());
/* Create httpacl directory */
- sprintf(line, "%s%chttpacl", cf->sroot, FILE_PATHSEP);
+ PR_snprintf(line, sizeof(line), "%s%chttpacl", cf->sroot, FILE_PATHSEP);
if( (create_instance_mkdir(line, NEWDIR_MODE)) )
return make_error("mkdir %s failed (%s)", line, ds_system_errmsg());
#if defined( SOLARIS )
@@ -1599,7 +1598,7 @@ char *create_instance_mkdir_p(char *dir, int mode)
if(t) *t = '\0';
if(stat(dir, &fi) == -1) {
if(create_instance_mkdir(dir, mode) == -1) {
- sprintf(errmsg, "mkdir %s failed (%s)", dir, ds_system_errmsg());
+ PR_snprintf(errmsg, sizeof(errmsg), "mkdir %s failed (%s)", dir, ds_system_errmsg());
return errmsg;
}
}
@@ -1708,7 +1707,7 @@ int tryuser(char *user)
if(geteuid())
return 0;
- sprintf(fn, "/tmp/trychown.%ld", (long)getpid());
+ PR_snprintf(fn, sizeof(fn), "/tmp/trychown.%ld", (long)getpid());
if( (fd = creat(fn, 0777)) == -1)
return 0; /* Hmm. */
ret = chown(fn, pw->pw_uid, pw->pw_gid);
@@ -1871,15 +1870,12 @@ file_is_type_x(const char *dirname, const char *filename, PRFileType x)
{
struct PRFileInfo inf;
int status = 0;
- int size = strlen(dirname) + strlen(filename) + 2; /* 1 for slash + 1 for null */
- char *fullpath = calloc(sizeof(char), size);
-
- sprintf(fullpath, "%s/%s", dirname, filename);
+ char *fullpath = PR_smprintf("%s/%s", dirname, filename);
if (PR_SUCCESS == PR_GetFileInfo(fullpath, &inf) &&
inf.type == x)
status = 1;
- free(fullpath);
+ PR_smprintf_free(fullpath);
return status;
}
@@ -1915,11 +1911,11 @@ ds_copy_group_files_using_mode(char *src_dir, char *dest_dir,
while( (d = PR_ReadDir(ds, 0)) ) {
if(d->name[0] != '.') {
if(!filter || strstr(d->name, filter)) {
- sprintf(fullname, "%s/%s", src_dir, d->name);
+ PR_snprintf(fullname, sizeof(fullname), "%s/%s", src_dir, d->name);
if(PR_SUCCESS != PR_Access(fullname, PR_ACCESS_EXISTS))
continue;
- sprintf(src_file, "%s%c%s", src_dir, FILE_PATHSEP, d->name);
- sprintf(dest_file, "%s%c%s", dest_dir, FILE_PATHSEP, d->name);
+ PR_snprintf(src_file, sizeof(src_file), "%s%c%s", src_dir, FILE_PATHSEP, d->name);
+ PR_snprintf(dest_file, sizeof(dest_file), "%s%c%s", dest_dir, FILE_PATHSEP, d->name);
if(is_a_dir(src_dir, d->name)) {
char *sub_src_dir = strdup(src_file);
char *sub_dest_dir = strdup(dest_file);
@@ -1986,45 +1982,45 @@ char *ds_cre_subdirs(char *sroot, server_config_s *cf, char *cs_path,
char subdir[PATH_SIZE], *t = NULL;
/* create subdir <a_server>/db */
- sprintf(subdir, "%s%cdb", cs_path, FILE_PATHSEP);
+ PR_snprintf(subdir, sizeof(subdir), "%s%cdb", cs_path, FILE_PATHSEP);
if( (t = create_instance_mkdir_p(subdir, NEWDIR_MODE)) )
return(t);
chownfile (pw, subdir);
/* create subdir <a_server>/ldif */
- sprintf(subdir, "%s%cldif", cs_path, FILE_PATHSEP);
+ PR_snprintf(subdir, sizeof(subdir), "%s%cldif", cs_path, FILE_PATHSEP);
if( (t = create_instance_mkdir_p(subdir, NEWDIR_MODE)) )
return(t);
chownfile (pw, subdir);
/* create subdir <a_server>/dsml */
- sprintf(subdir, "%s%cdsml", cs_path, FILE_PATHSEP);
+ PR_snprintf(subdir, sizeof(subdir), "%s%cdsml", cs_path, FILE_PATHSEP);
if( (t = create_instance_mkdir_p(subdir, NEWDIR_MODE)) )
return(t);
chownfile (pw, subdir);
/* create subdir <a_server>/bak */
- sprintf(subdir, "%s%cbak", cs_path, FILE_PATHSEP);
+ PR_snprintf(subdir, sizeof(subdir), "%s%cbak", cs_path, FILE_PATHSEP);
if( (t = create_instance_mkdir_p(subdir, NEWDIR_MODE)) )
return(t);
chownfile (pw, subdir);
/* Create slapd-nickname/confbak directory */
- sprintf(subdir, "%s%cconfbak", cs_path, FILE_PATHSEP);
+ PR_snprintf(subdir, sizeof(subdir), "%s%cconfbak", cs_path, FILE_PATHSEP);
if( (t=create_instance_mkdir_p(subdir, NEWDIR_MODE)) )
return(t);
chownfile (pw, subdir);
/* create subdir <server_root>/dsgw/context */
- sprintf(subdir, "%s%cclients", sroot, FILE_PATHSEP);
+ PR_snprintf(subdir, sizeof(subdir), "%s%cclients", sroot, FILE_PATHSEP);
if (is_a_dir(subdir, "dsgw")) { /* only create dsgw stuff if we are installing it */
- sprintf(subdir, "%s%cclients%cdsgw%ccontext", sroot, FILE_PATHSEP,FILE_PATHSEP,FILE_PATHSEP);
+ PR_snprintf(subdir, sizeof(subdir), "%s%cclients%cdsgw%ccontext", sroot, FILE_PATHSEP,FILE_PATHSEP,FILE_PATHSEP);
if( (t = create_instance_mkdir_p(subdir, NEWDIR_MODE)) )
return(t);
}
/* create subdir <server_root>/bin/slapd/authck */
- sprintf(subdir, "%s%cbin%cslapd%cauthck", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(subdir, sizeof(subdir), "%s%cbin%cslapd%cauthck", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
if( (t = create_instance_mkdir_p(subdir, NEWDIR_MODE)) )
return(t);
#if defined( SOLARIS )
@@ -2119,10 +2115,10 @@ char *ds_gen_scripts(char *sroot, server_config_s *cf, char *cs_path)
mysroot = sroot;
mycs_path = cs_path;
- sprintf(server, "%s/bin/"PRODUCT_NAME"/server", sroot);
- sprintf(admin, "%s/bin/"PRODUCT_NAME"/admin/bin", sroot);
- sprintf(tools, "%s/shared/bin", sroot);
- sprintf(cgics_path, "%s%cbin%cadmin%cadmin%cbin", sroot,
+ PR_snprintf(server, sizeof(server), "%s/bin/"PRODUCT_NAME"/server", sroot);
+ PR_snprintf(admin, sizeof(admin), "%s/bin/"PRODUCT_NAME"/admin/bin", sroot);
+ PR_snprintf(tools, sizeof(tools), "%s/shared/bin", sroot);
+ PR_snprintf(cgics_path, sizeof(cgics_path), "%s%cbin%cadmin%cadmin%cbin", sroot,
FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
t = gen_script(cs_path, "monitor",
@@ -2491,7 +2487,7 @@ char *ds_gen_scripts(char *sroot, server_config_s *cf, char *cs_path)
*/
if (iDSISolaris)
{
- sprintf(fn, "%s/%s", server, cl_scripts[cls]);
+ PR_snprintf(fn, sizeof(fn), "%s/%s", server, cl_scripts[cls]);
logUninstallInfo(sroot, PRODUCT_NAME, PRODUCT_NAME, fn);
}
#endif /* SOLARIS */
@@ -2542,10 +2538,10 @@ char *ds_gen_scripts(char *sroot, server_config_s *cf, char *cs_path)
*q = '\0';
}
- sprintf(server, "%s/bin/"PRODUCT_NAME"/server", sroot);
- sprintf(admin, "%s/bin/"PRODUCT_NAME"/admin/bin", sroot);
- sprintf(tools, "%s/shared/bin", sroot);
- sprintf(cgics_path, "%s/bin/admin/admin/bin", sroot);
+ PR_snprintf(server, sizeof(server), "%s/bin/"PRODUCT_NAME"/server", sroot);
+ PR_snprintf(admin, sizeof(admin), "%s/bin/"PRODUCT_NAME"/admin/bin", sroot);
+ PR_snprintf(tools, sizeof(tools), "%s/shared/bin", sroot);
+ PR_snprintf(cgics_path, sizeof(cgics_path), "%s/bin/admin/admin/bin", sroot);
ds_unixtodospath( cs_path );
ds_unixtodospath( server );
@@ -3141,7 +3137,6 @@ char *ds_gen_scripts(char *sroot, server_config_s *cf, char *cs_path)
void
suffix_gen_conf(FILE* f, char * suffix, char *be_name)
{
- int l;
char* belowdn;
fprintf(f, "dn: cn=%s,cn=ldbm database,cn=plugins,cn=config\n", be_name);
@@ -3193,10 +3188,9 @@ suffix_gen_conf(FILE* f, char * suffix, char *be_name)
fprintf(f, "cn: index\n");
fprintf(f, "\n");
- l = strlen("cn=index,cn=") + strlen(be_name) + strlen(",cn=ldbm database,cn=plugins,cn=config");
- belowdn = (char *)malloc(l + 1);
- sprintf(belowdn, "cn=index,cn=%s,cn=ldbm database,cn=plugins,cn=config", be_name);
+ belowdn = PR_smprintf("cn=index,cn=%s,cn=ldbm database,cn=plugins,cn=config", be_name);
ds_gen_index(f, belowdn);
+ PR_smprintf_free(belowdn);
/* done with ldbm entries */
}
@@ -3224,7 +3218,7 @@ char *ds_gen_confs(char *sroot, server_config_s *cf,
int rootdse = 0;
char *shared_lib;
- sprintf(fn, "%s%cconfig%cdse.ldif", cs_path, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(fn, sizeof(fn), "%s%cconfig%cdse.ldif", cs_path, FILE_PATHSEP, FILE_PATHSEP);
if(!(f = fopen(fn, "w")))
return make_error("Can't write to %s (%s)", fn, ds_system_errmsg());
@@ -3727,6 +3721,7 @@ char *ds_gen_confs(char *sroot, server_config_s *cf,
}
}
+#ifdef BUILD_PAM_PASSTHRU
#if !defined( XP_WIN32 )
/* PAM Pass Through Auth plugin - off by default */
fprintf(f, "dn: cn=PAM Pass Through Auth,cn=plugins,cn=config\n");
@@ -3752,6 +3747,7 @@ char *ds_gen_confs(char *sroot, server_config_s *cf,
fprintf(f, "pamService: ldapserver\n");
fprintf(f, "\n");
#endif /* NO PAM FOR WINDOWS */
+#endif /* BUILD_PAM_PASSTHRU */
fprintf(f, "dn: cn=ldbm database,cn=plugins,cn=config\n");
fprintf(f, "objectclass: top\n");
@@ -3946,17 +3942,17 @@ char *ds_gen_confs(char *sroot, server_config_s *cf,
fclose (f);
- sprintf(src, "%s%cconfig%cdse.ldif", cs_path, FILE_PATHSEP, FILE_PATHSEP);
- sprintf(fn, "%s%cconfig%cdse_original.ldif", cs_path, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(src, sizeof(src), "%s%cconfig%cdse.ldif", cs_path, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(fn, sizeof(fn), "%s%cconfig%cdse_original.ldif", cs_path, FILE_PATHSEP, FILE_PATHSEP);
create_instance_copy(src, fn, 0600);
/*
* generate slapd-collations.conf
*/
- sprintf(src, "%s%cbin%c"PRODUCT_NAME"%cinstall%cconfig%c%s-collations.conf",
+ PR_snprintf(src, sizeof(src), "%s%cbin%c"PRODUCT_NAME"%cinstall%cconfig%c%s-collations.conf",
sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
FILE_PATHSEP, PRODUCT_NAME);
- sprintf(dest, "%s%cconfig%c%s-collations.conf", cs_path, FILE_PATHSEP,
+ PR_snprintf(dest, sizeof(dest), "%s%cconfig%c%s-collations.conf", cs_path, FILE_PATHSEP,
FILE_PATHSEP, PRODUCT_NAME);
if (!(srcf = fopen(src, "r"))) {
return make_error("Can't read from %s (%s)", src, ds_system_errmsg());
@@ -3976,20 +3972,20 @@ char *ds_gen_confs(char *sroot, server_config_s *cf,
fclose(srcf);
fclose(f);
- sprintf(src, "%s/bin/slapd/install/schema", sroot);
- sprintf(dest, "%s/config/schema", cs_path);
+ PR_snprintf(src, sizeof(src), "%s/bin/slapd/install/schema", sroot);
+ PR_snprintf(dest, sizeof(dest), "%s/config/schema", cs_path);
if (NULL != (t = ds_copy_group_files(src, dest, 0)))
return t;
#if defined (BUILD_PRESENCE)
- sprintf(src, "%s/bin/slapd/install/presence", sroot);
- sprintf(dest, "%s/config/presence", cs_path);
+ PR_snprintf(src, sizeof(src), "%s/bin/slapd/install/presence", sroot);
+ PR_snprintf(dest, sizeof(dest), "%s/config/presence", cs_path);
if (t = ds_copy_group_files(src, dest, 0))
return t;
#endif
/* Generate the orgchart configuration */
- sprintf(src, "%s/clients", sroot);
+ PR_snprintf(src, sizeof(src), "%s/clients", sroot);
if (is_a_dir(src, "orgchart")) {
if (NULL != (t = ds_gen_orgchart_conf(sroot, cs_path, cf))) {
return t;
@@ -3997,7 +3993,7 @@ char *ds_gen_confs(char *sroot, server_config_s *cf,
}
/* Generate dsgw.conf */
- sprintf(src, "%s/clients", sroot);
+ PR_snprintf(src, sizeof(src), "%s/clients", sroot);
if (is_a_dir(src, "dsgw")) {
if (NULL != (t = ds_gen_gw_conf(sroot, cs_path, cf, GW_CONF))) {
return t;
@@ -4045,7 +4041,7 @@ ds_gen_gw_conf(char *sroot, char *cs_path, server_config_s *cf, int conf_type)
* copying the rest from NS-HOME/dsgw/config/dsgw.tmpl
*/
- sprintf(dest, "%s%cclients%cdsgw%ccontext%c%s.conf", sroot, FILE_PATHSEP,FILE_PATHSEP,
+ PR_snprintf(dest, sizeof(dest), "%s%cclients%cdsgw%ccontext%c%s.conf", sroot, FILE_PATHSEP,FILE_PATHSEP,
FILE_PATHSEP, FILE_PATHSEP, ctxt);
@@ -4082,10 +4078,10 @@ ds_gen_gw_conf(char *sroot, char *cs_path, server_config_s *cf, int conf_type)
/* copy in template */
if (conf_type == GW_CONF) {
- sprintf(src, "%s%cclients%cdsgw%cconfig%cdsgw.tmpl",
+ PR_snprintf(src, sizeof(src), "%s%cclients%cdsgw%cconfig%cdsgw.tmpl",
sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
} else if (conf_type == PB_CONF) {
- sprintf(src, "%s%cclients%cdsgw%cpbconfig%cpb.tmpl",
+ PR_snprintf(src, sizeof(src), "%s%cclients%cdsgw%cpbconfig%cpb.tmpl",
sroot, FILE_PATHSEP,FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
} else {
/*This should never, ever happen if this function is called correctly*/
@@ -4123,7 +4119,7 @@ ds_gen_gw_conf(char *sroot, char *cs_path, server_config_s *cf, int conf_type)
}
#endif
- sprintf(defaultconf, "%s%cclients%cdsgw%ccontext%cdefault.conf", sroot,
+ PR_snprintf(defaultconf, sizeof(defaultconf), "%s%cclients%cdsgw%ccontext%cdefault.conf", sroot,
FILE_PATHSEP,FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP);
create_instance_copy(dest, defaultconf, NEWFILE_MODE);
@@ -4159,9 +4155,9 @@ ds_gen_orgchart_conf(char *sroot, char *cs_path, server_config_s *cf)
* install-specific config. file lines at the start of file, and then
* copying the rest from NS-HOME/clients/orgchart/config.tmpl
*/
- sprintf(dest, "%s%cclients%corgchart%cconfig.txt", sroot, FILE_PATHSEP,
+ PR_snprintf(dest, sizeof(dest), "%s%cclients%corgchart%cconfig.txt", sroot, FILE_PATHSEP,
FILE_PATHSEP, FILE_PATHSEP );
- sprintf(src, "%s%cclients%corgchart%cconfig.tmpl", sroot, FILE_PATHSEP,
+ PR_snprintf(src, sizeof(src), "%s%cclients%corgchart%cconfig.tmpl", sroot, FILE_PATHSEP,
FILE_PATHSEP, FILE_PATHSEP);
/* If the config file already exists, just return success */
@@ -4229,9 +4225,9 @@ static char *gen_presence_init_script(char *sroot, server_config_s *cf,
char dir[PATH_SIZE];
FILE *f;
- sprintf(dir, "%s%cconfig%cpresence",
+ PR_snprintf(dir, sizeof(dir), "%s%cconfig%cpresence",
cs_path, FILE_PATHSEP, FILE_PATHSEP);
- sprintf(fn, "%s%c%s",
+ PR_snprintf(fn, sizeof(fn), "%s%c%s",
dir, FILE_PATHSEP, PRESENCE_LDIF);
if(!(f = fopen(fn, "w")))
@@ -4309,13 +4305,13 @@ static int init_presence(char *sroot, server_config_s *cf, char *cs_path)
char precmd[PATH_SIZE];
precmd[0] = 0;
- sprintf(tools, "%s%cshared%cbin", sroot, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(tools, sizeof(tools), "%s%cshared%cbin", sroot, FILE_PATHSEP, FILE_PATHSEP);
#ifdef XP_UNIX
- sprintf(precmd, "cd %s;", tools);
+ PR_snprintf(precmd, sizeof(precmd), "cd %s;", tools);
#endif
- sprintf(cmd, "%s%s%cldapmodify -q -p %d -b -D \"%s\" -w \"%s\" "
+ PR_snprintf(cmd, sizeof(cmd), "%s%s%cldapmodify -q -p %d -b -D \"%s\" -w \"%s\" "
"-f %s%s%cconfig%cpresence%c%s%s",
precmd,
tools, FILE_PATHSEP,
@@ -4342,6 +4338,7 @@ static void
ds_gen_index(FILE* f, char* belowdn)
{
#define MKINDEX(_name, _inst, _sys, _type1, _type2, _type3) do { \
+ char *_type2str = (_type2), *_type3str = (_type3); \
fprintf(f, "dn: cn=%s,%s\n", (_name), (_inst)); \
fprintf(f, "objectclass: top\n"); \
fprintf(f, "objectclass: nsIndex\n"); \
@@ -4349,10 +4346,10 @@ ds_gen_index(FILE* f, char* belowdn)
fprintf(f, "nssystemindex: %s\n", (_sys) ? "true" : "false"); \
if (_type1) \
fprintf(f, "nsindextype: %s\n", (_type1)); \
- if (_type2) \
- fprintf(f, "nsindextype: %s\n", (_type2)); \
- if (_type3) \
- fprintf(f, "nsindextype: %s\n", (_type3)); \
+ if (_type2str) \
+ fprintf(f, "nsindextype: %s\n", _type2str); \
+ if (_type3str) \
+ fprintf(f, "nsindextype: %s\n", _type3str); \
fprintf(f, "\n"); \
} while (0)
@@ -4409,7 +4406,7 @@ static char *install_ds(char *sroot, server_config_s *cf, char *param_name)
}
#endif
- sprintf(cs_path, "%s%c"PRODUCT_NAME"-%s", sroot, FILE_PATHSEP, cf->servid);
+ PR_snprintf(cs_path, sizeof(cs_path), "%s%c"PRODUCT_NAME"-%s", sroot, FILE_PATHSEP, cf->servid);
/* create all <a_server>/<subdirs> */
if ( (t = ds_cre_subdirs(sroot, cf, cs_path, pw)) )
@@ -4428,46 +4425,46 @@ static char *install_ds(char *sroot, server_config_s *cf, char *param_name)
if ( (t = ds_gen_confs(sroot, cf, cs_path)) )
return(t);
- sprintf(src, "%s%cbin%c"PRODUCT_NAME"%cinstall%cldif%cExample.ldif", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
+ PR_snprintf(src, sizeof(src), "%s%cbin%c"PRODUCT_NAME"%cinstall%cldif%cExample.ldif", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
FILE_PATHSEP);
- sprintf(dest, "%s%cldif%cExample.ldif", cs_path, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(dest, sizeof(dest), "%s%cldif%cExample.ldif", cs_path, FILE_PATHSEP, FILE_PATHSEP);
create_instance_copy(src, dest, NEWFILE_MODE);
chownfile (pw, dest);
- sprintf(src, "%s%cbin%c"PRODUCT_NAME"%cinstall%cldif%cExample-roles.ldif", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
+ PR_snprintf(src, sizeof(src), "%s%cbin%c"PRODUCT_NAME"%cinstall%cldif%cExample-roles.ldif", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
FILE_PATHSEP);
- sprintf(dest, "%s%cldif%cExample-roles.ldif", cs_path, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(dest, sizeof(dest), "%s%cldif%cExample-roles.ldif", cs_path, FILE_PATHSEP, FILE_PATHSEP);
create_instance_copy(src, dest, NEWFILE_MODE);
chownfile (pw, dest);
- sprintf(src, "%s%cbin%c"PRODUCT_NAME"%cinstall%cldif%cExample-views.ldif", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
+ PR_snprintf(src, sizeof(src), "%s%cbin%c"PRODUCT_NAME"%cinstall%cldif%cExample-views.ldif", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
FILE_PATHSEP);
- sprintf(dest, "%s%cldif%cExample-views.ldif", cs_path, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(dest, sizeof(dest), "%s%cldif%cExample-views.ldif", cs_path, FILE_PATHSEP, FILE_PATHSEP);
create_instance_copy(src, dest, NEWFILE_MODE);
chownfile (pw, dest);
- sprintf(src, "%s%cbin%c"PRODUCT_NAME"%cinstall%cldif%cEuropean.ldif", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
+ PR_snprintf(src, sizeof(src), "%s%cbin%c"PRODUCT_NAME"%cinstall%cldif%cEuropean.ldif", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
FILE_PATHSEP);
- sprintf(dest, "%s%cldif%cEuropean.ldif", cs_path, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(dest, sizeof(dest), "%s%cldif%cEuropean.ldif", cs_path, FILE_PATHSEP, FILE_PATHSEP);
create_instance_copy(src, dest, NEWFILE_MODE);
chownfile (pw, dest);
/* new code for dsml sample files */
- sprintf(src, "%s%cbin%c"PRODUCT_NAME"%cinstall%cdsml%cExample.dsml", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
+ PR_snprintf(src, sizeof(src), "%s%cbin%c"PRODUCT_NAME"%cinstall%cdsml%cExample.dsml", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
FILE_PATHSEP);
- sprintf(dest, "%s%cdsml%cExample.dsml", cs_path, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(dest, sizeof(dest), "%s%cdsml%cExample.dsml", cs_path, FILE_PATHSEP, FILE_PATHSEP);
create_instance_copy(src, dest, NEWFILE_MODE);
chownfile (pw, dest);
- sprintf(src, "%s%cbin%c"PRODUCT_NAME"%cinstall%cdsml%cExample-roles.dsml", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
+ PR_snprintf(src, sizeof(src), "%s%cbin%c"PRODUCT_NAME"%cinstall%cdsml%cExample-roles.dsml", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
FILE_PATHSEP);
- sprintf(dest, "%s%cdsml%cExample-roles.dsml", cs_path, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(dest, sizeof(dest), "%s%cdsml%cExample-roles.dsml", cs_path, FILE_PATHSEP, FILE_PATHSEP);
create_instance_copy(src, dest, NEWFILE_MODE);
chownfile (pw, dest);
- sprintf(src, "%s%cbin%c"PRODUCT_NAME"%cinstall%cdsml%cEuropean.dsml", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
+ PR_snprintf(src, sizeof(src), "%s%cbin%c"PRODUCT_NAME"%cinstall%cdsml%cEuropean.dsml", sroot, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP, FILE_PATHSEP,
FILE_PATHSEP);
- sprintf(dest, "%s%cdsml%cEuropean.dsml", cs_path, FILE_PATHSEP, FILE_PATHSEP);
+ PR_snprintf(dest, sizeof(dest), "%s%cdsml%cEuropean.dsml", cs_path, FILE_PATHSEP, FILE_PATHSEP);
create_instance_copy(src, dest, NEWFILE_MODE);
chownfile (pw, dest);
@@ -4480,10 +4477,10 @@ static char *install_ds(char *sroot, server_config_s *cf, char *param_name)
char msg[2*PATH_SIZE] = {0};
int status = ds_ldif2db_backend_subtree(cf->install_ldif_file, NULL, cf->suffix);
if (status)
- sprintf(msg, "The file %s could not be loaded",
+ PR_snprintf(msg, sizeof(msg), "The file %s could not be loaded",
cf->install_ldif_file);
else
- sprintf(msg, "The file %s was successfully loaded",
+ PR_snprintf(msg, sizeof(msg), "The file %s was successfully loaded",
cf->install_ldif_file);
ds_show_message(msg);
free(cf->install_ldif_file);
@@ -4500,7 +4497,7 @@ static char *install_ds(char *sroot, server_config_s *cf, char *param_name)
if(needToStartServer(cf) &&
!(t = create_instance_checkport(cf->bindaddr, cf->servport)))
{
- sprintf(big_line,"SERVER_NAMES=slapd-%s",cf->servid);
+ PR_snprintf(big_line, sizeof(big_line),"SERVER_NAMES=slapd-%s",cf->servid);
putenv(big_line);
isrunning = ds_get_updown_status();
@@ -4514,10 +4511,10 @@ static char *install_ds(char *sroot, server_config_s *cf, char *param_name)
if (getenv("USE_DEBUGGER"))
verbose = 0;
/* slapd-nickname directory */
- sprintf(instance_dir, "%s%c"PRODUCT_NAME"-%s", sroot, FILE_PATHSEP,
+ PR_snprintf(instance_dir, sizeof(instance_dir), "%s%c"PRODUCT_NAME"-%s", sroot, FILE_PATHSEP,
cf->servid);
/* error log file */
- sprintf(errorlog, "%s%clogs%cerrors", instance_dir, FILE_PATHSEP,
+ PR_snprintf(errorlog, sizeof(errorlog), "%s%clogs%cerrors", instance_dir, FILE_PATHSEP,
FILE_PATHSEP);
start_status = ds_bring_up_server_install(verbose, instance_dir, errorlog);
@@ -4575,7 +4572,7 @@ static char *install_ds(char *sroot, server_config_s *cf, char *param_name)
char szTmp[512];
/*replaced errno > -1 && errno < sys_nerr ? sys_errlist[errno] :
"unknown" with strerror(errno)*/
- sprintf(szTmp, "Error: Windows Sockets initialization failed errno %d (%s)<br>\n", errno,
+ PR_snprintf(szTmp, sizeof(szTmp), "Error: Windows Sockets initialization failed errno %d (%s)<br>\n", errno,
strerror(errno), 0 );
fprintf (stdout, szTmp);
@@ -4658,8 +4655,7 @@ write_ldap_info( char *slapd_server_root, server_config_s *cf)
return -1;
}
- infoFileName = (char*)malloc(strlen(fmt) + strlen(slapd_server_root) + 1);
- sprintf(infoFileName, fmt, slapd_server_root);
+ infoFileName = PR_smprintf(fmt, slapd_server_root);
if ((fp = fopen(infoFileName, "w")) == NULL)
{
@@ -4689,7 +4685,7 @@ write_ldap_info( char *slapd_server_root, server_config_s *cf)
logUninstallInfo(slapd_server_root, PRODUCT_NAME, PRODUCT_NAME, infoFileName);
#endif /* SOLARIS */
- free(infoFileName);
+ PR_smprintf_free(infoFileName);
return ret;
}