#
# dot.tcshrc
#
# part of pfSense (https://www.pfsense.org)
# Copyright (c) 2004-2013 BSD Perimeter
# Copyright (c) 2013-2016 Electric Sheep Fencing
# Copyright (c) 2014-2023 Rubicon Communications, LLC (Netgate)
# All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Enable command history storage and related settings if the user is configured
# to do so. See https://redmine.pfsense.org/issues/11029
set keephistory=`/usr/local/sbin/read_xml_tag.sh boolean system/user\[uid=\'${uid}\'\]/keephistory`
if ( $?prompt && ($keephistory == "true")) then
	set history = 1000
	set savehist = (1000 merge)
	bindkey -k down history-search-forward
	bindkey -k up history-search-backward
	echo "Command history storage is enabled. Clear history with: history -c; history -S."
endif

set prompt="[%B`cat /etc/version`%b][%B%n%b%{\033[0;1;31m%}@%{\033[0;0;0m%}%B%M%b]%/%{\033[0;1;31m%}:%{\033[0;0;0m%} "
set autologout="0"
set histdup="prev"
set autolist set color set colorcat
setenv CLICOLOR "true"
setenv LSCOLORS "exfxcxdxbxegedabagacad"
if ($term == "xterm" || $term == "vt100" || $term == "vt102" || $term == "vt220" || $term !~ "con*") then
	bindkey "\e[2~" overwrite-mode     # Ins
	bindkey "\e[3~" delete-char        # Del

	bindkey "\e[1~" beginning-of-line  # Home vt
	bindkey "\e[4~" end-of-line        # End vt

	bindkey "\eOH" beginning-of-line   # Home vt220
	bindkey "\eOF" end-of-line         # End vt220

	bindkey "\e[H" beginning-of-line   # Home kvt
	bindkey "\e[F" end-of-line         # End kvt

	bindkey "\e[7~" beginning-of-line  # Home rxvt/konsole
	bindkey "\e[8~" end-of-line        # End rxvt/konsole

	set termtype=`echo ${tty} | /usr/bin/sed 's/[[:digit:]]*$//'`
	if ("${termtype}" == "ttyu") then
		alias postcmd '/usr/bin/resizewin'
	endif
endif

set http_proxy=`/usr/local/sbin/read_xml_tag.sh string system/proxyurl`
if (${http_proxy} != "") then
	set http_proxy_port=`/usr/local/sbin/read_xml_tag.sh string system/proxyport`
	if (${http_proxy_port} != "") then
		set http_proxy="${http_proxy}:${http_proxy_port}"
	endif
	setenv HTTP_PROXY ${http_proxy}
endif

set http_proxy_auth_user=`/usr/local/sbin/read_xml_tag.sh string system/proxyuser`
set http_proxy_auth_pass=`/usr/local/sbin/read_xml_tag.sh string system/proxypass`

if ( "${http_proxy_auth_user}" != "" && "${http_proxy_auth_pass}" != "" ) then
	set http_proxy_auth="basic:*:${http_proxy_auth_user}:${http_proxy_auth_pass}"
	setenv HTTP_PROXY_AUTH "${http_proxy_auth}"
endif

# Define CA Path for local globally trusted CAs
# https://redmine.pfsense.org/issues/12737
setenv SSL_CERT_DIR /etc/ssl/certs/

set use_mfs_tmpvar=`/usr/local/sbin/read_xml_tag.sh boolean system/use_mfs_tmpvar`
# if ( $use_mfs_tmpvar == "true" && ! -f "/conf/ram_disks_failed" ) then
#	setenv PKG_DBDIR '/root/var/db/pkg'
#	setenv PKG_CACHEDIR '/root/var/cache/pkg'
# endif

if ( -f ~/.tcshrc.local ) then
	source ~/.tcshrc.local
endif
