Author: mhabersack
Date: 2007-06-20 03:36:00 -0400 (Wed, 20 Jun 2007)
New Revision: 80294

Modified:
   trunk/mod_mono/ChangeLog
   trunk/mod_mono/src/mod_mono.c
Log:
2007-06-20  Marek Habersack  <[EMAIL PROTECTED]>

        * src/mod_mono.c (send_initial_data): added support for
        ServerAlias directive. Patch from Juraj Skripsky
        <[EMAIL PROTECTED]>, thanks! Closes bug #81878.


Modified: trunk/mod_mono/ChangeLog
===================================================================
--- trunk/mod_mono/ChangeLog    2007-06-20 06:54:19 UTC (rev 80293)
+++ trunk/mod_mono/ChangeLog    2007-06-20 07:36:00 UTC (rev 80294)
@@ -1,3 +1,9 @@
+2007-06-20  Marek Habersack  <[EMAIL PROTECTED]>
+
+       * src/mod_mono.c (send_initial_data): added support for
+       ServerAlias directive. Patch from Juraj Skripsky
+       <[EMAIL PROTECTED]>, thanks! Closes bug #81878.
+
 2007-04-19  Wade Berrier  <[EMAIL PROTECTED]>
 
        * configure.in: Version bump -> 1.2.4

Modified: trunk/mod_mono/src/mod_mono.c
===================================================================
--- trunk/mod_mono/src/mod_mono.c       2007-06-20 06:54:19 UTC (rev 80293)
+++ trunk/mod_mono/src/mod_mono.c       2007-06-20 07:36:00 UTC (rev 80294)
@@ -1356,10 +1356,15 @@
        int i;
        char *str, *ptr;
        int size;
+       server_rec *s = r->server;
 
        DEBUG_PRINT (2, "Send init1");
        size = 1;
        size += ((r->method != NULL) ? strlen (r->method) : 0) + sizeof 
(int32_t);
+  if (s != NULL)
+    size += ((s->is_virtual && s->server_hostname != NULL) ? strlen 
(s->server_hostname) : 0) + sizeof (int32_t);
+  else
+    size += sizeof (int32_t);
        size += ((r->uri != NULL) ? strlen (r->uri) : 0) + sizeof (int32_t);
        size += ((r->args != NULL) ? strlen (r->args) : 0) + sizeof (int32_t);
        size += ((r->protocol != NULL) ? strlen (r->protocol) : 0) + sizeof 
(int32_t);
@@ -1379,8 +1384,12 @@
        }
 
        ptr = str = apr_pcalloc (r->pool, size);
-       *ptr++ = 6; /* version. Keep in sync with ModMonoRequest. */
+       *ptr++ = 7; /* version. Keep in sync with ModMonoRequest. */
        ptr += write_string_to_buffer (ptr, 0, r->method);
+  if (s != NULL)
+    ptr += write_string_to_buffer (ptr, 0, (s->is_virtual ? s->server_hostname 
: NULL));
+  else
+    ptr += write_string_to_buffer (ptr, 0, NULL);
        ptr += write_string_to_buffer (ptr, 0, r->uri);
        ptr += write_string_to_buffer (ptr, 0, r->args);
        ptr += write_string_to_buffer (ptr, 0, r->protocol);

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to