It appears that under certain circumstances, DCC transfers from bots running iroffer-dinoex will explictly fail when being used through ZNC, but when connecting directly to the server, it will work for those bots. When the transfer fails, it appears as a malformed DCC request (according to Hexchat, what I use).
For example, on a bot that fails:
You send the dcc request.
Hexchat barks at the response it gets, showing this in the main window:
-[AnimeTL]Imouto- ** Sending you pack #842 ("[CR] AKB0048 - Next Stage - 02 [1280x720].mkv"), which is 323MB. (resume supported)
Received a malformed DCC request from [AnimeTL]Imouto.
Contents of packet: DCC SEND "[CR] 3235023813 37063 0
The Raw Log of hexchat will show this:
:[AnimeTL]Imouto!~desktop@XDCC.Anime.TL NOTICE Aoi-chan :** Sending you pack #842 ("[CR] AKB0048 - Next Stage - 02 [1280x720].mkv"), which is 323MB. (resume supported)
:[AnimeTL]Imouto!~desktop@XDCC.Anime.TL PRIVMSG Aoi-chan :DCC SEND "[CR] 3235023813 37063 0
However, on a working bot, you'll get this response:
Main Window:
Ginpachi-Sensei< xdcc send 4
Ginpachi-Sensei has offered [UTW]Accel_World-03[h264-720p][F2385A07].mkv (413054931 bytes)
DCC RECV connection established to Ginpachi-Sensei [192.210.139.197:52747]
Is this something with ZNC that causes it to choke, or would this be more of a Hexchat thing. I'm imagining it's ZNC because i can directly connect to the server without ZNC and it works, but WITH znc it doesn't work.
It appears that under certain circumstances, DCC transfers from bots running iroffer-dinoex will explictly fail when being used through ZNC, but when connecting directly to the server, it will work for those bots. When the transfer fails, it appears as a malformed DCC request (according to Hexchat, what I use).
For example, on a bot that fails:
You send the dcc request.
Hexchat barks at the response it gets, showing this in the main window:
-[AnimeTL]Imouto- *\* Sending you pack #842 ("[CR] AKB0048 - Next Stage - 02 [1280x720].mkv"), which is 323MB. (resume supported)
- Received a malformed DCC request from [AnimeTL]Imouto.
- Contents of packet: DCC SEND "[CR] 3235023813 37063 0
The Raw Log of hexchat will show this:
> > :[AnimeTL]Imouto!~desktop@XDCC.Anime.TL NOTICE Aoi-chan :*\* Sending you pack #842 ("[CR] AKB0048 - Next Stage - 02 [1280x720].mkv"), which is 323MB. (resume supported)
> > :[AnimeTL]Imouto!~desktop@XDCC.Anime.TL PRIVMSG Aoi-chan :DCC SEND "[CR] 3235023813 37063 0
However, on a working bot, you'll get this response:
Main Window:
> Ginpachi-Sensei< xdcc send 4
> - Ginpachi-Sensei has offered [UTW]_Accel_World_-_03_[h264-720p][F2385A07].mkv (413054931 bytes)
> - DCC RECV connection established to Ginpachi-Sensei [192.210.139.197:52747]
With this in the main log:
> > :Ginpachi-Sensei!~Gin@oshiete.ginpachi.sensei PRIVMSG Aoi-chan :DCC SEND [UTW]_Accel_World_-_03_[h264-720p][F2385A07].mkv 3235023813 52747 413054931
Is this something with ZNC that causes it to choke, or would this be more of a Hexchat thing. I'm imagining it's ZNC because i can directly connect to the server without ZNC and it works, but WITH znc it doesn't work.
<!-- github-sync-id:10137685 -->
[UTW]_Accel_World_-_03_[h264-720p][F2385A07].mkv and [CR] AKB0048 - Next Stage - 02 [1280x720].mkv look like different files for me... One has spaces in filename, another doesn't have them.
Also... Do specs on DCC exist, where rules for filename with spaces are defined?
`[UTW]_Accel_World_-_03_[h264-720p][F2385A07].mkv` and `[CR] AKB0048 - Next Stage - 02 [1280x720].mkv` look like different files for me... One has spaces in filename, another doesn't have them.
Also... Do specs on DCC exist, where rules for filename with spaces are defined?
<!-- github-comment-id:12511803 -->
I don't know if there is a specification for DCC, but I found that the bots (iroffer and UPP atleast, I haven't tested SysReset yet) that send files with spaces in the filename encapsulate it with double quotes ("). Examples:
iroffer
I can confirm this bug too. The problem lies with how the code handles parsing the input file name. It uses CString::Token() which splits up the string at spaces. This is wrong for the quoted-filename cases mentioned above.
Unfortunately I don't have the experience in cpp to fix this myself though it seems a trivial task for the devs.
I can confirm this bug too. The problem lies with how the code handles parsing the input file name. It uses CString::Token() which splits up the string at spaces. This is wrong for the quoted-filename cases mentioned above.
The offending lines are line 164 and 219 in https://github.com/znc/znc/blob/master/modules/bouncedcc.cpp
Unfortunately I don't have the experience in cpp to fix this myself though it seems a trivial task for the devs.
<!-- github-comment-id:42143084 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
It appears that under certain circumstances, DCC transfers from bots running iroffer-dinoex will explictly fail when being used through ZNC, but when connecting directly to the server, it will work for those bots. When the transfer fails, it appears as a malformed DCC request (according to Hexchat, what I use).
For example, on a bot that fails:
You send the dcc request.
Hexchat barks at the response it gets, showing this in the main window:
-[AnimeTL]Imouto- ** Sending you pack #842 ("[CR] AKB0048 - Next Stage - 02 [1280x720].mkv"), which is 323MB. (resume supported)
The Raw Log of hexchat will show this:
However, on a working bot, you'll get this response:
Main Window:
With this in the main log:
Is this something with ZNC that causes it to choke, or would this be more of a Hexchat thing. I'm imagining it's ZNC because i can directly connect to the server without ZNC and it works, but WITH znc it doesn't work.
bouncedcc module is off?
bouncedcc was on. With bouncedcc off, it appears to receive correctly.
[UTW]_Accel_World_-_03_[h264-720p][F2385A07].mkvand[CR] AKB0048 - Next Stage - 02 [1280x720].mkvlook like different files for me... One has spaces in filename, another doesn't have them.Also... Do specs on DCC exist, where rules for filename with spaces are defined?
I don't know if there is a specification for DCC, but I found that the bots (iroffer and UPP atleast, I haven't tested SysReset yet) that send files with spaces in the filename encapsulate it with double quotes ("). Examples:
iroffer
UPP
Tested with Hexchat~
I can confirm this bug too. The problem lies with how the code handles parsing the input file name. It uses CString::Token() which splits up the string at spaces. This is wrong for the quoted-filename cases mentioned above.
The offending lines are line 164 and 219 in https://github.com/znc/znc/blob/master/modules/bouncedcc.cpp
Unfortunately I don't have the experience in cpp to fix this myself though it seems a trivial task for the devs.
Thanks, kobuki! Just did a quick test, works perfectly~