Mercurial > hgrepos > FreeBSD > ports > net > turnserver
annotate files/patch-src_apps_common_hiredis__libevent2.c @ 26:4e4af36a675a
Update to GH version 4.6.0.
On the first look: compiles ok, plist ok, packages ok.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 07 Nov 2022 09:33:38 +0100 |
| parents | 735b41782ed7 |
| children |
| rev | line source |
|---|---|
|
26
4e4af36a675a
Update to GH version 4.6.0.
Franz Glasner <fzglas.hg@dom66.de>
parents:
21
diff
changeset
|
1 --- src/apps/common/hiredis_libevent2.c.orig 2022-09-13 07:33:12 UTC |
|
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 |
| 21 | 3 @@ -55,6 +55,7 @@ struct redisLibeventEvents |
|
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 |
| 21 | 11 @@ -223,12 +224,13 @@ void send_message_to_redis(redis_context_handle rch, c |
|
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); |
| 21 | 26 @@ -239,7 +241,14 @@ redis_context_handle redisLibeventAttach(struct event_ |
|
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) { |
|
26
4e4af36a675a
Update to GH version 4.6.0.
Franz Glasner <fzglas.hg@dom66.de>
parents:
21
diff
changeset
|
40 fprintf(stderr,"Error: redisAsyncConnect returned NULL\n"); |
|
4
9a1ee735f28f
Patch to allow redis connections by a Unix socket.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
41 return NULL; |
|
26
4e4af36a675a
Update to GH version 4.6.0.
Franz Glasner <fzglas.hg@dom66.de>
parents:
21
diff
changeset
|
42 @@ -260,6 +269,11 @@ redis_context_handle redisLibeventAttach(struct event_ |
|
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 */ |
|
26
4e4af36a675a
Update to GH version 4.6.0.
Franz Glasner <fzglas.hg@dom66.de>
parents:
21
diff
changeset
|
54 @@ -281,6 +295,12 @@ redis_context_handle redisLibeventAttach(struct event_ |
|
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 } |
|
26
4e4af36a675a
Update to GH version 4.6.0.
Franz Glasner <fzglas.hg@dom66.de>
parents:
21
diff
changeset
|
67 @@ -331,7 +351,11 @@ static void redis_reconnect(struct redisLibeventEvents |
|
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 } |
