Bug 169096 - [PATCH] ftp/bsdftpd-ssl: utmpx fix
Summary: [PATCH] ftp/bsdftpd-ssl: utmpx fix
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Li-Wen Hsu
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-06-15 10:40 UTC by Hung-te Liang
Modified: 2012-06-26 18:20 UTC (History)
1 user (show)

See Also:


Attachments
bsdftpd-ssl-1.1.0_3.patch (4.39 KB, patch)
2012-06-15 10:40 UTC, Hung-te Liang
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Hung-te Liang 2012-06-15 10:40:01 UTC
[DESCRIBE CHANGES]

- Fix utmpx for FreeBSD 9+ 
- Seperate logwtmp.c patch from patch-gcc4
- Change MASTER_SITES because the original site has no ns record now
- Undefine DISTNAME
- Bump PORTREVISION

Added file:
- files/patch-ftpd-logwtmp.c

Modified files:
- Makefile
- files/patch-gcc4

Port maintainer (skynick@mail.sc.ru) is cc'd.

Generated with FreeBSD Port Tools 0.99
Comment 1 Li-Wen Hsu freebsd_committer freebsd_triage 2012-06-15 10:43:50 UTC
Responsible Changed
From-To: freebsd-ports-bugs->lwhsu

I'll take it.
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2012-06-15 11:17:24 UTC
Maintainer of ftp/bsdftpd-ssl,

Please note that PR ports/169096 has just been submitted.

If it contains a patch for an upgrade, an enhancement or a bug fix
you agree on, reply to this email stating that you approve the patch
and a committer will take care of it.

The full text of the PR can be found at:
    http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/169096

-- 
Edwin Groothuis via the GNATS Auto Assign Tool
edwin@FreeBSD.org
Comment 3 Edwin Groothuis freebsd_committer freebsd_triage 2012-06-15 11:17:26 UTC
State Changed
From-To: open->feedback

Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
Comment 4 Hung-te Liang 2012-06-15 15:23:51 UTC
Update:

- Fix utmpx for FreeBSD 9+
- Seperate logwtmp.c patch from patch-gcc4
- Change MASTER_SITES because the original site has no ns record now
- Reducing portlint warnings
- Bump PORTREVISION

Added file:
- files/patch-ftpd-logwtmp.c

Modified files:
- Makefile
- pkg-plist
- files/patch-gcc4


Sorry for misfiling a followup as a new PR ports/169107

--- bsdftpd-ssl-1.1.0_3.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/ftp/bsdftpd-ssl/Makefile /amd/cs/91/9123034/testports/ftp/bsdftpd-ssl/Makefile
--- /usr/ports/ftp/bsdftpd-ssl/Makefile	2010-03-20 21:59:03.000000000 +0800
+++ /amd/cs/91/9123034/testports/ftp/bsdftpd-ssl/Makefile	2012-06-15 21:01:39.000000000 +0800
@@ -7,25 +7,26 @@
 
 PORTNAME=	bsdftpd-ssl
 PORTVERSION=	1.1.0
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	ftp
-MASTER_SITES=	http://bsdftpd.org/files/bsdftpd-ssl/archive/1.1/src/
-DISTNAME=	bsdftpd-ssl-${PORTVERSION}
+MASTER_SITES=	http://bsdftpd.org/files/bsdftpd-ssl/archive/1.1/src/ \
+		http://www.sourcefiles.org/System/Daemons/FTP/
+.if defined(CLIENT_ONLY)
+PKGNAMESUFFIX=	-client
+.endif
 
 MAINTAINER=	skynick@mail.sc.ru
+COMMENT=	Secure FTP server with the TLS/SSL support
+.if defined(CLIENT_ONLY)
+COMMENT=	FTP command-line client utility with the TLS/SSL support
+.endif
 
 USE_OPENSSL=	yes
 
 .include <bsd.port.pre.mk>
 
-.if ${OSVERSION} > 900007
-BROKEN=		fails to build with new utmpx
-.endif
-
 # Client only part
 .if defined(CLIENT_ONLY)
-PKGNAMESUFFIX=	-client
-COMMENT=	FTP command-line client utility with the TLS/SSL support
 DESCR=		${FILESDIR}/pkg-descr.client
 PLIST=		${FILESDIR}/pkg-plist.client
 .endif
@@ -33,7 +34,6 @@
 MAN1=	ftps.1
 # Server part
 .if !defined(CLIENT_ONLY)
-COMMENT=	Secure FTP server with the TLS/SSL support
 MAN5=	ftpchroot.5 xferlog.5
 MAN8=	ftpd.8
 MLINKS=	ftpd.8 ftpd-ssl.8 ftpchroot.5 ftpchroot-ssl.5
