Gentoo Archives: gentoo-commits

From: Jeroen Roovers <jer@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-analyzer/hydra/, net-analyzer/hydra/files/
Date: Sun, 26 Jan 2020 16:43:56
Message-Id: 1580057028.95c1ff070c3d3a67d6e14734cf7f4f28b641b382.jer@gentoo
1 commit: 95c1ff070c3d3a67d6e14734cf7f4f28b641b382
2 Author: Jeroen Roovers <jer <AT> gentoo <DOT> org>
3 AuthorDate: Sun Jan 26 16:42:16 2020 +0000
4 Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org>
5 CommitDate: Sun Jan 26 16:43:48 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=95c1ff07
7
8 net-analyzer/hydra: Fix -fno-common issues
9
10 Package-Manager: Portage-2.3.85, Repoman-2.3.20
11 Bug: https://bugs.gentoo.org/706416
12 Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>
13
14 .../hydra/files/hydra-9.0-fcommon-gtk.patch | 79 ++++
15 .../hydra/files/hydra-9.0-fcommon-http.patch | 27 ++
16 .../hydra/files/hydra-9.0-fcommon-mod.patch | 63 +++
17 .../hydra/files/hydra-9.0-fcommon-mods.patch | 496 +++++++++++++++++++++
18 .../hydra/files/hydra-9.0-unneeded-buf.patch | 60 +++
19 net-analyzer/hydra/files/hydra-9.0-vnc.patch | 11 +
20 .../hydra/files/hydra-9999999-fcommon-http.patch | 27 ++
21 .../{hydra-9999999.ebuild => hydra-9.0-r1.ebuild} | 39 +-
22 net-analyzer/hydra/hydra-9999999.ebuild | 30 +-
23 9 files changed, 806 insertions(+), 26 deletions(-)
24
25 diff --git a/net-analyzer/hydra/files/hydra-9.0-fcommon-gtk.patch b/net-analyzer/hydra/files/hydra-9.0-fcommon-gtk.patch
26 new file mode 100644
27 index 00000000000..02ebab64e41
28 --- /dev/null
29 +++ b/net-analyzer/hydra/files/hydra-9.0-fcommon-gtk.patch
30 @@ -0,0 +1,79 @@
31 +--- a/hydra-gtk/src/callbacks.c
32 ++++ b/hydra-gtk/src/callbacks.c
33 +@@ -66,7 +66,7 @@ int hydra_get_options(char *options[]) {
34 + gchar *tmp;
35 + GString *a;
36 +
37 +- options[0] = HYDRA_BIN;
38 ++ options[0] = hydra_bin;
39 +
40 + /* get the port */
41 + widget = lookup_widget(GTK_WIDGET(wndMain), "spnPort");
42 +@@ -599,7 +599,7 @@ int *popen_re_unbuffered(char *command) {
43 +
44 + (void) hydra_get_options(options);
45 +
46 +- execv(HYDRA_BIN, options);
47 ++ execv(hydra_bin, options);
48 +
49 + g_warning("%s %i: popen_rw_unbuffered: execv() returned", __FILE__, __LINE__);
50 +
51 +--- a/hydra-gtk/src/main.c
52 ++++ b/hydra-gtk/src/main.c
53 +@@ -17,12 +17,12 @@
54 + char *hydra_path1 = "./hydra";
55 + char *hydra_path2 = "/usr/local/bin/hydra";
56 + char *hydra_path3 = "/usr/bin/hydra";
57 +-
58 ++char *hydra_bin;
59 ++GtkWidget *wndMain;
60 ++guint message_id;
61 +
62 + int main(int argc, char *argv[]) {
63 +- extern GtkWidget *wndMain;
64 + int i;
65 +- extern guint message_id;
66 + GtkWidget *output;
67 + GtkTextBuffer *outputbuf;
68 +
69 +@@ -35,22 +35,22 @@ int main(int argc, char *argv[]) {
70 + message_id = 0;
71 +
72 + /* locate the hydra binary */
73 +- HYDRA_BIN = NULL;
74 ++ hydra_bin = NULL;
75 + for (i = 0; i < argc - 1; i++) {
76 + if (!strcmp(argv[i], "--hydra-path")) {
77 +- HYDRA_BIN = argv[i + 1];
78 ++ hydra_bin = argv[i + 1];
79 + break;
80 + }
81 + }
82 +
83 +- if ((HYDRA_BIN != NULL) && (g_file_test(HYDRA_BIN, G_FILE_TEST_IS_EXECUTABLE))) {
84 ++ if ((hydra_bin != NULL) && (g_file_test(hydra_bin, G_FILE_TEST_IS_EXECUTABLE))) {
85 + /* just for obfuscation *g* */
86 + } else if (g_file_test(hydra_path1, G_FILE_TEST_IS_EXECUTABLE)) {
87 +- HYDRA_BIN = hydra_path1;
88 ++ hydra_bin = hydra_path1;
89 + } else if (g_file_test(hydra_path2, G_FILE_TEST_IS_EXECUTABLE)) {
90 +- HYDRA_BIN = hydra_path2;
91 ++ hydra_bin = hydra_path2;
92 + } else if (g_file_test(hydra_path3, G_FILE_TEST_IS_EXECUTABLE)) {
93 +- HYDRA_BIN = hydra_path3;
94 ++ hydra_bin = hydra_path3;
95 + } else {
96 + g_error("Please tell me where hydra is, use --hydra-path\n");
97 + return -1;
98 +--- a/hydra-gtk/src/support.h
99 ++++ b/hydra-gtk/src/support.h
100 +@@ -40,6 +40,6 @@ GdkPixbuf *create_pixbuf(const gchar * filename);
101 + void glade_set_atk_action_description(AtkAction * action, const gchar * action_name, const gchar * description);
102 +
103 +
104 +-GtkWidget *wndMain;
105 +-char *HYDRA_BIN;
106 +-guint message_id;
107 ++extern GtkWidget *wndMain;
108 ++extern char *hydra_bin;
109 ++extern guint message_id;
110
111 diff --git a/net-analyzer/hydra/files/hydra-9.0-fcommon-http.patch b/net-analyzer/hydra/files/hydra-9.0-fcommon-http.patch
112 new file mode 100644
113 index 00000000000..35b45e07161
114 --- /dev/null
115 +++ b/net-analyzer/hydra/files/hydra-9.0-fcommon-http.patch
116 @@ -0,0 +1,27 @@
117 +--- a/hydra-http.c
118 ++++ b/hydra-http.c
119 +@@ -5,7 +5,7 @@
120 + char *webtarget = NULL;
121 + char *slash = "/";
122 + char *http_buf = NULL;
123 +-int32_t webport, freemischttp = 0;
124 ++int32_t freemischttp = 0;
125 + int32_t http_auth_mechanism = AUTH_UNASSIGNED;
126 +
127 + int32_t start_http(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp, char *type, ptr_header_node ptr_head) {
128 +@@ -22,6 +22,7 @@ int32_t start_http(int32_t s, char *ip, int32_t port, unsigned char options, cha
129 + char *ptr, *fooptr;
130 + int32_t complete_line = 0, buffer_size;
131 + char tmpreplybuf[1024] = "", *tmpreplybufptr;
132 ++ int32_t webport;
133 +
134 + if (strlen(login = hydra_get_next_login()) == 0)
135 + login = empty;
136 +@@ -291,6 +292,7 @@ void service_http(char *ip, int32_t sp, unsigned char options, char *miscptr, FI
137 + int32_t myport = PORT_HTTP, mysslport = PORT_HTTP_SSL;
138 + char *ptr, *ptr2;
139 + ptr_header_node ptr_head = NULL;
140 ++ int32_t webport;
141 +
142 + hydra_register_socket(sp);
143 + if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
144
145 diff --git a/net-analyzer/hydra/files/hydra-9.0-fcommon-mod.patch b/net-analyzer/hydra/files/hydra-9.0-fcommon-mod.patch
146 new file mode 100644
147 index 00000000000..e16a4157b24
148 --- /dev/null
149 +++ b/net-analyzer/hydra/files/hydra-9.0-fcommon-mod.patch
150 @@ -0,0 +1,63 @@
151 +--- a/hydra-mod.c
152 ++++ b/hydra-mod.c
153 +@@ -48,6 +48,19 @@ char ipstring[64];
154 + uint32_t colored_output = 1;
155 + char quiet = 0;
156 + int32_t old_ssl = 0;
157 ++int32_t debug;
158 ++char *proxy_authentication[MAX_PROXY_COUNT];
159 ++int32_t proxy_count;
160 ++char proxy_string_ip[MAX_PROXY_COUNT][36];
161 ++char proxy_string_type[MAX_PROXY_COUNT][10];
162 ++int32_t proxy_string_port[MAX_PROXY_COUNT];
163 ++int32_t selected_proxy;
164 ++int32_t verbose;
165 ++int32_t waittime;
166 ++int32_t use_proxy;
167 ++int32_t port;
168 ++char *cmdlinetarget;
169 ++int32_t found;
170 +
171 + #ifdef LIBOPENSSL
172 + SSL *ssl = NULL;
173 +--- a/hydra-mod.h
174 ++++ b/hydra-mod.h
175 +@@ -49,23 +49,23 @@ extern int32_t hydra_memsearch(char *haystack, int32_t hlen, char *needle, int32
176 + extern char *hydra_strrep(char *string, char *oldpiece, char *newpiece);
177 +
178 + #ifdef HAVE_PCRE
179 +-int32_t hydra_string_match(char *str, const char *regex);
180 ++extern int32_t hydra_string_match(char *str, const char *regex);
181 + #endif
182 +-char *hydra_string_replace(const char *string, const char *substr, const char *replacement);
183 ++extern char *hydra_string_replace(const char *string, const char *substr, const char *replacement);
184 +
185 +-int32_t debug;
186 +-int32_t verbose;
187 +-int32_t waittime;
188 +-int32_t port;
189 +-int32_t found;
190 +-int32_t proxy_count;
191 +-int32_t use_proxy;
192 +-int32_t selected_proxy;
193 +-char proxy_string_ip[MAX_PROXY_COUNT][36];
194 +-int32_t proxy_string_port[MAX_PROXY_COUNT];
195 +-char proxy_string_type[MAX_PROXY_COUNT][10];
196 +-char *proxy_authentication[MAX_PROXY_COUNT];
197 +-char *cmdlinetarget;
198 ++extern int32_t debug;
199 ++extern int32_t verbose;
200 ++extern int32_t waittime;
201 ++extern int32_t port;
202 ++extern int32_t found;
203 ++extern int32_t proxy_count;
204 ++extern int32_t use_proxy;
205 ++extern int32_t selected_proxy;
206 ++extern char proxy_string_ip[MAX_PROXY_COUNT][36];
207 ++extern int32_t proxy_string_port[MAX_PROXY_COUNT];
208 ++extern char proxy_string_type[MAX_PROXY_COUNT][10];
209 ++extern char *proxy_authentication[MAX_PROXY_COUNT];
210 ++extern char *cmdlinetarget;
211 +
212 + typedef int32_t BOOL;
213 +
214
215 diff --git a/net-analyzer/hydra/files/hydra-9.0-fcommon-mods.patch b/net-analyzer/hydra/files/hydra-9.0-fcommon-mods.patch
216 new file mode 100644
217 index 00000000000..9d63aa93a41
218 --- /dev/null
219 +++ b/net-analyzer/hydra/files/hydra-9.0-fcommon-mods.patch
220 @@ -0,0 +1,496 @@
221 +--- a/hydra-asterisk.c
222 ++++ b/hydra-asterisk.c
223 +@@ -9,11 +9,11 @@
224 +
225 + extern char *HYDRA_EXIT;
226 +
227 +-char *buf;
228 +-
229 + int32_t start_asterisk(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
230 + char *empty = "\"\"";
231 + char *login, *pass, buffer[1024];
232 ++ char *buf;
233 ++
234 +
235 + if (strlen(login = hydra_get_next_login()) == 0)
236 + login = empty;
237 +@@ -65,6 +65,7 @@ int32_t start_asterisk(int32_t s, char *ip, int32_t port, unsigned char options,
238 + void service_asterisk(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname) {
239 + int32_t run = 1, next_run = 1, sock = -1;
240 + int32_t myport = PORT_ASTERISK, mysslport = PORT_ASTERISK_SSL;
241 ++ char *buf;
242 +
243 + hydra_register_socket(sp);
244 + if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
245 +--- a/hydra-cisco-enable.c
246 ++++ b/hydra-cisco-enable.c
247 +@@ -1,11 +1,11 @@
248 + #include "hydra-mod.h"
249 +
250 + extern char *HYDRA_EXIT;
251 +-char *buf;
252 +
253 + int32_t start_cisco_enable(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
254 + char *empty = "";
255 + char *pass, buffer[300];
256 ++ char *buf;
257 +
258 + if (strlen(pass = hydra_get_next_password()) == 0)
259 + pass = empty;
260 +@@ -63,6 +63,7 @@ void service_cisco_enable(char *ip, int32_t sp, unsigned char options, char *mis
261 + int32_t myport = PORT_TELNET, mysslport = PORT_TELNET_SSL;
262 + char buffer[300];
263 + char *login;
264 ++ char *buf;
265 +
266 + hydra_register_socket(sp);
267 + if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
268 +--- a/hydra-cisco.c
269 ++++ b/hydra-cisco.c
270 +@@ -5,11 +5,11 @@
271 + #endif
272 +
273 + extern char *HYDRA_EXIT;
274 +-char *buf = NULL;
275 +
276 + int32_t start_cisco(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
277 + char *empty = "";
278 + char *pass, buffer[300];
279 ++ char *buf = NULL;
280 +
281 + if (strlen(pass = hydra_get_next_password()) == 0)
282 + pass = empty;
283 +--- a/hydra-cvs.c
284 ++++ b/hydra-cvs.c
285 +@@ -3,7 +3,6 @@
286 + extern int32_t hydra_data_ready_timed(int32_t socket, long sec, long usec);
287 +
288 + extern char *HYDRA_EXIT;
289 +-char *buf;
290 +
291 + int32_t start_cvs(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
292 + char *empty = "";
293 +@@ -37,6 +36,7 @@ int32_t start_cvs(int32_t s, char *ip, int32_t port, unsigned char options, char
294 + 0, 121, 117, 104, 101, 100, 69, 73, 99, 63, 94, 93, 39, 37, 61, 48,
295 + 58, 113, 32, 90, 44, 98, 60, 51, 33, 97, 62
296 + };
297 ++ char *buf;
298 +
299 + if (strlen(login = hydra_get_next_login()) == 0)
300 + login = empty;
301 +--- a/hydra-ftp.c
302 ++++ b/hydra-ftp.c
303 +@@ -1,11 +1,11 @@
304 + #include "hydra-mod.h"
305 +
306 + extern char *HYDRA_EXIT;
307 +-char *buf;
308 +
309 + int32_t start_ftp(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
310 + char *empty = "\"\"";
311 + char *login, *pass, buffer[510];
312 ++ char *buf;
313 +
314 + if (strlen(login = hydra_get_next_login()) == 0)
315 + login = empty;
316 +@@ -77,6 +77,7 @@ int32_t start_ftp(int32_t s, char *ip, int32_t port, unsigned char options, char
317 + void service_ftp_core(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname, int32_t tls) {
318 + int32_t run = 1, next_run = 1, sock = -1;
319 + int32_t myport = PORT_FTP, mysslport = PORT_FTP_SSL;
320 ++ char *buf;
321 +
322 + hydra_register_socket(sp);
323 + if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
324 +--- a/hydra-http-form.c
325 ++++ b/hydra-http-form.c
326 +@@ -53,7 +53,6 @@ Added fail or success condition, getting cookies, and allow 5 redirections by da
327 + #include "sasl.h"
328 +
329 + extern char *HYDRA_EXIT;
330 +-char *buf;
331 + char *cond;
332 + extern int32_t http_auth_mechanism;
333 +
334 +@@ -579,6 +578,7 @@ return -1 if no response from server
335 + */
336 + int32_t analyze_server_response(int32_t s) {
337 + int32_t runs = 0;
338 ++ char *buf;
339 +
340 + redirected_flag = 0;
341 + auth_flag = 0;
342 +--- a/hydra-http-proxy-urlenum.c
343 ++++ b/hydra-http-proxy-urlenum.c
344 +@@ -2,7 +2,6 @@
345 + #include "sasl.h"
346 +
347 + extern char *HYDRA_EXIT;
348 +-char *buf;
349 + static int32_t http_proxy_auth_mechanism = AUTH_ERROR;
350 +
351 + int32_t start_http_proxy_urlenum(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp, char *hostname) {
352 +@@ -12,6 +11,7 @@ int32_t start_http_proxy_urlenum(int32_t s, char *ip, int32_t port, unsigned cha
353 + char *header = ""; /* XXX TODO */
354 + char *ptr;
355 + int32_t auth = 0;
356 ++ char *buf;
357 +
358 + login = hydra_get_next_login();
359 + if (login == NULL || strlen(login) == 0 || strstr(login, "://") == NULL) {
360 +--- a/hydra-imap.c
361 ++++ b/hydra-imap.c
362 +@@ -2,7 +2,6 @@
363 + #include "sasl.h"
364 +
365 + extern char *HYDRA_EXIT;
366 +-char *buf;
367 + int32_t counter;
368 +
369 + int32_t imap_auth_mechanism = AUTH_CLEAR;
370 +@@ -42,6 +41,7 @@ char *imap_read_server_capacity(int32_t sock) {
371 + int32_t start_imap(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
372 + char *empty = "";
373 + char *login, *pass, buffer[500], buffer2[500], *fooptr;
374 ++ char *buf = NULL;
375 +
376 + if (strlen(login = hydra_get_next_login()) == 0)
377 + login = empty;
378 +@@ -357,6 +357,7 @@ void service_imap(char *ip, int32_t sp, unsigned char options, char *miscptr, FI
379 + int32_t run = 1, next_run = 1, sock = -1;
380 + int32_t myport = PORT_IMAP, mysslport = PORT_IMAP_SSL, disable_tls = 1;
381 + char *buffer1 = "1 CAPABILITY\r\n";
382 ++ char *buf = NULL;
383 +
384 + hydra_register_socket(sp);
385 + if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
386 +--- a/hydra-ldap.c
387 ++++ b/hydra-ldap.c
388 +@@ -3,8 +3,6 @@
389 +
390 + extern char *HYDRA_EXIT;
391 +
392 +-unsigned char *buf;
393 +-int32_t counter;
394 + int32_t tls_required = 0;
395 +
396 + int32_t start_ldap(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp, char *hostname, char version, int32_t auth_method) {
397 +@@ -13,6 +11,8 @@ int32_t start_ldap(int32_t s, char *ip, int32_t port, unsigned char options, cha
398 + unsigned char buffer[512];
399 + int32_t length = 0;
400 + int32_t ldap_auth_mechanism = auth_method;
401 ++ unsigned char *buf;
402 ++ int32_t counter;
403 +
404 + /*
405 + The LDAP "simple" method has three modes of operation:
406 +@@ -354,6 +354,8 @@ int32_t start_ldap(int32_t s, char *ip, int32_t port, unsigned char options, cha
407 + void service_ldap(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname, char version, int32_t auth_method) {
408 + int32_t run = 1, next_run = 1, sock = -1;
409 + int32_t myport = PORT_LDAP, mysslport = PORT_LDAP_SSL;
410 ++ unsigned char *buf;
411 ++ int32_t counter;
412 +
413 + hydra_register_socket(sp);
414 + if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
415 +--- a/hydra-mongodb.c
416 ++++ b/hydra-mongodb.c
417 +@@ -17,7 +17,6 @@ void dummy_mongodb() {
418 + extern int32_t hydra_data_ready_timed(int32_t socket, long sec, long usec);
419 +
420 + extern char *HYDRA_EXIT;
421 +-char *buf;
422 +
423 + #define DEFAULT_DB "admin"
424 +
425 +@@ -31,6 +30,7 @@ int is_error_msg(char *msg) {
426 + }
427 +
428 + int require_auth(int32_t sock) {
429 ++ char *buf;
430 + unsigned char m_hdr[] =
431 + "\x3f\x00\x00\x00" //messageLength (63)
432 + "\x00\x00\x00\x41" //requestID
433 +--- a/hydra-mssql.c
434 ++++ b/hydra-mssql.c
435 +@@ -3,7 +3,6 @@
436 + #define MSLEN 30
437 +
438 + extern char *HYDRA_EXIT;
439 +-char *buf;
440 +
441 + unsigned char p_hdr[] =
442 + "\x02\x00\x02\x00\x00\x00\x02\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00";
443 +@@ -52,6 +51,7 @@ int32_t start_mssql(int32_t s, char *ip, int32_t port, unsigned char options, ch
444 + char ms_pass[MSLEN + 1];
445 + unsigned char len_login, len_pass;
446 + int32_t ret = -1;
447 ++ char *buf;
448 +
449 + if (strlen(login = hydra_get_next_login()) == 0)
450 + login = empty;
451 +--- a/hydra-nntp.c
452 ++++ b/hydra-nntp.c
453 +@@ -13,7 +13,6 @@ RFC 4643: Network News Transfer Protocol (NNTP) Extension for Authentication
454 + int32_t nntp_auth_mechanism = AUTH_CLEAR;
455 +
456 + extern char *HYDRA_EXIT;
457 +-char *buf;
458 +
459 + char *nntp_read_server_capacity(int32_t sock) {
460 + char *ptr = NULL;
461 +@@ -51,6 +50,7 @@ int32_t start_nntp(int32_t s, char *ip, int32_t port, unsigned char options, cha
462 + char *empty = "\"\"";
463 + char *login, *pass, buffer[500], buffer2[500], *fooptr;
464 + int32_t i = 1;
465 ++ char *buf;
466 +
467 + if (strlen(login = hydra_get_next_login()) == 0)
468 + login = empty;
469 +@@ -270,6 +270,7 @@ void service_nntp(char *ip, int32_t sp, unsigned char options, char *miscptr, FI
470 + int32_t i = 0, run = 1, next_run = 1, sock = -1;
471 + int32_t myport = PORT_NNTP, mysslport = PORT_NNTP_SSL, disable_tls = 0;
472 + char *buffer1 = "CAPABILITIES\r\n";
473 ++ char *buf;
474 +
475 + hydra_register_socket(sp);
476 + if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
477 +--- a/hydra-oracle-listener.c
478 ++++ b/hydra-oracle-listener.c
479 +@@ -22,8 +22,6 @@ void dummy_oracle_listener() {
480 + #define HASHSIZE 17
481 +
482 + extern char *HYDRA_EXIT;
483 +-char *buf;
484 +-unsigned char *hash;
485 + int32_t sid_mechanism = AUTH_PLAIN;
486 +
487 + int32_t initial_permutation(unsigned char **result, char *p_str, int32_t *sz) {
488 +@@ -143,6 +141,7 @@ int32_t ora_hash_password(char *pass) {
489 + unsigned char *desresult;
490 + unsigned char *result;
491 + char buff[strlen(pass) + 5];
492 ++ unsigned char *hash;
493 +
494 + memset(buff, 0, sizeof(buff));
495 +
496 +@@ -192,6 +191,8 @@ int32_t start_oracle_listener(int32_t s, char *ip, int32_t port, unsigned char o
497 + char connect_string[200];
498 + char buffer2[260];
499 + int32_t siz = 0;
500 ++ char *buf;
501 ++ unsigned char *hash;
502 +
503 + memset(connect_string, 0, sizeof(connect_string));
504 + memset(buffer2, 0, sizeof(buffer2));
505 +--- a/hydra-oracle-sid.c
506 ++++ b/hydra-oracle-sid.c
507 +@@ -19,7 +19,6 @@ void dummy_oracle_sid() {
508 + #define HASHSIZE 16
509 +
510 + extern char *HYDRA_EXIT;
511 +-char *buf;
512 + unsigned char *hash;
513 +
514 +
515 +@@ -40,6 +39,7 @@ int32_t start_oracle_sid(int32_t s, char *ip, int32_t port, unsigned char option
516 + char connect_string[200];
517 + char buffer2[260];
518 + int32_t siz = 0;
519 ++ char *buf;
520 +
521 + memset(connect_string, 0, sizeof(connect_string));
522 + memset(buffer2, 0, sizeof(buffer2));
523 +--- a/hydra-pcnfs.c
524 ++++ b/hydra-pcnfs.c
525 +@@ -3,7 +3,6 @@
526 + /* pcnfs stuff copied from prout.c */
527 +
528 + extern char *HYDRA_EXIT;
529 +-char *buf;
530 +
531 + #define LEN_HDR_RPC 24
532 + #define LEN_AUTH_UNIX 72+12
533 +@@ -37,6 +36,7 @@ int32_t start_pcnfs(int32_t s, char *ip, int32_t port, unsigned char options, ch
534 + char *empty = "";
535 + char *login, *pass, buffer[LEN_HDR_RPC + LEN_AUTH_UNIX + LEN_HDR_PCN_AUTH];
536 + char *ptr, *pkt = buffer;
537 ++ char *buf;
538 +
539 + unsigned long *authp;
540 + struct timeval tv;
541 +--- a/hydra-pop3.c
542 ++++ b/hydra-pop3.c
543 +@@ -13,7 +13,6 @@ typedef struct pool_str {
544 + } pool;
545 +
546 + extern char *HYDRA_EXIT;
547 +-char *buf;
548 + char apop_challenge[300] = "";
549 + pool *plist = NULL, *p = NULL;
550 +
551 +@@ -120,6 +119,7 @@ STLS
552 + int32_t start_pop3(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
553 + char *empty = "\"\"";
554 + char *login, *pass, buffer[500], buffer2[500], *fooptr;
555 ++ char *buf;
556 +
557 + if (strlen(login = hydra_get_next_login()) == 0)
558 + login = empty;
559 +@@ -416,6 +416,7 @@ int32_t start_pop3(int32_t s, char *ip, int32_t port, unsigned char options, cha
560 + void service_pop3(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname) {
561 + int32_t run = 1, next_run = 1, sock = -1;
562 + char *ptr = NULL;
563 ++ char *buf;
564 +
565 + //extract data from the pool, ip is the key
566 + if (plist == NULL)
567 +@@ -520,6 +521,7 @@ int32_t service_pop3_init(char *ip, int32_t sp, unsigned char options, char *mis
568 + char *capa_str = "CAPA\r\n";
569 + char *quit_str = "QUIT\r\n";
570 + pool p;
571 ++ char *buf;
572 +
573 + p.pop3_auth_mechanism = AUTH_CLEAR;
574 + p.disable_tls = 1;
575 +--- a/hydra-redis.c
576 ++++ b/hydra-redis.c
577 +@@ -1,11 +1,11 @@
578 + #include "hydra-mod.h"
579 +
580 + extern char *HYDRA_EXIT;
581 +-char *buf;
582 +
583 + int32_t start_redis(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
584 + char *pass, buffer[510];
585 + char *empty = "";
586 ++ char *buf;
587 +
588 + if (strlen(pass = hydra_get_next_password()) == 0)
589 + pass = empty;
590 +@@ -134,6 +134,7 @@ int32_t service_redis_init(char *ip, int32_t sp, unsigned char options, char *mi
591 + int32_t sock = -1;
592 + int32_t myport = PORT_REDIS, mysslport = PORT_REDIS_SSL;
593 + char buffer[] = "*1\r\n$4\r\nping\r\n";
594 ++ char *buf;
595 +
596 + hydra_register_socket(sp);
597 + if ((options & OPTION_SSL) == 0) {
598 +--- a/hydra-smtp-enum.c
599 ++++ b/hydra-smtp-enum.c
600 +@@ -14,7 +14,6 @@ passwd will be used as the domain name
601 + #include "hydra-mod.h"
602 +
603 + extern char *HYDRA_EXIT;
604 +-char *buf;
605 + char *err = NULL;
606 + int32_t tosent = 0;
607 +
608 +@@ -27,6 +26,7 @@ int32_t smtp_enum_cmd = VRFY;
609 + int32_t start_smtp_enum(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
610 + char *empty = "";
611 + char *login, *pass, buffer[500];
612 ++ char *buf;
613 +
614 + if (strlen(login = hydra_get_next_login()) == 0)
615 + login = empty;
616 +@@ -154,6 +154,7 @@ void service_smtp_enum(char *ip, int32_t sp, unsigned char options, char *miscpt
617 + int32_t run = 1, next_run = 1, sock = -1, i = 0;
618 + int32_t myport = PORT_SMTP, mysslport = PORT_SMTP_SSL;
619 + char *buffer = "HELO hydra\r\n";
620 ++ char *buf;
621 +
622 + hydra_register_socket(sp);
623 + if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
624 +--- a/hydra-socks5.c
625 ++++ b/hydra-socks5.c
626 +@@ -10,7 +10,6 @@ This module enable bruteforcing for socks5, only following types are supported:
627 + */
628 +
629 + extern char *HYDRA_EXIT;
630 +-unsigned char *buf;
631 +
632 + int32_t fail_cnt;
633 +
634 +@@ -18,6 +17,7 @@ int32_t start_socks5(int32_t s, char *ip, int32_t port, unsigned char options, c
635 + char *empty = "";
636 + char *login, *pass, buffer[300];
637 + int32_t pport, fud = 0;
638 ++ unsigned char *buf;
639 +
640 + if (strlen(login = hydra_get_next_login()) == 0)
641 + login = empty;
642 +--- a/hydra-telnet.c
643 ++++ b/hydra-telnet.c
644 +@@ -2,13 +2,13 @@
645 + #include <arpa/telnet.h>
646 +
647 + extern char *HYDRA_EXIT;
648 +-char *buf;
649 + int32_t no_line_mode;
650 +
651 + int32_t start_telnet(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
652 + char *empty = "";
653 + char *login, *pass, buffer[300];
654 + int32_t i = 0;
655 ++ char *buf;
656 +
657 + if (strlen(login = hydra_get_next_login()) == 0)
658 + login = empty;
659 +@@ -99,6 +99,7 @@ int32_t start_telnet(int32_t s, char *ip, int32_t port, unsigned char options, c
660 + void service_telnet(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname) {
661 + int32_t run = 1, next_run = 1, sock = -1, fck;
662 + int32_t myport = PORT_TELNET, mysslport = PORT_TELNET_SSL;
663 ++ char *buf;
664 +
665 + hydra_register_socket(sp);
666 + if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
667 +--- a/hydra-vmauthd.c
668 ++++ b/hydra-vmauthd.c
669 +@@ -8,11 +8,11 @@
670 +
671 + extern char *HYDRA_EXIT;
672 +
673 +-char *buf;
674 +-
675 + int32_t start_vmauthd(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
676 + char *empty = "\"\"";
677 + char *login, *pass, buffer[300];
678 ++ char *buf;
679 ++
680 +
681 + if (strlen(login = hydra_get_next_login()) == 0)
682 + login = empty;
683 +@@ -68,6 +68,7 @@ int32_t start_vmauthd(int32_t s, char *ip, int32_t port, unsigned char options,
684 + void service_vmauthd(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname) {
685 + int32_t run = 1, next_run = 1, sock = -1;
686 + int32_t myport = PORT_VMAUTHD, mysslport = PORT_VMAUTHD_SSL;
687 ++ char *buf;
688 +
689 + hydra_register_socket(sp);
690 + if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
691 +--- a/hydra-vnc.c
692 ++++ b/hydra-vnc.c
693 +@@ -19,7 +19,6 @@ int32_t vnc_client_version = RFB33;
694 + int32_t failed_auth = 0;
695 +
696 + extern char *HYDRA_EXIT;
697 +-char *buf;
698 +
699 + /*
700 + * Encrypt CHALLENGESIZE bytes in memory using a password.
701 +@@ -48,6 +47,7 @@ int32_t start_vnc(int32_t s, char *ip, int32_t port, unsigned char options, char
702 + char *empty = "";
703 + char *pass;
704 + unsigned char buf2[CHALLENGESIZE + 4];
705 ++ char *buf;
706 +
707 + if (strlen(pass = hydra_get_next_password()) == 0)
708 + pass = empty;
709 +@@ -148,6 +148,7 @@ int32_t start_vnc(int32_t s, char *ip, int32_t port, unsigned char options, char
710 + void service_vnc(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname) {
711 + int32_t run = 1, next_run = 1, sock = -1;
712 + int32_t myport = PORT_VNC, mysslport = PORT_VNC_SSL;
713 ++ char *buf;
714 +
715 + hydra_register_socket(sp);
716 + if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
717
718 diff --git a/net-analyzer/hydra/files/hydra-9.0-unneeded-buf.patch b/net-analyzer/hydra/files/hydra-9.0-unneeded-buf.patch
719 new file mode 100644
720 index 00000000000..0055257b04a
721 --- /dev/null
722 +++ b/net-analyzer/hydra/files/hydra-9.0-unneeded-buf.patch
723 @@ -0,0 +1,60 @@
724 +--- a/hydra-irc.c
725 ++++ b/hydra-irc.c
726 +@@ -7,7 +7,6 @@ RFC 1459: Internet Relay Chat Protocol
727 + */
728 +
729 + extern char *HYDRA_EXIT;
730 +-char *buf;
731 + char buffer[300] = "";
732 + int32_t myport = PORT_IRC, mysslport = PORT_IRC_SSL;
733 +
734 +--- a/hydra-rexec.c
735 ++++ b/hydra-rexec.c
736 +@@ -5,7 +5,6 @@
737 + #define COMMAND "/bin/ls /"
738 +
739 + extern char *HYDRA_EXIT;
740 +-char *buf;
741 +
742 + int32_t start_rexec(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
743 + char *empty = "";
744 +--- a/hydra-rlogin.c
745 ++++ b/hydra-rlogin.c
746 +@@ -12,7 +12,6 @@ no memleaks found on 110425
747 + #define TERM "vt100/9600"
748 +
749 + extern char *HYDRA_EXIT;
750 +-char *buf;
751 +
752 + int32_t start_rlogin(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
753 + char *empty = "";
754 +--- a/hydra-rsh.c
755 ++++ b/hydra-rsh.c
756 +@@ -11,7 +11,6 @@ no memleaks found on 110425
757 + */
758 +
759 + extern char *HYDRA_EXIT;
760 +-char *buf;
761 +
762 + int32_t start_rsh(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
763 + char *empty = "";
764 +--- a/hydra-rtsp.c
765 ++++ b/hydra-rtsp.c
766 +@@ -12,7 +12,6 @@
767 + #include "sasl.h"
768 +
769 + extern char *HYDRA_EXIT;
770 +-char *buf;
771 + char packet[500];
772 + char packet2[500];
773 +
774 +--- a/hydra-teamspeak.c
775 ++++ b/hydra-teamspeak.c
776 +@@ -36,7 +36,6 @@ struct team_speak {
777 + extern int32_t hydra_data_ready_timed(int32_t socket, long sec, long usec);
778 +
779 + extern char *HYDRA_EXIT;
780 +-char *buf;
781 +
782 + int32_t start_teamspeak(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
783 + char *empty = "";
784
785 diff --git a/net-analyzer/hydra/files/hydra-9.0-vnc.patch b/net-analyzer/hydra/files/hydra-9.0-vnc.patch
786 new file mode 100644
787 index 00000000000..69c933ee838
788 --- /dev/null
789 +++ b/net-analyzer/hydra/files/hydra-9.0-vnc.patch
790 @@ -0,0 +1,11 @@
791 +--- a/hydra-vnc.c
792 ++++ b/hydra-vnc.c
793 +@@ -75,7 +75,7 @@ int32_t start_vnc(int32_t s, char *ip, int32_t port, unsigned char options, char
794 + //supported security type
795 + switch (buf2[3]) {
796 + case 0x0:
797 +- hydra_report(stderr, "[ERROR] VNC server told us to quit %c\n", buf[3]);
798 ++ hydra_report(stderr, "[ERROR] VNC server told us to quit %c\n", buf2[3]);
799 + hydra_child_exit(0);
800 + break;
801 + case 0x1:
802
803 diff --git a/net-analyzer/hydra/files/hydra-9999999-fcommon-http.patch b/net-analyzer/hydra/files/hydra-9999999-fcommon-http.patch
804 new file mode 100644
805 index 00000000000..eea0c3bc3ae
806 --- /dev/null
807 +++ b/net-analyzer/hydra/files/hydra-9999999-fcommon-http.patch
808 @@ -0,0 +1,27 @@
809 +--- a/hydra-http.c
810 ++++ b/hydra-http.c
811 +@@ -12,7 +12,7 @@ char *http_buf = NULL;
812 + static char end_condition[END_CONDITION_MAX_LEN];
813 + int end_condition_type=-1;
814 +
815 +-int32_t webport, freemischttp = 0;
816 ++int32_t freemischttp = 0;
817 + int32_t http_auth_mechanism = AUTH_UNASSIGNED;
818 +
819 + int32_t start_http(int32_t s, char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp, char *type, ptr_header_node ptr_head) {
820 +@@ -22,6 +22,7 @@ int32_t start_http(int32_t s, char *ip, int32_t port, unsigned char options, cha
821 + char *ptr, *fooptr;
822 + int32_t complete_line = 0, buffer_size;
823 + char tmpreplybuf[1024] = "", *tmpreplybufptr;
824 ++ int32_t webport;
825 +
826 + if (strlen(login = hydra_get_next_login()) == 0)
827 + login = empty;
828 +@@ -291,6 +292,7 @@ void service_http(char *ip, int32_t sp, unsigned char options, char *miscptr, FI
829 + int32_t myport = PORT_HTTP, mysslport = PORT_HTTP_SSL;
830 + char *ptr, *ptr2;
831 + ptr_header_node ptr_head = NULL;
832 ++ int32_t webport;
833 +
834 + hydra_register_socket(sp);
835 + if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
836
837 diff --git a/net-analyzer/hydra/hydra-9999999.ebuild b/net-analyzer/hydra/hydra-9.0-r1.ebuild
838 similarity index 66%
839 copy from net-analyzer/hydra/hydra-9999999.ebuild
840 copy to net-analyzer/hydra/hydra-9.0-r1.ebuild
841 index 9ef6f73c7ec..c7b1e8aa733 100644
842 --- a/net-analyzer/hydra/hydra-9999999.ebuild
843 +++ b/net-analyzer/hydra/hydra-9.0-r1.ebuild
844 @@ -1,16 +1,16 @@
845 -# Copyright 1999-2019 Gentoo Authors
846 +# Copyright 1999-2020 Gentoo Authors
847 # Distributed under the terms of the GNU General Public License v2
848
849 EAPI=7
850 -inherit git-r3 toolchain-funcs
851 +inherit toolchain-funcs
852
853 DESCRIPTION="Parallelized network login hacker"
854 HOMEPAGE="https://github.com/vanhauser-thc/thc-hydra"
855 -EGIT_REPO_URI="https://github.com/vanhauser-thc/thc-hydra"
856 +SRC_URI="https://github.com/vanhauser-thc/thc-hydra/archive/v${PV}.tar.gz -> ${P}.tar.gz"
857
858 LICENSE="GPL-3"
859 SLOT="0"
860 -KEYWORDS=""
861 +KEYWORDS="~amd64 ~ppc ~x86"
862 IUSE="
863 debug firebird gcrypt gtk idn libressl memcached mongodb mysql ncp ncurses
864 oracle pcre postgres rdp libssh subversion zlib
865 @@ -45,6 +45,15 @@ DEPEND="
866 ${RDEPEND}
867 virtual/pkgconfig
868 "
869 +PATCHES=(
870 + "${FILESDIR}"/${PN}-9.0-fcommon-gtk.patch
871 + "${FILESDIR}"/${PN}-9.0-fcommon-http.patch
872 + "${FILESDIR}"/${PN}-9.0-fcommon-mod.patch
873 + "${FILESDIR}"/${PN}-9.0-fcommon-mods.patch
874 + "${FILESDIR}"/${PN}-9.0-unneeded-buf.patch
875 + "${FILESDIR}"/${PN}-9.0-vnc.patch
876 +)
877 +S=${WORKDIR}/thc-${P}
878
879 src_prepare() {
880 default
881 @@ -81,21 +90,21 @@ src_configure() {
882
883 hydra_sed firebird '-lfbclient' '' '-DLIBFIREBIRD'
884 hydra_sed gcrypt '-lgcrypt' '$( ${CTARGET:-${CHOST}}-libgcrypt-config --libs )' '-DHAVE_GCRYPT'
885 - hydra_sed idn '-lidn' '$( "${PKG_CONFIG}" --libs libidn )' '-DLIBIDN -DHAVE_PR29_H'
886 - hydra_sed libssh '-lssh' '$( "${PKG_CONFIG}" --libs libssh )' '-DLIBSSH'
887 - hydra_sed memcached '-lmemcached' '$( "${PKG_CONFIG}" --libs libmemcached )' '-DLIBMCACHED'
888 - hydra_sed mongodb '-lmongoc-1.0' '$( "${PKG_CONFIG}" --libs libmongoc-1.0 )' '-DLIBMONGODB\|-DLIBBSON'
889 + hydra_sed idn '-lidn' '$( "${PKG_CONFIG}" --libs libidn )' '-DLIBIDN -DHAVE_PR29_H'
890 + hydra_sed libssh '-lssh' '$( "${PKG_CONFIG}" --libs libssh )' '-DLIBSSH'
891 + hydra_sed memcached '-lmemcached' '$( "${PKG_CONFIG}" --libs libmemcached )' '-DLIBMCACHED'
892 + hydra_sed mongodb '-lmongoc-1.0' '$( "${PKG_CONFIG}" --libs libmongoc-1.0 )' '-DLIBMONGODB\|-DLIBBSON'
893 hydra_sed mysql '-lmysqlclient' '$( ${CTARGET:-${CHOST}}-mysql_config --libs )' '-DLIBMYSQLCLIENT'
894 hydra_sed ncp '-lncp' '' '-DLIBNCP'
895 - hydra_sed ncurses '-lcurses' '$( "${PKG_CONFIG}" --libs ncurses )' '-DLIBNCURSES'
896 - hydra_sed pcre '-lpcre' '$( "${PKG_CONFIG}" --libs libpcre )' '-DHAVE_PCRE'
897 - hydra_sed postgres '-lpq' '$( "${PKG_CONFIG}" --libs libpq )' '-DLIBPOSTGRES'
898 + hydra_sed ncurses '-lcurses' '$( "${PKG_CONFIG}" --libs ncurses )' '-DLIBNCURSES'
899 + hydra_sed pcre '-lpcre' '$( "${PKG_CONFIG}" --libs libpcre )' '-DHAVE_PCRE'
900 + hydra_sed postgres '-lpq' '$( "${PKG_CONFIG}" --libs libpq )' '-DLIBPOSTGRES'
901 hydra_sed oracle '-locci -lclntsh' '' '-DLIBORACLE'
902 - hydra_sed rdp '-lfreerdp2' '$( "${PKG_CONFIG}" --libs freerdp2 )' '-DLIBFREERDP2'
903 + hydra_sed rdp '-lfreerdp2' '$( "${PKG_CONFIG}" --libs freerdp2 )' '-DLIBFREERDP2'
904 # TODO: https://bugs.gentoo.org/686148
905 - #hydra_sed subversion '-lsvn_client-1 -lapr-1 -laprutil-1 -lsvn_subr-1' '$( "${PKG_CONFIG}" --libs libsvn_client )' '-DLIBSVN'
906 + #hydra_sed subversion '-lsvn_client-1 -lapr-1 -laprutil-1 -lsvn_subr-1' '$( "${PKG_CONFIG}" --libs libsvn_client )' '-DLIBSVN'
907 hydra_sed subversion '-lsvn_client-1 -lapr-1 -laprutil-1 -lsvn_subr-1' '' '-DLIBSVN'
908 - hydra_sed zlib '-lz' '$( "${PKG_CONFIG}" --libs zlib )' '-DHAVE_ZLIB'
909 + hydra_sed zlib '-lz' '$( "${PKG_CONFIG}" --libs zlib )' '-DHAVE_ZLIB'
910
911 sh configure \
912 $(use gtk || echo --disable-xhydra) \
913 @@ -118,5 +127,5 @@ src_compile() {
914 src_install() {
915 dobin hydra pw-inspector
916 use gtk && dobin hydra-gtk/src/xhydra
917 - dodoc CHANGES README.md
918 + dodoc CHANGES README
919 }
920
921 diff --git a/net-analyzer/hydra/hydra-9999999.ebuild b/net-analyzer/hydra/hydra-9999999.ebuild
922 index 9ef6f73c7ec..6f65020dd57 100644
923 --- a/net-analyzer/hydra/hydra-9999999.ebuild
924 +++ b/net-analyzer/hydra/hydra-9999999.ebuild
925 @@ -1,4 +1,4 @@
926 -# Copyright 1999-2019 Gentoo Authors
927 +# Copyright 1999-2020 Gentoo Authors
928 # Distributed under the terms of the GNU General Public License v2
929
930 EAPI=7
931 @@ -45,6 +45,14 @@ DEPEND="
932 ${RDEPEND}
933 virtual/pkgconfig
934 "
935 +PATCHES=(
936 + "${FILESDIR}"/${PN}-9.0-fcommon-gtk.patch
937 + "${FILESDIR}"/${PN}-9.0-fcommon-mod.patch
938 + "${FILESDIR}"/${PN}-9.0-fcommon-mods.patch
939 + "${FILESDIR}"/${PN}-9.0-unneeded-buf.patch
940 + "${FILESDIR}"/${PN}-9.0-vnc.patch
941 + "${FILESDIR}"/${PN}-9999999-fcommon-http.patch
942 +)
943
944 src_prepare() {
945 default
946 @@ -81,21 +89,21 @@ src_configure() {
947
948 hydra_sed firebird '-lfbclient' '' '-DLIBFIREBIRD'
949 hydra_sed gcrypt '-lgcrypt' '$( ${CTARGET:-${CHOST}}-libgcrypt-config --libs )' '-DHAVE_GCRYPT'
950 - hydra_sed idn '-lidn' '$( "${PKG_CONFIG}" --libs libidn )' '-DLIBIDN -DHAVE_PR29_H'
951 - hydra_sed libssh '-lssh' '$( "${PKG_CONFIG}" --libs libssh )' '-DLIBSSH'
952 - hydra_sed memcached '-lmemcached' '$( "${PKG_CONFIG}" --libs libmemcached )' '-DLIBMCACHED'
953 - hydra_sed mongodb '-lmongoc-1.0' '$( "${PKG_CONFIG}" --libs libmongoc-1.0 )' '-DLIBMONGODB\|-DLIBBSON'
954 + hydra_sed idn '-lidn' '$( "${PKG_CONFIG}" --libs libidn )' '-DLIBIDN -DHAVE_PR29_H'
955 + hydra_sed libssh '-lssh' '$( "${PKG_CONFIG}" --libs libssh )' '-DLIBSSH'
956 + hydra_sed memcached '-lmemcached' '$( "${PKG_CONFIG}" --libs libmemcached )' '-DLIBMCACHED'
957 + hydra_sed mongodb '-lmongoc-1.0' '$( "${PKG_CONFIG}" --libs libmongoc-1.0 )' '-DLIBMONGODB\|-DLIBBSON'
958 hydra_sed mysql '-lmysqlclient' '$( ${CTARGET:-${CHOST}}-mysql_config --libs )' '-DLIBMYSQLCLIENT'
959 hydra_sed ncp '-lncp' '' '-DLIBNCP'
960 - hydra_sed ncurses '-lcurses' '$( "${PKG_CONFIG}" --libs ncurses )' '-DLIBNCURSES'
961 - hydra_sed pcre '-lpcre' '$( "${PKG_CONFIG}" --libs libpcre )' '-DHAVE_PCRE'
962 - hydra_sed postgres '-lpq' '$( "${PKG_CONFIG}" --libs libpq )' '-DLIBPOSTGRES'
963 + hydra_sed ncurses '-lcurses' '$( "${PKG_CONFIG}" --libs ncurses )' '-DLIBNCURSES'
964 + hydra_sed pcre '-lpcre' '$( "${PKG_CONFIG}" --libs libpcre )' '-DHAVE_PCRE'
965 + hydra_sed postgres '-lpq' '$( "${PKG_CONFIG}" --libs libpq )' '-DLIBPOSTGRES'
966 hydra_sed oracle '-locci -lclntsh' '' '-DLIBORACLE'
967 - hydra_sed rdp '-lfreerdp2' '$( "${PKG_CONFIG}" --libs freerdp2 )' '-DLIBFREERDP2'
968 + hydra_sed rdp '-lfreerdp2' '$( "${PKG_CONFIG}" --libs freerdp2 )' '-DLIBFREERDP2'
969 # TODO: https://bugs.gentoo.org/686148
970 - #hydra_sed subversion '-lsvn_client-1 -lapr-1 -laprutil-1 -lsvn_subr-1' '$( "${PKG_CONFIG}" --libs libsvn_client )' '-DLIBSVN'
971 + #hydra_sed subversion '-lsvn_client-1 -lapr-1 -laprutil-1 -lsvn_subr-1' '$( "${PKG_CONFIG}" --libs libsvn_client )' '-DLIBSVN'
972 hydra_sed subversion '-lsvn_client-1 -lapr-1 -laprutil-1 -lsvn_subr-1' '' '-DLIBSVN'
973 - hydra_sed zlib '-lz' '$( "${PKG_CONFIG}" --libs zlib )' '-DHAVE_ZLIB'
974 + hydra_sed zlib '-lz' '$( "${PKG_CONFIG}" --libs zlib )' '-DHAVE_ZLIB'
975
976 sh configure \
977 $(use gtk || echo --disable-xhydra) \