Borken dirname on Solaris 2.5.1
mouring at etoh.eviladmin.org
mouring at etoh.eviladmin.org
Thu Oct 25 01:21:44 EST 2001
I believe this has been dealt with in the current CVS tree.
- Ben
On 24 Oct 2001, Alex Kiernan wrote:
> Discovered this post an upgrade to 2.9.9p2, Solaris 2.5.1 dirname is
> busted for paths like "/usr", returning "" rather than "/".
>
> Index: acconfig.h
> ===================================================================
> RCS file: /cvsroot/upstream/openssh/acconfig.h,v
> retrieving revision 1.1.1.3
> diff -u -r1.1.1.3 acconfig.h
> --- acconfig.h 2001/10/23 15:18:33 1.1.1.3
> +++ acconfig.h 2001/10/24 15:09:49
> @@ -333,6 +333,9 @@
> /* Define if you want smartcard support */
> #undef SMARTCARD
>
> +/* Define if your dirname is busted */
> +#undef BROKEN_DIRNAME
> +
> @BOTTOM@
>
> /* ******************* Shouldn't need to edit below this line ************** */
> Index: configure.in
> ===================================================================
> RCS file: /cvsroot/upstream/openssh/configure.in,v
> retrieving revision 1.5
> diff -u -r1.5 configure.in
> --- configure.in 2001/10/23 16:26:00 1.5
> +++ configure.in 2001/10/24 15:09:49
> @@ -531,6 +531,23 @@
> )
> fi
>
> +# Check for broken dirname (Solaris 2.5.1)
> +AC_MSG_CHECKING([whether dirname works correctly for the root directory])
> +AC_TRY_RUN(
> + [
> +#include <string.h>
> +#ifdef HAVE_LIBGEN_H
> +#include <libgen.h>
> +#endif
> +int main(void){char buf[5];strcpy(buf,"/usr");return strlen(dirname(buf))==0;}
> + ],
> + [AC_MSG_RESULT(yes)],
> + [
> + AC_MSG_RESULT(no)
> + AC_DEFINE(BROKEN_DIRNAME)
> + ]
> +)
> +
> AC_FUNC_GETPGRP
>
> # Check for PAM libs
> Index: openbsd-compat/dirname.c
> ===================================================================
> RCS file: /cvsroot/upstream/openssh/openbsd-compat/dirname.c,v
> retrieving revision 1.1.1.1
> diff -u -r1.1.1.1 dirname.c
> --- openbsd-compat/dirname.c 2001/10/23 15:18:35 1.1.1.1
> +++ openbsd-compat/dirname.c 2001/10/24 15:09:49
> @@ -28,6 +28,11 @@
> */
>
> #include "includes.h"
> +
> +#if defined(BROKEN_DIRNAME) /* For those with broken dirname() */
> +# undef HAVE_DIRNAME
> +#endif
> +
> #ifndef HAVE_DIRNAME
>
> #if defined(LIBC_SCCS) && !defined(lint)
>
> --
> Alex Kiernan, Principal Engineer, Development, Thus PLC
>
More information about the openssh-unix-dev
mailing list