summaryrefslogtreecommitdiffstats
path: root/base/linux_util.h
Commit message (Collapse)AuthorAgeFilesLines
* Create a new SetuidSandboxClient class.jln@chromium.org2012-07-231-5/+0
| | | | | | | | | | | | We move the setuid sandbox "client" code to its own location in /sandbox/linux/suid/client and we create a SetuidSandboxClient class to use it. NOTRY=true Review URL: https://chromiumcodereview.appspot.com/10807059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147993 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the rest of #pragma once in one big CL.ajwong@chromium.org2012-07-111-1/+0
| | | | | | | | | For context see this thread: https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-dev/RMcVNGjB4II TBR=thakis,pkasting,jam git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146163 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Move some const char definitions to the .cc file. (try 2)thestig@chromium.org2012-06-131-4/+4
| | | | | | | | | BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10535141 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142013 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 141810 - Cleanup: Move some const char definitions to the .cc file.cpu@chromium.org2012-06-131-4/+5
| | | | | | | | | | | | BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10539099 TBR=thestig@chromium.org Review URL: https://chromiumcodereview.appspot.com/10543130 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141823 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Move some const char definitions to the .cc file.thestig@chromium.org2012-06-131-5/+4
| | | | | | | | | BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10539099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141810 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: bump the setuid sandbox API numberjln@chromium.org2012-06-051-1/+1
| | | | | | | | | | | | | | | | | With this change, the setuid sandbox and the Zygote will start complaining if they expect different API versions. Users will get warning messages if their setuid sandbox is too old and be referred to: https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10536009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140613 0039d316-1c4b-4281-b951-d872f2087c98
* Setuid sandbox API versioningjln@chromium.org2012-06-051-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We introduce API versioning to the setuid sandbox and issue warnings when the versions Chrome and the Sandbox expect are different. 1. The Zygote launcher in the browser will export the API version it expects to the environment. 2. The setuid sandbox will match its own version with the one in the environment. 3. Afterwards, it will export the API it provides to the environment for the sandboxed process. 4. The Zygote (the sandboxed process) will in turn check for the API number. The double check is needed because a version of the browser or of the setuid sandbox that does check for API could co-exist with a version that does not. The various utilities that are part of the setuid sandbox are not versioned because they have callers that are external to Chrome (in ChromeOS). When environment variables are not found, we assume version 0. Since the API is for now set to 0, this change will not produce any warning at the moment. BUG=None TEST=None Review URL: https://chromiumcodereview.appspot.com/10492006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140456 0039d316-1c4b-4281-b951-d872f2087c98
* Rename BASE_API to BASE_EXPORT.darin@chromium.org2011-08-051-9/+9
| | | | | | | R=rvargas Review URL: http://codereview.chromium.org/7461141 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95618 0039d316-1c4b-4281-b951-d872f2087c98
* Always search TIDs for the crashing processes.kmixter@chromium.org2011-06-211-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Kernels newer than 2.6.32 support TID and PID namespacing where processes' view of their TIDs and PIDs are not globally unique or externally meaningful. We have workarounds to find the TID and PID of the crashing process from outside in the browser process. However, we were only assuming TID namespacing was happening if PID namespacing was enabled and the kernel had a bug that was fixed since 2.6.38. This change causes us to always treat the TID as subject to namespacing. Our trick to find the TID relies on a procfs feature added in 2008. We assume if that feature is not yet present that the TID translation is not necessary. This fixes the bug where all crashes of non-browser processes on Linux 2.6.38+ (Chrome OS r13+) are unusable (result in UnspecifiedStackSignature). BUG=chromium-os:15462 TEST=Do about:crash on 2.6.38 kernel and verify proper tid listed in MDException block Review URL: http://codereview.chromium.org/7190019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89795 0039d316-1c4b-4281-b951-d872f2087c98
* Add BASE_API to the remaining functions in linux_util.bryner@chromium.org2011-05-261-5/+6
| | | | | | | | | | | These symbols are used by chrome/browser/crash_handler_host_linux.cc when building with branding==Chrome, so they need to be exported for shared-library builds to work in that configuration. BUG=none TEST=builds Review URL: http://codereview.chromium.org/7076007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86782 0039d316-1c4b-4281-b951-d872f2087c98
* linux: components buildevan@chromium.org2011-05-021-2/+4
| | | | | | | | Reapply r83630, r83629, r83583, and fix the one compile error. TBR=rvargas git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83740 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 83629 - linux components: expose more BASE_API used by Chrome itselfmaf@chromium.org2011-04-301-4/+2
| | | | | | | | | Review URL: http://codereview.chromium.org/6902177 TBR=evan@chromium.org Review URL: http://codereview.chromium.org/6903159 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83635 0039d316-1c4b-4281-b951-d872f2087c98
* linux components: expose more BASE_API used by Chrome itselfevan@chromium.org2011-04-291-2/+4
| | | | | | Review URL: http://codereview.chromium.org/6902177 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83629 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/win_util to the base/win directory and use the base::win namespace.brettw@google.com2010-12-311-2/+1
| | | | | | | | | Fix up includes, many files including base/win_util don't actually need it. TEST=it compiles BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70341 0039d316-1c4b-4281-b951-d872f2087c98
* Make crash reporting client_id accessible through child_process_logging.mnissler@chromium.org2010-08-261-0/+7
| | | | | | | | | | | | | | | | | | On Mac and Linux, keep the client id in a global variable kept by the child_process_logging implementations. This allows to read it in a thread safe fashion when starting a child process. Also replace std::string with statically allocated buffers for the various items we add to the crash reports. This allows to properly handle crashes upon shutdown (std::string would run its destructor, invalidating the memory). BUG=53231 TEST=Crash reporting should still work Review URL: http://codereview.chromium.org/3186028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57497 0039d316-1c4b-4281-b951-d872f2087c98
* Remove obviously unneeded forward declarations from headers under ↵viettrungluu@chromium.org2010-08-211-2/+0
| | | | | | | | | | | src/{app,base,net}. BUG=none TEST=builds Review URL: http://codereview.chromium.org/3136025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56995 0039d316-1c4b-4281-b951-d872f2087c98
* base: Rename EnvVarGetter to Environment.tfarina@chromium.org2010-08-031-2/+0
| | | | | | | | | | | | | | | Now EnvVarGetter do much more than getting environment variables. Per suggestion from Pawel in http://codereview.chromium.org/3043018/. BUG=None TEST=trybots Signed-off-by: Thiago Farina <tfarina@chromium.org> Review URL: http://codereview.chromium.org/3052034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54696 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-261-0/+1
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Guess the thread id for crashing renderers in a different PID namespace.thestig@chromium.org2010-07-161-0/+6
| | | | | | | | BUG=48997 TEST=Google Chrome gets valid crash reports for about:crash most of the time. Review URL: http://codereview.chromium.org/2961008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52723 0039d316-1c4b-4281-b951-d872f2087c98
* Move non-linux specific code from base/linux_util to app/gtk_utilpvalchev@google.com2010-05-131-5/+0
| | | | | | | | from sprewell Review URL: http://codereview.chromium.org/2058004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47201 0039d316-1c4b-4281-b951-d872f2087c98
* bsd: refactor XDG bits of linux_util into a shared file.evan@chromium.org2010-04-221-39/+0
| | | | | | | | | This allows the shared code to build on the BSDs without them needing to build _linux files. Review URL: http://codereview.chromium.org/1701005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45380 0039d316-1c4b-4281-b951-d872f2087c98
* GTK: Improve xfce detection.erg@chromium.org2010-04-151-1/+2
| | | | | | | | | | | | On Hardy, the DESKTOP_SESSION environment variable is "xfce4" but on Karmic, it is "xfce" BUG=none TEST=none Review URL: http://codereview.chromium.org/1572042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44698 0039d316-1c4b-4281-b951-d872f2087c98
* Move EnvironmentVariableGetter from base/linux_util.h to base/env_var.h and ↵thestig@chromium.org2010-04-031-23/+12
| | | | | | | | | | rename it EnvVarGetter. Label base::SysInfo::{Get,Has}EnvVar as deprecated. BUG=none TEST=none Review URL: http://codereview.chromium.org/1606007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43559 0039d316-1c4b-4281-b951-d872f2087c98
* GTK: Turn on the GTK+ integration by default.erg@chromium.org2010-03-261-0/+1
| | | | | | | | | | | | | | This will regress default startup time for users by 50ms. This doesn't matter because this is what the users want--I've lost count of the number bloggers, people on twitter, and people in our IRC channel complaining about the lack of GTK+ integration...when it's just not on by default. BUG=none TEST=none Review URL: http://codereview.chromium.org/1442001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42804 0039d316-1c4b-4281-b951-d872f2087c98
* Move some XDG code from chrome to base, make DIR_USER_CACHE generic rather ↵thestig@chromium.org2009-12-021-0/+19
| | | | | | | | | | than Chromium specific, and clean up a few headers. BUG=none TEST=none Review URL: http://codereview.chromium.org/449048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33565 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for getting the real process id from within the suid sandbox. ↵thestig@chromium.org2009-11-041-0/+2
| | | | | | | | | | | | | | | | | | The browser processes gets the real process ids, so they look correct in the task manager. When it asks the zygote to reap a process, we use the process ids internal to the sandbox. While we are at it, reap the sandbox process after it clones the zygote and figure out zygote's actual process id. Save the actual process id rather than that of the sandbox. Original review: http://codereview.chromium.org/262020 This is try 2 - initialize the sandbox host and zygote for InProcessBrowserTest. TBR=agl BUG=20012, 20714, 23072 TEST=Process IDs for renderers should be correct in the task manager and you should be able to use the end process button to kill them. Review URL: http://codereview.chromium.org/361002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30948 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 30938 - Add support for getting the real process id from within the ↵thestig@chromium.org2009-11-041-2/+0
| | | | | | | | | | | | | suid sandbox. The browser processes gets the real process ids, so they look correct in the task manager. When it asks the zygote to reap a process, we use the process ids internal to the sandbox. While we are at it, reap the sandbox process after it clones the zygote and figure out zygote's actual process id. Save the actual process id rather than that of the sandbox. BUG=20012,20714,23072 TEST=Process IDs for renderers should be correct in the task manager and you should be able to use the end process button to kill them. Review URL: http://codereview.chromium.org/262020 Review URL: http://codereview.chromium.org/359001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30939 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for getting the real process id from within the suid sandbox. ↵thestig@chromium.org2009-11-041-0/+2
| | | | | | | | | | | | The browser processes gets the real process ids, so they look correct in the task manager. When it asks the zygote to reap a process, we use the process ids internal to the sandbox. While we are at it, reap the sandbox process after it clones the zygote and figure out zygote's actual process id. Save the actual process id rather than that of the sandbox. BUG=20012,20714,23072 TEST=Process IDs for renderers should be correct in the task manager and you should be able to use the end process button to kill them. Review URL: http://codereview.chromium.org/262020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30938 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Add missing include.craig.schlenter@chromium.org2009-10-291-0/+1
| | | | | | | | sys/types.h is needed for ino_t. Review URL: http://codereview.chromium.org/339066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30477 0039d316-1c4b-4281-b951-d872f2087c98
* Move FileDescriptorGetInode() and FindProcessHoldingSocket() into ↵thestig@chromium.org2009-10-291-0/+7
| | | | | | | | | | base/linux_util.cc. Reimplement FileDescriptorGetInode(). BUG=none TEST=none Review URL: http://codereview.chromium.org/312002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30433 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: make the "change proxy settings" button able to start several proxy ↵mdm@chromium.org2009-08-201-1/+10
| | | | | | | | | | | | config utilities. Currently it still only ever starts gnome-network-properties but it is now easy to update. BUG=none TEST=none Review URL: http://codereview.chromium.org/174106 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23910 0039d316-1c4b-4281-b951-d872f2087c98
* linux: generalize desktop environment guessing to encompass KDEevan@chromium.org2009-07-231-5/+11
| | | | | | | | BUG=17363 Review URL: http://codereview.chromium.org/159297 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21455 0039d316-1c4b-4281-b951-d872f2087c98
* Try again: Add proxy config (using gnome-network-preferences)mattm@chromium.org2009-07-221-0/+18
| | | | | | | | | BUG=11507 TEST=Open options, click change proxy, gnome-network-preferences should launch.  If gnome isn't installed or running, LinuxProxyConfig wiki page should load. Review URL: http://codereview.chromium.org/155792 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21246 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Add proxy config (using gnome-network-preferences)"mattm@chromium.org2009-07-181-6/+0
| | | | | | | | This reverts commit d06bc0c855b1e81e36c7bfc9bef342eb358d99a5. TBR=estade git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21033 0039d316-1c4b-4281-b951-d872f2087c98
* Add proxy config (using gnome-network-preferences)mattm@chromium.org2009-07-171-0/+6
| | | | | | | | | BUG=11507 TEST=Open options, click change proxy, gnome-network-preferences should launch. If gnome isn't installed, LinuxProxyConfig wiki page should load. Review URL: http://codereview.chromium.org/149785 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21023 0039d316-1c4b-4281-b951-d872f2087c98
* Include output of "lsb_release -d" in crash reports.thestig@chromium.org2009-07-171-0/+6
| | | | | | | | | /etc/lsb-release does not exist on all distros, and sometimes it does not provide any useful info. Whereas all LSB complaint distros return useful data with the lsb_release command. Review URL: http://codereview.chromium.org/155653 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20936 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate a circular dependency by making BGRAToRGBA() generic (no pulling ↵sgk@google.com2009-04-211-0/+19
in guchar from gtk.h) and moving it from base/gfx to base. Review URL: http://codereview.chromium.org/87016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14117 0039d316-1c4b-4281-b951-d872f2087c98