Project

General

Profile

« Previous | Next » 

Revision 573ec19d

Added by Renato Botelho over 4 years ago

Add product_label global variable

Introduce product_label global variable, by default with same value of
product_name. The idea is to make it easier for rebranded products to
change the name on all visual texts while internal structures are
preserved.

While here, remove deprecated $g['platform'] and also replace places
with pfSense hardcoded on text messages by $g['product_label'].

No functional changes are expected.

View differences:

src/etc/inc/acb.inc
181 181
	curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, 1);
182 182
	curl_setopt($curl_session, CURLOPT_CONNECTTIMEOUT, 55);
183 183
	curl_setopt($curl_session, CURLOPT_TIMEOUT, 30);
184
	curl_setopt($curl_session, CURLOPT_USERAGENT, $g['product_name'] . '/' . rtrim(file_get_contents("/etc/version")));
184
	curl_setopt($curl_session, CURLOPT_USERAGENT, $g['product_label'] . '/' . rtrim(file_get_contents("/etc/version")));
185 185
	// Proxy
186 186
	curl_setopt_array($curl_session, configure_proxy());
187 187

  
......
294 294
			curl_setopt($curl_session, CURLOPT_SSL_VERIFYPEER, 1);
295 295
			curl_setopt($curl_session, CURLOPT_CONNECTTIMEOUT, 55);
296 296
			curl_setopt($curl_session, CURLOPT_TIMEOUT, 30);
297
			curl_setopt($curl_session, CURLOPT_USERAGENT, $g['product_name'] . '/' . rtrim(file_get_contents("/etc/version")));
297
			curl_setopt($curl_session, CURLOPT_USERAGENT, $g['product_label'] . '/' . rtrim(file_get_contents("/etc/version")));
298 298
			// Proxy
299 299
			curl_setopt_array($curl_session, configure_proxy());
300 300

  
......
313 313
			}
314 314

  
315 315
			if (strpos($data, "500") != false) {
316
				$notice_text = gettext("An error occurred while uploading your pfSense configuration to ") . $upload_url . " (" . htmlspecialchars($data) . ")";
316
				$notice_text = sprintf(gettext(
317
				    "An error occurred while uploading your %s configuration to "), $g['product_label']) .
318
				    $upload_url . " (" . htmlspecialchars($data) . ")";
317 319
				log_error($notice_text . " - " . $data);
318 320
				file_notice("AutoConfigBackup", $notice_text);
319 321
				update_filter_reload_status($notice_text);
src/etc/inc/auth.inc
2177 2177
function print_credit() {
2178 2178
	global $g;
2179 2179

  
2180
	return  '<a target="_blank" href="https://pfsense.org">' . $g["product_name"] . '</a>' .
2180
	return  '<a target="_blank" href="https://pfsense.org">' . $g["product_label"] . '</a>' .
2181 2181
			gettext(' is developed and maintained by ') .
2182 2182
			'<a target="_blank" href="https://netgate.com">Netgate. </a>' . ' &copy; ESF ' . $g["product_copyright_years"] .
2183 2183
			'<a target="_blank" href="https://pfsense.org/license">' .
src/etc/inc/authgui.inc
271 271
		$loginbannerstr = sprintf(gettext('%1$s.%2$s'), htmlspecialchars($config['system']['hostname']), htmlspecialchars($config['system']['domain']));
272 272
		$login_title = gettext(htmlspecialchars($config['system']['hostname'] . " - Login"));
273 273
	} else {
274
		$loginbannerstr = sprintf(gettext('Login to %1$s'), $g['product_name']);
275
		$login_title = gettext("pfSense - Login");
274
		$loginbannerstr = sprintf(gettext('Login to %1$s'), $g['product_label']);
275
		$login_title = sprintf(gettext("%s - Login"), $g['product_label']);
276 276
	}
277 277

  
278 278
	$loginautocomplete = isset($config['system']['webgui']['loginautocomplete']) ? '' : 'autocomplete="off"';
src/etc/inc/config.console.inc
52 52
	if ($physmem < $g['minimum_ram_warning']) {
53 53
		echo "\n\n\n";
54 54
		echo gettext("DANGER!  WARNING!  ACHTUNG!") . "\n\n";
55
		printf(gettext('%1$s requires *AT LEAST* %2$s RAM to function correctly.%3$s'), $g['product_name'], $g['minimum_ram_warning_text'], "\n");
56
		printf(gettext('Only (%1$s) MB RAM has been detected, with (%2$s) available to %3$s.%4$s'), $realmem, $physmem, $g['product_name'], "\n");
55
		printf(gettext('%1$s requires *AT LEAST* %2$s RAM to function correctly.%3$s'), $g['product_label'], $g['minimum_ram_warning_text'], "\n");
56
		printf(gettext('Only (%1$s) MB RAM has been detected, with (%2$s) available to %3$s.%4$s'), $realmem, $physmem, $g['product_label'], "\n");
57 57
		echo "\n" . gettext("Press ENTER to continue.") . " ";
58 58
		fgets($fp);
59 59
		echo "\n";
src/etc/inc/config.lib.inc
222 222
		//pfSense_fsync("/cf/conf/config.xml");
223 223
		//pfSense_fsync($g['conf_path']);
224 224
		disable_security_checks();
225
		log_error(sprintf(gettext('%1$s is restoring the configuration %2$s'), $g['product_name'], $file));
226
		file_notice("config.xml", sprintf(gettext('%1$s is restoring the configuration %2$s'), $g['product_name'], $file), "pfSenseConfigurator", "");
225
		log_error(sprintf(gettext('%1$s is restoring the configuration %2$s'), $g['product_label'], $file));
226
		file_notice("config.xml", sprintf(gettext('%1$s is restoring the configuration %2$s'), $g['product_label'], $file), "pfSenseConfigurator", "");
227 227
	}
228 228
}
229 229

  
......
337 337
				restore_backup("/cf/conf/backup/{$last_backup}");
338 338
			}
339 339
			if (!file_exists("{$g['conf_path']}/config.xml")) {
340
				echo sprintf(gettext("XML configuration file not found.  %s cannot continue booting."), $g['product_name']) . "\n";
340
				echo sprintf(gettext("XML configuration file not found.  %s cannot continue booting."), $g['product_label']) . "\n";
341 341
				unlock($lockkey);
342 342
				die(gettext("Could not find a usable configuration file or it's backup! Exiting...."));
343 343
			} else {
......
372 372

  
373 373
*******************************************************************************
374 374
* WARNING!                                                                    *
375
* The current configuration has been created with a newer version of {$g['product_name']}  *
375
* The current configuration has been created with a newer version of {$g['product_label']}  *
376 376
* than this one! This can lead to serious misbehavior and even security       *
377
* holes! You are urged to either upgrade to a newer version of {$g['product_name']} or     *
377
* holes! You are urged to either upgrade to a newer version of {$g['product_label']} or     *
378 378
* revert to the default configuration immediately!                            *
379 379
*******************************************************************************
380 380

  
src/etc/inc/copyget.inc
47 47
			curl_setopt($ch, CURLOPT_HEADER, 0);
48 48
			curl_setopt($ch, CURLOPT_VERBOSE, 0);
49 49
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
50
			curl_setopt($ch, CURLOPT_USERAGENT, $g['product_name'] . '/' . $g['product_version']);
50
			curl_setopt($ch, CURLOPT_USERAGENT, $g['product_label'] . '/' . $g['product_version']);
51 51
			curl_setopt($ch, CURLOPT_URL, $url);
52 52
			curl_setopt($ch, CURLOPT_POST, true);
53 53
			curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
src/etc/inc/globals.inc
64 64
	"xml_rootobj" => "pfsense",
65 65
	"admin_group" => "admins",
66 66
	"product_name" => "pfSense",
67
	"product_label" => "pfSense",
67 68
	"product_version" => trim(file_get_contents("/etc/version"), " \n"),
68 69
	"product_copyright_years" => "2004 - ".date("Y"),
69 70
	"disablehelpmenu" => false,
src/etc/inc/interfaces.inc
3538 3538

  
3539 3539
	$fd_set = fopen("{$g['tmp_path']}/{$if}_setup.sh", "w");
3540 3540
	fwrite($fd_set, "#!/bin/sh\n");
3541
	fwrite($fd_set, "# {$g['product_name']} wireless configuration script.\n\n");
3541
	fwrite($fd_set, "# {$g['product_label']} wireless configuration script.\n\n");
3542 3542

  
3543 3543
	$wlan_setup_log = fopen("{$g['tmp_path']}/{$if}_setup.log", "w");
3544 3544

  
src/etc/inc/pfsense-utils.inc
2074 2074
	curl_setopt($ch, CURLOPT_HEADER, false);
2075 2075
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
2076 2076
	if (!isset($config['system']['do_not_send_uniqueid'])) {
2077
		curl_setopt($ch, CURLOPT_USERAGENT, $g['product_name'] . '/' . $g['product_version'] . ':' . system_get_uniqueid());
2077
		curl_setopt($ch, CURLOPT_USERAGENT, $g['product_label'] . '/' . $g['product_version'] . ':' . system_get_uniqueid());
2078 2078
	} else {
2079
		curl_setopt($ch, CURLOPT_USERAGENT, $g['product_name'] . '/' . $g['product_version']);
2079
		curl_setopt($ch, CURLOPT_USERAGENT, $g['product_label'] . '/' . $g['product_version']);
2080 2080
	}
2081 2081

  
2082 2082
	if (!empty($config['system']['proxyurl'])) {
......
2130 2130
	curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $connect_timeout);
2131 2131
	curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
2132 2132
	if (!isset($config['system']['do_not_send_uniqueid'])) {
2133
		curl_setopt($ch, CURLOPT_USERAGENT, $g['product_name'] . '/' . $g['product_version'] . ':' . system_get_uniqueid());
2133
		curl_setopt($ch, CURLOPT_USERAGENT, $g['product_label'] . '/' . $g['product_version'] . ':' . system_get_uniqueid());
2134 2134
	} else {
2135
		curl_setopt($ch, CURLOPT_USERAGENT, $g['product_name'] . '/' . $g['product_version']);
2135
		curl_setopt($ch, CURLOPT_USERAGENT, $g['product_label'] . '/' . $g['product_version']);
2136 2136
	}
2137 2137

  
2138 2138
	if (!empty($config['system']['proxyurl'])) {
src/etc/inc/pkg-utils.inc
85 85
function pkg_env($extra_env = array()) {
86 86
	global $config, $g;
87 87

  
88
	$user_agent = $g['product_name'] . '/' . $g['product_version'];
88
	$user_agent = $g['product_label'] . '/' . $g['product_version'];
89 89
	if (!isset($config['system']['do_not_send_uniqueid'])) {
90 90
		$user_agent .= ':' . system_get_uniqueid();
91 91
	}
......
1216 1216
			file_notice(gettext("Package reinstall"),
1217 1217
			    sprintf(gettext("Package %s does not exist in " .
1218 1218
			    "current %s version and it has been removed."),
1219
			    $package, $g['product_name']));
1219
			    $package, $g['product_label']));
1220 1220
			uninstall_package($package);
1221 1221
		}