diff -ruN --exclude=CVS /usr/ports/ftp/bsdftpd-ssl/files/patch-ftpd-logwtmp.c /amd/cs/91/9123034/testports/ftp/bsdftpd-ssl/files/patch-ftpd-logwtmp.c
--- /usr/ports/ftp/bsdftpd-ssl/files/patch-ftpd-logwtmp.c	1970-01-01 08:00:00.000000000 +0800
+++ /amd/cs/91/9123034/testports/ftp/bsdftpd-ssl/files/patch-ftpd-logwtmp.c	2012-06-15 15:37:02.000000000 +0800
@@ -0,0 +1,72 @@
+diff -urN bsdftpd-ssl-1.1.0.ORI/ftpd/logwtmp.c ftpd/logwtmp.c
+--- bsdftpd-ssl-1.1.0.ORI/ftpd/logwtmp.c	2004-12-20 02:44:42.000000000 +0800
++++ ftpd/logwtmp.c	2012-06-15 15:34:03.000000000 +0800
+@@ -48,13 +48,18 @@
+ #include <arpa/inet.h>
+ #include <sys/socket.h>
+ 
++#include <sys/param.h>
++#if __FreeBSD_version < 900007
+ #include <fcntl.h>
+ #include <time.h>
+-#if 0 /* Original FreeBSD 5.0 code */
++#if 1 /* Original FreeBSD 5.0 code */
+ #include <timeconv.h>
+ #endif
+ #include <netdb.h>
+ #include <utmp.h>
++#else
++#include <utmpx.h>
++#endif
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -63,6 +68,7 @@
+ 
+ #include <port_base.h>
+ 
++#ifndef _UTMPX_H_
+ static int fd = -1;
+ 
+ /*
+@@ -94,7 +100,7 @@
+ 		(void)strncpy(ut.ut_line, line, sizeof(ut.ut_line));
+ 		(void)strncpy(ut.ut_name, name, sizeof(ut.ut_name));
+ 		(void)strncpy(ut.ut_host, host, sizeof(ut.ut_host));
+-#if 0 /* Original FreeBSD 5.0 code */
++#if 1 /* Original FreeBSD 5.0 code */
+ 		ut.ut_time = _time_to_time32(time(NULL));
+ #else /* Portable code from FreeBSD 4.8 */
+ 		(void)time(&ut.ut_time);
+@@ -104,3 +110,31 @@
+ 			(void)ftruncate(fd, buf.st_size);
+ 	}
+ }
++#else /* Original FreeBSD 9.0 code */
++void
++ftpd_logwtmp(char *id, char *user, struct sockaddr *addr)
++{
++	struct utmpx ut;
++
++	memset(&ut, 0, sizeof(ut));
++
++	if (user != NULL) {
++		/* Log in. */
++		ut.ut_type = USER_PROCESS;
++		(void)strncpy(ut.ut_user, user, sizeof(ut.ut_user));
++		if (addr != NULL)
++			realhostname_sa(ut.ut_host, sizeof(ut.ut_host),
++			    addr, addr->sa_len);
++	} else {
++		/* Log out. */
++		ut.ut_type = DEAD_PROCESS;
++	}
++
++	ut.ut_pid = getpid();
++	gettimeofday(&ut.ut_tv, NULL);
++	(void)strncpy(ut.ut_id, id, sizeof(ut.ut_id));
++	(void)strncpy(ut.ut_line, "ftpd", sizeof(ut.ut_line));
++
++	pututxline(&ut);
++}
++#endif
diff -ruN --exclude=CVS /usr/ports/ftp/bsdftpd-ssl/files/patch-gcc4 /amd/cs/91/9123034/testports/ftp/bsdftpd-ssl/files/patch-gcc4
--- /usr/ports/ftp/bsdftpd-ssl/files/patch-gcc4	2007-08-31 01:58:16.000000000 +0800
+++ /amd/cs/91/9123034/testports/ftp/bsdftpd-ssl/files/patch-gcc4	2012-06-15 15:19:22.000000000 +0800
@@ -151,27 +151,6 @@
  	char *p, *a;
  
  	if (pdata >= 0)		/* close old port if one set */
