This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ITP] tftp-hpa 5.0


On 11/12/2010 10:49 AM, Gernot Hillier wrote:
> On 12.10.2010 20:29, Charles Wilson wrote:
>> Here's my revised version of your package:
>>
>> http://cygwin.cwilson.fastmail.fm/tftp-5.0-1-src.tar.bz2
>> http://cygwin.cwilson.fastmail.fm/tftp-5.0-1.tar.bz2
>> http://cygwin.cwilson.fastmail.fm/tftp-server-5.0-1.tar.bz2
> 
> Phew, 4 weeks passed by. Sorry for the long delay.

'Sokay. I've been busy, too.

> But finally, I managed to test your binary packages - they look rather
> nice to me. Account creation and service activation (--standalone)
> worked quite nicely.

Great.

> The only strange thing I stumbled over was that my Windows XP 64bit was
> classified as NT 5.2 by uname, so that the additional account magic was
> triggered. But that's likely another story - and it worked perfectly,
> only the messages were a bit confusing.

Well, it appears you are correct:
http://msdn.microsoft.com/en-us/library/ms724832%28v=VS.85%29.aspx

Geez, Microsoft sux.

However, I *wonder* if XP64 is more like NTServer2003, than it is like
XP32.  That is, on XP64, does the LocalSystem account in fact HAVE all
the necessary privileges, as it would on XP32 --- or can you only call
LogonUser and friends from a special account on XP64, a restriction
common to NTServer2003 and above?

Can you *manually* remove the service (cygrunsrv -R tftpd), and then
*manually* re-add the service running under LocalSystem:

TFTPBOOT=/var/lib/tftpboot
args_value="-L -c -p -u tftpd -U 022 -s ${TFTPBOOT}"

cygrunsrv -I tftpd -d "CYGWIN tftpd" -p /usr/sbin/tftpd -a "$args_value"
-y tcpip -e CYGWIN="${csih_cygenv}"

and restart the service.  See if it actually runs -- AND, make a large
transfer and use 'ps -eaf' to see if the spawned child tftpd is running
as LocalSystem or the 'tftpd' user.

If the latter, then we know that LocalSystem can in fact change UIDs --
and I should update csih so that is_nt2003 is a little more
discriminating, and doesn't lump XP64 in with them.

If it *doesn't* work, then...well, The Right Thing To Do is to fix
is_nt2003 as described above, and then change all the tests for "gee I
need a special privileged user" to
   if is_nt2003 || is_xp64
but that would create a LOT of ripple: every client of csih (cron, exim,
openssh, inetutils, etc etc) is probably already using is_nt2003 for the
same reason and they'd all need to change.  So...I think I'd just
declare victory, leave is_nt2003 alone (and wrong), but update the messages.

> So far, I did not test/review the READMEs, the client and the source
> package, but I'm quite sure I can give you feedback on those on Monday.

No hurry.  I'm booked up for a few more days anyway.

--
Chuck



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]