From zothar at freenetproject.org Thu Aug 2 22:01:42 2007 From: zothar at freenetproject.org (zothar at freenetproject.org) Date: Thu, 2 Aug 2007 22:01:42 +0000 (UTC) Subject: [Pyfreenet] r14470 - trunk/apps/pyFreenet Message-ID: <20070802220142.0497447AAB0@freenetproject.org> Author: zothar Date: 2007-08-02 22:01:41 +0000 (Thu, 02 Aug 2007) New Revision: 14470 Modified: trunk/apps/pyFreenet/refbot.py Log: refbot: Change the refresh-after age to one week Modified: trunk/apps/pyFreenet/refbot.py =================================================================== --- trunk/apps/pyFreenet/refbot.py 2007-08-02 19:31:57 UTC (rev 14469) +++ trunk/apps/pyFreenet/refbot.py 2007-08-02 22:01:41 UTC (rev 14470) @@ -123,9 +123,9 @@ hour_seconds = 60 * minute_seconds; day_seconds = 24 * hour_seconds; week_seconds = 7 * day_seconds; - if( last_version_file_age > ( 2 * week_seconds )): + if( last_version_file_age > ( 1 * week_seconds )): log("***"); - log("*** This release of the refbot is more than two weeks old. Please run updater.py and try again."); + log("*** This release of the refbot is more than one week old. Please run updater.py and try again."); log("***"); my_exit( 1 ); From zothar at freenetproject.org Thu Aug 2 22:07:29 2007 From: zothar at freenetproject.org (zothar at freenetproject.org) Date: Thu, 2 Aug 2007 22:07:29 +0000 (UTC) Subject: [Pyfreenet] r14471 - trunk/apps/pyFreenet Message-ID: <20070802220729.A392247AADD@freenetproject.org> Author: zothar Date: 2007-08-02 22:07:29 +0000 (Thu, 02 Aug 2007) New Revision: 14471 Modified: trunk/apps/pyFreenet/refbot.py Log: refbot: Fix a variable scoping problem that caused the bot to crash in certain circumstances Modified: trunk/apps/pyFreenet/refbot.py =================================================================== --- trunk/apps/pyFreenet/refbot.py 2007-08-02 22:01:41 UTC (rev 14470) +++ trunk/apps/pyFreenet/refbot.py 2007-08-02 22:07:29 UTC (rev 14471) @@ -2491,9 +2491,9 @@ def cmd_help(self, replyfunc, is_from_privmsg, args): dark_open_str = ""; - if( self.darknet_trades_enabled and self.opennet_trades_enabled ): + if( self.bot.darknet_trades_enabled and self.bot.opennet_trades_enabled ): dark_open_str = "darknet and opennet"; - elif( self.darknet_trades_enabled ): + elif( self.bot.darknet_trades_enabled ): dark_open_str = "darknet"; else: dark_open_str = "opennet"; From zothar at freenetproject.org Sun Aug 5 15:43:22 2007 From: zothar at freenetproject.org (zothar at freenetproject.org) Date: Sun, 5 Aug 2007 15:43:22 +0000 (UTC) Subject: [Pyfreenet] r14486 - trunk/apps/pyFreenet Message-ID: <20070805154322.4855D4797E7@freenetproject.org> Author: zothar Date: 2007-08-05 15:43:22 +0000 (Sun, 05 Aug 2007) New Revision: 14486 Modified: trunk/apps/pyFreenet/refbot.py Log: refbot: tolerate non-printable characters in a user-supplied URL by stripping them out, which I believe should be fine for URLs Modified: trunk/apps/pyFreenet/refbot.py =================================================================== --- trunk/apps/pyFreenet/refbot.py 2007-08-05 15:02:09 UTC (rev 14485) +++ trunk/apps/pyFreenet/refbot.py 2007-08-05 15:43:22 UTC (rev 14486) @@ -1762,15 +1762,31 @@ if url in self.refs: return True return False + #@-node:has_ref #@+node:maybe_add_ref def maybe_add_ref(self, url, replyfunc, sender_irc_nick): """ Checks, adds and replies to a ref add request """ + url = self.sanitize_ref_url( url ); if( self.check_ref_url_and_complain(url, replyfunc)): self.addref(url, replyfunc, sender_irc_nick) + #@-node:maybe_add_ref + #@+node:sanitize_ref_url + def sanitize_ref_url(self, url): + """ + Remove extra characters that can be sent by a user, but which may trip up the bot unintentionally + """ + url = url.strip(); + sanitized_url = ''; + for item in url: + if( item in string.printable ): + sanitized_url += item; + return sanitized_url; + + #@-node:sanitize_ref_url #@+node:sendopennetrefdirect def sendopennetrefdirect(self, peernick, is_bot ): From zothar at freenetproject.org Sun Aug 5 15:47:59 2007 From: zothar at freenetproject.org (zothar at freenetproject.org) Date: Sun, 5 Aug 2007 15:47:59 +0000 (UTC) Subject: [Pyfreenet] r14487 - trunk/apps/pyFreenet Message-ID: <20070805154759.8C02347A1D1@freenetproject.org> Author: zothar Date: 2007-08-05 15:47:59 +0000 (Sun, 05 Aug 2007) New Revision: 14487 Modified: trunk/apps/pyFreenet/refbot.py Log: refbot: remove deprecated (now obsolete) 'bot2bot_trades' bot2bot API option Modified: trunk/apps/pyFreenet/refbot.py =================================================================== --- trunk/apps/pyFreenet/refbot.py 2007-08-05 15:43:22 UTC (rev 14486) +++ trunk/apps/pyFreenet/refbot.py 2007-08-05 15:47:59 UTC (rev 14487) @@ -849,9 +849,6 @@ self.api_options.append( "bot2bot_darknet_trades" ); if(self.bot2bot_opennet_trades_enabled): self.api_options.append( "bot2bot_opennet_trades" ); - if(self.bot2bot_darknet_trades_enabled): - # **FIXME** No longer include in options when we start requiring bot2bot_darknet_trades and stop accepting bot2bot_trades for darknet trades; currently only for backwards compatibility - self.api_options.append( "bot2bot_trades" ); if(self.bot2bot_trades_only_enabled): self.api_options.append( "bot2bot_trades_only" ); if(self.privmsg_only_enabled): From zothar at freenetproject.org Sun Aug 5 19:30:25 2007 From: zothar at freenetproject.org (zothar at freenetproject.org) Date: Sun, 5 Aug 2007 19:30:25 +0000 (UTC) Subject: [Pyfreenet] r14488 - trunk/apps/pyFreenet Message-ID: <20070805193025.E269A47AADA@freenetproject.org> Author: zothar Date: 2007-08-05 19:30:25 +0000 (Sun, 05 Aug 2007) New Revision: 14488 Modified: trunk/apps/pyFreenet/refbot.py Log: refbot: Fix a couple cases of backwards logic Modified: trunk/apps/pyFreenet/refbot.py =================================================================== --- trunk/apps/pyFreenet/refbot.py 2007-08-05 15:47:59 UTC (rev 14487) +++ trunk/apps/pyFreenet/refbot.py 2007-08-05 19:30:25 UTC (rev 14488) @@ -2400,7 +2400,7 @@ if( self.bot.privmsg_only_enabled and not is_from_privmsg ): replyfunc("Sorry, I'm configured to trade refs with humans only using private messages. Use the /msg command to send me a private message, after registering with nickserv if needed (i.e. /ns register ).") return - if( self.bot.opennet_trades_enabled ): + if( not self.bot.opennet_trades_enabled ): if( self.bot.darknet_trades_enabled ): replyfunc("Sorry, I'm not configured to trade opennet refs at the moment, but I will trade darknet refs. Try the \"getref\" command.") else: @@ -2445,7 +2445,7 @@ if( self.bot.privmsg_only_enabled and not is_from_privmsg ): replyfunc("Sorry, I'm configured to trade refs with humans only using private messages. Use the /msg command to send me a private message, after registering with nickserv if needed (i.e. /ns register ).") return - if( self.bot.darknet_trades_enabled ): + if( not self.bot.darknet_trades_enabled ): if( self.bot.opennet_trades_enabled ): replyfunc("Sorry, I'm not configured to trade darknet refs at the moment, but I will trade opennet refs. Try the \"getopennetref\" command.") else: From zothar at freenetproject.org Sun Aug 12 12:29:05 2007 From: zothar at freenetproject.org (zothar at freenetproject.org) Date: Sun, 12 Aug 2007 12:29:05 +0000 (UTC) Subject: [Pyfreenet] r14638 - trunk/apps/pyFreenet Message-ID: <20070812122905.E588A47AAC0@freenetproject.org> Author: zothar Date: 2007-08-12 12:29:05 +0000 (Sun, 12 Aug 2007) New Revision: 14638 Modified: trunk/apps/pyFreenet/refbot.py Log: refbot: Remove the last references to the 'bot2bot_trades' bot2bot API option Modified: trunk/apps/pyFreenet/refbot.py =================================================================== --- trunk/apps/pyFreenet/refbot.py 2007-08-11 20:40:46 UTC (rev 14637) +++ trunk/apps/pyFreenet/refbot.py 2007-08-12 12:29:05 UTC (rev 14638) @@ -1840,8 +1840,6 @@ if( self.bot2bot_darknet_trades_enabled ): if( self.bot2bot_darknet_trades_enabled and self.check_bot_peer_has_option( botNick, "bot2bot_darknet_trades" )): self.after(random.randint(15, 90), self.sendGetRefDirect, botNick) # Ask for their ref to be sent directly after 15-90 seconds - elif( self.bot2bot_darknet_trades_enabled and self.check_bot_peer_has_option( botNick, "bot2bot_trades" )): # **FIXME** for backwards compatability - self.after(random.randint(15, 90), self.sendGetRefDirect, botNick) # Ask for their ref to be sent directly after 15-90 seconds else: log("** error checking bot identity (%s): %s" % ( botIdentity, identityCheckerThread.status_msg )); continue @@ -2292,7 +2290,7 @@ # NOTE: We'll not have asked if from our perspective we didn't want to swap, but we don't want to add a darknet ref for a bot we don't think we can respond to (because they disconnected or something) # NOTE: Also, we don't want anybody to try to "cheat" the "negotiation" scheme if( self.bot.bot2bot_darknet_trades_enabled ): - if( self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_darknet_trades" ) or self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_trades" )): + if( self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_darknet_trades" )): if( self.bot.bots[ self.peernick ].has_key( "ref" ) and self.bot.bots[ self.peernick ].has_key( "ref_terminated" ) and self.bot.bots[ self.peernick ].has_key( "ref_is_good" )): self.bot.addref( "(darknet from bot: %s)" % ( self.peernick ), replyfunc, self.peernick, self.bot.bots[ self.peernick ][ "ref" ], "allow" ) elif( self.bot.bots[ self.peernick ].has_key( "already_added" )): @@ -2325,7 +2323,7 @@ #@+node:cmd_dorefswaprequest def cmd_dorefswaprequest(self, replyfunc, is_from_privmsg, args): if( self.bot.bot2bot_darknet_trades_enabled ): - if( self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_darknet_trades" ) or self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_trades" )): + if( self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_darknet_trades" )): if( self.bot.bots[ self.peernick ].has_key( "ref" ) and self.bot.bots[ self.peernick ].has_key( "ref_terminated" ) and self.bot.bots[ self.peernick ].has_key( "ref_is_good" )): # NOTE: Later we may have some criterion for rejecting the request other than we don't have their darknet ref and we don't trade refs or we don't do bot2bot at all self.bot.addref( "(darknet from bot: %s)" % ( self.peernick ), replyfunc, self.peernick, self.bot.bots[ self.peernick ][ "ref" ], "request" ) @@ -2372,7 +2370,7 @@ log("** botDarknetIdentities: %s" % ( self.bot.botDarknetIdentities.keys() )) if( not self.bot.check_bot_peer_is_already_added( self.peernick )): if( self.bot.bot2bot_darknet_trades_enabled ): - if( self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_darknet_trades" ) or self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_trades" )): + if( self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_darknet_trades" )): self.bot.check_identity_with_node( peerIdentity ) #@-node:cmd_getidentity @@ -2495,7 +2493,7 @@ #@+node:cmd_haveref def cmd_haveref(self, replyfunc, is_from_privmsg, args): if( self.bot.bot2bot_darknet_trades_enabled ): - if( self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_darknet_trades" ) or self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_trades" )): + if( self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_darknet_trades" )): if( self.bot.bots[ self.peernick ].has_key( "already_added" ) or ( self.bot.bots[ self.peernick ].has_key( "ref" ) and self.bot.bots[ self.peernick ].has_key( "ref_terminated" ) and self.bot.bots[ self.peernick ].has_key( "ref_is_good" ))): self.after(random.randint(7, 20), self.bot.sendDoRefSwapRequest, self.peernick) # Ask to swap refs with them after 7-20 seconds @@ -2564,7 +2562,7 @@ self.bot.addBotIdentity( self.peernick, peerIdentity ) log("** botDarknetIdentities: %s" % ( self.bot.botDarknetIdentities.keys() )) if( self.bot.bot2bot_darknet_trades_enabled ): - if( self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_darknet_trades" ) or self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_trades" )): + if( self.bot.check_bot_peer_has_option( self.peernick, "bot2bot_darknet_trades" )): self.bot.check_identity_with_node( peerIdentity ) #@-node:cmd_myidentity