From 679227d6063074aabb986d78fab42b856db265e3 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Tue, 21 May 2019 13:55:16 +1200 Subject: [PATCH] s4-ntvfs: Remove untested stub vfs_print backend Signed-off-by: Andrew Bartlett Reviewed-by: Gary Lockyer --- source4/ntvfs/print/README | 3 - source4/ntvfs/print/vfs_print.c | 132 -------------------------------- source4/ntvfs/wscript_build | 8 -- 3 files changed, 143 deletions(-) delete mode 100644 source4/ntvfs/print/README delete mode 100644 source4/ntvfs/print/vfs_print.c diff --git a/source4/ntvfs/print/README b/source4/ntvfs/print/README deleted file mode 100644 index 441c82dddd7..00000000000 --- a/source4/ntvfs/print/README +++ /dev/null @@ -1,3 +0,0 @@ -This is the print NTVFS backend for Samba. NTVFS operations that are -made on print shares are directed here by default. Most directory -operations and many file operations are not supported on print shares. diff --git a/source4/ntvfs/print/vfs_print.c b/source4/ntvfs/print/vfs_print.c deleted file mode 100644 index 3578f002c31..00000000000 --- a/source4/ntvfs/print/vfs_print.c +++ /dev/null @@ -1,132 +0,0 @@ -/* - Unix SMB/CIFS implementation. - default print NTVFS backend - Copyright (C) Andrew Tridgell 2003 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -*/ -/* - this implements the print backend, called by the NTVFS subsystem to - handle requests on printing shares -*/ - -#include "includes.h" -#include "../libcli/smb/smb_constants.h" -#include "ntvfs/ntvfs.h" -#include "param/param.h" - -NTSTATUS ntvfs_print_init(TALLOC_CTX *); - -/* - connect to a share - used when a tree_connect operation comes - in. For printing shares this should check that the spool directory - is available -*/ -static NTSTATUS print_connect(struct ntvfs_module_context *ntvfs, - struct ntvfs_request *req, union smb_tcon* tcon) -{ - ntvfs->ctx->fs_type = talloc_strdup(ntvfs->ctx, "NTFS"); - NT_STATUS_HAVE_NO_MEMORY(ntvfs->ctx->fs_type); - - ntvfs->ctx->dev_type = talloc_strdup(ntvfs->ctx, "LPT1:"); - NT_STATUS_HAVE_NO_MEMORY(ntvfs->ctx->dev_type); - - if (tcon->generic.level == RAW_TCON_TCONX) { - tcon->tconx.out.fs_type = ntvfs->ctx->fs_type; - tcon->tconx.out.dev_type = ntvfs->ctx->dev_type; - } - - return NT_STATUS_OK; -} - -/* - disconnect from a share -*/ -static NTSTATUS print_disconnect(struct ntvfs_module_context *ntvfs) -{ - return NT_STATUS_OK; -} - -/* - lots of operations are not allowed on printing shares - mostly return NT_STATUS_ACCESS_DENIED -*/ -static NTSTATUS print_unlink(struct ntvfs_module_context *ntvfs, - struct ntvfs_request *req, - union smb_unlink *unl) -{ - return NT_STATUS_ACCESS_DENIED; -} - - -/* - ioctl - used for job query -*/ -static NTSTATUS print_ioctl(struct ntvfs_module_context *ntvfs, - struct ntvfs_request *req, union smb_ioctl *io) -{ - char *p; - - if (io->generic.level != RAW_IOCTL_IOCTL) { - return NT_STATUS_NOT_IMPLEMENTED; - } - - if (io->ioctl.in.request == IOCTL_QUERY_JOB_INFO) { - - /* a request for the print job id of an open print job */ - io->ioctl.out.blob = data_blob_talloc(req, NULL, 32); - - data_blob_clear(&io->ioctl.out.blob); - - p = (char *)io->ioctl.out.blob.data; - SSVAL(p,0, 1 /* REWRITE: fsp->rap_print_jobid */); - push_string(p+2, lpcfg_netbios_name(ntvfs->ctx->lp_ctx), 15, STR_TERMINATE|STR_ASCII); - push_string(p+18, ntvfs->ctx->config->name, 13, STR_TERMINATE|STR_ASCII); - return NT_STATUS_OK; - } - - return NT_STATUS_INVALID_PARAMETER; -} - - -/* - initialialise the print backend, registering ourselves with the ntvfs subsystem - */ -NTSTATUS ntvfs_print_init(TALLOC_CTX *ctx) -{ - NTSTATUS ret; - struct ntvfs_ops ops; - NTVFS_CURRENT_CRITICAL_SIZES(vers); - - ZERO_STRUCT(ops); - - /* fill in the name and type */ - ops.name = "default"; - ops.type = NTVFS_PRINT; - - /* fill in all the operations */ - ops.connect_fn = print_connect; - ops.disconnect_fn = print_disconnect; - ops.unlink_fn = print_unlink; - ops.ioctl_fn = print_ioctl; - - /* register ourselves with the NTVFS subsystem. We register under the name 'default' - as we wish to be the default backend */ - ret = ntvfs_register(&ops, &vers); - - if (!NT_STATUS_IS_OK(ret)) { - DEBUG(0,("Failed to register PRINT backend!\n")); - } - - return ret; -} diff --git a/source4/ntvfs/wscript_build b/source4/ntvfs/wscript_build index d183f685e2f..d053649aac3 100644 --- a/source4/ntvfs/wscript_build +++ b/source4/ntvfs/wscript_build @@ -40,14 +40,6 @@ if bld.CONFIG_SET('WITH_NTVFS_FILESERVER'): ) - bld.SAMBA_MODULE('ntvfs_print', - source='print/vfs_print.c', - subsystem='ntvfs', - init_function='ntvfs_print_init', - deps='talloc' - ) - - bld.SAMBA_MODULE('ntvfs_ipc', source='ipc/vfs_ipc.c ipc/ipc_rap.c ipc/rap_server.c', autoproto='ipc/proto.h', -- 2.47.3