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