Age | Commit message (Collapse) | Author | Files | Lines |
|
These errors were caused by `t_title` function having "void" parameter
instead of "ui_tab_t *tab", like everywhere else:
```
src/uit_conn.c:398:41: error: initialization of char * (*)(ui_tab_t *) from incompatible pointer type char * (*)(void) [-Wincompatible-pointer-types]
398 | ui_tab_type_t uit_conn[1] = { { t_draw, t_title, t_key, t_close } };
| ^~~~~~~
```
Also renamed `t` param in `t_title` of "src/uit_main.c" to `tab`,
for consistency with other functions.
This error appeared only in 1.24 release cycle, because changing
prototypes from "()" to "(void)" in 2cf47a7ec9f35d1afaf24a6f9644fbecf6df92df
changed meaning of the type from "any parameters, including ui_tab_t *"
to "no parameters at all", and this is where Clang starts to complain.
Bug: https://bugs.gentoo.org/928946
Signed-off-by: Eric Joldasov <bratishkaerik@landless-city.net>
|
|
|
|
Untested, but it builds so it should be fine.
|
|
Turns out FreeBSD can sometimes return that error.
|
|
|
|
|
|
|
|
Fixes #102 again, but for ADC. Might also fix other VLA-related bugs.
|
|
handshake phase
That code was never updated for IPv6.
|
|
|
|
So that they can be updated without restarting ncdc.
|
|
|
|
|
|
Trips up on Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997167
Not actually a bug in this case, the given string cannot contain printf
formatting codes.
|
|
|
|
I'm sure enough time has passed by now.
|
|
You *really* shouldn't be using such old versions anymore.
|
|
|
|
As documented at https://nmdc.sourceforge.io/NMDC.html#_tls and
(apparently) required by Verlihub.
|
|
(found using Lintian tool)
|
|
Fixes #102. Or rather, works around it. I don't really know yet *why*
this is causing a segfault on aarch64 - it could be a compilation bug or
an actual bug in ncdc. In the latter case, this workaround could be
masking a more serious issue, but alas, so far all debugging output
seems to point to stack corruption, we've not managed to reproduce it on
other arches and this doesn't seem easy to investigate futher. :(
|
|
I broke this in 7ba4ec464a7c857913858778f50ef86c977284a4
Fixes #97
|
|
And, for outgoing connections, make sure to do the check again when the
CID is known.
Hopefully fixes #96
|
|
|
|
|
|
|
|
|
|
|
|
The previous #ifdef's relied on the old ncurses header file detection in
configure.ac, but that's now been replaced with pkg-config.
|
|
|
|
|
|
|
|
The GeoIP Legacy databases are not updated anymore, so libgeoip is now
useless. GeoIP support now requires libmaxminddb instead.
The new GeoIP databases are distributed with both IPv4 and IPv6 support
in a single file, so I've merged the 'geoip_cc4' and 'geoip_cc6'
settings in a single new 'geoip_cc' setting.
There is no default database path anymore, so users will have to
manually set the path to the mmdb file with the 'geoip_cc' setting.
|
|
This is an extension of the already available "S" annotation in file list tabs
that was suggested as a TODO in uit_search.c. Now, both tabs will uniformly
display "Q" next to the file if it's currently in the download queue, and "S" if
it's already in the share.
|
|
Put the number of free slots inside the "FS" info field sent to ADC hubs, like
DC++ does. Additionally, add a configuration variable called "show_free_slots",
which prepends the number of currently available upload slots to the description
in a fashion similar to other clients.
|
|
As a bonus, display 'S' when viewing a file list if the given file is already
present in the local shared file list.
|
|
|
|
This is a feature that FlylinkDC++ is experimenting with.
This implementation rewrites the file reader to use unbuffered I/O
calls, because the reader itself already does enough buffering.
The BZ2 reading is rewritten to use the lower-level bzDecompress rather
than bzRead API, because the latter seems harder to use w.r.t.
multistream bzip2 files.
It's slightly disappointing that the "high-level" bzRead API doesn't
handle multistream files automatically when the bzcat utility does.
Regardless of whether multistream file lists will actually be used, one
would expect ncdc to be able to read any bzip2 file that the bzcat
utility can read, hence this commit.
|
|
|
|
(same as Ctrl+C)
|
|
This cypher has been removed in GnuTLS 3.4, and thus causes connection
attempts to fail if it's still in the exclusion list. I very strongly
doubt that ARCFOUR-40 has ever been in the "NORMAL" cypher selection, so
this probably doesn't change anything.
GnuTLS 3.4 also by default excludes ARCFOUR-128 from the NORMAL
selection, but it doesn't hurt to keep that around for older versions.
|
|
As proposed in reply 4 at http://dev.yorhel.nl/ncdc/bug/76
This option is activated with a '/hset active_ip local'.
|
|
|
|
It's possible for n->nfo to be NULL in that case, and freeaddrinfo() is
not documented to handle NULL.
|
|
I can't say I'm a huge fan of referencing specific ciphers and features
in the default tls_priority setting for two reasons:
1. If the particular feature isn't supported by the GnuTLS version being
used, it will cause GnuTLS to return with an error during connect and
all TLS activity will fail.
2. I am not an authority in figuring out which ciphers are "secure
enough", nor do I have any clue as to which settings may cause
issues with compatibility. GnuTLS has a "NORMAL" setting for a
reason.
As for (1), I think it's safe to assume every GnuTLS library has support
for RC4, considering its wide-spread use. Though if RC4 is ever removed,
ncdc will break.
For (2), it's unfortunate that the "NORMAL" setting doesn't exclude RC4
already. Likely for compatibility reasons in the context of HTTPS. All
DC clients and hubs ought to support better ciphers so it shouldn't be
an issue for us to exclude it.
Fixes bug #73: http://dev.yorhel.nl/ncdc/bug/73
|
|
Kinda annoying how this requires reopening the hub tab, but fixing that
is a bit ugly.
|
|
|
|
|
|
This simplifies uit_userlist.c a bit, and the run-time detection makes
it possible to hide the column when ncdc has been compiled with GeoIP
support, but no databases are available.
TODO:
- Proper error handling/reporting when opening a DB file
- An option to manually specify a database path to open
|
|
|