This is the mail archive of the cygwin@cygwin.com 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]

Cygwin vsFTPd porting issues


In my (seemingly) never ending search for a firewall friendly, Cygwin
ftpd server, I finally stumbled across vsFTPd.  By "firewall friendly,"
I mean being able to specifying the range of passive ports used during
data transfers.

Although, vsFTPd does not use autoconf, the code is well factored --
especially the system dependent routines.  Hence, it ported to Cygwin
without many problems.

See the attached patch for the details.  The following are the most
notable changes:

    1. Temporarily workaround a mmap()/fork() problem by effectively
       replacing vsf_secbuf_alloc() and vsf_secbuf_free() with malloc()
       and free(), respectively.
    2. Add Corinna's standard NT authentication patch.
    3. Workaround lack of Cygwin nanosleep().
    4. Workaround lack of Cygwin setregid() and setreuid().

The mmap()/fork() problem workaround is the only "show stopper."  When I
strace vsftpd, I get the following error:

  311 37332969 [main] vsftpd 2232 fixup_mmaps_after_fork: recreate_mmaps_after_fork, mmapped_areas 0xA042100
   90 37333059 [main] vsftpd 2232 fixup_mmaps_after_fork: fd -1, h 1F4, access 1, offset 0, size 65536, address 0xB40000
  160 37333219 [main] vsftpd 2232 fixup_mmaps_after_fork: ReadProcessMemory failed for MAP_PRIVATE address 0xB40000, Win32 error 299      

I will try to dig deeper to determine why ReadProcessMemory() is failing
with ERROR_PARTIAL_COPY (i.e., 299), but any help or pointers will be
greatly appreciated.

Thanks,
Jason

-- 
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D  8784 1AFD E4CC ECF4 8EF6

Attachment: vsftpd.patch
Description: Text document

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

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