1222 1222
	}
......
1581 1581
		    "{\"platform\":\"" . $platformname .
1582 1582
		    "\",\"os\":\"" . $os .
1583 1583
		    "\",\"osver\":\"" . $osver .
1584
		    "\",\"prod\":\"" . $g['product_name'] .
1584
		    "\",\"prod\":\"" . $g['product_label'] .
1585 1585
		    "\",\"ver\":\"" . $g['product_version'] .
1586 1586
		    "\",\"ed\":\"" . $ed .
1587 1587
		    "\",\"pkgs\":[";
......
1615 1615
		curl_setopt($ch, CURLOPT_HEADER, 0);
1616 1616
		curl_setopt($ch, CURLOPT_VERBOSE, 0);
1617 1617
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
1618
		curl_setopt($ch, CURLOPT_USERAGENT, $g['product_name'] . '/' .
1618
		curl_setopt($ch, CURLOPT_USERAGENT, $g['product_label'] . '/' .
1619 1619
		    $g['product_version']);
1620 1620
		curl_setopt($ch, CURLOPT_URL, $FQDN);
1621 1621
		curl_setopt($ch, CURLOPT_POST, true);
src/etc/inc/priv.defs.inc
22 22

  
23 23
$priv_list['page-diagnostics-crash-reporter'] = array();
24 24
$priv_list['page-diagnostics-crash-reporter']['name'] = gettext("WebCfg - Crash reporter");
25
$priv_list['page-diagnostics-crash-reporter']['descr'] = gettext("Uploads crash reports to pfSense and or deletes crash reports.");
25
$priv_list['page-diagnostics-crash-reporter']['descr'] = sprintf(gettext("Uploads crash reports to %s and or deletes crash reports."), $g['product_label']);
26 26
$priv_list['page-diagnostics-crash-reporter']['match'] = array();
27 27
$priv_list['page-diagnostics-crash-reporter']['match'][] = "crash_reporter.php*";
28 28

  
......
1268 1268
$priv_list['page-openvpn-server']['match'][] = "vpn_openvpn_server.php*";
1269 1269

  
1270 1270
$priv_list['page-pfsensewizardsubsystem'] = array();
1271
$priv_list['page-pfsensewizardsubsystem']['name'] = gettext("WebCfg - pfSense wizard subsystem");
1272
$priv_list['page-pfsensewizardsubsystem']['descr'] = gettext("Allow access to the 'pfSense wizard subsystem' page.");
1271
$priv_list['page-pfsensewizardsubsystem']['name'] = sprintf(gettext("WebCfg - %s wizard subsystem"), $g['product_label']);
1272
$priv_list['page-pfsensewizardsubsystem']['descr'] = sprintf(gettext("Allow access to the '%s wizard subsystem' page."), $g['product_label']);
1273 1273
$priv_list['page-pfsensewizardsubsystem']['match'] = array();
1274 1274
$priv_list['page-pfsensewizardsubsystem']['match'][] = "wizard.php*";
1275 1275

  
src/etc/inc/priv/user.priv.inc
54 54

  
55 55
$priv_list['user-copy-files'] = array();
56 56
$priv_list['user-copy-files']['name']  = gettext("User - System: Copy files (scp)");
57
$priv_list['user-copy-files']['descr'] = gettext("Indicates whether this user is allowed to copy files onto the {$g['product_name']} appliance via SCP/SFTP.");
57
$priv_list['user-copy-files']['descr'] = gettext("Indicates whether this user is allowed to copy files onto the {$g['product_label']} appliance via SCP/SFTP.");
58 58
$priv_list['user-copy-files']['warn'] = "standard-warning-root";
59 59

  
60 60
$priv_list['user-copy-files-chroot'] = array();
src/etc/inc/service-utils.inc
46 46
	}
47 47

  
48 48
	$towrite = "#!/bin/sh\n";
49
	$towrite .= "# This file was automatically generated\n# by the {$g['product_name']} service handler.\n\n";
49
	$towrite .= "# This file was automatically generated\n# by the {$g['product_label']} service handler.\n\n";
50 50

  
51 51
	/* write our rc functions */
52 52
	$towrite .= "rc_start() {\n";
src/etc/inc/services.inc
2578 2578
EOD;
2579 2579
		}
2580 2580

  
2581
		$sysDescr = "{$g['product_name']} {$config['system']['hostname']}.{$config['system']['domain']}" .
2581
		$sysDescr = "{$g['product_label']} {$config['system']['hostname']}.{$config['system']['domain']}" .
2582 2582
			" {$g['product_version_string']} " . php_uname("s") .
2583 2583
			" " . php_uname("r") . " " . php_uname("m");
2584 2584

  
src/etc/inc/shaper.inc
5363 5363

  
5364 5364
}
5365 5365

  
5366
$default_shaper_msg = sprintf(gettext("Welcome to the %s Traffic Shaper."), $g['product_name']) . "<br />";
5366
$default_shaper_msg = sprintf(gettext("Welcome to the %s Traffic Shaper."), $g['product_label']) . "<br />";
5367 5367
$dn_default_shaper_msg = $default_shaper_msg;
5368 5368

  
5369 5369
$shaper_msg = gettext("The tree on the left navigates through the %s.");
src/etc/inc/syslog.inc
355 355
		}
356 356
		/* write syslog config to pfSense.conf */
357 357
		if (!@file_put_contents("{$g['varetc_path']}/syslog.d/pfSense.conf", $syslogconf)) {
358
			printf(gettext("Error: cannot open pfSense.conf in system_syslogd_start().%s"), "\n");
358
			printf(gettext("Error: cannot open syslog config file in system_syslogd_start().%s"), "\n");
359 359
			unset($syslogconf);
360 360
			return 1;
361 361
		}
......
553 553
		}
554 554

  
555 555
		if (!@file_put_contents("{$g['varetc_path']}/newsyslog.conf.d/pfSense.conf", $newsyslogconf)) {
556
			printf(gettext("Error: cannot open pfSense.conf in system_log_rotation_setup().%s"), "\n");
556
			printf(gettext("Error: cannot open syslog config file in system_log_rotation_setup().%s"), "\n");
557 557
		}
558 558
		unset($newsyslogconf);
559 559
	}
src/etc/inc/system.inc
1072 1072
	$cert_hostname = "{$config['system']['hostname']}-{$cert['refid']}";
