BASEDIR = os.path.dirname(__file__)
+LATEST_VERSION = "2.0"
+
def word_wrap(s, width=45):
paragraphs = s.split('\n')
lines = []
class MenuGPXEHandler(BootBaseHandler):
+
"""
menu.gpxe
"""
def get(self):
- # Check if version of the bootloader is recent enough.
- # Otherwise send the latest version of the PXE loader.
- user_agent = self.request.headers.get("User-Agent", None)
- if user_agent:
- try:
- client, version = user_agent.split("/")
- except:
- pass
- else:
- # We replaced gPXE by iPXE.
- if client == "gPXE":
- return self.serve_update()
-
- # Everything under version 1.0.0 should be
- # updated.
- if version < "1.0.0" or version == "1.0.0+":
- return self.serve_update()
-
- # This is an outdated git build
- for v in ("c4bce", "300a371"):
- if v in version:
- return self.serve_update()
+ version = self.get_argument("version", None)
+ if not version or version < LATEST_VERSION:
+ return self.serve_update()
# Deliver content
self.set_header("Content-Type", "text/plain")