diff options
author | Jean-François Micouleau <jfm@samba.org> | 2000-07-25 13:15:16 +0000 |
---|---|---|
committer | Jean-François Micouleau <jfm@samba.org> | 2000-07-25 13:15:16 +0000 |
commit | 5a5ef183799dd84ff453db849e929533e709fd0b (patch) | |
tree | cf2f652f9c383a5e181e7437b15c36cbf331b64c /source3/include | |
parent | b40175936ae3d7acd6eb3f386c467ba3f9868631 (diff) | |
download | samba-5a5ef183799dd84ff453db849e929533e709fd0b.tar.gz samba-5a5ef183799dd84ff453db849e929533e709fd0b.tar.bz2 samba-5a5ef183799dd84ff453db849e929533e709fd0b.zip |
A rather big change set ! (listed in no particular order)
- changed the default forms flag to 2
- all short architecture name are uppercased
- get_short_archi() is now case unsensitive
- the drivers TDB is indexed by archi/version/name
- implemented code to move drivers from the upload area to the download
area. Someone else need to look at that code.
- don't return anymore a default driver if it doesn't exist in the TDB.
Instead return an error.
- cleaned prs_unistr.
- #ifdef out jeremy's new SD parsing in printer_info_2
- removed the unused MANGLE_CODE
- #ifdef out the security checking in update_printer() as it doesn't work
for me.
Zap your ntdrivers.tdb, it won't work anymore.
J.F.
(This used to be commit ac0a145acc0953a6f362497abbf4dfe70aa522a6)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 15 | ||||
-rw-r--r-- | source3/include/smb.h | 2 |
2 files changed, 10 insertions, 7 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 696ccf07c6..7a52506451 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1668,8 +1668,10 @@ int get_ntforms(nt_forms_struct **list); int write_ntforms(nt_forms_struct **list, int number); BOOL add_a_form(nt_forms_struct **list, const FORM *form, int *count); void update_a_form(nt_forms_struct **list, const FORM *form, int count); -int get_ntdrivers(fstring **list, char *architecture); -void get_short_archi(char *short_archi, char *long_archi); +int get_ntdrivers(fstring **list, char *architecture, uint32 version); +BOOL get_short_archi(char *short_archi, char *long_archi); +uint32 clean_up_driver_struct(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, uint32 level); +uint32 move_driver_to_download_area(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, uint32 level, struct current_user *user); uint32 get_a_printer_driver_9x_compatible(pstring line, fstring model); uint32 del_a_printer(char *sharename); BOOL add_a_specific_param(NT_PRINTER_INFO_LEVEL_2 *info_2, NT_PRINTER_PARAM *param); @@ -1682,7 +1684,7 @@ uint32 get_a_printer(NT_PRINTER_INFO_LEVEL **pp_printer, uint32 level, fstring s uint32 free_a_printer(NT_PRINTER_INFO_LEVEL **pp_printer, uint32 level); uint32 add_a_printer_driver(NT_PRINTER_DRIVER_INFO_LEVEL driver, uint32 level); uint32 get_a_printer_driver(NT_PRINTER_DRIVER_INFO_LEVEL *driver, uint32 level, - fstring printername, fstring architecture); + fstring printername, fstring architecture, uint32 version); uint32 free_a_printer_driver(NT_PRINTER_DRIVER_INFO_LEVEL driver, uint32 level); BOOL get_specific_param_by_index(NT_PRINTER_INFO_LEVEL printer, uint32 level, uint32 param_index, fstring value, uint8 **data, uint32 *type, uint32 *len); @@ -2319,7 +2321,6 @@ BOOL prs_string2(BOOL charmode, char *name, prs_struct *ps, int depth, STRING2 * BOOL prs_unistr2(BOOL charmode, char *name, prs_struct *ps, int depth, UNISTR2 *str); BOOL prs_unistr3(BOOL charmode, char *name, UNISTR3 *str, prs_struct *ps, int depth); BOOL prs_unistr(char *name, prs_struct *ps, int depth, UNISTR *str); -BOOL prs_unistr(char *name, prs_struct *ps, int depth, UNISTR *str); BOOL prs_string(char *name, prs_struct *ps, int depth, char *str, int len, int max_buf_size); BOOL prs_uint16_pre(char *name, prs_struct *ps, int depth, uint16 *data16, uint32 *offset); BOOL prs_uint16_post(char *name, prs_struct *ps, int depth, uint16 *data16, @@ -3112,9 +3113,8 @@ uint32 _spoolss_addprinterex( const UNISTR2 *uni_srv_name, uint32 level, uint32 unk0, uint32 unk1, uint32 unk2, uint32 unk3, uint32 user_switch, const SPOOL_USER_CTR *user, POLICY_HND *handle); -uint32 _spoolss_addprinterdriver( const UNISTR2 *server_name, - uint32 level, - const SPOOL_PRINTER_DRIVER_INFO_LEVEL *info); +uint32 _spoolss_addprinterdriver(pipes_struct *p, const UNISTR2 *server_name, + uint32 level, const SPOOL_PRINTER_DRIVER_INFO_LEVEL *info); uint32 _spoolss_getprinterdriverdirectory(UNISTR2 *name, UNISTR2 *uni_environment, uint32 level, NEW_BUFFER *buffer, uint32 offered, uint32 *needed); @@ -3625,6 +3625,7 @@ int reply_printclose(connection_struct *conn, int reply_printqueue(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_printwrite(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); +int mkdir_internal(connection_struct *conn, char *inbuf, char *outbuf, pstring directory); int reply_mkdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); BOOL rmdir_internals(connection_struct *conn, char *directory); int reply_rmdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); diff --git a/source3/include/smb.h b/source3/include/smb.h index a49bbb9636..bc9f17544c 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -184,8 +184,10 @@ implemented */ #define ERROR_EAS_DIDNT_FIT (275) /* Extended attributes didn't fit */ #define ERROR_EAS_NOT_SUPPORTED (282) /* Extended attributes not supported */ #define ERROR_NOTIFY_ENUM_DIR (1022) /* Buffer too small to return change notify. */ +#define ERROR_UNKNOWN_PRINTER_DRIVER (1797) #define ERROR_INVALID_PRINTER_NAME (1801) #define ERROR_INVALID_DATATYPE (1804) +#define ERROR_INVALID_ENVIRONMENT (1805) /* here's a special one from observing NT */ #define ERRnoipc 66 /* don't support ipc */ |