1073 1073

  
1074 1074
	$dn = array(
1075
		'organizationName' => "{$g['product_name']} webConfigurator Self-Signed Certificate",
1075
		'organizationName' => "{$g['product_label']} webConfigurator Self-Signed Certificate",
1076 1076
		'commonName' => $cert_hostname,
1077 1077
		'subjectAltName' => "DNS:{$cert_hostname}");
1078 1078
	$old_err_level = error_reporting(0); /* otherwise openssl_ functions throw warnings directly to a page screwing menu tab */
......
2625 2625
	}
2626 2626
	unset($dmesg_boot);
2627 2627

  
2628
	return array('name' => $g['product_name'], 'descr' => $g['product_name']);
2628
	return array('name' => $g['product_name'], 'descr' => $g['product_label']);
2629 2629
}
2630 2630

  
2631 2631
function system_get_dmesg_boot() {
src/etc/inc/upgrade_config.inc
633 633
		$config['system']['user'][0]['priv'][2]['descr'] = gettext("Indicates whether this user is able to login for example via SSH.");
634 634
		$config['system']['user'][0]['priv'][3]['id'] = "copyfiles";
635 635
		$config['system']['user'][0]['priv'][3]['name'] = "Is allowed to copy files";
636
		$config['system']['user'][0]['priv'][3]['descr'] = sprintf(gettext("Indicates whether this user is allowed to copy files onto the %s appliance via SCP/SFTP."), $g['product_name']);
636
		$config['system']['user'][0]['priv'][3]['descr'] = sprintf(gettext("Indicates whether this user is allowed to copy files onto the %s appliance via SCP/SFTP."), $g['product_label']);
637 637
		$config['system']['user'][0]['priv'][4]['id'] = "isroot";
638 638
		$config['system']['user'][0]['priv'][4]['name'] = "Is root user";
639 639
		$config['system']['user'][0]['priv'][4]['descr'] = gettext("This user is associated with the UNIX root user (this privilege should only be associated with one single user).");
src/etc/inc/web/backup.inc
205 205
						$input_errors[] = gettext("Warning, could not read file {$postfiles['conffile']['tmp_name']}");
206 206
					} elseif ($post['decrypt']) {
207 207
						if (!tagfile_deformat($data, $data, "config.xml")) {
208
							$input_errors[] = gettext("The uploaded file does not appear to contain an encrypted pfsense configuration.");
208
							$input_errors[] = sprintf(gettext(
209
							    "The uploaded file does not appear to contain an encrypted %s configuration."),
210
							    $g['product_label']);
209 211
						} else {
210 212
							$data = decrypt_data($data, $post['decrypt_password']);
211 213
							if (empty($data)) {
src/etc/pfSense-rc
205 205

  
206 206
# Read product_name from $g, defaults to pfSense
207 207
# Use php -n here because we are not ready to load extensions yet
208
product=$(/usr/local/bin/php -n /usr/local/sbin/read_global_var product_name pfSense)
208
product_name=$(/usr/local/bin/php -n /usr/local/sbin/read_global_var product_name pfSense)
209
product_label=$(/usr/local/bin/php -n /usr/local/sbin/read_global_var product_label pfSense)
209 210

  
210 211
# Setup ddb on all platforms.
211 212
if [ ! -z "`sysctl -Nq debug.ddb.scripting.scripts`" ]; then
212
	/sbin/ddb /etc/${product}-ddb.conf
213
	/sbin/ddb /etc/${product_name}-ddb.conf
213 214
fi
214 215

  
215 216
# Restore contents of the RAM disk store
......
247 248
cat /usr/local/share/pfSense/ascii-art/pfsense-logo-small.txt
248 249
echo
249 250
echo
250
echo "Welcome to ${product} ${version}${version_patch}..."
251
echo "Welcome to ${product_label} ${version}${version_patch}..."
251 252
echo
252 253

  
253 254
/sbin/conscontrol mute off >/dev/null
......
374 375

  
375 376
# Second upgrade stage
376 377
[ -z "$skip_packages" ] \
377
	&& /usr/local/sbin/${product}-upgrade -y -U -b 2
378
	&& /usr/local/sbin/${product_name}-upgrade -y -U -b 2
378 379

  
379 380
# Copy default openssl config file
380 381
[ -d /etc/ssl ] \
381 382
	|| mkdir -p /etc/ssl
382
[ -f /usr/local/share/${product}/ssl/openssl.cnf ] \
383
	&& cp -f /usr/local/share/${product}/ssl/openssl.cnf /etc/ssl
383
[ -f /usr/local/share/${product_name}/ssl/openssl.cnf ] \
384
	&& cp -f /usr/local/share/${product_name}/ssl/openssl.cnf /etc/ssl
384 385
mkdir -p /usr/local/openssl >/dev/null 2>&1
385 386
ln -sf /etc/ssl/openssl.cnf \
386 387
	/usr/local/openssl/openssl.cnf
......
408 409
/usr/bin/touch $varrunpath/booting
409 410

  
410 411
# Copy custom logo over if it's present
411
if [ -d /usr/local/share/${product}/custom_logos ]; then
412
	cp -f /usr/local/share/${product}/custom_logos/*svg \
412
if [ -d /usr/local/share/${product_name}/custom_logos ]; then
413
	cp -f /usr/local/share/${product_name}/custom_logos/*svg \
413 414
		/usr/local/www
414
	cp -f /usr/local/share/${product}/custom_logos/*css \
415
	cp -f /usr/local/share/${product_name}/custom_logos/*css \
415 416
		/usr/local/www/css
416 417
fi
417 418

  
......
487 488
fi
488 489

  
489 490
[ -z "$skip_packages" ] \
490
	&& /usr/local/sbin/${product}-upgrade -y -U -b 3
491
	&& /usr/local/sbin/${product_name}-upgrade -y -U -b 3
491 492

  
492 493
# Start packages
493 494
[ -z "$skip_packages" ] \
......
500 501
get_version
501 502
BUILDTIME=`cat /etc/version.buildtime`
502 503
ARCH=`uname -m`
503
echo "$product ${version}${version_patch} $ARCH $BUILDTIME"
504
echo "$product_label ${version}${version_patch} $ARCH $BUILDTIME"
504 505

  
505 506
echo "Bootup complete"
506 507
echo "Bootup complete" | /usr/bin/logger
src/etc/pfSense-rc.shutdown
25 25
	exit -1
26 26
fi
27 27

  
28
# Read product_name from $g, defaults to pfSense
29
product=$(/usr/local/sbin/read_global_var product_name pfSense)
28
# Read product_label from $g, defaults to pfSense
29
product_label=$(/usr/local/sbin/read_global_var product_label pfSense)
30 30

  
31 31
echo
32
echo "${product} is now shutting down ..."
32
echo "${product_label} is now shutting down ..."
33 33
echo
34 34

  
35 35
stty status '^T'
src/etc/rc.banner
29 29
require_once("interfaces.inc");
30 30

  
31 31
$hostname = $config['system']['hostname'];
32
$product = $g['product_name'];
33 32
$machine = trim(`uname -m`);
34 33

  
35 34
$platform = system_identify_specific_platform();
......
42 41
}
43 42
printf("%s: %s\n\n", gettext("Netgate Device ID"), system_get_uniqueid());
44 43

  
45
print "*** Welcome to {$product} {$g['product_version_string']} ({$machine}) on {$hostname} ***\n";
44
print "*** Welcome to {$g['product_label']} {$g['product_version_string']} ({$machine}) on {$hostname} ***\n";
46 45

  
47 46
$iflist = get_configured_interface_with_descr(true);
48 47
foreach ($iflist as $ifname => $friendly) {
src/etc/rc.bootup
354 354

  
355 355
if ($physmem < $g['minimum_ram_warning']) {
356 356
	require_once("/etc/inc/notices.inc");
357
	file_notice("{$g['product_name']}MemoryRequirements", "{$g['product_name']} requires at least {$g['minimum_ram_warning_text']} of RAM.  Expect unusual performance.  This platform is not supported.", "Memory", "", 1);
357
	file_notice("{$g['product_label']}MemoryRequirements", "{$g['product_label']} requires at least {$g['minimum_ram_warning_text']} of RAM.  Expect unusual performance.  This platform is not supported.", "Memory", "", 1);
358 358
	set_sysctl(array(
359 359
		"net.inet.tcp.recvspace" => "4096",
360 360
		"net.inet.tcp.sendspace" => "4096"
src/etc/rc.filter_synchronize
88 88

  
89 89
	log_error(sprintf(gettext("XMLRPC versioncheck: ").$resp['config_version'] ." -- ". $config['version']));
90 90
	if (!isset($resp['config_version'])) {
91
		update_filter_reload_status("The {$g['product_name']} software configuration version of the other member could not be determined. Skipping synchronization to avoid causing a problem!");
92
		log_error("The {$g['product_name']} software configuration version of the other member could not be determined. Skipping synchronization to avoid causing a problem!");
91
		update_filter_reload_status("The {$g['product_label']} software configuration version of the other member could not be determined. Skipping synchronization to avoid causing a problem!");
92
		log_error("The {$g['product_label']} software configuration version of the other member could not be determined. Skipping synchronization to avoid causing a problem!");
93 93
		return false;
94 94
	} elseif ($resp['config_version'] != $config['version']) {
95
		update_filter_reload_status("The other member is on a different configuration version of {$g['product_name']}. Sync will not be done to prevent problems!");
96
		log_error("The other member is on a different configuration version of {$g['product_name']}. Sync will not be done to prevent problems!");
95
		update_filter_reload_status("The other member is on a different configuration version of {$g['product_label']}. Sync will not be done to prevent problems!");
96
		log_error("The other member is on a different configuration version of {$g['product_label']}. Sync will not be done to prevent problems!");
97 97
		return false;
98 98
	} else {
99 99
		return true;
src/etc/rc.initial
71 71
/etc/rc.banner
72 72

  
73 73
# Read product_name from $g, defaults to pfSense
74
product=$(/usr/local/sbin/read_global_var product_name pfSense)
74
product_name=$(/usr/local/sbin/read_global_var product_name pfSense)
75
product_label=$(/usr/local/sbin/read_global_var product_label pfSense)
75 76

  
76 77
# Check to see if SSH is running.
77 78
if pgrep -q -a -F /var/run/sshd.pid sshd >/dev/null 2>&1; then
......
85 86
echo " 0) Logout (SSH only)                  9) pfTop"
86 87
echo " 1) Assign Interfaces                 10) Filter Logs"
87 88
echo " 2) Set interface(s) IP address       11) Restart webConfigurator"
88
echo " 3) Reset webConfigurator password    12) PHP shell + ${product} tools"
89
echo " 3) Reset webConfigurator password    12) PHP shell + ${product_label} tools"
89 90
echo " 4) Reset to factory defaults         13) Update from console"
90 91
echo " 5) Reboot system                     ${sshd_option}"
91 92
echo " 6) Halt system                       15) Restore recent configuration"
......
138 139
	/usr/local/sbin/pfSsh.php
139 140
	;;
140 141
13)
141
	/bin/sh /usr/local/sbin/${product}-upgrade
142
	/bin/sh /usr/local/sbin/${product_name}-upgrade
142 143
	;;
143 144
14)
144 145
	php -f /etc/rc.initial.toggle_sshd
src/etc/rc.initial.defaults
40 40

  
41 41
if (strcasecmp(chop(fgets($fp)), "y") == 0) {
42 42
	reset_factory_defaults();
43
	echo "\n" . sprintf(gettext("%s is rebooting now."), $g['product_name']) . "\n";
43
	echo "\n" . sprintf(gettext("%s is rebooting now."), $g['product_label']) . "\n";
44 44
	system_reboot_sync();
45 45
}
46 46

  
src/etc/rc.initial.halt
33 33

  
34 34
$fp = fopen('php://stdin', 'r');
35 35

  
36
echo "\n" . sprintf(gettext("%s will shutdown and halt system. This may take a few minutes, depending on your hardware."), $g['product_name']) . "\n";
36
echo "\n" . sprintf(gettext("%s will shutdown and halt system. This may take a few minutes, depending on your hardware."), $g['product_label']) . "\n";
37 37
echo gettext("Do you want to proceed [y|n]?") . " ";
38 38

  
39 39
if (strcasecmp(chop(fgets($fp)), "y") == 0) {
40
	echo "\n" . sprintf(gettext("%s will shutdown and halt system now."), $g['product_name']) . "\n";
40
	echo "\n" . sprintf(gettext("%s will shutdown and halt system now."), $g['product_label']) . "\n";
41 41
	system_halt();
42 42
}
43 43

  
src/etc/rc.initial.reboot
34 34

  
35 35
$fp = fopen('php://stdin', 'r');
36 36

  
37
echo "\n" . sprintf(gettext("%s will reboot. This may take a few minutes, depending on your hardware."), $g['product_name']) . "\n";
37
echo "\n" . sprintf(gettext("%s will reboot. This may take a few minutes, depending on your hardware."), $g['product_label']) . "\n";
38 38
echo gettext("Do you want to proceed?") . "\n\n";
39 39
echo "    " . gettext("Y/y: Reboot normally") . "\n";
40 40
if (!is_module_loaded("zfs.ko")) {
......
48 48
switch (chop(fgets($fp))) {
49 49
	case "S":
50 50
		mwexec('/sbin/nextboot -o "-s" -k kernel');
51
		echo "\n" . sprintf(gettext("%s is rebooting into single user mode now."), $g['product_name']) . "\n";
51
		echo "\n" . sprintf(gettext("%s is rebooting into single user mode now."), $g['product_label']) . "\n";
52 52
		system_reboot_sync();
53 53
		break;
54 54
	case "F":
55 55
		mwexec('/sbin/nextboot -e "pfsense.fsck.force=5"');
56
		echo "\n" . sprintf(gettext("%s is rebooting for a filesystem check now."), $g['product_name']) . "\n";
56
		echo "\n" . sprintf(gettext("%s is rebooting for a filesystem check now."), $g['product_label']) . "\n";
57 57
		system_reboot_sync();
58 58
		break;
59 59
	case "R":
60 60
	case "r":
61 61
		if (!is_module_loaded("zfs.ko")) {
62
			echo "\n" . sprintf(gettext("%s is rerooting now."), $g['product_name']) . "\n";
62
			echo "\n" . sprintf(gettext("%s is rerooting now."), $g['product_label']) . "\n";
63 63
			system_reboot_sync(true);
64 64
		}
65 65
		break;
66 66
	case "Y":
67 67
	case "y":
68
		echo "\n" . sprintf(gettext("%s is rebooting now."), $g['product_name']) . "\n";
68
		echo "\n" . sprintf(gettext("%s is rebooting now."), $g['product_label']) . "\n";
69 69
		system_reboot_sync();
70 70
		break;
71 71
	default:
src/etc/rc.initial.setlanip
295 295
			if ($is_ipaddr && $intip != '') {
296 296
				if ($intbits_ok == false) {
297 297
					echo "\n" . sprintf(gettext("Subnet masks are entered as bit counts (as in CIDR notation) in %s."),
298
							$g['product_name']) . "\n";
298
							$g['product_label']) . "\n";
299 299
					if ($version === 6) {
300 300
						echo "e.g. ffff:ffff:ffff:ffff:ffff:ffff:ffff:ff00 = 120\n";
301 301
						echo "     ffff:ffff:ffff:ffff:ffff:ffff:ffff:0    = 112\n";
src/etc/rc.newwanip
42 42
	global $oldip, $curwanip, $g;
43 43

  
44 44
	/* restart packages */
45
	log_error("{$g['product_name']} package system has detected an IP change or dynamic WAN reconnection - $oldip ->  $curwanip - Restarting packages.");
45
	log_error("{$g['product_label']} package system has detected an IP change or dynamic WAN reconnection - $oldip ->  $curwanip - Restarting packages.");
46 46
	send_event("service reload packages");
47 47
}
48 48

  
src/etc/rc.newwanipv6
43 43
	global $oldipv6, $curwanipv6, $g;
44 44

  
45 45
	/* restart packages */
46
	log_error("{$g['product_name']} package system has detected an IP change or dynamic WAN reconnection - $oldipv6 -> $curwanipv6 - Restarting packages.");
46
	log_error("{$g['product_label']} package system has detected an IP change or dynamic WAN reconnection - $oldipv6 -> $curwanipv6 - Restarting packages.");
47 47
	send_event("service reload packages");
48 48
}
49 49

  
src/etc/rc.update_pkg_metadata
24 24
fi
25 25

  
26 26
# Read product_name from $g, defaults to pfSense
27
product=$(/usr/local/sbin/read_global_var product_name pfSense)
27
product_name=$(/usr/local/sbin/read_global_var product_name pfSense)
28 28

  
29
tmp_version=$(mktemp -q /tmp/${product}_version.XXXXXXXX) \
29
tmp_version=$(mktemp -q /tmp/${product_name}_version.XXXXXXXX) \
30 30
	|| exit 1
31 31

  
32 32
( \
33 33
	sleep $sleep_time \
34 34
	&& /usr/local/bin/php -r 'require_once("pkg-utils.inc");update_repos();' \
35
	&& /usr/local/sbin/${product}-upgrade -uf \
35
	&& /usr/local/sbin/${product_name}-upgrade -uf \
36 36
	&& ( \
37
		/usr/local/sbin/${product}-upgrade -Uc > ${tmp_version}.tmp \
37
		/usr/local/sbin/${product_name}-upgrade -Uc > ${tmp_version}.tmp \
38 38
		; rc=$? \
39 39
		; tail -n 1 ${tmp_version}.tmp > $tmp_version \
40 40
		; rm -f ${tmp_version}.tmp \
......
42 42
		; test $rc -eq 2 && return 0 || return $rc \
43 43
	) \
44 44
	&& ( \
45
		mv $tmp_version /var/run/${product}_version \
46
		&& mv ${tmp_version}.rc /var/run/${product}_version.rc \
45
		mv $tmp_version /var/run/${product_name}_version \
46
		&& mv ${tmp_version}.rc /var/run/${product_name}_version.rc \
47 47
	) || rm -f $tmp_version ${tmp_version}.rc
48 48
) >/dev/null 2>&1 &
49 49

  
src/etc/sshd
162 162

  
163 163
if (!empty($generate_keys)) {
164 164
	/* remove previous keys and regen later */
165
	file_notice("SSH", "{$g['product_name']} has started creating missing SSH keys.  SSH Startup will be delayed.  Please note that reloading the filter rules and changes will be delayed until this operation is completed.", "SSH KeyGen", "");
165
	file_notice("SSH", "{$g['product_label']} has started creating missing SSH keys.  SSH Startup will be delayed.  Please note that reloading the filter rules and changes will be delayed until this operation is completed.", "SSH KeyGen", "");
166 166
	mark_subsystem_dirty('sshdkeys');
167 167
	echo " Generating Keys:\n";
168 168
	foreach ($generate_keys as $key) {
169 169
		$_gb = exec("/usr/bin/nice -n20 /usr/bin/ssh-keygen -t {$key['type']} -b 4096 -N '' -f {$sshConfigDir}/ssh_host_{$key['suffix']}key");
170 170
	}
171 171
	clear_subsystem_dirty('sshdkeys');
172
	file_notice("SSH", "{$g['product_name']} has completed creating your SSH keys.  SSH is now started.", "SSH Startup", "");
172
	file_notice("SSH", "{$g['product_label']} has completed creating your SSH keys.  SSH is now started.", "SSH Startup", "");
173 173
}
174 174

  
175 175
/* kill existing sshd process, server only, not the children */
src/usr/local/sbin/pfSsh.php
24 24

  
25 25
require_once("globals.inc");
26 26
if ($argc < 2) {
27
	echo "Starting the {$g['product_name']} developer shell";
27
	echo "Starting the {$g['product_label']} developer shell";
28 28
}
29 29
require_once("functions.inc");
30 30
if ($argc < 2) {
......
131 131
	/* to output the dhcp server configuration */
132 132
	print_r(\$config['dhcpd']);
133 133

  
134
	/* to exit the {$g['product_name']} developer shell */
134
	/* to exit the {$g['product_label']} developer shell */
135 135
	exit
136 136

  
137 137
	/* to output supported wireless modes for an interface */
......
204 204
}
205 205

  
206 206
if ($argc < 2) {
207
	echo "Welcome to the {$g['product_name']} developer shell\n";
207
	echo "Welcome to the {$g['product_label']} developer shell\n";
208 208
	echo "\nType \"help\" to show common usage scenarios.\n";
209 209
	echo "\nAvailable playback commands:\n     ";
210 210
	$tccommands[] = "playback";
......
246 246
$tccommands[] = "RELENG_1_2";
247 247

  
248 248
while ($shell_active == true) {
249
	$command = readline("{$g['product_name']} shell: ");
249
	$command = readline("{$g['product_label']} shell: ");
250 250
	readline_add_history($command);
251 251
	$command_split = explode(" ", $command);
252 252
	$first_command = $command_split[0];
src/usr/local/www/crash_reporter.php
97 97
	<div class="panel-body">
98 98
		<div class="content">
99 99
			<p>
100
				<?=gettext("Debugging output can be collected to share with pfSense developers or others providing support or assistance.")?>
100
				<?=sprintf(gettext("Debugging output can be collected to share with %s developers or others providing support or assistance."), $g['product_label'])?>
101 101
				<br/><br/>
102 102
				<i><?=gettext("Inspect the contents to ensure this information is acceptable to disclose before distributing these files.")?></i>
103 103
			</p>
src/usr/local/www/diag_backup.php
215 215

  
216 216
$section->addInput(new Form_StaticText(
217 217
	null,
218
	sprintf(gettext("Open a %s configuration XML file and click the button below to restore the configuration."), $g['product_name'])
218
	sprintf(gettext("Open a %s configuration XML file and click the button below to restore the configuration."), $g['product_label'])
219 219
));
220 220

  
221 221
$section->addInput(new Form_Select(
src/usr/local/www/firewall_virtual_ip_edit.php
457 457
?>
458 458

  
459 459
<div class="infoblock">
460
	<?php print_info_box(gettext("Proxy ARP and Other type Virtual IP addresses cannot be used for binding by services on the firewall (IPsec, OpenVPN, etc.). Use an IP Alias or CARP type VIP for these roles.") . '<br />' .
461
			   sprintf(gettext("For more information, visit the pfSense book section on %s"), '<a href="https://docs.netgate.com/pfsense/en/latest/firewall/virtual-ip-addresses.html">Virtual IP Addresses</a>.'), 'info', false); ?>
460
	<?php
461
	print_info_box(sprintf(gettext('Proxy ARP and Other type Virtual IP ' .
462
	    'addresses cannot be used for binding by services on the ' .
463
	    'firewall (IPsec, OpenVPN, etc.). Use an IP Alias or CARP type ' .
464
	    'VIP for these roles.%1$s' .
465
	    'For more information, visit the %2$s book section on %3$s'),
466
		'<br />', $g['product_label'],
467
		'<a href="https://docs.netgate.com/pfsense/en/latest/firewall/virtual-ip-addresses.html">Virtual IP Addresses</a>.'),
468
	    'info', false);
469
	?>
462 470
</div>
463 471

  
464 472
<script type="text/javascript">
src/usr/local/www/head.inc
689 689
	$warning_text = sprintf(gettext(
690 690
	    '%1$s%3$s is booting, then packages will be reinstalled in the ' .
691 691
	    'background.%2$s%1$sDo not make changes in the GUI until this is ' .
692
	    'complete.%2$s'), '<p>', '</p>', $g['product_name']);
692
	    'complete.%2$s'), '<p>', '</p>', $g['product_label']);
693 693
} elseif (is_subsystem_dirty('packagelock')) {
694 694
	$pgtitle = array(gettext("System"), gettext("Package Manager"));
695 695
	$warning_text = sprintf(gettext('%1$sPackages are currently being ' .
src/usr/local/www/index.php
60 60
}
61 61

  
62 62
if (($g['disablecrashreporter'] != true) && (system_has_crash_data() || system_has_php_errors())) {
63
	$savemsg = sprintf(gettext("%s has detected a crash report or programming bug."), $g['product_name']) . " ";
63
	$savemsg = sprintf(gettext("%s has detected a crash report or programming bug."), $g['product_label']) . " ";
64 64
	if (isAllowedPage("/crash_reporter.php")) {
65 65
		$savemsg .= sprintf(gettext('Click %1$shere%2$s for more information.'), '<a href="crash_reporter.php">', '</a>');
66 66
	} else {
......
192 192
<html lang="en">
193 193
	<head>
194 194
		<link rel="stylesheet" href="/css/pfSense.css" />
195
		<title><?=$g['product_name']?>.home.arpa - <?=$g['product_name']?> first time setup</title>
195
		<title><?=$g['product_label']?>.home.arpa - <?=$g['product_label']?> first time setup</title>
196 196
		<meta http-equiv="refresh" content="1;url=wizard.php?xml=setup_wizard.xml" />
197 197
	</head>
198 198
	<body id="loading-wizard" class="no-menu">
......
200 200
			<div class="container">
201 201
				<div class="col-sm-offset-3 col-sm-6 col-xs-12">
202 202
					<font color="white">
203
					<p><h3><?=sprintf(gettext("Welcome to %s!") . "\n", $g['product_name'])?></h3></p>
203
					<p><h3><?=sprintf(gettext("Welcome to %s!") . "\n", $g['product_label'])?></h3></p>
204 204
					<p><?=gettext("One moment while the initial setup wizard starts.")?></p>
205 205
					<p><?=gettext("Embedded platform users: Please be patient, the wizard takes a little longer to run than the normal GUI.")?></p>
206
					<p><?=sprintf(gettext("To bypass the wizard, click on the %s logo on the initial page."), $g['product_name'])?></p>
206
					<p><?=sprintf(gettext("To bypass the wizard, click on the %s logo on the initial page."), $g['product_label'])?></p>
207 207
					</font>
208 208
				</div>
209 209
			</div>
src/usr/local/www/interfaces_qinq.php
154 154
<div class="infoblock">
155 155
	<?php print_info_box(sprintf(gettext('Not all drivers/NICs support 802.1Q QinQ tagging properly. %1$sOn cards that do not explicitly support it, ' .
156 156
		'QinQ tagging will still work, but the reduced MTU may cause problems.%1$s' .
157
		'See the %2$s handbook for information on supported cards.'), '<br />', $g['product_name']), 'info', false); ?>
157
		'See the %2$s handbook for information on supported cards.'), '<br />', $g['product_label']), 'info', false); ?>
158 158
</div>
159 159

  
160 160
<?php
src/usr/local/www/interfaces_vlan.php
147 147
	<?php print_info_box(sprintf(gettext('Not all drivers/NICs support 802.1Q '.
148 148
		'VLAN tagging properly. %1$sOn cards that do not explicitly support it, VLAN '.
149 149
		'tagging will still work, but the reduced MTU may cause problems.%1$sSee the '.
150
		'%2$s handbook for information on supported cards.'), '<br />', $g['product_name']), 'info', false); ?>
150
		'%2$s handbook for information on supported cards.'), '<br />', $g['product_label']), 'info', false); ?>
