annotate files/patch-src_apps_common_hiredis__libevent2.c @ 18:4a6383e57d12

Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 02 Sep 2020 22:38:36 +0200
parents 9a1ee735f28f
children 735b41782ed7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
1 --- src/apps/common/hiredis_libevent2.c.orig
4
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
2 +++ src/apps/common/hiredis_libevent2.c
18
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
3 @@ -55,6 +55,7 @@
4
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
4 char *ip;
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
5 int port;
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
6 char *pwd;
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
7 + char *usocket;
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
8 int db;
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
9 };
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
10
18
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
11 @@ -223,12 +224,13 @@
4
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
12
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
13 ///////////////////////// Attach /////////////////////////////////
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
14
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
15 -redis_context_handle redisLibeventAttach(struct event_base *base, char *ip0, int port0, char *pwd, int db)
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
16 +redis_context_handle redisLibeventAttach(struct event_base *base, char *ip0, int port0, char *pwd, char *usocket, int db)
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
17 {
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
18
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
19 struct redisLibeventEvents *e = NULL;
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
20 redisAsyncContext *ac = NULL;
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
21
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
22 + char sockpath[256] = "\0";
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
23 char ip[256];
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
24 if(ip0 && ip0[0])
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
25 STRCPY(ip,ip0);
18
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
26 @@ -239,7 +241,14 @@
4
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
27 if(port0>0)
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
28 port=port0;
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
29
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
30 - ac = redisAsyncConnect(ip, port);
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
31 + if(usocket)
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
32 + STRCPY(sockpath, usocket);
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
33 +
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
34 + if(usocket) {
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
35 + ac = redisAsyncConnectUnix(sockpath);
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
36 + } else {
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
37 + ac = redisAsyncConnect(ip, port);
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
38 + }
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
39 if (!ac) {
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
40 fprintf(stderr,"Error: %s:%s\n", ac->errstr, ac->c.errstr);
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
41 return NULL;
18
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
42 @@ -256,6 +265,11 @@
4
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
43 e->port = port;
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
44 if(pwd)
18
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
45 e->pwd = strdup(pwd);
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
46 + if(usocket) {
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
47 + e->usocket = strdup(usocket);
4
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
48 + } else {
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
49 + e->usocket = NULL;
18
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
50 + }
4
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
51 e->db = db;
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
52
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
53 /* Register functions to start/stop listening for events */
18
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
54 @@ -277,6 +291,12 @@
4
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
55 e);
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
56
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
57 if (e->rev == NULL || e->wev == NULL) {
18
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
58 + if(e->rev)
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
59 + event_free(e->rev);
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
60 + if(e->wev)
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
61 + event_free(e->wev);
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
62 + free(e->ip);
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
63 + free(e->pwd);
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
64 free(e);
4
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
65 return NULL;
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
66 }
18
4a6383e57d12 Compile with coturn 4.5.1.3 (GitHub): some security patches are already included now -- "socket" Redis option is included again
Franz Glasner <fzglas.hg@dom66.de>
parents: 4
diff changeset
67 @@ -327,7 +347,11 @@
4
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
68 e->context = NULL;
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
69 }
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
70
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
71 - ac = redisAsyncConnect(e->ip, e->port);
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
72 + if(e->usocket) {
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
73 + ac = redisAsyncConnectUnix(e->usocket);
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
74 + } else {
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
75 + ac = redisAsyncConnect(e->ip, e->port);
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
76 + }
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
77 if(!ac) {
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
78 return;
9a1ee735f28f Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
79 }