Code Monkey home page Code Monkey logo

oftc-ircservices's Introduction

OFTC

OFTC

Welcome to OFTC, the Open and Free Technology Community.

Our main web presence is at https://www.oftc.net/, including instructions how to connect to our IRC network at irc.oftc.net.

Support

Stop by on #oftc or mail [email protected] if you have any questions regarding operation of the network.

Use this GitHub repository to report general issues with OFTC that are not specific to the other repositories here. Do not submit any passwords or other account data here, issues reported are publically visible.

oftc-ircservices's People

Contributors

adam- avatar akerl avatar cryogen avatar df7cb avatar dwfreed avatar jsoref avatar lucafilipozzi avatar mutantmonkey avatar mwalling avatar rmcintosh avatar rnowak avatar setharnold avatar tjfontaine avatar unit193 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oftc-ircservices's Issues

NickServ AJOIN doesn't check channel modes

<viemacsened> hello, when using /nickserv ajoin, it seems you're allowed to bypass channel modes - at least +i and +k

I've revoked INSERT and UPDATE on the account_autojoin table for now, but we need a proper fix for this.

groupserv ACLs prevent using nickserv LINK

When two nicknames are both on a groupserv ACL, nickserv LINK will report an error:

LINK failed to master <nickname>.  This may have been an internal error

Removing the user from the groupserv ACL allows the link to continue.

Thanks

Avoid duplicate cloaking

On services startup, we sometimes cloak tor users twice:

!coulomb Activating Cloak: 0BGAAAMXP.tor-irc.dnsbl.oftc.net -> 00012b9d.user.oftc.net for Fredzupy
!coulomb Activating Cloak: 00012b9d.user.oftc.net -> 0BGAAAMXP.tor-irc.dnsbl.oftc.net for Fredzupy

We should try to avoid that.

SENDPASS nickname generates a key which is not one-time use

I have just requested /msg nickserv SENDPASS, and got an email with a command to paste in IRC in order to change my password, in the form of "/msg NickServ SENDPASS mynick small-number:big-number "

After this, the nickserv had some trouble to recognize me, but eventually it did. Unfortunately, I pasted and sent the message with the big number into the #oftc room because I though this command expires after being used, but to my surprise, people on the channel were able to change my password!

This is very disturbing and I hope I dont lose my nick.

Please, update the system so that this big number becomes invalid after one-time use.
The code for this seems to be inside the file: oftc-ircservices/modules/nickserv.c

Ruby/Bopm.rb: ArgumentError: unknown encoding name: binary

