1/* 2 Unix SMB/CIFS implementation. 3 4 endpoint server for the browser pipe 5 6 Copyright (C) Stefan Metzmacher 2008 7 8 This program is free software; you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation; either version 3 of the License, or 11 (at your option) any later version. 12 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program. If not, see <http://www.gnu.org/licenses/>. 20*/ 21 22#include "includes.h" 23#include "rpc_server/dcerpc_server.h" 24#include "librpc/gen_ndr/ndr_browser.h" 25 26 27/* 28 BrowserrServerEnum 29*/ 30static void dcesrv_BrowserrServerEnum(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, 31 struct BrowserrServerEnum *r) 32{ 33 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); 34} 35 36 37/* 38 BrowserrDebugCall 39*/ 40static void dcesrv_BrowserrDebugCall(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, 41 struct BrowserrDebugCall *r) 42{ 43 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); 44} 45 46 47/* 48 BrowserrQueryOtherDomains 49*/ 50static WERROR dcesrv_BrowserrQueryOtherDomains(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, 51 struct BrowserrQueryOtherDomains *r) 52{ 53 struct BrowserrSrvInfo100Ctr *ctr100; 54 55 switch (r->in.info->level) { 56 case 100: 57 if (!r->in.info->info.info100) { 58 return WERR_INVALID_PARAM; 59 } 60 61 ctr100 = talloc(mem_ctx, struct BrowserrSrvInfo100Ctr); 62 W_ERROR_HAVE_NO_MEMORY(ctr100); 63 64 ctr100->entries_read = 0; 65 ctr100->entries = talloc_zero_array(ctr100, struct srvsvc_NetSrvInfo100, 66 ctr100->entries_read); 67 W_ERROR_HAVE_NO_MEMORY(ctr100->entries); 68 69 r->out.info->info.info100 = ctr100; 70 *r->out.total_entries = ctr100->entries_read; 71 return WERR_OK; 72 default: 73 return WERR_UNKNOWN_LEVEL; 74 } 75 76 return WERR_INVALID_PARAM; 77} 78 79 80/* 81 BrowserrResetNetlogonState 82*/ 83static void dcesrv_BrowserrResetNetlogonState(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, 84 struct BrowserrResetNetlogonState *r) 85{ 86 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); 87} 88 89 90/* 91 BrowserrDebugTrace 92*/ 93static void dcesrv_BrowserrDebugTrace(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, 94 struct BrowserrDebugTrace *r) 95{ 96 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); 97} 98 99 100/* 101 BrowserrQueryStatistics 102*/ 103static void dcesrv_BrowserrQueryStatistics(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, 104 struct BrowserrQueryStatistics *r) 105{ 106 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); 107} 108 109 110/* 111 BrowserResetStatistics 112*/ 113static void dcesrv_BrowserResetStatistics(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, 114 struct BrowserResetStatistics *r) 115{ 116 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); 117} 118 119 120/* 121 NetrBrowserStatisticsClear 122*/ 123static void dcesrv_NetrBrowserStatisticsClear(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, 124 struct NetrBrowserStatisticsClear *r) 125{ 126 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); 127} 128 129 130/* 131 NetrBrowserStatisticsGet 132*/ 133static void dcesrv_NetrBrowserStatisticsGet(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, 134 struct NetrBrowserStatisticsGet *r) 135{ 136 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); 137} 138 139 140/* 141 BrowserrSetNetlogonState 142*/ 143static void dcesrv_BrowserrSetNetlogonState(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, 144 struct BrowserrSetNetlogonState *r) 145{ 146 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); 147} 148 149 150/* 151 BrowserrQueryEmulatedDomains 152*/ 153static void dcesrv_BrowserrQueryEmulatedDomains(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, 154 struct BrowserrQueryEmulatedDomains *r) 155{ 156 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); 157} 158 159 160/* 161 BrowserrServerEnumEx 162*/ 163static void dcesrv_BrowserrServerEnumEx(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, 164 struct BrowserrServerEnumEx *r) 165{ 166 DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR); 167} 168 169 170/* include the generated boilerplate */ 171#include "librpc/gen_ndr/ndr_browser_s.c" 172