summaryrefslogtreecommitdiff
path: root/system/ossec-agent/gcc-fno-common-3.6.0.patch
blob: e8ed3c66dd9ea58af30eabc44e85a82e301cb13b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
diff --git a/src/addagent/main.c b/src/addagent/main.c
index 587a8a3d8..ab12f0326 100644
--- a/src/addagent/main.c
+++ b/src/addagent/main.c
@@ -17,6 +17,7 @@ static void print_banner(void);
 static void manage_shutdown(int sig) __attribute__((noreturn));
 #endif
 
+int willchroot;
 
 #if defined(__MINGW32__)
 static int setenv(const char *name, const char *val, __attribute__((unused)) int overwrite)
diff --git a/src/addagent/manage_agents.c b/src/addagent/manage_agents.c
index ac39c1e66..4f9c266ff 100644
--- a/src/addagent/manage_agents.c
+++ b/src/addagent/manage_agents.c
@@ -85,6 +85,8 @@ int add_agent(int json_output)
 
     char authfile[257];
 
+    extern int willchroot;
+
     if(willchroot > 0) {
         snprintf(authfile, 256, "%s", AUTH_FILE);	//XXX
     } else {
diff --git a/src/addagent/manage_agents.h b/src/addagent/manage_agents.h
index 4812dba43..f2962e80b 100644
--- a/src/addagent/manage_agents.h
+++ b/src/addagent/manage_agents.h
@@ -147,4 +147,4 @@ extern fpos_t fp_pos;
 #define GMF_UNKN_ERROR  ARGV0 ": Could not run GetModuleFileName which returned (%ld).\n"
 
 
-int willchroot;
+//int willchroot;
diff --git a/src/addagent/manage_keys.c b/src/addagent/manage_keys.c
index 146b48326..ffb9a1f21 100644
--- a/src/addagent/manage_keys.c
+++ b/src/addagent/manage_keys.c
@@ -336,6 +336,8 @@ int k_bulkload(const char *cmdbulk)
     char delims[] = ",";
     char *token = NULL;
 
+    extern int willchroot;
+
     /* Check if we can open the input file */
     printf("Opening: [%s]\n", cmdbulk);
     infp = fopen(cmdbulk, "r");
diff --git a/src/analysisd/analysisd.c b/src/analysisd/analysisd.c
index a220f4421..0a81971de 100644
--- a/src/analysisd/analysisd.c
+++ b/src/analysisd/analysisd.c
@@ -42,7 +42,12 @@
 #endif
 
 #ifdef SQLITE_ENABLED
-#include "syscheck-sqlite.h"
+#include <sqlite3.h>
+sqlite3 *conn;
+#endif
+
+#ifdef LIBGEOIP_ENABLED
+GeoIP *geoipdb;
 #endif
 
 /** Prototypes **/
diff --git a/src/analysisd/config.h b/src/analysisd/config.h
index 8d74c756e..976d1942e 100644
--- a/src/analysisd/config.h
+++ b/src/analysisd/config.h
@@ -12,6 +12,7 @@
 
 #include "config/config.h"
 #include "config/global-config.h"
+
 #ifdef LIBGEOIP_ENABLED
 #include "GeoIP.h"
 #endif
@@ -20,9 +21,11 @@
 extern long int __crt_ftell; /* Global ftell pointer */
 extern _Config Config;       /* Global Config structure */
 
+/*
 #ifdef LIBGEOIP_ENABLED
 GeoIP *geoipdb;
 #endif
+*/
 
 int GlobalConf(const char *cfgfile);
 
diff --git a/src/analysisd/decoders/geoip.c b/src/analysisd/decoders/geoip.c
index 464e4bb71..9816b4c81 100644
--- a/src/analysisd/decoders/geoip.c
+++ b/src/analysisd/decoders/geoip.c
@@ -30,6 +30,7 @@ char *GetGeoInfobyIP(char *ip_addr)
     GeoIPRecord *geoiprecord;
     char *geodata = NULL;
     char geobuffer[256 +1];
+    extern GeoIP *geoipdb;
 
     if(!geoipdb)
     {
diff --git a/src/analysisd/decoders/syscheck.c b/src/analysisd/decoders/syscheck.c
index a6d675892..30339a00d 100644
--- a/src/analysisd/decoders/syscheck.c
+++ b/src/analysisd/decoders/syscheck.c
@@ -16,7 +16,7 @@
 #include "decoder.h"
 
 #ifdef SQLITE_ENABLED
-#include "syscheck-sqlite.h"
+#include <sqlite3.h>
 #endif
 
 typedef struct __sdb {
diff --git a/src/analysisd/makelists.c b/src/analysisd/makelists.c
index 06c90db70..dfbe6a4a3 100644
--- a/src/analysisd/makelists.c
+++ b/src/analysisd/makelists.c
@@ -32,6 +32,10 @@ time_t c_time;
 char __shost[512];
 OSDecoderInfo *NULL_Decoder;
 
+#ifdef LIBGEOIP_ENABLED
+GeoIP *geoipdb;
+#endif
+
 /* print help statement */
 __attribute__((noreturn))
 static void help_makelists(void)
diff --git a/src/analysisd/syscheck-sqlite.h b/src/analysisd/syscheck-sqlite.h
deleted file mode 100644
index 526cab26e..000000000
--- a/src/analysisd/syscheck-sqlite.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifdef SQLITE_ENABLED
-#include <sqlite3.h>
-
-sqlite3 *conn;
-#endif
diff --git a/src/analysisd/testrule.c b/src/analysisd/testrule.c
index c08fb4885..b1aa928f7 100644
--- a/src/analysisd/testrule.c
+++ b/src/analysisd/testrule.c
@@ -83,6 +83,7 @@ int main(int argc, char **argv)
     memset(prev_month, '\0', 4);
 
 #ifdef LIBGEOIP_ENABLED
+    extern GeoIP *geoipdb;
     geoipdb = NULL;
 #endif
 
diff --git a/src/client-agent/agentd.c b/src/client-agent/agentd.c
index c09cf87d3..67828e79c 100644
--- a/src/client-agent/agentd.c
+++ b/src/client-agent/agentd.c
@@ -23,6 +23,8 @@ void AgentdStart(const char *dir, int uid, int gid, const char *user, const char
     fd_set fdset;
     struct timeval fdtimeout;
 
+    extern agent *agt;
+
     available_server = 0;
 
     /* Initial random numbers must happen before chroot */
diff --git a/src/client-agent/agentd.h b/src/client-agent/agentd.h
index 0246a5457..a362ff9a3 100644
--- a/src/client-agent/agentd.h
+++ b/src/client-agent/agentd.h
@@ -81,9 +81,9 @@ void os_agent_cb(int fd, short ev, void *arg);
 extern time_t available_server;
 extern int run_foreground;
 extern keystore keys;
-extern agent *agt;
+//extern agent *agt;
 #ifndef WIN32
-struct imsgbuf server_ibuf;
+//struct imsgbuf server_ibuf;
 #endif //WIN32
 
 #endif /* __AGENTD_H */
diff --git a/src/client-agent/event-forward.c b/src/client-agent/event-forward.c
index 2e81f0c90..22ed0beb9 100644
--- a/src/client-agent/event-forward.c
+++ b/src/client-agent/event-forward.c
@@ -19,6 +19,9 @@
 /* Receive a message locally on the agent and forward it to the manager */
 void *EventForward(void)
 {
+
+    extern agent *agt;
+
     ssize_t recv_b;
     char msg[OS_MAXSTR + 1];
 
diff --git a/src/client-agent/main.c b/src/client-agent/main.c
index 5f85cfb73..01c18970c 100644
--- a/src/client-agent/main.c
+++ b/src/client-agent/main.c
@@ -16,7 +16,8 @@
 #define ARGV0 "ossec-agentd"
 #endif
 
-extern struct imsgbuf server_ibuf;
+//extern struct imsgbuf server_ibuf;
+struct imsgbuf server_ibuf;
 
 
 /* Prototypes */
@@ -112,6 +113,8 @@ int main(int argc, char **argv)
 
     debug1(STARTED_MSG, ARGV0);
 
+    extern agent *agt;
+
     agt = (agent *)calloc(1, sizeof(agent));
     if (!agt) {
         ErrorExit(MEM_ERROR, ARGV0, errno, strerror(errno));
diff --git a/src/client-agent/notify.c b/src/client-agent/notify.c
index 1b239f26c..93fec325c 100644
--- a/src/client-agent/notify.c
+++ b/src/client-agent/notify.c
@@ -68,6 +68,8 @@ void run_notify()
     os_md5 md5sum;
     time_t curr_time;
 
+    extern agent *agt;
+
     keep_alive_random[0] = '\0';
     curr_time = time(0);
 
diff --git a/src/client-agent/receiver-win.c b/src/client-agent/receiver-win.c
index 859bdf7f9..4ab62ee77 100644
--- a/src/client-agent/receiver-win.c
+++ b/src/client-agent/receiver-win.c
@@ -19,6 +19,7 @@
 /* Receive events from the server */
 void *receiver_thread(__attribute__((unused)) void *none)
 {
+    extern agent *agt;
     int recv_b;
 
     char file[OS_SIZE_1024 + 1];
diff --git a/src/client-agent/receiver.c b/src/client-agent/receiver.c
index fde64c282..5286e60dc 100644
--- a/src/client-agent/receiver.c
+++ b/src/client-agent/receiver.c
@@ -29,6 +29,8 @@ void *receive_msg()
     char cleartext[OS_MAXSTR + 1];
     char *tmp_msg;
 
+    extern agent *agt;
+
     memset(cleartext, '\0', OS_MAXSTR + 1);
     memset(buffer, '\0', OS_MAXSTR + 1);
 
diff --git a/src/client-agent/sendmsg.c b/src/client-agent/sendmsg.c
index 454c2e714..3076dfcf9 100644
--- a/src/client-agent/sendmsg.c
+++ b/src/client-agent/sendmsg.c
@@ -15,6 +15,9 @@
 /* Send a message to the server */
 int send_msg(int agentid, const char *msg)
 {
+
+    extern agent *agt;
+
     size_t msg_size;
     char crypt_msg[OS_MAXSTR + 1];
 
diff --git a/src/client-agent/start_agent.c b/src/client-agent/start_agent.c
index 51670cee5..f1df43715 100644
--- a/src/client-agent/start_agent.c
+++ b/src/client-agent/start_agent.c
@@ -24,6 +24,9 @@ int connect_server(int initial_id)
 #ifdef WIN32
     unsigned int attempts = 2;
 #endif //WIN32
+
+    extern agent *agt;
+
     int rc = initial_id;
 
     /* Checking if the initial is zero, meaning we have to
@@ -139,6 +142,8 @@ void start_agent(int is_startup)
     char cleartext[OS_MAXSTR + 1];
     char fmsg[OS_MAXSTR + 1];
 
+    extern agent *agt;
+
     memset(msg, '\0', OS_MAXSTR + 2);
     memset(buffer, '\0', OS_MAXSTR + 1);
     memset(cleartext, '\0', OS_MAXSTR + 1);
@@ -241,6 +246,8 @@ void os_agent_cb(int fd, short ev, void *arg) {
     struct imsg imsg;
     struct imsgbuf *ibuf = (struct imsgbuf *)arg;
 
+    extern agent *agt;
+
     if (ev & EV_READ) {
         if ((n = imsg_read(ibuf) == -1 && errno != EAGAIN)) {
             ErrorExit("%s: ERROR: imsg_read() failed: %s", ARGV0, strerror(errno));
diff --git a/src/os_net/os_net.c b/src/os_net/os_net.c
index f18e3be77..756e9fac8 100644
--- a/src/os_net/os_net.c
+++ b/src/os_net/os_net.c
@@ -14,7 +14,7 @@
 #include <errno.h>
 #include "shared.h"
 #include "os_net.h"
-agent *agt;
+agent *os_net_agt;
 
 /* Prototypes */
 static OSNetInfo *OS_Bindport(char *_port, unsigned int _proto, const char *_ip);
@@ -346,11 +346,11 @@ int OS_Connect(char *_port, unsigned int protocol, const char *_ip)
         return(OS_INVALID);
     }
 
-    if (agt) {
-        if (agt->lip) {
+    if (os_net_agt) {
+        if (os_net_agt->lip) {
             memset(&hints, 0, sizeof(struct addrinfo));
             hints.ai_flags = AI_NUMERICHOST;
-            s = getaddrinfo(agt->lip, NULL, &hints, &result);
+            s = getaddrinfo(os_net_agt->lip, NULL, &hints, &result);
             if (s != 0) {
                 verbose("getaddrinfo: %s", gai_strerror(s));
             }
@@ -363,8 +363,8 @@ int OS_Connect(char *_port, unsigned int protocol, const char *_ip)
     memset(&hints, 0, sizeof(struct addrinfo));
     /* Allow IPv4 or IPv6 if local_ip isn't specified */
     hints.ai_family = AF_UNSPEC;
-    if (agt) {
-        if (agt->lip) {
+    if (os_net_agt) {
+        if (os_net_agt->lip) {
             hints.ai_family = local_ai->ai_family;
         }
     }
@@ -398,13 +398,13 @@ int OS_Connect(char *_port, unsigned int protocol, const char *_ip)
             continue;
         }
 
-        if (agt) {
-            if (agt->lip) {
+        if (os_net_agt) {
+            if (os_net_agt->lip) {
                 if (bind(ossock, local_ai->ai_addr, local_ai->ai_addrlen)) {
                     verbose("Unable to bind to local address %s.  Ignoring. (%s)",
-                            agt->lip, strerror(errno));
+                            os_net_agt->lip, strerror(errno));
                 }
-                else verbose("Connecting from local address %s", agt->lip);
+                else verbose("Connecting from local address %s", os_net_agt->lip);
             }
         }
 
diff --git a/src/os_net/os_net.h b/src/os_net/os_net.h
index 9b7250928..3aaf00429 100644
--- a/src/os_net/os_net.h
+++ b/src/os_net/os_net.h
@@ -13,7 +13,7 @@
 
 #include "headers/shared.h"
 #include "config/client-config.h"
-extern agent *agt;
+extern agent *os_net_agt;
 #ifdef WIN32
 #ifndef AI_ADDRCONFIG
 #define AI_ADDRCONFIG   0x0400
diff --git a/src/win32/win_agent.c b/src/win32/win_agent.c
index 40a37e621..a2ec784f2 100644
--- a/src/win32/win_agent.c
+++ b/src/win32/win_agent.c
@@ -124,6 +124,7 @@ int local_start()
     WSADATA wsaData;
     DWORD  threadID;
     DWORD  threadID2;
+    extern agent *agt;
 
     /* Start agent */
     agt = (agent *)calloc(1, sizeof(agent));
@@ -271,6 +272,7 @@ int SendMSG(__attribute__((unused)) int queue, const char *message, const char *
     char tmpstr[OS_MAXSTR + 2];
     char crypt_msg[OS_MAXSTR + 2];
     DWORD dwWaitResult;
+    extern agent *agt;
 
     tmpstr[OS_MAXSTR + 1] = '\0';
     crypt_msg[OS_MAXSTR + 1] = '\0';
@@ -468,6 +470,8 @@ void send_win32_info(time_t curr_time)
     tmp_msg[OS_MAXSTR + 1] = '\0';
     crypt_msg[OS_MAXSTR + 1] = '\0';
 
+    extern agent *agt;
+
     debug1("%s: DEBUG: Sending keep alive message.", ARGV0);
 
     /* Fix time */