xref: /freebsd/crypto/openssh/platform.c (revision b15c83408cb1e9b86c1895af0f097de05fc92ccf)
1b15c8340SDag-Erling Smørgrav /* $Id: platform.c,v 1.3 2009/12/20 23:49:22 dtucker Exp $ */
2761efaa7SDag-Erling Smørgrav 
3761efaa7SDag-Erling Smørgrav /*
4761efaa7SDag-Erling Smørgrav  * Copyright (c) 2006 Darren Tucker.  All rights reserved.
5761efaa7SDag-Erling Smørgrav  *
6761efaa7SDag-Erling Smørgrav  * Permission to use, copy, modify, and distribute this software for any
7761efaa7SDag-Erling Smørgrav  * purpose with or without fee is hereby granted, provided that the above
8761efaa7SDag-Erling Smørgrav  * copyright notice and this permission notice appear in all copies.
9761efaa7SDag-Erling Smørgrav  *
10761efaa7SDag-Erling Smørgrav  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11761efaa7SDag-Erling Smørgrav  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12761efaa7SDag-Erling Smørgrav  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13761efaa7SDag-Erling Smørgrav  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14761efaa7SDag-Erling Smørgrav  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15761efaa7SDag-Erling Smørgrav  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16761efaa7SDag-Erling Smørgrav  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17761efaa7SDag-Erling Smørgrav  */
18761efaa7SDag-Erling Smørgrav 
19761efaa7SDag-Erling Smørgrav #include "config.h"
20761efaa7SDag-Erling Smørgrav #include "platform.h"
21761efaa7SDag-Erling Smørgrav 
22761efaa7SDag-Erling Smørgrav #include "openbsd-compat/openbsd-compat.h"
23761efaa7SDag-Erling Smørgrav 
24761efaa7SDag-Erling Smørgrav void
25b15c8340SDag-Erling Smørgrav platform_pre_listen(void)
26b15c8340SDag-Erling Smørgrav {
27b15c8340SDag-Erling Smørgrav #ifdef LINUX_OOM_ADJUST
28b15c8340SDag-Erling Smørgrav 	/* Adjust out-of-memory killer so listening process is not killed */
29b15c8340SDag-Erling Smørgrav 	oom_adjust_setup();
30b15c8340SDag-Erling Smørgrav #endif
31b15c8340SDag-Erling Smørgrav }
32b15c8340SDag-Erling Smørgrav 
33b15c8340SDag-Erling Smørgrav void
34761efaa7SDag-Erling Smørgrav platform_pre_fork(void)
35761efaa7SDag-Erling Smørgrav {
36761efaa7SDag-Erling Smørgrav #ifdef USE_SOLARIS_PROCESS_CONTRACTS
37761efaa7SDag-Erling Smørgrav 	solaris_contract_pre_fork();
38761efaa7SDag-Erling Smørgrav #endif
39761efaa7SDag-Erling Smørgrav }
40761efaa7SDag-Erling Smørgrav 
41761efaa7SDag-Erling Smørgrav void
42761efaa7SDag-Erling Smørgrav platform_post_fork_parent(pid_t child_pid)
43761efaa7SDag-Erling Smørgrav {
44761efaa7SDag-Erling Smørgrav #ifdef USE_SOLARIS_PROCESS_CONTRACTS
45761efaa7SDag-Erling Smørgrav 	solaris_contract_post_fork_parent(child_pid);
46761efaa7SDag-Erling Smørgrav #endif
47761efaa7SDag-Erling Smørgrav }
48761efaa7SDag-Erling Smørgrav 
49761efaa7SDag-Erling Smørgrav void
50761efaa7SDag-Erling Smørgrav platform_post_fork_child(void)
51761efaa7SDag-Erling Smørgrav {
52761efaa7SDag-Erling Smørgrav #ifdef USE_SOLARIS_PROCESS_CONTRACTS
53761efaa7SDag-Erling Smørgrav 	solaris_contract_post_fork_child();
54761efaa7SDag-Erling Smørgrav #endif
55b15c8340SDag-Erling Smørgrav #ifdef LINUX_OOM_ADJUST
56b15c8340SDag-Erling Smørgrav 	oom_adjust_restore();
57b15c8340SDag-Erling Smørgrav #endif
58b15c8340SDag-Erling Smørgrav }
59b15c8340SDag-Erling Smørgrav 
60b15c8340SDag-Erling Smørgrav char *
61b15c8340SDag-Erling Smørgrav platform_krb5_get_principal_name(const char *pw_name)
62b15c8340SDag-Erling Smørgrav {
63b15c8340SDag-Erling Smørgrav #ifdef USE_AIX_KRB_NAME
64b15c8340SDag-Erling Smørgrav 	return aix_krb5_get_principal_name(pw_name);
65b15c8340SDag-Erling Smørgrav #else
66b15c8340SDag-Erling Smørgrav 	return NULL;
67b15c8340SDag-Erling Smørgrav #endif
68761efaa7SDag-Erling Smørgrav }
69