151 151
</div>
152 152

  
153 153
<?php
src/usr/local/www/pkg_mgr_install.php
367 367
<?php
368 368
			elseif ($firmwareupdate):
369 369
?>
370
				<?=sprintf(gettext('Confirmation Required to update %s system.'), $g['product_name'])?>
370
				<?=sprintf(gettext('Confirmation Required to update %s system.'), $g['product_label'])?>
371 371
<?php
372 372
			else:
373 373
?>
src/usr/local/www/services_acb.php
84 84
	curl_setopt($curl_session, CURLOPT_POST, 3);
85 85
	curl_setopt($curl_session, CURLOPT_SSL_VERIFYPEER, 1);
86 86
	curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, 1);
87
	curl_setopt($curl_session, CURLOPT_USERAGENT, $g['product_name'] . '/' . rtrim(file_get_contents("/etc/version")));
87
	curl_setopt($curl_session, CURLOPT_USERAGENT, $g['product_label'] . '/' . rtrim(file_get_contents("/etc/version")));
88 88
	// Proxy
89 89
	curl_setopt_array($curl_session, configure_proxy());
90 90

  
......
116 116
	curl_setopt($curl_session, CURLOPT_POST, 3);
117 117
	curl_setopt($curl_session, CURLOPT_SSL_VERIFYPEER, 1);
