summaryrefslogtreecommitdiff
path: root/localmksslcerts
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2005-10-18 00:24:33 +0000
committerJonas Smedegaard <dr@jones.dk>2005-10-18 00:24:33 +0000
commita3c5e3e195cb4859c7a9b7a0d8a8e37fcf4eec36 (patch)
tree8c88f252de04c3d3b7a5814fe80c307bef84f58c /localmksslcerts
parent0164b44c5d65aab7a2f5b36ed7665a51dad5cee0 (diff)
Use getopts.
Diffstat (limited to 'localmksslcerts')
-rwxr-xr-xlocalmksslcerts54
1 files changed, 26 insertions, 28 deletions
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 <dr@jones.dk>
#
-# $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`"