aboutsummaryrefslogtreecommitdiffstats
path: root/gotrc-examples/allow-uppercase
blob: 3bb0db1087501318b85e664ee8ef0790a2cf64cf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# -*- shell-script -*-

# gates-of-tartaros – Minimal replacement for agetty with SSH support
# 
# Copyright © 2013, 2014, 2015  Mattias Andrée (maandree@member.fsf.org)
# 
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.


# The module allows you to use upper case letters when login in.


read_function_allow_uppercase=$read_function
read_function=_read_allow_uppercase

_read_allow_uppercase ()
{
    $read_function_allow_uppercase
    lower=""
    for word in $user; do
	if [ ! "${word%%-*}" = "" ]; then # This check is done so SSH arguments are not made into lower case
	    word="$(echo "${word}" | sed -e 'y/QWERTYUIOPASDFGHJKLZXCVBNM/qwertyuiopasdfghjklzxcvbnm/')"
	fi
	lower="${lower} ${word}"
    done
    lower="${lower# *}"
    if [ ! "${lower}" = "${user}" ]; then
	#stty olcuc ## Uncomment this if you want to go old-school Unix, too bad
	            ## it will break colours and only uppercases ASCII letters.
	user="${lower}"
    fi
}