118 118
	curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, 1);
119
	curl_setopt($curl_session, CURLOPT_USERAGENT, $g['product_name'] . '/' . rtrim(file_get_contents("/etc/version")));
119
	curl_setopt($curl_session, CURLOPT_USERAGENT, $g['product_label'] . '/' . rtrim(file_get_contents("/etc/version")));
120 120
	// Proxy
121 121
	curl_setopt_array($curl_session, configure_proxy());
122 122
	$data = curl_exec($curl_session);
......
190 190
	curl_setopt($curl_session, CURLOPT_SSL_VERIFYPEER, 1);
191 191
	curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, 1);
192 192

  
193
	curl_setopt($curl_session, CURLOPT_USERAGENT, $g['product_name'] . '/' . rtrim(file_get_contents("/etc/version")));
193
	curl_setopt($curl_session, CURLOPT_USERAGENT, $g['product_label'] . '/' . rtrim(file_get_contents("/etc/version")));
194 194
	// Proxy
195 195
	curl_setopt_array($curl_session, configure_proxy());
196 196
	$data = curl_exec($curl_session);
......
231 231
	curl_setopt($curl_session, CURLOPT_POST, 1);
232 232
	curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, 1);
233 233

  
234
	curl_setopt($curl_session, CURLOPT_USERAGENT, $g['product_name'] . '/' . rtrim(file_get_contents("/etc/version")));
