X-Git-Url: https://zdv2.bktei.com/gitweb/BK-2020-03.git/blobdiff_plain/4cd703566b83ae140b8cdb6d94deff8022c3a048..a3d13a3218173de2a5b1a663f2b06d2f9e78b11f:/unitproc/bktemp-validateInput diff --git a/unitproc/bktemp-validateInput b/unitproc/bktemp-validateInput index 653c0d4..ef125ad 100644 --- a/unitproc/bktemp-validateInput +++ b/unitproc/bktemp-validateInput @@ -7,7 +7,7 @@ try() { "$@" || die "cannot $*"; } #o validateInput() { # Desc: Validates Input # Usage: validateInput [str input] [str input type] - # Version: 0.1.0 + # Version: 0.2.2 # Input: arg1: string to validate # arg2: string specifying input type (ex:"ssh_pubkey") # Output: return code 0: if input string matched specified string type @@ -27,25 +27,56 @@ validateInput() { # Define input types ## ssh_pubkey ### Check for alnum/dash base64 (ex: "ssh-rsa AAAAB3NzaC1yc2EAAA") - if [[ "$argType" = "ssh_pubkey" ]] && [[ "$argInput" =~ ^[[:alnum:]-]*[\ ]*[[:alnum:]+/=]*$ ]]; then - return 0; fi; + 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; # Return error if no condition matched. return 1; -} +} # Validates strings #==BEGIN sample code== -testKey1="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCq8G0XWi8A+MXNu7MEaxDsZJUwtgPC4shGAAarXC4PQTRxLfUHtyWkNbzGh31U/bKI3Snp1O78yOVEZSjdmWkDvkwtWKJQcoZBStgqw9oIPE0oG8uh49XoX77nVabi0JCf8zO63Ai4/9EdwyqE9xsJ+soOYt2V5+UCj0zsv1xpt2YhfYyXrzBv9x6k9lCxy0NW3Ik1mSW+OzSOT3tgDf36ujV/CI2i8ERM9civWy8FtFOReZMV2kkbj7fXI4E1wKM1RFIn7er1MseCSvbvh3o2uCO46/euqHAstYs5cL+4yB2qM/xKfHT5aocDjq7GBLKtree9xdNF0EE9CNr/+J5R"; -testKey2="blah-blah onetwothreeREEE"; +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 ""; + testKey3=""; keyType="ssh_pubkey"; -if validateInput "$testKey1" "$keyType"; then echo "$testKey1 looks like a valid $keyType."; else echo "$testKey1 doesn't look like a valid $keyType."; fi -if validateInput "$testKey2" "$keyType"; then echo "$testKey2 looks like a valid $keyType."; else echo "$testKey2 doesn't look like a valid $keyType."; fi -if validateInput "$testKey3" "$keyType"; then echo "$testKey3 looks like a valid $keyType."; else echo "$testKey3 doesn't look like a valid $keyType."; fi -#==END sample code== +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 ""; + +#==END sample code== # Author: Steven Baltakatei Sandoval (bktei.com) # License: GPLv3+