View Issue Details

IDProjectCategoryView StatusLast Update
0000866unrealircdpublic2003-11-20 19:46
ReporterAI Assigned Tocodemastr 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.2-beta15 
Summary0000866: Qlines not being removed on Beta15
DescriptionReporting about an issue I'm experimenting with IRCServices-5.0.14 and
Unreal3.2-Beta15 (Updated using CVS like three weeks ago) , For some reason
SQLINEs are not being removed from Unreal when:
 /OS SQLINE DEL *pattern*
is performed, it removes them from the
services database however they will still be there active on Unreal.
Looks like the only way to get around this is to remove the SQLINES then
shutdown all unreal servers on the network then restart everything clean,
/rehashing Unreal will not fix the problem. I saw someone else also posted
this on the IRCServices list so looks like more people are experiencing this too.
Greetings
Steps To Reproduce1- Type /OS SQLINE ADD *Word* Reason
2- Type /OS SQLINE DEL *Word*
3- The SQLINE will be removed from the services .db however it will still be active on Unreal.
Additional InformationThis has been reported to Andrew Church too and he says it looks like an Unreal issue because Services is sending the
UNSQLINE properly.
Rehasing Unreal will not solve the problem either.
Greetings and keep up the good work.
Attached Files
m_sqline.c (4,232 bytes)
m_unsqline.c (3,658 bytes)
3rd party modules

Activities

codemastr

2003-04-06 22:27

reporter   ~0002129

It works perfectly here...
SQLINE test :testing

test testing
End of /STATS report

UNSQLINE test
End of /STATS report

AI

2003-04-07 01:39

reporter   ~0002140

Sorry, I didnt do enough tests before posting this, however for some reason one of the SQlines done with services got stucked on the IRCd's memory and its there no matter what I do, it is NOT set on the unrealircd.conf neither on the services .db however its still there active on Unreal, I guess restarting all the servers will make the qline leave. its weird but it happened.

codemastr

2003-04-07 02:54

reporter   ~0002141

Can you paste me the /stats q output so I can see exactly what the offending sqline is?

AI

2003-04-07 03:00

reporter   ~0002142

Can I send you the /stats q privately somewhere? I will also send you the /OS SQLINE LIST .

AI

2003-04-07 03:14

reporter   ~0002143

Last edited: 2003-04-07 03:29

Or I can also tell you this is an exact example of how SQline looks:

*BadUserNick`*

The sign ` really exists on the real Sqline , and the wild cards are placed exactly like that too.

When you do /stats q , it shows:

*BadUserNick`* :Reserved nickname


I have tried re-adding it to Services then removiing it again, Services it was added/removed but it s always on Unreal no matter what.
Anyways, it looks like a very weird bug that happened god knows because of what strange circunstances were appropiate for it to happen, It not happening anymore with any new Sqlines I have tested with. Just this one word that stays banned no matter what lol. so no big deal.

edited on: 04-07 03:29

codemastr

2003-04-07 05:03

reporter   ~0002144

If you, as an oper, type /unsqline blah blah
does it give an unknown command error? Or just does nothing?

AI

2003-04-07 12:53

reporter   ~0002148

Last edited: 2003-04-07 12:55

Even with /unsqline It just doesn't do anything, no errors at all, and this is with any of the current Qlines.

edited on: 04-07 12:55

codemastr

2003-04-07 16:48

reporter   ~0002151

It shows a : in /stats q? Are you using mIRC?

AI

2003-04-07 17:43

reporter   ~0002156

Yeah, but the : is just a way for the IRC client to display the output of /stats q that shows in all the other Sqlines and it's not part of Sqline itself. I dont use mIRC either.

codemastr

2003-04-07 18:48

reporter   ~0002159

Well as of right now, I'm thinking it is a services bug, just because I can't see anything that would cause it. Is it reproducable? If so, can you try restarting your services in debug mode, that way we can ensure that it is actually sending the UNSQLINE command?

codemastr

2003-04-08 21:11

reporter   ~0002180

Just thought of a way to test this, from your services:

/os raw :OperServ UNSQLINE *BadUserNick`*

Doing that, does it get removed? If it does, the problem is in Services, if not, then it is Unreal.

AI

2003-04-08 21:54

reporter   ~0002182

I did just like that and it didnt get removed, however this is not happening anymore whenever I add an SQLINE I can remove it with no problem, that particular Sqline got stucked in there though and cannot be removed. The services in debug mode show services removing the SQLINE with no problems too.

codemastr

2003-04-08 22:11

reporter   ~0002183

One other question, does the sqline show up in /stats q of all servers? Meaning,

/stats q some.other.server

Does that also show it, or just on this one server?

AI

2003-04-09 02:32

reporter   ~0002191

Yes it shows on all the linked up servers.

codemastr

2003-04-09 02:56

reporter   ~0002192

Ok well I'll do my best to look into it, but I must admit, this has me somewhat stumped...

AI

2003-04-10 14:22

reporter   ~0002208

Last edited: 2003-04-10 14:23

After upgrading to the latest CVS version it fixed itself, the qline is no longer there, I didnt have to kill all the servers either, Either a change you made or something else fixed it. so one way or the other looks like its not happening anymore.

edited on: 04-10-03 14:23

codemastr

2003-04-10 21:17

reporter   ~0002230

Last edited: 2003-04-10 21:18

Ok, well after seeing this bug, I decided I'd go look at the SQLINE code line by line and see if I couldn't find the cause. In fact, I found three SQLINE bugs. One of which may cause the condition you described. So, I'd like you to test it out. There are two ways you can do this. Either upgrade to the current cvs version (requires a restart), or download the attached m_sqline.c, and m_unsqline.c place them in src/modules, run make (this will generate a new commands.so) then /rehash. Once installed, try the /os raw UNSQLINE once again and see if it gets removed now. The best idea would be to install this on all of your servers, but we can test if this was the cause simply by installing it on the server that services is directly linked to. Meaning if it doesn't fix it, no need to waste time installing it on all the other servers. Hopefully this will solve the problem.

edited on: 04-10-03 21:18

codemastr

2003-04-11 02:36

reporter   ~0002240

Well seeing as how you say a CVS update fixed it, it may have been caused by one of the OOB read errors that Syzop fixed, but if that wasn't the case, then my SQLINE fixes certainly should have fixed it, so I'm closing this one.

Issue History

Date Modified Username Field Change
2003-04-08 22:11 codemastr Note Added: 0002183
2003-04-09 02:32 AI Note Added: 0002191
2003-04-09 02:56 codemastr Note Added: 0002192
2003-04-10 14:22 AI Note Added: 0002208
2003-04-10 14:23 AI Note Edited: 0002208
2003-04-10 21:14 codemastr File Added: m_sqline.c
2003-04-10 21:15 codemastr File Added: m_unsqline.c
2003-04-10 21:17 codemastr Note Added: 0002230
2003-04-10 21:18 codemastr Note Edited: 0002230
2003-04-11 02:36 codemastr Status new => resolved
2003-04-11 02:36 codemastr Resolution open => fixed
2003-04-11 02:36 codemastr Assigned To => codemastr
2003-04-11 02:36 codemastr Note Added: 0002240
2003-11-20 19:46 syzop Status resolved => closed