OwlCyberSecurity - MANAGER
Edit File: caldavd
#!/bin/bash # -*- sh-basic-offset: 2 -*- ## # Copyright (c) 2005-2017 Apple Inc. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. ## set -e; set -u; wd="$(cd "$(dirname "$0")/.." && pwd)"; daemonize=""; errorlogenabled=""; username=""; groupname=""; configfile=""; twistdpath="${wd}/.develop/virtualenv/bin/twistd"; plugin_name="caldav"; service_type=""; profile=""; twistd_reactor=""; twistd_profile=""; child_reactor="" extra=""; py_version () { local python="$1"; shift; echo "$("${python}" -c "from distutils.sysconfig import get_python_version; print get_python_version()")"; } try_python () { local python="$1"; shift; if [ -z "${python}" ]; then return 1; fi; if ! type "${python}" > /dev/null 2>&1; then return 1; fi; local py_version="$(py_version "${python}")"; if [ "$(echo "${py_version}" | sed 's|\.||')" -lt "25" ]; then return 1; fi; return 0; } for v in "2.7" "2"; do for p in \ "${PYTHON:=}" \ "python${v}" \ "/usr/local/bin/python${v}" \ "/usr/local/python/bin/python${v}" \ "/usr/local/python${v}/bin/python${v}" \ "/opt/bin/python${v}" \ "/opt/python/bin/python${v}" \ "/opt/python${v}/bin/python${v}" \ "/Library/Frameworks/Python.framework/Versions/${v}/bin/python" \ "/opt/local/bin/python${v}" \ "/sw/bin/python${v}" \ ; do if try_python "${p}"; then python="${p}"; break; fi; done; if [ -n "${python:-}" ]; then break; fi; done; if [ -z "${python:-}" ]; then echo "No suitable python found."; exit 1; fi; usage () { program="$(basename "$0")"; if [ "${1--}" != "-" ]; then echo "$@"; echo; fi; echo "Usage: ${program} [-hX] [-u username] [-g groupname] [-T twistd] [-t type] [-f caldavd.plist] [-p statsfile]"; echo "Options:"; echo " -h Print this help and exit"; echo " -X Do not daemonize"; echo " -L Do not log errors to file; instead use stdout"; echo " -u User name to run as"; echo " -g Group name to run as"; echo " -f Configuration file to read"; echo " -T Path to twistd binary"; echo " -t Process type (Master, Slave or Combined)"; echo " -p Path to the desired pstats file."; echo " -R The Twisted Reactor to run [${reactor}]"; if [ "${1-}" = "-" ]; then return 0; fi; exit 64; } while getopts 'hXLu:g:f:T:P:t:p:R:o:' option; do case "${option}" in '?') usage; ;; 'h') usage -; exit 0; ;; 'X') daemonize="-n"; ;; 'L') errorlogenabled="-o ErrorLogEnabled=False"; ;; 'f') configfile="-f ${OPTARG}"; ;; 'T') twistdpath="${OPTARG}"; ;; 'u') username="-u ${OPTARG}"; ;; 'g') groupname="-g ${OPTARG}"; ;; 'P') plugin_name="${OPTARG}"; ;; 't') service_type="-o ProcessType=${OPTARG}"; ;; 'p') twistd_profile="--profiler=cprofile-cpu --profile=${OPTARG}/master.pstats --savestats"; profile="-o Profiling/Enabled=True -o Profiling/BaseDirectory=${OPTARG}"; ;; 'R') twistd_reactor="--reactor=${OPTARG}"; child_reactor="-o Twisted/reactor=${OPTARG}"; ;; 'o') extra="${extra} -o ${OPTARG}"; ;; esac; done; shift $((${OPTIND} - 1)); if [ $# != 0 ]; then usage "Unrecognized arguments:" "$@"; fi; export PYTHONHASHSEED=random if [ "${ORACLE_HOME-}" ]; then case "$(uname -s)" in Darwin) echo "macOS Oracle init." export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:-}:${ORACLE_HOME}"; export DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH:-}:${ORACLE_HOME}"; ;; esac; fi; exec "${python}" "${twistdpath}" ${twistd_profile} ${twistd_reactor} ${daemonize} ${username} ${groupname} "${plugin_name}" ${configfile} ${service_type} ${errorlogenabled} ${profile} ${child_reactor} ${extra};