Greetings po||ux ,
I am working right now on a pcre filter. So far I tested it and I
managed to kludge something together that can filter out privmsgs I
also have a set of bad words filters and spam filters you can use as
default, I'd like to contribute that later once I get it polished.
In the meantime, I wanted to ask you, I am very interested in setting
up a standard to directly compete with IRCv3 because I'm extremely
frustrated with IRCv3. In general, that community doesn't care about
…
[View More]making IRC usable for normal people. It seems to me they want to keep
IRC for their own cliques so they can fight with bots and stroke
their own ego.
I saw you were working on IRC+ and I'd like to extend that and
propose some specs and begin implementing them right away in ngircd.
I've discussed with the psybnc community and they are interested in
having me either maintain the code or fork the project. God willing,
I want to code many of the mobile-friendly features into psybnc that
I had discussed earlier.
Here are the features I want to achieve from IRC+:
1) Recipient confirmations when a message is delivered
2) Better support for mobile clients that have frequent disconnections
3) Standardized, in-band file upload (no web browser needed)
4) Audio/video streaming in a way that is fully compatible with SIP
5) Message sync across irc clients on multiple devices
6) HTTP tunneling to bypass firewalls
7) Buddy lists
8) Standardized registration interface
As far as I can tell, none of these critical features are being
addressed by the IRCv3 team.
The domain name ircplus.org seems available. I'd like to purchase it
and call this spec IRC+. I'd like to start with your protocol plus
add the above extensions.
Since you used the name first, I believe you own it and so I wanted
to ask for your blessing. Are you OK with me proceeding? I will
contribute code and specs under a BSD-like license
(https://lecturify.com/license.html), it will all be open and freely
redistributable.
jrmu
[View Less]
the executable works ("runs") as
expected --+
tests run successfully ("make check")
--+ |
ngIRCd compiles ("make")
--+ | |
./configure works --+
| | |
|
| | |
Platform Compiler ngIRCd Date Tester C
M T R *
--------------------------- ------------ ---------- …
[View More]-------- -------- -
- - - -
powerpc/apple/darwin8.11.0 gcc 4.0.1 25 19-09-08 sysop Y
Y Y Y 3
real 4m6.141s
user 0m21.255s
sys 0m23.724s
Still running fine :-)
Regards
Götz
[View Less]
Greetings po||ux,
This is jrmu from IRC. So, I took a look at this issue:
https://github.com/ngircd/ngircd/issues/228
OK po||ux , it's confirmed, the reason why the hashes aren't working
is because ngircd hashes twice. Suppose I have 2 ngircd servers (X
and Y) set up connected to each other. The salt is
9UdVFZOQszoWpvLAIXSvqF. On server X I use telnet to connect to
127.0.0.1 port 6667. So the hostmask is 127.0.0.1, and the salt is
appended to get the string 127.0.0.19UdVFZOQszoWpvLAIXSvqF. …
[View More]This is
hashed to give fde34f9b on the other server, the hostmask is
fde34f9b. The salt 9UdVFZOQszoWpvLAIXSvqF is appended to give the
string fde34f9b9UdVFZOQszoWpvLAIXSvqF, this is then hashed to give
93973dfb. So on server X, the hostmask is fde34f9b, and on server Y
the hostmask is 93973dfb.
What needs to be done is server Y must not hash the hostmask a 2nd time, and just pass through as is. The question now is, when a new user connects to X, should server X broadcast the uncloaked IP address and let server Y cloak it again; or should server X broadcast the cloaked IP and server Y should *not* cloak?
I have a fix using the 2nd solution (server Y does not cloak):
https://github.com/ngircd/ngircd/blob/master/src/ngircd/client.c line
340
I change the line to read:
if (Conf_CloakHost[0] && strchr(Client->host, '.')) {
That appears to solve the bug. I tested it and it seems to be
working on my side. If you want demo servers to verify, just PM me on
IRC. Now the hostmask renders properly before cloaking a host, the
server will check to see if there is a period in the hostname, if so
it has not yet been cloaked; if there is no ., it has already been
cloaked and there's no need to cloak a second time.
jrmu
[View Less]