xref: /dragonfly/crypto/openssh/platform.c (revision 856ea928)
1*856ea928SPeter Avalos /* $Id: platform.c,v 1.3 2009/12/20 23:49:22 dtucker Exp $ */
218de8d7fSPeter Avalos 
318de8d7fSPeter Avalos /*
418de8d7fSPeter Avalos  * Copyright (c) 2006 Darren Tucker.  All rights reserved.
518de8d7fSPeter Avalos  *
618de8d7fSPeter Avalos  * Permission to use, copy, modify, and distribute this software for any
718de8d7fSPeter Avalos  * purpose with or without fee is hereby granted, provided that the above
818de8d7fSPeter Avalos  * copyright notice and this permission notice appear in all copies.
918de8d7fSPeter Avalos  *
1018de8d7fSPeter Avalos  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1118de8d7fSPeter Avalos  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1218de8d7fSPeter Avalos  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1318de8d7fSPeter Avalos  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1418de8d7fSPeter Avalos  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1518de8d7fSPeter Avalos  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1618de8d7fSPeter Avalos  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1718de8d7fSPeter Avalos  */
1818de8d7fSPeter Avalos 
1918de8d7fSPeter Avalos #include "config.h"
2018de8d7fSPeter Avalos #include "platform.h"
2118de8d7fSPeter Avalos 
2218de8d7fSPeter Avalos #include "openbsd-compat/openbsd-compat.h"
2318de8d7fSPeter Avalos 
2418de8d7fSPeter Avalos void
25*856ea928SPeter Avalos platform_pre_listen(void)
26*856ea928SPeter Avalos {
27*856ea928SPeter Avalos #ifdef LINUX_OOM_ADJUST
28*856ea928SPeter Avalos 	/* Adjust out-of-memory killer so listening process is not killed */
29*856ea928SPeter Avalos 	oom_adjust_setup();
30*856ea928SPeter Avalos #endif
31*856ea928SPeter Avalos }
32*856ea928SPeter Avalos 
33*856ea928SPeter Avalos void
3418de8d7fSPeter Avalos platform_pre_fork(void)
3518de8d7fSPeter Avalos {
3618de8d7fSPeter Avalos #ifdef USE_SOLARIS_PROCESS_CONTRACTS
3718de8d7fSPeter Avalos 	solaris_contract_pre_fork();
3818de8d7fSPeter Avalos #endif
3918de8d7fSPeter Avalos }
4018de8d7fSPeter Avalos 
4118de8d7fSPeter Avalos void
4218de8d7fSPeter Avalos platform_post_fork_parent(pid_t child_pid)
4318de8d7fSPeter Avalos {
4418de8d7fSPeter Avalos #ifdef USE_SOLARIS_PROCESS_CONTRACTS
4518de8d7fSPeter Avalos 	solaris_contract_post_fork_parent(child_pid);
4618de8d7fSPeter Avalos #endif
4718de8d7fSPeter Avalos }
4818de8d7fSPeter Avalos 
4918de8d7fSPeter Avalos void
5018de8d7fSPeter Avalos platform_post_fork_child(void)
5118de8d7fSPeter Avalos {
5218de8d7fSPeter Avalos #ifdef USE_SOLARIS_PROCESS_CONTRACTS
5318de8d7fSPeter Avalos 	solaris_contract_post_fork_child();
5418de8d7fSPeter Avalos #endif
55*856ea928SPeter Avalos #ifdef LINUX_OOM_ADJUST
56*856ea928SPeter Avalos 	oom_adjust_restore();
57*856ea928SPeter Avalos #endif
58*856ea928SPeter Avalos }
59*856ea928SPeter Avalos 
60*856ea928SPeter Avalos char *
61*856ea928SPeter Avalos platform_krb5_get_principal_name(const char *pw_name)
62*856ea928SPeter Avalos {
63*856ea928SPeter Avalos #ifdef USE_AIX_KRB_NAME
64*856ea928SPeter Avalos 	return aix_krb5_get_principal_name(pw_name);
65*856ea928SPeter Avalos #else
66*856ea928SPeter Avalos 	return NULL;
67*856ea928SPeter Avalos #endif
6818de8d7fSPeter Avalos }
69