234
	curl_setopt($curl_session, CURLOPT_USERAGENT, $g['product_label'] . '/' . rtrim(file_get_contents("/etc/version")));
235 235
	// Proxy
236 236
	curl_setopt_array($curl_session, configure_proxy());
237 237

  
src/usr/local/www/services_captiveportal.php
642 642
	'Preserve users database',
643 643
	'Preserve connected users across reboot',
644 644
	'yes'
645
	))->setDisabled()->setHelp("If enabled, connected users won't be disconnected during a pfSense reboot. This setting is not editable because High Availability is enabled.");
645
	))->setDisabled()->setHelp("If enabled, connected users won't be disconnected during a %s reboot. This setting is not editable because High Availability is enabled.", $g['product_label']);
646 646
} else {
647 647
	$section->addInput(new Form_Checkbox(
648 648
	'preservedb',
649 649
	'Preserve users database',
650 650
	'Preserve connected users across reboot',
651 651
	$pconfig['preservedb']
652
	))->setHelp("If enabled, connected users won't be disconnected during a pfSense reboot.");
652
	))->setHelp("If enabled, connected users won't be disconnected during a %s reboot.", $g['product_label']);
653 653
}
654 654

  
655 655
$section->addInput(new Form_Select(
......
670 670
	'Disable MAC filtering',
671 671
	$pconfig['nomacfilter']
672 672
))->setHelp('If enabled no attempts will be made to ensure that the MAC address of clients stays the same while they are logged in. ' .
673
			'This is required when the MAC address of the client cannot be determined (usually because there are routers between pfSense and the clients). ' .
674
			'If this is enabled, RADIUS MAC authentication cannot be used.');
673
			'This is required when the MAC address of the client cannot be determined (usually because there are routers between %s and the clients). ' .
674
			'If this is enabled, RADIUS MAC authentication cannot be used.', $g['product_label']);
675 675

  
676 676
$section->addInput(new Form_Checkbox(
677 677
	'passthrumacadd',
......
1127 1127
	$pconfig['httpsname']
1128 1128
))->setHelp('This name will be used in the form action for the HTTPS POST and should match the Common Name (CN) in the certificate ' .
1129 1129
			'(otherwise, the client browser will most likely display a security warning). ' .
1130
			'Make sure captive portal clients can resolve this name in DNS and verify on the client that the IP resolves to the correct interface IP on pfSense.');
1130
			'Make sure captive portal clients can resolve this name in DNS and verify on the client that the IP resolves to the correct interface IP on %s.',
1131
			$g['product_label']);
1131 1132

  
1132 1133
$section->addInput(new Form_Select(
1133 1134
	'certref',
src/usr/local/www/services_captiveportal_hasync.php
77 77
	do_input_validation($_POST, $reqdfields, $reqdfieldsn, $input_errors);
78 78

  
79 79
	if ($_POST['backwardsyncip'] && (is_ipaddr_configured($_POST['backwardsyncip']))) {
80
		$input_errors[] = gettext("This IP is currently used by this pfSense node. Please enter an IP belonging to the primary node.");
80
		$input_errors[] = sprintf(gettext("This IP is currently used " .
81
		    "by this %s node. Please enter an IP belonging to the " .
82
		    "primary node."), $g['product_label']);
81 83
	}
82 84
	if ($_POST['backwardsyncpassword'] != $_POST['backwardsyncpassword_confirm']) {
83 85
		$input_errors[] = gettext("Password and confirmed password must match.");
......
117 119
				if ($rpc_client->get_error() != '') {
118 120
					$input_errors[] = $rpc_client->get_error();
119 121
				} else {
120
					$input_errors[] = gettext('Error during communication with pfSense primary node.');
122
					$input_errors[] = sprintf(gettext('Error during communication with %s primary node.'), $g['product_label']);
121 123
				}
122 124
			} else {
123 125
				// Contains array of connected users (will be stored in SQLite DB)
......
191 193
	'Enable',
192 194
	'Enable backward High Availability Sync for connected users and used vouchers',
193 195
	$pconfig['enablebackwardsync']
194
	))->setHelp('The XMLRPC sync provided by pfSense in <a href="/system_hasync.php">High Availability</a> settings only synchronize a secondary node to its primary node.'.
196
	))->setHelp('The XMLRPC sync provided by %1$s in <a href="/system_hasync.php">High Availability</a> settings only synchronize a secondary node to its primary node.'.
195 197
	'This checkbox enable a backward sync from the secondary to the primary, in order to have a bi-directional synchronization.%1$s'.
196
	'The purpose of this feature is to keep connected users synchronized between servers even if a node does down, thus providing redundancy for the captive portal zone.%1$s%1$s'.
197
	'<b>Important: these settings should be set on the secondary node only ! Do not update these settings if this pfSense is the primary node !</b>', '<br />');
198
	'The purpose of this feature is to keep connected users synchronized between servers even if a node does down, thus providing redundancy for the captive portal zone.%2$s%2$s'.
