pier 01/07/18 21:25:24
Modified: webapp/lib pr_warp_config.c
Log:
Now web-applications are correctly deployed from the configuration data
contained in the web-server config file.
Revision Changes Path
1.3 +38 -1 jakarta-tomcat-connectors/webapp/lib/pr_warp_config.c
Index: pr_warp_config.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/webapp/lib/pr_warp_config.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- pr_warp_config.c 2001/07/18 19:12:38 1.2
+++ pr_warp_config.c 2001/07/19 04:25:24 1.3
@@ -54,7 +54,7 @@
* *
* ========================================================================= */
-/* @version $Id: pr_warp_config.c,v 1.2 2001/07/18 19:12:38 pier Exp $ */
+/* @version $Id: pr_warp_config.c,v 1.3 2001/07/19 04:25:24 pier Exp $ */
#include "pr_warp.h"
wa_boolean n_check(wa_connection *conn, warp_packet *pack) {
@@ -105,6 +105,7 @@
apr_pool_t *pool=NULL;
wa_boolean ret=wa_false;
warp_packet *pack=NULL;
+ char *temp=NULL;
if (apr_pool_create(&pool,wa_pool)!=APR_SUCCESS) {
wa_log(WA_MARK,"Cannot create WARP temporary configuration pool");
@@ -133,7 +134,43 @@
p_write_string(pack,appl->rpth);
n_send(conf->sock,pack);
+ if (n_recv(conf->sock,pack)!=wa_true) {
+ wa_log(WA_MARK,"Cannot read packet (%s:%d)",WA_MARK);
+ return(wa_false);
+ }
+ if (pack->type==TYPE_ERROR) {
+ wa_log(WA_MARK,"Cannot deploy application %s",appl->name);
+ continue;
+ }
+ if (pack->type!=TYPE_CONF_APPLIC) {
+ wa_log(WA_MARK,"Unknown packet received (%d)",pack->type);
+ p_reset(pack);
+ pack->type=TYPE_FATAL;
+ p_write_string(pack,"Invalid packet received");
+ n_send(conf->sock,pack);
+ }
+ p_read_int(pack,(int *)&appl->conf);
+ p_read_string(pack,&temp);
+ wa_debug(WA_MARK,"TEMP=\"%s\"",temp);
+ appl->lpth=apr_pstrdup(wa_pool,temp);
+ appl->depl=wa_true;
+ wa_debug(WA_MARK,"Application \"%s\" deployed with root=%s id=%d",
+ appl->name,appl->lpth,appl->conf);
+
elem=elem->next;
+ }
+
+ p_reset(pack);
+ pack->type=TYPE_CONF_DONE;
+ n_send(conf->sock,pack);
+
+ if (n_recv(conf->sock,pack)!=wa_true) {
+ wa_log(WA_MARK,"Cannot read packet (%s:%d)",WA_MARK);
+ return(wa_false);
+ }
+ if (pack->type!=TYPE_CONF_PROCEED) {
+ wa_log(WA_MARK,"Cannot proceed on this connection");
+ return(wa_false);
}
apr_pool_destroy(pool);