diff options
Diffstat (limited to 'source3/rpc_server')
-rw-r--r-- | source3/rpc_server/srv_spoolss_nt.c | 555 | ||||
-rw-r--r-- | source3/rpc_server/srv_srvsvc_nt.c | 50 |
2 files changed, 304 insertions, 301 deletions
diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index d93f320e2f..a0f14a9e64 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -22,6 +22,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +/* Since the SPOOLSS rpc routines are basically DOS 16-bit calls wrapped + up, all the errors returned are DOS errors, not NT status codes. */ + #include "includes.h" extern int DEBUGLEVEL; @@ -272,12 +275,12 @@ static uint32 delete_printer_handle(pipes_struct *p, POLICY_HND *hnd) if (!Printer) { DEBUG(0,("delete_printer_handle: Invalid handle (%s)\n", OUR_HANDLE(hnd))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } if (del_a_printer(Printer->dev.handlename) != 0) { DEBUG(3,("Error deleting printer %s\n", Printer->dev.handlename)); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } /* Check calling user has permission to delete printer. Note that @@ -287,7 +290,7 @@ static uint32 delete_printer_handle(pipes_struct *p, POLICY_HND *hnd) if (!print_access_check(NULL, -1, PRINTER_ACCESS_ADMINISTER)) { DEBUG(3, ("printer delete denied by security descriptor\n")); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } if (*lp_deleteprinter_cmd()) { @@ -304,7 +307,7 @@ static uint32 delete_printer_handle(pipes_struct *p, POLICY_HND *hnd) DEBUG(10,("Running [%s]\n", command)); ret = smbrun(command, NULL); if (ret != 0) { - return ERROR_INVALID_HANDLE; /* What to return here? */ + return ERRbadfid; /* What to return here? */ } DEBUGADD(10,("returned [%d]\n", ret)); @@ -313,12 +316,12 @@ static uint32 delete_printer_handle(pipes_struct *p, POLICY_HND *hnd) if ( ( i = lp_servicenumber( Printer->dev.handlename ) ) >= 0 ) { lp_killservice( i ); - return ERROR_SUCCESS; + return ERRsuccess; } else - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } - return ERROR_SUCCESS; + return ERRsuccess; } /**************************************************************************** @@ -705,7 +708,7 @@ static BOOL srv_spoolss_sendnotify(pipes_struct *p, POLICY_HND *handle) uint32 _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u, SPOOL_R_OPEN_PRINTER_EX *r_u) { #if 0 - uint32 result = NT_STATUS_NOPROBLEMO; + uint32 result = ERRsuccess; #endif UNISTR2 *printername = NULL; @@ -722,7 +725,7 @@ uint32 _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u, printername = &q_u->printername; if (printername == NULL) - return ERROR_INVALID_PRINTER_NAME; + return ERRinvalidprintername; /* some sanity check because you can open a printer or a print server */ /* aka: \\server\printer or \\server */ @@ -731,7 +734,7 @@ uint32 _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u, DEBUGADD(3,("checking name: %s\n",name)); if (!open_printer_hnd(p, handle, name)) - return ERROR_INVALID_PRINTER_NAME; + return ERRinvalidprintername; /* if (printer_default->datatype_ptr != NULL) @@ -745,7 +748,7 @@ uint32 _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u, if (!set_printer_hnd_accesstype(p, handle, printer_default->access_required)) { close_printer_handle(p, handle); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } /* @@ -775,7 +778,7 @@ uint32 _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u, if (handle_is_printserver(p, handle)) { if (printer_default->access_required == 0) { - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } else if ((printer_default->access_required & SERVER_ACCESS_ADMINISTER ) == SERVER_ACCESS_ADMINISTER) { @@ -784,14 +787,14 @@ uint32 _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u, if (!lp_ms_add_printer_wizard()) { close_printer_handle(p, handle); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } else if (user.uid == 0 || user_in_list(uidtoname(user.uid), lp_printer_admin(snum))) { - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } else { close_printer_handle(p, handle); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } } } @@ -801,7 +804,7 @@ uint32 _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u, doesn't have print permission. */ if (!get_printer_snum(p, handle, &snum)) - return ERROR_INVALID_HANDLE; + return ERRbadfid; /* map an empty access mask to the minimum access mask */ if (printer_default->access_required == 0x0) @@ -810,7 +813,7 @@ uint32 _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u, if (!print_access_check(&user, snum, printer_default->access_required)) { DEBUG(3, ("access DENIED for printer open\n")); close_printer_handle(p, handle); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } /* @@ -889,7 +892,7 @@ uint32 _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u, #endif } - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -1007,7 +1010,7 @@ static uint32 _spoolss_enddocprinter_internal(pipes_struct *p, POLICY_HND *handl if (!Printer) { DEBUG(0,("_spoolss_enddocprinter_internal: Invalid handle (%s)\n", OUR_HANDLE(handle))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } Printer->document_started=False; @@ -1033,9 +1036,9 @@ uint32 _spoolss_closeprinter(pipes_struct *p, SPOOL_Q_CLOSEPRINTER *q_u, SPOOL_R memcpy(&r_u->handle, &q_u->handle, sizeof(r_u->handle)); if (!close_printer_handle(p, handle)) - return ERROR_INVALID_HANDLE; + return ERRbadfid; - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /******************************************************************** @@ -1057,7 +1060,7 @@ uint32 _spoolss_deleteprinter(pipes_struct *p, SPOOL_Q_DELETEPRINTER *q_u, SPOOL result = delete_printer_handle(p, handle); - if (result == ERROR_SUCCESS) { + if (result == ERRsuccess) { srv_spoolss_sendnotify(p, handle); } @@ -1119,20 +1122,20 @@ uint32 _spoolss_deleteprinterdriver(pipes_struct *p, SPOOL_Q_DELETEPRINTERDRIVER /* check that we have a valid driver name first */ if ((version=get_version_id(arch)) == -1) { /* this is what NT returns */ - return ERROR_INVALID_ENVIRONMENT; + return ERRinvalidenvironment; } ZERO_STRUCT(info); if (get_a_printer_driver (&info, 3, driver, arch, version) != 0) { /* this is what NT returns */ - return ERROR_UNKNOWN_PRINTER_DRIVER; + return ERRunknownprinterdriver; } if (printer_driver_in_use(arch, driver)) { /* this is what NT returns */ - return ERROR_PRINTER_DRIVER_IN_USE; + return ERRprinterdriverinuse; } return delete_printer_driver(info.info_3); @@ -1308,9 +1311,9 @@ uint32 _spoolss_getprinterdata(pipes_struct *p, SPOOL_Q_GETPRINTERDATA *q_u, SPO if (!Printer) { if((*data=(uint8 *)malloc(4*sizeof(uint8))) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; DEBUG(0,("_spoolss_getprinterdata: Invalid handle (%s).\n", OUR_HANDLE(handle))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } unistr2_to_ascii(value, valuename, sizeof(value)-1); @@ -1325,18 +1328,18 @@ uint32 _spoolss_getprinterdata(pipes_struct *p, SPOOL_Q_GETPRINTERDATA *q_u, SPO /* reply this param doesn't exist */ if (*out_size) { if((*data=(uint8 *)talloc_zero(p->mem_ctx, *out_size*sizeof(uint8))) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } else { *data = NULL; } - return ERROR_INVALID_PARAMETER; + return ERRinvalidparam; } if (*needed > *out_size) - return ERROR_MORE_DATA; + return ERRmoredata; else { - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } } @@ -1397,7 +1400,7 @@ uint32 _spoolss_rffpcnex(pipes_struct *p, SPOOL_Q_RFFPCNEX *q_u, SPOOL_R_RFFPCNE if (!Printer) { DEBUG(0,("_spoolss_rffpcnex: Invalid handle (%s).\n", OUR_HANDLE(handle))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } Printer->notify.flags=flags; @@ -1417,7 +1420,7 @@ uint32 _spoolss_rffpcnex(pipes_struct *p, SPOOL_Q_RFFPCNEX *q_u, SPOOL_R_RFFPCNE &Printer->notify.client_hnd)) Printer->notify.client_connected=True; - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /******************************************************************* @@ -2361,7 +2364,7 @@ static uint32 printserver_notify_info(pipes_struct *p, POLICY_HND *hnd, } */ - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /******************************************************************* @@ -2444,7 +2447,7 @@ static uint32 printer_notify_info(pipes_struct *p, POLICY_HND *hnd, SPOOL_NOTIFY info->data[i].id, info->data[i].size, info->data[i].enc_type)); } */ - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /******************************************************************** @@ -2459,7 +2462,7 @@ uint32 _spoolss_rfnpcnex( pipes_struct *p, SPOOL_Q_RFNPCNEX *q_u, SPOOL_R_RFNPCN SPOOL_NOTIFY_INFO *info = &r_u->info; Printer_entry *Printer=find_printer_index_by_hnd(p, handle); - uint32 result = ERROR_INVALID_HANDLE; + uint32 result = ERRbadfid; /* we always have a NOTIFY_INFO struct */ r_u->info_ptr=0x1; @@ -2885,7 +2888,7 @@ static BOOL enum_all_printers_info_1(uint32 flags, NEW_BUFFER *buffer, uint32 of if (construct_printer_info_1(flags, ¤t_prt, snum)) { if((printers=Realloc(printers, (*returned +1)*sizeof(PRINTER_INFO_1))) == NULL) { *returned=0; - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } DEBUG(4,("ReAlloced memory for [%d] PRINTER_INFO_1\n", *returned)); memcpy(&printers[*returned], ¤t_prt, sizeof(PRINTER_INFO_1)); @@ -2899,7 +2902,7 @@ static BOOL enum_all_printers_info_1(uint32 flags, NEW_BUFFER *buffer, uint32 of (*needed) += spoolss_size_printer_info_1(&printers[i]); if (!alloc_buffer_size(buffer, *needed)) - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; /* fill the buffer with the structures */ for (i=0; i<*returned; i++) @@ -2910,10 +2913,10 @@ static BOOL enum_all_printers_info_1(uint32 flags, NEW_BUFFER *buffer, uint32 of if (*needed > offered) { *returned=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /******************************************************************** @@ -2941,7 +2944,7 @@ static BOOL enum_all_printers_info_1_name(fstring name, NEW_BUFFER *buffer, uint return enum_all_printers_info_1(PRINTER_ENUM_ICON8, buffer, offered, needed, returned); } else - return ERROR_INVALID_NAME; + return ERRinvalidname; } /******************************************************************** @@ -2963,7 +2966,7 @@ static BOOL enum_all_printers_info_1_remote(fstring name, NEW_BUFFER *buffer, ui */ if((printer=(PRINTER_INFO_1 *)malloc(sizeof(PRINTER_INFO_1))) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; *returned=1; @@ -2981,7 +2984,7 @@ static BOOL enum_all_printers_info_1_remote(fstring name, NEW_BUFFER *buffer, ui if (!alloc_buffer_size(buffer, *needed)) { safe_free(printer); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the structures */ @@ -2992,10 +2995,10 @@ static BOOL enum_all_printers_info_1_remote(fstring name, NEW_BUFFER *buffer, ui if (*needed > offered) { *returned=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /******************************************************************** @@ -3029,7 +3032,7 @@ static BOOL enum_all_printers_info_2(NEW_BUFFER *buffer, uint32 offered, uint32 if (construct_printer_info_2(¤t_prt, snum)) { if((printers=Realloc(printers, (*returned +1)*sizeof(PRINTER_INFO_2))) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; DEBUG(4,("ReAlloced memory for [%d] PRINTER_INFO_2\n", *returned)); memcpy(&printers[*returned], ¤t_prt, sizeof(PRINTER_INFO_2)); (*returned)++; @@ -3046,7 +3049,7 @@ static BOOL enum_all_printers_info_2(NEW_BUFFER *buffer, uint32 offered, uint32 free_devmode(printers[i].devmode); } safe_free(printers); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the structures */ @@ -3061,10 +3064,10 @@ static BOOL enum_all_printers_info_2(NEW_BUFFER *buffer, uint32 offered, uint32 if (*needed > offered) { *returned=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /******************************************************************** @@ -3088,7 +3091,7 @@ static uint32 enumprinters_level1( uint32 flags, fstring name, if (flags & PRINTER_ENUM_NETWORK) return enum_all_printers_info_1_network(buffer, offered, needed, returned); - return NT_STATUS_NOPROBLEMO; /* NT4sp5 does that */ + return ERRsuccess; /* NT4sp5 does that */ } /******************************************************************** @@ -3114,13 +3117,13 @@ static uint32 enumprinters_level2( uint32 flags, fstring servername, if (strequal(servername, temp)) return enum_all_printers_info_2(buffer, offered, needed, returned); else - return ERROR_INVALID_NAME; + return ERRinvalidname; } if (flags & PRINTER_ENUM_REMOTE) - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /******************************************************************** @@ -3131,7 +3134,7 @@ static uint32 enumprinters_level5( uint32 flags, fstring servername, uint32 *needed, uint32 *returned) { /* return enum_all_printers_info_5(buffer, offered, needed, returned);*/ - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /******************************************************************** @@ -3187,7 +3190,7 @@ uint32 _spoolss_enumprinters( pipes_struct *p, SPOOL_Q_ENUMPRINTERS *q_u, SPOOL_ case 3: case 4: default: - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } @@ -3198,7 +3201,7 @@ static uint32 getprinter_level_0(int snum, NEW_BUFFER *buffer, uint32 offered, u PRINTER_INFO_0 *printer=NULL; if((printer=(PRINTER_INFO_0*)malloc(sizeof(PRINTER_INFO_0))) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; construct_printer_info_0(printer, snum); @@ -3207,7 +3210,7 @@ static uint32 getprinter_level_0(int snum, NEW_BUFFER *buffer, uint32 offered, u if (!alloc_buffer_size(buffer, *needed)) { safe_free(printer); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the structures */ @@ -3217,10 +3220,10 @@ static uint32 getprinter_level_0(int snum, NEW_BUFFER *buffer, uint32 offered, u safe_free(printer); if (*needed > offered) { - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -3230,7 +3233,7 @@ static uint32 getprinter_level_1(int snum, NEW_BUFFER *buffer, uint32 offered, u PRINTER_INFO_1 *printer=NULL; if((printer=(PRINTER_INFO_1*)malloc(sizeof(PRINTER_INFO_1))) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; construct_printer_info_1(PRINTER_ENUM_ICON8, printer, snum); @@ -3239,7 +3242,7 @@ static uint32 getprinter_level_1(int snum, NEW_BUFFER *buffer, uint32 offered, u if (!alloc_buffer_size(buffer, *needed)) { safe_free(printer); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the structures */ @@ -3249,10 +3252,10 @@ static uint32 getprinter_level_1(int snum, NEW_BUFFER *buffer, uint32 offered, u safe_free(printer); if (*needed > offered) { - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -3262,7 +3265,7 @@ static uint32 getprinter_level_2(int snum, NEW_BUFFER *buffer, uint32 offered, u PRINTER_INFO_2 *printer=NULL; if((printer=(PRINTER_INFO_2*)malloc(sizeof(PRINTER_INFO_2)))==NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; construct_printer_info_2(printer, snum); @@ -3271,23 +3274,23 @@ static uint32 getprinter_level_2(int snum, NEW_BUFFER *buffer, uint32 offered, u if (!alloc_buffer_size(buffer, *needed)) { free_printer_info_2(printer); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the structures */ if (!smb_io_printer_info_2("", buffer, printer, 0)) { free_printer_info_2(printer); - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } /* clear memory */ free_printer_info_2(printer); if (*needed > offered) { - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -3297,14 +3300,14 @@ static uint32 getprinter_level_3(int snum, NEW_BUFFER *buffer, uint32 offered, u PRINTER_INFO_3 *printer=NULL; if (!construct_printer_info_3(&printer, snum)) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; /* check the required size. */ *needed += spoolss_size_printer_info_3(printer); if (!alloc_buffer_size(buffer, *needed)) { free_printer_info_3(printer); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the structures */ @@ -3314,10 +3317,10 @@ static uint32 getprinter_level_3(int snum, NEW_BUFFER *buffer, uint32 offered, u free_printer_info_3(printer); if (*needed > offered) { - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -3340,7 +3343,7 @@ uint32 _spoolss_getprinter(pipes_struct *p, SPOOL_Q_GETPRINTER *q_u, SPOOL_R_GET *needed=0; if (!get_printer_snum(p, handle, &snum)) - return ERROR_INVALID_HANDLE; + return ERRbadfid; switch (level) { case 0: @@ -3352,7 +3355,7 @@ uint32 _spoolss_getprinter(pipes_struct *p, SPOOL_Q_GETPRINTER *q_u, SPOOL_R_GET case 3: return getprinter_level_3(snum, buffer, offered, needed); default: - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } @@ -3375,16 +3378,16 @@ static uint32 construct_printer_driver_info_1(DRIVER_INFO_1 *info, int snum, fst ZERO_STRUCT(driver); if (get_a_printer(&printer, 2, lp_servicename(snum)) != 0) - return ERROR_INVALID_PRINTER_NAME; + return ERRinvalidprintername; if (get_a_printer_driver(&driver, 3, printer->info_2->drivername, architecture, version) != 0) - return ERROR_UNKNOWN_PRINTER_DRIVER; + return ERRunknownprinterdriver; fill_printer_driver_info_1(info, driver, servername, architecture); free_a_printer(&printer,2); - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /******************************************************************** @@ -3433,16 +3436,16 @@ static uint32 construct_printer_driver_info_2(DRIVER_INFO_2 *info, int snum, fst ZERO_STRUCT(driver); if (!get_a_printer(&printer, 2, lp_servicename(snum)) != 0) - return ERROR_INVALID_PRINTER_NAME; + return ERRinvalidprintername; if (!get_a_printer_driver(&driver, 3, printer->info_2->drivername, architecture, version) != 0) - return ERROR_UNKNOWN_PRINTER_DRIVER; + return ERRunknownprinterdriver; fill_printer_driver_info_2(info, driver, servername); free_a_printer(&printer,2); - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /******************************************************************** @@ -3545,20 +3548,20 @@ static uint32 construct_printer_driver_info_3(DRIVER_INFO_3 *info, int snum, fst status=get_a_printer(&printer, 2, lp_servicename(snum) ); DEBUG(8,("construct_printer_driver_info_3: status: %d\n", status)); if (status != 0) - return ERROR_INVALID_PRINTER_NAME; + return ERRinvalidprintername; status=get_a_printer_driver(&driver, 3, printer->info_2->drivername, architecture, version); DEBUG(8,("construct_printer_driver_info_3: status: %d\n", status)); if (status != 0) { free_a_printer(&printer,2); - return ERROR_UNKNOWN_PRINTER_DRIVER; + return ERRunknownprinterdriver; } fill_printer_driver_info_3(info, driver, servername); free_a_printer(&printer,2); - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /******************************************************************** @@ -3639,7 +3642,7 @@ static uint32 construct_printer_driver_info_6(DRIVER_INFO_6 *info, int snum, fst status=get_a_printer(&printer, 2, lp_servicename(snum) ); DEBUG(8,("construct_printer_driver_info_6: status: %d\n", status)); if (status != 0) - return ERROR_INVALID_PRINTER_NAME; + return ERRinvalidprintername; status=get_a_printer_driver(&driver, 3, printer->info_2->drivername, architecture, version); DEBUG(8,("construct_printer_driver_info_6: status: %d\n", status)); @@ -3650,7 +3653,7 @@ static uint32 construct_printer_driver_info_6(DRIVER_INFO_6 *info, int snum, fst if (version < 3) { free_a_printer(&printer,2); - return ERROR_UNKNOWN_PRINTER_DRIVER; + return ERRunknownprinterdriver; } /* Yes - try again with a WinNT driver. */ @@ -3659,7 +3662,7 @@ static uint32 construct_printer_driver_info_6(DRIVER_INFO_6 *info, int snum, fst DEBUG(8,("construct_printer_driver_info_6: status: %d\n", status)); if (status != 0) { free_a_printer(&printer,2); - return ERROR_UNKNOWN_PRINTER_DRIVER; + return ERRunknownprinterdriver; } } @@ -3667,7 +3670,7 @@ static uint32 construct_printer_driver_info_6(DRIVER_INFO_6 *info, int snum, fst free_a_printer(&printer,2); - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -3695,10 +3698,10 @@ static uint32 getprinterdriver2_level1(fstring servername, fstring architecture, uint32 status; if((info=(DRIVER_INFO_1 *)malloc(sizeof(DRIVER_INFO_1))) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; status=construct_printer_driver_info_1(info, snum, servername, architecture, version); - if (status != NT_STATUS_NOPROBLEMO) { + if (status != ERRsuccess) { safe_free(info); return status; } @@ -3708,7 +3711,7 @@ static uint32 getprinterdriver2_level1(fstring servername, fstring architecture, if (!alloc_buffer_size(buffer, *needed)) { safe_free(info); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the structures */ @@ -3718,9 +3721,9 @@ static uint32 getprinterdriver2_level1(fstring servername, fstring architecture, safe_free(info); if (*needed > offered) - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -3731,10 +3734,10 @@ static uint32 getprinterdriver2_level2(fstring servername, fstring architecture, uint32 status; if((info=(DRIVER_INFO_2 *)malloc(sizeof(DRIVER_INFO_2))) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; status=construct_printer_driver_info_2(info, snum, servername, architecture, version); - if (status != NT_STATUS_NOPROBLEMO) { + if (status != ERRsuccess) { safe_free(info); return status; } @@ -3744,7 +3747,7 @@ static uint32 getprinterdriver2_level2(fstring servername, fstring architecture, if (!alloc_buffer_size(buffer, *needed)) { safe_free(info); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the structures */ @@ -3754,9 +3757,9 @@ static uint32 getprinterdriver2_level2(fstring servername, fstring architecture, safe_free(info); if (*needed > offered) - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -3769,7 +3772,7 @@ static uint32 getprinterdriver2_level3(fstring servername, fstring architecture, ZERO_STRUCT(info); status=construct_printer_driver_info_3(&info, snum, servername, architecture, version); - if (status != NT_STATUS_NOPROBLEMO) { + if (status != ERRsuccess) { return status; } @@ -3778,7 +3781,7 @@ static uint32 getprinterdriver2_level3(fstring servername, fstring architecture, if (!alloc_buffer_size(buffer, *needed)) { free_printer_driver_info_3(&info); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the structures */ @@ -3787,9 +3790,9 @@ static uint32 getprinterdriver2_level3(fstring servername, fstring architecture, free_printer_driver_info_3(&info); if (*needed > offered) - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -3802,7 +3805,7 @@ static uint32 getprinterdriver2_level6(fstring servername, fstring architecture, ZERO_STRUCT(info); status=construct_printer_driver_info_6(&info, snum, servername, architecture, version); - if (status != NT_STATUS_NOPROBLEMO) { + if (status != ERRsuccess) { return status; } @@ -3811,7 +3814,7 @@ static uint32 getprinterdriver2_level6(fstring servername, fstring architecture, if (!alloc_buffer_size(buffer, *needed)) { free_printer_driver_info_6(&info); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the structures */ @@ -3820,9 +3823,9 @@ static uint32 getprinterdriver2_level6(fstring servername, fstring architecture, free_printer_driver_info_6(&info); if (*needed > offered) - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -3859,7 +3862,7 @@ uint32 _spoolss_getprinterdriver2(pipes_struct *p, SPOOL_Q_GETPRINTERDRIVER2 *q_ unistr2_to_ascii(architecture, uni_arch, sizeof(architecture)-1); if (!get_printer_snum(p, handle, &snum)) - return ERROR_INVALID_HANDLE; + return ERRbadfid; switch (level) { case 1: @@ -3871,7 +3874,7 @@ uint32 _spoolss_getprinterdriver2(pipes_struct *p, SPOOL_Q_GETPRINTERDRIVER2 *q_ case 6: return getprinterdriver2_level6(servername, architecture, clientmajorversion, snum, buffer, offered, needed); default: - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } @@ -3890,7 +3893,7 @@ uint32 _spoolss_startpageprinter(pipes_struct *p, SPOOL_Q_STARTPAGEPRINTER *q_u, } DEBUG(3,("Error in startpageprinter printer handle\n")); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } /**************************************************************************** @@ -3904,12 +3907,12 @@ uint32 _spoolss_endpageprinter(pipes_struct *p, SPOOL_Q_ENDPAGEPRINTER *q_u, SPO if (!Printer) { DEBUG(0,("_spoolss_endpageprinter: Invalid handle (%s).\n",OUR_HANDLE(handle))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } Printer->page_started=False; - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /******************************************************************** @@ -3934,7 +3937,7 @@ uint32 _spoolss_startdocprinter(pipes_struct *p, SPOOL_Q_STARTDOCPRINTER *q_u, S if (!Printer) { DEBUG(0,("_spoolss_startdocprinter: Invalid handle (%s)\n", OUR_HANDLE(handle))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } get_current_user(&user, p); @@ -3955,13 +3958,13 @@ uint32 _spoolss_startdocprinter(pipes_struct *p, SPOOL_Q_STARTDOCPRINTER *q_u, S unistr2_to_ascii(datatype, &info_1->datatype, sizeof(datatype)); if (strcmp(datatype, "RAW") != 0) { (*jobid)=0; - return ERROR_INVALID_DATATYPE; + return ERRinvaliddatatype; } } /* get the share number of the printer */ if (!get_printer_snum(p, handle, &snum)) { - return ERROR_INVALID_HANDLE; + return ERRbadfid; } unistr2_to_ascii(jobname, &info_1->docname, sizeof(jobname)); @@ -4009,7 +4012,7 @@ uint32 _spoolss_writeprinter(pipes_struct *p, SPOOL_Q_WRITEPRINTER *q_u, SPOOL_R if (!Printer) { DEBUG(0,("_spoolss_writeprinter: Invalid handle (%s)\n",OUR_HANDLE(handle))); r_u->buffer_written = q_u->buffer_size2; - return ERROR_INVALID_HANDLE; + return ERRbadfid; } (*buffer_written) = print_job_write(Printer->jobid, (char *)buffer, buffer_size); @@ -4029,18 +4032,18 @@ static uint32 control_printer(POLICY_HND *handle, uint32 command, pipes_struct *p) { struct current_user user; - int snum, errcode = ERROR_INVALID_FUNCTION; + int snum, errcode = ERRbadfunc; Printer_entry *Printer = find_printer_index_by_hnd(p, handle); get_current_user(&user, p); if (!Printer) { DEBUG(0,("control_printer: Invalid handle (%s)\n", OUR_HANDLE(handle))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } if (!get_printer_snum(p, handle, &snum)) - return ERROR_INVALID_HANDLE; + return ERRbadfid; switch (command) { case PRINTER_CONTROL_PAUSE: @@ -4060,7 +4063,7 @@ static uint32 control_printer(POLICY_HND *handle, uint32 command, } break; default: - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } return errcode; @@ -4096,7 +4099,7 @@ static uint32 update_printer_sec(POLICY_HND *handle, uint32 level, DEBUG(0,("update_printer_sec: Invalid handle (%s)\n", OUR_HANDLE(handle))); - result = ERROR_INVALID_HANDLE; + result = ERRbadfid; goto done; } @@ -4146,7 +4149,7 @@ static uint32 update_printer_sec(POLICY_HND *handle, uint32 level, new_secdesc_ctr = sec_desc_merge(p->mem_ctx, secdesc_ctr, old_secdesc_ctr); if (sec_desc_equal(new_secdesc_ctr->sec, old_secdesc_ctr->sec)) { - result = NT_STATUS_NOPROBLEMO; + result = ERRsuccess; goto done; } @@ -4160,7 +4163,7 @@ static uint32 update_printer_sec(POLICY_HND *handle, uint32 level, information. */ if (!print_access_check(&user, snum, PRINTER_ACCESS_ADMINISTER)) { - result = ERROR_ACCESS_DENIED; + result = ERRnoaccess; goto done; } @@ -4504,28 +4507,28 @@ static uint32 update_printer(pipes_struct *p, POLICY_HND *handle, uint32 level, DEBUG(8,("update_printer\n")); - result = NT_STATUS_NOPROBLEMO; + result = ERRsuccess; if (level!=2) { DEBUG(0,("Send a mail to samba@samba.org\n")); DEBUGADD(0,("with the following message: update_printer: level!=2\n")); - result = ERROR_INVALID_LEVEL; + result = ERRunknownlevel; goto done; } if (!Printer) { - result = ERROR_INVALID_HANDLE; + result = ERRbadfid; goto done; } if (!get_printer_snum(p, handle, &snum)) { - result = ERROR_INVALID_HANDLE; + result = ERRbadfid; goto done; } if((get_a_printer(&printer, 2, lp_servicename(snum)) != 0) || (get_a_printer(&old_printer, 2, lp_servicename(snum)) != 0)) { - result = ERROR_INVALID_HANDLE; + result = ERRbadfid; goto done; } @@ -4546,7 +4549,7 @@ static uint32 update_printer(pipes_struct *p, POLICY_HND *handle, uint32 level, DEBUGADD(8,("Converting the devicemode struct\n")); if (!convert_devicemode(printer->info_2->printername, devmode, &printer->info_2->devmode)) { - result = ERROR_NOT_ENOUGH_MEMORY; + result = ERRnomem; goto done; } } @@ -4554,7 +4557,7 @@ static uint32 update_printer(pipes_struct *p, POLICY_HND *handle, uint32 level, /* Do sanity check on the requested changes for Samba */ if (!check_printer_ok(printer->info_2, snum)) { - result = ERROR_INVALID_PARAMETER; + result = ERRinvalidparam; goto done; } @@ -4564,7 +4567,7 @@ static uint32 update_printer(pipes_struct *p, POLICY_HND *handle, uint32 level, if (nt_printer_info_level_equal(printer, old_printer)) { DEBUG(3, ("printer info has not changed\n")); - result = NT_STATUS_NOPROBLEMO; + result = ERRsuccess; goto done; } @@ -4573,7 +4576,7 @@ static uint32 update_printer(pipes_struct *p, POLICY_HND *handle, uint32 level, if (!print_access_check(NULL, snum, PRINTER_ACCESS_ADMINISTER)) { DEBUG(3, ("printer property change denied by security " "descriptor\n")); - result = ERROR_ACCESS_DENIED; + result = ERRnoaccess; goto done; } @@ -4581,7 +4584,7 @@ static uint32 update_printer(pipes_struct *p, POLICY_HND *handle, uint32 level, if (*lp_addprinter_cmd() ) if ( !add_printer_hook(printer) ) { - result = ERROR_ACCESS_DENIED; + result = ERRnoaccess; goto done; } @@ -4589,7 +4592,7 @@ static uint32 update_printer(pipes_struct *p, POLICY_HND *handle, uint32 level, if (add_a_printer(*printer, 2)!=0) { /* I don't really know what to return here !!! */ - result = ERROR_ACCESS_DENIED; + result = ERRnoaccess; goto done; } @@ -4618,7 +4621,7 @@ uint32 _spoolss_setprinter(pipes_struct *p, SPOOL_Q_SETPRINTER *q_u, SPOOL_R_SET if (!Printer) { DEBUG(0,("_spoolss_setprinter: Invalid handle (%s)\n", OUR_HANDLE(handle))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } /* check the level */ @@ -4631,7 +4634,7 @@ uint32 _spoolss_setprinter(pipes_struct *p, SPOOL_Q_SETPRINTER *q_u, SPOOL_R_SET return update_printer_sec(handle, level, info, p, secdesc_ctr); default: - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } @@ -4646,7 +4649,7 @@ uint32 _spoolss_fcpn(pipes_struct *p, SPOOL_Q_FCPN *q_u, SPOOL_R_FCPN *r_u) if (!Printer) { DEBUG(0,("_spoolss_fcpn: Invalid handle (%s)\n", OUR_HANDLE(handle))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } if (Printer->notify.client_connected==True) @@ -4660,7 +4663,7 @@ uint32 _spoolss_fcpn(pipes_struct *p, SPOOL_Q_FCPN *q_u, SPOOL_R_FCPN *r_u) free_spool_notify_option(&Printer->notify.option); Printer->notify.client_connected=False; - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -4672,7 +4675,7 @@ uint32 _spoolss_addjob(pipes_struct *p, SPOOL_Q_ADDJOB *q_u, SPOOL_R_ADDJOB *r_u spoolss_move_buffer(q_u->buffer, &r_u->buffer); r_u->needed = 0; - return ERROR_INVALID_PARAMETER; /* this is what a NT server + return ERRinvalidparam; /* this is what a NT server returns for AddJob. AddJob must fail on non-local printers */ @@ -4769,7 +4772,7 @@ static uint32 enumjobs_level1(print_queue_struct *queue, int snum, if (info==NULL) { safe_free(queue); *returned=0; - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } for (i=0; i<*returned; i++) @@ -4783,7 +4786,7 @@ static uint32 enumjobs_level1(print_queue_struct *queue, int snum, if (!alloc_buffer_size(buffer, *needed)) { safe_free(info); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the structures */ @@ -4795,10 +4798,10 @@ static uint32 enumjobs_level1(print_queue_struct *queue, int snum, if (*needed > offered) { *returned=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -4815,12 +4818,12 @@ static uint32 enumjobs_level2(print_queue_struct *queue, int snum, info=(JOB_INFO_2 *)malloc(*returned*sizeof(JOB_INFO_2)); if (info==NULL) { *returned=0; - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } if (get_a_printer(&ntprinter, 2, lp_servicename(snum)) !=0) { *returned = 0; - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } for (i=0; i<*returned; i++) @@ -4835,7 +4838,7 @@ static uint32 enumjobs_level2(print_queue_struct *queue, int snum, if (!alloc_buffer_size(buffer, *needed)) { safe_free(info); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the structures */ @@ -4850,10 +4853,10 @@ static uint32 enumjobs_level2(print_queue_struct *queue, int snum, if (*needed > offered) { *returned=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -4887,14 +4890,14 @@ uint32 _spoolss_enumjobs( pipes_struct *p, SPOOL_Q_ENUMJOBS *q_u, SPOOL_R_ENUMJO *returned=0; if (!get_printer_snum(p, handle, &snum)) - return ERROR_INVALID_HANDLE; + return ERRbadfid; *returned = print_queue_status(snum, &queue, &prt_status); DEBUGADD(4,("count:[%d], status:[%d], [%s]\n", *returned, prt_status.status, prt_status.message)); if (*returned == 0) { safe_free(queue); - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } switch (level) { @@ -4905,7 +4908,7 @@ uint32 _spoolss_enumjobs( pipes_struct *p, SPOOL_Q_ENUMJOBS *q_u, SPOOL_R_ENUMJO default: safe_free(queue); *returned=0; - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } @@ -4930,16 +4933,16 @@ uint32 _spoolss_setjob(pipes_struct *p, SPOOL_Q_SETJOB *q_u, SPOOL_R_SETJOB *r_u struct current_user user; print_status_struct prt_status; - int snum, errcode = ERROR_INVALID_FUNCTION; + int snum, errcode = ERRbadfunc; memset(&prt_status, 0, sizeof(prt_status)); if (!get_printer_snum(p, handle, &snum)) { - return ERROR_INVALID_HANDLE; + return ERRbadfid; } if (!print_job_exists(jobid)) { - return ERROR_INVALID_PRINTER_NAME; + return ERRinvalidprintername; } get_current_user(&user, p); @@ -4963,7 +4966,7 @@ uint32 _spoolss_setjob(pipes_struct *p, SPOOL_Q_SETJOB *q_u, SPOOL_R_SETJOB *r_u } break; default: - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } return errcode; @@ -4992,12 +4995,12 @@ static uint32 enumprinterdrivers_level1(fstring servername, fstring architecture DEBUGADD(4,("we have:[%d] drivers in environment [%s] and version [%d]\n", ndrivers, architecture, version)); if(ndrivers == -1) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; if(ndrivers != 0) { if((driver_info_1=(DRIVER_INFO_1 *)Realloc(driver_info_1, (*returned+ndrivers) * sizeof(DRIVER_INFO_1))) == NULL) { safe_free(list); - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } } @@ -5025,7 +5028,7 @@ static uint32 enumprinterdrivers_level1(fstring servername, fstring architecture if (!alloc_buffer_size(buffer, *needed)) { safe_free(driver_info_1); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the driver structures */ @@ -5038,10 +5041,10 @@ static uint32 enumprinterdrivers_level1(fstring servername, fstring architecture if (*needed > offered) { *returned=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -5067,12 +5070,12 @@ static uint32 enumprinterdrivers_level2(fstring servername, fstring architecture DEBUGADD(4,("we have:[%d] drivers in environment [%s] and version [%d]\n", ndrivers, architecture, version)); if(ndrivers == -1) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; if(ndrivers != 0) { if((driver_info_2=(DRIVER_INFO_2 *)Realloc(driver_info_2, (*returned+ndrivers) * sizeof(DRIVER_INFO_2))) == NULL) { safe_free(list); - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } } @@ -5101,7 +5104,7 @@ static uint32 enumprinterdrivers_level2(fstring servername, fstring architecture if (!alloc_buffer_size(buffer, *needed)) { safe_free(driver_info_2); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the form structures */ @@ -5114,10 +5117,10 @@ static uint32 enumprinterdrivers_level2(fstring servername, fstring architecture if (*needed > offered) { *returned=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -5143,12 +5146,12 @@ static uint32 enumprinterdrivers_level3(fstring servername, fstring architecture DEBUGADD(4,("we have:[%d] drivers in environment [%s] and version [%d]\n", ndrivers, architecture, version)); if(ndrivers == -1) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; if(ndrivers != 0) { if((driver_info_3=(DRIVER_INFO_3 *)Realloc(driver_info_3, (*returned+ndrivers) * sizeof(DRIVER_INFO_3))) == NULL) { safe_free(list); - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } } @@ -5177,7 +5180,7 @@ static uint32 enumprinterdrivers_level3(fstring servername, fstring architecture if (!alloc_buffer_size(buffer, *needed)) { safe_free(driver_info_3); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the driver structures */ @@ -5193,10 +5196,10 @@ static uint32 enumprinterdrivers_level3(fstring servername, fstring architecture if (*needed > offered) { *returned=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -5238,7 +5241,7 @@ uint32 _spoolss_enumprinterdrivers( pipes_struct *p, SPOOL_Q_ENUMPRINTERDRIVERS default: *returned=0; safe_free(list); - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } @@ -5290,13 +5293,13 @@ uint32 _spoolss_enumforms(pipes_struct *p, SPOOL_Q_ENUMFORMS *q_u, SPOOL_R_ENUMF DEBUGADD(5,("Number of user forms [%d]\n", *numofforms)); *numofforms += numbuiltinforms; - if (*numofforms == 0) return ERROR_NO_MORE_ITEMS; + if (*numofforms == 0) return ERRnomoreitems; switch (level) { case 1: if ((forms_1=(FORM_1 *)malloc(*numofforms * sizeof(FORM_1))) == NULL) { *numofforms=0; - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } /* construct the list of form structures */ @@ -5328,7 +5331,7 @@ uint32 _spoolss_enumforms(pipes_struct *p, SPOOL_Q_ENUMFORMS *q_u, SPOOL_R_ENUMF if (!alloc_buffer_size(buffer, buffer_size)){ safe_free(forms_1); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the form structures */ @@ -5345,15 +5348,15 @@ uint32 _spoolss_enumforms(pipes_struct *p, SPOOL_Q_ENUMFORMS *q_u, SPOOL_R_ENUMF if (*needed > offered) { *numofforms=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; default: safe_free(list); safe_free(builtinlist); - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } @@ -5394,7 +5397,7 @@ uint32 _spoolss_getform(pipes_struct *p, SPOOL_Q_GETFORM *q_u, SPOOL_R_GETFORM * DEBUGADD(5,("Number of forms [%d]\n", numofforms)); if (numofforms == 0) - return ERROR_INVALID_HANDLE; + return ERRbadfid; } switch (level) { @@ -5417,7 +5420,7 @@ uint32 _spoolss_getform(pipes_struct *p, SPOOL_Q_GETFORM *q_u, SPOOL_R_GETFORM * safe_free(list); if (i == numofforms) { - return ERROR_INVALID_HANDLE; + return ERRbadfid; } } /* check the required size. */ @@ -5425,22 +5428,22 @@ uint32 _spoolss_getform(pipes_struct *p, SPOOL_Q_GETFORM *q_u, SPOOL_R_GETFORM * *needed=spoolss_size_form_1(&form_1); if (!alloc_buffer_size(buffer, buffer_size)){ - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } if (*needed > offered) { - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the form structures */ DEBUGADD(6,("adding form %s [%d] to buffer\n", form_name, i)); smb_io_form_1("", buffer, &form_1, 0); - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; default: safe_free(list); - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } @@ -5488,7 +5491,7 @@ static uint32 enumports_level_1(NEW_BUFFER *buffer, uint32 offered, uint32 *need if (fd != -1) close(fd); /* Is this the best error to return here? */ - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } numlines = 0; @@ -5498,9 +5501,9 @@ static uint32 enumports_level_1(NEW_BUFFER *buffer, uint32 offered, uint32 *need if(numlines) { if((ports=(PORT_INFO_1 *)malloc( numlines * sizeof(PORT_INFO_1) )) == NULL) { - DEBUG(10,("Returning ERROR_NOT_ENOUGH_MEMORY [%x]\n", ERROR_NOT_ENOUGH_MEMORY)); + DEBUG(10,("Returning ERRnomem [%x]\n", ERRnomem)); file_lines_free(qlines); - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } for (i=0; i<numlines; i++) { @@ -5517,7 +5520,7 @@ static uint32 enumports_level_1(NEW_BUFFER *buffer, uint32 offered, uint32 *need *returned = 1; /* Sole Samba port returned. */ if((ports=(PORT_INFO_1 *)malloc( sizeof(PORT_INFO_1) )) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; DEBUG(10,("enumports_level_1: port name %s\n", SAMBA_PRINTER_PORT_NAME)); @@ -5532,7 +5535,7 @@ static uint32 enumports_level_1(NEW_BUFFER *buffer, uint32 offered, uint32 *need if (!alloc_buffer_size(buffer, *needed)) { safe_free(ports); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the ports structures */ @@ -5545,10 +5548,10 @@ static uint32 enumports_level_1(NEW_BUFFER *buffer, uint32 offered, uint32 *need if (*needed > offered) { *returned=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -5586,7 +5589,7 @@ static uint32 enumports_level_2(NEW_BUFFER *buffer, uint32 offered, uint32 *need if (fd != -1) close(fd); /* Is this the best error to return here? */ - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } numlines = 0; @@ -5596,9 +5599,9 @@ static uint32 enumports_level_2(NEW_BUFFER *buffer, uint32 offered, uint32 *need if(numlines) { if((ports=(PORT_INFO_2 *)malloc( numlines * sizeof(PORT_INFO_2) )) == NULL) { - DEBUG(10,("Returning ERROR_NOT_ENOUGH_MEMORY [%x]\n", ERROR_NOT_ENOUGH_MEMORY)); + DEBUG(10,("Returning ERRnomem [%x]\n", ERRnomem)); file_lines_free(qlines); - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } for (i=0; i<numlines; i++) { @@ -5616,7 +5619,7 @@ static uint32 enumports_level_2(NEW_BUFFER *buffer, uint32 offered, uint32 *need *returned = 1; if((ports=(PORT_INFO_2 *)malloc( sizeof(PORT_INFO_2) )) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; DEBUG(10,("enumports_level_2: port name %s\n", SAMBA_PRINTER_PORT_NAME)); @@ -5631,7 +5634,7 @@ static uint32 enumports_level_2(NEW_BUFFER *buffer, uint32 offered, uint32 *need if (!alloc_buffer_size(buffer, *needed)) { safe_free(ports); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } /* fill the buffer with the ports structures */ @@ -5644,10 +5647,10 @@ static uint32 enumports_level_2(NEW_BUFFER *buffer, uint32 offered, uint32 *need if (*needed > offered) { *returned=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -5678,7 +5681,7 @@ uint32 _spoolss_enumports( pipes_struct *p, SPOOL_Q_ENUMPORTS *q_u, SPOOL_R_ENUM case 2: return enumports_level_2(buffer, offered, needed, returned); default: - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } @@ -5696,7 +5699,7 @@ static uint32 spoolss_addprinterex_level_2( pipes_struct *p, const UNISTR2 *uni_ if ((printer = (NT_PRINTER_INFO_LEVEL *)malloc(sizeof(NT_PRINTER_INFO_LEVEL))) == NULL) { DEBUG(0,("spoolss_addprinterex_level_2: malloc fail.\n")); - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } ZERO_STRUCTP(printer); @@ -5707,7 +5710,7 @@ static uint32 spoolss_addprinterex_level_2( pipes_struct *p, const UNISTR2 *uni_ if (*lp_addprinter_cmd() ) if ( !add_printer_hook(printer) ) { free_a_printer(&printer,2); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } slprintf(name, sizeof(name)-1, "\\\\%s\\%s", global_myname, @@ -5715,13 +5718,13 @@ static uint32 spoolss_addprinterex_level_2( pipes_struct *p, const UNISTR2 *uni_ if ((snum = print_queue_snum(printer->info_2->sharename)) == -1) { free_a_printer(&printer,2); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } /* you must be a printer admin to add a new printer */ if (!print_access_check(NULL, snum, PRINTER_ACCESS_ADMINISTER)) { free_a_printer(&printer,2); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } /* @@ -5730,27 +5733,27 @@ static uint32 spoolss_addprinterex_level_2( pipes_struct *p, const UNISTR2 *uni_ if (!check_printer_ok(printer->info_2, snum)) { free_a_printer(&printer,2); - return ERROR_INVALID_PARAMETER; + return ERRinvalidparam; } /* write the ASCII on disk */ if (add_a_printer(*printer, 2) != 0) { free_a_printer(&printer,2); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } if (!open_printer_hnd(p, handle, name)) { /* Handle open failed - remove addition. */ del_a_printer(printer->info_2->sharename); free_a_printer(&printer,2); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } free_a_printer(&printer,2); srv_spoolss_sendnotify(p, handle); - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -5773,13 +5776,13 @@ uint32 _spoolss_addprinterex( pipes_struct *p, SPOOL_Q_ADDPRINTEREX *q_u, SPOOL_ case 1: /* we don't handle yet */ /* but I know what to do ... */ - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; case 2: return spoolss_addprinterex_level_2(p, uni_srv_name, info, unk0, unk1, unk2, unk3, user_switch, user, handle); default: - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } @@ -5792,7 +5795,7 @@ uint32 _spoolss_addprinterdriver(pipes_struct *p, SPOOL_Q_ADDPRINTERDRIVER *q_u, uint32 level = q_u->level; SPOOL_PRINTER_DRIVER_INFO_LEVEL *info = &q_u->info; - uint32 err = NT_STATUS_NOPROBLEMO; + uint32 err = ERRsuccess; NT_PRINTER_DRIVER_INFO_LEVEL driver; struct current_user user; @@ -5803,18 +5806,18 @@ uint32 _spoolss_addprinterdriver(pipes_struct *p, SPOOL_Q_ADDPRINTERDRIVER *q_u, convert_printer_driver_info(info, &driver, level); DEBUG(5,("Cleaning driver's information\n")); - if ((err = clean_up_driver_struct(driver, level, &user)) != NT_STATUS_NOPROBLEMO ) + if ((err = clean_up_driver_struct(driver, level, &user)) != ERRsuccess ) goto done; DEBUG(5,("Moving driver to final destination\n")); if(!move_driver_to_download_area(driver, level, &user, &err)) { if (err == 0) - err = ERROR_ACCESS_DENIED; + err = ERRnoaccess; goto done; } if (add_a_printer_driver(driver, level)!=0) { - err = ERROR_ACCESS_DENIED; + err = ERRnoaccess; goto done; } @@ -5842,10 +5845,10 @@ static uint32 getprinterdriverdir_level_1(UNISTR2 *name, UNISTR2 *uni_environmen unistr2_to_ascii(long_archi, uni_environment, sizeof(long_archi)-1); if (get_short_archi(short_archi, long_archi)==FALSE) - return ERROR_INVALID_ENVIRONMENT; + return ERRinvalidenvironment; if((info=(DRIVER_DIRECTORY_1 *)malloc(sizeof(DRIVER_DIRECTORY_1))) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; slprintf(path, sizeof(path)-1, "\\\\%s\\print$\\%s", global_myname, short_archi); @@ -5857,7 +5860,7 @@ static uint32 getprinterdriverdir_level_1(UNISTR2 *name, UNISTR2 *uni_environmen if (!alloc_buffer_size(buffer, *needed)) { safe_free(info); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } smb_io_driverdir_1("", buffer, info, 0); @@ -5865,9 +5868,9 @@ static uint32 getprinterdriverdir_level_1(UNISTR2 *name, UNISTR2 *uni_environmen safe_free(info); if (*needed > offered) - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -5894,7 +5897,7 @@ uint32 _spoolss_getprinterdriverdirectory(pipes_struct *p, SPOOL_Q_GETPRINTERDRI case 1: return getprinterdriverdir_level_1(name, uni_environment, buffer, offered, needed); default: - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } @@ -5944,14 +5947,14 @@ uint32 _spoolss_enumprinterdata(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATA *q_u, S if (!Printer) { DEBUG(0,("_spoolss_enumprinterdata: Invalid handle (%s).\n", OUR_HANDLE(handle))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } if (!get_printer_snum(p,handle, &snum)) - return ERROR_INVALID_HANDLE; + return ERRbadfid; if (get_a_printer(&printer, 2, lp_servicename(snum)) != 0) - return ERROR_INVALID_HANDLE; + return ERRbadfid; /* * The NT machine wants to know the biggest size of value and data @@ -5974,7 +5977,7 @@ uint32 _spoolss_enumprinterdata(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATA *q_u, S if (!get_specific_param_by_index(*printer, 2, idx, value, &data, &type, &data_len)) { safe_free(data); free_a_printer(&printer, 2); - return ERROR_NO_MORE_ITEMS; + return ERRnomoreitems; } #endif @@ -6005,7 +6008,7 @@ uint32 _spoolss_enumprinterdata(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATA *q_u, S if (param_index == 0) { /* No parameters found. */ free_a_printer(&printer, 2); - return ERROR_NO_MORE_ITEMS; + return ERRnomoreitems; } /* the value is an UNICODE string but realvaluesize is the length in bytes including the leading 0 */ @@ -6015,7 +6018,7 @@ uint32 _spoolss_enumprinterdata(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATA *q_u, S DEBUG(6,("final values: [%d], [%d]\n", *out_value_len, *out_data_len)); free_a_printer(&printer, 2); - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /* @@ -6026,7 +6029,7 @@ uint32 _spoolss_enumprinterdata(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATA *q_u, S if (!get_specific_param_by_index(*printer, 2, idx, value, &data, &type, &data_len)) { safe_free(data); free_a_printer(&printer, 2); - return ERROR_NO_MORE_ITEMS; + return ERRnomoreitems; } free_a_printer(&printer, 2); @@ -6043,7 +6046,7 @@ uint32 _spoolss_enumprinterdata(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATA *q_u, S *out_max_value_len=(in_value_len/sizeof(uint16)); if((*out_value=(uint16 *)talloc_zero(p->mem_ctx,in_value_len*sizeof(uint8))) == NULL) { safe_free(data); - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } *out_value_len = rpcstr_push((char *)*out_value,value, in_value_len, 0); @@ -6054,7 +6057,7 @@ uint32 _spoolss_enumprinterdata(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATA *q_u, S *out_max_data_len=in_data_len; if((*data_out=(uint8 *)talloc_zero(p->mem_ctx, in_data_len*sizeof(uint8))) == NULL) { safe_free(data); - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } memcpy(*data_out, data, (size_t)data_len); @@ -6062,7 +6065,7 @@ uint32 _spoolss_enumprinterdata(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATA *q_u, S safe_free(data); - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -6088,15 +6091,15 @@ uint32 _spoolss_setprinterdata( pipes_struct *p, SPOOL_Q_SETPRINTERDATA *q_u, SP if (!Printer) { DEBUG(0,("_spoolss_setprinterdata: Invalid handle (%s).\n", OUR_HANDLE(handle))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } if (!get_printer_snum(p,handle, &snum)) - return ERROR_INVALID_HANDLE; + return ERRbadfid; status = get_a_printer(&printer, 2, lp_servicename(snum)); if (status != 0x0) - return ERROR_INVALID_NAME; + return ERRinvalidname; convert_specific_param(¶m, value , type, data, real_len); @@ -6114,7 +6117,7 @@ uint32 _spoolss_setprinterdata( pipes_struct *p, SPOOL_Q_SETPRINTERDATA *q_u, SP old_param.data_len) == 0) { DEBUG(3, ("setprinterdata hasn't changed\n")); - status = NT_STATUS_NOPROBLEMO; + status = ERRsuccess; goto done; } } @@ -6124,7 +6127,7 @@ uint32 _spoolss_setprinterdata( pipes_struct *p, SPOOL_Q_SETPRINTERDATA *q_u, SP if (!print_access_check(NULL, snum, PRINTER_ACCESS_ADMINISTER)) { DEBUG(3, ("security descriptor change denied by existing " "security descriptor\n")); - status = ERROR_ACCESS_DENIED; + status = ERRnoaccess; goto done; } @@ -6160,27 +6163,27 @@ uint32 _spoolss_deleteprinterdata(pipes_struct *p, SPOOL_Q_DELETEPRINTERDATA *q_ if (!Printer) { DEBUG(0,("_spoolss_deleteprinterdata: Invalid handle (%s).\n", OUR_HANDLE(handle))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } if (!get_printer_snum(p, handle, &snum)) - return ERROR_INVALID_HANDLE; + return ERRbadfid; if (!print_access_check(NULL, snum, PRINTER_ACCESS_ADMINISTER)) { DEBUG(3, ("_spoolss_deleteprinterdata: printer properties " "change denied by existing security descriptor\n")); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } status = get_a_printer(&printer, 2, lp_servicename(snum)); if (status != 0x0) - return ERROR_INVALID_NAME; + return ERRinvalidname; ZERO_STRUCTP(¶m); unistr2_to_ascii(param.value, value, sizeof(param.value)-1); if(!unlink_specific_param_if_exist(printer->info_2, ¶m)) - status = ERROR_INVALID_PARAMETER; + status = ERRinvalidparam; else status = mod_a_printer(*printer, 2); @@ -6206,17 +6209,17 @@ uint32 _spoolss_addform( pipes_struct *p, SPOOL_Q_ADDFORM *q_u, SPOOL_R_ADDFORM if (!Printer) { DEBUG(0,("_spoolss_addform: Invalid handle (%s).\n", OUR_HANDLE(handle))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } /* can't add if builtin */ if (get_a_builtin_ntform(&form->name,&tmpForm)) { - return ERROR_INVALID_PARAMETER; + return ERRinvalidparam; } count=get_ntforms(&list); if(!add_a_form(&list, form, &count)) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; write_ntforms(&list, count); safe_free(list); @@ -6241,17 +6244,17 @@ uint32 _spoolss_deleteform( pipes_struct *p, SPOOL_Q_DELETEFORM *q_u, SPOOL_R_DE if (!Printer) { DEBUG(0,("_spoolss_deleteform: Invalid handle (%s).\n", OUR_HANDLE(handle))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } /* can't delete if builtin */ if (get_a_builtin_ntform(form_name,&tmpForm)) { - return ERROR_INVALID_PARAMETER; + return ERRinvalidparam; } count = get_ntforms(&list); if(!delete_a_form(&list, form_name, &count, &ret)) - return ERROR_INVALID_PARAMETER; + return ERRinvalidparam; safe_free(list); @@ -6277,11 +6280,11 @@ uint32 _spoolss_setform(pipes_struct *p, SPOOL_Q_SETFORM *q_u, SPOOL_R_SETFORM * if (!Printer) { DEBUG(0,("_spoolss_setform: Invalid handle (%s).\n", OUR_HANDLE(handle))); - return ERROR_INVALID_HANDLE; + return ERRbadfid; } /* can't set if builtin */ if (get_a_builtin_ntform(&form->name,&tmpForm)) { - return ERROR_INVALID_PARAMETER; + return ERRinvalidparam; } count=get_ntforms(&list); @@ -6301,7 +6304,7 @@ static uint32 enumprintprocessors_level_1(NEW_BUFFER *buffer, uint32 offered, ui PRINTPROCESSOR_1 *info_1=NULL; if((info_1 = (PRINTPROCESSOR_1 *)malloc(sizeof(PRINTPROCESSOR_1))) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; (*returned) = 0x1; @@ -6310,7 +6313,7 @@ static uint32 enumprintprocessors_level_1(NEW_BUFFER *buffer, uint32 offered, ui *needed += spoolss_size_printprocessor_info_1(info_1); if (!alloc_buffer_size(buffer, *needed)) - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; smb_io_printprocessor_info_1("", buffer, info_1, 0); @@ -6318,10 +6321,10 @@ static uint32 enumprintprocessors_level_1(NEW_BUFFER *buffer, uint32 offered, ui if (*needed > offered) { *returned=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -6357,7 +6360,7 @@ uint32 _spoolss_enumprintprocessors(pipes_struct *p, SPOOL_Q_ENUMPRINTPROCESSORS case 1: return enumprintprocessors_level_1(buffer, offered, needed, returned); default: - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } @@ -6369,7 +6372,7 @@ static uint32 enumprintprocdatatypes_level_1(NEW_BUFFER *buffer, uint32 offered, PRINTPROCDATATYPE_1 *info_1=NULL; if((info_1 = (PRINTPROCDATATYPE_1 *)malloc(sizeof(PRINTPROCDATATYPE_1))) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; (*returned) = 0x1; @@ -6378,7 +6381,7 @@ static uint32 enumprintprocdatatypes_level_1(NEW_BUFFER *buffer, uint32 offered, *needed += spoolss_size_printprocdatatype_info_1(info_1); if (!alloc_buffer_size(buffer, *needed)) - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; smb_io_printprocdatatype_info_1("", buffer, info_1, 0); @@ -6386,10 +6389,10 @@ static uint32 enumprintprocdatatypes_level_1(NEW_BUFFER *buffer, uint32 offered, if (*needed > offered) { *returned=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -6418,7 +6421,7 @@ uint32 _spoolss_enumprintprocdatatypes(pipes_struct *p, SPOOL_Q_ENUMPRINTPROCDAT case 1: return enumprintprocdatatypes_level_1(buffer, offered, needed, returned); default: - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } @@ -6431,7 +6434,7 @@ static uint32 enumprintmonitors_level_1(NEW_BUFFER *buffer, uint32 offered, uint PRINTMONITOR_1 *info_1=NULL; if((info_1 = (PRINTMONITOR_1 *)malloc(sizeof(PRINTMONITOR_1))) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; (*returned) = 0x1; @@ -6440,7 +6443,7 @@ static uint32 enumprintmonitors_level_1(NEW_BUFFER *buffer, uint32 offered, uint *needed += spoolss_size_printmonitor_info_1(info_1); if (!alloc_buffer_size(buffer, *needed)) - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; smb_io_printmonitor_info_1("", buffer, info_1, 0); @@ -6448,10 +6451,10 @@ static uint32 enumprintmonitors_level_1(NEW_BUFFER *buffer, uint32 offered, uint if (*needed > offered) { *returned=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -6462,7 +6465,7 @@ static uint32 enumprintmonitors_level_2(NEW_BUFFER *buffer, uint32 offered, uint PRINTMONITOR_2 *info_2=NULL; if((info_2 = (PRINTMONITOR_2 *)malloc(sizeof(PRINTMONITOR_2))) == NULL) - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; (*returned) = 0x1; @@ -6473,7 +6476,7 @@ static uint32 enumprintmonitors_level_2(NEW_BUFFER *buffer, uint32 offered, uint *needed += spoolss_size_printmonitor_info_2(info_2); if (!alloc_buffer_size(buffer, *needed)) - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; smb_io_printmonitor_info_2("", buffer, info_2, 0); @@ -6481,10 +6484,10 @@ static uint32 enumprintmonitors_level_2(NEW_BUFFER *buffer, uint32 offered, uint if (*needed > offered) { *returned=0; - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -6521,7 +6524,7 @@ uint32 _spoolss_enumprintmonitors(pipes_struct *p, SPOOL_Q_ENUMPRINTMONITORS *q_ case 2: return enumprintmonitors_level_2(buffer, offered, needed, returned); default: - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } @@ -6537,7 +6540,7 @@ static uint32 getjob_level_1(print_queue_struct *queue, int count, int snum, uin if (info_1 == NULL) { safe_free(queue); - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } for (i=0; i<count && found==False; i++) { @@ -6549,7 +6552,7 @@ static uint32 getjob_level_1(print_queue_struct *queue, int count, int snum, uin safe_free(queue); safe_free(info_1); /* I shoud reply something else ... I can't find the good one */ - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } fill_job_info_1(info_1, &(queue[i-1]), i, snum); @@ -6560,7 +6563,7 @@ static uint32 getjob_level_1(print_queue_struct *queue, int count, int snum, uin if (!alloc_buffer_size(buffer, *needed)) { safe_free(info_1); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } smb_io_job_info_1("", buffer, info_1, 0); @@ -6568,9 +6571,9 @@ static uint32 getjob_level_1(print_queue_struct *queue, int count, int snum, uin safe_free(info_1); if (*needed > offered) - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } @@ -6589,7 +6592,7 @@ static uint32 getjob_level_2(print_queue_struct *queue, int count, int snum, uin if (info_2 == NULL) { safe_free(queue); - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } for (i=0; i<count && found==False; i++) { @@ -6601,12 +6604,12 @@ static uint32 getjob_level_2(print_queue_struct *queue, int count, int snum, uin safe_free(queue); safe_free(info_2); /* I shoud reply something else ... I can't find the good one */ - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } if (get_a_printer(&ntprinter, 2, lp_servicename(snum)) !=0) { safe_free(queue); - return ERROR_NOT_ENOUGH_MEMORY; + return ERRnomem; } fill_job_info_2(info_2, &(queue[i-1]), i, snum, ntprinter); @@ -6618,7 +6621,7 @@ static uint32 getjob_level_2(print_queue_struct *queue, int count, int snum, uin if (!alloc_buffer_size(buffer, *needed)) { safe_free(info_2); - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; } smb_io_job_info_2("", buffer, info_2, 0); @@ -6627,9 +6630,9 @@ static uint32 getjob_level_2(print_queue_struct *queue, int count, int snum, uin free(info_2); if (*needed > offered) - return ERROR_INSUFFICIENT_BUFFER; + return ERRinsufficientbuffer; else - return NT_STATUS_NOPROBLEMO; + return ERRsuccess; } /**************************************************************************** @@ -6660,7 +6663,7 @@ uint32 _spoolss_getjob( pipes_struct *p, SPOOL_Q_GETJOB *q_u, SPOOL_R_GETJOB *r_ *needed=0; if (!get_printer_snum(p, handle, &snum)) - return ERROR_INVALID_HANDLE; + return ERRbadfid; count = print_queue_status(snum, &queue, &prt_status); @@ -6674,6 +6677,6 @@ uint32 _spoolss_getjob( pipes_struct *p, SPOOL_Q_GETJOB *q_u, SPOOL_R_GETJOB *r_ return getjob_level_2(queue, count, snum, jobid, buffer, offered, needed); default: safe_free(queue); - return ERROR_INVALID_LEVEL; + return ERRunknownlevel; } } diff --git a/source3/rpc_server/srv_srvsvc_nt.c b/source3/rpc_server/srv_srvsvc_nt.c index 913b04bca3..735a429102 100644 --- a/source3/rpc_server/srv_srvsvc_nt.c +++ b/source3/rpc_server/srv_srvsvc_nt.c @@ -1264,7 +1264,7 @@ uint32 _srv_net_share_set_info(pipes_struct *p, SRV_Q_NET_SHARE_SET_INFO *q_u, S r_u->switch_value = 0; if (strequal(share_name,"IPC$") || strequal(share_name,"ADMIN$") || strequal(share_name,"global")) - return ERROR_ACCESS_DENIED; + return ERRnoaccess; snum = find_service(share_name); @@ -1274,17 +1274,17 @@ uint32 _srv_net_share_set_info(pipes_struct *p, SRV_Q_NET_SHARE_SET_INFO *q_u, S /* No change to printer shares. */ if (lp_print_ok(snum)) - return ERROR_ACCESS_DENIED; + return ERRnoaccess; get_current_user(&user,p); if (user.uid != 0) - return ERROR_ACCESS_DENIED; + return ERRnoaccess; switch (q_u->info_level) { case 1: /* Not enough info in a level 1 to do anything. */ - return ERROR_ACCESS_DENIED; + return ERRnoaccess; case 2: unistr2_to_ascii(comment, &q_u->info.share.info2.info_2_str.uni_remark, sizeof(share_name)); unistr2_to_ascii(pathname, &q_u->info.share.info2.info_2_str.uni_path, sizeof(share_name)); @@ -1299,7 +1299,7 @@ uint32 _srv_net_share_set_info(pipes_struct *p, SRV_Q_NET_SHARE_SET_INFO *q_u, S map_generic_share_sd_bits(psd); break; case 1005: - return ERROR_ACCESS_DENIED; + return ERRnoaccess; case 1501: fstrcpy(pathname, lp_pathname(snum)); fstrcpy(comment, lp_comment(snum)); @@ -1314,7 +1314,7 @@ uint32 _srv_net_share_set_info(pipes_struct *p, SRV_Q_NET_SHARE_SET_INFO *q_u, S /* We can only modify disk shares. */ if (type != STYPE_DISKTREE) - return ERROR_ACCESS_DENIED; + return ERRnoaccess; /* Check if the pathname is valid. */ if (!(ptr = valid_share_pathname( pathname ))) @@ -1332,7 +1332,7 @@ uint32 _srv_net_share_set_info(pipes_struct *p, SRV_Q_NET_SHARE_SET_INFO *q_u, S if (strcmp(ptr, lp_pathname(snum)) || strcmp(comment, lp_comment(snum)) ) { if (!lp_change_share_cmd() || !*lp_change_share_cmd()) - return ERROR_ACCESS_DENIED; + return ERRnoaccess; slprintf(command, sizeof(command)-1, "%s \"%s\" \"%s\" \"%s\" \"%s\"", lp_change_share_cmd(), CONFIGFILE, share_name, ptr, comment); @@ -1340,7 +1340,7 @@ uint32 _srv_net_share_set_info(pipes_struct *p, SRV_Q_NET_SHARE_SET_INFO *q_u, S DEBUG(10,("_srv_net_share_set_info: Running [%s]\n", command )); if ((ret = smbrun(command, NULL)) != 0) { DEBUG(0,("_srv_net_share_set_info: Running [%s] returned (%d)\n", command, ret )); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } /* Tell everyone we updated smb.conf. */ @@ -1394,18 +1394,18 @@ uint32 _srv_net_share_add(pipes_struct *p, SRV_Q_NET_SHARE_ADD *q_u, SRV_R_NET_S if (user.uid != 0) { DEBUG(10,("_srv_net_share_add: uid != 0. Access denied.\n")); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } if (!lp_add_share_cmd() || !*lp_add_share_cmd()) { DEBUG(10,("_srv_net_share_add: No add share command\n")); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } switch (q_u->info_level) { case 1: /* Not enough info in a level 1 to do anything. */ - return ERROR_ACCESS_DENIED; + return ERRnoaccess; case 2: unistr2_to_ascii(share_name, &q_u->info.share.info2.info_2_str.uni_netname, sizeof(share_name)); unistr2_to_ascii(comment, &q_u->info.share.info2.info_2_str.uni_remark, sizeof(share_name)); @@ -1422,14 +1422,14 @@ uint32 _srv_net_share_add(pipes_struct *p, SRV_Q_NET_SHARE_ADD *q_u, SRV_R_NET_S break; case 1005: /* DFS only level. */ - return ERROR_ACCESS_DENIED; + return ERRnoaccess; default: DEBUG(5,("_srv_net_share_add: unsupported switch value %d\n", q_u->info_level)); return NT_STATUS_INVALID_INFO_CLASS; } if (strequal(share_name,"IPC$") || strequal(share_name,"ADMIN$") || strequal(share_name,"global")) - return ERROR_ACCESS_DENIED; + return ERRnoaccess; snum = find_service(share_name); @@ -1439,7 +1439,7 @@ uint32 _srv_net_share_add(pipes_struct *p, SRV_Q_NET_SHARE_ADD *q_u, SRV_R_NET_S /* We can only add disk shares. */ if (type != STYPE_DISKTREE) - return ERROR_ACCESS_DENIED; + return ERRnoaccess; /* Check if the pathname is valid. */ if (!(ptr = valid_share_pathname( pathname ))) @@ -1456,7 +1456,7 @@ uint32 _srv_net_share_add(pipes_struct *p, SRV_Q_NET_SHARE_ADD *q_u, SRV_R_NET_S DEBUG(10,("_srv_net_share_add: Running [%s]\n", command )); if ((ret = smbrun(command, NULL)) != 0) { DEBUG(0,("_srv_net_share_add: Running [%s] returned (%d)\n", command, ret )); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } if (psd) { @@ -1497,7 +1497,7 @@ uint32 _srv_net_share_del(pipes_struct *p, SRV_Q_NET_SHARE_DEL *q_u, SRV_R_NET_S unistr2_to_ascii(share_name, &q_u->uni_share_name, sizeof(share_name)); if (strequal(share_name,"IPC$") || strequal(share_name,"ADMIN$") || strequal(share_name,"global")) - return ERROR_ACCESS_DENIED; + return ERRnoaccess; snum = find_service(share_name); @@ -1506,15 +1506,15 @@ uint32 _srv_net_share_del(pipes_struct *p, SRV_Q_NET_SHARE_DEL *q_u, SRV_R_NET_S /* No change to printer shares. */ if (lp_print_ok(snum)) - return ERROR_ACCESS_DENIED; + return ERRnoaccess; get_current_user(&user,p); if (user.uid != 0) - return ERROR_ACCESS_DENIED; + return ERRnoaccess; if (!lp_delete_share_cmd() || !*lp_delete_share_cmd()) - return ERROR_ACCESS_DENIED; + return ERRnoaccess; slprintf(command, sizeof(command)-1, "%s \"%s\" \"%s\"", lp_delete_share_cmd(), CONFIGFILE, lp_servicename(snum)); @@ -1522,7 +1522,7 @@ uint32 _srv_net_share_del(pipes_struct *p, SRV_Q_NET_SHARE_DEL *q_u, SRV_R_NET_S DEBUG(10,("_srv_net_share_del: Running [%s]\n", command )); if ((ret = smbrun(command, NULL)) != 0) { DEBUG(0,("_srv_net_share_del: Running [%s] returned (%d)\n", command, ret )); - return ERROR_ACCESS_DENIED; + return ERRnoaccess; } /* Delete the SD in the database. */ @@ -1635,7 +1635,7 @@ uint32 _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC if (!fsp) { DEBUG(3,("_srv_net_file_query_secdesc: Unable to open file %s\n", filename)); - r_u->status = ERROR_ACCESS_DENIED; + r_u->status = ERRnoaccess; goto error_exit; } } @@ -1644,7 +1644,7 @@ uint32 _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC if (sd_size == 0) { DEBUG(3,("_srv_net_file_query_secdesc: Unable to get NT ACL for file %s\n", filename)); - r_u->status = ERROR_ACCESS_DENIED; + r_u->status = ERRnoaccess; goto error_exit; } @@ -1728,7 +1728,7 @@ uint32 _srv_net_file_set_secdesc(pipes_struct *p, SRV_Q_NET_FILE_SET_SECDESC *q_ if (!fsp) { DEBUG(3,("_srv_net_file_set_secdesc: Unable to open file %s\n", filename)); - r_u->status = ERROR_ACCESS_DENIED; + r_u->status = ERRnoaccess; goto error_exit; } } @@ -1737,7 +1737,7 @@ uint32 _srv_net_file_set_secdesc(pipes_struct *p, SRV_Q_NET_FILE_SET_SECDESC *q_ if (ret == False) { DEBUG(3,("_srv_net_file_set_secdesc: Unable to set NT ACL on file %s\n", filename)); - r_u->status = ERROR_ACCESS_DENIED; + r_u->status = ERRnoaccess; goto error_exit; } @@ -1863,7 +1863,7 @@ uint32 _srv_net_name_validate(pipes_struct *p, SRV_Q_NET_NAME_VALIDATE *q_u, SRV default: /*unsupported type*/ - r_u->status = ERROR_INVALID_LEVEL; + r_u->status = ERRunknownlevel; break; } |