Author: jerry
Date: 2005-09-16 20:59:12 +0000 (Fri, 16 Sep 2005)
New Revision: 10278

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=10278

Log:
more fixes for bug 3080.  Ensure the length on the message string is correct.  
Windows 2000 is very senstive io this apparently
Modified:
   branches/SAMBA_3_0/source/rpc_parse/parse_reg.c
   branches/SAMBA_3_0/source/rpc_parse/parse_shutdown.c
   trunk/source/rpc_parse/parse_reg.c
   trunk/source/rpc_parse/parse_shutdown.c


Changeset:
Modified: branches/SAMBA_3_0/source/rpc_parse/parse_reg.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_parse/parse_reg.c     2005-09-16 20:54:57 UTC 
(rev 10277)
+++ branches/SAMBA_3_0/source/rpc_parse/parse_reg.c     2005-09-16 20:59:12 UTC 
(rev 10278)
@@ -1487,6 +1487,13 @@
        if ( msg && *msg ) { 
                q_u->message = TALLOC_P( get_talloc_ctx(), UNISTR4 );
                init_unistr4( q_u->message, msg, UNI_FLAGS_NONE );
+
+               /* Win2000 is apparently very sensitive to these lengths */
+               /* do a special case here */
+
+               q_u->message->string->uni_max_len++;
+               q_u->message->size += 2;
+
        }
 
        q_u->timeout = timeout;

Modified: branches/SAMBA_3_0/source/rpc_parse/parse_shutdown.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_parse/parse_shutdown.c        2005-09-16 
20:54:57 UTC (rev 10277)
+++ branches/SAMBA_3_0/source/rpc_parse/parse_shutdown.c        2005-09-16 
20:59:12 UTC (rev 10278)
@@ -37,6 +37,12 @@
        if ( msg && *msg ) {
                q_s->message = TALLOC_P( get_talloc_ctx(), UNISTR4 );
                init_unistr4( q_s->message, msg, UNI_FLAGS_NONE );
+
+               /* Win2000 is apparently very sensitive to these lengths */
+               /* do a special case here */
+
+               q_s->message->string->uni_max_len++;
+               q_s->message->size += 2;
        }
 
        q_s->timeout = timeout;

Modified: trunk/source/rpc_parse/parse_reg.c
===================================================================
--- trunk/source/rpc_parse/parse_reg.c  2005-09-16 20:54:57 UTC (rev 10277)
+++ trunk/source/rpc_parse/parse_reg.c  2005-09-16 20:59:12 UTC (rev 10278)
@@ -1487,6 +1487,13 @@
        if ( msg && *msg ) { 
                q_u->message = TALLOC_P( get_talloc_ctx(), UNISTR4 );
                init_unistr4( q_u->message, msg, UNI_FLAGS_NONE );
+
+               /* Win2000 is apparently very sensitive to these lengths */
+               /* do a special case here */
+
+               q_u->message->string->uni_max_len++;
+               q_u->message->size += 2;
+
        }
 
        q_u->timeout = timeout;

Modified: trunk/source/rpc_parse/parse_shutdown.c
===================================================================
--- trunk/source/rpc_parse/parse_shutdown.c     2005-09-16 20:54:57 UTC (rev 
10277)
+++ trunk/source/rpc_parse/parse_shutdown.c     2005-09-16 20:59:12 UTC (rev 
10278)
@@ -37,6 +37,12 @@
        if ( msg && *msg ) {
                q_s->message = TALLOC_P( get_talloc_ctx(), UNISTR4 );
                init_unistr4( q_s->message, msg, UNI_FLAGS_NONE );
+
+               /* Win2000 is apparently very sensitive to these lengths */
+               /* do a special case here */
+
+               q_s->message->string->uni_max_len++;
+               q_s->message->size += 2;
        }
 
        q_s->timeout = timeout;

Reply via email to