diff -r d-cache.orig/bin/dcache d-cache/bin/dcache 217c217 < if ! jmap ${1:+-F} -dump:${2:+live,}format=b,file=$3 $4; then --- > if ! $jmap ${1:+-F} -dump:${2:+live,}format=b,file=$3 $4; then 353,354c353,354 < format="%-${width}s %-10s %-10s%5s\n" < printf "$format" "Domain" "Service" "Status" "Pid" --- > format="%-${width}s %-16s %s\n" > printf "$format" "Domain" "Service" "Status" 356,357c356,358 < if getPidOfDomain $domain; then < pid="$RET" --- > if ! getPidOfDomain $domain; then > status="stopped" > elif getJavaPidOfDomain $domain; then 360,361c361 < pid="" < status="stopped" --- > status="restarting" 370c370 < printf "$format" "$domain" "$service" "$status" "$pid" --- > printf "$format" "$domain" "$service" "$status" 546c546 < if ! getPidOfDomain ${domain}; then --- > if ! getJavaPidOfDomain ${domain}; then 572c572 < if getPidOfDomain ${domain}; then --- > if getJavaPidOfDomain ${domain}; then Binary files d-cache.orig/classes/cells.jar and d-cache/classes/cells.jar differ Binary files d-cache.orig/classes/cells-protocols.jar and d-cache/classes/cells-protocols.jar differ Binary files d-cache.orig/classes/chimera/chimera-core.jar and d-cache/classes/chimera/chimera-core.jar differ Binary files d-cache.orig/classes/dcache-common.jar and d-cache/classes/dcache-common.jar differ Binary files d-cache.orig/classes/dcache.jar and d-cache/classes/dcache.jar differ Binary files d-cache.orig/classes/gplazma/gplazma.jar and d-cache/classes/gplazma/gplazma.jar differ Binary files d-cache.orig/classes/infoDynamicSE.jar and d-cache/classes/infoDynamicSE.jar differ Binary files d-cache.orig/classes/javatunnel.jar and d-cache/classes/javatunnel.jar differ Binary files d-cache.orig/classes/srm.jar and d-cache/classes/srm.jar differ Binary files d-cache.orig/classes/srm-tomcat.jar and d-cache/classes/srm-tomcat.jar differ Binary files d-cache.orig/classes/xrootd-tokenauthz.jar and d-cache/classes/xrootd-tokenauthz.jar differ Only in d-cache/config: acls Only in d-cache/config: adminDoorSetup Only in d-cache/config: authdoorSetup Only in d-cache/config: authorized_keys Only in d-cache/config: authorized_keys.new Only in d-cache/config: chimeraSetup Only in d-cache/config: dCacheSetup Only in d-cache/config: dCacheSetup~ Only in d-cache/config: dCacheSetup.new Only in d-cache/config: dirSetup Only in d-cache/config: doorSetup Only in d-cache/config: gPlazmaSetup Only in d-cache/config: gridftpdoorSetup Only in d-cache/config: gsidcapdoorSetup Only in d-cache/config: head01.poollist Only in d-cache/config: host_key Only in d-cache/config: httpdoorSetup Only in d-cache/config: httpdSetup Only in d-cache/config: infoProviderSetup Only in d-cache/config: infoSetup Only in d-cache/config: lmSetup Only in d-cache/config: log4j.properties.new Only in d-cache/config: meta Only in d-cache/config: nfsv41Setup Only in d-cache/config: passwd Only in d-cache/config: passwd.new Only in d-cache/config: pnfsSetup diff -r d-cache.orig/config/pool.batch d-cache/config/pool.batch 46a47 > set context -c xrootdMoverMaxFrameSize 2097152 86a88 > -xrootd-mover-max-frame-size=${xrootdMoverMaxFrameSize} \ Only in d-cache/config: PoolManager.conf.new Only in d-cache/config: poolSetup Only in d-cache/config: relations Only in d-cache/config: replicaSetup Only in d-cache/config: server_key Only in d-cache/config: server_key.new Only in d-cache/config: server_key.pub Only in d-cache/config: server_key.pub.new Only in d-cache/config: srmSetup Only in d-cache/config: statisticsSetup Only in d-cache/config: utilitySetup Only in d-cache/config: xrootdDoorSetup Binary files d-cache.orig/docs/images/bg.jpg and d-cache/docs/images/bg.jpg differ Only in d-cache/etc: dcache.kpwd Only in d-cache/etc: dcache.kpwd.new diff -r d-cache.orig/etc/dcachesrm-gplazma.policy d-cache/etc/dcachesrm-gplazma.policy 37,39c37,39 < xacml-vo-mapping="OFF" < saml-vo-mapping="OFF" < kpwd="ON" --- > xacml-vo-mapping="ON" > saml-vo-mapping="ON" > kpwd="OFF" 41c41 < gplazmalite-vorole-mapping="OFF" --- > gplazmalite-vorole-mapping="ON" 44,48c44,48 < xacml-vo-mapping-priority="5" < saml-vo-mapping-priority="1" < kpwd-priority="3" < grid-mapfile-priority="4" < gplazmalite-vorole-mapping-priority="2" --- > gplazmalite-vorole-mapping-priority="1" > xacml-vo-mapping-priority="2" > saml-vo-mapping-priority="3" > kpwd-priority="4" > grid-mapfile-priority="5" 63c63 < XACMLmappingServiceUrl="https://fledgling09.fnal.gov:8443/gums/services/GUMSXACMLAuthorizationServicePort" --- > XACMLmappingServiceUrl="https://linat02.grid.umich.edu:8443/gums/services/GUMSXACMLAuthorizationServicePort" 68c68 < mappingServiceUrl="https://fledgling09.fnal.gov:8443/gums/services/GUMSAuthorizationServicePort" --- > mappingServiceUrl="https://linat02.grid.umich.edu:8443/gums/services/GUMSAuthorizationServicePort" 75c75 < vomsValidation="false" --- > vomsValidation="true" Only in d-cache/etc: dcachesrm-gplazma.policy.new Only in d-cache/etc: dcachesrm-gplazma.policy.orig Only in d-cache/etc: LinkGroupAuthorization.conf Only in d-cache/etc: LinkGroupAuthorization.conf.new Only in d-cache/etc: node_config Only in d-cache/etc: node_config~ Only in d-cache/etc: node_config.new Only in d-cache/etc: sedEm8vlI Only in d-cache/etc: sedGcrVL3 Only in d-cache/etc: sedL8VRYB Only in d-cache/etc: sedrTVxcp Only in d-cache/etc: sedSlBCcM Only in d-cache/etc: sedWfJuwM Only in d-cache/etc: sedWLfTo7 diff -r d-cache.orig/etc/srm_setup.env d-cache/etc/srm_setup.env 4,5c4 < JAVA_HOME=/opt/jdk1.5.0_09 < JAVA_OPTS="-Xmx512m -Djava.awt.headless=true -Dorg.globus.jglobus.delegation.cache.lifetime=30000 -Dorg.globus.jglobus.crl.cache.lifetime=60000" --- > JAVA_OPTS="-Xmx1024m -Djava.awt.headless=true -Dorg.globus.jglobus.delegation.cache.lifetime=30000" 16c15 < TOMCAT_HTTP_ENABLED=false #must be true to enable srm monitoring --- > TOMCAT_HTTP_ENABLED=true #must be true to enable srm monitoring 35a35 > JAVA_HOME=/usr/java/jdk1.6.0_17 Only in d-cache/etc: srm_setup.env.new Only in d-cache/etc: srm_setup.env.orig Only in d-cache/jobs: adminDoor Only in d-cache/jobs: adminDoor.lib.sh Only in d-cache/jobs: authdoor Only in d-cache/jobs: authdoor.lib.sh Only in d-cache/jobs: chimera Only in d-cache/jobs: chimera.lib.sh Only in d-cache/jobs: dCache Only in d-cache/jobs: dCache.lib.sh Only in d-cache/jobs: dir Only in d-cache/jobs: dir.lib.sh Only in d-cache/jobs: door Only in d-cache/jobs: door.lib.sh diff -r d-cache.orig/jobs/generic.lib.sh d-cache/jobs/generic.lib.sh 41,45d40 < touch ${logfile} 2>/dev/null < if [ $? -ne 0 ] ; then < echo "Could not write to logfile ${logfile}; using /dev/null" 1>&2 < logfile=/dev/null < fi 48c43,59 < pidFile="${pidDir}/dcache.${domainName}.pid" --- > javaPidFile="${pidDir}/dcache.${domainName}-java.pid" > daemonPidFile="${pidDir}/dcache.${domainName}-daemon.pid" > > getPid() # in $1=pidfile, out $2=pid > { > if [ ! -f "$1" ] ; then > echo "Cannot find appropriate PID file ($1)" 1>&2 > exit 1 > fi > pid=`cat "$1"` > if [ -z "$pid" ] ; then > echo "$1 does not contain valid PID" 1>&2 > exit 1 > fi > eval $2=$pid > } > 52,80c63,95 < procStop() { < if [ ! -f ${pidFile} ] ; then < echo "Cannot find appropriate pid file (${pidFile})" 1>&2 < exit 0 < fi < x=`cat ${pidFile}` < if [ -z "$x" ] ; then < echo "Pid file (${pidFile}) does not contain valid PID" 1>&2 < exit 1 < fi < touch "$stopFile" 2>/dev/null < kill -TERM $x 1>/dev/null 2>/dev/null < printf "Stopping ${domainName} (pid=`cat ${pidFile}`) " < < for c in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do < kill -0 $x 1>/dev/null 2>/dev/null < if [ $? -ne 0 ] ; then < rm -f $pidFile < echo "Done" < exit 0 < fi < printf "$c " < sleep 1 < if [ $c -eq 9 ] ; then < kill -9 $x < fi < done < echo "Giving up : ${domainName} might still be running" 1>&2 < exit 4 --- > procStop() > { > getPid "$daemonPidFile" daemonPid > getPid "$javaPidFile" javaPid > > # Don't do anything if not running > ps -p $daemonPid 1>/dev/null 2>/dev/null || exit 0 > > # Fail if we don't have permission to signal the daemon > kill -0 $daemonPid || { echo "Failed to kill ${domainName}"; exit 1; } > > # Stopping a dCache domain for good requires that we supress the > # automatic restart by creating a stop file. > touch "$stopFile" 2>/dev/null > kill -TERM $javaPid 1>/dev/null 2>/dev/null || true > > printf "Stopping ${domainName} (pid=$javaPid) " > for c in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do > ps -p $daemonPid 1>/dev/null 2>/dev/null || { > rm -f "$daemonPidFile" "$javaPidFile" > echo "Done" > return > } > printf "$c " > sleep 1 > if [ $c -eq 9 ] ; then > kill -9 $javaPid 1>/dev/null 2>/dev/null || true > fi > done > echo > echo "Giving up : ${domainName} might still be running" 1>&2 > exit 4 > } 81a97,99 > isRunning() # in $1=pidFile > { > [ -f "$1" ] && ps -p `cat "$1"` 1>/dev/null 2>/dev/null 83d100 < procStart() { 85,88c102,104 < if [ -f ${pidFile} ] ; then < x=`cat ${pidFile}` < kill -0 $x 1>/dev/null 2>/dev/null < if [ $? -eq 0 ] ; then --- > procStart() > { > if isRunning "${daemonPidFile}"; then 91,98c107 < fi < fi < < touch ${pidFile} 2>/dev/null < if [ $? -ne 0 ] ; then < echo "Could not use pid file ${pidFile}, cannot startup !!" 1>&2 < exit 4 < fi --- > fi 100,119c109,139 < if [ ! -z "${telnetPort}" ] ; then < TELNET_PORT="-telnet ${telnetPort}" < elif [ ! -z "${telnet}" ] ; then < TELNET_PORT="-telnet ${telnet}" < fi < if [ ! -z "${batch}" ] ; then < batchFile=${batch} < else < batchFile=${config}/${ourBaseName}.batch < fi < if [ -f "$batchFile" ] ; then < BATCH_FILE="-batch ${batchFile}" < else < echo "Batch file does not exist: ${batchFile}, cannot continue ..." 1>&2 < exit 5 < fi < if [ ! -z "${debug}" ] ; then DEBUG="-debug" ; fi < CLASSPATH="${classpath}:${thisDir}/../..:${thisDir}/../classes/cells.jar:${thisDir}/../classes/dcache.jar:${externalLibsClassPath}" < LD_LIBRARY_PATH="${librarypath}" < export LD_LIBRARY_PATH --- > touch "${logfile}" || { > echo "Could not write to logfile ${logfile}" 1>&2 > exit 1 > } > > if [ ! -z "${telnetPort}" ]; then > TELNET_PORT="-telnet ${telnetPort}" > elif [ ! -z "${telnet}" ]; then > TELNET_PORT="-telnet ${telnet}" > fi > > if [ ! -z "${batch}" ]; then > batchFile=${batch} > else > batchFile=${config}/${ourBaseName}.batch > fi > > if [ -f "$batchFile" ]; then > BATCH_FILE="-batch ${batchFile}" > else > echo "Batch file does not exist: ${batchFile}, cannot continue ..." 1>&2 > exit 5 > fi > > if [ ! -z "${debug}" ]; then > DEBUG="-debug" > fi > > CLASSPATH="${classpath}:${thisDir}/../..:${thisDir}/../classes/cells.jar:${thisDir}/../classes/dcache.jar:${externalLibsClassPath}" > LD_LIBRARY_PATH="${librarypath}" > export LD_LIBRARY_PATH 124,127c144,146 < if [ -x "${ourHomeDir}/jre/bin/java" ] < then < java="${ourHomeDir}/jre/bin/java" < fi --- > if [ -x "${ourHomeDir}/jre/bin/java" ]; then > java="${ourHomeDir}/jre/bin/java" > fi 130c149 < # continue to use dCacheSetup where -Dorg.globus.jglobus.delegation.cache.lifetime is not --- > # continue to use dCacheSetup where -Dorg.globus.jglobus.delegation.cache.lifetime is not 132,133c151,152 < if echo "${java_options}" | grep "\-Dorg\.globus\.jglobus\.delegation\.cache\.lifetime=" 2>&1 >/dev/null ; [ $? -ne 0 ]; then < java_options="${java_options} \ --- > echo "${java_options}" | grep "\-Dorg\.globus\.jglobus\.delegation\.cache\.lifetime=" >/dev/null || { > java_options="${java_options} \ 135c154 < fi --- > } 138,139c157 < java_options="${java_options} \ < -cp ${CLASSPATH} \ --- > java_options="${java_options} \ 152c170 < [ "${logMode}" = "new" ] && mv -f "${logfile}" "${logfile}.old" --- > [ "${logMode}" = "new" ] && mv -f "${logfile}" "${logfile}.old" 154,167c172,183 < if [ -f "${config}/delay" ] ; then < delay=`cat "${config}/delay" 2>/dev/null` < else < delay=10 < fi < < rm -f "$stopFile" < /bin/sh ${ourHomeDir}/share/lib/daemon ${user:+-u} ${user:+"$user"} -r "${stopFile}" -d "${delay}" -f -p "${pidFile}" -o "${logfile}" "${java}" ${java_options} < < printf "Starting ${domainName} " < for c in 6 5 4 3 2 1 0 ; do < latestPid=`cat ${pidFile} 2>/dev/null` < kill -0 ${latestPid} 1>/dev/null 2>/dev/null < if [ $? -eq 0 ] ; then --- > if [ -f "${config}/delay" ] ; then > delay=`cat "${config}/delay"` > else > delay=10 > fi > > rm -f "$stopFile" > CLASSPATH=${CLASSPATH} /bin/sh ${ourHomeDir}/share/lib/daemon ${user:+-u} ${user:+"$user"} -r "${stopFile}" -d "${delay}" -f -c "${javaPidFile}" -p "${daemonPidFile}" -o "${logfile}" "${java}" ${java_options} > > printf "Starting ${domainName} " > for c in 6 5 4 3 2 1 0; do > if isRunning "${javaPidFile}"; then 173,183c189,197 < done < latestPid=`cat ${pidFile} 2>/dev/null` < kill -0 ${latestPid} 1>/dev/null 2>/dev/null < if [ $? -ne 0 ] ; then < echo " failed" < grep PANIC "${logfile}" < exit 4 < else < echo "Done (pid=${latestPid})" < fi < exit 0 --- > done > > if isRunning "${javaPidFile}"; then > echo "Done" > else > echo "failed" > grep PANIC "${logfile}" > exit 4 > fi 184a199 > Only in d-cache/jobs: gPlazma Only in d-cache/jobs: gPlazma.lib.sh Only in d-cache/jobs: gridftpdoor Only in d-cache/jobs: gridftpdoor.lib.sh Only in d-cache/jobs: gsidcapdoor Only in d-cache/jobs: gsidcapdoor.lib.sh Only in d-cache/jobs: httpd Only in d-cache/jobs: httpd.lib.sh Only in d-cache/jobs: httpdoor Only in d-cache/jobs: httpdoor.lib.sh Only in d-cache/jobs: info Only in d-cache/jobs: info.lib.sh Only in d-cache/jobs: infoProvider Only in d-cache/jobs: infoProvider.lib.sh Only in d-cache/jobs: lm Only in d-cache/jobs: lm.lib.sh Only in d-cache/jobs: nfsv41 Only in d-cache/jobs: nfsv41.lib.sh Only in d-cache/jobs: pnfs Only in d-cache/jobs: pnfs.lib.sh Only in d-cache/jobs: pool Only in d-cache/jobs: pool.lib.sh Only in d-cache/jobs: replica Only in d-cache/jobs: replica.lib.sh Only in d-cache/jobs: srm Only in d-cache/jobs: srm.lib.sh Only in d-cache/jobs: statistics Only in d-cache/jobs: statistics.lib.sh Only in d-cache/jobs: utility Only in d-cache/jobs: utility.lib.sh diff -r d-cache.orig/jobs/wrapper2.sh d-cache/jobs/wrapper2.sh 1a2,4 > > set -e > 220,226c223,226 < ${SITE_LOCAL} $* < rc=$? < if [ $rc -ne 0 ] ; then < echo "Site local script (${SITE_LOCAL}) failed : errno = $rc" < exit $rc < fi < --- > ${SITE_LOCAL} $* || { > echo "Site local script (${SITE_LOCAL}) failed : errno = $?" > exit $? > } Only in d-cache/jobs: xrootdDoor Only in d-cache/jobs: xrootdDoor.lib.sh Only in d-cache/libexec: apache-tomcat-5.5.20 diff -r d-cache.orig/libexec/chimera/chimera-nfs-run.sh d-cache/libexec/chimera/chimera-nfs-run.sh 7a8 > PORTMAP_VERS=2 81c82 < rpcinfo -n ${PORTMAP_PORT} -u localhost ${PORTMAP_PROGNUM} >/dev/null --- > rpcinfo -n ${PORTMAP_PORT} -u localhost ${PORTMAP_PROGNUM} ${PORTMAP_VERS} >/dev/null diff -r d-cache.orig/libexec/wait-for-cells.sh d-cache/libexec/wait-for-cells.sh 139c139 < list_missing_cells | grep -q "Missing:" --- > list_missing_cells | grep "Missing:" >/dev/null diff -r d-cache.orig/share/dCacheConfigure/utils/split_quoted_variable d-cache/share/dCacheConfigure/utils/split_quoted_variable 9c9 < if ( echo "$@" | grep -q "'" ); then --- > if ( echo "$@" | grep "'" >/dev/null ); then diff -r d-cache.orig/share/lib/daemon d-cache/share/lib/daemon 2a3,4 > set -e > 7a10 > echo " -c store PID of child process in " 9c12 < echo " -p store PID of daemon in " --- > echo " -p store PID of daemon wrapper in " 24a28,33 > echo > echo "The PID stored with -c is always the PID of the last invocation of" > echo "COMMAND. The PID stored with -p is the PID of process that invoked" > echo "COMMAND. In case -f is specified and -r is not specified, then the" > echo "daemon wrapper will terminate after COMMAND has been executed. In" > echo "that case -p will store the PID of COMMAND." 27a37,43 > storePid() # in $1=pid, in $2=file > { > if [ -n "$2" ]; then > echo $1 > "$2" > fi > } > 31,33c47 < if [ "$pid" ]; then < echo $! > "$pid" < fi --- > storePid $! "$childPid" 38,39c52,53 < while run "$@"; wait $!; ! [ -f "$restart" ]; do < if [ "$delay" ] ; then --- > while run "$@"; wait $!; [ ! -f "$restart" ]; do > if [ -n "$delay" ] ; then 45c59,67 < while getopts d:p:r:u:o:f opt "$@"; do --- > createFileWithOwner() # in $1 = file, in $2 = owner > { > if [ -n "$1" ]; then > touch "$1" > chown "$2" "$1" > fi > } > > while getopts c:d:p:r:u:o:f opt "$@"; do 46a69 > c) childPid="$OPTARG";; 62c85 < if [ "$output" ]; then --- > if [ -n "$output" ]; then 67c90 < if [ "$user" ]; then --- > if [ -n "$user" ]; then 69,72c92,93 < if [ "$pid" ]; then < touch "$pid" < chown "$user" "$pid" < fi --- > createFileWithOwner "$childPid" "$user" > createFileWithOwner "$pid" "$user" 77c98 < param="${fork:+-f} ${pid:+-p} ${pid:+\"$pid\"} ${restart:+-r} ${restart:+\"$restart\"} ${delay:+-d} ${delay:+\"$delay\"}" --- > param="${fork:+-f} ${childPid:+-c} ${childPid:+\"$childPid\"} ${pid:+-p} ${pid:+\"$pid\"} ${restart:+-r} ${restart:+\"$restart\"} ${delay:+-d} ${delay:+\"$delay\"}" 86,87c107,108 < if [ "$restart" ]; then < if [ "$fork" ]; then --- > if [ -n "$restart" ]; then > if [ -n "$fork" ]; then 88a110 > storePid $! "$pid" 89a112 > storePid $$ "$pid" 94c117,122 < [ "$fork" ] || wait $! --- > if [ -n "$fork" ]; then > storePid $! "$pid" > else > storePid $$ "$pid" > wait $! > fi 96,97d123 < < diff -r d-cache.orig/share/lib/services.sh d-cache/share/lib/services.sh 295a296 > local pidDir 296a298,330 > local service > > domain="$1" > > getConfigurationValue "$domain" pidDir || return > pidDir="${RET:-$DCACHE_PID}" > > getService "$domain" || return > service="$RET" > > if [ "$service" = "srm" ]; then > pidFile="${pidDir}/dcache.$domain.pid" > else > pidFile="${pidDir}/dcache.$domain-daemon.pid" > fi > [ -f "${pidFile}" ] || return 1 > > pid=$(cat "${pidFile}") > isRunning ${pid} || return 1 > > RET=${pid} > return 0 > } > > # If domain runs, RET is set to its PID. Returns 0 if domain is > # running, 1 otherwise. > getJavaPidOfDomain() # $1 = Domain name > { > local domain > local pidFile > local pidDir > local pid > local service 300a335,344 > pidDir="${RET:-$DCACHE_PID}" > > getService "$domain" || return > service="$RET" > > if [ "$service" = "srm" ]; then > pidFile="${pidDir}/dcache.$domain.pid" > else > pidFile="${pidDir}/dcache.$domain-java.pid" > fi 302,303c346 < pidFile="${RET:-$DCACHE_PID}/dcache.$domain.pid" < [ -f ${pidFile} ] || return 1 --- > [ -f "${pidFile}" ] || return 1 305c348 < pid=$(cat ${pidFile}) --- > pid=$(cat "${pidFile}") Only in d-cache: srm-webapp