summaryrefslogtreecommitdiffstats
path: root/source/smbd/ipc.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2007-08-05 10:17:58 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:29:19 -0500
commita6a2d97facf95c7997f3d12457f2811b3b7bde1b (patch)
tree3f25c974e88f91d74c3e280b8989ef9fe26b3930 /source/smbd/ipc.c
parentf0598b3ca0ee04e31855c3e54f3198e6fd968737 (diff)
downloadsamba-a6a2d97facf95c7997f3d12457f2811b3b7bde1b.tar.gz
samba-a6a2d97facf95c7997f3d12457f2811b3b7bde1b.tar.xz
samba-a6a2d97facf95c7997f3d12457f2811b3b7bde1b.zip
r24238: Push down reply_prep_legacy one level
Diffstat (limited to 'source/smbd/ipc.c')
-rw-r--r--source/smbd/ipc.c33
1 files changed, 25 insertions, 8 deletions
diff --git a/source/smbd/ipc.c b/source/smbd/ipc.c
index 157aff20c19..e238a3cc127 100644
--- a/source/smbd/ipc.c
+++ b/source/smbd/ipc.c
@@ -379,17 +379,17 @@ static void named_pipe(connection_struct *conn, uint16 vuid,
int suwcnt, int tdscnt,int tpscnt,
int msrcnt, int mdrcnt, int mprcnt)
{
- char *inbuf, *outbuf;
- int size, bufsize;
-
DEBUG(3,("named pipe command on <%s> name\n", name));
- if (!reply_prep_legacy(req, &inbuf, &outbuf, &size, &bufsize)) {
- reply_nterror(req, NT_STATUS_NO_MEMORY);
- return;
- }
-
if (strequal(name,"LANMAN")) {
+ char *inbuf, *outbuf;
+ int size, bufsize;
+
+ if (!reply_prep_legacy(req, &inbuf, &outbuf, &size, &bufsize)) {
+ reply_nterror(req, NT_STATUS_NO_MEMORY);
+ return;
+ }
+
reply_post_legacy(
req,
api_reply(conn, vuid, inbuf, outbuf,
@@ -404,7 +404,16 @@ static void named_pipe(connection_struct *conn, uint16 vuid,
strequal(name,"WINREG") ||
strequal(name,"SAMR") ||
strequal(name,"LSARPC")) {
+ char *inbuf, *outbuf;
+ int size, bufsize;
+
DEBUG(4,("named pipe command from Win95 (wow!)\n"));
+
+ if (!reply_prep_legacy(req, &inbuf, &outbuf, &size, &bufsize)) {
+ reply_nterror(req, NT_STATUS_NO_MEMORY);
+ return;
+ }
+
reply_post_legacy(
req,
api_fd_reply(conn, vuid, inbuf, outbuf,
@@ -415,6 +424,14 @@ static void named_pipe(connection_struct *conn, uint16 vuid,
}
if (strlen(name) < 1) {
+ char *inbuf, *outbuf;
+ int size, bufsize;
+
+ if (!reply_prep_legacy(req, &inbuf, &outbuf, &size, &bufsize)) {
+ reply_nterror(req, NT_STATUS_NO_MEMORY);
+ return;
+ }
+
reply_post_legacy(
req,
api_fd_reply(conn, vuid, inbuf, outbuf,