This is the mail archive of the 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]

ProFTPd ported to Cygwin

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
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.


Do You Yahoo!?
Yahoo! Tax Center - online filing with TurboTax
? 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
   if((pr = getprotobyname("tcp")) != NULL)
     tcp_proto = pr->p_proto;
+#ifndef CYGWIN
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) {
-#ifdef LINUX
+#if defined(LINUX) || defined(CYGWIN)

Unsubscribe info:
Bug reporting:

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