Bug 189881 - [patch] net/freeradius3 fix segfault, sort pkg-plist again with changed makeplist
Summary: [patch] net/freeradius3 fix segfault, sort pkg-plist again with changed makep...
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: Ryan Steinmetz
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-17 12:00 UTC by Olli Hauer
Modified: 2014-05-20 21:56 UTC (History)
1 user (show)

See Also:


Attachments
freeradius3.diff (7.68 KB, patch)
2014-05-17 12:00 UTC, Olli Hauer
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Olli Hauer freebsd_committer freebsd_triage 2014-05-17 12:00:03 UTC
FreeRADIUS 3.0.3 segfaults during start

Patch obtained from 
https://github.com/FreeRADIUS/freeradius-server/issues/634

Since the output from `make makeplist' has changed between stagify
the port and today reorder pkg-plist again.

How-To-Repeat: $ gdb radiusd
> run -X
...

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 801a041c0 (LWP 100840/initial thread)]
0x0000000800dee052 in _talloc_free () from /usr/local/lib/libtalloc.so.2
(gdb) bt
#0  0x0000000800dee052 in _talloc_free () from /usr/local/lib/libtalloc.so.2
#1  0x000000080069d859 in cf_item_parse () from /usr/local/lib/freeradius-3.0.3/libfreeradius-server.so
#2  0x000000080069e053 in cf_section_parse () from /usr/local/lib/freeradius-3.0.3/libfreeradius-server.so
#3  0x000000000041993a in main_config_init ()
#4  0x0000000000420dc7 in main ()
(gdb)
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2014-05-17 12:00:07 UTC
Responsible Changed
From-To: freebsd-ports-bugs->zi

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 dfilter service freebsd_committer freebsd_triage 2014-05-17 16:50:55 UTC
Author: zi
Date: Sat May 17 15:50:50 2014
New Revision: 354330
URL: http://svnweb.freebsd.org/changeset/ports/354330
QAT: https://qat.redports.org/buildarchive/r354330/

Log:
  - Merge in upstream patch
  - Add another notice for 10.0 users/OpenSSL
  - Bump PORTREVISION
  
  PR:		ports/189881
  Submitted by: 	Olli Hauer <ohauer@FreeBSD.org>

Added:
  head/net/freeradius3/files/patch-src__main__mainconfig.c   (contents, props changed)
Modified:
  head/net/freeradius3/Makefile
  head/net/freeradius3/files/pkg-message.in
  head/net/freeradius3/pkg-plist

Modified: head/net/freeradius3/Makefile
==============================================================================
--- head/net/freeradius3/Makefile	Sat May 17 15:48:50 2014	(r354329)
+++ head/net/freeradius3/Makefile	Sat May 17 15:50:50 2014	(r354330)
@@ -3,6 +3,7 @@
 
 PORTNAME=	freeradius
 DISTVERSION=	3.0.3
+PORTREVISION=	1
 CATEGORIES=	net
 MASTER_SITES=	ftp://ftp.freeradius.org/pub/freeradius/%SUBDIR%/ \
 		ftp://ftp.ntua.gr/pub/net/radius/freeradius/%SUBDIR%/ \
@@ -344,7 +345,15 @@ SUB_LIST+=	RADIUS_USER="${RADIUS_USER}" 
 		RADDB="${PREFIX}/etc/raddb" \
 		LOGDIR="${LOGDIR}" \
 		LIBDIR="${PREFIX}/${FREERADIUS_LIBDIR}"
-SUB_LIST+=	REQUIRE="${_REQUIRE}"
+SUB_LIST+=	REQUIRE="${_REQUIRE}" OPENSSL1XMSG="${OPENSSL1XMSG}"
+
+.if ${OSVERSION} > 1000000
+OPENSSL1XMSG=	"If you are running FreeBSD 10.0-RELEASE or higher, you will receive an OpenSSL warning."
+OPENSSL1XMSG+=	"Please verify that your system is patched and then add the following to your config:"
+OPENSSL1XMSG+=	"security.allow_vulnerable_openssl = 'CVE-2014-0160'"
+.else
+OPENSSL1XMSG=	""
+.endif
 
 post-patch:
 # never try to find execinfo.h (needed until we can enable/disable backtrace

Added: head/net/freeradius3/files/patch-src__main__mainconfig.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/freeradius3/files/patch-src__main__mainconfig.c	Sat May 17 15:50:50 2014	(r354330)
@@ -0,0 +1,14 @@
+Fix FreeRADIUS 3.0.3 crash
+https://github.com/FreeRADIUS/freeradius-server/issues/634
+==================================================================
+--- ./src/main/mainconfig.c.orig	2014-05-17 11:19:37.000000000 +0200
++++ ./src/main/mainconfig.c	2014-05-17 11:20:09.000000000 +0200
+@@ -83,7 +83,7 @@
+  */
+ static char const	*localstatedir = NULL;
+ static char const	*prefix = NULL;
+-static char		my_name;
++static char const	*my_name = NULL;
+ static char const	*sbindir = NULL;
+ static char const	*run_dir = NULL;
+ static char		*syslog_facility = NULL;

Modified: head/net/freeradius3/files/pkg-message.in
==============================================================================
--- head/net/freeradius3/files/pkg-message.in	Sat May 17 15:48:50 2014	(r354329)
+++ head/net/freeradius3/files/pkg-message.in	Sat May 17 15:50:50 2014	(r354330)
@@ -49,5 +49,6 @@ well break things!
 Useful configuration advice can be found in the FreeRADIUS Wiki at
 http://wiki.freeradius.org
 
+%%OPENSSL1XMSG%%
 ===============================================================================
 

Modified: head/net/freeradius3/pkg-plist
==============================================================================
--- head/net/freeradius3/pkg-plist	Sat May 17 15:48:50 2014	(r354329)
+++ head/net/freeradius3/pkg-plist	Sat May 17 15:50:50 2014	(r354330)
@@ -832,66 +832,66 @@ sbin/radmin
 %%DATADIR%%/dictionary.zeus
 %%DATADIR%%/dictionary.zte
 %%DATADIR%%/dictionary.zyxel
-@unexec rmdir "/var/run/radiusd" >/dev/null 2>&1 || :
-@unexec rmdir "/var/log/radacct" >/dev/null 2>&1 || :
-@dirrm %%DATADIR%%
-@dirrm %%EXAMPLESDIR%%/raddb/sites-enabled
-@dirrm %%EXAMPLESDIR%%/raddb/sites-available
-@dirrm %%EXAMPLESDIR%%/raddb/policy.d
-@dirrm %%EXAMPLESDIR%%/raddb/mods-enabled
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/unbound
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/sqlite
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/postgresql/extras
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/postgresql
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/oracle
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/ndb
+@dirrm include/freeradius
+@dirrm %%LIBDIR%%
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/concepts
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/configuration
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/deployment
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/developer
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/modules
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/rfc
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/schemas/ldap
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/schemas
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/vendor
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrm %%EXAMPLESDIR%%/raddb/certs
+@dirrm %%EXAMPLESDIR%%/raddb/mods-available
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/attr_filter
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/files
+%%RLMPERL%%@dirrm %%EXAMPLESDIR%%/raddb/mods-config/perl
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/preprocess
+%%RLMPYTHON%%@dirrm %%EXAMPLESDIR%%/raddb/mods-config/python
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/counter/mysql
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/counter/postgresql
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/counter/sqlite
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/counter
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/cui/mysql
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/cui/postgresql
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/cui/sqlite
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/cui
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool/mysql
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool/oracle
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool/postgresql
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool/sqlite
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool-dhcp/mysql
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool-dhcp/oracle
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool-dhcp/sqlite
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool-dhcp
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/mssql
 @dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/mysql/extras/wimax
 @dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/mysql/extras
 @dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/mysql
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/mssql
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/ndb
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/oracle
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/postgresql/extras
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/postgresql
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main/sqlite
 @dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/main
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool/sqlite
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool/postgresql
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool/oracle
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool/mysql
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool-dhcp/sqlite
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool-dhcp/oracle
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool-dhcp/mysql
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool-dhcp
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/ippool
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/cui/sqlite
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/cui/postgresql
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/cui/mysql
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/cui
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/counter/sqlite
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/counter/postgresql
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/counter/mysql
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql/counter
 @dirrm %%EXAMPLESDIR%%/raddb/mods-config/sql
-%%RLMPYTHON%%@dirrm %%EXAMPLESDIR%%/raddb/mods-config/python
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/preprocess
-%%RLMPERL%%@dirrm %%EXAMPLESDIR%%/raddb/mods-config/perl
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/files
-@dirrm %%EXAMPLESDIR%%/raddb/mods-config/attr_filter
+@dirrm %%EXAMPLESDIR%%/raddb/mods-config/unbound
 @dirrm %%EXAMPLESDIR%%/raddb/mods-config
-@dirrm %%EXAMPLESDIR%%/raddb/mods-available
-@dirrm %%EXAMPLESDIR%%/raddb/certs
+@dirrm %%EXAMPLESDIR%%/raddb/mods-enabled
+@dirrm %%EXAMPLESDIR%%/raddb/policy.d
+@dirrm %%EXAMPLESDIR%%/raddb/sites-available
+@dirrm %%EXAMPLESDIR%%/raddb/sites-enabled
 @dirrm %%EXAMPLESDIR%%/raddb
 @dirrm %%EXAMPLESDIR%%
-%%PORTDOCS%%@dirrm %%DOCSDIR%%/vendor
-%%PORTDOCS%%@dirrm %%DOCSDIR%%/schemas/ldap
-%%PORTDOCS%%@dirrm %%DOCSDIR%%/schemas
-%%PORTDOCS%%@dirrm %%DOCSDIR%%/rfc
-%%PORTDOCS%%@dirrm %%DOCSDIR%%/modules
-%%PORTDOCS%%@dirrm %%DOCSDIR%%/developer
-%%PORTDOCS%%@dirrm %%DOCSDIR%%/deployment
-%%PORTDOCS%%@dirrm %%DOCSDIR%%/configuration
-%%PORTDOCS%%@dirrm %%DOCSDIR%%/concepts
-%%PORTDOCS%%@dirrm %%DOCSDIR%%
-@dirrm %%LIBDIR%%
-@dirrm include/freeradius
+@dirrm %%DATADIR%%
 @exec if ! [ -d %D/etc/raddb -o -L %D/etc/raddb ]; then cp -RP %D/%%EXAMPLESDIR%%/raddb %D/etc/raddb; echo '===> Bootstrapping default certificates, please wait...'; %D/etc/raddb/certs/bootstrap >/dev/null 2>&1; fi
 @exec chmod -R g-w,o-rwx %D/etc/raddb
 @exec if [ ! -d /var/log/radacct ]; then mkdir -p /var/log/radacct; chmod -R go= /var/log/radacct; fi
 @exec for i in /var/log/radius.log /var/log/radutmp /var/log/radwtmp; do if [ ! -f ${i} ]; then touch ${i}; chmod go= ${i}; fi; done
 @exec mkdir -p /var/run/radiusd
+@unexec rmdir "/var/log/radacct" >/dev/null 2>&1 || :
+@unexec rmdir "/var/run/radiusd" >/dev/null 2>&1 || :
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 3 Ryan Steinmetz freebsd_committer freebsd_triage 2014-05-20 21:56:05 UTC
State Changed
From-To: open->closed

Committed. Thanks!