mirror of git://anongit.mindrot.org/openssh.git
- (dtucker) [openbsd-compat/port-solaris.c] Bug #1255: Make only hwerr
events fatal in Solaris process contract support and tell it to signal only processes in the same process group when something happens. Based on information from andrew.benham at thus.net and similar to a patch from Chad Mynhier. ok djm@
This commit is contained in:
parent
796c6c693d
commit
4d13ecea54
|
@ -1,3 +1,10 @@
|
||||||
|
20061101
|
||||||
|
- (dtucker) [openbsd-compat/port-solaris.c] Bug #1255: Make only hwerr
|
||||||
|
events fatal in Solaris process contract support and tell it to signal
|
||||||
|
only processes in the same process group when something happens.
|
||||||
|
Based on information from andrew.benham at thus.net and similar to
|
||||||
|
a patch from Chad Mynhier. ok djm@
|
||||||
|
|
||||||
20061027
|
20061027
|
||||||
- (djm) [auth.c] gc some dead code
|
- (djm) [auth.c] gc some dead code
|
||||||
|
|
||||||
|
@ -2571,4 +2578,4 @@
|
||||||
OpenServer 6 and add osr5bigcrypt support so when someone migrates
|
OpenServer 6 and add osr5bigcrypt support so when someone migrates
|
||||||
passwords between UnixWare and OpenServer they will still work. OK dtucker@
|
passwords between UnixWare and OpenServer they will still work. OK dtucker@
|
||||||
|
|
||||||
$Id: ChangeLog,v 1.4580 2006/10/27 15:10:15 djm Exp $
|
$Id: ChangeLog,v 1.4581 2006/10/31 23:28:49 dtucker Exp $
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: port-solaris.c,v 1.2 2006/09/01 05:38:41 djm Exp $ */
|
/* $Id: port-solaris.c,v 1.3 2006/10/31 23:28:49 dtucker Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 Chad Mynhier.
|
* Copyright (c) 2006 Chad Mynhier.
|
||||||
|
@ -86,18 +86,27 @@ solaris_contract_pre_fork(void)
|
||||||
debug2("%s: setting up process contract template on fd %d",
|
debug2("%s: setting up process contract template on fd %d",
|
||||||
__func__, tmpl_fd);
|
__func__, tmpl_fd);
|
||||||
|
|
||||||
/* We have to set certain attributes before activating the template */
|
/* First we set the template parameters and event sets. */
|
||||||
if (ct_pr_tmpl_set_fatal(tmpl_fd,
|
if (ct_pr_tmpl_set_param(tmpl_fd, CT_PR_PGRPONLY) != 0) {
|
||||||
CT_PR_EV_HWERR|CT_PR_EV_SIGNAL|CT_PR_EV_CORE) != 0) {
|
error("%s: Error setting process contract parameter set "
|
||||||
|
"(pgrponly): %s", __func__, strerror(errno));
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
if (ct_pr_tmpl_set_fatal(tmpl_fd, CT_PR_EV_HWERR) != 0) {
|
||||||
error("%s: Error setting process contract template "
|
error("%s: Error setting process contract template "
|
||||||
"fatal events: %s", __func__, strerror(errno));
|
"fatal events: %s", __func__, strerror(errno));
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
if (ct_tmpl_set_critical(tmpl_fd, CT_PR_EV_HWERR) != 0) {
|
if (ct_tmpl_set_critical(tmpl_fd, 0) != 0) {
|
||||||
error("%s: Error setting process contract template "
|
error("%s: Error setting process contract template "
|
||||||
"critical events: %s", __func__, strerror(errno));
|
"critical events: %s", __func__, strerror(errno));
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
if (ct_tmpl_set_informative(tmpl_fd, CT_PR_EV_HWERR) != 0) {
|
||||||
|
error("%s: Error setting process contract template "
|
||||||
|
"informative events: %s", __func__, strerror(errno));
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
/* Now make this the active template for this process. */
|
/* Now make this the active template for this process. */
|
||||||
if (ct_tmpl_activate(tmpl_fd) != 0) {
|
if (ct_tmpl_activate(tmpl_fd) != 0) {
|
||||||
|
|
Loading…
Reference in New Issue