Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 199083 Details for
Bug 204067
games-fps/{doom3,quake4} * - remote exploitable format string vulnerability
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
PunkBuster updater
pbupdate.py (text/plain), 2.54 KB, created by
René Kjellerup
on 2009-07-25 08:37:32 UTC
(
hide
)
Description:
PunkBuster updater
Filename:
MIME Type:
Creator:
René Kjellerup
Created:
2009-07-25 08:37:32 UTC
Size:
2.54 KB
patch
obsolete
># -*- coding: UTF-8 -*- ># pbupdate.py is a download script for Quake4's PunkBuster(pb) and is meant ># to quickly update pb during the install and before the user has a chance ># to run a potentionally vunerable version of pb. ># ># The script was written by René Kjellerup and is provided AS IS in the hope ># it will usefull. It may distributed under the terms of The GNU General Public ># License v2 or higher ># ># Adapt this file as needed. ># ># Copyrighted 2009 by René Kjellerup > >import sys, urllib, os, os.path, stat > ># punkBuster's home page >server = "http://www.evenbalance.com/" ># the download page for updated quake4's pb files >quake = "index.php?page=dl-q4.php" ># the download page for updated doom3's pb files >doom = "index.php?page=dl-doom3.php" > > >if len(sys.argv) > 1 and sys.argv[1] == "-d": > reqp = doom >else: > reqp = quake > >uppage = urllib.urlopen(server + "/" + reqp) > >files_get = [] > ># get the page >page = uppage.read() >uppage.close() >lines = page.splitlines() ># locate the needed files (plus a little gravy which will be trimmed later. >for line in lines: > if line[:6] == "<li><a": > if line.find("sec") == -1: > ridx = line.find("href=") + 6 > rp = line[ridx:line.find("\"",ridx)] > vidx = line.find(" v") + 2 > version = line[vidx:line.find(" ",vidx)] > fidx = line.find("e:") + 3 > fn = line[fidx:line.find("<",fidx)] > if fn.find(" ") != -1: > fn = fn[:fn.find(" ")] > files_get.append( [ rp, version.strip("."), fn ] ) > else: > ridx = line.find("href=") + 6 > rp = line[ridx:line.find("\"",ridx)] > fidx = line.find("e:") + 3 > fn = line[fidx:] > files_get.append( [ rp, 0, fn ] ) > >relpath = "" > ># path checking, this is just to make sure everything goes to where ># it is intended to go. >if not os.path.exists("htm"): > if os.path.exists("pb"): > relpath = "pb/" > else: > os.mkdir("htm") > ># downloading the found files on the update page. >for x in files_get: > # on a linux system we actually don't need dll/mac files. > if not x[2][-3:] == "dll" and not x[2][-3:] == "mac": > print "Getting:", x[2] > f = urllib.urlopen(server +"/" + x[0]) > if x[1] > 0 and x[2][-3:] == "htm": > fo = open(relpath+"htm/"+x[2],"w") > fo.write(f.read()) > fo.close() > else: > fo = open(relpath+x[2],"w") > fo.write(f.read()) > fo.close() > f.close() > if x[2][-3:] == ".so": > os.chmod(relpath+x[2],555) >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 204067
: 199083 |
199084