00001 /* 00002 * Unix SMB/CIFS implementation. 00003 * RPC Pipe client / server routines 00004 * Copyright (C) Andrew Tridgell 1992-1998 00005 * Copyright (C) Luke Kenneth Casson Leighton 1996-1998, 00006 * Copyright (C) Paul Ashton 1997-1998, 00007 * Copyright (C) Andrew Bartlett 2004. 00008 * 00009 * This program is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your option) any later version. 00013 * 00014 * This program is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 * GNU General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License 00020 * along with this program; if not, write to the Free Software 00021 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00022 */ 00023 00024 /* this module apparently provides an implementation of DCE/RPC over a 00025 * named pipe (IPC$ connection using SMBtrans). details of DCE/RPC 00026 * documentation are available (in on-line form) from the X-Open group. 00027 * 00028 * this module should provide a level of abstraction between SMB 00029 * and DCE/RPC, while minimising the amount of mallocs, unnecessary 00030 * data copies, and network traffic. 00031 * 00032 * in this version, which takes a "let's learn what's going on and 00033 * get something running" approach, there is additional network 00034 * traffic generated, but the code should be easier to understand... 00035 * 00036 * ... if you read the docs. or stare at packets for weeks on end. 00037 * 00038 */ 00039 00040 #include "includes.h" 00041 00042 #undef DBGC_CLASS 00043 #define DBGC_CLASS DBGC_RPC_SRV 00044 00045 #if 0 /* these aren't used currently but are here if you need them */ 00046 /* 00047 * A list of the rids of well known BUILTIN and Domain users 00048 * and groups. 00049 */ 00050 00051 static const rid_name builtin_alias_rids[] = 00052 { 00053 { BUILTIN_ALIAS_RID_ADMINS , "Administrators" }, 00054 { BUILTIN_ALIAS_RID_USERS , "Users" }, 00055 { BUILTIN_ALIAS_RID_GUESTS , "Guests" }, 00056 { BUILTIN_ALIAS_RID_POWER_USERS , "Power Users" }, 00057 00058 { BUILTIN_ALIAS_RID_ACCOUNT_OPS , "Account Operators" }, 00059 { BUILTIN_ALIAS_RID_SYSTEM_OPS , "System Operators" }, 00060 { BUILTIN_ALIAS_RID_PRINT_OPS , "Print Operators" }, 00061 { BUILTIN_ALIAS_RID_BACKUP_OPS , "Backup Operators" }, 00062 { BUILTIN_ALIAS_RID_REPLICATOR , "Replicator" }, 00063 { 0 , NULL } 00064 }; 00065 00066 /* array lookup of well-known Domain RID users. */ 00067 static const rid_name domain_user_rids[] = 00068 { 00069 { DOMAIN_USER_RID_ADMIN , "Administrator" }, 00070 { DOMAIN_USER_RID_GUEST , "Guest" }, 00071 { 0 , NULL } 00072 }; 00073 00074 /* array lookup of well-known Domain RID groups. */ 00075 static const rid_name domain_group_rids[] = 00076 { 00077 { DOMAIN_GROUP_RID_ADMINS , "Domain Admins" }, 00078 { DOMAIN_GROUP_RID_USERS , "Domain Users" }, 00079 { DOMAIN_GROUP_RID_GUESTS , "Domain Guests" }, 00080 { 0 , NULL } 00081 }; 00082 #endif 00083