about summary refs log tree commit diff stats
path: root/xombrero.c
Commit message (Collapse)AuthorAgeFilesLines
* Don't allow freeing NULL in open_tabs()Josh Rickmar2013-05-011-13/+13
|
* plug memleak on gnutls_x509_crt_list_import failureDavid Hill2013-04-201-0/+1
|
* plug memleak in get_local_cert_chainDavid Hill2013-04-201-0/+1
|
* Add osx build support (using macports).John C. Vernaleo2013-04-191-0/+4
| | | | | | Based on initial patch from Tim Meunier <trondd@gmail.com>). Add temporary files to .gitignore.
* fix icon apearing when http_proxy is setMarco Peereboom2012-11-281-3/+3
|
* add tor icon toggle for proxyMarco Peereboom2012-11-281-4/+18
| | | | requested by many
* Add a button to the toolbar to toggle the proxyJosh Rickmar2012-11-281-0/+29
|
* Initialize cookie whitelist. Fixes FS388.Josh Rickmar2012-10-301-0/+1
| | | | Found by Cody Write (writecode on flyspray)
* Fix for FS387Josh Rickmar2012-10-281-8/+18
| | | | From cody on irc
* Fix for FS273Josh Rickmar2012-10-281-22/+28
| | | | From cody on irc
* Make all new tabs open in new windows in tabless modeJosh Rickmar2012-08-291-1/+13
|
* Implement header changes as requested by jy-pJosh Rickmar2012-10-101-57/+57
| | | | | | | | | | | | | | | | | | | This change introduces a new RB tree to keep track of identities (defined as being different combinations of modified HTTP headers, so far only User-Agent and Accept). Whenever a site is visited, this tree is checked to see if it has been accessed before, and if it has, the previously used Accept and User-Agent headers will be used. If the site has not been visited before during the browser's lifetime, a new entry will be created in this tree to keep track of which headers to use the next time. A site is defined as a FQDN, so requests made to cross site resources or resources on a different subdomain will generate a new saved identity. The second change adds two new config files to the resource dir to read in additional user_agent and http_accept values scraped from the logs of www.bitrig.org. The idea of this is to keep rotating through each of these on every new site visit to provide more anonymity and thwart web tracking by looking at the headers being sent.
* Add regex support to whitelistsJosh Rickmar2012-09-181-35/+28
| | | | | | | | | | | | | | This modifies the whitelist and https forcing code to internally use unix extended regular expressions to match domains. The old config syntax converted to an appropiate regular expression. Inputing of raw regular expressions is possible by prepending the string "re:" in front of a regular expression, for example: js_wl = re:^(.*\.)*cyphertite\.com$ would be the same as js_wl = .cyphertite.com
* Make custom URI handling work againJosh Rickmar2012-08-311-7/+7
| | | | | | | This changes the order custom and invalid URI checking so that items set with custom_uri are still able to be handled properly, even if the URI scheme is invalid (not whitelisted) and we don't want xombrero opening it.
* Stop crash with old libsoups, kill warning with never onesJosh Rickmar2012-08-311-0/+2
| | | | Reported by Thomas in the irc channel
* Fix back/forward handling with about pages.Josh Rickmar2012-08-291-2/+4
| | | | | | | | | This change makes the can_go_* and go_* back/forward functions use the same logic when determining whether we are on an about page, and makes it so about:secviolation warning pages do not save the page that generated the warning to t->item. This prevents hitting back and going back to the exact same page that generated the warning (triggering the warning a second time).
* Fix issues with marco's back/forward list hackJosh Rickmar2012-08-281-17/+37
| | | | | | | | This should incorporate all the fixes in my previous back/forward list change, but still uses marco's horrible hack for determining if and how back/forward works. Code is still ugly but deal with it. Any remaining issues will be worked out in-tree.
* Backout the recent back/forward list changesJosh Rickmar2012-08-281-19/+127
| | | | | | This changed worked wonders for me but others still saw some problems. I could not reproduce any of them. This will bring back some problems with refresh not working again, but I'll work around that next.
* Fix cert checking thread to make sure t is always still validJosh Rickmar2012-08-241-8/+4
|
* Specify action for the policy when returning TRUE from npd cbJosh Rickmar2012-08-241-2/+7
|
* Fix the build when using some older glib and gtk versionsJosh Rickmar2012-08-241-0/+2
|
* Make the arrow menu work againJosh Rickmar2012-08-231-5/+5
|
* Marco wants new tabs only when middle-clicking (or ctrl-click)Josh Rickmar2012-08-231-8/+2
|
* Fix the logic for following links and opening new tabs.Josh Rickmar2012-08-231-3/+7
|
* Only allow loading of whitelisted valid uri typesJosh Rickmar2012-08-231-0/+6
| | | | | | This should prevent bait and switch attacks when using data: or javascript: uris (see http://lcamtuf.coredump.cx/switch/ for an example of the attack).
* Remove some deprecated signalsJosh Rickmar2012-08-221-14/+12
| | | | | | This stops the webview's deprecated load-finished and load-progress-changed signals from being attached to. May help with stability.
* Redo the back/forward list hackJosh Rickmar2012-08-211-127/+19
| | | | Much simpler, and less buggy.
* Remove duplicate codeJosh Rickmar2012-08-061-11/+3
| | | | | | Now that wl_add works correctly (doesn't automatically insert leading periods), remove the old struct sv_ignore and use struct domain and wl_add/wl_find instead.
* Add a favedit command and remove rm links from :favJosh Rickmar2012-08-061-2/+3
| | | | | | | | This makes using :fav with link hinting less likely to accidentally remove an entry by typing the wrong number. The old favorites page with the rm links is still available by using the favedit command. Patch slightly modified from a patch provide by user wallex on FS.
* ref/unref t->active before it is set or unsetJosh Rickmar2012-08-201-0/+2
| | | | | | | This should fix any crashes when determining if t->active is an active input element or not. The pointer is from a function which returns transfer none, so if we want to keep it alive (we do), we need manually add reference to it, and unrefernce it so it is freed.
* Make middle click to paste work in t->cmdJosh Rickmar2012-08-171-5/+8
| | | | | This reorders some gtk calls and adds another to unset the text in the GtkEntry before showing it.
* Destroy the session key when done with it.Josh Rickmar2012-08-161-5/+18
| | | | | This prevents sites from even being able to correctly guess an xtp session key.
* Give each tab its own session key for xtp links.Josh Rickmar2012-08-161-7/+9
| | | | While here, kill a bunch of trailing whitespace.
* Add more info and features to about:secviolationJosh Rickmar2012-08-151-0/+62
| | | | | | This adds the full url to the about:secviolation warning page, as well as implementing a new link to show the local cached cert instead of only the new remote one.
* Undo the backout of all the inputfocus changes.Josh Rickmar2012-08-141-9/+27
| | | | | | We thought these were the cause of the focus bugs, but it was something else instead. Now that we have that fixed, these can go back in.
* Send a fake focus-in event to fix the focus.Josh Rickmar2012-08-091-13/+79
| | | | | We probably shouldn't be relying on internal gtk functions (especially since we can't link to them on linux), so try this instead.
* Backout commitsJosh Rickmar2012-08-091-26/+13
| | | | | | | Accidentally pushed a bunch of stuff to master that wasn't ready yet when making the FreeBSD Makefile changes. Sorry marco for the merges in the logs. This should revert everything back to how it was at d397399c349d36f611a5aac6fa53528d2fe2eaea.
* Unref t->completion when deleting a tab to destroy the completionJosh Rickmar2012-08-071-0/+2
| | | | window.
* Destroy a hidden arrow menu instead of simply unreferencing it. ThisJosh Rickmar2012-08-071-6/+10
| | | | | keeps the toplevel window count from incrementing each time the arrow is clicked.
* Only hide when switching switching tabsJosh Rickmar2012-08-061-4/+6
| | | | | | | | | We need to hide t->cmd, t->oops, and t->buffers when creating a new tab, because when the tab is switched to, they are automatically hidden in the notebook callback. Removing this also prevents focusing the url GtkEntry when using middle click to create a new tab, since t->focus_wv would not have been set to 1 yet in the create_new_tab() function.
* Attach t->cmd to the hide signal to focus t->wvJosh Rickmar2012-08-061-7/+12
| | | | | | Whenever t->cmd is hidden we need to make a decision about what to focus (in most cases, the webview). Before this may not have always happened if t->cmd was hidden and no focus was explicitly set.
* Prevent expanding tabs when using the P keybinding.Josh Rickmar2012-08-021-0/+6
| | | | | | | | This change modifies the paste_uri function to change all newlines in the uri with spaces. This stops the new tab from expanding to twice it's correct height when using the P command, if pasting a link that contains any newlines (usually these would come from copying the newline out of a terminal).
* Add a :https commandJosh Rickmar2012-08-011-0/+13
|
* Backout all changes I've made to inputfocus.c.Josh Rickmar2012-08-021-27/+9
| | | | | | | It was likely something from one of these changes that introduced all of our focus bugs. We can reintroduce these commits again, much slower than as I first developed them, and see if the focus issues still appear.
* Implement an about:runtime page and :runtime command to view andJosh Rickmar2012-07-311-8/+59
| | | | | | change runtime settings. Settings that have been modified show in a highlighted color in the table. Tooltips describe the setting's function, as well as the default values.
* More focus improvements. Disable the can-focus property for a lot ofJosh Rickmar2012-07-271-9/+15
| | | | | | widgets that should not be receiving focus, and try focusing the HTML body to try to prevent some of the focus bugs that have been popping up. No idea if this will solve our problems but they can't hurt.
* Add a force_https setting (using the same domain syntax as theJosh Rickmar2012-07-311-7/+37
| | | | | | | | | | | | | | | whitelist settings) to make all requests to that domain use the HTTPS scheme, similar to HSTS. Install a new file, hsts-preload, into the resource dir. This is a regular config file with a bunch of force_https = ... lines, which is used to implement a preloaded HSTS list. Right now all the domains in this file, except for conformal.com and cyphertite.com, are taken directly from chromium's preloaded HSTS list (and should be synced with this file every so often). Also implement a new setting, preload_strict_transport (enabled by default), to enable or disable the loading of this preloaded HSTS list. Document force_https and preload_strict_transport in the manpage.
* vasprintf -> g_strdup_vprintfJosh Rickmar2012-07-261-2/+2
|
* two more free() -> g_free(); ok jrickTodd T. Fries2012-07-261-3/+2
|
* Remove malloc callsJosh Rickmar2012-07-261-7/+5
|