1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-18 06:04:06 +03:00

Reformatting only before real change.

Jeremy.
(This used to be commit ac21f280d5030a9c49330be37bd754a1540a238a)
This commit is contained in:
Jeremy Allison 2002-08-26 20:26:25 +00:00
parent 6dad13d801
commit dc0c3e97ca

View File

@ -609,8 +609,9 @@ const static struct smb_message_struct
}; };
/******************************************************************* /*******************************************************************
dump a prs to a file Dump a packet to a file.
********************************************************************/ ********************************************************************/
static void smb_dump(const char *name, int type, char *data, ssize_t len) static void smb_dump(const char *name, int type, char *data, ssize_t len)
{ {
int fd, i; int fd, i;
@ -635,8 +636,9 @@ static void smb_dump(const char *name, int type, char *data, ssize_t len)
/**************************************************************************** /****************************************************************************
do a switch on the message type, and return the response size Do a switch on the message type, and return the response size
****************************************************************************/ ****************************************************************************/
static int switch_message(int type,char *inbuf,char *outbuf,int size,int bufsize) static int switch_message(int type,char *inbuf,char *outbuf,int size,int bufsize)
{ {
static pid_t pid= (pid_t)-1; static pid_t pid= (pid_t)-1;
@ -651,9 +653,8 @@ static int switch_message(int type,char *inbuf,char *outbuf,int size,int bufsize
errno = 0; errno = 0;
last_message = type; last_message = type;
/* make sure this is an SMB packet */ /* Make sure this is an SMB packet */
if (strncmp(smb_base(inbuf),"\377SMB",4) != 0) if (strncmp(smb_base(inbuf),"\377SMB",4) != 0) {
{
DEBUG(2,("Non-SMB packet of length %d\n",smb_len(inbuf))); DEBUG(2,("Non-SMB packet of length %d\n",smb_len(inbuf)));
return(-1); return(-1);
} }
@ -662,14 +663,11 @@ static int switch_message(int type,char *inbuf,char *outbuf,int size,int bufsize
current inbuf/outbuf system */ current inbuf/outbuf system */
global_smbpid = SVAL(inbuf,smb_pid); global_smbpid = SVAL(inbuf,smb_pid);
if (smb_messages[type].fn == NULL) if (smb_messages[type].fn == NULL) {
{
DEBUG(0,("Unknown message type %d!\n",type)); DEBUG(0,("Unknown message type %d!\n",type));
smb_dump("Unknown", 1, inbuf, size); smb_dump("Unknown", 1, inbuf, size);
outsize = reply_unknown(inbuf,outbuf); outsize = reply_unknown(inbuf,outbuf);
} } else {
else
{
int flags = smb_messages[type].flags; int flags = smb_messages[type].flags;
static uint16 last_session_tag = UID_FIELD_INVALID; static uint16 last_session_tag = UID_FIELD_INVALID;
/* In share mode security we must ignore the vuid. */ /* In share mode security we must ignore the vuid. */
@ -679,10 +677,8 @@ static int switch_message(int type,char *inbuf,char *outbuf,int size,int bufsize
DEBUG(3,("switch message %s (pid %d)\n",smb_fn_name(type),(int)pid)); DEBUG(3,("switch message %s (pid %d)\n",smb_fn_name(type),(int)pid));
smb_dump(smb_fn_name(type), 1, inbuf, size); smb_dump(smb_fn_name(type), 1, inbuf, size);
if(global_oplock_break) if(global_oplock_break) {
{ if(flags & QUEUE_IN_OPLOCK) {
if(flags & QUEUE_IN_OPLOCK)
{
/* /*
* Queue this message as we are the process of an oplock break. * Queue this message as we are the process of an oplock break.
*/ */
@ -723,9 +719,8 @@ static int switch_message(int type,char *inbuf,char *outbuf,int size,int bufsize
change_to_root_user(); change_to_root_user();
/* does this protocol need a valid tree connection? */ /* does this protocol need a valid tree connection? */
if ((flags & AS_USER) && !conn) { if ((flags & AS_USER) && !conn)
return ERROR_DOS(ERRSRV, ERRinvnid); return ERROR_DOS(ERRSRV, ERRinvnid);
}
/* does this protocol need to be run as the connected user? */ /* does this protocol need to be run as the connected user? */
@ -747,21 +742,17 @@ static int switch_message(int type,char *inbuf,char *outbuf,int size,int bufsize
return(ERROR_DOS(ERRSRV,ERRaccess)); return(ERROR_DOS(ERRSRV,ERRaccess));
/* ipc services are limited */ /* ipc services are limited */
if (IS_IPC(conn) && (flags & AS_USER) && !(flags & CAN_IPC)) { if (IS_IPC(conn) && (flags & AS_USER) && !(flags & CAN_IPC))
return(ERROR_DOS(ERRSRV,ERRaccess)); return(ERROR_DOS(ERRSRV,ERRaccess));
}
/* load service specific parameters */ /* load service specific parameters */
if (conn && !set_current_service(conn,(flags & AS_USER)?True:False)) { if (conn && !set_current_service(conn,(flags & AS_USER)?True:False))
return(ERROR_DOS(ERRSRV,ERRaccess)); return(ERROR_DOS(ERRSRV,ERRaccess));
}
/* does this protocol need to be run as guest? */ /* does this protocol need to be run as guest? */
if ((flags & AS_GUEST) && if ((flags & AS_GUEST) && (!change_to_guest() ||
(!change_to_guest() || !check_access(smbd_server_fd(), lp_hostsallow(-1), lp_hostsdeny(-1))))
!check_access(smbd_server_fd(), lp_hostsallow(-1), lp_hostsdeny(-1)))) {
return(ERROR_DOS(ERRSRV,ERRaccess)); return(ERROR_DOS(ERRSRV,ERRaccess));
}
last_inbuf = inbuf; last_inbuf = inbuf;
@ -775,8 +766,9 @@ static int switch_message(int type,char *inbuf,char *outbuf,int size,int bufsize
/**************************************************************************** /****************************************************************************
construct a reply to the incoming packet Construct a reply to the incoming packet.
****************************************************************************/ ****************************************************************************/
static int construct_reply(char *inbuf,char *outbuf,int size,int bufsize) static int construct_reply(char *inbuf,char *outbuf,int size,int bufsize)
{ {
int type = CVAL(inbuf,smb_com); int type = CVAL(inbuf,smb_com);
@ -807,6 +799,7 @@ static int construct_reply(char *inbuf,char *outbuf,int size,int bufsize)
Keep track of the number of running smbd's. This functionality is used to Keep track of the number of running smbd's. This functionality is used to
'hard' limit Samba overhead on resource constrained systems. 'hard' limit Samba overhead on resource constrained systems.
****************************************************************************/ ****************************************************************************/
static BOOL smbd_process_limit(void) static BOOL smbd_process_limit(void)
{ {
int32 total_smbds; int32 total_smbds;