ports/115582: [MAINTAINER-UPDATE] sysutils/bacula-server - repair PID

Dan Langille dan at langille.org
Thu Aug 16 20:10:07 UTC 2007


The following reply was made to PR ports/115582; it has been noted by GNATS.

From: "Dan Langille" <dan at langille.org>
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: ports/115582: [MAINTAINER-UPDATE] sysutils/bacula-server - repair PID
Date: Thu, 16 Aug 2007 16:09:37 -0400

 Please use this Description:
 
 The code has a PID/priv issue. See bug # 932 at 
 http://bugs.bacula.org/
 In short, it was dropping privs before setting PID.
 Patch the code locally to get FreeBSD users running.
 While here, if PostgreSQL is not installed, ask for 8.2, not the 
 default of 8.1.
 Remove EOT model patch, now in vendor code.
 Update pkg-message to reflect new version.
 
 Please use this patch instead:
 
 diff -ruN /usr/ports/sysutils/bacula-server/Makefile bacula-
 server/Makefile
 --- /usr/ports/sysutils/bacula-server/Makefile	Wed Aug 15 05:45:33 
 2007
 +++ bacula-server/Makefile	Thu Aug 16 14:33:08 2007
 @@ -7,6 +7,7 @@
  
  PORTNAME=	bacula
  DISTVERSION=	2.2.0
 +PORTREVISION	1
  CATEGORIES=	sysutils
  MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
  MASTER_SITE_SUBDIR=	bacula
 @@ -140,6 +141,7 @@
  DBTYPE=			mysql
  SUB_LIST+=		REQ_MYSQL=mysql REQ_PGSQL=""
  .elif defined(WITH_POSTGRESQL)
 +DEFAULT_PGSQL_VER?=	82
  USE_PGSQL=		yes
  CONFIGURE_ARGS+=	--with-postgresql=yes
  DBTYPE=			postgresql
 diff -ruN /usr/ports/sysutils/bacula-server/files/eotmodel-src-stored-
 dev.c.patch bacula-server/files/eotmodel-src-stored-dev.c.patch
 --- /usr/ports/sysutils/bacula-server/files/eotmodel-src-stored-
 dev.c.patch	Wed Mar  7 16:57:47 2007
 +++ bacula-server/files/eotmodel-src-stored-dev.c.patch	Wed Dec 31 
 19:00:00 1969
 @@ -1,10 +0,0 @@
 -Index: src/stored/dev.c
 -@@ -2368,7 +2368,7 @@
 -       }
 -    }
 - /* Turn this on later when fully tested */
 --#if defined(xxxMTIOCSETEOTMODEL) 
 -+#if defined(MTIOCSETEOTMODEL) 
 -    uint32_t neof;
 -    if (dev->has_cap(CAP_TWOEOF)) {
 -       neof = 2;
 diff -ruN /usr/ports/sysutils/bacula-server/files/patch-src-dird-
 dird.c bacula-server/files/patch-src-dird-dird.c
 --- /usr/ports/sysutils/bacula-server/files/patch-src-dird-dird.c	Wed 
 Dec 31 19:00:00 1969
 +++ bacula-server/files/patch-src-dird-dird.c	Thu Aug 16 14:25:40 
 2007
 @@ -0,0 +1,33 @@
 +--- src/dird/dird.c	2007-06-07 10:46:43.000000000 -0400
 ++++ src/dird/dird.c	2007-08-16 08:58:20.000000000 -0400
 +@@ -228,6 +228,15 @@
 +       Jmsg((JCR *)NULL, M_ERROR_TERM, 0, _("Please correct 
 configuration file: %s\n"), configfile);
 +    }
 + 
 ++   if (background) {
 ++      daemon_start();
 ++      init_stack_dump();              /* grab new pid */
 ++   }
 ++
 ++   /* Create pid must come after we are a daemon -- so we have our 
 final pid */
 ++   create_pid_file(director->pid_directory, "bacula-dir", 
 get_first_port_host_order(director->DIRaddrs));
 ++   read_state_file(director->working_directory, "bacula-dir", 
 get_first_port_host_order(director->DIRaddrs));
 ++
 +    drop(uid, gid);                    /* reduce privileges if 
 requested */
 + 
 +    if (!check_catalog()) {
 +@@ -247,14 +256,6 @@
 +    FDConnectTimeout = (int)director->FDConnectTimeout;
 +    SDConnectTimeout = (int)director->SDConnectTimeout;
 + 
 +-   if (background) {
 +-      daemon_start();
 +-      init_stack_dump();              /* grab new pid */
 +-   }
 +-
 +-   /* Create pid must come after we are a daemon -- so we have our 
 final pid */
 +-   create_pid_file(director->pid_directory, "bacula-dir", 
 get_first_port_host_order(director->DIRaddrs));
 +-   read_state_file(director->working_directory, "bacula-dir", 
 get_first_port_host_order(director->DIRaddrs));
 + 
 + 
 + #if !defined(HAVE_WIN32)
 diff -ruN /usr/ports/sysutils/bacula-server/files/pkg-
 message.client.in bacula-server/files/pkg-message.client.in
 --- /usr/ports/sysutils/bacula-server/files/pkg-message.client.in	Wed 
 Mar  7 16:57:47 2007
 +++ bacula-server/files/pkg-message.client.in	Thu Aug 16 16:08:48 
 2007
 @@ -10,14 +10,4 @@
  
    as installed by docs port for the upgrade procedure.
  
 -IMPORTANT UPGRADE NOTES:
 -
 -- A database upgrade is required.
 -- Your Director and SD must be simultaneously upgraded.
 -- The "Accept Any Volume" directive has been removed.
 -
 -- Lots of new features
 -
 -Read the ReleaseNotes for further information.
 -
  
 ######################################################################
 ##########
 diff -ruN /usr/ports/sysutils/bacula-server/files/pkg-
 message.server.in bacula-server/files/pkg-message.server.in
 --- /usr/ports/sysutils/bacula-server/files/pkg-message.server.in	Wed 
 Mar  7 16:57:47 2007
 +++ bacula-server/files/pkg-message.server.in	Thu Aug 16 16:01:03 
 2007
 @@ -55,11 +55,7 @@
  
  IMPORTANT UPGRADE NOTES FOR THIS RELEASE:
  
 -- A database upgrade is required.
 -- Your Director and SD must be simultaneously upgraded.
 -- The "Accept Any Volume" directive has been removed.
 -
 -- Lots of new features
 +- bacula-client and bacula-server do not need to be simultaneously 
 upgraded.
  
  Read the ReleaseNotes for further information.
  
 



More information about the freebsd-ports-bugs mailing list