[2016-09-08 17:48:19] RUBY INFO: Loading ruby module: /home/oftc/ircservices/services/lib/oftc-ircservices//Bopm.rb
[2016-09-08 17:48:19] RUBY ERROR: ArgumentError: unknown encoding name: binary
[2016-09-08 17:48:19] RUBY BACKTRACE:   /usr/lib/ruby/2.1.0/openssl/buffering.rb:1
[2016-09-08 17:48:19] RUBY BACKTRACE:   /usr/lib/ruby/2.1.0/openssl/ssl.rb:17:in `require'
[2016-09-08 17:48:19] RUBY BACKTRACE:   /usr/lib/ruby/2.1.0/openssl/ssl.rb:17:in `<top (required)>'
[2016-09-08 17:48:19] RUBY BACKTRACE:   /usr/lib/ruby/2.1.0/openssl.rb:24:in `require'
[2016-09-08 17:48:19] RUBY BACKTRACE:   /usr/lib/ruby/2.1.0/openssl.rb:24:in `<top (required)>'
[2016-09-08 17:48:19] RUBY BACKTRACE:   /usr/lib/ruby/2.1.0/securerandom.rb:2:in `require'
[2016-09-08 17:48:19] RUBY BACKTRACE:   /usr/lib/ruby/2.1.0/securerandom.rb:2:in `<top (required)>'
[2016-09-08 17:48:19] RUBY BACKTRACE:   /usr/lib/ruby/2.1.0/resolv.rb:7:in `require'
[2016-09-08 17:48:19] RUBY BACKTRACE:   /usr/lib/ruby/2.1.0/resolv.rb:7:in `<top (required)>'
[2016-09-08 17:48:19] RUBY BACKTRACE:   /home/oftc/ircservices/services/lib/oftc-ircservices/Bopm.rb:2:in `require'
[2016-09-08 17:48:19] RUBY BACKTRACE:   /home/oftc/ircservices/services/lib/oftc-ircservices/Bopm.rb:2:in `<class:Bopm>'
[2016-09-08 17:48:19] RUBY BACKTRACE:   /home/oftc/ircservices/services/lib/oftc-ircservices/Bopm.rb:1:in `<top (required)>'
[2016-09-08 17:48:19] RUBY INFO: Failed to load file /home/oftc/ircservices/services/lib/oftc-ircservices//Bopm.rb

I could "fix" this by replacing the # coding: binary in the first line of /usr/lib/ruby/2.1.0/openssl/buffering.rb by # coding: UTF-8.

No idea if that's something to be fixed in ircservices, we just need to remember the fix for the next ruby update which will revert buffering.rb back to the original.

Error in TwistedSNMP!

Hello,

I cannot start the server because I get the following error:

# /etc/init.d/oftcdns start                    Starting OFTCDNS daemon: oftcdnsUnhandled Error
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 642, in run
    runApp(config)
  File "/usr/lib/python2.7/dist-packages/twisted/scripts/twistd.py", line 23, in runApp
    _SomeApplicationRunner(config).run()
  File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 376, in run
    self.application = self.createOrGetApplication()
  File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 441, in createOrGetApplication
    application = getApplication(self.config, passphrase)
--- <exception caught here> ---
  File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 452, in getApplication
    application = service.loadApplication(filename, style, passphrase)
  File "/usr/lib/python2.7/dist-packages/twisted/application/service.py", line 405, in loadApplication
    application = sob.loadValueFromFile(filename, 'application', passphrase)
  File "/usr/lib/python2.7/dist-packages/twisted/persisted/sob.py", line 210, in loadValueFromFile
    exec fileObj in d, d
  File "/usr/local/lib/oftcdns/oftcdns.tac", line 20, in <module>
    from twistedsnmp import agent, agentprotocol, bisectoidstore
  File "/usr/local/lib/python2.7/dist-packages/twistedsnmp/agent.py", line 4, in <module>
    from twistedsnmp import datatypes
  File "/usr/local/lib/python2.7/dist-packages/twistedsnmp/datatypes.py", line 9, in <module>
    from twistedsnmp.pysnmpproto import v2c,v1,rfc1902
exceptions.ImportError: cannot import name v2c

Failed to load application: cannot import name v2c

I am using Ubuntu Server 14.04.1

Fails to build on bullseye (gcc 10)

/usr/bin/ld: ruby_module/libruby_module.a(libruby_module_a-nickname.o):/build/oftc-ircservices/src/ruby_module/nickname.c:4: multiple definition of `cNickname'; ruby_module/libruby_module.a(libruby_module_a-client.o):/build/oftc-ircservices/src/ruby_module/client.c:7: first defined here
/usr/bin/ld: ruby_module/libruby_module.a(libruby_module_a-servicemodule.o):/build/oftc-ircservices/src/ruby_module/servicemodule.c:11: multiple definition of `cClient'; ruby_module/libruby_module.a(libruby_module_a-client.o):/build/oftc-ircservices/src/ruby_module/client.c:6: first defined here

One can work around this with -fcommon, but it should be fixed properly.

Add to https://www.oftc.net/Tor

could you add a section to https://www.oftc.net/Tor/ to say tor users can't get support
in #oftc from anyone else but staff, unless they get a cloak, and link to the cloaks page.

I spent a day waiting for others to reply to what I was sending :-)

no web connection

I am sorry for asking here but could not find a better place.

I tried to connect via https://www.oftc.net/Services webfront end.
It does not work but also does not give me any error message.
It just looks like this.

image

I tried Firefox ESR and MS Edge legacy. On the current machine I have no IRC client available and I am not allowed to install it.

Bopm.rb: KILLING with score: 1 but empty dnsbl list

Bopm was issuing a lot of these akills.

Question 1: Why was score 1? (Efnetrbl was screwed up at that time, but why didn't that result in score 0?)
Question 2: Why was the list of matched dnsbls empty ([]) ?

Sun Jan  8 18:10:40 2017 services.oftc.net {Bopm} KILLING [email protected] with score: 1 [] [#l, #c]
Sun Jan  8 18:10:40 2017 services.oftc.net Bopm Added akill on *@1.1.1.7 because This host may be infected. Mail [email protected] with questions. BOPM for 1209600 seconds
Sun Jan  8 18:10:40 2017 helix.oftc.net *** Notice -- [email protected]{services.oftc.net} added temporary 20160 min. K-Line for [*@1.1.1.7] [autokilled: This host may be infected. Mail [email protected] with questions. BOPM (2017-01-08 18:10:40)]

ChanServ's EXCEPT and INVEX override "MAXLIST=beI:100"

There seems to be no upper limit; I tried over 1000 entries and they caused some significant lag when re-creating the empty channel on rejoin. Adding over 100,000 or even multiple million entries will take some time but might really cause a DoS affecting the whole network. Once the list is set up, to cause disruption, all needed is to /part and /join again. And again. And again. And again. :/

Resurrect reloading of ruby modules

d56402c fixes loading of ruby modules, but unfortunately rb_require doesn't reload the file from disk when called again. The web says to use "load" instead, but my attempts to do that from C failed, so I went with the require version. We should fix that eventually, though.

nickserv UNLINK doesn't work

UNLINK fails because it can't create a new account for the unlinked nick:

2018-05-30 11:37:38 GMT [5464-2373855] ircservices@ircservices ERROR:  duplicate key value violates unique constraint "account_primary_nick_idx"
2018-05-30 11:37:38 GMT [5464-2373856] ircservices@ircservices DETAIL:  Key (primary_nick)=(193637) already exists.
2018-05-30 11:37:38 GMT [5464-2373857] ircservices@ircservices STATEMENT:  INSERT INTO account (primary_nick, password, salt, url, email, cloak, flag_enforce, flag_secure, flag_verified, flag_cloak_enabled, flag_admin, flag_email_verified, flag_private, language, last_host, last_realname, last_quit_msg, last_quit_time, reg_time) SELECT primary_nick, password, salt, url, email, cloak, flag_enforce, flag_secure, flag_verified, flag_cloak_enabled, flag_admin, flag_email_verified, flag_private, language, last_host, last_realname, last_quit_msg, last_quit_time, reg_time FROM account WHERE id=$1

At the moment it reports "$masternick is now unlinked" when unlinking $nick, but that might be a follow-up error from the above.

Dumps core on every shutdown

[2016-09-06 21:57:07] Dying: got SIGTERM

Core was generated by `/home/oftc/ircservices/services/bin/services -foreground'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f3ee4814067 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f3ee4815448 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007f3ee48521b4 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007f3ee485798e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x000000000042810d in MyFree (x=<optimized out>) at ../mem/memory.h:63
#5  unregister_callback (cb=0x140be80) at hook.c:84
#6  0x00000000004187b0 in cleanup_interface () at interface.c:192
#7  0x000000000042189b in services_die (msg=msg@entry=0x444152 "got SIGTERM", 
    rboot=rboot@entry=0) at services.c:365
