Skip to content

v1.18.0 - The Fair Share Release

Latest

Choose a tag to compare

@Ninja-FSE Ninja-FSE released this 20 Oct 09:29
6a1277a
  • Fixed: a refused !rar request now says why it was refused (a folder the bot does not offer, an artist root, a folder with nothing to pack, or one over the size limit for packed folders) instead of always saying it was an artist root folder.
  • Fixed: @<nick>-remove <file> with a line copied from the list, or with the file's folder in front, now removes that file, instead of saying it is not in your queue and sending it anyway.
  • Fixed: a folder still being packed for a nick that was just paused now stops at once, so the next folder request no longer waits for it to finish.
  • Fixed: the dashboard's Settings page did not say when the rehash after a save failed. It said "Rehash started" and nothing more. Now it waits for the rehash and says whether the new settings are in effect; if the rehash failed (an admin_config.py with a syntax error, for one), it says the settings were saved to settings.conf but the bot may not be running them, and that the bot's log says why - the same words as the admin console.
  • Fixed: a send could be stopped as slow after Packet size was lowered. With Max upload speed and Stop sends slower than (SLOW_SEND_MIN_KB) set, lowering Packet size (DCC_BLOCK_SIZE) while sends were running could leave the sends started afterwards with less than their share of the upload speed, and one of them could be stopped as too slow although only the cap held it back. Every running send now uses the new packet size from its next packet on.
  • Fixed: files already queued for a nick paused for failed downloads could still be sent. With Failed sends in a day before a nick is paused (DAILY_SEND_FAILS_LIMIT) set, a nick paused after a nick change could keep getting the files left in its queue. A paused nick's queued files are now removed, and nothing more is sent to it until the pause ends.
  • New: channels where a finished transfer is not announced. With Announce finished transfers in the channel on, list the channels whose rules forbid that kind of message in Don't announce finished transfers in these channels (ANNOUNCE_TRANSFERS_EXCLUDE, for example #alpha, #beta) on the Settings page under Advertising & search, or in the mIRC settings window under General > Advertising. The advert still goes there; only the "sent" line does not. Empty, the default, announces everywhere as before.
  • Fixed (security): DAILY_SEND_FAILS_LIMIT now treats a user who changes nick between downloads that never connected as one downloader, not two.
  • Fixed: someone paused for failed downloads (DAILY_SEND_FAILS_LIMIT) could get round the pause by changing nick. Their failed sends today and the pause now follow them to the new nick, as their queue does, until midnight or unpause <nick>.
  • Fixed: with a Max upload speed set, a send crawling on the downloader's slow link was never stopped by Stop sends slower than (SLOW_SEND_MIN_KB) while your faster sends kept the cap full. A send getting about its even share of a full cap is still kept; one well under it is now judged as if no cap were set.
  • Fixed: with One large file at a time (LARGE_FILE_MB) on, a finished !rar archive was sent at once even while another large file was being sent. A !rar folder is still never held back while it waits to be packed, since its size is not known yet; once packed, a large archive now waits its turn, keeping its place, like any other large file.
  • Fixed: a settings change from mIRC or the console said it was in effect when the bot could not apply it. If the reload that applies a save fails (an admin_config.py with a syntax error, for one), the console now says the settings were saved to settings.conf but not applied, and that the bot's log says why. The mIRC settings window says so with the updated dccore.mrc; an older script shows the bot's message as a raw [SETAPPLYERR] line in @DCCore, never as a success.
  • Fixed: saving a setting on the dashboard could log you out. A page that asked the dashboard for something while the bot was reloading its settings was sent back to the login, and a correct password typed at that moment was refused.
  • Fixed: after being kicked or banned from a channel, saving any setting made the bot think it was back in. It said "Rejoined", stopped trying to get back in, and sent its advert there again. It now counts a channel as joined again only when the server confirms its own JOIN.
  • Fixed: the bot could say its debug channel was never joined, and keep asking to join it, while it was in it. It joins the debug channel first now, and counts the member list of every channel it is in whenever the server sends it.
  • Changed (security): some names in the fetched files folder. A file without an extension that you fetch to the top of data/fetched/ now keeps the request id in front of its name, which leaves plain names there to the bots' own folders (A folder for each bot's files); if a file already has a bot folder's name, a download from that bot stops with a message naming the file to move or rename. A fetched list whose bot or channel name had to be cleaned to make a folder name now has a longer tag on its folder, and a list you hold is moved to it once, when the bot starts.
  • New: each bot's downloads in a folder of its own. Turn on A folder for each bot's files (FETCHED_FILES_PER_BOT, off by default) on the dashboard's Settings page or in the control panel, and what you fetch from SomeBot is saved in data/fetched/SomeBot/, the way mIRC can file downloads under the sender's name. Files you already have stay where they are, and fetched lists keep their own place. A nick with characters a folder name cannot hold, like [Alfa], gets a tag after its name (Alfa-1d8be4d71c298166), so two bots do not end up in one folder by accident.
  • Fixed: a debug channel the bot did not get into went unnoticed. When every channel in CHANNEL answered, nothing checked the debug channel. Now it is checked too: if it never confirms, the bot says so in its log and on the dashboard and asks for it again, as it does for any other channel. The advert still does not wait for it.
  • Fixed: the List Browser's filter could hang for minutes after the bot started, while it re-indexed the lists you hold. It now says the search index is still being filled and to try again in a minute.
  • Fixed: after a restart, a channel the server refused with "target change too fast" was asked for again too early. The bot now waits as long as the server says (a [JOIN WAIT] line says until when), asks again right after, one channel per wait, and lets the rest of its JOINs wait their turn, so it is back in every channel within minutes instead of being refused again.
  • New (mIRC): the script is one download, dccore-mirc.zip, attached to each release (https://github.com/Ninja-FSE/dccore/releases/latest/download/dccore-mirc.zip). It holds dccore.mrc with its dcx and dll folders and a short README: extract it into your mIRC folder, or over the old files to update - your settings and token are kept.
  • Fixed (mIRC): the control panel's Connection row could take the wrong shade after a theme switch. With the panel open, switching between the light and dark theme gave the row's green, amber or red the other theme's shade until the panel was reopened. It now follows the panel's theme, which changes the next time the panel opens.
  • Fixed (security): a !rar archive now holds only the files the list lists, and a folder whose only packable files the list leaves out is no longer packed. A pack also waits in the queue, keeping its place, while the disk the archives are built on has no room for it (a folder that fits goes ahead meanwhile, and one larger than the whole disk is refused), or while as many packed archives as there are send slots already wait to be sent; it carries on by itself.
  • Fixed (security): checkupdates and consolefeed with an argument now ask for unlock in a token session, like set. A console that logged in with a paired token types unlock <password> once before it turns the daily update check or the console feed on or off; with no argument they still just report the setting. The updated dccore.mrc shows the request in @DCCore, and the control panel's "Console feed on" box goes back to the bot's setting and says to unlock first.
  • Fixed (security): logging in to the admin console with a paired token no longer clears the address's count of wrong passwords. Only the admin password, at the login prompt or in unlock, clears it now. A token login is still not counted as a wrong password, but the wrong ones before it still add up to the three that block the address for 15 minutes.
  • Fixed (security): failed dashboard logins over IPv6 are counted per /64 network, and per /48. Three wrong passwords block the whole /64 for fifteen minutes, and thirty from anywhere in one /48 block that /48; an IPv4 client seen through an IPv6 socket or NAT64 counts as its IPv4 address.
  • Fixed (mIRC, security): the script now accepts the bot's login only once the password it asked for in the same chat was answered. The bot always asks first, so logging in works as before; a login line before that is ignored, the window says so, and the script stops reconnecting until you /dccore connect. A password typed in the separate console window is now shown as ******** there too and keeps its spaces, and the menu's Console command box hides what you type at the password prompt. Update dccore.mrc to 1.21.0 and reload it with /reload -rs dccore.mrc.