199
	'<b>Important: these settings should be set on the secondary node only ! Do not update these settings if this %1$s is the primary node !</b>', $g['product_label'], '<br />');
198 200

  
199 201
$section->addInput(new Form_IpAddress(
200 202
	'backwardsyncip',
......
207 209
	'Primary node username',
208 210
	'text',
209 211
	$pconfig['backwardsyncuser']
210
))->setHelp('Please enter the username of the primary node that the secondary node will use for backward sync. This could be any pfSense user on the primary node with "System - HA node sync" privileges.');
212
))->setHelp('Please enter the username of the primary node that the secondary node will use for backward sync. This could be any %1$s user on the primary node with "System - HA node sync" privileges.', $g['product_label']);
211 213

  
212 214
$section->addPassword(new Form_Input(
213 215
	'backwardsyncpassword',
src/usr/local/www/services_dhcp_relay.php
175 175
	$pconfig['agentoption']
176 176
))->setHelp(
177 177
	'If this is checked, the DHCP relay will append the circuit ID (%s interface number) and the agent ID to the DHCP request.',
178
	$g['product_name']
178
	$g['product_label']
179 179
	);
180 180

  
181 181
$counter = 0;
src/usr/local/www/services_dhcpv6_relay.php
170 170
	$pconfig['agentoption']
171 171
))->setHelp(
172 172
	'If this is checked, the DHCPv6 relay will append the circuit ID (%s interface number) and the agent ID to the DHCPv6 request.',
173
	$g['product_name']
173
	$g['product_label']
174 174
);
175 175

  
176 176
function createDestinationServerInputGroup($value = null) {
src/usr/local/www/services_dnsmasq.php
295 295
	$pconfig['strict_order']
296 296
))->setHelp('If this option is set %1$s DNS Forwarder (dnsmasq) will '.
297 297
					'query the DNS servers sequentially in the order specified (%2$sSystem - General Setup - DNS Servers%3$s), '.
298
					'rather than all at once in parallel. ', $g['product_name'], '<i>', '</i>');
298
					'rather than all at once in parallel. ', $g['product_label'], '<i>', '</i>');
299 299

  
300 300
$group->add(new Form_Checkbox(
301 301
	'domain_needed',
......
304 304
	$pconfig['domain_needed']
305 305
))->setHelp("If this option is set %s DNS Forwarder (dnsmasq) will ".
306 306
					"not forward A or AAAA queries for plain names, without dots or domain parts, to upstream name servers.	 ".
307
					"If the name is not known from /etc/hosts or DHCP then a \"not found\" answer is returned. ", $g['product_name']);
307
					"If the name is not known from /etc/hosts or DHCP then a \"not found\" answer is returned. ", $g['product_label']);
308 308

  
309 309
$group->add(new Form_Checkbox(
310 310
	'no_private_reverse',
......
314 314
))->setHelp("If this option is set %s DNS Forwarder (dnsmasq) will ".
315 315
					"not forward reverse DNS lookups (PTR) for private addresses (RFC 1918) to upstream name servers.  ".
316 316
					"Any entries in the Domain Overrides section forwarding private \"n.n.n.in-addr.arpa\" names to a specific server are still forwarded. ".
317
					"If the IP to name is not known from /etc/hosts, DHCP or a specific domain override then a \"not found\" answer is immediately returned. ", $g['product_name']);
317
					"If the IP to name is not known from /etc/hosts, DHCP or a specific domain override then a \"not found\" answer is immediately returned. ", $g['product_label']);
318 318

  
319 319
$section->add($group);
320 320

  
src/usr/local/www/services_ntpd.php
287 287
	'Enable',
288 288
	'Enable NTP Server',
289 289
	($pconfig['enable'] == 'enabled')
290
))->setHelp('You may need to disable NTP if pfSense is running in a virtual machine and the host is responsible for the clock.');
290
))->setHelp('You may need to disable NTP if %1$s is running in a virtual machine and the host is responsible for the clock.', $g['product_label']);
291 291

  
292 292
$iflist = build_interface_list();
293 293

  
src/usr/local/www/services_ntpd_gps.php
396 396
	$pconfig['type'],
397 397
	array_combine($gpstypes, $gpstypes)
398 398
))->setHelp('This option allows a predefined configuration to be selected. ' .
399
			'Default is the configuration of pfSense 2.1 and earlier (not recommended). Select Generic if the GPS is not listed.%1$s' .
400
			'The predefined configurations assume the GPS has already been set to NMEA mode.', '<br /><br />');
399
    'Default is the configuration of %1$s 2.1 and earlier (not recommended). Select Generic if the GPS is not listed.%2$s' .
400
    'The predefined configurations assume the GPS has already been set to NMEA mode.', $g['product_label'], '<br /><br />');
401 401

  
402 402
$serialports = glob("/dev/cua?[0-9]{,.[0-9]}", GLOB_BRACE);
403 403

  
src/usr/local/www/services_router_advertisements.php
123 123
	'<dt>' . gettext('Assisted') . 		 '</dt><dd>' . gettext('Will advertise this router with configuration through a DHCPv6 server and/or stateless autoconfig.') . '</dd>' .
124 124
	'<dt>' . gettext('Stateless DHCP') . '</dt><dd>' . gettext('Will advertise this router with stateless autoconfig and other configuration information available via DHCPv6.') . '</dd>' .
125 125
	'</dl>' .
126
	gettext('It is not required to activate DHCPv6 server on pfSense when set to "Managed", "Assisted" or "Stateless DHCP", it can be another host on the network.') .
126
	sprintf(gettext('It is not required to activate DHCPv6 server on %s ' .
127
	    'when set to "Managed", "Assisted" or "Stateless DHCP", it can ' .
128
	    'be another host on the network.'), $g['product_label']) .
127 129
	'</div>';
128 130

  
129 131
if ($_POST['save']) {
src/usr/local/www/services_unbound.php
375 375
	'*System Domain Local Zone Type',
376 376
	$pconfig['system_domain_local_zone_type'],
377 377
	unbound_local_zone_types()
378
))->setHelp('The local-zone type used for the pfSense system domain (System | General Setup | Domain).  Transparent is the default.  Local-Zone type descriptions are available in the unbound.conf(5) manual pages.');
378
))->setHelp('The local-zone type used for the %1$s system domain (System | General Setup | Domain).  Transparent is the default.  Local-Zone type descriptions are available in the unbound.conf(5) manual pages.', $g['product_label']);
379 379

  
380 380
$section->addInput(new Form_Checkbox(
381 381
	'dnssec',
src/usr/local/www/status.php
201 201
function get_firewall_info() {
202 202
	global $g, $output_path;
203 203
	/* Firewall Platform/Serial */
204
	$firewall_info = "Product Name: " . htmlspecialchars($g['product_name']);
204
	$firewall_info = "Product Name: " . htmlspecialchars($g['product_label']);
205 205
	$platform = system_identify_specific_platform();
206 206
	if (!empty($platform['descr'])) {
207 207
		$firewall_info .= "<br/>Platform: " . htmlspecialchars($platform['descr']);
......
228 228
	}
229 229

  
230 230
	if (!empty($g['product_version_string'])) {
231
		$firewall_info .= "<br/>" . htmlspecialchars($g['product_name']) .
231
		$firewall_info .= "<br/>" . htmlspecialchars($g['product_label']) .
232 232
		    " version: " . htmlspecialchars($g['product_version_string']);
233 233
	}
234 234

  
......
437 437
exec("/bin/date", $dateOutput, $dateStatus);
438 438
$currentDate = $dateOutput[0];
439 439

  
440
$pgtitle = array($g['product_name'], "Status");
440
$pgtitle = array($g['product_label'], "Status");
441 441

  
442 442
if (!$console):
443 443
include("head.inc"); ?>
src/usr/local/www/status_logs_settings.php
535 535

  
536 536
$group->setHelp('Syslog sends UDP datagrams to port 514 on the specified remote '.
537 537
	'syslog server, unless another port is specified. Be sure to set syslogd on '.
538
	'the remote server to accept syslog messages from pfSense.');
538
	'the remote server to accept syslog messages from %s.', $g['product_label']);
539 539

  
540 540
$section->add($group);
541 541

  
src/usr/local/www/system.php
620 620
))->setHelp('If this option is set, %s will use DNS servers '.
621 621
	'assigned by a DHCP/PPP server on WAN for its own purposes (including '.
622 622
	'the DNS Forwarder/DNS Resolver). However, they will not be assigned to DHCP '.
623
	'clients.', $g['product_name']);
623
	'clients.', $g['product_label']);
624 624

  
625 625
$section->addInput(new Form_Select(
626 626
	'dnslocalhost',
src/usr/local/www/system_advanced_admin.php
701 701
			'video' => gettext('VGA Console'),
702 702
		)
703 703
	))->setHelp('Select the preferred console if multiple consoles are present. '.
704
		'The preferred console will show pfSense boot script output. All consoles '.
705
		'display OS boot messages, console messages, and the console menu.');
