From a3c5e3e195cb4859c7a9b7a0d8a8e37fcf4eec36 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Tue, 18 Oct 2005 00:24:33 +0000 Subject: Use getopts. --- localmksslcerts | 54 ++++++++++++++++++++++++++---------------------------- 1 file changed, 26 insertions(+), 28 deletions(-) (limited to 'localmksslcerts') diff --git a/localmksslcerts b/localmksslcerts index 3cf2f2b..12198f1 100755 --- a/localmksslcerts +++ b/localmksslcerts @@ -3,7 +3,7 @@ # /usr/local/sbin/localmksslcerts # Copyright 2001-2004 Jonas Smedegaard # -# $Id: localmksslcerts,v 1.18 2005-10-17 21:16:19 jonas Exp $ +# $Id: localmksslcerts,v 1.19 2005-10-18 00:24:33 jonas Exp $ # # Generate certificates for mail (and other) servers # Based on uw-imapd-ssl post-install script @@ -138,35 +138,33 @@ cacert='' makeca='' force='' args='' -while [ $# -gt 0 ]; do - doubleshift='' - case $1 in - --fqdn) fqdn="$2"; doubleshift=1;; - --cn) cn="$2"; doubleshift=1;; - --state) state="$2"; doubleshift=1;; - --loc) loc="$2"; doubleshift=1;; - --org) org="$2"; doubleshift=1;; - --ou) ou="$2"; doubleshift=1;; - --daemon) daemons="$daemons$2 "; doubleshift=1;; - --issuer) issuer="$2"; doubleshift=1;; - --cert) cert=1;; - --cacert) cacert="$2"; doubleshift=1;; - --makeca) makeca=1;; - --force|-f) force=1;; - -*) usage;; - *) args="$args$1 ";; + +TEMP=`getopt -o f --long help,fqdn:,cn:,state:,loc:,org:,ou:,daemon:,issuer:,cert,cacert:,makeca,force -n "$prg" -- "$@"` + +# Check for non-GNU getopt +if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi + +eval set -- "$TEMP" + +while true ; do + case "$1" in + --help) usage;; + --fqdn) fqdn="$2"; shift 2;; + --cn) cn="$2"; shift 2;; + --state) state="$2"; shift 2;; + --loc) loc="$2"; shift 2;; + --org) org="$2"; shift 2;; + --ou) ou="$2"; shift 2;; + --daemon) daemons="$daemons$2 "; shift 2;; + --issuer) issuer="$2"; shift 2;; + --cert) cert=1; shift;; + --cacert) cacert="$2"; shift 2;; + --makeca) makeca=1; shift;; + --force|-f) force=1; shift;; + --) shift; break;; + *) echo "Internal error!" ; exit 1 ;; esac - if [ -n "$doubleshift" ];then - if [ $# -gt 1 ]; then - shift - else - echo "ERROR: Parameter for option \"$1\" missing!" - usage - fi - fi - shift done -set -- $args if [ -z "$issuer" ]; then DOMAINNAME="`hostname -d`" -- cgit v1.2.3