-
-Pierwszy fix to:
-
-[misiek@arm proftpd-1.2.2rc3]$ diff -u include/proftpd.h~ include/proftpd.h
---- include/proftpd.h~ Sun Aug 12 18:14:26 2001
-+++ include/proftpd.h Sun Aug 12 18:27:40 2001
+--- ./include/proftpd.h.org Sun Oct 21 21:23:17 2001
++++ ./include/proftpd.h Sun Oct 21 21:23:49 2001
@@ -99,7 +99,7 @@
long flags; /* Session & State flags */
- struct sockaddr_storage data_addr; /* Remote data address */
+ p_in_addr_t data_addr; /* Remote data address */
- short data_port; /* Remote data port */
+ unsigned short data_port; /* Remote data port */
char *ident_user; /* User identified by ident protocol */
-[misiek@arm proftpd-1.2.2rc3]$
-
-Wiadomo, port mo¿e byæ wiêkszy ni¿ 32768. Bug w oficjalnym proftpd.
-
---
- Arkadiusz Mi¶kiewicz, AM2-6BONE, 1024/3DB19BBD
- IPv6 ready PLD Linux at http://www.pld.org.pl/
-My jsme Borg. Odpor je marný, budete asimilováni
---- proftpd-1.2.0rc2/src/log.c~ Sat Feb 3 18:19:05 2001
-+++ proftpd-1.2.0rc2/src/log.c Sat Feb 3 18:21:08 2001
-@@ -533,59 +533,22 @@
+--- ./src/log.c.org Sun Oct 21 21:11:04 2001
++++ ./src/log.c Sun Oct 21 21:20:07 2001
+@@ -594,26 +594,16 @@
- int log_wtmp(char *line, char *name, char *host, struct sockaddr_storage *ip)
+ int log_wtmp(char *line, char *name, char *host, p_in_addr_t *ip)
{
- struct stat buf;
struct utmp ut;
int res = 0;
- static int fd = -1;
--
+
-#if (defined(SVR4) || defined(__SVR4)) && \
- !(defined(LINUX) || defined(__hpux) || defined (_AIX))
- /* This "auxilliary" utmp doesn't exist under linux. */
+-#ifdef __sparcv9
+- struct futmpx utx;
+- time_t t;
+-#else
- struct utmpx utx;
+-#endif
- static int fdx = -1;
--
++ static int washere = 0;
+
- if(fdx < 0 && (fdx = open(WTMPX_FILE, O_WRONLY | O_APPEND, 0)) < 0) {
- log_pri(LOG_WARNING,"wtmpx %s: %s",WTMPX_FILE,strerror(errno));
- return -1;
- }
-+ static int washere = 0;
-
+ if (!washere) {
+ utmpname(_PATH_WTMP);
+ washere = 1;
+ } else
+ washere = 0;
+
/* Unfortunately, utmp string fields are terminated by '\0' if they are
* shorter than the size of the field, but if they are exactly the size of
- * the field they don't have to be terminated at all. Frankly, this sucks.
+@@ -621,42 +611,8 @@
* Insane if you ask me. Unless there's massive uproar, I prefer to err on
* the side of caution and always null-terminate our strings.
*/
- sstrncpy(utx.ut_host,host,sizeof(utx.ut_host));
- utx.ut_syslen = strlen(utx.ut_host)+1;
- utx.ut_pid = getpid();
+-#ifdef __sparcv9
+- time(&t);
+- utx.ut_tv.tv_sec = (time32_t)t;
+-#else
- time(&utx.ut_tv.tv_sec);
+-#endif
- if(*name)
- utx.ut_type = USER_PROCESS;
- else
-
- if(fstat(fd,&buf) == 0) {
- memset(&ut,0,sizeof(ut));
-+ memset(&ut,0,sizeof(ut));
++
++ memset(&ut,0,sizeof(ut));
#ifdef HAVE_UTMAXTYPE
#ifdef LINUX
- if(ip) {
-@@ -621,13 +584,12 @@
+ if(ip)
+@@ -686,13 +642,12 @@
#endif /* HAVE_UT_UT_HOST */
time(&ut.ut_time);