Changeset 988 for vendor/current/source4/ntvfs/ipc
- Timestamp:
- Nov 24, 2016, 1:14:11 PM (9 years ago)
- Location:
- vendor/current/source4/ntvfs/ipc
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/current/source4/ntvfs/ipc/ipc_rap.c
r740 r988 256 256 struct rap_NetShareEnum r; 257 257 NTSTATUS result; 258 uint32_t offset_save = 0; 259 struct rap_heap_save heap_save = {0}; 258 260 259 261 RAP_GOTO(rap_srv_pull_word(call, &r.in.level)); … … 283 285 284 286 int i = r.out.count; 285 uint32_t offset_save;286 struct rap_heap_save heap_save;287 287 288 288 offset_save = call->ndr_push_data->offset; … … 336 336 struct rap_NetServerEnum2 r; 337 337 NTSTATUS result; 338 uint32_t offset_save = 0; 339 struct rap_heap_save heap_save = {0}; 338 340 339 341 RAP_GOTO(rap_srv_pull_word(call, &r.in.level)); … … 365 367 366 368 int i = r.out.count; 367 uint32_t offset_save;368 struct rap_heap_save heap_save;369 369 370 370 offset_save = call->ndr_push_data->offset; -
vendor/current/source4/ntvfs/ipc/rap_server.c
r740 r988 73 73 r->out.info[i].info1.reserved1 = 0; 74 74 r->out.info[i].info1.share_type = dcesrv_common_get_share_type(mem_ctx, NULL, scfg); 75 r->out.info[i].info1.comment = talloc_strdup(mem_ctx, share_string_option(scfg, SHARE_COMMENT, ""));75 r->out.info[i].info1.comment = share_string_option(mem_ctx, scfg, SHARE_COMMENT, ""); 76 76 talloc_free(scfg); 77 77 j++; -
vendor/current/source4/ntvfs/ipc/vfs_ipc.c
r740 r988 30 30 #include "../librpc/gen_ndr/rap.h" 31 31 #include "ntvfs/ipc/proto.h" 32 #include " libcli/raw/ioctl.h"32 #include "../libcli/smb/smb_constants.h" 33 33 #include "param/param.h" 34 34 #include "../lib/tsocket/tsocket.h" … … 39 39 #include "auth/credentials/credentials.h" 40 40 #include "auth/credentials/credentials_krb5.h" 41 #include <gssapi/gssapi.h> 41 #include "system/kerberos.h" 42 #include "system/gssapi.h" 42 43 #include "system/locale.h" 44 #include "system/filesys.h" 43 45 44 46 /* this is the private structure used to keep the state of an open … … 259 261 case RAW_OPEN_NTTRANS_CREATE: 260 262 fname = oi->ntcreatex.in.fname; 263 while (fname[0] == '\\') fname++; 261 264 break; 262 265 case RAW_OPEN_OPENX: 263 266 fname = oi->openx.in.fname; 267 while (fname[0] == '\\') fname++; 268 if (strncasecmp(fname, "PIPE\\", 5) != 0) { 269 return NT_STATUS_OBJECT_PATH_SYNTAX_BAD; 270 } 271 while (fname[0] == '\\') fname++; 264 272 break; 265 273 case RAW_OPEN_SMB2: … … 282 290 p = talloc(h, struct pipe_state); 283 291 NT_STATUS_HAVE_NO_MEMORY(p); 284 285 while (fname[0] == '\\') fname++;286 292 287 293 /* check for valid characters in name */ … … 354 360 TALLOC_FREE(subreq); 355 361 if (ret == -1) { 356 status = map_nt_error_from_unix (sys_errno);362 status = map_nt_error_from_unix_common(sys_errno); 357 363 goto reply; 358 364 } … … 603 609 TALLOC_FREE(subreq); 604 610 if (ret == -1) { 605 status = map_nt_error_from_unix (sys_errno);611 status = map_nt_error_from_unix_common(sys_errno); 606 612 goto reply; 607 613 } … … 688 694 TALLOC_FREE(subreq); 689 695 if (ret == -1) { 690 status = map_nt_error_from_unix (sys_errno);696 status = map_nt_error_from_unix_common(sys_errno); 691 697 goto reply; 692 698 } … … 732 738 struct pipe_state *p; 733 739 734 if (io->generic.level != RAW_CLOSE_ CLOSE) {740 if (io->generic.level != RAW_CLOSE_GENERIC) { 735 741 return ntvfs_map_close(ntvfs, req, io); 736 742 } 737 743 738 p = pipe_state_find(ipriv, io->close.in.file.ntvfs); 744 ZERO_STRUCT(io->generic.out); 745 746 p = pipe_state_find(ipriv, io->generic.in.file.ntvfs); 739 747 if (!p) { 740 748 return NT_STATUS_INVALID_HANDLE; … … 1010 1018 goto reply; 1011 1019 } else if (ret == -1) { 1012 status = map_nt_error_from_unix (sys_errno);1020 status = map_nt_error_from_unix_common(sys_errno); 1013 1021 goto reply; 1014 1022 } … … 1046 1054 TALLOC_FREE(subreq); 1047 1055 if (ret == -1) { 1048 status = map_nt_error_from_unix (sys_errno);1056 status = map_nt_error_from_unix_common(sys_errno); 1049 1057 goto reply; 1050 1058 } … … 1174 1182 io->smb2.out.unknown2 = 0; 1175 1183 io->smb2.out.unknown3 = 0; 1176 io->smb2.out.in = io->smb2.in.out;1184 io->smb2.out.in = data_blob_null; 1177 1185 io->smb2.out.out = data_blob_talloc(req, NULL, io->smb2.in.max_response_size); 1178 1186 NT_STATUS_HAVE_NO_MEMORY(io->smb2.out.out.data); … … 1216 1224 TALLOC_FREE(subreq); 1217 1225 if (ret == -1) { 1218 status = map_nt_error_from_unix (sys_errno);1226 status = map_nt_error_from_unix_common(sys_errno); 1219 1227 goto reply; 1220 1228 } … … 1252 1260 TALLOC_FREE(subreq); 1253 1261 if (ret == -1) { 1254 status = map_nt_error_from_unix (sys_errno);1262 status = map_nt_error_from_unix_common(sys_errno); 1255 1263 goto reply; 1256 1264 } … … 1303 1311 1304 1312 /* fill in all the operations */ 1305 ops.connect = ipc_connect;1306 ops.disconnect = ipc_disconnect;1307 ops.unlink = ipc_unlink;1308 ops.chkpath = ipc_chkpath;1309 ops.qpathinfo = ipc_qpathinfo;1310 ops.setpathinfo = ipc_setpathinfo;1311 ops.open = ipc_open;1312 ops.mkdir = ipc_mkdir;1313 ops.rmdir = ipc_rmdir;1314 ops.rename = ipc_rename;1315 ops.copy = ipc_copy;1316 ops.ioctl = ipc_ioctl;1317 ops.read = ipc_read;1318 ops.write = ipc_write;1319 ops.seek = ipc_seek;1320 ops.flush = ipc_flush;1321 ops.close = ipc_close;1322 ops.exit = ipc_exit;1323 ops.lock = ipc_lock;1324 ops.setfileinfo = ipc_setfileinfo;1325 ops.qfileinfo = ipc_qfileinfo;1326 ops.fsinfo = ipc_fsinfo;1327 ops.lpq = ipc_lpq;1328 ops.search_first = ipc_search_first;1329 ops.search_next = ipc_search_next;1330 ops.search_close = ipc_search_close;1331 ops.trans = ipc_trans;1332 ops.logoff = ipc_logoff;1333 ops.async_setup = ipc_async_setup;1334 ops.cancel = ipc_cancel;1313 ops.connect_fn = ipc_connect; 1314 ops.disconnect_fn = ipc_disconnect; 1315 ops.unlink_fn = ipc_unlink; 1316 ops.chkpath_fn = ipc_chkpath; 1317 ops.qpathinfo_fn = ipc_qpathinfo; 1318 ops.setpathinfo_fn = ipc_setpathinfo; 1319 ops.open_fn = ipc_open; 1320 ops.mkdir_fn = ipc_mkdir; 1321 ops.rmdir_fn = ipc_rmdir; 1322 ops.rename_fn = ipc_rename; 1323 ops.copy_fn = ipc_copy; 1324 ops.ioctl_fn = ipc_ioctl; 1325 ops.read_fn = ipc_read; 1326 ops.write_fn = ipc_write; 1327 ops.seek_fn = ipc_seek; 1328 ops.flush_fn = ipc_flush; 1329 ops.close_fn = ipc_close; 1330 ops.exit_fn = ipc_exit; 1331 ops.lock_fn = ipc_lock; 1332 ops.setfileinfo_fn = ipc_setfileinfo; 1333 ops.qfileinfo_fn = ipc_qfileinfo; 1334 ops.fsinfo_fn = ipc_fsinfo; 1335 ops.lpq_fn = ipc_lpq; 1336 ops.search_first_fn = ipc_search_first; 1337 ops.search_next_fn = ipc_search_next; 1338 ops.search_close_fn = ipc_search_close; 1339 ops.trans_fn = ipc_trans; 1340 ops.logoff_fn = ipc_logoff; 1341 ops.async_setup_fn = ipc_async_setup; 1342 ops.cancel_fn = ipc_cancel; 1335 1343 1336 1344 /* register ourselves with the NTVFS subsystem. */
Note:
See TracChangeset
for help on using the changeset viewer.