Mail Archives: cygwin/2002/04/07/10:54:10
--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--
- Raw text -