ports/119708: [PATCH] security/libprelude: update to 0.9.16.1

Robin Gruyters r.gruyters at services.betronic.nl
Wed Jan 16 08:50:02 UTC 2008


>Number:         119708
>Category:       ports
>Synopsis:       [PATCH] security/libprelude: update to 0.9.16.1
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jan 16 08:50:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Robin Gruyters
>Release:        FreeBSD 6.2-RELEASE-p5 i386
>Organization:
Betronic Nederland B.V.
>Environment:
System: FreeBSD server.yirdis.net 6.2-RELEASE-p5 FreeBSD 6.2-RELEASE-p5 #4: Thu May 31 10:58:52 CEST 2007
>Description:
- Update to 0.9.16.1

Removed file(s):
- files/patch-prelude-admin__prelude-admin.c
- files/patch-src__prelude-failover.c

Changelog libprelude-0.9.16.1:
- Heartbeat are now sent as high priority messages.
- Fix compilation issue on system with old GnuTLS version (close #268).
- Propagate the CC environment variable for bindings compilation 
  (fix #264), by Pierre Chifflier <p.chifflier at inl.fr>.
- More explicit assertion on invalid API usage, thanks to 
  Sebastien Tricaud <toady at inl.fr>.
- Appropriatly set the process umask before creating analyzer 
  profile / failover files and directories (Fix possible loading
  problem with certain umask).
- Various bug fixes and minor enhancements.


Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:

--- libprelude-0.9.16.1.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/security/libprelude/Makefile /data2/FreeBSD/custom_ports/security/libprelude/Makefile
--- /usr/ports/security/libprelude/Makefile	Thu Nov  1 02:23:50 2007
+++ /data2/FreeBSD/custom_ports/security/libprelude/Makefile	Tue Jan 15 09:47:55 2008
@@ -4,7 +4,7 @@
 # $FreeBSD: ports/security/libprelude/Makefile,v 1.48 2007/10/25 02:18:38 clsung Exp $
 
 PORTNAME=	libprelude
-PORTVERSION=	0.9.16
+PORTVERSION=	0.9.16.1
 CATEGORIES=	security
 MASTER_SITES=	http://www.prelude-ids.org/download/releases/ \
 		http://www.prelude-ids.org/download/releases/old/
diff -ruN --exclude=CVS /usr/ports/security/libprelude/distinfo /data2/FreeBSD/custom_ports/security/libprelude/distinfo
--- /usr/ports/security/libprelude/distinfo	Thu Nov  1 02:23:50 2007
+++ /data2/FreeBSD/custom_ports/security/libprelude/distinfo	Tue Jan 15 09:48:18 2008
@@ -1,3 +1,3 @@
-MD5 (libprelude-0.9.16.tar.gz) = d2fa3e77d9104d8ae02e7730e1180f99
-SHA256 (libprelude-0.9.16.tar.gz) = 2831740fdfbfb4299356a091bb883396188c69553dd148cc581eba35d3c00903
-SIZE (libprelude-0.9.16.tar.gz) = 1964830
+MD5 (libprelude-0.9.16.1.tar.gz) = ba597fdfb9641a0099a8907ea53c6db8
+SHA256 (libprelude-0.9.16.1.tar.gz) = d300bddf9101daf67f86cc6edf094b85cca1e3b3d9c4352a0083da1486b6b20b
+SIZE (libprelude-0.9.16.1.tar.gz) = 1973446
diff -ruN --exclude=CVS /usr/ports/security/libprelude/files/patch-prelude-admin__prelude-admin.c /data2/FreeBSD/custom_ports/security/libprelude/files/patch-prelude-admin__prelude-admin.c
--- /usr/ports/security/libprelude/files/patch-prelude-admin__prelude-admin.c	Thu Oct 25 04:18:38 2007
+++ /data2/FreeBSD/custom_ports/security/libprelude/files/patch-prelude-admin__prelude-admin.c	Thu Jan  1 01:00:00 1970
@@ -1,91 +0,0 @@
---- ./prelude-admin/prelude-admin.c.orig	Mon Oct  1 12:47:42 2007
-+++ ./prelude-admin/prelude-admin.c	Tue Oct 23 10:16:42 2007
-@@ -69,7 +69,6 @@
- #ifdef WIN32
- # define chown(x, y, z) (0)
- # define fchown(x, y, z) (0)
--# define fchmod(x, y) (0)
- # define getuid(x) (0)
- # define getgid(x) (0)
- # define mkdir(x, y) mkdir(x)
-@@ -710,10 +709,6 @@
-                 return -1;
-         }
- 
--        ret = fchmod(fileno(fd), S_IRUSR|S_IWUSR|S_IRGRP);
--        if ( ret < 0 )
--                fprintf(stderr, "error changing '%s' permission: %s.\n", filename, strerror(errno));
--
-         ret = fchown(fileno(fd), prelude_client_profile_get_uid(profile), prelude_client_profile_get_gid(profile));
-         if ( ret < 0 )
-                 fprintf(stderr, "error changing '%s' ownership: %s.\n", filename, strerror(errno));
-@@ -752,19 +747,18 @@
- 
-         already_exist = access(filename, F_OK);
- 
--        fd = fopen(filename, (already_exist == 0) ? "r" : "w");
--        if ( ! fd ) {
--                fprintf(stderr, "error opening %s: %s.\n", filename, strerror(errno));
-+        ret = open(filename, (already_exist == 0) ? O_RDONLY : O_CREAT|O_WRONLY, S_IRUSR|S_IWUSR|S_IRGRP);
-+        if ( ret < 0 ) {
-+                fprintf(stderr, "error opening '%s': %s.\n", filename, strerror(errno));
-                 return -1;
-         }
- 
--        ret = fchown(fileno(fd), prelude_client_profile_get_uid(profile), prelude_client_profile_get_gid(profile));
--        if ( ret < 0 )
--                fprintf(stderr, "couldn't change %s owner.\n", filename);
--
--        ret = fchmod(fileno(fd), S_IRUSR|S_IWUSR|S_IRGRP);
--        if ( ret < 0 )
--                fprintf(stderr, "couldn't make ident file readable for all.\n");
-+        fd = fdopen(ret, (already_exist == 0) ? "r" : "w");
-+        if ( ! fd ) {
-+                close(ret);
-+                fprintf(stderr, "error opening '%s': %s.\n", filename, strerror(errno));
-+                return -1;
-+        }
- 
-         if ( already_exist == 0 ) {
-                 if ( ! fgets(buf, sizeof(buf), fd) ) {
-@@ -945,11 +939,11 @@
- 
- 
- 
--static int create_directory(prelude_client_profile_t *profile, const char *dirname)
-+static int create_directory(prelude_client_profile_t *profile, const char *dirname, int flags)
- {
-         int ret;
- 
--        ret = mkdir(dirname, S_IRWXU|S_IRWXG);
-+        ret = mkdir(dirname, flags);
-         if ( ret < 0 && errno != EEXIST ) {
-                 fprintf(stderr, "error creating directory %s: %s.\n", dirname, strerror(errno));
-                 return -1;
-@@ -977,7 +971,7 @@
- 
-         prelude_client_profile_get_profile_dirname(profile, buf, sizeof(buf));
- 
--        ret = create_directory(profile, buf);
-+        ret = create_directory(profile, buf, S_IRWXU|S_IRGRP|S_IXGRP);
-         if ( ret < 0 ) {
-                 fprintf(stderr, "error creating directory %s: %s.\n", buf, strerror(errno));
-                 return -1;
-@@ -1000,7 +994,7 @@
-         prelude_client_profile_set_analyzerid(profile, *analyzerid);
- 
-         prelude_client_profile_get_backup_dirname(profile, buf, sizeof(buf));
--        return create_directory(profile, buf);
-+        return create_directory(profile, buf, S_IRWXU|S_IRWXG);
- }
- 
- 
-@@ -2128,6 +2122,8 @@
- #ifndef WIN32
-         signal(SIGPIPE, SIG_IGN);
- #endif
-+
-+        umask(S_IRWXO);
- 
-         for ( i = 0; i < sizeof(tbl) / sizeof(*tbl); i++ ) {
-                 if ( strcmp(tbl[i].cmd, argv[1]) != 0 )
diff -ruN --exclude=CVS /usr/ports/security/libprelude/files/patch-src__prelude-failover.c /data2/FreeBSD/custom_ports/security/libprelude/files/patch-src__prelude-failover.c
--- /usr/ports/security/libprelude/files/patch-src__prelude-failover.c	Thu Oct 25 04:18:38 2007
+++ /data2/FreeBSD/custom_ports/security/libprelude/files/patch-src__prelude-failover.c	Thu Jan  1 01:00:00 1970
@@ -1,98 +0,0 @@
---- ./src/prelude-failover.c.orig	Thu Aug 30 15:24:30 2007
-+++ ./src/prelude-failover.c	Tue Oct 23 10:16:45 2007
-@@ -292,7 +292,7 @@
-         struct stat jst, wst;
-         failover_journal_entry_t jentry;
- 
--        failover->jfd = open(filename, O_CREAT|O_RDWR, S_IRUSR|S_IWUSR);
-+        failover->jfd = open(filename, O_CREAT|O_RDWR, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP);
-         if ( failover->jfd < 0 )
-                 return prelude_error_verbose(PRELUDE_ERROR_GENERIC, "could not open '%s': %s", filename, strerror(errno));
- 
-@@ -357,7 +357,7 @@
- {
-         int ret;
- 
--        *fd = open(filename, flags, S_IRUSR|S_IWUSR);
-+        *fd = open(filename, flags, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP);
-         if ( *fd < 0 )
-                 return prelude_error_verbose(PRELUDE_ERROR_GENERIC, "error opening '%s': %s", filename, strerror(errno));
- 
-@@ -498,33 +498,46 @@
- 
- int prelude_failover_new(prelude_failover_t **out, const char *dirname)
- {
-+        mode_t mode;
-         size_t flen;
-         int ret, wfd, rfd;
-         char filename[PATH_MAX];
-         prelude_failover_t *new;
- 
-+        mode = umask(S_IRWXO);
-+
-         ret = mkdir(dirname, S_IRWXU|S_IRWXG);
--        if ( ret < 0 && errno != EEXIST )
-+        if ( ret < 0 && errno != EEXIST ) {
-+                umask(mode);
-                 return prelude_error_verbose(PRELUDE_ERROR_GENERIC, "could not create directory '%s': %s", dirname, strerror(errno));
-+        }
- 
-         wfd = get_failover_data_filename_and_fd(dirname, filename, sizeof(filename));
--        if ( wfd < 0 )
-+        if ( wfd < 0 ) {
-+                umask(mode);
-                 return wfd;
-+        }
- 
-         rfd = open(filename, O_RDONLY);
-         if ( rfd < 0 ) {
-+                umask(mode);
-                 close(wfd);
-                 return prelude_error_verbose(PRELUDE_ERROR_GENERIC, "could not open '%s' for reading: %s", filename, strerror(errno));
-         }
- 
-         new = calloc(1, sizeof(*new));
--        if ( ! new )
-+        if ( ! new ) {
-+                umask(mode);
-+                close(rfd);
-+                close(wfd);
-                 return prelude_error_from_errno(errno);
-+        }
- 
-         new->jfd = -1;
- 
-         ret = prelude_io_new(&new->wfd);
-         if ( ret < 0 ) {
-+                umask(mode);
-                 close(rfd);
-                 close(wfd);
-                 free(new);
-@@ -533,6 +546,7 @@
- 
-         ret = prelude_io_new(&new->rfd);
-         if ( ret < 0 ) {
-+                umask(mode);
-                 close(rfd);
-                 close(wfd);
-                 free(new);
-@@ -546,16 +560,19 @@
- 
-         ret = snprintf(filename + flen, sizeof(filename) - flen, ".journal");
-         if ( ret < 0 || ret >= (sizeof(filename) - flen) ) {
-+                umask(mode);
-                 prelude_failover_destroy(new);
-                 return -1;
-         }
- 
-         ret = journal_initialize(new, filename);
-         if ( ret < 0 ) {
-+                umask(mode);
-                 prelude_failover_destroy(new);
-                 return ret;
-         }
- 
-+        umask(mode);
-         *out = new;
- 
-         return 0;
--- libprelude-0.9.16.1.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list