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
