Line data Source code
1 : /* 2 : Unix SMB/CIFS implementation. 3 : Samba utility functions 4 : Copyright (C) Guenther Deschner 2006 5 : 6 : This program is free software; you can redistribute it and/or modify 7 : it under the terms of the GNU General Public License as published by 8 : the Free Software Foundation; either version 3 of the License, or 9 : (at your option) any later version. 10 : 11 : This program is distributed in the hope that it will be useful, 12 : but WITHOUT ANY WARRANTY; without even the implied warranty of 13 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 : GNU General Public License for more details. 15 : 16 : You should have received a copy of the GNU General Public License 17 : along with this program. If not, see <http://www.gnu.org/licenses/>. 18 : */ 19 : 20 : #include "includes.h" 21 : 22 : #ifdef HAVE_LIBNSCD 23 : #include <libnscd.h> 24 : #endif 25 : 26 514 : static void smb_nscd_flush_cache(const char *service) 27 : { 28 : #ifdef HAVE_NSCD_FLUSH_CACHE 29 : if (nscd_flush_cache(service)) { 30 : DEBUG(10,("failed to flush nscd cache for '%s' service: %s. " 31 : "Is nscd running?\n", 32 : service, strerror(errno))); 33 : } 34 : #endif 35 514 : } 36 : 37 161 : void smb_nscd_flush_user_cache(void) 38 : { 39 161 : smb_nscd_flush_cache("passwd"); 40 161 : } 41 : 42 353 : void smb_nscd_flush_group_cache(void) 43 : { 44 353 : smb_nscd_flush_cache("group"); 45 353 : }