summaryrefslogtreecommitdiffstats
path: root/src/libs
diff options
context:
space:
mode:
authorhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2005-08-02 13:11:47 +0000
committerhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2005-08-02 13:11:47 +0000
commitd9ce56d11dadd2e24897c22fbb31ade19f64ea37 (patch)
tree9820e45b1cff1bd8b72c9baef0c0a5896abb6782 /src/libs
parented36ea4f180c0f109d879653d46c7ab6ef3d37d3 (diff)
Minor changes.
git-svn-id: svn://svn.zabbix.com/trunk@1919 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/zbxcommon/comms.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/libs/zbxcommon/comms.c b/src/libs/zbxcommon/comms.c
index 153329c5..ada03760 100644
--- a/src/libs/zbxcommon/comms.c
+++ b/src/libs/zbxcommon/comms.c
@@ -1,27 +1,37 @@
#include "common.h"
#include "log.h"
-int comms_create_request(char *host, char *key, char *data, char *request,int maxlen)
+int comms_create_request(char *host, char *key, char *data, char *lastlogsize, char *request,int maxlen)
{
int ret = SUCCEED;
char host_b64[MAX_STRING_LEN];
char key_b64[MAX_STRING_LEN];
char data_b64[MAX_STRING_LEN];
+ char lastlogsize_b64[MAX_STRING_LEN];
memset(host_b64,0,sizeof(host_b64));
memset(key_b64,0,sizeof(key_b64));
memset(data_b64,0,sizeof(data_b64));
+ memset(lastlogsize_b64,0,sizeof(lastlogsize_b64));
str_base64_encode(host, host_b64, strlen(host));
str_base64_encode(key, key_b64, strlen(key));
str_base64_encode(data, data_b64, strlen(data));
+ str_base64_encode(lastlogsize, lastlogsize_b64, strlen(lastlogsize));
- snprintf(request,maxlen,"<req><host>%s</host><key>%s</key><data>%s</data></req>",host_b64,key_b64,data_b64);
+ if(lastlogsize[0]==0)
+ {
+ snprintf(request,maxlen,"<req><host>%s</host><key>%s</key><data>%s</data></req>",host_b64,key_b64,data_b64);
+ }
+ else
+ {
+ snprintf(request,maxlen,"<req><host>%s</host><key>%s</key><data>%s</data><lastlogsize>%s</lastlogsize></req>",host_b64,key_b64,data_b64,lastlogsize_b64);
+ }
return ret;
}
-int comms_parse_response(char *xml,char *host,char *key, char *data, int maxlen)
+int comms_parse_response(char *xml,char *host,char *key, char *data, char *lastlogsize, int maxlen)
{
int ret = SUCCEED;
int i;
@@ -29,22 +39,27 @@ int comms_parse_response(char *xml,char *host,char *key, char *data, int maxlen)
char host_b64[MAX_STRING_LEN];
char key_b64[MAX_STRING_LEN];
char data_b64[MAX_STRING_LEN];
+ char lastlogsize_b64[MAX_STRING_LEN];
memset(host_b64,0,sizeof(host_b64));
memset(key_b64,0,sizeof(key_b64));
memset(data_b64,0,sizeof(data_b64));
+ memset(lastlogsize_b64,0,sizeof(lastlogsize_b64));
xml_get_data(xml, "host", host_b64, sizeof(host_b64)-1);
xml_get_data(xml, "key", key_b64, sizeof(key_b64)-1);
xml_get_data(xml, "data", data_b64, sizeof(data_b64)-1);
+ xml_get_data(xml, "lastlogsize", lastlogsize_b64, sizeof(lastlogsize_b64)-1);
memset(key,0,maxlen);
memset(host,0,maxlen);
memset(data,0,maxlen);
+ memset(lastlogsize,0,maxlen);
str_base64_decode(host_b64, host, &i);
str_base64_decode(key_b64, key, &i);
str_base64_decode(data_b64, data, &i);
+ str_base64_decode(lastlogsize_b64, lastlogsize, &i);
return ret;
}