diff --git a/Changes b/Changes index b9a05f965..7c592587c 100644 --- a/Changes +++ b/Changes @@ -645,3 +645,11 @@ seen. gmtime warning still there - Updated the stats help list for newconf - Removed include/userload.h (not used) - Removed a few missed userload.h references +- Minor cosmetic fixes, and SVSNLINE (ban realname). + SVSNLINE + reason_why_moo :realname mask - Add global ban realname + ('_' is converted into spaces) + SVSNLINE - :realname mask - Remove global ban realname + SVSNLINE * - Wipes all global ban realname +- Fixed FIXME dcc_deny_wipe_services + + \ No newline at end of file diff --git a/INSTALL b/INSTALL index 6f376e3f7..fc9300898 100644 --- a/INSTALL +++ b/INSTALL @@ -56,7 +56,7 @@ #### #### #### 4a) Hopefully, the server will compile without incident. If it #### #### does not, and you are not able to determine the error, please #### -#### email unreal-dev@lists.sourceforge.net and hopefully someone #### +#### email supporters@lists.unrealircd.org and hopefully someone #### #### will be able to help you. Another suggestion is going on IRC #### #### /server irc.ircsystems.net #UnrealIRCD #### #### #### diff --git a/TODO b/TODO deleted file mode 100644 index d5180e432..000000000 --- a/TODO +++ /dev/null @@ -1,186 +0,0 @@ -TODO for Unreal Next: - -Write in entries in this form: -============================== - -* nick - date - priority - [ title ] Flag: - description - -Flags: - CLOSED - = Bug/Idea fixed/implemented. Bug/Idea is up for deletion - OPEN - = Bug/Idea up for fixing - IN-REPAIR - = Bug/Idea In Progress/Repair by - NO-PRODUCE - = Bug/Idea is not able to be (re)produced - POSTPONED - = Bug/Idea is scheduled for another release/time - -If you think that a priority should be higher, make it++ - - Priority is 1..10, where 10 is highest, and 1 is lowest. ----- -TODO : ----- - -* stskeeps - Tue Dec 12 2000 - 1 - [ IPv6 ] OPEN: -Add IPv6 compatiblity (requested by many people). Must allow :'s in -hostnames, will kill backwards compatiblity when IPv6 is enabled - -* stskeeps - Tue Dec 12 2000 - 1 - [ Code ] OPEN: -Split up code, and make the placement of functions more logic - -* codemastr - Tue Dec 12 2000 - 4 - [ Zip_Links ] OPEN: -Actually add this since it was planned for 3.0 - -* codemastr - Tue Dec 12 2000 - 5 - [ Dynconf Recode ] IN-REPAIR stskeeps: -Dynconf has a bunch of bugs that can be resolved with a recode -We are doing this with the newconf :) -stskeeps - -* codemastr - Tue Dec 12 2000 - 8 - [ +I Fixes ]: -+I still has some bugs that may cause desync and show users -that the +I user is actually on the channel. - -* stskeeps - Tue Dec 12 2000 - 1 - [ Bugfixes/Hash ] CLOSED stskeeps: -Check for possible hash bug with del_from_client_table or something -People still complain about crashes -We might have fixed this with recent SERVER passwd fix and other passwd -fixes - - -* stskeeps - Wed Dec 13 2000 - 10 - [ Bugfixes ] NO-PRODUCE: -[[r00t3d](~lok70@168.213.226.rox-62220)] The other one, is lets say you are on -server (a), and you set +p to your channel. All the users on Server -(b,c, etc..) when they do a /list can see the +p channel in the -list. Now if I set it wih chanserv ie.. mlock +ntp, it doesn't do -that.. ON all servers (a,b,c) no one sees the +p channel in /list -unless they are in the channel allready. -Solution: Fix send_list to use PubChannel instead of SecretChannel - (Unable to reproduce. +p channels are hidden on all servers -- codemastr) - - -* stskeeps - Wed Dec 13 2000 - 10 - [ Bugfixes ]: -[[r00t3d](~lok70@168.213.226.rox-62220)] If you are set +I (Tech -Admin/Network Admin) and you are set +q/+a in a channel. When someone /whoises -you hey see the channel names: *#channel ^#channel. - Fix /whois ShowChannel code - -* stskeeps - Wed Dec 13 2000 - 5 - [ Bugfixes ]: -[RexHsu(~webmin@202.109.72.rox-42822)] #TVB ÄÖÄÖ H root@61.151.53.User-42432 -:0 none -[RexHsu(~webmin@202.109.72.rox-42822)] #TVB ÄÖÄÖ H@ -~webmin@202.109.72.User-42822 :0 none -[RexHsu(~webmin@202.109.72.rox-42822)] * End of /WHO list. -Chinese nicks "clash", this is not the right nicks i typed in - -* stskeeps - Wed Dec 13 2000 - 5 - [ Bugfixes ]: -[eYe-Man(none@of.your.fucking.business)] Can you show me how you -got -OP? -[eYe-Man(none@of.your.fucking.business)] me i dont know how!!!!! -even i dont see where i got OP -[eYe-Man(none@of.your.fucking.business)] or when some server gave -me -SJOIN gives people ops? :P - -* stskeeps - Thu Dec 14 2000 - 10 - [ Bugfixes ] -InTe[_:#roxnet> -oxygen.phrozen.org- *** Global -- from Irc.LinuxFreakz.Net: - No response from dumper.roxnet.org[130.240.202.121], closing - link - Users can see that using +g ??? -FIXED: Sat Dec 30 2000 by stskeeps - -* stskeeps - Fri Dec 14 2000 - 1 - [ SSL ] - Challenge/Response kind of thing. - - /CHALLENGE nick keyname/commonidentifier type :b64text - type = 0, challenge type = 1, response -Must be flood controlled in some way -Can only work between servers and or U:lines and or - +z users - - Example: -> :Stskeeps CHALLENGE RaYmAn rayman.pem 0 :0D0FE5F6D46 -< :RaYmAn CHALLENGE Stskeeps rayman.pem 1 :D0F5F543433 - - The way this works is, that the challenger got RaYmAn's public RSA key - and he needs to authenticate that he is really talking to RaYmAn (the - real one). He then sends a random string to RaYmAn, encrypted with - RaYmAn's public key. RaYmAn then decrypts it using his private key, and - then re-encrypts the random stuff using his private key, and sends back - to Stskeeps, Sts then checks with decrypting the crypted text using the public - key, and if its OK, then considers him OK. - - We can use this for NickServ authentication using RSA keys, - or server<->server authentication, or /oper authentication - (no more stolen passwords, yipieeeeeeee) - - This is also easily possible to add, in IRCii, in BitchX, EPIC, - mIRC (DLLs), etc. - - This is also good for raising security/authenticating to another level. - Users can check if they are talking to the right person, NickServ databases - no longer needs to have passwords, just use RSA keys - -* stskeeps - Sun 17 Dec 2000 - 1 - [ General ] - -P:ip:W:*:port - UnrealHTTPD! -Sat 30 Dec 2000 - stskeeps - *cough* listen::option http ;) - -* codemastr - Wed 20 Dec 2000 - 3 - [ General ] - - Recode badwords to allow a different replace word for each word - -* codemastr - Wed 20 Dec 2000 - 1 - [ Install ] - - Add make install - -* codemastr - Wed 20 Dec 2000 - 9 - [ Bugfixes ] - - connect to a server, /oper, then run telnet and link a server. Close the telnet but do NOT - send a SQUIT, the server displays no notice to opers that the server split. -Stskeeps> +j? but yes, there's a bug there - - FIXED Sat 30 Dec 2000 by Stskeeps - -* stskeeps - Sat Dec 23 2000 - 10 - [ Bugfixes ] -There's some kind of bug that shows people being on same channel -twice. I got a feeling its to do with JOIN/SJOIN as its only remote. -[ Stskeeps ] [@ChanServ ] [@Fresh-Prin] [ Fresh-Prin] [@Fresh-Prin] -Same person - -* codemastr - Tue Dec 26 2000 - 6 - [ Bugfixes ] - (too lazy to type it out) - http://sourceforge.net/bugs/?func=detailbug&bug_id=126645&group_id=1968 - That fix will work except it needs to be modified so it checks remote - before denying because of not being oper -* stskeeps - Wed Dec 27 2000 - 5 - [Configuration] - Add a SWHOIS option to oper {} block, suggested by Robertsog -* codemastr - Tue Dec 26 2000 - 6 - [ Bugfixes ] - (too lazy to type it out) - http://sourceforge.net/bugs/?func=detailbug&bug_id=126645&group_id=1968 - That fix will work except it needs to be modified so it checks remote - before denying because of not being oper -* stskeeps - Sun Dec 30 2000 - 10 - [ Bugfixes ] - /whois shows what channels +S are in -* codemastr - Tue Jan 03 2001 - 1 - [ Idea ] - Add /kill logging option suggested by Cerb - -* stskeeps - Tue Jan 9 2001 - 1 Idea - limit whowas outputs -hedge -* stskeeps - Wed Jan 10 2001 - 1 Idea - -unknown mode char only once per command - when i whoised a user - who was on the same server - as the one i was on - there was no idle time - was he a ircop? - no - were you? -ùíù Hesiod [~hesiod@rox-22407.dialup.mindspring.com] has joined #UnrealIRCD - no -* codemastr - Tue Jan 18 2001 - 1 - [ Idea ] - /whowas *host.name - search whowas by host (suggested by Jameno123) diff --git a/src/modules/Makefile.in b/src/modules/Makefile.in index 9cdffe893..50bb04a99 100644 --- a/src/modules/Makefile.in +++ b/src/modules/Makefile.in @@ -26,11 +26,11 @@ INCLUDES = ../include/struct.h ../include/config.h \ R_MODULES=m_sethost.so m_chghost.so m_chgident.so m_setname.so \ m_setident.so m_sdesc.so m_svsmode.so m_swhois.so\ - m_svsmotd.so \ + m_svsmotd.so m_svsnline.so \ scan.so scan_socks.so COMMANDS=m_sethost.c m_chghost.c m_chgident.c m_setname.c m_setident.c \ - m_sdesc.c m_svsmode.c m_swhois.c m_svsmotd.c + m_sdesc.c m_svsmode.c m_swhois.c m_svsmotd.c m_svsnline.c MODULES=commands.so $(R_MODULES) MODULEFLAGS=@MODULEFLAGS@ @@ -79,6 +79,10 @@ m_svsmotd.so: m_svsmotd.c $(INCLUDES) $(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \ -o m_svsmotd.so m_svsmotd.c +m_svsnline.so: m_svsnline.c $(INCLUDES) + $(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \ + -o m_svsnline.so m_svsnline.c + scan.so: scan.c $(INCLUDES) $(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \ -o scan.so scan.c diff --git a/src/modules/l_commands.c b/src/modules/l_commands.c index 1c38aa8a2..431587fce 100644 --- a/src/modules/l_commands.c +++ b/src/modules/l_commands.c @@ -86,6 +86,7 @@ int l_commands_init(int module_load) m_svsmode_init(); m_swhois_init(); m_svsmotd_init(); + m_svsnline_init(); } #ifdef DYNAMIC_LINKING DLLFUNC void mod_load() @@ -103,6 +104,7 @@ void l_commands_load() m_svsmode_load(); m_swhois_load(); m_svsmotd_load(); + m_svsnline_load(); } #ifdef DYNAMIC_LINKING @@ -120,5 +122,6 @@ void l_commands_unload(void) m_svsmode_unload(); m_swhois_unload(); m_svsmotd_unload(); + m_svsnline_unload(); } diff --git a/src/modules/m_dummy.c b/src/modules/m_dummy.c index 906a5e3a5..a8d5d6159 100644 --- a/src/modules/m_dummy.c +++ b/src/modules/m_dummy.c @@ -33,10 +33,11 @@ DLLFUNC int m_dummy(aClient *cptr, aClient *sptr, int parc, char *parv[]); #define MSG_DUMMY "DUMMY" /* dummy */ #define TOK_DUMMY "DU" /* 127 4ever !;) */ -#ifndef STATIC_LINKING -ModuleInfo mod_header -#else +#ifndef DYNAMIC_LINKING ModuleInfo m_dummy_info +#else +#define m_dummy_info mod_header +ModuleInfo mod_header #endif = { 2, diff --git a/src/modules/m_svsmode.c b/src/modules/m_svsmode.c index fbdfdde6b..2a66f2d49 100644 --- a/src/modules/m_svsmode.c +++ b/src/modules/m_svsmode.c @@ -1,5 +1,5 @@ /* - * IRC - Internet Relay Chat, src/modules/scan.c + * IRC - Internet Relay Chat, src/modules/m_svsmode.c * (C) 2001 The UnrealIRCd Team * * SVSMODE and SVS2MODE commands diff --git a/src/s_extra.c b/src/s_extra.c index e1c05d8aa..bc0df4207 100644 --- a/src/s_extra.c +++ b/src/s_extra.c @@ -230,6 +230,26 @@ int m_undccdeny(aClient *cptr, aClient *sptr, int parc, char *parv[]) } +void dcc_wipe_services(void) +{ + ConfigItem_deny_dcc *dconf, t; + + for (dconf = conf_deny_dcc; dconf; dconf = (ConfigItem_deny_dcc *) dconf->next) + { + if ((dconf->flag.type2 == CONF_BAN_TYPE_AKILL)) + { + t.next = (ConfigItem *)del_ConfigItem((ConfigItem *)dconf, (ConfigItem **)&conf_deny_dcc); + if (dconf->filename) + MyFree(dconf->filename); + if (dconf->reason) + MyFree(dconf->reason); + MyFree(dconf); + dconf = &t; + } + } + +} + int m_svsfline(aClient *cptr, aClient *sptr, int parc, char *parv[]) { if (!IsServer(sptr)) @@ -272,9 +292,7 @@ int m_svsfline(aClient *cptr, aClient *sptr, int parc, char *parv[]) { if (!IsULine(sptr)) return 0; - /* FIXME dcc_wipe_services(); - */ sendto_serv_butone(cptr, ":%s %s *", sptr->name, (IsToken(cptr) ? TOK_SVSFLINE : MSG_SVSFLINE)); break;