Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 15 additions & 25 deletions bin/vault.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh

DIRNAME=`dirname "$0"`
PROGNAME=`basename "$0"`
DIRNAME=$(dirname "$0")
PROGNAME=$(basename "$0")
GREP="grep"

# Use the maximum available, or set MAX_FD != -1 to use that
Expand All @@ -18,40 +18,30 @@ warn() {
# Helper to puke.
#
die() {
warn $*
warn "$*"
exit 1
}

# OS specific support (must be 'true' or 'false').
# Detect Cygwin specific support (must be 'true' or 'false').
cygwin=false;
darwin=false;
linux=false;
case "`uname`" in
case "$(uname)" in
CYGWIN*)
cygwin=true
;;

Darwin*)
darwin=true
;;

Linux)
linux=true
;;
esac

# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$VAULT_HOME" ] &&
VAULT_HOME=`cygpath --unix "$VAULT_HOME"`
VAULT_HOME=$(cygpath --unix "$VAULT_HOME")
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
[ -n "$JAVAC_JAR" ] &&
JAVAC_JAR=`cygpath --unix "$JAVAC_JAR"`
JAVAC_JAR=$(cygpath --unix "$JAVAC_JAR")
fi

# Setup VAULT_HOME
VAULT_HOME=`cd "$DIRNAME/.."; pwd`
VAULT_HOME=$(cd "$DIRNAME/.." || exit; pwd)
export VAULT_HOME

# Setup the JVM
Expand All @@ -71,7 +61,7 @@ if [ "x$VAULT_CLASSPATH" = "x" ]; then
VAULT_CLASSPATH="$VAULT_HOME/tomcat/tomcat-util.jar:$VAULT_HOME/../tomcat/bin/tomcat-juli.jar"
elif [ -d "$VAULT_HOME/lib" ];then
VAULT_CLASSPATH="$VAULT_HOME/lib/tomcat-util.jar:$VAULT_HOME/bin/tomcat-juli.jar"
VAULT_HOME="$VAULT_HOME/lib"
VAULT_HOME="$VAULT_HOME/lib"
else
VAULT_HOME="/usr/share/java"
VAULT_CLASSPATH="/usr/share/java/tomcat/tomcat-util.jar:/usr/share/tomcat/bin/tomcat-juli.jar"
Expand All @@ -84,12 +74,12 @@ fi

# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
VAULT_HOME=`cygpath --path --windows "$VAULT_HOME"`
VAULT_CLASSPATH=`cygpath --path --windows "$VAULT_CLASSPATH"`
VAULT_HOME=$(cygpath --path --windows "$VAULT_HOME")
VAULT_CLASSPATH=$(cygpath --path --windows "$VAULT_CLASSPATH")
fi

# Display our environment
if [[ "$@" != "-h" && "$@" != "--help" ]]; then
if [ "$*" != "-h" ] && [ "$*" != "--help" ]; then
echo "========================================================================="
echo ""
echo " Tomcat Vault"
Expand All @@ -102,8 +92,8 @@ echo "========================================================================="
echo ""
fi

eval \"$JAVA\" $JAVA_OPTS \
-cp \"$VAULT_HOME/tomcat-vault.jar:$VAULT_CLASSPATH\" \
eval \"$JAVA\" "$JAVA_OPTS" \
-cp \""$VAULT_HOME"/tomcat-vault.jar:"$VAULT_CLASSPATH"\" \
org.apache.tomcat.vault.VaultTool \
'"$@"'

6 changes: 6 additions & 0 deletions src/main/java/org/apache/tomcat/vault/VaultTool.java
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ public class VaultTool {
public static final String REMOVE_SEC_ATTR = "remove-sec-attr";
public static final String GENERATE_CONFIG_FILE = "generate-config";
public static final String HELP_PARAM = "help";
public static final String SKIP_SUMMARY_PARAM = "skip-summary";
public static final String CRYPT = "encrypt";

private static boolean skipSummary = false;
Expand Down Expand Up @@ -180,6 +181,7 @@ private void initOptions() {
options.addOption("A", ALIAS_PARAM, true, "Vault keystore alias");
options.addOption("b", VAULT_BLOCK_PARAM, true, "Vault block");
options.addOption("a", ATTRIBUTE_PARAM, true, "Attribute name");
options.addOption("s", SKIP_SUMMARY_PARAM, false, "Skip summary");

OptionGroup og = new OptionGroup();
Option x = new Option("x", SEC_ATTR_VALUE_PARAM, true, "Secured attribute value (such as password) to store");
Expand All @@ -200,6 +202,10 @@ private void initOptions() {

private int execute() throws Exception {

if (cmdLine.hasOption(SKIP_SUMMARY_PARAM)){
skipSummary = true;
}

if (cmdLine.hasOption(HELP_PARAM)) {
// Just print the usage. Printing summary is not required here.
skipSummary = true;
Expand Down