summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
10 daysFix Clang 16 errors for invalid C99 constructs (-Wincompatible-pointer-types)HEADmasterEric Joldasov3-3/+3
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>
2024-01-07Version 1.24 + static binary updates + get rid of copyright year1.24Yorhel36-36/+36
2023-08-11ADC: Split client info into AP/VE NFO paramsYorhel1-1/+1
Untested, but it builds so it should be fine.
2023-08-03Fix handling of ECONNABORTED in accept()Yorhel1-1/+1
Turns out FreeBSD can sometimes return that error.
2023-06-08Fix types in previous.Thomas Klausner1-2/+2
2023-06-08Add keybinding 'u' to sort unknown files first in file listings.Thomas Klausner2-2/+18
2023-01-22Fix empty function prototypesYorhel18-56/+56
2023-01-22Get rid of all VLAsYorhel4-24/+22
Fixes #102 again, but for ADC. Might also fix other VLA-related bugs.
2022-09-14Fix buffer overflow on connections tab for incoming IPv6 connections in ↵Yorhel1-10/+2
handshake phase That code was never updated for IPv6.
2022-05-30Version + year bump1.23Yorhel36-36/+36
2022-05-27Re-open GeoIP databases on SIGUSR1Yorhel1-2/+2
So that they can be updated without restarting ncdc.
2022-03-25UI: Fix non-plural "file" when there is only 1 file in dl queueYorhel1-1/+1
2022-01-23Fix error message wrongly pointing to tls_priorityYorhel1-1/+1
2021-10-29uit_dl.c: Use mvaddstr() instead of mvprintw() for dynamic stringYorhel1-1/+1
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.
2021-04-04Fix bug in glib 2.32 conversionThomas Klausner1-1/+1
2021-03-27Bump minimum glib version to 2.32 and get rid of deprecation warningsYorhel7-77/+69
I'm sure enough time has passed by now.
2021-03-27Drop support for libgcrypt and GnuTLS 2.xYorhel6-68/+21
You *really* shouldn't be using such old versions anymore.
2021-03-27Add tls_policy=force optionYorhel4-13/+40
2021-03-27NMDC: Add TLS to $SupportsYorhel1-1/+1
As documented at https://nmdc.sourceforge.io/NMDC.html#_tls and (apparently) required by Verlihub.
2021-03-02Fix spelling errorBoris Pek1-2/+2
(found using Lintian tool)
2020-09-21hub.c: Don't use VLA in nmdc_search() to fix segfault on aarch64Yorhel1-1/+1
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. :(
2019-05-28cc.c: Fixup setting of cc->tokenYorhel1-1/+1
I broke this in 7ba4ec464a7c857913858778f50ef86c977284a4 Fixes #97
2019-05-27cc.c: Fix segfault on checking duplicate ADC connectionsYorhel1-10/+13
And, for outgoing connections, make sure to do the check again when the CID is known. Hopefully fixes #96
2019-04-16Allow multiple upload connections to one hub userDaniel Kamil Kozar3-16/+22
2019-04-15Allow using "b" and "B" key bindings in the connections tabDaniel Kamil Kozar2-2/+15
2019-04-15Display the protocol in the status bar.Denys Smirnov1-2/+4
2019-04-15Delay sending messages and setting handlers until the protocol is known.Denys Smirnov1-15/+27
2019-04-15Negotiate the protocol using ALPN (C-H only).Denys Smirnov3-9/+48
2019-04-15Make sure to use NCURSES_CFLAGS and include the right fileYorhel1-6/+2
The previous #ifdef's relied on the old ncurses header file detection in configure.ac, but that's now been replaced with pkg-config.
2019-04-06Don't autorefresh while the file list is already being refreshed or hashedDaniel Kamil Kozar3-6/+7
2019-03-26Version bump + year bump + Changelog update for 1.211.21Yorhel36-36/+36
2019-03-26Website http -> httpsYorhel1-1/+1
2019-03-03Drop support for libgeoip, add support for libmaxminddbYorhel5-60/+58
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.
2017-09-06Mark queued files with Q and shared with S in search and file list tabsDaniel Kamil Kozar3-9/+22
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.
2017-08-25Broadcast the number of currently available free slotsDaniel Kamil Kozar3-7/+40
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.
2017-08-21Add a download_shared setting to disable downloading of already shared filesDaniel Kamil Kozar4-3/+21
As a bonus, display 'S' when viewing a file list if the given file is already present in the local shared file list.
2016-12-30Version & date bump + Changelog update for 1.201.20Yorhel36-36/+36
2016-12-16fl_load: Add support for reading multistream bzip2 filelistsYorhel1-31/+55
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.
2016-05-20Fixed destination directories permissions being restricted to 0755.Johannes Beisswenger1-1/+1
2015-09-30uit_main: make /close message more helpfulTillmann Karras1-1/+1
(same as Ctrl+C)
2015-04-26tls_priority: Remove ARCFOUR-40 from default exclusion listYorhel1-1/+1
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.
2015-04-13Add support for obtaining active_ip from the local socketYorhel4-5/+30
As proposed in reply 4 at http://dev.yorhel.nl/ncdc/bug/76 This option is activated with a '/hset active_ip local'.
2015-04-11doc.h: Minor typo fixYorhel1-1/+1
2015-04-01net.c: Never pass NULL to freeaddrinfo()Yorhel1-1/+2
It's possible for n->nfo to be NULL in that case, and freeaddrinfo() is not documented to handle NULL.
2015-02-21Disable RC4 ciphers by default from tls_priorityYorhel1-1/+1
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
2014-10-10Add 'log_hubchat' setting to disable logging of the main chatYorhel3-1/+8
Kinda annoying how this requires reopening the hub tab, but fixing that is a bit ugly.
2014-10-07Add geoip_cc[46] settings to disable GeoIP or specify custom databaseYorhel4-27/+57
2014-10-07Actually add geoip.c + improved error handlingYorhel3-4/+90
2014-10-07Add geoip wrappers in geoip.c + use run-time availability detectionYorhel2-44/+19
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
2014-10-07Add --no-bracketed-paste optionYorhel2-8/+12