#8  0x000000000042192c in signal_handler (signum=15) at services.c:389
#9  <signal handler called>
#10 0x00007f3ee48bed3d in poll () from /lib/x86_64-linux-gnu/libc.so.6
#11 0x0000000000427425 in comm_select () at poll.c:176
#12 0x000000000040f8a5 in main (argc=0, argv=0x7ffed12e4408) at services.c:291

ChanServ's permanent "QUIET" list is overriden by the "expirebans" setting

I was using the permanent ChanServ "QUIET" list in conjunction with the "expirebans" setting. I expected the quiet list to override the "expirebans" setting, so that I could add some permanent quiets which would stay permanently. This also seems to be the intended behavior, as the QUIET list still contains the quiet I've added... but the +q on the channel has automatically been removed by ChanServ after the time specified in "expirebans".
My workaround for this issue is to disable the "expirebans" setting for now.

"/msg ChanServ set #channel autolimit OFF" should remove the limit from the channel

Steps to reproduce:

  1. -> ChanServ: set #channel autolimit on
  2. wait for the limit to be set, maybe join with a few clients
  3. -> ChanServ: set #channel autolimit off

Expected behavior:
ChanServ removes the limit from the channel (/mode #channel -l)

Actual behavior:
ChanServ does not remove anything but simply stops automatically adjusting the now static limit.

Need fixes for OpenSSL 1.1

On Debian unstable:

checking openssl/sha.h usability... yes
checking openssl/sha.h presence... yes
checking for openssl/sha.h... yes
checking for SSL_library_init in -lssl... no
configure: error: openssl library not found

Ruby modules path

"make install" installs the Ruby modules in share/oftc-ircservices, but at runtime the loader tries to load them from lib/oftc-ircservices.

Bopm.rb: ignore non 127.0.0.x A records

Apparently our Bopm.rb accepts dnsbl A answers even if the returned value is not in the list of configured "codes". We should ignore these results, and maybe even filter out all non-127 IPs.

NickServ attempts ajoins before +R channels can be joined

On OFTC, I set NickServ's ajoin list to join a bunch of channels, some of which are +R.

When connecting, the ajoins all get processed before I'm actually capable of joining +R channels, so some of the joins fail, defeating most of the reason to use ajoin in the first place.

Snippet from my client looks like (channel names edited):

07:25:48 [OFTC2] -!- - Thanks and enjoy your stay! The OFTC team.
07:25:48 [OFTC2] -!- End of /MOTD command.
07:25:48 [OFTC2] -!- Mode change [+i] for user Peng__
07:25:48 [OFTC2] -!- Mode change [+w] for user Peng__
07:25:48 [OFTC2] !larich.oftc.net Activating Cloak: 00012c51.user.oftc.net
07:25:48 [OFTC2] -!- #foo Cannot join channel (Need to be identified and verified to join this channel, '/msg NickServ help' to learn how to register and verify.)
07:25:48 [OFTC2] -!- Cannot join to channel #bar (You must be invited)
07:25:48 [OFTC2] -!- #baz Cannot join channel (Need to be identified and verified to join this channel, '/msg NickServ help' to learn how to register and verify.)
07:25:48 [OFTC2] -!- Mode change [+R] for user Peng__
07:25:48 [OFTC2] -NickServ([email protected])- You are connected using SSL and have provided a matching client certificate
07:25:48 [OFTC2] -NickServ([email protected])- for nickname Peng__.  You have been automatically identified.
07:25:50 [OFTC2] -!- Irssi: Your nick is owned by Matt Nordhoff [[email protected]]

(The +Ri channel failed for two reasons!)

(:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.