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:
parent
6dad13d801
commit
dc0c3e97ca
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user