HTTPS clone URL
Subversion checkout URL
History for GateOne/README.rst
Commits on Apr 18, 2012
…terminal.py... terminal.py: Implemented a two-pronged line cache (of sorts) that gets used by _spanify_screen() to save a significant amount of CPU whenever the function is called. This involves two new variables: Terminal.prev_dump and Terminal.html_cache which store copies of the raw screen and the HTML output, respectively, from the last time _spanify_screen() was called. So if nothing changed on a particular line between the last call and the current one it will use the cached/prerendered HTML line instead of spending cycles converting the screen. terminal.py: Fixed an issue where if you had an image being displayed and you executed a program that uses the alternate screen buffer this could cause the terminal to wind up in a "sort of" hung state until you executed something like ctrl-l. terminal.py: Fixed an issue where renditions could be corrupted when returning from an alternate screen buffer (similar to above). Updated the Licensing link in the README.rst. gateone.py: Added a new function to TerminalWebSocket: get_bell(). It opens the bell sound, converts it into a data::URI and sends it to the client via the 'load_bell' action (see below how this action is handled). gateone.py: The logic that adds the bell sound to the index.html template has been removed from the MainHandler. gateone.js: Added an X close icon to the "Info and Tools" panel. gateone.js: Added an X close icon to the Preferences panel and moved the username/sign out bit below the header (to make room for the X). gateone.js: GateOne.prefs.bellSound has been renamed to GateOne.prefs.audibleBell to better reflect what the variable controls. gateone.js: Added back GateOne.prefs.bellSound as a place to cache the bell sound so we don't have to download it every time Gate One loads. gateone.js: Added a new function to GateOne.User: loadBell(). It gets called when gateone.py sends the 'load_bell' action to the client (with the bell sound as a data::URI as the payload). Essentially it just adds an <audio> element to the page containing the bell sound. The idea is to make the bell work when embedding Gate One into another app without having to have said app include a separate <audio> tag (one less thing to worry about). gateone.js: Added some logic to GateOne.Net.onOpen() that checks to see if the bell sound is cached in GateOne.prefs.bellSound and sends a 'load_bell' action to the server if not. gateone.js: GateOne.Utils.savePrefs() now takes an argument: skipNotification. If true, displayMessage() won't be called to let the user know their prefs have been saved. Added this since loadBell() calls savePrefs(true) after it sets GateOne.prefs.bellSound; there's really no reason to notify the user of this. gateone.js: Added a new function to GateOne.User: uploadBellDialog(). It opens a dialog where users can customize the bell sound. The bell will get saved locally when the form is submitted and never gets sent to the Gate One server (which is cool, client-side File API stuff!). A button has been added to the Preferences panel to call this function. gateone.js: Fixed the bug where if you had more than ~40 terminals open they would start to get cut off at the top. This would get worse the more terminals you had open (it would get real bad around terminal 150!). Everything should line up perfectly now no matter how many terminals you have open. index.html: The <audio> element that contains the bell sound has been removed. Themes: Updated to place the username/sign out bits in the new location. Bookmarks Plugin: Modified bookmarks.css to make room for the X (close panel). Essentially I just moved the search form 1.5em to the left of where it was.
Commits on Mar 10, 2012
…gin header when the WebSocket is opened. It is important that you add the 'origins="localhost;whatever;whatever.yourdomain.com"' to your server.conf in order to restrict which domains/IPs are allowed to embed your Gate One server. Think of it like a domain-specific firewall for your Gate One server's WebSocket. If you know what you're doing you can set 'origins="*"' and that will disable this check. By default Gate One will attempt to guess all the origins on your system but it is likely to miss FQDNs. Especially if you're pointing some external FQDN to your Gate One server's IP (say, through a mapped port on your home firewall/router). gateone.py: Added origin header checking to TerminalWebSocket.open() in order to eliminate the possibility of a well-engineered spear phishing attack. A little bit of configuration inconvenience for an important security feature. README.rst: Updated to reflect more recent information. Updated documentation to reflect the new origin setting.
Commits on Feb 25, 2012
gateone.py: A slash will now be automatically appeneded to the end of Gate One's MainHandler URL if the user neglects to add it (only really matters if you're using the url_prefix option). gateone.py: A slash will automatically be appended to the end of any provided url_prefix (e.g. --url_prefix="/gateone" -> --url_prefix="/gateone/"). gateone.js: Fixed the bug where the underscore character wasn't being sent properly when in application cursor keys mode. utils.py: Added a new function: valid_hostname() that validates whether or not a given hostname is valid. ssh_connect.py: Duplicated the valid_hostname() function here. ssh_connect.py: Added LOADS of input validation and helpful error messages when users provide unacceptable input. ssh_connect.py: Updated the version string to be 1.2. Updated the LICENSE.txt with the latest information. Updated README.rst with the latest information.
Commits on Oct 18, 2011
…chmitz (Thanks again!)... Added a docstring, updated other docstrings, and updated the documentation to reflect this new option. Also, unrelated: Added README.rst to setup.py and added a newline to the end of it so it will look right when you cat the file on the command line.
Commits on Oct 16, 2011
…old one. Also, the documentation for Gate One is now online http://liftoff.github.com/GateOne/
Commits on Oct 15, 2011