#!/bin/sh

change_port ()
{
    cfg=$2
    cfgtmp=${cfg}.$$
    awk --assign port=$1 '
(finish==1) { print; next; }
/^[[:blank:]]*server[[:blank:]]*{/  {
                 run=1
                 print
                 next
               }
($1=="listen") && ($3 != "ssl;") {
                 if (run == 1) { gsub("listen[[:blank:]]+([[:digit:]]+)[[:blank:]]","listen " port " "); finish=1;}
                 print; next;
               }
{ print; }
    '  ${cfg} > ${cfgtmp}

    mv ${cfg} ${cfg}._
    mv ${cfgtmp} ${cfg}
    rm ${cfg}._
}

change_ssh_port ()
{
    cfg=$2
    cfgtmp=${cfg}.$$
    if grep -q -i -e '^[[:blank:]]*#*[[:blank:]]*Port[[:blank:]]' ${cfg}; then
        sed "s/^[[:blank:]]*#*[[:blank:]]*Port[[:blank:]].*$/Port $1/"  ${cfg} > ${cfgtmp}
    else
        echo "Port ${1}" > ${cfgtmp}
        cat ${cfg} >> ${cfgtmp}
    fi
    mv ${cfg} ${cfg}._
    mv ${cfgtmp} ${cfg}
    rm ${cfg}._
}
