add net rpc shutdown fix to list
authorGerald Carter <jerry@samba.org>
Thu, 15 Sep 2005 18:38:19 +0000 (18:38 +0000)
committerGerald Carter <jerry@samba.org>
Thu, 15 Sep 2005 18:38:19 +0000 (18:38 +0000)
git-svn-id: file:///home/svn/samba-web/trunk@809 44aeb9d7-1cd8-0310-b257-a505e0beeac2

patches/index.html
patches/net_rpc_shutdown_v1.patch [new file with mode: 0644]

index 6d9a42792395f9957d213ce4524c131735d5a4a8..b92fd6d0a303d6ad93b135bf9a6455adc107fb3b 100755 (executable)
@@ -73,6 +73,10 @@ $ cd source
     <td><a href="/samba/patches/usrmgr_groups_v1.patch">Usrmgr.exe and Groups</a></td>
     <td>Ensure accounts with the SeAddUsersPrivilege can modify domain and local group attributes.</td>
   </tr>
+  <tr>
+    <td><a href="/samba/patches/net_rpc_shutdown_v1.patch">net rpc shutdown</a></td>
+    <td>Fix a regression in &quot;net rpc shutdown&quot;</td>
+  </tr>
   </tbody> 
 </table>
 
diff --git a/patches/net_rpc_shutdown_v1.patch b/patches/net_rpc_shutdown_v1.patch
new file mode 100644 (file)
index 0000000..7ed3a2d
--- /dev/null
@@ -0,0 +1,82 @@
+diff -urBbN --exclude-from=diff.excludes samba-3.0.20-orig/source/rpc_parse/parse_reg.c samba-3.0.20-new/source/rpc_parse/parse_reg.c
+--- samba-3.0.20-orig/source/rpc_parse/parse_reg.c     2005-07-28 08:19:48.000000000 -0500
++++ samba-3.0.20-new/source/rpc_parse/parse_reg.c      2005-09-15 13:35:30.000000000 -0500
+@@ -1485,8 +1485,10 @@
+       q_u->server = TALLOC_P( get_talloc_ctx(), uint16 );
+       *q_u->server = 0x1;
++      if ( msg && *msg ) { 
+       q_u->message = TALLOC_P( get_talloc_ctx(), UNISTR4 );
+       init_unistr4( q_u->message, msg, UNI_FLAGS_NONE );
++      }
+       q_u->timeout = timeout;
+@@ -1536,6 +1538,8 @@
+       if (!prs_pointer("server", ps, depth, (void**)&q_u->server, sizeof(uint16), (PRS_POINTER_CAST)prs_uint16))
+               return False;
++      if (!prs_align(ps))
++              return False;
+       if (!prs_pointer("message", ps, depth, (void**)&q_u->message, sizeof(UNISTR4), (PRS_POINTER_CAST)prs_unistr4))
+               return False;
+@@ -1594,6 +1598,8 @@
+       if (!prs_pointer("server", ps, depth, (void**)&q_u->server, sizeof(uint16), (PRS_POINTER_CAST)prs_uint16))
+               return False;
++      if (!prs_align(ps))
++              return False;
+       if (!prs_pointer("message", ps, depth, (void**)&q_u->message, sizeof(UNISTR4), (PRS_POINTER_CAST)prs_unistr4))
+               return False;
+@@ -1667,6 +1673,8 @@
+       if (!prs_pointer("server", ps, depth, (void**)&q_u->server, sizeof(uint16), (PRS_POINTER_CAST)prs_uint16))
+               return False;
++      if (!prs_align(ps))
++              return False;
+       return True;
+ }
+diff -urBbN --exclude-from=diff.excludes samba-3.0.20-orig/source/rpc_parse/parse_shutdown.c samba-3.0.20-new/source/rpc_parse/parse_shutdown.c
+--- samba-3.0.20-orig/source/rpc_parse/parse_shutdown.c        2005-04-18 11:38:20.000000000 -0500
++++ samba-3.0.20-new/source/rpc_parse/parse_shutdown.c 2005-09-15 13:35:30.000000000 -0500
+@@ -34,8 +34,10 @@
+       q_s->server = TALLOC_P( get_talloc_ctx(), uint16 );
+       *q_s->server = 0x1;
++      if ( msg && *msg ) {
+       q_s->message = TALLOC_P( get_talloc_ctx(), UNISTR4 );
+       init_unistr4( q_s->message, msg, UNI_FLAGS_NONE );
++      }
+       q_s->timeout = timeout;
+@@ -84,6 +86,8 @@
+       if (!prs_pointer("server", ps, depth, (void**)&q_s->server, sizeof(uint16), (PRS_POINTER_CAST)prs_uint16))
+               return False;
++      if (!prs_align(ps))
++              return False;
+       if (!prs_pointer("message", ps, depth, (void**)&q_s->message, sizeof(UNISTR4), (PRS_POINTER_CAST)prs_unistr4))
+               return False;
+@@ -142,6 +145,8 @@
+       if (!prs_pointer("server", ps, depth, (void**)&q_s->server, sizeof(uint16), (PRS_POINTER_CAST)prs_uint16))
+               return False;
++      if (!prs_align(ps))
++              return False;
+       if (!prs_pointer("message", ps, depth, (void**)&q_s->message, sizeof(UNISTR4), (PRS_POINTER_CAST)prs_unistr4))
+               return False;
+@@ -214,6 +219,8 @@
+       if (!prs_pointer("server", ps, depth, (void**)&q_s->server, sizeof(uint16), (PRS_POINTER_CAST)prs_uint16))
+               return False;
++      if (!prs_align(ps))
++              return False;
+       return True;
+ }