From: Sam Hartman Date: Fri, 20 Oct 2006 10:28:22 +0000 (+0000) Subject: Merge 1.4.2 upstream changes onto trunk. X-Git-Tag: debian/1.4.2-1~1 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=1e35e661a01a97bedf388ace6663dfd0ec3fd7d1;p=packages%2Fo%2Fopenafs.git Merge 1.4.2 upstream changes onto trunk. --- diff --git a/Makefile.in b/Makefile.in index 7e906bdfa..25c011ec2 100644 --- a/Makefile.in +++ b/Makefile.in @@ -768,6 +768,8 @@ distclean: clean src/pam/Makefile \ src/pinstall/test/Makefile \ src/pinstall/Makefile \ + src/platform/Makefile \ + src/platform/${MKAFS_OSTYPE}/Makefile \ src/procmgmt/Makefile \ src/procmgmt/test/Makefile \ src/ptserver/Makefile \ diff --git a/acinclude.m4 b/acinclude.m4 index 5485607a9..fb8001a53 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -308,7 +308,7 @@ else AFS_PARAM_COMMON=param.nbsd30.h AFS_SYSNAME="i386_nbsd30" ;; - i?86-*-netbsd*3.0*) + i?86-*-netbsd*3.[[0-8]]*) AFS_PARAM_COMMON=param.nbsd30.h AFS_SYSNAME="i386_nbsd30" ;; @@ -316,6 +316,14 @@ else AFS_PARAM_COMMON=param.nbsd30.h AFS_SYSNAME="i386_nbsd30" ;; + i?86-*-netbsd*4.[[0-8]]*) + AFS_PARAM_COMMON=param.nbsd40.h + AFS_SYSNAME="i386_nbsd40" + ;; + i?86-*-netbsd*4.99*) + AFS_PARAM_COMMON=param.nbsd40.h + AFS_SYSNAME="i386_nbsd40" + ;; hppa*-hp-hpux11.0*) AFS_SYSNAME="hp_ux110" ;; @@ -608,6 +616,8 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) LINUX_REFRIGERATOR LINUX_LINUX_KEYRING_SUPPORT LINUX_KEY_ALLOC_NEEDS_STRUCT_TASK + LINUX_DO_SYNC_READ + LINUX_GENERIC_FILE_AIO_READ LINUX_EXPORTS_SYS_CHDIR LINUX_EXPORTS_SYS_CLOSE LINUX_EXPORTS_SYS_OPEN diff --git a/configure b/configure index e40394697..6bde4b81b 100755 --- a/configure +++ b/configure @@ -2168,7 +2168,7 @@ fi # Define the identity of the package. PACKAGE=openafs - VERSION=1.4.2fc4 + VERSION=1.4.2 cat >>confdefs.h <<_ACEOF @@ -6359,7 +6359,7 @@ echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6; } AFS_PARAM_COMMON=param.nbsd30.h AFS_SYSNAME="i386_nbsd30" ;; - i?86-*-netbsd*3.0*) + i?86-*-netbsd*3.[0-8]*) AFS_PARAM_COMMON=param.nbsd30.h AFS_SYSNAME="i386_nbsd30" ;; @@ -6367,6 +6367,14 @@ echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6; } AFS_PARAM_COMMON=param.nbsd30.h AFS_SYSNAME="i386_nbsd30" ;; + i?86-*-netbsd*4.[0-8]*) + AFS_PARAM_COMMON=param.nbsd40.h + AFS_SYSNAME="i386_nbsd40" + ;; + i?86-*-netbsd*4.99*) + AFS_PARAM_COMMON=param.nbsd40.h + AFS_SYSNAME="i386_nbsd40" + ;; hppa*-hp-hpux11.0*) AFS_SYSNAME="hp_ux110" ;; @@ -11630,6 +11638,246 @@ _ACEOF fi + { echo "$as_me:$LINENO: checking for linux do_sync_read()" >&5 +echo $ECHO_N "checking for linux do_sync_read()... $ECHO_C" >&6; } + if test "${ac_cv_linux_do_sync_read+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" + + if test -f $LINUX_KERNEL_PATH/scripts/Makefile.build; then + + rm -fr conftest.dir + if mkdir conftest.dir; then + cd conftest.dir + cat >Makefile <<_ACEOF +CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.c <<\_ACEOF +#include +#include + +void conftest(void) +{ +do_sync_read(NULL, NULL, 0, NULL); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + cd .. + fi + if { (echo "$as_me:$LINENO: make -C \$LINUX_KERNEL_PATH M=\`pwd\`/conftest.dir modules > /dev/null") >&5 + (make -C $LINUX_KERNEL_PATH M=`pwd`/conftest.dir modules > /dev/null) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + ac_cv_linux_do_sync_read=yes +else + ac_cv_linux_do_sync_read=no +fi + + rm -fr conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +do_sync_read(NULL, NULL, 0, NULL); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_do_sync_read=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_do_sync_read=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi + CPPFLAGS="$save_CPPFLAGS" +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_do_sync_read" >&5 +echo "${ECHO_T}$ac_cv_linux_do_sync_read" >&6; } + if test "x$ac_cv_linux_do_sync_read" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define DO_SYNC_READ 1 +_ACEOF + + fi + + { echo "$as_me:$LINENO: checking for linux generic_file_aio_read()" >&5 +echo $ECHO_N "checking for linux generic_file_aio_read()... $ECHO_C" >&6; } + if test "${ac_cv_linux_generic_file_aio_read+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" + + if test -f $LINUX_KERNEL_PATH/scripts/Makefile.build; then + + rm -fr conftest.dir + if mkdir conftest.dir; then + cd conftest.dir + cat >Makefile <<_ACEOF +CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.c <<\_ACEOF +#include +#include + +void conftest(void) +{ +generic_file_aio_read(NULL, NULL, 0, 0); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + cd .. + fi + if { (echo "$as_me:$LINENO: make -C \$LINUX_KERNEL_PATH M=\`pwd\`/conftest.dir modules > /dev/null") >&5 + (make -C $LINUX_KERNEL_PATH M=`pwd`/conftest.dir modules > /dev/null) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + ac_cv_linux_generic_file_aio_read=yes +else + ac_cv_linux_generic_file_aio_read=no +fi + + rm -fr conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +generic_file_aio_read(NULL, NULL, 0, 0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_generic_file_aio_read=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_generic_file_aio_read=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi + CPPFLAGS="$save_CPPFLAGS" +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_generic_file_aio_read" >&5 +echo "${ECHO_T}$ac_cv_linux_generic_file_aio_read" >&6; } + if test "x$ac_cv_linux_generic_file_aio_read" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define GENERIC_FILE_AIO_READ 1 +_ACEOF + + fi + { echo "$as_me:$LINENO: checking for exported sys_chdir" >&5 echo $ECHO_N "checking for exported sys_chdir... $ECHO_C" >&6; } if test "${ac_cv_linux_exports_sys_chdir+set}" = set; then @@ -18571,7 +18819,7 @@ case $AFS_SYSNAME in YACC="byacc" ;; - *nbsd2*|*nbsd3*) + *nbsd2*|*nbsd3*|*nbsd4*) LEX="flex -l" MT_CFLAGS='${XCFLAGS} -DAFS_PTHREAD_ENV -D_REENTRANT ' MT_LIBS="-lpthread" # XXX -pthread soon diff --git a/configure-libafs b/configure-libafs index de338b190..4bdcee4d2 100755 --- a/configure-libafs +++ b/configure-libafs @@ -2168,7 +2168,7 @@ fi # Define the identity of the package. PACKAGE=openafs-libafs - VERSION=1.4.2fc4 + VERSION=1.4.2 cat >>confdefs.h <<_ACEOF @@ -6360,7 +6360,7 @@ echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6; } AFS_PARAM_COMMON=param.nbsd30.h AFS_SYSNAME="i386_nbsd30" ;; - i?86-*-netbsd*3.0*) + i?86-*-netbsd*3.[0-8]*) AFS_PARAM_COMMON=param.nbsd30.h AFS_SYSNAME="i386_nbsd30" ;; @@ -6368,6 +6368,14 @@ echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6; } AFS_PARAM_COMMON=param.nbsd30.h AFS_SYSNAME="i386_nbsd30" ;; + i?86-*-netbsd*4.[0-8]*) + AFS_PARAM_COMMON=param.nbsd40.h + AFS_SYSNAME="i386_nbsd40" + ;; + i?86-*-netbsd*4.99*) + AFS_PARAM_COMMON=param.nbsd40.h + AFS_SYSNAME="i386_nbsd40" + ;; hppa*-hp-hpux11.0*) AFS_SYSNAME="hp_ux110" ;; @@ -11630,6 +11638,246 @@ _ACEOF fi + { echo "$as_me:$LINENO: checking for linux do_sync_read()" >&5 +echo $ECHO_N "checking for linux do_sync_read()... $ECHO_C" >&6; } + if test "${ac_cv_linux_do_sync_read+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" + + if test -f $LINUX_KERNEL_PATH/scripts/Makefile.build; then + + rm -fr conftest.dir + if mkdir conftest.dir; then + cd conftest.dir + cat >Makefile <<_ACEOF +CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.c <<\_ACEOF +#include +#include + +void conftest(void) +{ +do_sync_read(NULL, NULL, 0, NULL); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + cd .. + fi + if { (echo "$as_me:$LINENO: make -C \$LINUX_KERNEL_PATH M=\`pwd\`/conftest.dir modules > /dev/null") >&5 + (make -C $LINUX_KERNEL_PATH M=`pwd`/conftest.dir modules > /dev/null) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + ac_cv_linux_do_sync_read=yes +else + ac_cv_linux_do_sync_read=no +fi + + rm -fr conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +do_sync_read(NULL, NULL, 0, NULL); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_do_sync_read=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_do_sync_read=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi + CPPFLAGS="$save_CPPFLAGS" +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_do_sync_read" >&5 +echo "${ECHO_T}$ac_cv_linux_do_sync_read" >&6; } + if test "x$ac_cv_linux_do_sync_read" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define DO_SYNC_READ 1 +_ACEOF + + fi + + { echo "$as_me:$LINENO: checking for linux generic_file_aio_read()" >&5 +echo $ECHO_N "checking for linux generic_file_aio_read()... $ECHO_C" >&6; } + if test "${ac_cv_linux_generic_file_aio_read+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" + + if test -f $LINUX_KERNEL_PATH/scripts/Makefile.build; then + + rm -fr conftest.dir + if mkdir conftest.dir; then + cd conftest.dir + cat >Makefile <<_ACEOF +CFLAGS += $CPPFLAGS + +obj-m += conftest.o +_ACEOF + cat >conftest.c <<\_ACEOF +#include +#include + +void conftest(void) +{ +generic_file_aio_read(NULL, NULL, 0, 0); +} + +MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); +_ACEOF + cd .. + fi + if { (echo "$as_me:$LINENO: make -C \$LINUX_KERNEL_PATH M=\`pwd\`/conftest.dir modules > /dev/null") >&5 + (make -C $LINUX_KERNEL_PATH M=`pwd`/conftest.dir modules > /dev/null) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + ac_cv_linux_generic_file_aio_read=yes +else + ac_cv_linux_generic_file_aio_read=no +fi + + rm -fr conftest.dir + else + + ac_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +generic_file_aio_read(NULL, NULL, 0, 0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_linux_generic_file_aio_read=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_linux_generic_file_aio_read=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$ac_save_CPPFLAGS" + fi + CPPFLAGS="$save_CPPFLAGS" +fi + + { echo "$as_me:$LINENO: result: $ac_cv_linux_generic_file_aio_read" >&5 +echo "${ECHO_T}$ac_cv_linux_generic_file_aio_read" >&6; } + if test "x$ac_cv_linux_generic_file_aio_read" = "xyes"; then + +cat >>confdefs.h <<\_ACEOF +#define GENERIC_FILE_AIO_READ 1 +_ACEOF + + fi + { echo "$as_me:$LINENO: checking for exported sys_chdir" >&5 echo $ECHO_N "checking for exported sys_chdir... $ECHO_C" >&6; } if test "${ac_cv_linux_exports_sys_chdir+set}" = set; then @@ -18571,7 +18819,7 @@ case $AFS_SYSNAME in YACC="byacc" ;; - *nbsd2*|*nbsd3*) + *nbsd2*|*nbsd3*|*nbsd4*) LEX="flex -l" MT_CFLAGS='${XCFLAGS} -DAFS_PTHREAD_ENV -D_REENTRANT ' MT_LIBS="-lpthread" # XXX -pthread soon diff --git a/configure-libafs.in b/configure-libafs.in index a99a2ea1d..961c6816e 100644 --- a/configure-libafs.in +++ b/configure-libafs.in @@ -1,5 +1,5 @@ AC_INIT(src/libafs/Makefile.common.in) -AM_INIT_AUTOMAKE(openafs-libafs,1.4.2fc4) +AM_INIT_AUTOMAKE(openafs-libafs,1.4.2) AC_CONFIG_HEADER(src/config/afsconfig.h) define(OPENAFS_CONFIGURE_LIBAFS) diff --git a/configure.in b/configure.in index 8884f1adf..7fe6cadcf 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ AC_INIT(src/config/stds.h) -AM_INIT_AUTOMAKE(openafs,1.4.2fc4) +AM_INIT_AUTOMAKE(openafs,1.4.2) AC_CONFIG_HEADER(src/config/afsconfig.h) AC_PROG_CC diff --git a/doc/txt/RELNOTES-1.4.2 b/doc/txt/RELNOTES-1.4.2 new file mode 100644 index 000000000..4dba58683 --- /dev/null +++ b/doc/txt/RELNOTES-1.4.2 @@ -0,0 +1,89 @@ + OpenAFS Release Notes - Version 1.4.2 + _________________________________________________________________ +All systems: Major bugfixes. + _________________________________________________________________ + +* Bugfixes: + +All systems: + +- Volume dump parsing code in the volserver has better error checking. + +- salvager has improved damaged volume handling on namei fileservers. + +- fileserver has size validity checks for when large file support is disabled. + +- fileserver avoids potentially multiply adding a host to its hash table. + +- rxkad client private data storage is allocated dynamically on ticket size. + +- Handle universal error code translation for file locking. + +- fileserver needs to swap callback connections on a client IP change. + +- fileserver host package revised to reduce lock contention. + +- Rx has been fixed to count hard acks, thus opening the congestion window. + +- All servers support bound Rx sockets (on one interface). + +- namei fileserver no longer use lockf() to avoid range locking issues. + +- most binaries now support the -version switch. + +- backup suite fixes for 64 bit platforms. + +- volserver avoids holding holds during volume purges. + +- volserver avoids losing files on namei during vos zap. + +AIX: + +- fileserver now properly supports large files. + +- TSM updates for AIX 5 + +- Kernel module avoids leaking Rx packets. + +- Avoid use of global ubik client structure in fileserver. + +- Update ubik call client interface to allow for prototyping. + +- audit logging fixes when stdarg does not provide integral va_list type. + +MacOS 10.4: + +- A bug where the client kernel module could free stack memory (which caused issues with 64 bit Intel most commonly) has been fixed. + +- Packaging fixes and updates. + +- Uninstaller added. + +- Fix large file support. + +Linux: + +- autoconf kernel feature testing has been restructured. + +- PAG garbage collection is enabled by default. + +- Kerberos updates for RHEL3. + +- Fix POSIX lock enrollment for older Linux kernels. + +- Updates for new 2.6 kernels. + +- Avoid deadlocks in put_inode handler. + +- Keyring-based PAG support. + +- Fixes to avoid getting better oops info in the kernel. + +Solaris: + +- Remove some kernel symbol bindings for symbols we don't use. + +- Cleanup for loopback mount of AFS on Solaris 10. + +- Avoid issues with stdio not supporting file descriptors above 255 on + Solaris 8 and lower in the fileserver. diff --git a/doc/txt/RELNOTES-1.4.2fc4 b/doc/txt/RELNOTES-1.4.2fc4 new file mode 100644 index 000000000..b42eebecf --- /dev/null +++ b/doc/txt/RELNOTES-1.4.2fc4 @@ -0,0 +1,161 @@ + OpenAFS Release Notes - Version 1.4.2 + _________________________________________________________________ +All systems: Major bugfixes. + _________________________________________________________________ + +* Bugfixes: + +All systems: + +* A bug in the namei volserver which could erroneously make a replicated or + moved volume go offline has been fixed. + +* Volume package users (fileserver, volserver, salvager) avoid using lockf to + avoid leaking byte range locks on volume internal files. + +MacOS 10.4: + +* A bug where the client kernel module could free stack memory (which caused + issues with 64 bit Intel most commonly) has been fixed. + +Linux: + +* A missing kernel feature test has been fixed. + +* group based PAG support is still enabled when possible. + +* ia32 syscall table support for amd64 has build fixes for modern kernels. + +Solaris: + +* fopen() is not safe for use with more than 255 file descriptors open; + Emulate it in the afsconf package so afsconf can be used in the fileserver. + +Windows: + +* DNS registration is disabled for the loopback adapter, and we make sure + Netbios is turned on. + +Since 1.4.1: + +All platforms: +* Remove use of ubik_Call in the source code so prototypes are used. + +* Avoid synchrony in call from the fileserver to the ptserver. + +* Fix a bug in the backup suite when restoring. + +* fileserver and volserver now log for error conditions which may cause + exiting. + +* rx avoids a stack overrun when more packets are needed. + +* volserver avoids holding a lock too long when purging volumes. + +* volserver lock initialization fixes + +* volserver volume nuke fixes to avoid leaving files behind + +* fileserver avoids error when authenticating ptserver requests + +* fileserver no longer crashes when GetCPS fails + +* salvager enhancements to deal better with corrupt volumes for namei + +Unix: + +* aklog deals with KDCs which give "generic" replies to principals not + existing. + +* Fix bug in cache parameter autotuning + +RedHat: + +* packaging fixes + +Linux: + +* amd64 pthread library family updates. + +* autoconf fixes for kernel feature testing + +* keyring PAG support now only enabled if needed features are present + and other updates + +* inline a version of BUG() so we get better oopses + +AIX: + +* tsm is updated to work with the new AIX 5 interface. + +MacOS: + +* Cross compile fixes + +* Packaging improvements + +* Large file support fixed (Thanks to Chaskiel Grundman) + +* Fixes for Leopard seed. + +* Installer image updates + +Windows: + +* Removes race conditions and a deadlock introduced in 1.4.1 + +* Fixes ANSI filename option. + +* Establishes new connections to file servers when + IP address configuration changes are detected. + +* Improved CIFS compatibility + +* Cache Manager optimizations + +* Fixes vlserver failover when mounting 'root.afs' + (Freelance mode disabled) + +* Installs help files in the correct location for use by afscreds.exe + and afs control panel. + +* Improve reporting of "over quota" and "disk full" errors. + +* Prevent crash when evaluating mount points to volumes that do + not exist + +* Removes auto-registration of AFS ID in foreign ptservers from + Integrated Logon DLL. This prevents crashes if the DLL is loaded + and unloaded prior to termination of the process. + +* SDK moved to \Program Files\OpenAFS\SDK + +* NSIS and WiX Installer Frameworks update to the latest versions + +* Improvements to the Kerberos Logon Integration + +* Prevents exception in Integrated Logon DLL during SysPrep + +* Prevents displays of MessageBox dialogs in response to Network Adapter + errors + +* Hard Dead and Connection Timeout values restricted to the CIFS Session + Timeout value. + +* Correct writing of BackConnectionsHostNames registry value. + +* Properly recycles Volume entries + +* The AFS Explorer Shell Extension always finds its resource library. + +* The export list for AFSAUTHENT.DLL has been corrected. (The AFS + plugin for NetIDMgr will no longer use 100% of CPU.) + +* Renaming files on Microsoft Vista Build 5536 works. + +* Better handling of "." directory in fs commands + +* Add OpenAFS License text to installers + +* fs setquota and fs mkmount commands behave the same as the UNIX + version diff --git a/doc/txt/winnotes/afs-changes-since-1.2.txt b/doc/txt/winnotes/afs-changes-since-1.2.txt index 010b3d228..107626d75 100644 --- a/doc/txt/winnotes/afs-changes-since-1.2.txt +++ b/doc/txt/winnotes/afs-changes-since-1.2.txt @@ -1,3 +1,24 @@ +Since 1.4.2-rc4 (1.4.2 released 7 Oct 2006) + + * Disable DNS Registrations for the Loopback Adapter and make sure + that Netbios is turned on during installation. + + * Track thread id on read/write locks for debugging + purposes + + * Change trace log end of line to CR-LF so that the log can + be read with notepad.exe + + * increase the number of buffers checked in any one pass + of the background synchronization thread to 1/10th per + five second period + + * fix a stat cache entry reference count leak when the + file server returns VNOVNODE + + * in an obscure error case, obtain the correct lock so + that when we free it we don't panic + Since 1.4.2-rc3: (1.4.2-rc4 released 16 Sep 2006) * No changes diff --git a/src/afs/IRIX/osi_machdep.h b/src/afs/IRIX/osi_machdep.h index e13bbfb8a..032797cab 100644 --- a/src/afs/IRIX/osi_machdep.h +++ b/src/afs/IRIX/osi_machdep.h @@ -160,7 +160,7 @@ extern flid_t osi_flid; #else #define AFS_GLOCK() AFS_MUTEX_ENTER(&afs_global_lock) #endif -#define AFS_GUNLOCK() (AFS_ASSERT_GLOCK(), mutex_exit(&afs_global_lock)) +#define AFS_GUNLOCK() { AFS_ASSERT_GLOCK(); mutex_exit(&afs_global_lock); } #define ISAFS_GLOCK() mutex_mine(&afs_global_lock) #else extern long afs_global_owner; @@ -170,7 +170,7 @@ extern long afs_global_owner; afs_global_owner = osi_ThreadUnique(); \ MACRO_END #define AFS_GUNLOCK() \ - (AFS_ASSERT_GLOCK(), afs_global_owner = 0, mutex_exit(&afs_global_lock)) + { AFS_ASSERT_GLOCK(); afs_global_owner = 0; mutex_exit(&afs_global_lock); } #define ISAFS_GLOCK() (osi_ThreadUnique() == afs_global_owner) #endif /* AFS_SGI64_ENV */ #else /* MP */ diff --git a/src/afs/LINUX/osi_groups.c b/src/afs/LINUX/osi_groups.c index ec6c21a2b..3aee872cb 100644 --- a/src/afs/LINUX/osi_groups.c +++ b/src/afs/LINUX/osi_groups.c @@ -20,7 +20,7 @@ #endif RCSID - ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.6 2006/09/06 20:57:17 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.7 2006/09/27 21:14:28 shadow Exp $"); #include "afs/sysincludes.h" #include "afsincludes.h" @@ -554,12 +554,26 @@ static int afs_pag_match(const struct key *key, const void *description) return strcmp(key->description, description) == 0; } +static void afs_pag_destroy(struct key *key) +{ + afs_uint32 pag = key->payload.value; + struct unixuser *pu; + + pu = afs_FindUser(pag, -1, READ_LOCK); + if (pu) { + pu->ct.EndTimestamp = 0; + pu->tokenTime = 0; + afs_PutUser(pu, READ_LOCK); + } +} + struct key_type key_type_afs_pag = { .name = "afs_pag", .describe = afs_pag_describe, .instantiate = afs_pag_instantiate, .match = afs_pag_match, + .destroy = afs_pag_destroy, }; void osi_keyring_init(void) diff --git a/src/afs/LINUX/osi_probe.c b/src/afs/LINUX/osi_probe.c index 48c7c93ef..d70235d76 100644 --- a/src/afs/LINUX/osi_probe.c +++ b/src/afs/LINUX/osi_probe.c @@ -1011,6 +1011,7 @@ static void *try(probectl *P, tryctl *T, PROBETYPE *aptr, #endif if ((unsigned long)ptr < init_mm.start_code || (unsigned long)ptr > init_mm.end_data) { +/* printk("address 0x%lx (from 0x%lx %d) is out of range in check_table. wtf?\n", (unsigned long)x, (unsigned long)ptr, i);*/ continue; } @@ -1120,6 +1121,7 @@ static void *try_harder(probectl *P, PROBETYPE *ptr, unsigned long datalen) for (offset = 0; offset < datalen; offset++, ptr++) { if ((unsigned long)ptr < init_mm.start_code || (unsigned long)ptr > init_mm.end_data) { +/* printk("address 0x%lx (from 0x%lx %d) is out of range in check_table. wtf?\n", (unsigned long)x, (unsigned long)ptr, i);*/ continue; } ret = check_table(P, ptr); diff --git a/src/afs/LINUX/osi_vfsops.c b/src/afs/LINUX/osi_vfsops.c index d3b36f558..54bca905f 100644 --- a/src/afs/LINUX/osi_vfsops.c +++ b/src/afs/LINUX/osi_vfsops.c @@ -16,7 +16,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.29.2.17 2006/08/20 05:34:18 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.29.2.18 2006/10/06 13:30:56 shadow Exp $"); #define __NO_VERSION__ /* don't define kernel_version in module.h */ #include /* early to avoid printf->printk mapping */ @@ -312,8 +312,7 @@ afs_init_inodecache(void) void afs_destroy_inodecache(void) { - if (kmem_cache_destroy(afs_inode_cachep)) - printk(KERN_INFO "afs_inode_cache: not all structures were freed\n"); + (void) kmem_cache_destroy(afs_inode_cachep); } #else int diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 93bf028ff..e235829cd 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -22,7 +22,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.43 2006/08/13 16:50:43 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.46 2006/10/10 22:01:04 shadow Exp $"); #include "afs/sysincludes.h" #include "afsincludes.h" @@ -75,7 +75,11 @@ afs_linux_read(struct file *fp, char *buf, size_t count, loff_t * offp) else { osi_FlushPages(vcp, credp); /* ensure stale pages are gone */ AFS_GUNLOCK(); +#ifdef DO_SYNC_READ + code = do_sync_read(fp, buf, count, offp); +#else code = generic_file_read(fp, buf, count, offp); +#endif AFS_GLOCK(); } @@ -121,7 +125,11 @@ afs_linux_write(struct file *fp, const char *buf, size_t count, loff_t * offp) code = -code; else { AFS_GUNLOCK(); +#ifdef DO_SYNC_READ + code = do_sync_write(fp, buf, count, offp); +#else code = generic_file_write(fp, buf, count, offp); +#endif AFS_GLOCK(); } @@ -565,6 +573,10 @@ struct file_operations afs_dir_fops = { struct file_operations afs_file_fops = { .read = afs_linux_read, .write = afs_linux_write, +#ifdef GENERIC_FILE_AIO_READ + .aio_read = generic_file_aio_read, + .aio_write = generic_file_aio_write, +#endif #ifdef HAVE_UNLOCKED_IOCTL .unlocked_ioctl = afs_unlocked_xioctl, #else @@ -809,9 +821,7 @@ afs_dentry_iput(struct dentry *dp, struct inode *ip) struct vcache *vcp = VTOAFS(ip); AFS_GLOCK(); - ObtainWriteLock(&vcp->lock, 537); (void) afs_InactiveVCache(vcp, NULL); - ReleaseWriteLock(&vcp->lock); AFS_GUNLOCK(); iput(ip); diff --git a/src/afs/UKERNEL/sysincludes.h b/src/afs/UKERNEL/sysincludes.h index 54f078beb..2c851b0e2 100644 --- a/src/afs/UKERNEL/sysincludes.h +++ b/src/afs/UKERNEL/sysincludes.h @@ -21,7 +21,9 @@ #include #include #include +#if !defined(AFS_USR_DARWIN_ENV) && !defined(AFS_USR_FBSD_ENV) /* must be included after KERNEL undef'd */ #include +#endif #ifdef AFS_USR_SUN5_ENV #include @@ -120,6 +122,7 @@ #define AFS_USR_UNDEF_KERNEL_ENV 1 #endif #include +#include #include #include #include diff --git a/src/afs/VNOPS/afs_vnop_create.c b/src/afs/VNOPS/afs_vnop_create.c index b84eae195..464053084 100644 --- a/src/afs/VNOPS/afs_vnop_create.c +++ b/src/afs/VNOPS/afs_vnop_create.c @@ -17,7 +17,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_create.c,v 1.16.2.7 2005/10/15 14:24:27 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_create.c,v 1.16.2.9 2006/10/13 05:15:58 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -25,6 +25,7 @@ RCSID #include "afs/afs_cbqueue.h" #include "afs/nfsclient.h" #include "afs/afs_osidnlc.h" +#include "afs/unified_afs.h" /* question: does afs_create need to set CDirty in the adp or the avc? * I think we can get away without it, but I'm not sure. Note that @@ -305,7 +306,7 @@ afs_create(OSI_VC_DECL(adp), char *aname, struct vattr *attrs, (tc, code, &adp->fid, &treq, AFS_STATS_FS_RPCIDX_CREATEFILE, SHARED_LOCK, NULL)); - if (code == EEXIST && + if ((code == EEXIST || code == UAEEXIST) && #ifdef AFS_SGI64_ENV !(flags & VEXCL) #else /* AFS_SGI64_ENV */ diff --git a/src/afs/afs_call.c b/src/afs/afs_call.c index 0088fd130..103c1bd69 100644 --- a/src/afs/afs_call.c +++ b/src/afs/afs_call.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.74.2.14 2006/08/02 19:06:58 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.74.2.15 2006/10/11 13:24:39 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -1298,7 +1298,7 @@ copyin_iparam(caddr_t cmarg, struct iparam *dst) #ifdef AFS_SPARC64_LINUX26_ENV if (test_thread_flag(TIF_32BIT)) -#elif AFS_SPARC64_LINUX24_ENV +#elif defined(AFS_SPARC64_LINUX24_ENV) if (current->thread.flags & SPARC_FLAG_32BIT) #elif defined(AFS_SPARC64_LINUX20_ENV) if (current->tss.flags & SPARC_FLAG_32BIT) diff --git a/src/afs/afs_osi.c b/src/afs/afs_osi.c index 2d052bc36..588411786 100644 --- a/src/afs/afs_osi.c +++ b/src/afs/afs_osi.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_osi.c,v 1.48.2.8 2006/09/22 11:20:34 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_osi.c,v 1.48.2.9 2006/09/27 21:14:27 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ @@ -805,11 +805,13 @@ afs_osi_TraverseProcTable(void) #endif #if defined(AFS_LINUX22_ENV) -extern rwlock_t tasklist_lock __attribute__((weak)); void afs_osi_TraverseProcTable() { +#if !defined(LINUX_KEYRING_SUPPORT) + extern rwlock_t tasklist_lock __attribute__((weak)); struct task_struct *p; + if (&tasklist_lock) read_lock(&tasklist_lock); #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) @@ -846,6 +848,7 @@ afs_osi_TraverseProcTable() else rcu_read_unlock(); #endif +#endif } #endif diff --git a/src/audit/audit.c b/src/audit/audit.c index 8d2d7851f..f0f76dfbf 100644 --- a/src/audit/audit.c +++ b/src/audit/audit.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/audit/audit.c,v 1.8.2.9 2006/07/31 18:15:34 shadow Exp $"); + ("$Header: /cvs/openafs/src/audit/audit.c,v 1.8.2.12 2006/10/13 19:42:19 shadow Exp $"); #include #include @@ -97,11 +97,6 @@ audmakebuf(char *audEvent, va_list vaList) *(afs_int32 *) bufferPtr = vaLong; bufferPtr += sizeof(vaLong); break; - case AUD_LST: /* Ptr to another list */ - va_copy(vaLst, vaList); - audmakebuf(audEvent, vaLst); - va_end(vaLst); - break; case AUD_FID: /* AFSFid - contains 3 entries */ vaFid = (struct AFSFid *)va_arg(vaList, struct AFSFid *); if (vaFid) { @@ -148,7 +143,8 @@ audmakebuf(char *audEvent, va_list vaList) } static void -printbuf(FILE *out, int rec, char *audEvent, afs_int32 errCode, va_list vaList) +printbuf(FILE *out, int rec, char *audEvent, char *afsName, afs_int32 hostId, + afs_int32 errCode, va_list vaList) { int vaEntry; int vaInt; @@ -175,8 +171,12 @@ printbuf(FILE *out, int rec, char *audEvent, afs_int32 errCode, va_list vaList) fprintf(out, "[%d] ", num); } - if (strcmp(audEvent, "VALST") != 0) - fprintf(out, "EVENT %s CODE %d ", audEvent, errCode); + fprintf(out, "EVENT %s CODE %d ", audEvent, errCode); + + if (afsName) { + hostAddr.s_addr = hostId; + fprintf(out, "NAME %s HOST %s ", afsName, inet_ntoa(hostAddr)); + } vaEntry = va_arg(vaList, int); while (vaEntry != AUD_END) { @@ -223,11 +223,6 @@ printbuf(FILE *out, int rec, char *audEvent, afs_int32 errCode, va_list vaList) vaLong = va_arg(vaList, afs_int32); fprintf(out, "LONG %d ", vaLong); break; - case AUD_LST: /* Ptr to another list */ - va_copy(vaLst, vaList); - printbuf(out, 1, "VALST", 0, vaLst); - va_end(vaLst); - break; case AUD_FID: /* AFSFid - contains 3 entries */ vaFid = va_arg(vaList, struct AFSFid *); if (vaFid) @@ -265,8 +260,7 @@ printbuf(FILE *out, int rec, char *audEvent, afs_int32 errCode, va_list vaList) vaEntry = va_arg(vaList, int); } /* end while */ - if (strcmp(audEvent, "VALST") != 0) - fprintf(out, "\n"); + fprintf(out, "\n"); } #ifdef AFS_PTHREAD_ENV @@ -296,9 +290,11 @@ osi_audit_init(void) /* The routine that acually does the audit call. * ************************************************************************** */ int -osi_audit(char *audEvent, /* Event name (15 chars or less) */ - afs_int32 errCode, /* The error code */ - ...) +osi_audit_internal(char *audEvent, /* Event name (15 chars or less) */ + afs_int32 errCode, /* The error code */ + char *afsName, + afs_int32 hostId, + va_list vaList) { #ifdef AFS_AIX32_ENV afs_int32 code; @@ -306,7 +302,7 @@ osi_audit(char *audEvent, /* Event name (15 chars or less) */ static char BUFFER[32768]; #endif int result; - va_list vaList; + va_list vaCopy; #ifdef AFS_PTHREAD_ENV /* i'm pretty sure all the server apps now call osi_audit_init(), @@ -320,6 +316,8 @@ osi_audit(char *audEvent, /* Event name (15 chars or less) */ if (!osi_audit_all && !auditout) return 0; + va_copy(vaCopy, vaList); + switch (errCode) { case 0: result = AUDIT_OK; @@ -354,30 +352,20 @@ osi_audit(char *audEvent, /* Event name (15 chars or less) */ *(int *)bufferPtr = errCode; bufferPtr += sizeof(errCode); - va_start(vaList, errCode); audmakebuf(audEvent, vaList); #endif if (osi_echo_trail) { - va_start(vaList, errCode); - printbuf(stdout, 0, audEvent, errCode, vaList); + printbuf(stdout, 0, audEvent, afsName, hostId, errCode, vaList); } + va_end(vaCopy); #ifdef AFS_AIX32_ENV bufferLen = (int)((afs_int32) bufferPtr - (afs_int32) & BUFFER[0]); code = auditlog(audEvent, result, BUFFER, bufferLen); -#ifdef notdef - if (code) { - err = errno; - code = auditlog("AFS_Aud_Fail", result, &err, sizeof(err)); - if (code) - printf("Error while writing audit entry: %d.\n", errno); - } -#endif /* notdef */ #else if (auditout) { - va_start(vaList, errCode); - printbuf(auditout, 0, audEvent, errCode, vaList); + printbuf(auditout, 0, audEvent, afsName, hostId, errCode, vaList); fflush(auditout); } #endif @@ -387,6 +375,24 @@ osi_audit(char *audEvent, /* Event name (15 chars or less) */ return 0; } +int +osi_audit(char *audEvent, /* Event name (15 chars or less) */ + afs_int32 errCode, /* The error code */ + ...) +{ + va_list vaList; + + if ((osi_audit_all < 0) || (osi_echo_trail < 0)) + osi_audit_check(); + if (!osi_audit_all && !auditout) + return 0; + + va_start(vaList, errCode); + osi_audit_internal(audEvent, errCode, NULL, 0, vaList); + va_end(vaList); + + return 0; +} /* ************************************************************************** */ /* Given a RPC call structure, this routine extracts the name and host id from the @@ -473,9 +479,8 @@ osi_auditU(struct rx_call *call, char *audEvent, int errCode, ...) osi_audit("AFS_Aud_NoCall", (-1), AUD_STR, audEvent, AUD_END); } va_start(vaList, errCode); - osi_audit(audEvent, errCode, AUD_NAME, afsName, AUD_HOST, hostId, - AUD_LST, vaList, AUD_END); - + osi_audit_internal(audEvent, errCode, afsName, hostId, vaList); + va_end(vaList); return 0; } diff --git a/src/auth/cellconfig.c b/src/auth/cellconfig.c index 0d6d97bdc..cc757a894 100644 --- a/src/auth/cellconfig.c +++ b/src/auth/cellconfig.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/auth/cellconfig.c,v 1.40.2.8 2006/09/17 05:01:56 shadow Exp $"); + ("$Header: /cvs/openafs/src/auth/cellconfig.c,v 1.40.2.11 2006/10/10 20:29:18 shadow Exp $"); #include #include @@ -476,29 +476,24 @@ afsconf_Open(register const char *adir) static int GetCellUnix(struct afsconf_dir *adir) { - int rc; + char *rc; char tbuffer[256]; - int fd; + char *p; + afsconf_FILE *fp; strcompose(tbuffer, 256, adir->name, "/", AFSDIR_THISCELL_FILE, NULL); - fd = open(tbuffer, O_RDONLY, 0); - if (fd < 0) { - return -1; - } else { - int sz; - - memset(tbuffer, 0, 256); - sz = read(fd, tbuffer, 255); - close(fd); - if (sz > 0) { - char *p = strchr(tbuffer, '\n'); - if (p) - *p = '\0'; - - adir->cellName = (char *)malloc(sz + 1); - strncpy(adir->cellName, tbuffer, sz); - } + fp = fopen(tbuffer, "r"); + if (fp == 0) { + return -1; } + rc = fgets(tbuffer, 256, fp); + fclose(fp); + + p = strchr(tbuffer, '\n'); + if (p) + *p = '\0'; + + adir->cellName = strdup(tbuffer); return 0; } diff --git a/src/auth/ktc.c b/src/auth/ktc.c index e247cf81d..37d4b1f53 100644 --- a/src/auth/ktc.c +++ b/src/auth/ktc.c @@ -17,7 +17,7 @@ #endif RCSID - ("$Header: /cvs/openafs/src/auth/ktc.c,v 1.15.2.5 2006/07/20 23:35:43 shadow Exp $"); + ("$Header: /cvs/openafs/src/auth/ktc.c,v 1.15.2.6 2006/10/06 12:44:40 shadow Exp $"); #if defined(UKERNEL) #include "afs/sysincludes.h" @@ -59,9 +59,6 @@ RCSID #include #ifdef AFS_AIX_ENV #include -#ifdef AFS_AIX51_ENV -#include -#endif #endif #ifdef HAVE_UNISTD_H #include @@ -1615,13 +1612,6 @@ afs_tf_dest_tkt() static afs_uint32 curpag() { -#if defined(AFS_AIX51_ENV) - afs_int32 pag; - - if (get_pag(PAG_AFS, &pag) < 0 || pag == 0) - pag = NOPAG; - return pag; -#else gid_t groups[NGROUPS_MAX]; afs_uint32 g0, g1; afs_uint32 h, l, ret; @@ -1645,7 +1635,6 @@ curpag() return -1; } return -1; -#endif } diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4 index 5485b2f23..2c2942336 100644 --- a/src/cf/linux-test4.m4 +++ b/src/cf/linux-test4.m4 @@ -644,3 +644,36 @@ AC_DEFUN([LINUX_KEY_ALLOC_NEEDS_STRUCT_TASK], [ if test "x$ac_cv_key_alloc_needs_struct_task" = "xyes"; then AC_DEFINE([KEY_ALLOC_NEEDS_STRUCT_TASK], 1, [define if key_alloc takes a struct task *]) fi]) + +AC_DEFUN([LINUX_DO_SYNC_READ], [ + AC_MSG_CHECKING([for linux do_sync_read()]) + AC_CACHE_VAL([ac_cv_linux_do_sync_read], [ + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" + AC_TRY_KBUILD( +[#include ], +[do_sync_read(NULL, NULL, 0, NULL);], + ac_cv_linux_do_sync_read=yes, + ac_cv_linux_do_sync_read=no) + CPPFLAGS="$save_CPPFLAGS"]) + AC_MSG_RESULT($ac_cv_linux_do_sync_read) + if test "x$ac_cv_linux_do_sync_read" = "xyes"; then + AC_DEFINE([DO_SYNC_READ], 1, [define if your kernel has do_sync_read()]) + fi]) + +AC_DEFUN([LINUX_GENERIC_FILE_AIO_READ], [ + AC_MSG_CHECKING([for linux generic_file_aio_read()]) + AC_CACHE_VAL([ac_cv_linux_generic_file_aio_read], [ + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration" + AC_TRY_KBUILD( +[#include ], +[generic_file_aio_read(NULL, NULL, 0, 0);], + ac_cv_linux_generic_file_aio_read=yes, + ac_cv_linux_generic_file_aio_read=no) + CPPFLAGS="$save_CPPFLAGS"]) + AC_MSG_RESULT($ac_cv_linux_generic_file_aio_read) + if test "x$ac_cv_linux_generic_file_aio_read" = "xyes"; then + AC_DEFINE([GENERIC_FILE_AIO_READ], 1, [define if your kernel has generic_file_aio_read()]) + fi]) + diff --git a/src/cf/osconf.m4 b/src/cf/osconf.m4 index 4a74799b5..5fcbe5fee 100644 --- a/src/cf/osconf.m4 +++ b/src/cf/osconf.m4 @@ -213,7 +213,7 @@ case $AFS_SYSNAME in YACC="byacc" ;; - *nbsd2*|*nbsd3*) + *nbsd2*|*nbsd3*|*nbsd4*) LEX="flex -l" MT_CFLAGS='${XCFLAGS} -DAFS_PTHREAD_ENV -D_REENTRANT ' MT_LIBS="-lpthread" # XXX -pthread soon diff --git a/src/config/Makefile.version-NOCML.in b/src/config/Makefile.version-NOCML.in index 084d0b7dd..cd2dec1f9 100644 --- a/src/config/Makefile.version-NOCML.in +++ b/src/config/Makefile.version-NOCML.in @@ -10,7 +10,7 @@ VERSION=@VERSION@ AFS_component_version_number.o: AFS_component_version_number.c -AFS_component_version_number.c: +AFS_component_version_number.c: @TOP_OBJDIR@/src/config/Makefile.version echo 'char cml_version_number[]="@(#) OpenAFS ${VERSION} built ' `date +"%Y-%m-%d"` '";' >AFS_component_version_number.c echo 'char* AFSVersion = "${PACKAGE} ${VERSION}"; ' >>AFS_component_version_number.c diff --git a/src/config/NTMakefile.amd64_w2k b/src/config/NTMakefile.amd64_w2k index a0c0bcfe2..02e170da6 100644 --- a/src/config/NTMakefile.amd64_w2k +++ b/src/config/NTMakefile.amd64_w2k @@ -80,7 +80,7 @@ LIB = $(AFSDEV_LIB) #define used in WinNT/2000 installation and program version display AFSPRODUCT_VER_MAJOR=1 AFSPRODUCT_VER_MINOR=4 -AFSPRODUCT_VER_PATCH=0203 +AFSPRODUCT_VER_PATCH=205 AFSPRODUCT_VER_BUILD=0 AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH) diff --git a/src/config/NTMakefile.i386_nt40 b/src/config/NTMakefile.i386_nt40 index 9cab67a10..06a743252 100644 --- a/src/config/NTMakefile.i386_nt40 +++ b/src/config/NTMakefile.i386_nt40 @@ -80,7 +80,7 @@ LIB = $(AFSDEV_LIB) #define used in WinNT/2000 installation and program version display AFSPRODUCT_VER_MAJOR=1 AFSPRODUCT_VER_MINOR=4 -AFSPRODUCT_VER_PATCH=0203 +AFSPRODUCT_VER_PATCH=205 AFSPRODUCT_VER_BUILD=0 AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH) diff --git a/src/config/NTMakefile.i386_w2k b/src/config/NTMakefile.i386_w2k index 78e3101de..cb748b587 100644 --- a/src/config/NTMakefile.i386_w2k +++ b/src/config/NTMakefile.i386_w2k @@ -80,7 +80,7 @@ LIB = $(AFSDEV_LIB) #define used in WinNT/2000 installation and program version display AFSPRODUCT_VER_MAJOR=1 AFSPRODUCT_VER_MINOR=4 -AFSPRODUCT_VER_PATCH=0203 +AFSPRODUCT_VER_PATCH=205 AFSPRODUCT_VER_BUILD=0 AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH) diff --git a/src/config/afs_sysnames.h b/src/config/afs_sysnames.h index 4b864ac48..e683e274b 100644 --- a/src/config/afs_sysnames.h +++ b/src/config/afs_sysnames.h @@ -213,6 +213,20 @@ #define SYS_NAME_ID_i386_nbsd21 2525 #define SYS_NAME_ID_i386_nbsd30 2526 #define SYS_NAME_ID_amd64_nbsd20 2527 +#define SYS_NAME_ID_i386_nbsd40 2528 +#define SYS_NAME_ID_i386_nbsd50 2529 +#define SYS_NAME_ID_sparc64_nbsd30 2530 +#define SYS_NAME_ID_sparc64_nbsd40 2531 +#define SYS_NAME_ID_sparc64_nbsd50 2532 +#define SYS_NAME_ID_amd64_nbsd30 2533 +#define SYS_NAME_ID_amd64_nbsd40 2534 +#define SYS_NAME_ID_amd64_nbsd50 2535 +#define SYS_NAME_ID_alpha_nbsd30 2536 +#define SYS_NAME_ID_alpha_nbsd40 2537 +#define SYS_NAME_ID_alpha_nbsd50 2538 +#define SYS_NAME_ID_macppc_nbsd30 2539 +#define SYS_NAME_ID_macppc_nbsd40 2540 +#define SYS_NAME_ID_macppc_nbsd50 2541 #define SYS_NAME_ID_i386_obsd31 2600 #define SYS_NAME_ID_i386_obsd32 2601 diff --git a/src/config/afsconfig.h.in b/src/config/afsconfig.h.in index 19492a4ab..68785c301 100644 --- a/src/config/afsconfig.h.in +++ b/src/config/afsconfig.h.in @@ -37,6 +37,9 @@ /* define if your dops.d_revalidate takes a nameidata argument */ #undef DOP_REVALIDATE_TAKES_NAMEIDATA +/* define if your kernel has do_sync_read() */ +#undef DO_SYNC_READ + /* define if you have redhat buildsystem */ #undef ENABLE_REDHAT_BUILDSYS @@ -61,6 +64,9 @@ /* define if you want to want listvol switch */ #undef FULL_LISTVOL_SWITCH +/* define if your kernel has generic_file_aio_read() */ +#undef GENERIC_FILE_AIO_READ + /* define if your get_sb_nodev needs a struct vfsmount argument */ #undef GET_SB_HAS_STRUCT_VFSMOUNT diff --git a/src/config/param.i386_nbsd30.h b/src/config/param.i386_nbsd30.h index 3281d5a6a..1f935eca2 100644 --- a/src/config/param.i386_nbsd30.h +++ b/src/config/param.i386_nbsd30.h @@ -5,8 +5,8 @@ #define AFS_X86_ENV 1 #define AFSLITTLE_ENDIAN 1 -#define SYS_NAME "i386_nbsd30" -#define SYS_NAME_ID SYS_NAME_ID_i386_nbsd30 +#define SYS_NAME "i386_nbsd40" +#define SYS_NAME_ID SYS_NAME_ID_i386_nbsd40 #ifndef UKERNEL /* This section for kernel libafs compiles only */ diff --git a/src/kauth/authclient.c b/src/kauth/authclient.c index ee0d90175..ec5e2d636 100644 --- a/src/kauth/authclient.c +++ b/src/kauth/authclient.c @@ -17,7 +17,7 @@ #endif RCSID - ("$Header: /cvs/openafs/src/kauth/authclient.c,v 1.14.2.5 2006/09/15 23:19:27 jaltman Exp $"); + ("$Header: /cvs/openafs/src/kauth/authclient.c,v 1.14.2.6 2006/09/21 11:39:43 shadow Exp $"); #if defined(UKERNEL) #include "afs/sysincludes.h" diff --git a/src/libafs/afs.ppc_darwin_70.plist.in b/src/libafs/afs.ppc_darwin_70.plist.in index bc7125d27..b4d1e5cf9 100644 --- a/src/libafs/afs.ppc_darwin_70.plist.in +++ b/src/libafs/afs.ppc_darwin_70.plist.in @@ -15,11 +15,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.4.2fc4 + 1.4.2 CFBundleSignature ???? CFBundleVersion - 1.4.2fc4 + 1.4.2 OSBundleLibraries com.apple.kernel.bsd diff --git a/src/libafs/afs.ppc_darwin_80.plist.in b/src/libafs/afs.ppc_darwin_80.plist.in index efde73682..e01dfdaa3 100644 --- a/src/libafs/afs.ppc_darwin_80.plist.in +++ b/src/libafs/afs.ppc_darwin_80.plist.in @@ -15,11 +15,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.4.2fc4 + 1.4.2 CFBundleSignature ???? CFBundleVersion - 1.4.2fc4 + 1.4.2 OSBundleLibraries com.apple.kpi.bsd diff --git a/src/libafs/afs.ppc_darwin_90.plist.in b/src/libafs/afs.ppc_darwin_90.plist.in index efde73682..e01dfdaa3 100644 --- a/src/libafs/afs.ppc_darwin_90.plist.in +++ b/src/libafs/afs.ppc_darwin_90.plist.in @@ -15,11 +15,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.4.2fc4 + 1.4.2 CFBundleSignature ???? CFBundleVersion - 1.4.2fc4 + 1.4.2 OSBundleLibraries com.apple.kpi.bsd diff --git a/src/libafs/afs.x86_darwin_80.plist.in b/src/libafs/afs.x86_darwin_80.plist.in index efde73682..e01dfdaa3 100644 --- a/src/libafs/afs.x86_darwin_80.plist.in +++ b/src/libafs/afs.x86_darwin_80.plist.in @@ -15,11 +15,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.4.2fc4 + 1.4.2 CFBundleSignature ???? CFBundleVersion - 1.4.2fc4 + 1.4.2 OSBundleLibraries com.apple.kpi.bsd diff --git a/src/libafs/afs.x86_darwin_90.plist.in b/src/libafs/afs.x86_darwin_90.plist.in index efde73682..e01dfdaa3 100644 --- a/src/libafs/afs.x86_darwin_90.plist.in +++ b/src/libafs/afs.x86_darwin_90.plist.in @@ -15,11 +15,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.4.2fc4 + 1.4.2 CFBundleSignature ???? CFBundleVersion - 1.4.2fc4 + 1.4.2 OSBundleLibraries com.apple.kpi.bsd diff --git a/src/packaging/HP-UX/files/usr/vice/etc/CellServDB b/src/packaging/HP-UX/files/usr/vice/etc/CellServDB index 3c6316a28..818b37999 100644 --- a/src/packaging/HP-UX/files/usr/vice/etc/CellServDB +++ b/src/packaging/HP-UX/files/usr/vice/etc/CellServDB @@ -1,15 +1,19 @@ ->grand.central.org #GCO Public CellServDB 15 Oct 2005 +>grand.central.org #GCO Public CellServDB 08 Oct 2006 18.7.14.88 #grand-opening.mit.edu 128.2.191.224 #penn.central.org 130.237.48.87 #andrew.e.kth.se >wu-wien.ac.at #University of Economics, Vienna, Austria -137.208.3.33 #afsdb1.wu-wien.ac.at -137.208.8.12 #caesar.wu-wien.ac.at -137.208.127.33 #buddy.wu-wien.ac.at +137.208.3.33 #goya.wu-wien.ac.at +137.208.7.57 #caravaggio.wu-wien.ac.at +137.208.127.57 #vermeer.wu-wien.ac.at >hephy.at #hephy-vienna 193.170.243.10 #mowgli.oeaw.ac.at 193.170.243.12 #baloo.oeaw.ac.at 193.170.243.14 #akela.oeaw.ac.at +>cgv.tugraz.at #CGV cell +129.27.224.133 #phobos.cgv.tugraz.at +129.27.224.134 #deimos.cgv.tugraz.at +129.27.224.210 #trinculo.cgv.tugraz.at >itp.tugraz.at #Institute for Theoretical Physics, TU Graz, Austria 129.27.157.6 #fubphsv2.tu-graz.ac.at 129.27.161.7 #faepsv01.tu-graz.ac.at @@ -22,9 +26,9 @@ 137.138.206.77 #pcamsf2.cern.ch 137.138.206.123 #pcamsf4.cern.ch >epfl.ch #Swiss Federal Institute of Technology at Lausanne -128.178.2.6 #kd1.epfl.ch -128.178.2.7 #kd2.epfl.ch -128.178.2.8 #kd3.epfl.ch +128.178.109.111 #kd1.epfl.ch +128.178.109.112 #kd2.epfl.ch +128.178.109.113 #kd3.epfl.ch >ethz.ch #Swiss Federal Inst. of Tech. - Zurich, Switzerland 129.132.97.19 #amalthea.ethz.ch 129.132.97.27 #nethzafs-001.ethz.ch @@ -37,8 +41,6 @@ 129.129.190.142 #afs02.psi.ch >extundo.com #Simon Josefsson's cell 195.42.214.241 #slipsten.extundo.com ->mekinok.com #Mekinok, Inc. -4.36.43.98 #loggerhead.mekinok.com >membrain.com #membrain.com 66.93.118.125 #stormy 130.85.24.11 #weasel @@ -105,17 +107,17 @@ 144.41.2.3 #rs14.serv.uni-hohenheim.de 144.41.2.4 #rs15.serv.uni-hohenheim.de >rz.uni-jena.de #Rechenzentrum University of Jena, Germany -141.35.2.160 #lc00.rz.uni-jena.de -141.35.7.9 #fsuj01.rz.uni-jena.de -141.35.7.10 #zaphod.rz.uni-jena +141.35.2.180 #afs00.rz.uni-jena.de +141.35.2.181 #afs01.rz.uni-jena.de +141.35.2.182 #afs02.rz.uni-jena.de >meteo.uni-koeln.de #Univ. of Cologne - Inst. for Geophysics & Meteorology 134.95.144.22 #afs1.meteo.uni-koeln.de 134.95.144.24 #afs2.meteo.uni-koeln.de >rrz.uni-koeln.de #University of Cologne - Reg Comp Center 134.95.19.3 #afsdb1.rrz.uni-koeln.de -134.95.19.30 #fileserv3.rrz.uni-koeln.de +134.95.19.10 #lyra.rrz.uni-koeln.de 134.95.67.97 #afs.thp.uni-koeln.de -134.95.140.190 #rzkbserv.rrz.uni-koeln.de +134.95.141.243 #agrippina.rrz.uni-koeln.de >physik.uni-mainz.de #institute of physics, university Mainz, Germany 134.93.130.93 #hardy.physik.uni-mainz.de >uni-mannheim.de #Uni Mannheim (Rechenzentrum) @@ -172,8 +174,8 @@ 204.194.25.7 #afs1.qatar.cmu.edu 204.194.25.8 #afs2.qatar.cmu.edu >sbp.ri.cmu.edu #Carnegie Mellon University - Sensor Based Planning Lab -128.2.56.129 #nihao.sbp.ri.cmu.edu -128.2.56.136 #youtheman.sbp.ri.cmu.edu +128.2.179.12 #nihao.sbp.ri.cmu.edu +128.2.179.113 #youtheman.sbp.ri.cmu.edu >msc.cornell.edu #Cornell University Materials Science Center 128.84.231.242 #miranda.ccmr.cornell.edu 128.84.241.35 #co.ccmr.cornell.edu @@ -186,6 +188,8 @@ 129.170.16.22 #halley.dartmouth.edu 129.170.16.42 #oort.dartmouth.edu 129.170.16.43 #cygnusx1.dartmouth.edu +>cs.fhm.edu #Department Computer Science Munich University Of Applied Science +129.187.208.2 #srv1.informatik.fh-muenchen.de >eecs.harvard.edu #Harvard - EECS 140.247.60.61 #zermelo.eecs.harvard.edu 140.247.60.83 #corfu.eecs.harvard.edu @@ -261,6 +265,16 @@ 134.79.18.25 #afsdb1.slac.stanford.edu 134.79.18.26 #afsdb2.slac.stanford.edu 134.79.18.27 #afsdb3.slac.stanford.edu +>ucdavis.edu #University of California at Davis +169.237.104.100 #afs1.ucdavis.edu +169.237.235.176 #afs2.ucdavis.edu +169.237.247.91 #afs3.ucdavis.edu +>home.ucdavis.edu #University of California at Davis home directories +169.237.105.91 #home1.ucdavis.edu +169.237.105.92 #home2.ucdavis.edu +169.237.105.93 #home3.ucdavis.edu +>physics.ucsb.edu #UC Santa Barbara, Physics Dept +128.111.18.161 #ledzeppelin.physics.ucsb.edu >cats.ucsc.edu #UC Santa Cruz, Comm. and Tech. Services, California U.S.A 128.114.129.14 #elan.ucsc.edu 128.114.129.15 #ichabod.ucsc.edu @@ -291,26 +305,24 @@ 141.211.1.34 #ruthless.ifs.umich.edu >atlas.umich.edu #ATLAS group cell in physics at University of Michigan 141.211.43.102 #linat02.grid.umich.edu -141.211.43.106 #linat06.grid.umich.edu -141.211.43.109 #atgrid.grid.umich.edu +141.211.43.103 #linat03.grid.umich.edu +141.211.43.104 #linat04.grid.umich.edu >citi.umich.edu #Center for Information Technology Integration 141.211.133.5 #babylon.citi.umich.edu >lsa.umich.edu #University of Michigan - College of LS&A 141.211.211.53 #gerow.lsa.umich.edu 141.211.211.72 #collines.lsa.umich.edu 141.211.211.153 #hodges.lsa.umich.edu ->umr.edu #University of Missouri - Rolla -131.151.1.59 #afsdb1.umr.edu -131.151.1.70 #afsdb3.umr.edu -131.151.1.146 #afsdb2.umr.edu +>sph.umich.edu #University of Michigan -- School of Public Health +141.211.50.41 #afssph0.sph.umich.edu >physics.unc.edu #Univ. of NC at Chapel Hill, Dept. of Physics 152.2.4.1 #who.physics.unc.edu 152.2.4.3 #what.physics.unc.edu 152.2.4.5 #when.physics.unc.edu >uncc.edu #University of NC at Charlotte Mosaic AFS Cell 152.15.10.70 #as-sm1.uncc.edu -152.15.13.7 #as-sm2.uncc.edu -152.15.30.27 #fs-kenn3.uncc.edu +152.15.93.186 #as-ece1.uncc.edu +152.15.181.175 #as-me1.uncc.edu >eng.utah.edu #University of Utah - Engineering 155.99.222.9 #lenny.eng.utah.edu 155.99.222.10 #carl.eng.utah.edu @@ -344,6 +356,8 @@ >dapnia.saclay.cea.fr #CEA DAPNIA 132.166.32.7 #dphrsg.saclay.cea.fr 132.166.32.12 #dphrsl.saclay.cea.fr +>grif.fr #GRIF cell +192.54.208.18 #node03.datagrid.cea.fr >in2p3.fr #IN2P3 production cell 134.158.232.11 #ccafsdb1.in2p3.fr 134.158.232.12 #ccafsdb2.in2p3.fr @@ -401,6 +415,7 @@ 192.84.134.75 #afsna.na.infn.it >ba.infn.it #INFN, Sezione di Bari 193.206.185.235 #baafsserver.ba.infn.it +193.206.185.236 #debsrv.ba.infn.it >kloe.infn.it #INFN, KLOE experiment at Laboratori di Frascati 192.135.25.111 #kloeafs1.lnf.infn.it 192.135.25.112 #kloeafs2.lnf.infn.it @@ -451,11 +466,13 @@ >laroia.net #Laroia Networks 66.66.102.254 #supercore.laroia.net >sinenomine.net #Sine Nomine Associates -66.92.236.139 #afs.sinenomine.net +192.204.203.218 #va.sinenomine.net >slackers.net #The Slackers' Network 63.201.48.27 #alexandria.slackers.net >tproa.net #The People's Republic of Ames 209.234.76.70 #service-3.tproa.net +209.234.76.75 #service-4.tproa.net +209.234.76.76 #service-5.tproa.net >nikhef.nl #The Dutch National Institute for High Energy Physics 192.16.185.26 #afs1.nikhef.nl 192.16.185.27 #afs2.nikhef.nl @@ -484,22 +501,16 @@ >oc7.org #The OC7 Project 128.2.122.140 #knife.oc7.org 207.22.77.170 #spoon.oc7.org ->openafs.org #OpenAFS Project -18.7.14.88 #grand-opening.mit.edu -128.2.191.224 #penn.central.org -130.237.48.87 #andrew.e.kth.se ->e.kth.se #Royal Institute of Technology, Elektro +>kth.se #Royal Institute of Technology, Stockholm, Sweden 130.237.32.145 #sonen.e.kth.se 130.237.48.7 #anden.e.kth.se 130.237.48.244 #fadern.e.kth.se >hallf.kth.se #Royal Institute of Technology, HALLF -130.237.24.141 #rasmus13.hallf.kth.se -130.237.24.152 #rasmus3.hallf.kth.se -130.237.24.177 #rasmus29.hallf.kth.se +130.237.24.11 #afs1.hallf.kth.se +130.237.24.104 #afs2.hallf.kth.se >isk.kth.se #Royal Institute of Technology, ISK -130.237.202.12 #afsdb2.isk.kth.se -130.237.206.13 #afsdb1.isk.kth.se -130.237.209.141 #afsdb3.isk.kth.se +130.237.202.3 #afsdb1.isk.kth.se +130.237.209.39 #ezri.isk.kth.se >it.kth.se #Royal Institute of Technology, IT 130.237.212.15 #ptah.it.kth.se 130.237.212.16 #toth.it.kth.se @@ -543,6 +554,13 @@ 193.2.120.2 #solkan.p-ng.si >phy.bris.ac.uk #Bristol University - phyics 137.222.58.9 #afs1.phy.bris.ac.uk +>inf.ed.ac.uk #School of Informatics, University of Edinburgh +129.215.64.16 #afsdb0.inf.ed.ac.uk +129.215.64.17 #afsdb1.inf.ed.ac.uk +129.215.64.18 #afsdb2.inf.ed.ac.uk +>ic.ac.uk #Imperial College London +155.198.63.148 #icafs2.cc.ic.ac.uk +155.198.63.149 #icafs1.cc.ic.ac.uk >hep.man.ac.uk #Manchester HEP 194.36.2.3 #afs1.hep.man.ac.uk 194.36.2.4 #afs2.hep.man.ac.uk diff --git a/src/packaging/MacOS/2.0.txt b/src/packaging/MacOS/2.0.txt new file mode 100644 index 000000000..fe81a60ca --- /dev/null +++ b/src/packaging/MacOS/2.0.txt @@ -0,0 +1,367 @@ +APPLE PUBLIC SOURCE LICENSE +Version 2.0 - August 6, 2003 + +Please read this License carefully before downloading this software. +By downloading or using this software, you are agreeing to be bound by +the terms of this License. If you do not or cannot agree to the terms +of this License, please do not download or use the software. + +1. General; Definitions. This License applies to any program or other +work which Apple Computer, Inc. ("Apple") makes publicly available and +which contains a notice placed by Apple identifying such program or +work as "Original Code" and stating that it is subject to the terms of +this Apple Public Source License version 2.0 ("License"). As used in +this License: + +1.1 "Applicable Patent Rights" mean: (a) in the case where Apple is +the grantor of rights, (i) claims of patents that are now or hereafter +acquired, owned by or assigned to Apple and (ii) that cover subject +matter contained in the Original Code, but only to the extent +necessary to use, reproduce and/or distribute the Original Code +without infringement; and (b) in the case where You are the grantor of +rights, (i) claims of patents that are now or hereafter acquired, +owned by or assigned to You and (ii) that cover subject matter in Your +Modifications, taken alone or in combination with Original Code. + +1.2 "Contributor" means any person or entity that creates or +contributes to the creation of Modifications. + +1.3 "Covered Code" means the Original Code, Modifications, the +combination of Original Code and any Modifications, and/or any +respective portions thereof. + +1.4 "Externally Deploy" means: (a) to sublicense, distribute or +otherwise make Covered Code available, directly or indirectly, to +anyone other than You; and/or (b) to use Covered Code, alone or as +part of a Larger Work, in any way to provide a service, including but +not limited to delivery of content, through electronic communication +with a client other than You. + +1.5 "Larger Work" means a work which combines Covered Code or portions +thereof with code not governed by the terms of this License. + +1.6 "Modifications" mean any addition to, deletion from, and/or change +to, the substance and/or structure of the Original Code, any previous +Modifications, the combination of Original Code and any previous +Modifications, and/or any respective portions thereof. When code is +released as a series of files, a Modification is: (a) any addition to +or deletion from the contents of a file containing Covered Code; +and/or (b) any new file or other representation of computer program +statements that contains any part of Covered Code. + +1.7 "Original Code" means (a) the Source Code of a program or other +work as originally made available by Apple under this License, +including the Source Code of any updates or upgrades to such programs +or works made available by Apple under this License, and that has been +expressly identified by Apple as such in the header file(s) of such +work; and (b) the object code compiled from such Source Code and +originally made available by Apple under this License. + +1.8 "Source Code" means the human readable form of a program or other +work that is suitable for making modifications to it, including all +modules it contains, plus any associated interface definition files, +scripts used to control compilation and installation of an executable +(object code). + +1.9 "You" or "Your" means an individual or a legal entity exercising +rights under this License. For legal entities, "You" or "Your" +includes any entity which controls, is controlled by, or is under +common control with, You, where "control" means (a) the power, direct +or indirect, to cause the direction or management of such entity, +whether by contract or otherwise, or (b) ownership of fifty percent +(50%) or more of the outstanding shares or beneficial ownership of +such entity. + +2. Permitted Uses; Conditions & Restrictions. Subject to the terms +and conditions of this License, Apple hereby grants You, effective on +the date You accept this License and download the Original Code, a +world-wide, royalty-free, non-exclusive license, to the extent of +Apple's Applicable Patent Rights and copyrights covering the Original +Code, to do the following: + +2.1 Unmodified Code. You may use, reproduce, display, perform, +internally distribute within Your organization, and Externally Deploy +verbatim, unmodified copies of the Original Code, for commercial or +non-commercial purposes, provided that in each instance: + +(a) You must retain and reproduce in all copies of Original Code the +copyright and other proprietary notices and disclaimers of Apple as +they appear in the Original Code, and keep intact all notices in the +Original Code that refer to this License; and + +(b) You must include a copy of this License with every copy of Source +Code of Covered Code and documentation You distribute or Externally +Deploy, and You may not offer or impose any terms on such Source Code +that alter or restrict this License or the recipients' rights +hereunder, except as permitted under Section 6. + +2.2 Modified Code. You may modify Covered Code and use, reproduce, +display, perform, internally distribute within Your organization, and +Externally Deploy Your Modifications and Covered Code, for commercial +or non-commercial purposes, provided that in each instance You also +meet all of these conditions: + +(a) You must satisfy all the conditions of Section 2.1 with respect to +the Source Code of the Covered Code; + +(b) You must duplicate, to the extent it does not already exist, the +notice in Exhibit A in each file of the Source Code of all Your +Modifications, and cause the modified files to carry prominent notices +stating that You changed the files and the date of any change; and + +(c) If You Externally Deploy Your Modifications, You must make +Source Code of all Your Externally Deployed Modifications either +available to those to whom You have Externally Deployed Your +Modifications, or publicly available. Source Code of Your Externally +Deployed Modifications must be released under the terms set forth in +this License, including the license grants set forth in Section 3 +below, for as long as you Externally Deploy the Covered Code or twelve +(12) months from the date of initial External Deployment, whichever is +longer. You should preferably distribute the Source Code of Your +Externally Deployed Modifications electronically (e.g. download from a +web site). + +2.3 Distribution of Executable Versions. In addition, if You +Externally Deploy Covered Code (Original Code and/or Modifications) in +object code, executable form only, You must include a prominent +notice, in the code itself as well as in related documentation, +stating that Source Code of the Covered Code is available under the +terms of this License with information on how and where to obtain such +Source Code. + +2.4 Third Party Rights. You expressly acknowledge and agree that +although Apple and each Contributor grants the licenses to their +respective portions of the Covered Code set forth herein, no +assurances are provided by Apple or any Contributor that the Covered +Code does not infringe the patent or other intellectual property +rights of any other entity. Apple and each Contributor disclaim any +liability to You for claims brought by any other entity based on +infringement of intellectual property rights or otherwise. As a +condition to exercising the rights and licenses granted hereunder, You +hereby assume sole responsibility to secure any other intellectual +property rights needed, if any. For example, if a third party patent +license is required to allow You to distribute the Covered Code, it is +Your responsibility to acquire that license before distributing the +Covered Code. + +3. Your Grants. In consideration of, and as a condition to, the +licenses granted to You under this License, You hereby grant to any +person or entity receiving or distributing Covered Code under this +License a non-exclusive, royalty-free, perpetual, irrevocable license, +under Your Applicable Patent Rights and other intellectual property +rights (other than patent) owned or controlled by You, to use, +reproduce, display, perform, modify, sublicense, distribute and +Externally Deploy Your Modifications of the same scope and extent as +Apple's licenses under Sections 2.1 and 2.2 above. + +4. Larger Works. You may create a Larger Work by combining Covered +Code with other code not governed by the terms of this License and +distribute the Larger Work as a single product. In each such instance, +You must make sure the requirements of this License are fulfilled for +the Covered Code or any portion thereof. + +5. Limitations on Patent License. Except as expressly stated in +Section 2, no other patent rights, express or implied, are granted by +Apple herein. Modifications and/or Larger Works may require additional +patent licenses from Apple which Apple may grant in its sole +discretion. + +6. Additional Terms. You may choose to offer, and to charge a fee for, +warranty, support, indemnity or liability obligations and/or other +rights consistent with the scope of the license granted herein +("Additional Terms") to one or more recipients of Covered Code. +However, You may do so only on Your own behalf and as Your sole +responsibility, and not on behalf of Apple or any Contributor. You +must obtain the recipient's agreement that any such Additional Terms +are offered by You alone, and You hereby agree to indemnify, defend +and hold Apple and every Contributor harmless for any liability +incurred by or claims asserted against Apple or such Contributor by +reason of any such Additional Terms. + +7. Versions of the License. Apple may publish revised and/or new +versions of this License from time to time. Each version will be given +a distinguishing version number. Once Original Code has been published +under a particular version of this License, You may continue to use it +under the terms of that version. You may also choose to use such +Original Code under the terms of any subsequent version of this +License published by Apple. No one other than Apple has the right to +modify the terms applicable to Covered Code created under this +License. + +8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in +part pre-release, untested, or not fully tested works. The Covered +Code may contain errors that could cause failures or loss of data, and +may be incomplete or contain inaccuracies. You expressly acknowledge +and agree that use of the Covered Code, or any portion thereof, is at +Your sole and entire risk. THE COVERED CODE IS PROVIDED "AS IS" AND +WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND AND APPLE AND +APPLE'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "APPLE" FOR THE +PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM +ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT +NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF +MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR +PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NONINFRINGEMENT OF THIRD +PARTY RIGHTS. APPLE AND EACH CONTRIBUTOR DOES NOT WARRANT AGAINST +INTERFERENCE WITH YOUR ENJOYMENT OF THE COVERED CODE, THAT THE +FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR REQUIREMENTS, +THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR +ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO +ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE, AN APPLE +AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY. +You acknowledge that the Covered Code is not intended for use in the +operation of nuclear facilities, aircraft navigation, communication +systems, or air traffic control machines in which case the failure of +the Covered Code could lead to death, personal injury, or severe +physical or environmental damage. + +9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO +EVENT SHALL APPLE OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL, +SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING +TO THIS LICENSE OR YOUR USE OR INABILITY TO USE THE COVERED CODE, OR +ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY, +TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF +APPLE OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY +REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF +INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY +TO YOU. In no event shall Apple's total liability to You for all +damages (other than as may be required by applicable law) under this +License exceed the amount of fifty dollars ($50.00). + +10. Trademarks. This License does not grant any rights to use the +trademarks or trade names "Apple", "Apple Computer", "Mac", "Mac OS", +"QuickTime", "QuickTime Streaming Server" or any other trademarks, +service marks, logos or trade names belonging to Apple (collectively +"Apple Marks") or to any trademark, service mark, logo or trade name +belonging to any Contributor. You agree not to use any Apple Marks in +or as part of the name of products derived from the Original Code or +to endorse or promote products derived from the Original Code other +than as expressly permitted by and in strict compliance at all times +with Apple's third party trademark usage guidelines which are posted +at http://www.apple.com/legal/guidelinesfor3rdparties.html. + +11. Ownership. Subject to the licenses granted under this License, +each Contributor retains all rights, title and interest in and to any +Modifications made by such Contributor. Apple retains all rights, +title and interest in and to the Original Code and any Modifications +made by or on behalf of Apple ("Apple Modifications"), and such Apple +Modifications will not be automatically subject to this License. Apple +may, at its sole discretion, choose to license such Apple +Modifications under this License, or on different terms from those +contained in this License or may choose not to license them at all. + +12. Termination. + +12.1 Termination. This License and the rights granted hereunder will +terminate: + +(a) automatically without notice from Apple if You fail to comply with +any term(s) of this License and fail to cure such breach within 30 +days of becoming aware of such breach; + +(b) immediately in the event of the circumstances described in Section +13.5(b); or + +(c) automatically without notice from Apple if You, at any time during +the term of this License, commence an action for patent infringement +against Apple; provided that Apple did not first commence +an action for patent infringement against You in that instance. + +12.2 Effect of Termination. Upon termination, You agree to immediately +stop any further use, reproduction, modification, sublicensing and +distribution of the Covered Code. All sublicenses to the Covered Code +which have been properly granted prior to termination shall survive +any termination of this License. Provisions which, by their nature, +should remain in effect beyond the termination of this License shall +survive, including but not limited to Sections 3, 5, 8, 9, 10, 11, +12.2 and 13. No party will be liable to any other for compensation, +indemnity or damages of any sort solely as a result of terminating +this License in accordance with its terms, and termination of this +License will be without prejudice to any other right or remedy of +any party. + +13. Miscellaneous. + +13.1 Government End Users. The Covered Code is a "commercial item" as +defined in FAR 2.101. Government software and technical data rights in +the Covered Code include only those rights customarily provided to the +public as defined in this License. This customary commercial license +in technical data and software is provided in accordance with FAR +12.211 (Technical Data) and 12.212 (Computer Software) and, for +Department of Defense purchases, DFAR 252.227-7015 (Technical Data -- +Commercial Items) and 227.7202-3 (Rights in Commercial Computer +Software or Computer Software Documentation). Accordingly, all U.S. +Government End Users acquire Covered Code with only those rights set +forth herein. + +13.2 Relationship of Parties. This License will not be construed as +creating an agency, partnership, joint venture or any other form of +legal association between or among You, Apple or any Contributor, and +You will not represent to the contrary, whether expressly, by +implication, appearance or otherwise. + +13.3 Independent Development. Nothing in this License will impair +Apple's right to acquire, license, develop, have others develop for +it, market and/or distribute technology or products that perform the +same or similar functions as, or otherwise compete with, +Modifications, Larger Works, technology or products that You may +develop, produce, market or distribute. + +13.4 Waiver; Construction. Failure by Apple or any Contributor to +enforce any provision of this License will not be deemed a waiver of +future enforcement of that or any other provision. Any law or +regulation which provides that the language of a contract shall be +construed against the drafter will not apply to this License. + +13.5 Severability. (a) If for any reason a court of competent +jurisdiction finds any provision of this License, or portion thereof, +to be unenforceable, that provision of the License will be enforced to +the maximum extent permissible so as to effect the economic benefits +and intent of the parties, and the remainder of this License will +continue in full force and effect. (b) Notwithstanding the foregoing, +if applicable law prohibits or restricts You from fully and/or +specifically complying with Sections 2 and/or 3 or prevents the +enforceability of either of those Sections, this License will +immediately terminate and You must immediately discontinue any use of +the Covered Code and destroy all copies of it that are in your +possession or control. + +13.6 Dispute Resolution. Any litigation or other dispute resolution +between You and Apple relating to this License shall take place in the +Northern District of California, and You and Apple hereby consent to +the personal jurisdiction of, and venue in, the state and federal +courts within that District with respect to this License. The +application of the United Nations Convention on Contracts for the +International Sale of Goods is expressly excluded. + +13.7 Entire Agreement; Governing Law. This License constitutes the +entire agreement between the parties with respect to the subject +matter hereof. This License shall be governed by the laws of the +United States and the State of California, except that body of +California law concerning conflicts of law. + +Where You are located in the province of Quebec, Canada, the following +clause applies: The parties hereby confirm that they have requested +that this License and all related documents be drafted in English. Les +parties ont exige que le present contrat et tous les documents +connexes soient rediges en anglais. + +EXHIBIT A. + +"Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights +Reserved. + +This file contains Original Code and/or Modifications of Original Code +as defined in and that are subject to the Apple Public Source License +Version 2.0 (the 'License'). You may not use this file except in +compliance with the License. Please obtain a copy of the License at +http://www.opensource.apple.com/apsl/ and read it before using this +file. + +The Original Code and all software distributed under the License are +distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER +EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, +INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. +Please see the License for the specific language governing rights and +limitations under the License." diff --git a/src/packaging/MacOS/CellServDB b/src/packaging/MacOS/CellServDB new file mode 100644 index 000000000..818b37999 --- /dev/null +++ b/src/packaging/MacOS/CellServDB @@ -0,0 +1,569 @@ +>grand.central.org #GCO Public CellServDB 08 Oct 2006 +18.7.14.88 #grand-opening.mit.edu +128.2.191.224 #penn.central.org +130.237.48.87 #andrew.e.kth.se +>wu-wien.ac.at #University of Economics, Vienna, Austria +137.208.3.33 #goya.wu-wien.ac.at +137.208.7.57 #caravaggio.wu-wien.ac.at +137.208.127.57 #vermeer.wu-wien.ac.at +>hephy.at #hephy-vienna +193.170.243.10 #mowgli.oeaw.ac.at +193.170.243.12 #baloo.oeaw.ac.at +193.170.243.14 #akela.oeaw.ac.at +>cgv.tugraz.at #CGV cell +129.27.224.133 #phobos.cgv.tugraz.at +129.27.224.134 #deimos.cgv.tugraz.at +129.27.224.210 #trinculo.cgv.tugraz.at +>itp.tugraz.at #Institute for Theoretical Physics, TU Graz, Austria +129.27.157.6 #fubphsv2.tu-graz.ac.at +129.27.161.7 #faepsv01.tu-graz.ac.at +129.27.161.15 #faepsv02.tu-graz.ac.at +>cern.ch #European Laboratory for Particle Physics, Geneva +137.138.128.148 #afsdb1.cern.ch +137.138.246.50 #afsdb3.cern.ch +137.138.246.51 #afsdb2.cern.ch +>ams.cern.ch #AMS Experiment +137.138.206.77 #pcamsf2.cern.ch +137.138.206.123 #pcamsf4.cern.ch +>epfl.ch #Swiss Federal Institute of Technology at Lausanne +128.178.109.111 #kd1.epfl.ch +128.178.109.112 #kd2.epfl.ch +128.178.109.113 #kd3.epfl.ch +>ethz.ch #Swiss Federal Inst. of Tech. - Zurich, Switzerland +129.132.97.19 #amalthea.ethz.ch +129.132.97.27 #nethzafs-001.ethz.ch +129.132.115.3 #himalia.ethz.ch +129.132.115.37 #nethzafs-005.ethz.ch +129.132.115.38 #nethzafs-006.ethz.ch +>psi.ch #Paul Scherrer Institut - Villigen, Switzerland +129.129.190.140 #afs00.psi.ch +129.129.190.141 #afs01.psi.ch +129.129.190.142 #afs02.psi.ch +>extundo.com #Simon Josefsson's cell +195.42.214.241 #slipsten.extundo.com +>membrain.com #membrain.com +66.93.118.125 #stormy +130.85.24.11 #weasel +130.85.24.13 #straykitten +>midnightlinux.com #Midnight Linux, Pittsburgh PA +208.10.142.82 #outpost.midnightlinux.com +>setfilepointer.com #SetFilePointer.com +63.224.10.2 #hamlet.SetFilePointer.com +63.224.10.4 #troilus.SetFilePointer.com +>sodre.cx #Sodre.cx +128.8.140.165 #greed.sodre.cx +>desy.de #Deutsches Elektronen-Synchrotron +131.169.40.62 #vayu.desy.de +131.169.244.60 #solar00.desy.de +>gppc.de #GPP Chemnitz mbH +213.187.92.33 #gpp1.gppc.de +213.187.92.34 #paulchen.gppc.de +213.187.92.35 #lotus.gppc.de +>ifh.de #DESY Zeuthen +141.34.22.10 #romulus.ifh.de +141.34.22.11 #remus.ifh.de +141.34.22.29 #hekate.ifh.de +>lrz-muenchen.de #Leibniz Computing Centre, Germany +129.187.10.36 #afs1.lrz-muenchen.de +129.187.10.56 #afs3.lrz-muenchen.de +129.187.10.57 #afs2.lrz-muenchen.de +>ipp-garching.mpg.de #Institut fuer Plasmaphysik +130.183.9.5 #afs-db1.rzg.mpg.de +130.183.100.10 #afs-db2.aug.ipp-garching.mpg.de +130.183.100.23 #afs-db3.aug.ipp-garching.mpg.de +>mpe.mpg.de #MPE cell +130.183.130.7 #irafs1.mpe-garching.mpg.de +130.183.134.20 #irafs2.mpe-garching.mpg.de +>i1.informatik.rwth-aachen.de #Informatik I, RWTH Aachen +137.226.244.79 #remus.informatik.rwth-aachen.de +>tu-bs.de #Technical University of Braunschweig, Germany +134.169.1.1 #rzafs1.rz.tu-bs.de +134.169.1.5 #rzafs2.rz.tu-bs.de +134.169.1.6 #rzafs3.rz.tu-bs.de +>tu-chemnitz.de #Technische Universitaet Chemnitz, Germany +134.109.2.1 #zuse.hrz.tu-chemnitz.de +134.109.2.15 #phoenix.hrz.tu-chemnitz.de +134.109.200.7 #aetius.hrz.tu-chemnitz.de +>e18.ph.tum.de #Experimental Physics, TU Munich, Germany +129.187.154.223 #hamlet.e18.physik.tu-muenchen.de +>uni-bonn.de #University of Bonn, Computing Center +131.220.14.198 #work15-eth.rhrz.uni-bonn.de +131.220.14.205 #node05.rhrz.uni-bonn.de +131.220.15.197 #afs-db1.rhrz.uni-bonn.de +>atlass01.physik.uni-bonn.de #Bonn ATLAS +131.220.165.43 #atlass01.physik.uni-bonn.de +>uni-freiburg.de #Albert-Ludwigs-Universitat Freiburg +132.230.6.235 #sv6.ruf.uni-freiburg.de +132.230.6.236 #sv7.ruf.uni-freiburg.de +132.230.6.237 #sv8.ruf.uni-freiburg.de +>physik.uni-freiburg.de #institute of physics, university Freiburg, Germany +132.230.77.16 #hepafs.physik.uni-freiburg.de +>urz.uni-heidelberg.de #Uni Heidelberg (Rechenzentrum) +129.206.119.10 #afsdb.urz.uni-heidelberg.de +129.206.119.16 #afsdb1.urz.uni-heidelberg.de +129.206.119.17 #afsdb2.urz.uni-heidelberg.de +>uni-hohenheim.de #University of Hohenheim +144.41.2.2 #rs13.serv.uni-hohenheim.de +144.41.2.3 #rs14.serv.uni-hohenheim.de +144.41.2.4 #rs15.serv.uni-hohenheim.de +>rz.uni-jena.de #Rechenzentrum University of Jena, Germany +141.35.2.180 #afs00.rz.uni-jena.de +141.35.2.181 #afs01.rz.uni-jena.de +141.35.2.182 #afs02.rz.uni-jena.de +>meteo.uni-koeln.de #Univ. of Cologne - Inst. for Geophysics & Meteorology +134.95.144.22 #afs1.meteo.uni-koeln.de +134.95.144.24 #afs2.meteo.uni-koeln.de +>rrz.uni-koeln.de #University of Cologne - Reg Comp Center +134.95.19.3 #afsdb1.rrz.uni-koeln.de +134.95.19.10 #lyra.rrz.uni-koeln.de +134.95.67.97 #afs.thp.uni-koeln.de +134.95.141.243 #agrippina.rrz.uni-koeln.de +>physik.uni-mainz.de #institute of physics, university Mainz, Germany +134.93.130.93 #hardy.physik.uni-mainz.de +>uni-mannheim.de #Uni Mannheim (Rechenzentrum) +134.155.97.204 #afsdb1.uni-mannheim.de +134.155.97.205 #afsdb2.uni-mannheim.de +134.155.97.206 #afsdb3.uni-mannheim.de +>uni-paderborn.de #University of Paderborn, Germany +131.234.137.10 #afsdb1.uni-paderborn.de +131.234.137.11 #afsdb2.uni-paderborn.de +131.234.137.12 #afsdb3.uni-paderborn.de +>physik.uni-wuppertal.de #Physics department of Bergische Universität Wuppertal +132.195.104.3 #afs1.physik.uni-wuppertal.de +132.195.104.230 #afs2.physik.uni-wuppertal.de +>s-et.aau.dk #Aalborg Univ., The Student Society, Denmark +130.225.196.22 #afs.s-et.aau.dk +>ies.auc.dk #Aalborg Univ., Inst. of Electronic Systems, Denmark +130.225.51.73 #afsdb1.kom.auc.dk +130.225.51.74 #afsdb2.kom.auc.dk +130.225.51.85 #afsdb3.kom.auc.dk +>asu.edu #Arizona State University +129.219.10.69 #authen2.asu.edu +129.219.10.70 #authen1.asu.edu +129.219.10.72 #authen3.asu.edu +129.219.100.16 #authen4.asu.edu +>hep.caltech.edu #CalTech High Energy Physics +131.215.126.150 #afs.hep.caltech.edu +>clarkson.edu #Clarkson University, Potsdam, New York USA +128.153.1.111 #arthur.clarkson.edu +128.153.9.111 #lancelot.clarkson.edu +128.153.17.111 #uther.clarkson.edu +>andrew.cmu.edu #Carnegie Mellon University - Computing Services Cell +128.2.10.2 #vice2.fs.andrew.cmu.edu +128.2.10.7 #vice7.fs.andrew.cmu.edu +128.2.10.11 #vice11.fs.andrew.cmu.edu +128.2.10.28 #vice28.fs.andrew.cmu.edu +128.2.32.44 #new-vice12.fs.andrew.cmu.edu +>club.cc.cmu.edu #Carnegie Mellon University Computer Club +128.237.157.11 #sodium.club.cc.cmu.edu +128.237.157.13 #potassium.club.cc.cmu.edu +>chem.cmu.edu #Carnegie Mellon University - Chemistry Dept. +128.2.40.134 #afs.chem.cmu.edu +128.2.40.140 #afs2.chem.cmu.edu +>cs.cmu.edu #Carnegie Mellon University - School of Comp. Sci. +128.2.194.178 #cherry.srv.cs.cmu.edu +128.2.194.179 #pumpkin.srv.cs.cmu.edu +128.2.194.180 #strawberry.srv.cs.cmu.edu +>ece.cmu.edu #Carnegie Mellon University - Elec. Comp. Eng. Dept. +128.2.129.7 #porok.ece.cmu.edu +128.2.129.8 #vicio.ece.cmu.edu +128.2.129.9 #e-xing.ece.cmu.edu +>scotch.ece.cmu.edu #CMU ECE CALCM research group +128.2.134.82 #lagavulin.ece.cmu.edu +>qatar.cmu.edu #Carnegie Mellon University - Qatar Campus Cell +204.194.25.7 #afs1.qatar.cmu.edu +204.194.25.8 #afs2.qatar.cmu.edu +>sbp.ri.cmu.edu #Carnegie Mellon University - Sensor Based Planning Lab +128.2.179.12 #nihao.sbp.ri.cmu.edu +128.2.179.113 #youtheman.sbp.ri.cmu.edu +>msc.cornell.edu #Cornell University Materials Science Center +128.84.231.242 #miranda.ccmr.cornell.edu +128.84.241.35 #co.ccmr.cornell.edu +128.84.249.78 #dax.ccmr.cornell.edu +>dbic.dartmouth.edu #Dartmouth Brain Imaging Center +129.170.30.143 #dbicafs1.dartmouth.edu +129.170.30.144 #dbicafs2.dartmouth.edu +129.170.30.145 #dbicafs3.dartmouth.edu +>northstar.dartmouth.edu #Dartmouth College Research Computing +129.170.16.22 #halley.dartmouth.edu +129.170.16.42 #oort.dartmouth.edu +129.170.16.43 #cygnusx1.dartmouth.edu +>cs.fhm.edu #Department Computer Science Munich University Of Applied Science +129.187.208.2 #srv1.informatik.fh-muenchen.de +>eecs.harvard.edu #Harvard - EECS +140.247.60.61 #zermelo.eecs.harvard.edu +140.247.60.83 #corfu.eecs.harvard.edu +>iastate.edu #Iowa State University +129.186.1.243 #afsdb-1.iastate.edu +129.186.6.243 #afsdb-2.iastate.edu +129.186.142.243 #afsdb-3.iastate.edu +>athena.mit.edu #MIT/Athena cell +18.7.1.66 #paris.mit.edu. +18.7.1.74 #chimera.mit.edu. +18.158.0.37 #prill.mit.edu. +>dev.mit.edu #MIT/IS Development cell +18.7.1.70 #wham.mit.edu. +18.7.15.89 #rattle.mit.edu. +18.7.15.93 #hum.mit.edu. +>net.mit.edu #MIT/Network Group cell +18.7.7.73 #gracie.mit.edu +18.7.21.95 #george.mit.edu +>sipb.mit.edu #MIT/SIPB cell +18.181.0.19 #reynelda.mit.edu. +18.181.0.22 #rosebud.mit.edu. +18.181.0.23 #ronald-ann.mit.edu. +>soap.mit.edu #MIT School Of Architecture & Planning +18.89.1.204 #crypt.mit.edu +18.89.1.209 #grotto.mit.edu +18.89.2.156 #ac.mit.edu +>msu.edu #Michigan State University Main Cell +35.9.7.10 #afsdb0.cl.msu.edu +>nd.edu #University of Notre Dame +129.74.223.17 #john.helios.nd.edu +129.74.223.33 #lizardo.helios.nd.edu +129.74.223.65 #buckaroo.helios.nd.edu +>pitt.edu #University of Pittsburgh +136.142.8.15 #afs09.srv.cis.pitt.edu +136.142.8.20 #afs10.srv.cis.pitt.edu +136.142.8.21 #afs11.srv.cis.pitt.edu +>cs.pitt.edu #University of Pittsburgh - Computer Science +130.49.220.11 #afs01.cs.pitt.edu +130.49.220.12 #afs02.cs.pitt.edu +130.49.220.13 #afs03.cs.pitt.edu +>psc.edu #PSC (Pittsburgh Supercomputing Center) +128.182.59.182 #shaggy.psc.edu +128.182.66.184 #velma.psc.edu +128.182.66.185 #daphne.psc.edu +>scoobydoo.psc.edu #PSC Test Cell +128.182.59.181 #scooby.psc.edu +>cede.psu.edu #Penn State - Center for Engr. Design & Entrepeneurship +146.186.218.10 #greenly.cede.psu.edu +146.186.218.60 #b50.cede.psu.edu +146.186.218.246 #stalin.cede.psu.edu +>rose-hulman.edu #Rose-Hulman Institute of Technology +137.112.7.11 #afs1.rose-hulman.edu +137.112.7.12 #afs2.rose-hulman.edu +137.112.7.13 #afs3.rose-hulman.edu +>cs.rose-hulman.edu #Rose-Hulman CS Department +137.112.40.10 #galaxy.cs.rose-hulman.edu +>rpi.edu #Rensselaer Polytechnic Institute +128.113.22.11 #saul.server.rpi.edu +128.113.22.12 #joab.server.rpi.edu +128.113.22.13 #korah.server.rpi.edu +128.113.22.14 #achan.server.rpi.edu +>hep.sc.edu #University of South Carolina, Dept. of Physics +129.252.78.77 #cpeven.physics.sc.edu +>cs.stanford.edu #Stanford University Computer Science Department +171.64.64.10 #cs-afs-1.Stanford.EDU +171.64.64.66 #cs-afs-2.stanford.edu +171.64.64.69 #cs-afs-3.stanford.edu +>ir.stanford.edu #Stanford University +171.64.7.222 #afsdb1.stanford.edu +171.64.7.234 #afsdb2.stanford.edu +171.64.7.246 #afsdb3.stanford.edu +>slac.stanford.edu #Stanford Linear Accelerator Center +134.79.18.25 #afsdb1.slac.stanford.edu +134.79.18.26 #afsdb2.slac.stanford.edu +134.79.18.27 #afsdb3.slac.stanford.edu +>ucdavis.edu #University of California at Davis +169.237.104.100 #afs1.ucdavis.edu +169.237.235.176 #afs2.ucdavis.edu +169.237.247.91 #afs3.ucdavis.edu +>home.ucdavis.edu #University of California at Davis home directories +169.237.105.91 #home1.ucdavis.edu +169.237.105.92 #home2.ucdavis.edu +169.237.105.93 #home3.ucdavis.edu +>physics.ucsb.edu #UC Santa Barbara, Physics Dept +128.111.18.161 #ledzeppelin.physics.ucsb.edu +>cats.ucsc.edu #UC Santa Cruz, Comm. and Tech. Services, California U.S.A +128.114.129.14 #elan.ucsc.edu +128.114.129.15 #ichabod.ucsc.edu +128.114.129.18 #maneki.ucsc.edu +>acm.uiuc.edu #ACM at the University of Illinois +128.174.251.8 #alnitak.acm.uiuc.edu +128.174.251.9 #alnilam.acm.uiuc.edu +128.174.251.10 #mintaka.acm.uiuc.edu +>ncsa.uiuc.edu #University of Illinois +141.142.3.5 #congo.ncsa.uiuc.edu +141.142.3.8 #nile.ncsa.uiuc.edu +141.142.3.9 #kaskaskia.ncsa.uiuc.edu +>umbc.edu #University of Maryland, Baltimore County +130.85.24.23 #db2.afs.umbc.edu +130.85.24.87 #db3.afs.umbc.edu +130.85.24.101 #db1.afs.umbc.edu +>glue.umd.edu #University of Maryland - Project Glue +128.8.70.11 #olmec.umd.edu +128.8.236.4 #egypt.umd.edu +128.8.236.230 #babylon.umd.edu +>wam.umd.edu #University of Maryland Network WAM Project +128.8.70.9 #csc-srv.wam.umd.edu +128.8.236.5 #avw-srv.wam.umd.edu +128.8.236.231 #ptx-srv.wam.umd.edu +>umich.edu #University of Michigan - Campus +141.211.1.32 #fear.ifs.umich.edu +141.211.1.33 #surprise.ifs.umich.edu +141.211.1.34 #ruthless.ifs.umich.edu +>atlas.umich.edu #ATLAS group cell in physics at University of Michigan +141.211.43.102 #linat02.grid.umich.edu +141.211.43.103 #linat03.grid.umich.edu +141.211.43.104 #linat04.grid.umich.edu +>citi.umich.edu #Center for Information Technology Integration +141.211.133.5 #babylon.citi.umich.edu +>lsa.umich.edu #University of Michigan - College of LS&A +141.211.211.53 #gerow.lsa.umich.edu +141.211.211.72 #collines.lsa.umich.edu +141.211.211.153 #hodges.lsa.umich.edu +>sph.umich.edu #University of Michigan -- School of Public Health +141.211.50.41 #afssph0.sph.umich.edu +>physics.unc.edu #Univ. of NC at Chapel Hill, Dept. of Physics +152.2.4.1 #who.physics.unc.edu +152.2.4.3 #what.physics.unc.edu +152.2.4.5 #when.physics.unc.edu +>uncc.edu #University of NC at Charlotte Mosaic AFS Cell +152.15.10.70 #as-sm1.uncc.edu +152.15.93.186 #as-ece1.uncc.edu +152.15.181.175 #as-me1.uncc.edu +>eng.utah.edu #University of Utah - Engineering +155.99.222.9 #lenny.eng.utah.edu +155.99.222.10 #carl.eng.utah.edu +>cs.uwm.edu #University of Wisconsin--Milwaukee +129.89.38.124 #solomons.cs.uwm.edu +>cs.wisc.edu #Univ. of Wisconsin-Madison, Computer Sciences Dept. +128.105.132.14 #timon.cs.wisc.edu +128.105.132.15 #pumbaa.cs.wisc.edu +128.105.132.16 #zazu.cs.wisc.edu +>engr.wisc.edu #University of Wisconsin-Madison, College of Engineering +144.92.13.14 #larry.cae.wisc.edu +144.92.13.15 #curly.cae.wisc.edu +144.92.13.16 #moe.cae.wisc.edu +>hep.wisc.edu #University of Wisconsin -- High Energy Physics +128.104.28.219 #anise.hep.wisc.edu +>physics.wisc.edu #Univ. of Wisconsin-Madison, Physics Department +128.104.160.13 #kendra.physics.wisc.edu +128.104.160.14 #fray.physics.wisc.edu +128.104.160.15 #buffy.physics.wisc.edu +>ciemat.es #Ciemat, Madrid, Spain +130.206.11.42 #afsdb1.ciemat.es +130.206.11.217 #afsdb2.ciemat.es +130.206.11.247 #afsdb3.ciemat.es +>ifca.unican.es #Instituto de Fisica de Cantabria (IFCA), Santander, Spain +193.144.209.20 #gridwall.ifca.unican.es +>ific.uv.es #Instituto de Fisica Corpuscular, Valencia, Spain +147.156.163.11 #alpha.ific.uv.es +>biocenter.helsinki.fi #University of Helsinki, Institute of Biotechnology +128.214.58.174 #afsdb1.biocenter.helsinki.fi +128.214.88.114 #afsdb2.biocenter.helsinki.fi +>dapnia.saclay.cea.fr #CEA DAPNIA +132.166.32.7 #dphrsg.saclay.cea.fr +132.166.32.12 #dphrsl.saclay.cea.fr +>grif.fr #GRIF cell +192.54.208.18 #node03.datagrid.cea.fr +>in2p3.fr #IN2P3 production cell +134.158.232.11 #ccafsdb1.in2p3.fr +134.158.232.12 #ccafsdb2.in2p3.fr +134.158.232.13 #ccafsdb3.in2p3.fr +>anl.gov #Argonne National Laboratory +146.137.96.33 #arteus.ctd.anl.gov +146.137.162.88 #agamemnon.ctd.anl.gov +146.137.194.80 #antenor.ctd.anl.gov +>rhic.bnl.gov #Relativistic Heavy Ion Collider +130.199.6.51 #rafs03.rcf.bnl.gov +130.199.6.52 #rafs02.rcf.bnl.gov +130.199.6.69 #rafs01.rcf.bnl.gov +>usatlas.bnl.gov #US Atlas Tier 1 Facility at BNL +130.199.48.32 #aafs01.usatlas.bnl.gov +130.199.48.33 #aafs02.usatlas.bnl.gov +130.199.48.34 #aafs03.usatlas.bnl.gov +>fnal.gov #Fermi National Acclerator Laboratory +131.225.68.1 #fsus01.fnal.gov +131.225.68.4 #fsus03.fnal.gov +131.225.68.14 #fsus04.fnal.gov +>ic-afs.arc.nasa.gov #Code IC, Ames Research Center +128.102.105.62 #udanax.arc.nasa.gov +>jpl.nasa.gov #Jet Propulsion Laboratory +137.78.160.21 #afsdb08.jpl.nasa.gov +137.78.160.22 #afsdb09.jpl.nasa.gov +137.78.160.23 #afsdb10.jpl.nasa.gov +>nersc.gov #National Energy Research Supercomputer Center +128.55.128.250 #mars.nersc.gov +128.55.128.252 #alfred.nersc.gov +128.55.128.254 #lurch.nersc.gov +>bme.hu #Budapest University of Technology and Economics +152.66.241.6 #afs.iit.bme.hu +>kfki.hu #Research Institute for Nuclear and Particle Physics - Budapest,H +148.6.8.14 #afs.kfki.hu +>caspur.it #CASPUR Inter-University Computing Consortium, Rome +193.204.5.45 #pomodoro.caspur.it +193.204.5.46 #banana.caspur.it +193.204.5.50 #maslo.caspur.it +>enea.it #ENEA New Tech. Energy & Environment Agency, Italy +192.107.54.5 #aixfs.frascati.enea.it +192.107.54.11 #rs2ced.frascati.enea.it +192.107.54.12 #43p.frascati.enea.it +192.107.61.235 #serverinfo02.bologna.enea.it +192.107.71.6 #glauco.casaccia.enea.it +192.107.96.233 #riscdb.trisaia.enea.it +>fusione.it #Assoz. FUSIONE/Euratom, ENEA, Frascati-Italy +192.107.90.2 #fusafs1.frascati.enea.it +192.107.90.3 #fusafs2.frascati.enea.it +192.107.90.4 #fusafs3.frascati.enea.it +>icemb.it #ICEMB, Universita' La Sapienza - Rome - Italy +193.204.6.130 #icembfs.caspur.it +>infn.it #Istituto Nazionale di Fisica Nucleare (INFN), Italia +131.154.1.7 #afscnaf.infn.it +141.108.26.75 #afsrm1.roma1.infn.it +192.84.134.75 #afsna.na.infn.it +>ba.infn.it #INFN, Sezione di Bari +193.206.185.235 #baafsserver.ba.infn.it +193.206.185.236 #debsrv.ba.infn.it +>kloe.infn.it #INFN, KLOE experiment at Laboratori di Frascati +192.135.25.111 #kloeafs1.lnf.infn.it +192.135.25.112 #kloeafs2.lnf.infn.it +>le.infn.it #INFN, Sezione di Lecce +192.84.152.40 #afs01.le.infn.it +192.84.152.148 #afs02.le.infn.it +>lnf.infn.it #INFN, Laboratori Nazionali di Frascati +193.206.84.121 #afs1.lnf.infn.it +193.206.84.122 #afs2.lnf.infn.it +193.206.84.123 #afs3.lnf.infn.it +>lngs.infn.it #INFN, Laboratori Nazionali di Gran Sasso +192.84.135.21 #rsgs05.lngs.infn.it +>pi.infn.it #INFN, Sezione di Pisa +131.114.134.26 #unknownhost.pi.infn.it +192.84.133.50 #aix1.pi.infn.it +>psm.it #Progetto San Marco, Universita' di Roma-1 +151.100.1.65 #atlante.psm.uniroma1.it +>tgrid.it #CASPUR-CILEA-CINECA Grid Cell +193.204.5.33 #cccgrid.caspur.it +>ictp.trieste.it #The Abdus Salam International Centre for Theoretical Physics (IC +140.105.16.8 #fs1.ictp.trieste.it +140.105.16.9 #fs2.ictp.trieste.it +>math.unifi.it #math.unifi.it +150.217.34.182 #xeno.math.unifi.it +>ing.uniroma1.it #Universita' La Sapienza, Fac. Ingeneria +151.100.85.253 #alfa.ing.uniroma1.it +>dia.uniroma3.it #University Roma Tre - DIA +193.204.161.79 #plm.dia.uniroma3.it +193.204.161.118 #afs.dia.uniroma3.it +>vn.uniroma3.it #University of Rome 3, Area Vasca Navale +193.204.161.136 #alfa.dia.uniroma3.it +193.204.161.137 #beta.dia.uniroma3.it +193.204.161.138 #gamma.dia.uniroma3.it +>italia #Italian public AFS cell +193.204.5.9 #afs.caspur.it +>cmf.nrl.navy.mil #Naval Research Lab - CCS +134.207.10.68 #picard.cmf.nrl.navy.mil +134.207.10.69 #riker.cmf.nrl.navy.mil +134.207.10.70 #kirk.cmf.nrl.navy.mil +>lcp.nrl.navy.mil #Naval Research Lab - Lab for Computational Physics +132.250.114.2 #afs1.lcp.nrl.navy.mil +132.250.114.4 #afs2.lcp.nrl.navy.mil +132.250.114.6 #afs3.lcp.nrl.navy.mil +>es.net #Energy Sciences Net +198.128.3.21 #fs1.es.net +198.128.3.22 #fs2.es.net +198.128.3.23 #fs3.es.net +>laroia.net #Laroia Networks +66.66.102.254 #supercore.laroia.net +>sinenomine.net #Sine Nomine Associates +192.204.203.218 #va.sinenomine.net +>slackers.net #The Slackers' Network +63.201.48.27 #alexandria.slackers.net +>tproa.net #The People's Republic of Ames +209.234.76.70 #service-3.tproa.net +209.234.76.75 #service-4.tproa.net +209.234.76.76 #service-5.tproa.net +>nikhef.nl #The Dutch National Institute for High Energy Physics +192.16.185.26 #afs1.nikhef.nl +192.16.185.27 #afs2.nikhef.nl +>1ts.org #1TS.ORG, Cambridge, MA +4.36.43.102 #dol-guldur.1ts.org +69.25.196.51 #pancake.1ts.org +>bazquux.org #Baz Quux Organization +66.207.142.196 #baxquux.org +>coed.org #Adam Pennington's Cell +66.93.61.184 #vice1.coed.org +128.237.157.35 #vice3.coed.org +>dementia.org #Dementia Unlimited +128.2.12.45 #alycia.dementia.org +128.2.120.216 #meredith.dementia.org +>hackish.org #Hackish.org +24.167.65.213 #avatar.sys.hackish.org +128.2.120.138 #kurma.sys.hackish.org +>idahofuturetruck.org #University of Idaho hybrid vehicle development +12.18.238.210 #dsle210.fsr.net +>nimlabs.org #Nimlabs, Ink. Cell. +18.238.1.103 #olfin.nimlabs.org +18.238.1.105 #caerbanog.nimlabs.org +>nomh.org #nomh.org +204.29.154.12 #iota.nomh.org +204.29.154.32 #adversity.xi.nomh.org +>oc7.org #The OC7 Project +128.2.122.140 #knife.oc7.org +207.22.77.170 #spoon.oc7.org +>kth.se #Royal Institute of Technology, Stockholm, Sweden +130.237.32.145 #sonen.e.kth.se +130.237.48.7 #anden.e.kth.se +130.237.48.244 #fadern.e.kth.se +>hallf.kth.se #Royal Institute of Technology, HALLF +130.237.24.11 #afs1.hallf.kth.se +130.237.24.104 #afs2.hallf.kth.se +>isk.kth.se #Royal Institute of Technology, ISK +130.237.202.3 #afsdb1.isk.kth.se +130.237.209.39 #ezri.isk.kth.se +>it.kth.se #Royal Institute of Technology, IT +130.237.212.15 #ptah.it.kth.se +130.237.212.16 #toth.it.kth.se +130.237.215.7 #isis.it.kth.se +>md.kth.se #Royal Institute of Technology, MMK +130.237.57.68 #trinity.md.kth.se +130.237.57.72 #morpheus.md.kth.se +130.237.67.230 #neo.speech.kth.se +>mech.kth.se #Royal Institute of Technology, MECH +130.237.233.142 #matterhorn.mech.kth.se +130.237.233.143 #castor.mech.kth.se +130.237.233.144 #pollux.mech.kth.se +>nada.kth.se #Royal Institute of Technology, NADA +130.237.222.20 #kosmos.nada.kth.se +130.237.223.12 #sputnik.nada.kth.se +130.237.224.78 #mir.nada.kth.se +130.237.227.23 #gagarin.nada.kth.se +130.237.228.28 #laika.nada.kth.se +>pdc.kth.se #Royal Institute of Technology, PDC +130.237.232.29 #crab.pdc.kth.se +130.237.232.112 #anna.pdc.kth.se +130.237.232.114 #hokkigai.pdc.kth.se +>stacken.kth.se #Stacken Computer Club +130.237.234.3 #milko.stacken.kth.se +130.237.234.43 #hot.stacken.kth.se +130.237.237.230 #fishburger.stacken.kth.se +>syd.kth.se #Royal Institute of Technology, KTH-Syd +130.237.83.23 #afs.haninge.kth.se +>physto.se #Physics department Stockholm University +130.237.205.36 #sysafs1.physto.se +130.237.205.72 #sysafs2.physto.se +>sanchin.se #Sanchin Consulting AB, Sweden +192.195.148.10 #sesan.sanchin.se +>su.se #Stockholm University +130.237.162.81 #afsdb1.su.se +130.237.162.82 #afsdb2.su.se +130.237.162.230 #afsdb3.su.se +>f9.ijs.si #F9, Jozef Stefan Institue +194.249.156.1 #brenta.ijs.si +>p-ng.si #Nova Gorica Polytechnic +193.2.120.2 #solkan.p-ng.si +>phy.bris.ac.uk #Bristol University - phyics +137.222.58.9 #afs1.phy.bris.ac.uk +>inf.ed.ac.uk #School of Informatics, University of Edinburgh +129.215.64.16 #afsdb0.inf.ed.ac.uk +129.215.64.17 #afsdb1.inf.ed.ac.uk +129.215.64.18 #afsdb2.inf.ed.ac.uk +>ic.ac.uk #Imperial College London +155.198.63.148 #icafs2.cc.ic.ac.uk +155.198.63.149 #icafs1.cc.ic.ac.uk +>hep.man.ac.uk #Manchester HEP +194.36.2.3 #afs1.hep.man.ac.uk +194.36.2.4 #afs2.hep.man.ac.uk +194.36.2.5 #afs3.hep.man.ac.uk +>rl.ac.uk #Rutherford Appleton Lab, England +130.246.183.164 #wallace.cc.rl.ac.uk diff --git a/src/packaging/MacOS/CellServDB.list b/src/packaging/MacOS/CellServDB.list new file mode 100644 index 000000000..14b5b4fe2 --- /dev/null +++ b/src/packaging/MacOS/CellServDB.list @@ -0,0 +1,14 @@ +Following are the md5 hashes of all the cellservdb's shipped with +macos x openafs releases prior to 1.2.7. No newer files need to be +added to this file, since the way CellServDB files are managed changed +in 1.2.7 +MD5 (1.0.4/CellServDB) = 4ac0ebd85f6790cdd64d61ff85e5a3f7 +MD5 (1.1.0/CellServDB) = 122a61939725a7b7175ab79816cf4ebf +MD5 (1.1.1/CellServDB) = 122a61939725a7b7175ab79816cf4ebf +MD5 (1.2.0/CellServDB) = 122a61939725a7b7175ab79816cf4ebf +MD5 (1.2.1/CellServDB) = 122a61939725a7b7175ab79816cf4ebf +MD5 (1.2.2a/CellServDB) = f19fe18f0f4fc3910a0354bfd479b217 +MD5 (1.2.3/CellServDB) = f19fe18f0f4fc3910a0354bfd479b217 +MD5 (1.2.4/CellServDB) = ad94cdff3fcfbd1763099032dd3a0c84 +MD5 (1.2.5/CellServDB) = ad94cdff3fcfbd1763099032dd3a0c84 +MD5 (1.2.6/CellServDB) = 66ad76e99c0f88a7e113c1ccce83819a diff --git a/src/packaging/MacOS/DS_Store b/src/packaging/MacOS/DS_Store new file mode 100644 index 000000000..646bda65a Binary files /dev/null and b/src/packaging/MacOS/DS_Store differ diff --git a/src/packaging/MacOS/InstallationCheck b/src/packaging/MacOS/InstallationCheck new file mode 100644 index 000000000..5f33391ad --- /dev/null +++ b/src/packaging/MacOS/InstallationCheck @@ -0,0 +1,10 @@ +#!/bin/sh +majorvers=`uname -r | sed 's/\..*//'` +echo "InstallationCheck: os release is $majorvers" +if [ $majorvers -ne 8 ]; then +echo "InstallationCheck: not ok" + exit 112 +fi + +echo "InstallationCheck: ok" +exit 0 diff --git a/src/packaging/MacOS/InstallationCheck.strings b/src/packaging/MacOS/InstallationCheck.strings new file mode 100644 index 000000000..62d12c1bc --- /dev/null +++ b/src/packaging/MacOS/InstallationCheck.strings @@ -0,0 +1 @@ +"16" = "This OpenAFS release requires Tiger (10.4)" diff --git a/src/packaging/MacOS/License.rtf b/src/packaging/MacOS/License.rtf new file mode 100644 index 000000000..586d9734f --- /dev/null +++ b/src/packaging/MacOS/License.rtf @@ -0,0 +1,249 @@ +{\rtf1\mac\ansicpg10000\cocoartf100 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fnil\fcharset77 HelveticaNeue-CondensedBlack;\f2\fswiss\fcharset77 ArialMT; +} +{\colortbl;\red255\green255\blue255;} +\margl1440\margr1440\vieww10620\viewh8860\viewkind0 +\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural + +\f0\fs20 \cf0 IBM Public License Version 1.0\ + \ + +\f1 THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS IBM\ + PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF\ + THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.\ + +\f0\fs16 \ + +\fs20 1. DEFINITIONS\ + \ + "Contribution" means:\ + a) in the case of International Business Machines Corporation ("IBM"),\ + the Original Program, and\ + \ + b) in the case of each Contributor,\ + \ + i) changes to the Program, and\ + \ + ii) additions to the Program;\ + \ + where such changes and/or additions to the Program originate from and\ + are distributed by that particular Contributor. A Contribution\ + 'originates' from a Contributor if it was added to the Program by\ + such Contributor itself or anyone acting on such Contributor's\ + behalf. Contributions do not include additions to the Program\ + which: (i) are separate modules of software distributed in\ + conjunction with the Program under their own license agreement,\ + and (ii) are not derivative works of the Program.\ + \ + "Contributor" means IBM and any other entity that distributes the\ + Program.\ + \ + "Licensed Patents " mean patent claims licensable by a Contributor\ + which are necessarily infringed by the use or sale of its Contribution\ + alone or when combined with the Program.\ + \ + "Original Program" means the original version of the software\ + accompanying this Agreement as released by IBM, including source code,\ + object code and documentation, if any.\ + \ + "Program" means the Original Program and Contributions.\ + \ + "Recipient" means anyone who receives the Program under this\ + Agreement, including all Contributors.\ + \ + 2. GRANT OF RIGHTS\ + a) Subject to the terms of this Agreement, each Contributor hereby\ + grants Recipient a non-exclusive, worldwide, royalty-free\ + copyright license to reproduce, prepare derivative works of,\ + publicly display, publicly perform, distribute and sublicense the\ + Contribution of such Contributor, if any, and such derivative\ + works, in source code and object code form.\ + \ + b) Subject to the terms of this Agreement, each Contributor hereby\ + grants Recipient a non-exclusive, worldwide, royalty-free patent\ + license under Licensed Patents to make, use, sell, offer to sell,\ + import and otherwise transfer the Contribution of such\ + Contributor, if any, in source code and object code form. This\ + patent license shall apply to the combination of the Contribution\ + and the Program if, at the time the Contribution is added by the\ + Contributor, such addition of the Contribution causes such\ + combination to be covered by the Licensed Patents. The patent\ + license shall not apply to any other combinations which include\ + the Contribution. No hardware per se is licensed hereunder.\ + \ + c) Recipient understands that although each Contributor grants the\ + licenses to its Contributions set forth herein, no assurances are\ + provided by any Contributor that the Program does not infringe the\ + patent or other intellectual property rights of any other entity.\ + Each Contributor disclaims any liability to Recipient for claims\ + brought by any other entity based on infringement of intellectual\ + property rights or otherwise. As a condition to exercising the\ + rights and licenses granted hereunder, each Recipient hereby\ + assumes sole responsibility to secure any other intellectual\ + property rights needed, if any. For example, if a third party\ + patent license is required to allow Recipient to distribute the\ + Program, it is Recipient's responsibility to acquire that license\ + before distributing the Program.\ + \ + d) Each Contributor represents that to its knowledge it has sufficient\ + copyright rights in its Contribution, if any, to grant the\ + copyright license set forth in this Agreement.\ + \ + 3. REQUIREMENTS\ + \ + A Contributor may choose to distribute the Program in object code form\ + under its own license agreement, provided that:\ + a) it complies with the terms and conditions of this Agreement; and\ + \ + b) its license agreement:\ + \ + i) effectively disclaims on behalf of all Contributors all warranties\ + and conditions, express and implied, including warranties or\ + conditions of title and non-infringement, and implied warranties\ + or conditions of merchantability and fitness for a particular\ + purpose;\ + \ + ii) effectively excludes on behalf of all Contributors all liability\ + for damages, including direct, indirect, special, incidental and\ + consequential damages, such as lost profits;\ + \ + iii) states that any provisions which differ from this Agreement are\ + offered by that Contributor alone and not by any other party; and\ + \ + iv) states that source code for the Program is available from such\ + Contributor, and informs licensees how to obtain it in a\ + reasonable manner on or through a medium customarily used for\ + software exchange.\ + \ + When the Program is made available in source code form:\ + a) it must be made available under this Agreement; and\ + \ + b) a copy of this Agreement must be included with each copy of the\ + Program.\ + \ + Each Contributor must include the following in a conspicuous location\ + in the Program:\ + \ + Copyright \'a9 \{date here\}, International Business Machines Corporation\ + and others. All Rights Reserved.\ + \ + In addition, each Contributor must identify itself as the originator\ + of its Contribution, if any, in a manner that reasonably allows\ + subsequent Recipients to identify the originator of the Contribution.\ + \ + 4. COMMERCIAL DISTRIBUTION\ + \ + Commercial distributors of software may accept certain\ + responsibilities with respect to end users, business partners and the\ + like. While this license is intended to facilitate the commercial use\ + of the Program, the Contributor who includes the Program in a\ + commercial product offering should do so in a manner which does not\ + create potential liability for other Contributors. Therefore, if a\ + Contributor includes the Program in a commercial product offering,\ + such Contributor ("Commercial Contributor") hereby agrees to defend\ + and indemnify every other Contributor ("Indemnified Contributor")\ + against any losses, damages and costs (collectively "Losses") arising\ + from claims, lawsuits and other legal actions brought by a third party\ + against the Indemnified Contributor to the extent caused by the acts\ + or omissions of such Commercial Contributor in connection with its\ + distribution of the Program in a commercial product offering. The\ + obligations in this section do not apply to any claims or Losses\ + relating to any actual or alleged intellectual property infringement.\ + In order to qualify, an Indemnified Contributor must: a) promptly\ + notify the Commercial Contributor in writing of such claim, and b)\ + allow the Commercial Contributor to control, and cooperate with the\ + Commercial Contributor in, the defense and any related settlement\ + negotiations. The Indemnified Contributor may participate in any such\ + claim at its own expense.\ + \ + For example, a Contributor might include the Program in a commercial\ + product offering, Product X. That Contributor is then a Commercial\ + Contributor. If that Commercial Contributor then makes performance\ + claims, or offers warranties related to Product X, those performance\ + claims and warranties are such Commercial Contributor's responsibility\ + alone. Under this section, the Commercial Contributor would have to\ + defend claims against the other Contributors related to those\ + performance claims and warranties, and if a court requires any other\ + Contributor to pay any damages as a result, the Commercial Contributor\ + must pay those damages.\ + \ + 5. NO WARRANTY\ + \ + +\f1 EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS\ + PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\ + KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY\ + WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY\ + OR FITNESS FOR A PARTICULAR PURPOSE +\f0 . Each Recipient is solely\ + responsible for determining the appropriateness of using and\ + distributing the Program and assumes all risks associated with its\ + exercise of rights under this Agreement, including but not limited to\ + the risks and costs of program errors, compliance with applicable\ + laws, damage to or loss of data, programs or equipment, and\ + unavailability or interruption of operations.\ + \ + 6. DISCLAIMER OF LIABILITY\ + \ + +\f1 EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR\ + ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,\ + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING\ + WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF\ + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\ + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR\ + DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED\ + HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\ + +\f2\fs16 \ + +\f0\fs20 7. GENERAL\ + \ + If any provision of this Agreement is invalid or unenforceable under\ + applicable law, it shall not affect the validity or enforceability of\ + the remainder of the terms of this Agreement, and without further\ + action by the parties hereto, such provision shall be reformed to the\ + minimum extent necessary to make such provision valid and enforceable.\ + \ + If Recipient institutes patent litigation against a Contributor with\ + respect to a patent applicable to software (including a cross-claim or\ + counterclaim in a lawsuit), then any patent licenses granted by that\ + Contributor to such Recipient under this Agreement shall terminate as\ + of the date such litigation is filed. In addition, If Recipient\ + institutes patent litigation against any entity (including a\ + cross-claim or counterclaim in a lawsuit) alleging that the Program\ + itself (excluding combinations of the Program with other software or\ + hardware) infringes such Recipient's patent(s), then such Recipient's\ + rights granted under Section 2(b) shall terminate as of the date such\ + litigation is filed.\ + \ + All Recipient's rights under this Agreement shall terminate if it\ + fails to comply with any of the material terms or conditions of this\ + Agreement and does not cure such failure in a reasonable period of\ + time after becoming aware of such noncompliance. If all Recipient's\ + rights under this Agreement terminate, Recipient agrees to cease use\ + and distribution of the Program as soon as reasonably practicable.\ + However, Recipient's obligations under this Agreement and any licenses\ + granted by Recipient relating to the Program shall continue and\ + survive.\ + \ + IBM may publish new versions (including revisions) of this Agreement\ + from time to time. Each new version of the Agreement will be given a\ + distinguishing version number. The Program (including Contributions)\ + may always be distributed subject to the version of the Agreement\ + under which it was received. In addition, after a new version of the\ + Agreement is published, Contributor may elect to distribute the\ + Program (including its Contributions) under the new version. No one\ + other than IBM has the right to modify this Agreement. Except as\ + expressly stated in Sections 2(a) and 2(b) above, Recipient receives\ + no rights or licenses to the intellectual property of any Contributor\ + under this Agreement, whether expressly, by implication, estoppel or\ + otherwise. All rights in the Program not expressly granted under this\ + Agreement are reserved.\ + \ + This Agreement is governed by the laws of the State of New York and\ + the intellectual property laws of the United States of America. No\ + party to this Agreement will bring a legal action under this Agreement\ + more than one year after the cause of action arose. Each party waives\ + its rights to a jury trial in any resulting litigation.\ +} diff --git a/src/packaging/MacOS/Makefile b/src/packaging/MacOS/Makefile new file mode 100644 index 000000000..e4e3a0dcc --- /dev/null +++ b/src/packaging/MacOS/Makefile @@ -0,0 +1,37 @@ +# Copyright (c) 2003 Apple Computer, Inc. All rights reserved. +# +# @APPLE_LICENSE_HEADER_START@ +# +# This file contains Original Code and/or Modifications of Original Code +# as defined in and that are subject to the Apple Public Source License +# Version 2.0 (the 'License'). You may not use this file except in +# compliance with the License. Please obtain a copy of the License at +# http://www.opensource.apple.com/apsl/ and read it before using this +# file. +# +# The Original Code and all software distributed under the License are +# distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER +# EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, +# INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. +# Please see the License for the specific language governing rights and +# limitations under the License. +# +# @APPLE_LICENSE_HEADER_END@ + +# We assume the either we are in src/packaging/MacOS (so ../.. should work +# with #include , or we are in a directory where configure +# was run, so the afs/sysctl.h should be in the include subdirectory +AFSINCLUDE = -I../.. -Iinclude +CFLAGS = -Os $(AFSINCLUDE) $(ARCHFLAGS) +LIBS = -framework Foundation +ALL = afssettings +DIR = $(shell dirname $(MAKEFILE_LIST)) + +all: $(ALL) + +afssettings : $(DIR)/afssettings.m + cc $(CFLAGS) -o $@ $^ $(LIBS) + +clean: + @rm -f $(ALL) diff --git a/src/packaging/MacOS/OpenAFS.Description.plist b/src/packaging/MacOS/OpenAFS.Description.plist new file mode 100644 index 000000000..d7c2cb879 --- /dev/null +++ b/src/packaging/MacOS/OpenAFS.Description.plist @@ -0,0 +1,14 @@ + + + + + IFPkgDescriptionDeleteWarning + + IFPkgDescriptionDescription + Mac OS X version of OpenAFS client and server. + IFPkgDescriptionTitle + OpenAFS + IFPkgDescriptionVersion + 1.2.10 + + diff --git a/src/packaging/MacOS/OpenAFS.Info.plist b/src/packaging/MacOS/OpenAFS.Info.plist new file mode 100644 index 000000000..ce3f0badd --- /dev/null +++ b/src/packaging/MacOS/OpenAFS.Info.plist @@ -0,0 +1,44 @@ + + + + + CFBundleGetInfoString + OpenAFS 1.4.2 + CFBundleIdentifier + org.openafs.OpenAFS.pkg + CFBundleName + OpenAFS + CFBundleShortVersionString + 1.4.2 + IFMajorVersion + 1 + IFMinorVersion + 4 + IFPkgFlagAllowBackRev + + IFPkgFlagAuthorizationAction + RootAuthorization + IFPkgFlagBackgroundAlignment + bottomright + IfPkgFlagBackgroundScaling + proportional + IFPkgFlagDefaultLocation + / + IFPkgFlagInstallFat + + IFPkgFlagIsRequired + + IFPkgFlagRelocatable + + IFPkgFlagRestartAction + NoRestart + IFPkgFlagRootVolumeOnly + + IFPkgFlagUpdateInstalledLanguages + + IFPkgFlagUseUserMask + + IFPkgFormatVersion + 0.10000000149011612 + + diff --git a/src/packaging/MacOS/OpenAFS.info b/src/packaging/MacOS/OpenAFS.info new file mode 100644 index 000000000..83d42b3c3 --- /dev/null +++ b/src/packaging/MacOS/OpenAFS.info @@ -0,0 +1,16 @@ +Title OpenAFS +Version 1.4.2 +Description The OpenAFS distributed filesystem. This package installs an almost-ready-to-run client for OpenAFS. see http://www.openafs.org for more information. +DefaultLocation / +Diskname (null) +DeleteWarning +NeedsAuthorization YES +DisableStop NO +UseUserMask NO +Application NO +Relocatable NO +Required NO +InstallOnly NO +RequiresReboot NO +InstallFat NO +rootVolumeOnly YES diff --git a/src/packaging/MacOS/OpenAFS.post_install b/src/packaging/MacOS/OpenAFS.post_install new file mode 100644 index 000000000..c840b1897 --- /dev/null +++ b/src/packaging/MacOS/OpenAFS.post_install @@ -0,0 +1,97 @@ +#!/bin/sh +# Portions Copyright (c) 2003 Apple Computer, Inc. All rights reserved. +if [ -d /afs -a ! -h /afs ]; then + rmdir /afs +fi +majorvers=`uname -r | sed 's/\..*//'` +if [ $majorvers -ge 7 ]; then + # /Network is now readonly, so put AFS in /afs; make sure /afs is a directory + if [ -e /afs ]; then + if [ -h /afs -o ! -d /afs ]; then + rm -f /afs + mkdir /afs + fi + else + mkdir /afs + fi +else + mkdir -p /Network/afs + if [ ! -h /afs ]; then + ln -s /Network/afs /afs + fi +fi + +cd /var/db/openafs/etc + +if [ ! -f cacheinfo ]; then + cp cacheinfo.sample cacheinfo +fi + +if [ `grep /Network/afs cacheinfo` ]; then + cat cacheinfo |sed s#/Network/afs#/afs# > cacheinfo.new + mv cacheinfo.new cacheinfo +fi + +if [ ! -f ThisCell -a -f ThisCell.sample ]; then + cp ThisCell.sample ThisCell +fi + +if [ ! -f config/afsd.options -a -f config/afsd.options.sample ]; then + cp config/afsd.options.sample config/afsd.options +fi + +# testing case -- upgrading from pre 1.2.7, but .last file exists. +# merge the .save and .last.... +if [ ! -f CellServDB -a -f CellServDB.save -a -f CellServDB.master.last ]; then + cp CellServDB.save CellServDB +fi + +# upgrading between 2 post-1.2.7 releases (or the testing case) +if [ -f CellServDB.master.last ]; then + if cmp -s CellServDB.master.last CellServDB.master ; then + echo No CellServDB updates + done=1 + fi +fi + +# the local changes were included in the update +if [ -z "$done" -a -f CellServDB ]; then + if cmp -s CellServDB CellServDB.master ; then + echo CellServDB is up to date. + cp CellServDB.master CellServDB.master.last + if [ ! -f CellServDB ]; then + cp CellServDB.master CellServDB + fi + done=1 + fi +fi + +if [ -z "$done" ]; then + # there are local changes to be merged + if [ -f CellServDB -a -f CellServDB.master.last ]; then + echo Merging CellServDB entries.... + perl $1/Contents/Resources/csrvdbmerge.pl + echo done + else + # this is a new install, or an upgrade from pre-1.2.7 + echo "Installing new CellServDB" + cp CellServDB.master CellServDB.master.last + if [ ! -f CellServDB ]; then + cp CellServDB.master CellServDB + fi + fi +fi + +if [ $majorvers -ge 7 ]; then + # make config/settings.plist if it doesn't exist + if [ ! -e config/settings.plist -a -e config/settings.plist.orig ]; then + cp config/settings.plist.orig config/settings.plist + fi +elif [ -e config/afssettings ]; then + # turn off execution of afssettings + chmod a-x config/afssettings +fi + +#here we should run tools which configure the client, and then if it's enabled: +/Library/StartupItems/OpenAFS/OpenAFS start + diff --git a/src/packaging/MacOS/OpenAFS.pre_upgrade b/src/packaging/MacOS/OpenAFS.pre_upgrade new file mode 100644 index 000000000..7925519c5 --- /dev/null +++ b/src/packaging/MacOS/OpenAFS.pre_upgrade @@ -0,0 +1,26 @@ +#!/bin/sh + +cd /var/db/openafs/etc +# only do these checks if we're upgrading from a pre-1.2.7 +if [ -f CellServDB -a ! -f CellServDB.master ]; then + CK=`md5 CellServDB | awk '{ print $4 }'` + if grep -q $CK $1/Contents/Resources/CellServDB.list; then + # it matched one of our previously released files + echo Unmodified CellServDB -- not preserving + : + else + if [ ! -f CellServDB.master.last ]; then + echo Modified CellServDB -- saving as /var/db/openafs/etc/CellServDB.save + echo Please re-merge it manually -- this will not be required for future upgrades + fi + cp CellServDB CellServDB.save + fi +fi +if [ -f config/afsd.options -a -f config/afsd.options.sample ]; then + if cmp -s config/afsd.options config/afs.options.sample; then + echo Removing no-longer needed afsd.options file + rm -f config/afsd.options + fi +fi + +/Library/StartupItems/OpenAFS/OpenAFS stop diff --git a/src/packaging/MacOS/ReadMe.rtf b/src/packaging/MacOS/ReadMe.rtf new file mode 100644 index 000000000..120d3a22e --- /dev/null +++ b/src/packaging/MacOS/ReadMe.rtf @@ -0,0 +1,13 @@ +{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf100 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\margl1440\margr1440\vieww9000\viewh9000\viewkind0 +\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural + +\f0\fs20 \cf0 This release of OpenAFS is targeted at MacOS 10.4.x. +\ +Select a client cell name by editing /var/db/openafs/etc/ThisCell\ +\ +The included afssettings program is distributed under the Apple Public Source License, version 2.0. See http://www.opensource.apple.com/apsl/2.0.txt or the included file 2.0.txt.\ +\ +Reboot when all of this is done.} diff --git a/src/packaging/MacOS/Uninstall b/src/packaging/MacOS/Uninstall new file mode 100755 index 000000000..1ca62f7ff --- /dev/null +++ b/src/packaging/MacOS/Uninstall @@ -0,0 +1,397 @@ +#!/usr/bin/perl -w +# real Perl code begins here +# +# Adapted from Apple's uninstall-devtools.pl (Version 7 for Xcode Tools 1.2) +# +# BSD License: c.f. +# + +use strict; +use File::Basename; + +use vars qw ($do_nothing $print_donothing_removals $receipts_dir $verbose $noisy_warnings); +use vars qw ($suppress_spin $spin_counter $spin_state $spin_slower_downer); +use vars qw (%exception_list $gen_dirs @gen_files @rmfiles @rmdirs @rmpkg); + +#---------------------------------------------------------------------------------------- + +$do_nothing = 0; +$print_donothing_removals = 1; +$verbose = 1; +$noisy_warnings = 0; + +# One of rm -rf in this script uses $receipts_dir -- change with care. +$receipts_dir = "/Library/Receipts"; + +%exception_list = ( +# '/usr/bin/aklog', '', +); + +$gen_dirs = { }; +#$gen_dirs->{"/"}->{"Library"}->{"OpenAFS"}->{"Tools"} = {}; + +@gen_files = ( + "/var/db/openafs/etc/cacheinfo", + "/var/db/openafs/etc/ThisCell", + "/var/db/openafs/etc/config/afsd.options", + "/var/db/openafs/etc/CellServDB.save", + "/var/db/openafs/etc/CellServDB.master.last", + "/var/db/openafs/etc/CellServDB", + "/var/db/openafs/etc/config/settings.plist", +); + +#---------------------------------------------------------------------------------------- + +$| = 1; +#if ($do_nothing == 0 && $< != 0) +# { +# die "ERROR: Must be run with root permissions--prefix command with 'sudo'.\n"; +# } + +sub main + { + # commandline args: + # 0: dir of packages to remove + # 1: flag indicating whether to keep package receipts + # 2: flag indicating whether to supress spin indicator + + if (!@ARGV) { + use FindBin qw($Bin); + @ARGV = ("$Bin/..", 0, 0); + } + $suppress_spin = defined ($ARGV[2]) && $ARGV[2]; + + $spin_counter = 0; + $spin_state = 0; + spin_rate_slow (); + + pre_print (); + print "Uninstalling OpenAFS package:\n\n"; + + remove_generated_files (); + remove_main_packages (); + remove_generated_directories (); + + if ($do_nothing == 0) { + my @rmcmd = ('osascript', '-e', "do shell script \"/bin/rm -f @rmfiles; /bin/rmdir @rmdirs; /bin/rm -rf @rmpkg\" with administrator privileges"); + system @rmcmd; + my $retcode = $? >> 8; + if ($retcode != 0) { + print_warning ("Warning: There may have been a problem uninstalling\n"); + } + } + + pre_print (); + print "\nFinished uninstalling.\n"; + } + +sub remove_main_packages + { +# opendir (DIR, $ARGV[0]) or die "ERROR: package directory $ARGV[0] not found\n"; +# my @pkglist = grep /\.pkg$/, readdir DIR; +# closedir DIR; + my @pkglist = ("OpenAFS", + ); + + foreach (@pkglist) + { + s/\.pkg$//; + my $pkgname = $_; + my $pkgname_fullpath = "$receipts_dir/$pkgname.pkg"; + my $pkgname_bom_fullpath = undef; + + next if (! -d "$pkgname_fullpath" ); + + print_verbose ("Removing package $pkgname.pkg\n"); + + my $f = "$pkgname_fullpath/Contents/Resources/$pkgname.bom"; + if (-f $f && -r $f) { + $pkgname_bom_fullpath = $f; + } + + next if (!defined ($pkgname_bom_fullpath)); + + my $bomroot = ""; + open (INFO, "$pkgname_fullpath/Contents/Info.plist") or next; + while () { + m/IFPkgFlagDefaultLocation/ or next; + $bomroot = ; + } + close (INFO); + + $bomroot =~ />(.*)) + { + chomp; + m#^\.(/.*)$#; + next if (!defined ($1) || $1 eq ""); + my $filename = $bomroot . $1; + + remove_a_file ($filename); + } + close (LSBOM); + + my $rooth = { }; + + open (LSBOM, "/usr/bin/lsbom -d -p f '$pkgname_bom_fullpath' |") or next; + while () + { + chomp; + m#^\.(/.*)$#; + next if (!defined ($1) || $1 eq ""); + my $directory = $bomroot . $1; + if (-d $directory) + { + $rooth = add_directory_to_tree ($directory, $rooth); + } + else + { + if ($noisy_warnings) + { + print_warning ("Warning: \"$directory\" listed in BOM but not present on system.\n"); + } + } + } + close (LSBOM); + + spin_rate_fast (); + remove_empty_directories ($rooth, "/"); + + remove_package_receipts ("$pkgname.pkg") if (!defined ($ARGV[1]) || !$ARGV[1]) ; + } + } + +sub remove_generated_files + { + foreach (@gen_files) + { + remove_a_file ($_); + } + } + +sub remove_generated_directories + { + remove_empty_directories ($gen_dirs, "/"); + } + +sub add_directory_to_tree + { + my $dir = shift; + my $rooth = shift; + my $p = $rooth; + + my @pathcomp = split /\//, $dir; + + progress_point (); + foreach (@pathcomp) + { + my $cur_name = $_; + if ($cur_name eq "" || !defined ($cur_name)) + { + $cur_name = "/"; + } + if (!defined ($p->{"$cur_name"})) + { + $p->{$cur_name} = { }; + } + $p = $p->{$cur_name}; + } + return $rooth; + } + +sub remove_empty_directories + { + my $rooth = shift; + my $path = shift; + my $children = (scalar (keys %{$rooth})); + my $dirs_remain = 0; + + if ($children > 0) + { + foreach my $dirname (sort keys %{$rooth}) + { + my $printpath; + $printpath = "$path/$dirname"; + $printpath =~ s#^/*#/#; + remove_empty_directories ($rooth->{$dirname}, "$printpath"); + $dirs_remain = 1 if (-d "$printpath"); + } + } + + if ($dirs_remain == 0) + { + maybe_remove_ds_store ("$path"); + } + + remove_a_dir ("$path"); + } + +sub remove_a_file + { + my $fn = shift; + my $dirname = dirname ($fn); + my $basename = basename ($fn); + my $ufs_rsrc_file = "$dirname/._$basename"; + + progress_point (); + return if (!defined ($fn) || $fn eq ""); + + # Leave any files that are shared between packages alone. + if (defined($exception_list{$fn})) + { + if ($noisy_warnings) + { + print_warning ("Warning: file \"$fn\" intentionally not removed, even though it's in the BOM.\n"); + } + return; + } + + if (! -f $fn && ! -l $fn) + { + if ($noisy_warnings) + { + print_warning ("Warning: file \"$fn\" present in BOM but not found on disc.\n"); + } + return; + } + + if ($do_nothing == 1) + { + print_donothing ("rm $fn\n"); + print_donothing ("rm $ufs_rsrc_file\n") if ( -f $ufs_rsrc_file); + } + else + { + unshift(@rmfiles, "$fn"); + unshift(@rmfiles, "$fn") if ( -f $ufs_rsrc_file); + } + } + +sub remove_a_dir + { + my $dir = shift; + + progress_point (); + return if (!defined ($dir) || $dir eq "" || $dir eq "/" || $dir eq "/usr"); + if (! -d $dir) + { + if ($noisy_warnings) + { + print_warning ("Warning: directory \"$dir\" present in BOM but not found on disc.\n"); + } + return; + } + + if ($do_nothing == 1) + { + print_donothing ("rmdir $dir\n"); + } + else + { + push(@rmdirs, "$dir"); + } + } + +sub remove_package_receipts + { + my $pkgname = shift; + $pkgname =~ s#/##g; # There shouldn't be any path seps in the pkg name... + return if (!defined ($pkgname) || $pkgname eq "" + || $pkgname eq "." || $pkgname eq ".."); + + my $pkgdir = "$receipts_dir/$pkgname"; + return if (!defined ($pkgdir) || $pkgdir eq "" || ! -d $pkgdir); + + push(@rmpkg, "$pkgdir"); + } + + +sub maybe_remove_ds_store + { + my $path = shift; + my $filecount = 0; + return if (!defined ($path) || $path eq "" || $path eq "/" || $path eq "/usr"); + return if (! -f "$path/.DS_Store"); + + open (LS, "/bin/ls -a '$path' |"); + while () + { + chomp; + next if (m#^\.$# || m#^\.\.$#); + $filecount++; + } + close (LS); + + if ($filecount == 1 && -f "$path/.DS_Store") + { + remove_a_file ("$path/.DS_Store"); + } + } + +sub print_donothing + { + my $msg = shift; + return if ($print_donothing_removals != 1); + pre_print (); + print $msg; + } + +sub print_verbose + { + my $msg = shift; + return if ($verbose != 1); + pre_print (); + print $msg; + } + +sub print_warning + { + my $msg = shift; + pre_print (); + print STDERR $msg; + } + +sub print_error + { + my $msg = shift; + pre_print (); + print STDERR $msg; + } + +sub pre_print + { + print " " unless ($suppress_spin); + } + +sub spin_rate_slow + { + $spin_slower_downer = 150; + } + +sub spin_rate_fast + { + $spin_slower_downer = 75; + } + +sub progress_point + { + return if ($suppress_spin); + $spin_counter++; + if (($spin_counter % $spin_slower_downer) == 0) + { + my $spin_chars = "|/-\\"; + my $c = substr ($spin_chars, $spin_state % 4, 1); + $spin_state++; + print "$c"; + } + } + +main (); + +#---------------------------------------------------------------------------------------- diff --git a/src/packaging/MacOS/afslogo.jpg b/src/packaging/MacOS/afslogo.jpg new file mode 100644 index 000000000..09af94217 Binary files /dev/null and b/src/packaging/MacOS/afslogo.jpg differ diff --git a/src/packaging/MacOS/afssettings.m b/src/packaging/MacOS/afssettings.m new file mode 100644 index 000000000..f6f10886d --- /dev/null +++ b/src/packaging/MacOS/afssettings.m @@ -0,0 +1,173 @@ +/* + * Copyright (c) 2003, 2006 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +#import +#import +#import +#import +#import +#import +#import + +enum Type { + TypeNode = 0, + TypeNum, + TypeStr +}; + +typedef struct _setting { + NSString *key; + int selector; + enum Type type; + struct _setting *children; +} Setting; + +Setting s_darwin_all[] = { + {@"RealModes", AFS_SC_DARWIN_ALL_REALMODES, TypeNum, NULL}, + {NULL, 0, 0, NULL} +}; +Setting s_darwin[] = { + {@"All", AFS_SC_DARWIN_ALL, TypeNode, s_darwin_all}, + {@"Darwin12", AFS_SC_DARWIN_12, TypeNode, NULL}, + {@"Darwin13", AFS_SC_DARWIN_13, TypeNode, NULL}, + {@"Darwin14", AFS_SC_DARWIN_14, TypeNode, NULL}, + {@"Darwin60", AFS_SC_DARWIN_60, TypeNode, NULL}, + {@"Darwin70", AFS_SC_DARWIN_70, TypeNode, NULL}, + {@"Darwin80", AFS_SC_DARWIN_80, TypeNode, NULL}, + {@"Darwin90", AFS_SC_DARWIN_90, TypeNode, NULL}, + {NULL, 0, 0, NULL} +}; +Setting s_first[] = { + {@"All", AFS_SC_ALL, TypeNode, NULL}, + {@"Darwin", AFS_SC_DARWIN, TypeNode, s_darwin}, + {NULL, 0, 0, NULL} +}; +Setting s_top = {NULL, -1, TypeNode, s_first}; + +int oid[CTL_MAXNAME] = {CTL_VFS}; +NSString *path = @"/var/db/openafs/etc/config/settings.plist"; + +char *oidString(int *oid, int len); +void init(void); +void walk(id obj, Setting *s, int level); + +void +init(void) +{ + int oidmax[] = {CTL_VFS, VFS_GENERIC, VFS_MAXTYPENUM}; + int oidvfs[] = {CTL_VFS, VFS_GENERIC, VFS_CONF, 0}; + int max; + struct vfsconf conf; + size_t len; + int i; + + len = sizeof(max); + if(sysctl(oidmax, 3, &max, &len, NULL, 0) < 0) + err(1, "sysctl VFS_MAXTYPENUM"); + for(i = max; --i >= 0; ) { + oidvfs[3] = i; + len = sizeof(conf); + if(sysctl(oidvfs, 4, &conf, &len, NULL, 0) < 0) + continue; + if(strcmp("afs", conf.vfc_name) == 0) { + s_top.selector = conf.vfc_typenum; + break; + } + } + if(s_top.selector < 0) + errx(1, "AFS is not loaded"); +} + +char * +oidString(int *oid, int len) +{ + static char buf[256]; + char *cp = buf; + + for(;;) { + sprintf(cp, "%d", *oid++); + if(--len <= 0) + break; + cp += strlen(cp); + *cp++ = '.'; + } + return buf; +} + +void +walk(id obj, Setting *s, int level) +{ + Setting *child; + id newobj; + int intval; + const char *cp; + int level1 = level + 1; + + oid[level] = s->selector; + switch(s->type) { + case TypeNode: + for(child = s->children; child->key; child++) { + if(child->type == TypeNode && !child->children) + continue; + newobj = [obj objectForKey: child->key]; + if(newobj) + walk(newobj, child, level1); + } + break; + case TypeNum: + intval = [obj intValue]; + if(sysctl(oid, level1, NULL, NULL, &intval, sizeof(intval)) < 0) + err(1, "sysctl %s => %d", oidString(oid, level1), intval); + break; + case TypeStr: + cp = [obj UTF8String]; + if(sysctl(oid, level1, NULL, NULL, (void *)cp, strlen(cp)) < 0) + err(1, "sysctl %s => %s", oidString(oid, level1), cp); + break; + } +} + +main() +{ + NSData *plistData; + id plist; + NSString *error; + NSPropertyListFormat format; + NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; + + init(); + plistData = [NSData dataWithContentsOfFile: path]; + if(plistData) { + plist = [NSPropertyListSerialization propertyListFromData: plistData + mutabilityOption: NSPropertyListImmutable + format: &format + errorDescription: &error + ]; + if(plist) + walk(plist, &s_top, 1); + else + errx(1, "%s: %s", [path UTF8String], [error UTF8String]); + } + + [pool release]; + return 0; +} diff --git a/src/packaging/MacOS/background.jpg b/src/packaging/MacOS/background.jpg new file mode 100644 index 000000000..9c5374f38 Binary files /dev/null and b/src/packaging/MacOS/background.jpg differ diff --git a/src/packaging/MacOS/buildpkg.sh b/src/packaging/MacOS/buildpkg.sh new file mode 100644 index 000000000..c05dfb979 --- /dev/null +++ b/src/packaging/MacOS/buildpkg.sh @@ -0,0 +1,228 @@ +#!/bin/sh +# Portions Copyright (c) 2003, 2006 Apple Computer, Inc. All rights reserved. + +if [ -z "$1" ]; then + echo Usage: buildpkg binary-dir + echo ' or' + echo 'Usage: buildpkg [-firstpass] binary-dir' + echo ' (customize pkgroot)' + echo ' buildpkg [-secondpass]' + exit 1 +fi + +firstpass=yes +secondpass=yes +if [ "$1" = "-firstpass" ]; then + secondpass=no + shift +elif [ "$1" = "-secondpass" ]; then + firstpass=no + shift +fi + +BINDEST=`cd $1 && pwd` +CURDIR=`pwd` +RESSRC=`dirname $0` +RESSRC=`cd $RESSRC && pwd` +majorvers=`uname -r | sed 's/\..*//'` + +PKGROOT=$CURDIR/pkgroot +PKGRES=$CURDIR/pkgres +if [ $majorvers -ge 7 ]; then + SEP=: + package=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker + if [ ! -x $package ]; then + echo "PackageMaker does not exist. Please run this script on a MacOS X system" + echo "with the DeveloperTools package installed" + exit 1 + fi +else + SEP=. + package=/usr/bin/package + if [ ! -f $package ]; then + echo "$package does not exist. Please run this script on a MacOS X system" + echo "with the BSD subsystem installed" + exit 1 + fi + if grep -q 'set resDir = ""' $package ; then + echo $package is buggy. + echo remove the line \''set resDir = ""'\' from $package and try again + exit 1 + fi +fi + +if [ $firstpass = yes ]; then + if [ -x /usr/bin/curl ]; then + /usr/bin/curl -f -O http://dl.central.org/dl/cellservdb/CellServDB + fi + + if [ ! -f CellServDB ]; then + echo "A CellServDB file must be placed in the working directory" + die=1 + else + if grep -q 'GCO Public CellServDB' CellServDB ; then + touch CellServDB + else + echo "A proper CellServDB file must be placed in the working directory" + die=1 + fi + fi + FILES="ReadMe.rtf License.rtf CellServDB.list OpenAFS.info OpenAFS.post_install OpenAFS.pre_upgrade csrvdbmerge.pl 2.0.txt" + for f in $FILES; do + if [ ! -f $RESSRC/$f ]; then + echo "file missing: " $RESSRC/$f + die=1 + fi + done + if [ "$die" ]; then + echo "Correct above errors; then retry" + exit 1 + fi + if [ ! -f $BINDEST/bin/translate_et ]; then + die=1 + fi + if [ ! -f $BINDEST/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs ]; then + die=1 + fi + if [ "$die" ]; then + echo $BINDEST " is not a valid binary dir. it should be the result of" + echo "make dest" + exit 1 + fi + + rm -rf $PKGROOT + mkdir $PKGROOT + + mkdir -p $PKGROOT/Library + chown root${SEP}admin $PKGROOT + chmod 775 $PKGROOT $PKGROOT/Library + mkdir -p $PKGROOT/Library/OpenAFS/Tools + (cd $BINDEST && pax -rw * $PKGROOT/Library/OpenAFS/Tools) + cd $RESSRC + mkdir -p $PKGROOT/Library/StartupItems/OpenAFS + cp $BINDEST/root.client/usr/vice/etc/afs.rc $PKGROOT/Library/StartupItems/OpenAFS/OpenAFS + chmod a+x $PKGROOT/Library/StartupItems/OpenAFS/OpenAFS + cp $BINDEST/root.client/usr/vice/etc/StartupParameters.plist $PKGROOT/Library/StartupItems/OpenAFS/StartupParameters.plist + chown -R root${SEP}admin $PKGROOT/Library + chmod -R o-w $PKGROOT/Library + chmod -R g+w $PKGROOT/Library + chown -R root${SEP}wheel $PKGROOT/Library/StartupItems + chmod -R og-w $PKGROOT/Library/StartupItems + chown -R root${SEP}wheel $PKGROOT/Library/OpenAFS/Tools + chmod -R og-w $PKGROOT/Library/OpenAFS/Tools + + mkdir -p $PKGROOT/private/var/db/openafs/cache + mkdir -p $PKGROOT/private/var/db/openafs/etc/config + cp $CURDIR/CellServDB $PKGROOT/private/var/db/openafs/etc/CellServDB.master + echo openafs.org > $PKGROOT/private/var/db/openafs/etc/ThisCell.sample + if [ $majorvers -ge 7 ]; then + echo /afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample + cp -RP $PKGROOT/Library/OpenAFS/Tools/etc/afssettings $PKGROOT/private/var/db/openafs/etc/config + cp settings.plist $PKGROOT/private/var/db/openafs/etc/config/settings.plist.orig + else + echo /Network/afs:/var/db/openafs/cache:30000 > $PKGROOT/private/var/db/openafs/etc/cacheinfo.sample + fi + echo '-afsdb -stat 2000 -dcache 800 -daemons 3 -volumes 70 -dynroot -fakestat-all' > $PKGROOT/private/var/db/openafs/etc/config/afsd.options.sample + + strip -X -S $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs + + cp -RP $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/afs.kext $PKGROOT/private/var/db/openafs/etc + cp -RP $PKGROOT/Library/OpenAFS/Tools/root.client/usr/vice/etc/C $PKGROOT/private/var/db/openafs/etc + + chown -R root${SEP}wheel $PKGROOT/private + chmod -R og-w $PKGROOT/private + chmod og-rx $PKGROOT/private/var/db/openafs/cache + + mkdir -p $PKGROOT/usr/bin $PKGROOT/usr/sbin + + BINLIST="fs klog klog.krb pagsh pagsh.krb pts sys tokens tokens.krb unlog unlog.krb aklog" + ETCLIST="vos" + +# Should these be linked into /usr too? + OTHER_BINLIST="bos cmdebug rxgen translate_et udebug xstat_cm_test xstat_fs_test" + OTHER_ETCLIST="rxdebug" + + for f in $BINLIST; do + ln -s ../../Library/OpenAFS/Tools/bin/$f $PKGROOT/usr/bin/$f + done + for f in $ETCLIST; do + ln -s ../../Library/OpenAFS/Tools/etc/$f $PKGROOT/usr/sbin/$f + done + + ln -s ../../Library/OpenAFS/Tools/bin/kpasswd $PKGROOT/usr/bin/kpasswd.afs + + ln -s ../../Library/OpenAFS/Tools/root.client/usr/vice/etc/afsd $PKGROOT/usr/sbin/afsd + +# mkdir -p $PKGROOT/Library/Kerberos\ Plug-Ins +# ln -s ../../Library/OpenAFS/Tools/root.client/Library/Kerberos\ Plug-Ins/aklog.loginLogout $PKGROOT/Library/Kerberos\ Plug-Ins/ + + chown -R root${SEP}wheel $PKGROOT/usr + chmod -R og-w $PKGROOT/usr +fi + +if [ $secondpass = yes ]; then + rm -rf $PKGRES + mkdir $PKGRES + + cd $RESSRC + if [ $majorvers -ge 7 ]; then + cp OpenAFS.post_install $PKGRES/postinstall + cp OpenAFS.pre_upgrade $PKGRES/preupgrade + cp OpenAFS.post_install $PKGRES/postupgrade + cp background.jpg $PKGRES/background.jpg + if [ $majorvers -ge 8 ]; then + cp InstallationCheck $PKGRES + mkdir -p $PKGRES/English.lproj + cp InstallationCheck $PKGRES/English.lproj + chmod a+x $PKGRES/InstallationCheck + fi + chmod a+x $PKGRES/postinstall $PKGRES/postupgrade $PKGRES/preupgrade + else + cp OpenAFS.post_install OpenAFS.pre_upgrade $PKGRES + cp OpenAFS.post_install $PKGRES/OpenAFS.post_upgrade + chmod a+x $PKGRES/OpenAFS.post_install $PKGRES/OpenAFS.post_upgrade $PKGRES/OpenAFS.pre_upgrade + fi + cp License.rtf ReadMe.rtf $PKGRES + cp csrvdbmerge.pl $PKGRES + chmod a+x $PKGRES/csrvdbmerge.pl + cp CellServDB.list $PKGRES + chown -R root${SEP}wheel $PKGRES + rm -rf $CURDIR/OpenAFS.pkg + if [ $majorvers -ge 7 ]; then + echo $package -build -p $CURDIR/OpenAFS.pkg -f $PKGROOT -r $PKGRES \ + -i OpenAFS.Info.plist -d OpenAFS.Description.plist + $package -build -p $CURDIR/OpenAFS.pkg -f $PKGROOT -r $PKGRES \ + -i OpenAFS.Info.plist -d OpenAFS.Description.plist + else + echo $package $PKGROOT $RESSRC/OpenAFS.info -r $PKGRES + (cd $CURDIR && $package $PKGROOT $RESSRC/OpenAFS.info -r $PKGRES) + #old versions of package didn't handle this properly + if [ ! -r $CURDIR/OpenAFS.pkg/Contents ]; then + mkdir -p $CURDIR/OpenAFS.pkg/Contents/Resources + mv $CURDIR/OpenAFS.pkg/OpenAFS.* $CURDIR/OpenAFS.pkg/Contents/Resources + mv $CURDIR/OpenAFS.pkg/*.rtf $CURDIR/OpenAFS.pkg/Contents/Resources + mv $CURDIR/OpenAFS.pkg/csrvdbmerge.pl $CURDIR/OpenAFS.pkg/Contents/Resources + mv $CURDIR/OpenAFS.pkg/CellServDB* $CURDIR/OpenAFS.pkg/Contents/Resources + fi + fi + + rm -rf $PKGROOT $PKGRES + mkdir $CURDIR/dmg + mv $CURDIR/OpenAFS.pkg $CURDIR/dmg + rm -rf $CURDIR/OpenAFS.dmg + cp Uninstall $CURDIR/dmg/Uninstall.command + cp DS_Store $CURDIR/dmg/.DS_Store + mkdir $CURDIR/dmg/.background + cp afslogo.jpg $CURDIR/dmg/.background +# hdiutil create -srcfolder $CURDIR/dmg -volname OpenAFS -anyowners $CURDIR/OpenAFS.dmg + hdiutil makehybrid -hfs -hfs-volume-name OpenAFS -hfs-openfolder $CURDIR/dmg $CURDIR/dmg -o $CURDIR/TMP.dmg + hdiutil convert -format UDZO TMP.dmg -o $CURDIR/OpenAFS.dmg + rm $CURDIR/TMP.dmg + rm -rf $CURDIR/dmg + # Unfortunately, sudo sets $USER to root, so I can't chown the + #.pkg dir back to myself + #chown -R $USER $CURDIR/OpenAFS.pkg +else + echo "First pass completed. Customize pkgroot and then run:" + echo " $0 -secondpass" +fi diff --git a/src/packaging/MacOS/csrvdbmerge.pl b/src/packaging/MacOS/csrvdbmerge.pl new file mode 100644 index 000000000..25426eaa6 --- /dev/null +++ b/src/packaging/MacOS/csrvdbmerge.pl @@ -0,0 +1,91 @@ +#!/usr/bin/perl +# CellServDB merging script +# only tested on darwin systems + +use File::Copy; +use IO::File; +use Fcntl; +use strict; + + +sub doit { + my ($cur,$in,$last,$new); + my ($line, $oline, $cell, $pos, $which); + my %cellstat; + + $cur=new IO::File ')) { + if ($line =~ /^>([-a-zA-Z0-9\._]+)\s/) { + if ($cell) { + $oline=<$last>; + if ($oline && $oline !~ /^>/) { # fewer servers in user's file than master + $cellstat{$cell} = 1; + } + } + $cell=$1; + $cellstat{$cell}=2; + # start at the beginning of the old file, and find $cell + $last->seek(0,SEEK_SET); + while (<$last>) { + if (/>$cell\s/) { # note that we don't compare the cell comments + $cellstat{$cell}=0; + last; + } + } + next; + } + if (! $cell) { + die "First CellServDB line isn't a cell\n"; + } + next if ($cellstat{$cell} == 2); # cell only in local CellServDB + next if ($cellstat{$cell} == 1); # already found a local change + $oline=<$last>; + if ($oline =~ /^>/) { # more servers in user's file than master + $last->setpos($pos); + $cellstat{$cell} = 1; + next; + } + next if ($line eq $oline); + $cellstat{$cell} = 1; + } + close($last); + $cur->seek(0,SEEK_SET); + $cur=new IO::File 'CellServDB.NEW' or die "Cannot create output CellServDB: $!\n"; + while (defined($line=<$cur>)) { + if ($line =~ /^>([-a-zA-Z0-9\._]+)\s/) { + $cell=$1; + $which=$cellstat{$cell}; + unless ($which) { + $in->seek(0,SEEK_SET); + while (<$in>) { + if (/>$cell\s/) { + last; + } + } + if (defined($_)) { + print $new $_; + while (defined($line=<$in>) && $line !~ /^>/) { + print $new $line; + } + } + } + } + if (! $cell) { + die "First CellServDB line isn't a cell\n"; + } + if ($which) { + print $new $line; + } + } + close($in); + close($cur); + close($new); + rename('CellServDB.NEW', 'CellServDB'); + copy('CellServDB.master', 'CellServDB.master.last'); +} + +doit; diff --git a/src/packaging/MacOS/settings.plist b/src/packaging/MacOS/settings.plist new file mode 100644 index 000000000..36e897728 --- /dev/null +++ b/src/packaging/MacOS/settings.plist @@ -0,0 +1,14 @@ + + + + + Darwin + + All + + RealModes + + + + + diff --git a/src/packaging/MacOS/universal.sh b/src/packaging/MacOS/universal.sh new file mode 100755 index 000000000..5eeb22771 --- /dev/null +++ b/src/packaging/MacOS/universal.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +if [ -z "$1" ]; then + echo Usage: universal topdir + exit 1 +fi + +BINDEST=`cd $1 && pwd` +CURDIR=`pwd` +majorvers=`uname -r | sed 's/\..*//'` + +DIRLIST="root.server/usr/afs/bin bin etc lib root.client/usr/vice/etc/afsd root.client/usr/vice/etc/afs.kext/Contents/MacOS/afs" +mkdir $CURDIR/u_darwin_80 + +(cd $BINDEST/ppc_darwin_80; tar cf - .)|(cd $CURDIR/u_darwin_80; tar xf -) +(cd $BINDEST/x86_darwin_80; tar cf - .)|(cd $CURDIR/u_darwin_80; tar xf -) + +for d in $DIRLIST; do + for f in `cd $CURDIR/u_darwin_80/dest && find $d -type f -print`; do + /bin/rm -f $CURDIR/u_darwin_80/dest/$f + lipo $BINDEST/ppc_darwin_80/dest/$f $BINDEST/x86_darwin_80/dest/$f -create -output $CURDIR/u_darwin_80/dest/$f + done +done diff --git a/src/pam/afs_util.c b/src/pam/afs_util.c index 3f0513e3f..b9c1fefcb 100644 --- a/src/pam/afs_util.c +++ b/src/pam/afs_util.c @@ -25,12 +25,9 @@ #endif #endif #include -#ifdef AFS_AIX51_ENV -#include -#endif RCSID - ("$Header: /cvs/openafs/src/pam/afs_util.c,v 1.12.2.2 2006/07/20 23:35:44 shadow Exp $"); + ("$Header: /cvs/openafs/src/pam/afs_util.c,v 1.12.2.4 2006/10/10 03:23:39 shadow Exp $"); #include "afs_util.h" @@ -183,13 +180,6 @@ do_klog(const char *user, const char *password, const char *lifetime, static afs_int32 curpag(void) { -#if defined(AFS_AIX51_ENV) - afs_int32 pag; - - if (get_pag(PAG_AFS, &pag) < 0 || pag == 0) - pag = NOPAG; - return pag; -#else gid_t groups[NGROUPS_MAX]; afs_uint32 g0, g1; afs_uint32 h, l, ret; @@ -213,7 +203,6 @@ curpag(void) return -1; } return -1; -#endif } /* Returns the AFS pag number, if any, otherwise return -1 */ diff --git a/src/platform/DARWIN/Makefile.in b/src/platform/DARWIN/Makefile.in new file mode 100644 index 000000000..66af0801f --- /dev/null +++ b/src/platform/DARWIN/Makefile.in @@ -0,0 +1,30 @@ +# Copyright 2000, International Business Machines Corporation and others. +# All Rights Reserved. +# +# This software has been released under the terms of the IBM Public +# License. For details, see the LICENSE file in the top-level source +# directory or online at http://www.openafs.org/dl/license10.html + +srcdir=@srcdir@ +include @TOP_OBJDIR@/src/config/Makefile.config +include ../../config/Makefile.version + +all: afssettings + +afssettings: afssettings.m + ${CC} ${CFLAGS} -o afssettings afssettings.m -framework Foundation + +install: \ + ${DESTDIR}${sbindir}/afssettings + +dest: \ + ${DEST}/etc/afssettings + +${DESTDIR}${sbindir}/afssettings: afssettings + ${INSTALL} -s $? $@ + +${DEST}/etc/afssettings: afssettings + ${INSTALL} -s $? $@ + +clean: + $(RM) -f *.o core afssettings AFS_component_version_number.c diff --git a/src/platform/DARWIN/afssettings.m b/src/platform/DARWIN/afssettings.m new file mode 100644 index 000000000..f6f10886d --- /dev/null +++ b/src/platform/DARWIN/afssettings.m @@ -0,0 +1,173 @@ +/* + * Copyright (c) 2003, 2006 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +#import +#import +#import +#import +#import +#import +#import + +enum Type { + TypeNode = 0, + TypeNum, + TypeStr +}; + +typedef struct _setting { + NSString *key; + int selector; + enum Type type; + struct _setting *children; +} Setting; + +Setting s_darwin_all[] = { + {@"RealModes", AFS_SC_DARWIN_ALL_REALMODES, TypeNum, NULL}, + {NULL, 0, 0, NULL} +}; +Setting s_darwin[] = { + {@"All", AFS_SC_DARWIN_ALL, TypeNode, s_darwin_all}, + {@"Darwin12", AFS_SC_DARWIN_12, TypeNode, NULL}, + {@"Darwin13", AFS_SC_DARWIN_13, TypeNode, NULL}, + {@"Darwin14", AFS_SC_DARWIN_14, TypeNode, NULL}, + {@"Darwin60", AFS_SC_DARWIN_60, TypeNode, NULL}, + {@"Darwin70", AFS_SC_DARWIN_70, TypeNode, NULL}, + {@"Darwin80", AFS_SC_DARWIN_80, TypeNode, NULL}, + {@"Darwin90", AFS_SC_DARWIN_90, TypeNode, NULL}, + {NULL, 0, 0, NULL} +}; +Setting s_first[] = { + {@"All", AFS_SC_ALL, TypeNode, NULL}, + {@"Darwin", AFS_SC_DARWIN, TypeNode, s_darwin}, + {NULL, 0, 0, NULL} +}; +Setting s_top = {NULL, -1, TypeNode, s_first}; + +int oid[CTL_MAXNAME] = {CTL_VFS}; +NSString *path = @"/var/db/openafs/etc/config/settings.plist"; + +char *oidString(int *oid, int len); +void init(void); +void walk(id obj, Setting *s, int level); + +void +init(void) +{ + int oidmax[] = {CTL_VFS, VFS_GENERIC, VFS_MAXTYPENUM}; + int oidvfs[] = {CTL_VFS, VFS_GENERIC, VFS_CONF, 0}; + int max; + struct vfsconf conf; + size_t len; + int i; + + len = sizeof(max); + if(sysctl(oidmax, 3, &max, &len, NULL, 0) < 0) + err(1, "sysctl VFS_MAXTYPENUM"); + for(i = max; --i >= 0; ) { + oidvfs[3] = i; + len = sizeof(conf); + if(sysctl(oidvfs, 4, &conf, &len, NULL, 0) < 0) + continue; + if(strcmp("afs", conf.vfc_name) == 0) { + s_top.selector = conf.vfc_typenum; + break; + } + } + if(s_top.selector < 0) + errx(1, "AFS is not loaded"); +} + +char * +oidString(int *oid, int len) +{ + static char buf[256]; + char *cp = buf; + + for(;;) { + sprintf(cp, "%d", *oid++); + if(--len <= 0) + break; + cp += strlen(cp); + *cp++ = '.'; + } + return buf; +} + +void +walk(id obj, Setting *s, int level) +{ + Setting *child; + id newobj; + int intval; + const char *cp; + int level1 = level + 1; + + oid[level] = s->selector; + switch(s->type) { + case TypeNode: + for(child = s->children; child->key; child++) { + if(child->type == TypeNode && !child->children) + continue; + newobj = [obj objectForKey: child->key]; + if(newobj) + walk(newobj, child, level1); + } + break; + case TypeNum: + intval = [obj intValue]; + if(sysctl(oid, level1, NULL, NULL, &intval, sizeof(intval)) < 0) + err(1, "sysctl %s => %d", oidString(oid, level1), intval); + break; + case TypeStr: + cp = [obj UTF8String]; + if(sysctl(oid, level1, NULL, NULL, (void *)cp, strlen(cp)) < 0) + err(1, "sysctl %s => %s", oidString(oid, level1), cp); + break; + } +} + +main() +{ + NSData *plistData; + id plist; + NSString *error; + NSPropertyListFormat format; + NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; + + init(); + plistData = [NSData dataWithContentsOfFile: path]; + if(plistData) { + plist = [NSPropertyListSerialization propertyListFromData: plistData + mutabilityOption: NSPropertyListImmutable + format: &format + errorDescription: &error + ]; + if(plist) + walk(plist, &s_top, 1); + else + errx(1, "%s: %s", [path UTF8String], [error UTF8String]); + } + + [pool release]; + return 0; +} diff --git a/src/ptserver/ptuser.c b/src/ptserver/ptuser.c index bbea98d4e..08536e57e 100644 --- a/src/ptserver/ptuser.c +++ b/src/ptserver/ptuser.c @@ -15,7 +15,7 @@ #endif RCSID - ("$Header: /cvs/openafs/src/ptserver/ptuser.c,v 1.16.2.10 2006/09/16 19:40:52 shadow Exp $"); + ("$Header: /cvs/openafs/src/ptserver/ptuser.c,v 1.16.2.12 2006/10/13 12:46:02 shadow Exp $"); #if defined(UKERNEL) #include "afs/sysincludes.h" @@ -625,7 +625,6 @@ pr_CheckEntryByName(char *name, afs_int32 *id, char *owner, char *creator) if (*id == ANONYMOUSID) return PRNOENT; code = ubik_PR_ListEntry(pruclient, 0, *id, &aentry); - //code = ubik_PR_ListEntry(pruclient, 0, *id, &aentry); if (code) return code; /* this should be done in one RPC, but I'm lazy. */ @@ -682,7 +681,7 @@ pr_ChangeEntry(char *oldname, char *newname, afs_int32 *newid, char *newowner) if (oid == ANONYMOUSID) return PRNOENT; } - code = ubik_PR_ChangeEntry(pruclient, 0, id, newname, oid, newid); + code = ubik_PR_ChangeEntry(pruclient, 0, id, newname, oid, *newid); return code; } diff --git a/src/rx/rx_getaddr.c b/src/rx/rx_getaddr.c index c8bc41cc7..e9b567c06 100644 --- a/src/rx/rx_getaddr.c +++ b/src/rx/rx_getaddr.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/rx/rx_getaddr.c,v 1.15.2.12 2006/06/15 15:13:33 shadow Exp $"); + ("$Header: /cvs/openafs/src/rx/rx_getaddr.c,v 1.15.2.13 2006/10/11 11:29:02 jaltman Exp $"); #ifndef AFS_DJGPP_ENV #ifndef KERNEL @@ -301,7 +301,7 @@ rxi_getAllAddrMaskMtu(afs_int32 addrBuffer[], afs_int32 maskBuffer[], maskBuffer[count] = a->sin_addr.s_addr; else maskBuffer[count] = htonl(0xffffffff); - memset(&ifr, sizeof(ifr), 0); + memset(&ifr, 0, sizeof(ifr)); ifr.ifr_addr.sa_family = AF_INET; strncpy(ifr.ifr_name, sdl->sdl_data, sdl->sdl_nlen); if (ioctl(s, SIOCGIFMTU, (caddr_t) & ifr) < 0) diff --git a/src/sys/pagsh.c b/src/sys/pagsh.c index 8bf41fa60..d0343657e 100644 --- a/src/sys/pagsh.c +++ b/src/sys/pagsh.c @@ -11,13 +11,10 @@ #include RCSID - ("$Header: /cvs/openafs/src/sys/pagsh.c,v 1.9.2.2 2006/07/20 23:35:44 shadow Exp $"); + ("$Header: /cvs/openafs/src/sys/pagsh.c,v 1.9.2.3 2006/10/06 12:44:43 shadow Exp $"); #ifdef AFS_AIX32_ENV #include -#ifdef AFS_AIX51_ENV -#include -#endif #endif #include #include @@ -89,13 +86,6 @@ main(int argc, char *argv[]) static afs_uint32 curpag(void) { -#if defined(AFS_AIX51_ENV) - afs_int32 pag; - - if (get_pag(PAG_AFS, &pag) < 0 || pag == 0) - pag = -1; - return pag; -#else afs_uint32 groups[NGROUPS_MAX]; afs_uint32 g0, g1; afs_uint32 h, l, ret; @@ -119,7 +109,6 @@ curpag(void) return -1; } return -1; -#endif } int diff --git a/src/viced/afsfileprocs.c b/src/viced/afsfileprocs.c index 92d127d14..3972d9df0 100644 --- a/src/viced/afsfileprocs.c +++ b/src/viced/afsfileprocs.c @@ -29,7 +29,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.81.2.36 2006/09/14 23:59:36 shadow Exp $"); + ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.81.2.37 2006/09/26 02:13:17 shadow Exp $"); #include #include @@ -1213,11 +1213,7 @@ CopyOnWrite(Vnode * targetptr, Volume * volptr) ("CopyOnWrite failed: volume %u in partition %s (tried reading %u, read %u, wrote %u, errno %u) volume needs salvage\n", V_id(volptr), volptr->partition->name, length, rdlen, wrlen, errno)); -#ifdef FAST_RESTART /* if running in no-salvage, don't core the server */ ViceLog(0, ("CopyOnWrite failed: taking volume offline\n")); -#else /* Avoid further corruption and try to get a core. */ - assert(0); -#endif /* Decrement this inode so salvager doesn't find it. */ FDH_REALLYCLOSE(newFdP); IH_RELEASE(newH); diff --git a/src/vol/clone.c b/src/vol/clone.c index 0cf9bed32..a4cb3e1f3 100644 --- a/src/vol/clone.c +++ b/src/vol/clone.c @@ -19,7 +19,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/vol/clone.c,v 1.17.2.1 2004/08/25 07:14:19 shadow Exp $"); + ("$Header: /cvs/openafs/src/vol/clone.c,v 1.17.2.4 2006/10/06 12:33:57 shadow Exp $"); #include #include @@ -256,7 +256,8 @@ DoCloneIndex(Volume * rwvp, Volume * clvp, VnodeClass class, int reclone) Log("IH_INC failed: %x, %s, %u errno %d\n", V_linkHandle(rwvp), PrintInode(NULL, rwinode), V_parentId(rwvp), errno); - assert(0); + VForceOffline_r(rwvp); + ERROR_EXIT(EIO); } inodeinced = 1; } @@ -308,7 +309,8 @@ DoCloneIndex(Volume * rwvp, Volume * clvp, VnodeClass class, int reclone) Log("IH_DEC failed: %x, %s, %u errno %d\n", V_linkHandle(rwvp), PrintInode(NULL, rwinode), V_parentId(rwvp), errno); - assert(0); + VForceOffline_r(rwvp); + ERROR_EXIT(EIO); } } /* And if the directory was marked clone, unmark it */ diff --git a/src/volser/dumpstuff.c b/src/volser/dumpstuff.c index bf7bdcb69..870ab2bad 100644 --- a/src/volser/dumpstuff.c +++ b/src/volser/dumpstuff.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/volser/dumpstuff.c,v 1.25.2.4 2006/07/14 19:24:06 shadow Exp $"); + ("$Header: /cvs/openafs/src/volser/dumpstuff.c,v 1.25.2.5 2006/10/13 12:46:03 shadow Exp $"); #include #include @@ -530,11 +530,11 @@ DumpFile(struct iod *iodp, int vnode, FdHandle_t * handleP) afs_sfsize_t size; #ifdef AFS_AIX_ENV #include -#ifdef AFS_LARGEFILE_ENV +#if defined(AFS_AIX52_ENV) && defined(AFS_LARGEFILE_ENV) struct statfs64 tstatfs; -#else /* !AFS_LARGEFILE_ENV */ +#else /* !AFS_AIX52_ENV || !AFS_LARGEFILE_ENV */ struct statfs tstatfs; -#endif /* !AFS_LARGEFILE_ENV */ +#endif /* !AFS_AIX52_ENV || !AFS_LARGEFILE_ENV */ int statfs_code; #endif @@ -550,16 +550,16 @@ DumpFile(struct iod *iodp, int vnode, FdHandle_t * handleP) /* Unfortunately in AIX valuable fields such as st_blksize are * gone from the stat structure. */ -#ifdef AFS_LARGEFILE_ENV +#if defined(AFS_AIX52_ENV) && defined(AFS_LARGEFILE_ENV) statfs_code = fstatfs64(handleP->fd_fd, &tstatfs); -#else /* !AFS_LARGEFILE_ENV */ +#else /* !AFS_AIX52_ENV || !AFS_LARGEFILE_ENV */ statfs_code = fstatfs(handleP->fd_fd, &tstatfs); -#endif /* !AFS_LARGEFILE_ENV */ +#endif /* !AFS_AIX52_ENV || !AFS_LARGEFILE_ENV */ if (statfs_code != 0) { Log("DumpFile: fstatfs returned error code %d on descriptor %d\n", errno, handleP->fd_fd); return VOLSERDUMPERROR; } - howMany = tstatfs.f_bsize; + howMany = (afs_sfsize_t) tstatfs.f_bsize; #else howMany = status.st_blksize; #endif /* AFS_AIX_ENV */