X-Git-Url: https://zdv2.bktei.com/gitweb/BK-2020-03.git/blobdiff_plain/849106f7246e47bc077d7f3b8228cec717a8e63d..26f0533782d8c57fb95b8df4f55057edcbf17703:/unitproc/bktemp-validateInput diff --git a/unitproc/bktemp-validateInput b/unitproc/bktemp-validateInput deleted file mode 100644 index e1678f1..0000000 --- a/unitproc/bktemp-validateInput +++ /dev/null @@ -1,101 +0,0 @@ -#!/bin/bash -# Desc: Validates Input - -yell() { echo "$0: $*" >&2; } #o Yell, Die, Try Three-Fingered Claw technique -die() { yell "$*"; exit 111; } #o Ref/Attrib: https://stackoverflow.com/a/25515370 -try() { "$@" || die "cannot $*"; } #o -validateInput() { - # Desc: Validates Input - # Usage: validateInput [str input] [str input type] - # Version: 0.3.1 - # Input: arg1: string to validate - # arg2: string specifying input type (ex:"ssh_pubkey") - # Output: return code 0: if input string matched specified string type - # Depends: bash 5, yell() - - local fn argInput argType - - # Save function name - fn="${FUNCNAME[0]}"; - - # Process arguments - argInput="$1"; - argType="$2"; - if [[ $# -gt 2 ]]; then yell "ERROR:$0:$fn:Too many arguments."; exit 1; fi; - - # Check for blank - if [[ -z "$argInput" ]]; then return 1; fi - - # Define input types - ## ssh_pubkey - ### Check for alnum/dash base64 (ex: "ssh-rsa AAAAB3NzaC1yc2EAAA") - if [[ "$argType" = "ssh_pubkey" ]]; then - if [[ "$argInput" =~ ^[[:alnum:]-]*[\ ]*[[:alnum:]+/=]*$ ]]; then - return 0; fi; fi; - - ## age_pubkey - ### Check for age1[:bech32:] - if [[ "$argType" = "age_pubkey" ]]; then - if [[ "$argInput" =~ ^age1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]*$ ]]; then - return 0; fi; fi - - ## integer - if [[ "$argType" = "integer" ]]; then - if [[ "$argInput" =~ ^[[:digit:]]*$ ]]; then - return 0; fi; fi; - - ## time element (year, month, week, day, hour, minute, second) - if [[ "$argType" = "time_element" ]]; then - if [[ "$argInput" = "year" ]] || \ - [[ "$argInput" = "month" ]] || \ - [[ "$argInput" = "week" ]] || \ - [[ "$argInput" = "day" ]] || \ - [[ "$argInput" = "hour" ]] || \ - [[ "$argInput" = "minute" ]] || \ - [[ "$argInput" = "second" ]]; then - return 0; fi; fi; - - # Return error if no condition matched. - return 1; -} # Validates strings - -#==BEGIN sample code== -testKey="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCq8G0XWi8A+MXNu7MEaxDsZJUwtgPC4shGAAarXC4PQTRxLfUHtyWkNbzGh31U/bKI3Snp1O78yOVEZSjdmWkDvkwtWKJQcoZBStgqw9oIPE0oG8uh49XoX77nVabi0JCf8zO63Ai4/9EdwyqE9xsJ+soOYt2V5+UCj0zsv1xpt2YhfYyXrzBv9x6k9lCxy0NW3Ik1mSW+OzSOT3tgDf36ujV/CI2i8ERM9civWy8FtFOReZMV2kkbj7fXI4E1wKM1RFIn7er1MseCSvbvh3o2uCO46/euqHAstYs5cL+4yB2qM/xKfHT5aocDjq7GBLKtree9xdNF0EE9CNr/+J5R"; -keyType="ssh_pubkey"; -if validateInput "$testKey" "$keyType"; then echo "Looks like a valid $keyType:\"$testKey\""; else echo "Doesn't look like a valid $keyType:\"$testKey\""; fi -echo ""; - -testKey="blah-blah onetwothreeREEE"; -keyType="ssh_pubkey"; -if validateInput "$testKey" "$keyType"; then echo "Looks like a valid $keyType:\"$testKey\""; else echo "Doesn't look like a valid $keyType:\"$testKey\""; fi -echo ""; - -testKey=""; -keyType="ssh_pubkey"; -if validateInput "$testKey" "$keyType"; then echo "Looks like a valid $keyType:\"$testKey\""; else echo "Doesn't look like a valid $keyType:\"$testKey\""; fi -echo ""; - -testKey="age1c3s6huz6en6jh40cem0erc0m2un2ry85my0t0ujj4a5cu8gzkysq9l39e4"; -keyType="age_pubkey"; -if validateInput "$testKey" "$keyType"; then echo "Looks like a valid $keyType:\"$testKey\""; else echo "Doesn't look like a valid $keyType:\"$testKey\""; fi -echo ""; - -testKey="123" -keyType="integer"; -if validateInput "$testKey" "$keyType"; then echo "Looks like a valid $keyType:\"$testKey\""; else echo "Doesn't look like a valid $keyType:\"$testKey\""; fi -echo ""; - -testKey="123abc" -keyType="integer"; -if validateInput "$testKey" "$keyType"; then echo "Looks like a valid $keyType:\"$testKey\""; else echo "Doesn't look like a valid $keyType:\"$testKey\""; fi -echo ""; - -testKey="year" -keyType="time_element"; -if validateInput "$testKey" "$keyType"; then echo "Looks like a valid $keyType:\"$testKey\""; else echo "Doesn't look like a valid $keyType:\"$testKey\""; fi -echo ""; - -#==END sample code== - -# Author: Steven Baltakatei Sandoval (bktei.com) -# License: GPLv3+