Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <20020407145354.99943.qmail@web13706.mail.yahoo.com> Date: Sun, 7 Apr 2002 07:53:54 -0700 (PDT) From: Stanislav Sinyagin Subject: ProFTPd ported to Cygwin To: cygwin AT cygwin DOT com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="0-369060747-1018191234=:99081" --0-369060747-1018191234=:99081 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello all, I made some minor compatibility fixes in Proftpd, now it compiles and runs under Cygwin. I proposed the patch to proftpd developers about a week ago, but the bug status hasn't changed since then (Bug ID 1569 at bugs.proftpd.org). Actually, the whole CVS repository hasn't changed either. See the patch attached, it applies to the current CVS version. I am also working on README.cygwin, describing the major user names/permissions issues. I was not intending to buld a cygwin package, because many Proftpd features are configured at compile time. One of the major problems that I encountered, and which I successfully avoided, is that a service running under SYSTEM user, can launch a child process, which becomes unkillable. So, if someone knows how to kill such a process, please let me know, I'll include it also to README. Enjoy, Stanislav __________________________________________________ Do You Yahoo!? Yahoo! Tax Center - online filing with TurboTax http://taxes.yahoo.com/ --0-369060747-1018191234=:99081 Content-Type: text/plain; name="cygwin.patch" Content-Description: cygwin.patch Content-Disposition: inline; filename="cygwin.patch" ? cygwin.patch Index: src/auth.c =================================================================== RCS file: /var/proftpd/proftpd-1.2/src/auth.c,v retrieving revision 1.10 diff -u -r1.10 auth.c --- src/auth.c 2001/12/13 20:35:50 1.10 +++ src/auth.c 2002/03/31 20:33:56 @@ -534,10 +534,12 @@ for (i = 0; i < ngids; i++) process_gids[i + 1] = group_ids[i]; + #ifndef CYGWIN /* set the supplemental groups... */ if ((res = setgroups(ngids + 1, process_gids)) < 0) return res; + #endif /* ...and if that worked OK, set the primary GID of the process */ Index: src/inet.c =================================================================== RCS file: /var/proftpd/proftpd-1.2/src/inet.c,v retrieving revision 1.22 diff -u -r1.22 inet.c --- src/inet.c 2002/02/26 17:35:58 1.22 +++ src/inet.c 2002/03/31 20:33:58 @@ -1225,8 +1225,12 @@ { struct protoent *pr; +#ifndef CYGWIN setprotoent(FALSE); +#endif if((pr = getprotobyname("tcp")) != NULL) tcp_proto = pr->p_proto; +#ifndef CYGWIN endprotoent(); +#endif } Index: src/log.c =================================================================== RCS file: /var/proftpd/proftpd-1.2/src/log.c,v retrieving revision 1.33 diff -u -r1.33 log.c --- src/log.c 2002/03/01 02:49:40 1.33 +++ src/log.c 2002/03/31 20:33:59 @@ -658,7 +658,7 @@ if(fstat(fd,&buf) == 0) { memset(&ut,0,sizeof(ut)); #ifdef HAVE_UTMAXTYPE -#ifdef LINUX +#if defined(LINUX) || defined(CYGWIN) if(ip) memcpy(&ut.ut_addr,ip,sizeof(ut.ut_addr)); #else --0-369060747-1018191234=:99081 Content-Type: text/plain; charset=us-ascii -- 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/ --0-369060747-1018191234=:99081--