-diff -urN bsdftpd-ssl-1.1.0.ORI/ftpd/logwtmp.c ftpd/logwtmp.c
---- bsdftpd-ssl-1.1.0.ORI/ftpd/logwtmp.c	2004-12-19 21:44:42.000000000 +0300
-+++ ftpd/logwtmp.c	2007-08-26 15:37:16.000000000 +0400
-@@ -50,7 +50,7 @@
- 
- #include <fcntl.h>
- #include <time.h>
--#if 0 /* Original FreeBSD 5.0 code */
-+#if 1 /* Original FreeBSD 5.0 code */
- #include <timeconv.h>
- #endif
- #include <netdb.h>
-@@ -94,7 +94,7 @@
- 		(void)strncpy(ut.ut_line, line, sizeof(ut.ut_line));
- 		(void)strncpy(ut.ut_name, name, sizeof(ut.ut_name));
- 		(void)strncpy(ut.ut_host, host, sizeof(ut.ut_host));
--#if 0 /* Original FreeBSD 5.0 code */
-+#if 1 /* Original FreeBSD 5.0 code */
- 		ut.ut_time = _time_to_time32(time(NULL));
- #else /* Portable code from FreeBSD 4.8 */
- 		(void)time(&ut.ut_time);
 diff -urN bsdftpd-ssl-1.1.0.ORI/port/bsd_prog.mk port/bsd_prog.mk
 --- bsdftpd-ssl-1.1.0.ORI/port/bsd_prog.mk	2003-04-05 13:42:20.000000000 +0400
 +++ port/bsd_prog.mk	2007-08-26 14:53:23.000000000 +0400
diff -ruN --exclude=CVS /usr/ports/ftp/bsdftpd-ssl/pkg-plist /amd/cs/91/9123034/testports/ftp/bsdftpd-ssl/pkg-plist
--- /usr/ports/ftp/bsdftpd-ssl/pkg-plist	2009-04-08 03:41:45.000000000 +0800
+++ /amd/cs/91/9123034/testports/ftp/bsdftpd-ssl/pkg-plist	2012-06-15 19:14:45.000000000 +0800
@@ -16,12 +16,12 @@
 %%PORTDOCS%%%%DOCSDIR%%/docs/standards.txt
 %%PORTDOCS%%%%DOCSDIR%%/docs/verify.txt
 %%PORTDOCS%%%%DOCSDIR%%/docs/x509_auth.txt
-%%PORTDOCS%%%%EXAMPLESDIR%%/README
-%%PORTDOCS%%%%EXAMPLESDIR%%/ftpchroot
-%%PORTDOCS%%%%EXAMPLESDIR%%/ftpusers
-%%PORTDOCS%%%%EXAMPLESDIR%%/rc.conf.d/bsdftpd_ssl
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ftpchroot
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ftpusers
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/rc.conf.d/bsdftpd_ssl
 %%PORTDOCS%%@dirrm %%DOCSDIR%%/cert
 %%PORTDOCS%%@dirrm %%DOCSDIR%%/docs
 %%PORTDOCS%%@dirrm %%DOCSDIR%%
-%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/rc.conf.d
-%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%/rc.conf.d
+%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%%
--- bsdftpd-ssl-1.1.0_3.patch ends here ---
Comment 5 Nick Leuta 2012-06-17 18:53:04 UTC
Thank you very much for the patch. There are no objections to it.
Comment 6 Li-Wen Hsu freebsd_committer freebsd_triage 2012-06-19 11:21:58 UTC
State Changed
From-To: feedback->open

Maintainer has approved.
Comment 7 Li-Wen Hsu freebsd_committer freebsd_triage 2012-06-26 18:11:29 UTC
State Changed
From-To: open->closed

Committed. Thanks!
Comment 8 dfilter service freebsd_committer freebsd_triage 2012-06-26 18:11:31 UTC
lwhsu       2012-06-26 17:11:21 UTC

  FreeBSD ports repository

  Modified files:
    ftp/bsdftpd-ssl      Makefile pkg-plist 
    ftp/bsdftpd-ssl/files patch-gcc4 
  Added files:
    ftp/bsdftpd-ssl/files patch-ftpd-logwtmp.c 
  Log:
  - Fix utmpx for FreeBSD 9+
  - Seperate logwtmp.c patch from patch-gcc4
  - Change MASTER_SITES because the original site has no ns record now
  - Undefine DISTNAME
  - Bump PORTREVISION
  
  PR:             ports/169096
  Submitted by:   Hung-te Liang <lhd@cs.nctu.edu.tw>
  Approved by:    Nick Leuta <skynick@mail.sc.ru> (maintainer)
  
  Revision  Changes    Path
  1.14      +10 -10    ports/ftp/bsdftpd-ssl/Makefile
  1.1       +72 -0     ports/ftp/bsdftpd-ssl/files/patch-ftpd-logwtmp.c (new)
  1.2       +0 -21     ports/ftp/bsdftpd-ssl/files/patch-gcc4
  1.6       +6 -6      ports/ftp/bsdftpd-ssl/pkg-plist
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"