]> jfr.im git - irc/quakenet/qwebirc.git/blobdiff - qwebirc/engines/ajaxengine.py
Fix several login bugs, add bouncer auth mode.
[irc/quakenet/qwebirc.git] / qwebirc / engines / ajaxengine.py
index 6d272d2ea6af9bafb37c47022969794697c08506..a7acb464e6ee8bec3b9a8b1c2ce180d7dd3930bb 100644 (file)
@@ -2,7 +2,7 @@ from twisted.web import resource, server, static, error as http_error
 from twisted.names import client
 from twisted.internet import reactor, error
 from authgateengine import login_optional, getSessionData
-import simplejson, md5, sys, os, time, config, weakref, traceback, socket
+import simplejson, md5, sys, os, time, config, qwebirc.config_options as config_options, traceback, socket
 import qwebirc.ircclient as ircclient
 from adminengine import AdminEngineAction
 from qwebirc.util import HitCounter
@@ -190,7 +190,7 @@ class AJAXEngine(resource.Resource):
       raise AJAXException, "Nickname not supplied."
     nick = ircclient.irc_decode(nick[0])
 
-    password = request.args.get("pass")
+    password = request.args.get("password")
     if password is not None:
       password = ircclient.irc_decode(password[0])
       
@@ -212,8 +212,10 @@ class AJAXEngine(resource.Resource):
       perform = ["PRIVMSG %s :TICKETAUTH %s" % (msg_mask, qticket)]
 
     ident, realname = config.IDENT, config.REALNAME
-    if ident is None:
+    if ident is config_options.IDENT_HEX or ident is None: # latter is legacy
       ident = socket.inet_aton(ip).encode("hex")
+    elif ident is config_options.IDENT_NICKNAME:
+      ident = nick
 
     self.__connect_hit()
 
@@ -225,7 +227,9 @@ class AJAXEngine(resource.Resource):
       client = ircclient.createIRC(session, **kwargs)
       session.client = client
 
-    if config.WEBIRC_MODE != "hmac":
+    if not hasattr(config, "WEBIRC_MODE") or config.WEBIRC_MODE == "hmac":
+      proceed(None)
+    elif config.WEBIRC_MODE != "hmac":
       notice = lambda x: session.event(connect_notice(x))
       notice("Looking up your hostname...")
       def callback(hostname):
@@ -235,8 +239,6 @@ class AJAXEngine(resource.Resource):
         notice("Couldn't look up your hostname!")
         proceed(ip)
       qdns.lookupAndVerifyPTR(ip, timeout=[config.DNS_TIMEOUT]).addCallbacks(callback, errback)
-    else:
-      proceed(None) # hmac doesn't care
 
     Sessions[id] = session