summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--openbsd-compat/port-solaris.c19
2 files changed, 22 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index cd99664cd..d02ba367e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
120061101
2 - (dtucker) [openbsd-compat/port-solaris.c] Bug #1255: Make only hwerr
3 events fatal in Solaris process contract support and tell it to signal
4 only processes in the same process group when something happens.
5 Based on information from andrew.benham at thus.net and similar to
6 a patch from Chad Mynhier. ok djm@
7
120061027 820061027
2- (djm) [auth.c] gc some dead code 9- (djm) [auth.c] gc some dead code
3 10
@@ -2571,4 +2578,4 @@
2571 OpenServer 6 and add osr5bigcrypt support so when someone migrates 2578 OpenServer 6 and add osr5bigcrypt support so when someone migrates
2572 passwords between UnixWare and OpenServer they will still work. OK dtucker@ 2579 passwords between UnixWare and OpenServer they will still work. OK dtucker@
2573 2580
2574$Id: ChangeLog,v 1.4580 2006/10/27 15:10:15 djm Exp $ 2581$Id: ChangeLog,v 1.4581 2006/10/31 23:28:49 dtucker Exp $
diff --git a/openbsd-compat/port-solaris.c b/openbsd-compat/port-solaris.c
index f57433e78..2ab64d487 100644
--- a/openbsd-compat/port-solaris.c
+++ b/openbsd-compat/port-solaris.c
@@ -1,4 +1,4 @@
1/* $Id: port-solaris.c,v 1.2 2006/09/01 05:38:41 djm Exp $ */ 1/* $Id: port-solaris.c,v 1.3 2006/10/31 23:28:49 dtucker Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2006 Chad Mynhier. 4 * Copyright (c) 2006 Chad Mynhier.
@@ -86,18 +86,27 @@ solaris_contract_pre_fork(void)
86 debug2("%s: setting up process contract template on fd %d", 86 debug2("%s: setting up process contract template on fd %d",
87 __func__, tmpl_fd); 87 __func__, tmpl_fd);
88 88
89 /* We have to set certain attributes before activating the template */ 89 /* First we set the template parameters and event sets. */
90 if (ct_pr_tmpl_set_fatal(tmpl_fd, 90 if (ct_pr_tmpl_set_param(tmpl_fd, CT_PR_PGRPONLY) != 0) {
91 CT_PR_EV_HWERR|CT_PR_EV_SIGNAL|CT_PR_EV_CORE) != 0) { 91 error("%s: Error setting process contract parameter set "
92 "(pgrponly): %s", __func__, strerror(errno));
93 goto fail;
94 }
95 if (ct_pr_tmpl_set_fatal(tmpl_fd, CT_PR_EV_HWERR) != 0) {
92 error("%s: Error setting process contract template " 96 error("%s: Error setting process contract template "
93 "fatal events: %s", __func__, strerror(errno)); 97 "fatal events: %s", __func__, strerror(errno));
94 goto fail; 98 goto fail;
95 } 99 }
96 if (ct_tmpl_set_critical(tmpl_fd, CT_PR_EV_HWERR) != 0) { 100 if (ct_tmpl_set_critical(tmpl_fd, 0) != 0) {
97 error("%s: Error setting process contract template " 101 error("%s: Error setting process contract template "
98 "critical events: %s", __func__, strerror(errno)); 102 "critical events: %s", __func__, strerror(errno));
99 goto fail; 103 goto fail;
100 } 104 }
105 if (ct_tmpl_set_informative(tmpl_fd, CT_PR_EV_HWERR) != 0) {
106 error("%s: Error setting process contract template "
107 "informative events: %s", __func__, strerror(errno));
108 goto fail;
109 }
101 110
102 /* Now make this the active template for this process. */ 111 /* Now make this the active template for this process. */
103 if (ct_tmpl_activate(tmpl_fd) != 0) { 112 if (ct_tmpl_activate(tmpl_fd) != 0) {