704
		'The preferred console will show %1$s boot script output. All consoles '.
705
		'display OS boot messages, console messages, and the console menu.', $g['product_label']);
706 706
}
707 707

  
708 708
$form->add($section);
src/usr/local/www/system_advanced_firewall.php
473 473
	isset($config['system']['disablefilter'])
474 474
))->setHelp('Note: This converts %1$s into a routing only platform!%2$s'.
475 475
	'Note: This will also turn off NAT! To only disable NAT, '.
476
	'and not firewall rules, visit the %3$sOutbound NAT%4$s page.', $g["product_name"], '<br/>', '<a href="firewall_nat_out.php">', '</a>');
476
	'and not firewall rules, visit the %3$sOutbound NAT%4$s page.', $g["product_label"], '<br/>', '<a href="firewall_nat_out.php">', '</a>');
477 477

  
478 478
$section->addInput(new Form_Checkbox(
479 479
	'disablescrub',
src/usr/local/www/system_advanced_misc.php
660 660
	'Netgate Device ID',
661 661
	'Do NOT send Netgate Device ID with user agent',
662 662
	$pconfig['do_not_send_uniqueid']
663
))->setHelp('Enable this option to not send Netgate Device ID to pfSense as part of User-Agent header.');
663
))->setHelp('Enable this option to not send Netgate Device ID as part of User-Agent header.');
664 664

  
665 665
$form->add($section);
666 666

  
src/usr/local/www/system_advanced_notifications.php
255 255
		if (file_exists("/var/db/notices_lastmsg.txt")) {
256 256
			unlink("/var/db/notices_lastmsg.txt");
257 257
		}
258
		$test_result = notify_via_smtp(sprintf(gettext("This is a test message from %s. It is safe to ignore this message."), $g['product_name']), true);
258
		$test_result = notify_via_smtp(sprintf(gettext("This is a test message from %s. It is safe to ignore this message."), $g['product_label']), true);
259 259
		if (empty($test_result)) {
260 260
			$test_result = gettext("SMTP testing e-mail successfully sent");
261 261
			$test_class = 'success';
......
265 265
	}
266 266
	if ($testtelegram) {
267 267
		// Send test message via telegram
268
		$test_result = notify_via_telegram(sprintf(gettext("This is a Telegram test message from %s. It is safe to ignore this message."), $g['product_name']), true);
268
		$test_result = notify_via_telegram(sprintf(gettext("This is a Telegram test message from %s. It is safe to ignore this message."), $g['product_label']), true);
269 269
		if (empty($test_result)) {
270 270
			$test_result = gettext("Telegram testing message successfully sent");
271 271
			$test_class = 'success';
......
275 275
	}
276 276
	if ($testpushover) {
277 277
		// Send test message via pushover
278
		$test_result = notify_via_pushover(sprintf(gettext("This is a Pushover test message from %s. It is safe to ignore this message."), $g['product_name']), true);
278
		$test_result = notify_via_pushover(sprintf(gettext("This is a Pushover test message from %s. It is safe to ignore this message."), $g['product_label']), true);
279 279
		if (empty($test_result)) {
280 280
			$test_result = gettext("Pushover testing message successfully sent");
281 281
			$test_class = 'success';
src/usr/local/www/system_certmanager.php
784 784
		'keypaste',
785 785
		'Key data',
786 786
		$pconfig['keypaste']
787
	))->setHelp('Optionally paste a private key here. The key will be associated with the newly signed certificate in pfSense');
787
	))->setHelp('Optionally paste a private key here. The key will be associated with the newly signed certificate in %1$s', $g['product_label']);
788 788

  
789 789
	$section->addInput(new Form_Input(
790 790
		'csrsign_lifetime',
src/usr/local/www/system_groupmanager_addprivs.php
267 267
				continue;
268 268
			}
269 269

  
270
			$desc = preg_replace("/pfSense/i", $g['product_name'], $pdata['descr']);
270
			$desc = preg_replace("/pfSense/i", $g['product_label'], $pdata['descr']);
271 271
			if (isset($pdata['warn']) && ($pdata['warn'] == 'standard-warning-root')) {
272 272
				$desc .= ' ' . gettext('(This privilege effectively gives administrator-level access to users in the group)');
273 273
			}
src/usr/local/www/system_update_settings.php
246 246
		isset($gitcfg['dryrun'])
247 247
		))->setHelp('Dry-run only.%1$sNo files copied.', '<br />');
248 248

  
249
	$group->setHelp('See "playback gitsync --help" in console "PHP Shell + pfSense tools" for additional information.');
249
	$group->setHelp('See "playback gitsync --help" in console "PHP Shell + %s tools" for additional information.', $g['product_label']);
250 250
	$section->add($group);
251 251

  
252 252
	$form->add($section);
src/usr/local/www/system_usermanager_addprivs.php
257 257
			if (in_array($pname, $a_user['priv'])) {
258 258
				continue;
259 259
			}
260
			$desc = preg_replace("/pfSense/i", $g['product_name'], $pdata['descr']);
260
			$desc = preg_replace("/pfSense/i", $g['product_label'], $pdata['descr']);
261 261
			if (isset($pdata['warn']) && ($pdata['warn'] == 'standard-warning-root')) {
262 262
				$desc .= ' ' . gettext('(This privilege effectively gives administrator-level access to the user)');
263 263
			}
src/usr/local/www/system_usermanager_settings.php
275 275

  
276 276
$modal->addInput(new Form_StaticText(
277 277
	'Test results',
278
	'<span id="ldaptestop">Testing pfSense LDAP settings... One moment please...' . $g['product_name'] . '</span>'
278
	'<span id="ldaptestop">Testing %s LDAP settings... One moment please...</span>', $g['product_label']
279 279
));
280 280

  
281 281
$form->add($modal);
src/usr/local/www/vpn_ipsec_phase1.php
1070 1070
$section->addInput(new Form_Checkbox(
1071 1071
	'gw_duplicates',
1072 1072
	'Gateway duplicates',
1073
	'Enable this to allow multiple phase 1 configurations with the same endpoint. ' .
1074
		'When enabled, pfSense does not manage routing to the remote gateway and traffic will follow the default route ' .
1075
		'without regard for the chosen interface. Static routes can override this behavior.',
1073
	sprintf(gettext('Enable this to allow multiple phase 1 configurations with the same endpoint. ' .
1074
	    'When enabled, %s does not manage routing to the remote gateway and traffic will follow the default route ' .
1075
	    'without regard for the chosen interface. Static routes can override this behavior.'), $g['product_label']),
1076 1076
	$pconfig['gw_duplicates']
1077 1077
));
1078 1078

  
src/usr/local/www/widgets/widgets/netgate_services_and_support.widget.php
85 85
			curl_setopt($ch, CURLOPT_HEADER, 0);
86 86
			curl_setopt($ch, CURLOPT_VERBOSE, 0);
87 87
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
88
			curl_setopt($ch, CURLOPT_USERAGENT, $g['product_name'] . '/' . $g['product_version']);
88
			curl_setopt($ch, CURLOPT_USERAGENT, $g['product_label'] . '/' . $g['product_version']);
89 89
			curl_setopt($ch, CURLOPT_URL, $url);
90 90
			curl_setopt($ch, CURLOPT_POST, true);
91 91
			curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
src/usr/local/www/wizard.php
116 116
		eval($pkg['step'][$stepid]['stepsubmitphpaction']);
117 117
	}
118 118
	if (!$input_errors) {
119
		write_config(gettext("Configuration changed via the pfSense wizard subsystem."));
119
		write_config(gettext("Configuration changed via the wizard subsystem."));
120 120
	}
121 121

  
122 122
	$stepid++;
src/usr/local/www/wizards/traffic_shaper_wizard_dedicated.inc
1673 1673
			}
1674 1674
		}
1675 1675
	}
1676
	write_config(gettext("Shaper configuration saved via pfSense traffic shaper wizard."));
1676
	write_config(gettext("Shaper configuration saved via traffic shaper wizard."));
1677 1677
}
1678 1678

  
1679 1679
function wizard_get_bandwidthtype_scale($type = "b") {
src/usr/local/www/wizards/traffic_shaper_wizard_multi_all.inc
1763 1763
			}
1764 1764
		}
1765 1765
	}
1766
	write_config(gettext("Shaper configuration saved via pfSense traffic shaper wizard."));
1766
	write_config(gettext("Shaper configuration saved via traffic shaper wizard."));
1767 1767
}
1768 1768

  
1769 1769
function wizard_get_bandwidthtype_scale($type = "b") {

Also available in: Unified diff