Project

General

Profile

« Previous | Next » 

Revision b5a4633f

Added by Jim Pingle almost 7 years ago

Use safe_mkdir() for IPsec dirs. Fixes #8856

Simplifies the process of making IPsec dirs, though it may not correct
the original reported issue since that appears to be a disk problem,
it's still better/safer than what was done here before.

View differences:

src/etc/inc/vpn.inc
167 167
	$ipsec_vti_cleanup_ifs = array();
168 168

  
169 169
	/* needed for config files */
170
	if (!is_dir("{$g['varetc_path']}/ipsec")) {
171
		mkdir("{$g['varetc_path']}/ipsec");
172
	}
173
	if (!is_dir("{$g['varetc_path']}/ipsec/ipsec.d")) {
174
		mkdir("{$g['varetc_path']}/ipsec/ipsec.d");
175
	}
170
	safe_mkdir("{$g['varetc_path']}/ipsec");
171
	safe_mkdir("{$g['varetc_path']}/ipsec/ipsec.d");
172

  
176 173
	// delete these paths first to ensure old CAs, certs and CRLs aren't left behind. redmine #5238
177 174
	rmdir_recursive($capath);
178 175
	rmdir_recursive($keypath);
179 176
	rmdir_recursive($crlpath);
180 177
	rmdir_recursive($certpath);
181
	if (!is_dir($capath)) {
182
		mkdir($capath);
183
	}
184
	if (!is_dir($keypath)) {
185
		mkdir($keypath);
186
	}
187
	if (!is_dir($crlpath)) {
188
		mkdir($crlpath);
189
	}
190
	if (!is_dir($certpath)) {
191
		mkdir($certpath);
192
	}
193
	if (!is_dir("{$g['varetc_path']}/ipsec/ipsec.d/aacerts")) {
194
		mkdir("{$g['varetc_path']}/ipsec/ipsec.d/aacerts");
195
	}
196
	if (!is_dir("{$g['varetc_path']}/ipsec/ipsec.d/acerts")) {
197
		mkdir("{$g['varetc_path']}/ipsec/ipsec.d/acerts");
198
	}
199
	if (!is_dir("{$g['varetc_path']}/ipsec/ipsec.d/ocspcerts")) {
200
		mkdir("{$g['varetc_path']}/ipsec/ipsec.d/ocspcerts");
201
	}
202
	if (!is_dir("{$g['varetc_path']}/ipsec/ipsec.d/reqs")) {
203
		mkdir("{$g['varetc_path']}/ipsec/ipsec.d/reqs");
204
	}
178

  
179
	safe_mkdir($capath);
180
	safe_mkdir($keypath);
181
	safe_mkdir($crlpath);
182
	safe_mkdir($certpath);
183
	safe_mkdir("{$g['varetc_path']}/ipsec/ipsec.d/aacerts");
184
	safe_mkdir("{$g['varetc_path']}/ipsec/ipsec.d/acerts");
185
	safe_mkdir("{$g['varetc_path']}/ipsec/ipsec.d/ocspcerts");
186
	safe_mkdir("{$g['varetc_path']}/ipsec/ipsec.d/reqs");
205 187

  
206 188
	if (!file_exists("/usr/local/etc/ipsec.d") ||
207 189
	    !is_link("/usr/local/etc/ipsec.d")) {

Also available in: Unified diff