Index: /branches/rel_ag_9_4_0_493_tw/aproxy/conf/aproxy.conf
===================================================================
--- /branches/rel_ag_9_4_0_493_tw/aproxy/conf/aproxy.conf	(revision 20227)
+++ /branches/rel_ag_9_4_0_493_tw/aproxy/conf/aproxy.conf	(working copy)
@@ -22,7 +22,11 @@
 http {
     include         /ca/aproxy/nginx/conf/mime.types;
     default_type    application/octet-stream;
-    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
+    map $request_uri $uri_customized {
+        ~/motionpro/postlogin/apps\?_uname=(?<p1>[^&]*)&_role=(?<p2>[^&]*)&_pid=(.*) /motionpro/postlogin/apps?_uname=;
+        default $request_uri;
+    }
+    log_format main   '$remote_addr - $remote_user [$time_local] "$request_method $uri_customized$p1&_role=$p2 $server_protocol" '
                       '$status $body_bytes_sent "$http_referer" '
                       '"$http_user_agent" "$http_x_forwarded_for"';
 
Index: /branches/rel_ag_9_4_0_493_tw/etc/sysv_click
===================================================================
--- /branches/rel_ag_9_4_0_493_tw/etc/sysv_click	(revision 20227)
+++ /branches/rel_ag_9_4_0_493_tw/etc/sysv_click	(working copy)
@@ -1004,6 +1004,10 @@
 fi
 mkdir /ca/aproxy/nginx/conf/vhost
 
+if [ -f /var/crash/nginx_access.log ]; then
+	sed 's/_pid=[^]*/_pid=/g' /var/crash/nginx_access.log > /var/crash/nginx_access.log.1
+	mv /var/crash/nginx_access.log.1 /var/crash/nginx_access.log
+fi
 if [ -f /ca/bin/nginx_monitor.sh ]; then
 	/ca/bin/nginx_monitor.sh &
 fi
Index: /branches/rel_ag_9_4_0_493_tw/uproxy/http_proxy/parser_utils.c
===================================================================
--- /branches/rel_ag_9_4_0_493_tw/uproxy/http_proxy/parser_utils.c	(revision 20227)
+++ /branches/rel_ag_9_4_0_493_tw/uproxy/http_proxy/parser_utils.c	(working copy)
@@ -1158,7 +1158,11 @@
 	 * we only correct header terminators.. the length of the value in the read
 	 * and write frames will be identical
 	 */
-	hdr_ptrs->header_len = header_value_len_calc(token, start, rwp->new_headers_len, rwp);
+	if ((token == GLOBAL_HTTP_END_LF) ||
+						(token == GLOBAL_HTTP_END_CRLF) ||
+						(token == GLOBAL_HTTP_NEXT_HDR) ) {			
+			hdr_ptrs->header_len = header_value_len_calc(token, start, rwp->new_headers_len, rwp);
+	}
 
 	return token;
 }
@@ -5617,6 +5621,14 @@
 				parser_frame_chain_to_string(sec_data->clientid, 
 					clientid.header, clientid.header_len, clientid.frame_p);
 				sec_data->clientid_len = clientid.header_len;
+			} else {
+					snprintf(str_content_len, sizeof(str_content_len), "failed to parse clientid.");
+					slog1(HTTP_REQ_INV_HEADER, SM_VSITE(client_conn_data)->name, SLOG_USER_NA,
+							SLOG_PROTO_NA, AMP_REMOTE_IP_STR(PROXY_CONNP(client_conn_data)), 
+							AMP_REMOTE_PORT(PROXY_CONNP(client_conn_data)),
+							SLOG_DST_IP_NA, SLOG_DST_PORT_NA, SLOG_DST_NAME_NA,
+							SLOG_ARG_NA, SLOG_OP_NA, SLOG_RESULT_NA, SLOG_RCVD_NA, SLOG_SENT_NA,
+							SLOG_RULE_NA, WELF_TYPE_VPN, 1, str_content_len);
 			}
 			break;
 		case HTTP_REQ_HDRS_HOSTNAME: {
@@ -5691,6 +5703,14 @@
 				parser_frame_chain_to_string(sec_data->appid, 
 					appid.header, appid.header_len, appid.frame_p);
 				sec_data->appid_len = appid.header_len;
+			} else {
+					snprintf(str_content_len, sizeof(str_content_len), "failed to parse appid.");
+					slog1(HTTP_REQ_INV_HEADER, SM_VSITE(client_conn_data)->name, SLOG_USER_NA,
+							SLOG_PROTO_NA, AMP_REMOTE_IP_STR(PROXY_CONNP(client_conn_data)), 
+							AMP_REMOTE_PORT(PROXY_CONNP(client_conn_data)),
+							SLOG_DST_IP_NA, SLOG_DST_PORT_NA, SLOG_DST_NAME_NA,
+							SLOG_ARG_NA, SLOG_OP_NA, SLOG_RESULT_NA, SLOG_RCVD_NA, SLOG_SENT_NA,
+							SLOG_RULE_NA, WELF_TYPE_VPN, 1, str_content_len);
 			}
 
 			break;
