summaryrefslogtreecommitdiff
path: root/source3/printing/nt_printing.c
AgeCommit message (Collapse)AuthorFilesLines
2009-07-24s3: Convert a few callers of unix_convert() over to filename_convert()Tim Prouty1-5/+23
This patch also changes the unix convert flags to make sure the correct semantics are preservered for allowing/disallowing wildcards in the last component of the path.
2009-06-24s3-printing: eliminate another non sec_initial_uid using security check.Günther Deschner1-1/+1
Guenther
2009-06-15Do a correct TALLOC_FREE in an error caseVolker Lendecke1-1/+4
2009-06-12s3: Plumb smb_filename through SMB_VFS_CREATE_FILETim Prouty1-47/+27
2009-06-10s3: Prepare the first set of SMB_VFS_CREATE_FILE callers to take an ↵Tim Prouty1-53/+95
smb_filename struct Some of the callers required minimal changes, while others (copy_internals) required significant changes. The task is simplified a little bit because we are able to do operations and checks on the base_name when a stream isn't used. This patch should cause no functional changes. Volker, Jeremy: Please check
2009-06-10s3: Remove extraneous calls to unix_convertTim Prouty1-6/+0
Not only are these unnecessary in spirit because unlink_internals calls unix_convert, but in practice the return value is simply being ignored right now.
2009-05-26Introduce "struct stat_ex" as a replacement for SMB_STRUCT_STATVolker Lendecke1-2/+2
This patch introduces struct stat_ex { dev_t st_ex_dev; ino_t st_ex_ino; mode_t st_ex_mode; nlink_t st_ex_nlink; uid_t st_ex_uid; gid_t st_ex_gid; dev_t st_ex_rdev; off_t st_ex_size; struct timespec st_ex_atime; struct timespec st_ex_mtime; struct timespec st_ex_ctime; struct timespec st_ex_btime; /* birthtime */ blksize_t st_ex_blksize; blkcnt_t st_ex_blocks; }; typedef struct stat_ex SMB_STRUCT_STAT; It is really large because due to the friendly libc headers playing macro tricks with fields like st_ino, so I renamed them to st_ex_xxx. Why this change? To support birthtime, we already have quite a few #ifdef's at places where it does not really belong. With a stat struct that we control, we can consolidate the nanosecond timestamps and the birthtime deep in the VFS stat calls. At this moment it is triggered by a request to support the birthtime field for GPFS. GPFS does not extend the system level struct stat, but instead has a separate call that gets us the additional information beyond posix. Without being able to do that within the VFS stat calls, that support would have to be scattered around the main smbd code. It will very likely break all the onefs modules, but I think the changes will be reasonably easy to do.
2009-05-20s3: Change unix_convert (and its callers) to use struct smb_filenameTim Prouty1-1/+16
This is the first of a series of patches that change path based operations to operate on a struct smb_filename instead of a char *. This same concept already exists in source4. My goals for this series of patches are to eventually: 1) Solve the stream vs. posix filename that contains a colon ambiguity that currently exists. 2) Make unix_convert the only function that parses the stream name. 3) Clean up the unix_convert API. 4) Change all path based vfs operation to take a struct smb_filename. 5) Make is_ntfs_stream_name() a constant operation that can simply check the state of struct smb_filename rather than re-parse the filename. 6) Eliminate the need for split_ntfs_stream_name() to exist. My strategy is to start from the inside at unix_convert() and work my way out through the vfs layer, call by call. This first patch does just that, by changing unix_convert and all of its callers to operate on struct smb_filename. Since this is such a large change, I plan on pushing the patches in phases, where each phase keeps full compatibility and passes make test. The API of unix_convert has been simplified from: NTSTATUS unix_convert(TALLOC_CTX *ctx, connection_struct *conn, const char *orig_path, bool allow_wcard_last_component, char **pp_conv_path, char **pp_saved_last_component, SMB_STRUCT_STAT *pst) to: NTSTATUS unix_convert(TALLOC_CTX *ctx, connection_struct *conn, const char *orig_path, struct smb_filename *smb_fname, uint32_t ucf_flags) Currently the smb_filename struct looks like: struct smb_filename { char *base_name; char *stream_name; char *original_lcomp; SMB_STRUCT_STAT st; }; One key point here is the decision to break up the base_name and stream_name. I have introduced a helper function called get_full_smb_filename() that takes an smb_filename struct and allocates the full_name. I changed the callers of unix_convert() to subsequently call get_full_smb_filename() for the time being, but I plan to eventually eliminate get_full_smb_filename().
2009-05-13s3-printing: no need to define struct table_node 4 times.Günther Deschner1-7/+1
Guenther
2009-05-13s3-spoolss: move SPL_ARCH_X defines to IDL.Günther Deschner1-8/+0
Guenther
2009-04-30s3-printing: rework move_driver_file_to_download_area() a bit for clarity.Günther Deschner1-32/+40
Guenther
2009-04-30s3-printing: use move_driver_file_to_download_area() to avoid code duplication.Günther Deschner1-144/+54
Guenther
2009-04-30s3-printing: add move_driver_file_to_download_area().Günther Deschner1-0/+40
Guenther
2009-04-27s3:nt_printing: fix a comment typoMichael Adam1-1/+1
Michael
2009-04-27s3:registry: replace typedef REGISTRY_VALUE by struct regval_blobMichael Adam1-4/+4
Michael
2009-04-27s3:registry: replace typedef REGVAL_CTR by struct regval_ctr.Michael Adam1-9/+9
This paves the way for hiding the typedef and the implementation from the surface. Michael
2009-04-20s3-printing: use ARRAY_SIZE() macro in forms functions.Günther Deschner1-6/+5
Guenther
2009-04-20s3-printing: use sec_initial_uid() instead "0" in print_access_check().Günther Deschner1-1/+1
Another babystep in order to make us pass RPC-SPOOLSS. Guenther
2009-04-14s3-spoolss: remove unused dup_nt_devicemode().Günther Deschner1-28/+0
Guenther
2009-04-07s3-libads: avoid NULL talloc context with ads_get_dn().Günther Deschner1-1/+1
Guenther
2009-04-06s3:libads Make ads_get_dn() take a talloc contextAndrew Bartlett1-2/+2
Also remove ads_memfree(), which was only ever a wrapper around SAFE_FREE, used only to free the DN from ads_get_ds(). This actually makes libgpo more consistant, as it mixed a talloc and a malloc based string on the same element. Andrew Bartlett Signed-off-by: Günther Deschner <gd@samba.org>
2009-04-06s3:printing Convert nt_printer_publish_ads() to use talloc betterAndrew Bartlett1-26/+18
In particular, this removes one more user of pull_utf8_allocate() Andrew Bartlett Signed-off-by: Günther Deschner <gd@samba.org>
2009-03-20s3-spoolss: apply some const in spoolss server.Günther Deschner1-4/+7
Guenther
2009-03-18s3-printing: use marshall/unmarshall_sec_desc_buf in sec_desc_upg_fn().Günther Deschner1-26/+5
Guenther
2009-03-17s3-spoolss: rename temporary convert_devicemode_new function.Günther Deschner1-12/+13
Guenther
2009-03-17s3-spoolss: remove obsolete get_a_builtin_ntform.Günther Deschner1-7/+0
Guenther
2009-02-27s3-spoolss: use DSPRINT flags instead of SPOOLS_DS flags.Günther Deschner1-6/+6
Guenther
2009-02-25Fix some NetBSD warnings.Jeremy Allison1-2/+4
Jeremy.
2009-02-24s3-spoolss: use marshall/unmarshall_sec_desc_buf in nt_printing_setsec/getsec.Günther Deschner1-45/+35
Guenther
2009-02-09s3-spoolss: remove whitespace in printing code.Günther Deschner1-322/+322
Guenther
2009-02-09s3-spoolss: restore delete_a_form().Günther Deschner1-10/+1
Guenther
2009-02-09s3-spoolss: use pidl for _spoolss_SetForm.Günther Deschner1-12/+10
Guenther
2009-02-09s3-spoolss: use pidl for spoolss_AddForm.Günther Deschner1-15/+13
Guenther
2009-02-07s3-spoolss: rework some form functions and add form_by_string functions.Günther Deschner1-10/+21
Guenther
2009-01-16s3: put printing/ under cache_dir, not lock_dirMichael Adam1-1/+1
Michael
2009-01-01Add iconv_convenience argument to size functions.Jelmer Vernooij1-3/+4
2008-12-23Fix more asprintf warnings and some error path errors.Jeremy Allison1-11/+11
Jeremy.
2008-12-23Fix more asprintf errors and error code paths.Jeremy Allison1-3/+5
Jeremy.
2008-12-03s3: Change SMB_VFS_CREATE_FILE to take a create_file_flags argumentTim Prouty1-3/+3
This replaces the is_dos_path bool with a more future-proof argument. The next step is to plumb INTERNAL_OPEN_ONLY through this flag instead of overridding the oplock_request.
2008-12-03s3: Modify direct callers of open_file_ntcreate and open_directory to call ↵Tim Prouty1-24/+54
SMB_VFS_CREATE_FILE
2008-11-24Convert delete_driver_files to use create_conn_structVolker Lendecke1-30/+32
Jerry, please check!
2008-11-24Convert get_correct_cversion to use create_conn_structVolker Lendecke1-45/+50
Jerry, please check!
2008-11-24Convert move_driver_to_download_area to use create_conn_structVolker Lendecke1-33/+23
This removes a use of struct current_user and the vuid The become_user() here is unnecessary, within the spoolss handling code we have switched to the authenticated pipe user anyway. Jerry, please check!
2008-11-02Remove an unused variableVolker Lendecke1-1/+0
2008-11-01Rename dos_errstr() to win_errstr() for consistency with Samba 4.Jelmer Vernooij1-2/+2
2008-10-31Unify se_access_check with the S4 code. Will makeJeremy Allison1-5/+5
calculation of SEC_FLAG_MAXIMUM_ALLOWED much easier for files. Jeremy.
2008-10-29Allow a new file to inherit the Windows ACL from its parent.Jeremy Allison1-3/+3
Now to do the same for directories. Jeremy.
2008-10-19Remove silly safe_free() function which is a wrapper around SAFE_FREE().Jelmer Vernooij1-5/+4
Since it's a function it just sets the local pointer to NULL and basically is an equivalent to free(). It also claims it's being used for callbacks but isn't used that way anywhere.
2008-10-14Use GUID_from_string.Jelmer Vernooij1-1/+1
2008-10-14Use GUID_string rather than smb_uuid_string().Jelmer Vernooij1-2/+2