Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 33492
Status: resolved
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: dillman [...] ria.buffalo.edu
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: (no value)
Fixed in: (no value)



Subject: failure in tilde.t related to Active Directory account on SuSE Linux
Date: Thu, 21 Feb 2008 10:05:51 -0500
To: bug-Module-Build [...] rt.cpan.org
From: dillman [...] ria.buffalo.edu
lib/Module/Build/t/tilde......................................#   Failed test at ../lib/Module/Build/t/tilde.t line 91.
#          got: '~RIA\dillman/foo'
#     expected: '/home/RIA/dillman/foo'
# Looks like you failed 1 test of 15.
FAILED at test 15

When I log in to SuSE Linux using the dillman account on the RIA domain, Linux sees my account name as 'RIA\dillman'.  As you can see my assigned home dir is '/home/RIA/dillman/'.  This is the version of of Module::Build that's included with the perl 5.10.0 sources and prevents a clean 'make test' of that version of perl.



Thomas J. Dillman
Research Institute on Addictions
1021 Main Street, Buffalo, NY  14203
Subject: Re: [rt.cpan.org #33492] failure in tilde.t related to Active Directory account on SuSE Linux
Date: Thu, 21 Feb 2008 09:12:00 -0800
To: bug-Module-Build [...] rt.cpan.org
From: Eric Wilhelm <scratchcomputing [...] gmail.com>
# from dillman@ria.buffalo.edu via RT # on Thursday 21 February 2008 07:07: Show quoted text
>When I log in to SuSE Linux using the dillman account on the RIA > domain, Linux sees my account name as 'RIA\dillman'. As you can see > my assigned home dir is '/home/RIA/dillman/'.
Does the shell expand ~dillman or ~RIA\\dillman? I think we'll have a hard time testing this without a chroot or vm and an AD setup. --Eric
Subject: Re: [rt.cpan.org #33492] failure in tilde.t related to Active Directory account on SuSE Linux
Date: Thu, 21 Feb 2008 12:24:58 -0500
To: bug-Module-Build [...] rt.cpan.org
From: dillman [...] ria.buffalo.edu
GNU bash, version 3.2.25(1)-release (x86_64-suse-linux-gnu) Copyright (C) 2005 Free Software Foundation, Inc. No expansion of either form. This is my default shell. tcsh 6.15.00 (Astron) 2007-03-03 (x86_64-suse-linux) options wide,nls,lf,dl,al,kan,sm,color,filec Can expand ~RIA\\dillman ksh --version version sh (AT&T Research) 1993-12-28 s+ Can expand ~RIA\\dillman Any other tests I can run for you? Thomas J. Dillman Research Institute on Addictions 1021 Main Street, Buffalo, NY 14203 "Eric Wilhelm via RT" <bug-Module-Build@rt.cpan.org> 02/21/2008 12:12 PM Please respond to bug-Module-Build@rt.cpan.org To dillman@ria.buffalo.edu cc Subject Re: [rt.cpan.org #33492] failure in tilde.t related to Active Directory account on SuSE Linux <URL: http://rt.cpan.org/Ticket/Display.html?id=33492 > # from dillman@ria.buffalo.edu via RT # on Thursday 21 February 2008 07:07: Show quoted text
>When I log in to SuSE Linux using the dillman account on the RIA > domain, Linux sees my account name as 'RIA\dillman'. As you can see > my assigned home dir is '/home/RIA/dillman/'.
Does the shell expand ~dillman or ~RIA\\dillman? I think we'll have a hard time testing this without a chroot or vm and an AD setup. --Eric
I believe the problem you're seeing is caused by the sub Module::Build::Platform::Unix::_detildefy, which as of Perl 5.10.0 assumed that Unix usernames contain only \w characters. I ran into this problem with a username that contains a - which is fairly common, and that has since been fixed in the latest Module::Build: https://rt.cpan.org/Ticket/Display.html?id=36259 http://svn.perl.org/viewvc/modules?view=revision&revision=11391 But that only additionally allows - even though there's no standard I'm aware of that says \ or % or any number of other odd characters are invalid. The Linux passwd(5) man page is silent on the topic, while the OpenBSD passwd(5) man page lists some rules only for compatibility with legacy apps (which I don't think Module::Build is!): http://www.openbsd.org/cgi-bin/man.cgi?query=passwd&apropos=0&sektion=5&manpath=OpenBSD+Current&arch=i386&format=html Things seem to work quite well having usernames with all sorts of odd characters, and I imagine UTF-8 usernames are going to become more common as well. Is there really a good reason to not just match [^/]* for a username, instead of [-\w]* ?
Open Group standard says that user names should be from the portable filename character set ([\w.-]), without a leading dash: http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap03.html#tag_03_426 On the other hand, I don't see any reason not to take anything that isn't a '/' to be more widely compatible.
According to BinGOs, this also affects cygwin. Fixed in repository by accepting anything non-slash as part of a username ("be liberal in what we accept")