]> git.saurik.com Git - apple/securityd.git/commitdiff
securityd-40600.tar.gz v40600
authorApple <opensource@apple.com>
Thu, 16 Dec 2010 19:02:07 +0000 (19:02 +0000)
committerApple <opensource@apple.com>
Thu, 16 Dec 2010 19:02:07 +0000 (19:02 +0000)
securityd.xcodeproj/local.mode1v3 [deleted file]
securityd.xcodeproj/local.pbxuser [deleted file]
securityd.xcodeproj/project.pbxproj
src/entropy.cpp
src/server.cpp

diff --git a/securityd.xcodeproj/local.mode1v3 b/securityd.xcodeproj/local.mode1v3
deleted file mode 100644 (file)
index aa8ba5f..0000000
+++ /dev/null
@@ -1,1351 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-       <key>ActivePerspectiveName</key>
-       <string>Project</string>
-       <key>AllowedModules</key>
-       <array>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXSmartGroupTreeModule</string>
-                       <key>Name</key>
-                       <string>Groups and Files Outline View</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXNavigatorGroup</string>
-                       <key>Name</key>
-                       <string>Editor</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>XCTaskListModule</string>
-                       <key>Name</key>
-                       <string>Task List</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>XCDetailModule</string>
-                       <key>Name</key>
-                       <string>File and Smart Group Detail Viewer</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>1</string>
-                       <key>Module</key>
-                       <string>PBXBuildResultsModule</string>
-                       <key>Name</key>
-                       <string>Detailed Build Results Viewer</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>1</string>
-                       <key>Module</key>
-                       <string>PBXProjectFindModule</string>
-                       <key>Name</key>
-                       <string>Project Batch Find Tool</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>XCProjectFormatConflictsModule</string>
-                       <key>Name</key>
-                       <string>Project Format Conflicts List</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXBookmarksModule</string>
-                       <key>Name</key>
-                       <string>Bookmarks Tool</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXClassBrowserModule</string>
-                       <key>Name</key>
-                       <string>Class Browser</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXCVSModule</string>
-                       <key>Name</key>
-                       <string>Source Code Control Tool</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXDebugBreakpointsModule</string>
-                       <key>Name</key>
-                       <string>Debug Breakpoints Tool</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>XCDockableInspector</string>
-                       <key>Name</key>
-                       <string>Inspector</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>PBXOpenQuicklyModule</string>
-                       <key>Name</key>
-                       <string>Open Quickly Tool</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>1</string>
-                       <key>Module</key>
-                       <string>PBXDebugSessionModule</string>
-                       <key>Name</key>
-                       <string>Debugger</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>1</string>
-                       <key>Module</key>
-                       <string>PBXDebugCLIModule</string>
-                       <key>Name</key>
-                       <string>Debug Console</string>
-               </dict>
-               <dict>
-                       <key>BundleLoadPath</key>
-                       <string></string>
-                       <key>MaxInstances</key>
-                       <string>n</string>
-                       <key>Module</key>
-                       <string>XCSnapshotModule</string>
-                       <key>Name</key>
-                       <string>Snapshots Tool</string>
-               </dict>
-       </array>
-       <key>BundlePath</key>
-       <string>/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources</string>
-       <key>Description</key>
-       <string>DefaultDescriptionKey</string>
-       <key>DockingSystemVisible</key>
-       <false/>
-       <key>Extension</key>
-       <string>mode1v3</string>
-       <key>FavBarConfig</key>
-       <dict>
-               <key>PBXProjectModuleGUID</key>
-               <string>722772EF1251249800BFBD22</string>
-               <key>XCBarModuleItemNames</key>
-               <dict/>
-               <key>XCBarModuleItems</key>
-               <array/>
-       </dict>
-       <key>FirstTimeWindowDisplayed</key>
-       <false/>
-       <key>Identifier</key>
-       <string>com.apple.perspectives.project.mode1v3</string>
-       <key>MajorVersion</key>
-       <integer>33</integer>
-       <key>MinorVersion</key>
-       <integer>0</integer>
-       <key>Name</key>
-       <string>Default</string>
-       <key>Notifications</key>
-       <array/>
-       <key>OpenEditors</key>
-       <array/>
-       <key>PerspectiveWidths</key>
-       <array>
-               <integer>-1</integer>
-               <integer>-1</integer>
-       </array>
-       <key>Perspectives</key>
-       <array>
-               <dict>
-                       <key>ChosenToolbarItems</key>
-                       <array>
-                               <string>active-combo-popup</string>
-                               <string>action</string>
-                               <string>NSToolbarFlexibleSpaceItem</string>
-                               <string>debugger-enable-breakpoints</string>
-                               <string>buildOrClean</string>
-                               <string>build-and-go</string>
-                               <string>com.apple.ide.PBXToolbarStopButton</string>
-                               <string>get-info</string>
-                               <string>NSToolbarFlexibleSpaceItem</string>
-                               <string>com.apple.pbx.toolbar.searchfield</string>
-                       </array>
-                       <key>ControllerClassBaseName</key>
-                       <string></string>
-                       <key>IconName</key>
-                       <string>WindowOfProjectWithEditor</string>
-                       <key>Identifier</key>
-                       <string>perspective.project</string>
-                       <key>IsVertical</key>
-                       <false/>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>BecomeActive</key>
-                                       <true/>
-                                       <key>ContentConfiguration</key>
-                                       <dict>
-                                               <key>PBXBottomSmartGroupGIDs</key>
-                                               <array>
-                                                       <string>1C37FBAC04509CD000000102</string>
-                                                       <string>1C37FAAC04509CD000000102</string>
-                                                       <string>1C37FABC05509CD000000102</string>
-                                                       <string>1C37FABC05539CD112110102</string>
-                                                       <string>E2644B35053B69B200211256</string>
-                                                       <string>1C37FABC04509CD000100104</string>
-                                                       <string>1CC0EA4004350EF90044410B</string>
-                                                       <string>1CC0EA4004350EF90041110B</string>
-                                               </array>
-                                               <key>PBXProjectModuleGUID</key>
-                                               <string>1CE0B1FE06471DED0097A5F4</string>
-                                               <key>PBXProjectModuleLabel</key>
-                                               <string>Files</string>
-                                               <key>PBXProjectStructureProvided</key>
-                                               <string>yes</string>
-                                               <key>PBXSmartGroupTreeModuleColumnData</key>
-                                               <dict>
-                                                       <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
-                                                       <array>
-                                                               <real>186</real>
-                                                       </array>
-                                                       <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
-                                                       <array>
-                                                               <string>MainColumn</string>
-                                                       </array>
-                                               </dict>
-                                               <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
-                                               <dict>
-                                                       <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
-                                                       <array>
-                                                               <string>4CA1FEAC052A3C5800F22E42</string>
-                                                               <string>1C37FABC05509CD000000102</string>
-                                                       </array>
-                                                       <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
-                                                       <array>
-                                                               <array>
-                                                                       <integer>0</integer>
-                                                               </array>
-                                                       </array>
-                                                       <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
-                                                       <string>{{0, 0}, {186, 445}}</string>
-                                               </dict>
-                                               <key>PBXTopSmartGroupGIDs</key>
-                                               <array/>
-                                               <key>XCIncludePerspectivesSwitch</key>
-                                               <true/>
-                                               <key>XCSharingToken</key>
-                                               <string>com.apple.Xcode.GFSharingToken</string>
-                                       </dict>
-                                       <key>GeometryConfiguration</key>
-                                       <dict>
-                                               <key>Frame</key>
-                                               <string>{{0, 0}, {203, 463}}</string>
-                                               <key>GroupTreeTableConfiguration</key>
-                                               <array>
-                                                       <string>MainColumn</string>
-                                                       <real>186</real>
-                                               </array>
-                                               <key>RubberWindowFrame</key>
-                                               <string>566 520 788 504 0 0 1920 1178 </string>
-                                       </dict>
-                                       <key>Module</key>
-                                       <string>PBXSmartGroupTreeModule</string>
-                                       <key>Proportion</key>
-                                       <string>203pt</string>
-                               </dict>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CE0B20306471E060097A5F4</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>MyNewFile14.java</string>
-                                                               <key>PBXSplitModuleInNavigatorKey</key>
-                                                               <dict>
-                                                                       <key>Split0</key>
-                                                                       <dict>
-                                                                               <key>PBXProjectModuleGUID</key>
-                                                                               <string>1CE0B20406471E060097A5F4</string>
-                                                                               <key>PBXProjectModuleLabel</key>
-                                                                               <string>MyNewFile14.java</string>
-                                                                       </dict>
-                                                                       <key>SplitCount</key>
-                                                                       <string>1</string>
-                                                               </dict>
-                                                               <key>StatusBarVisibility</key>
-                                                               <true/>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {580, 269}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>566 520 788 504 0 0 1920 1178 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXNavigatorGroup</string>
-                                                       <key>Proportion</key>
-                                                       <string>269pt</string>
-                                               </dict>
-                                               <dict>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CE0B20506471E060097A5F4</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Detail</string>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 274}, {580, 189}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>566 520 788 504 0 0 1920 1178 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>XCDetailModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>189pt</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>580pt</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Project</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>XCModuleDock</string>
-                               <string>PBXSmartGroupTreeModule</string>
-                               <string>XCModuleDock</string>
-                               <string>PBXNavigatorGroup</string>
-                               <string>XCDetailModule</string>
-                       </array>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>72E29A9712512BCC008F8FC4</string>
-                               <string>1CE0B1FE06471DED0097A5F4</string>
-                               <string>72E29A9812512BCC008F8FC4</string>
-                               <string>1CE0B20306471E060097A5F4</string>
-                               <string>1CE0B20506471E060097A5F4</string>
-                       </array>
-                       <key>ToolbarConfigUserDefaultsMinorVersion</key>
-                       <string>2</string>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.defaultV3</string>
-               </dict>
-               <dict>
-                       <key>ControllerClassBaseName</key>
-                       <string></string>
-                       <key>IconName</key>
-                       <string>WindowOfProject</string>
-                       <key>Identifier</key>
-                       <string>perspective.morph</string>
-                       <key>IsVertical</key>
-                       <integer>0</integer>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>BecomeActive</key>
-                                       <integer>1</integer>
-                                       <key>ContentConfiguration</key>
-                                       <dict>
-                                               <key>PBXBottomSmartGroupGIDs</key>
-                                               <array>
-                                                       <string>1C37FBAC04509CD000000102</string>
-                                                       <string>1C37FAAC04509CD000000102</string>
-                                                       <string>1C08E77C0454961000C914BD</string>
-                                                       <string>1C37FABC05509CD000000102</string>
-                                                       <string>1C37FABC05539CD112110102</string>
-                                                       <string>E2644B35053B69B200211256</string>
-                                                       <string>1C37FABC04509CD000100104</string>
-                                                       <string>1CC0EA4004350EF90044410B</string>
-                                                       <string>1CC0EA4004350EF90041110B</string>
-                                               </array>
-                                               <key>PBXProjectModuleGUID</key>
-                                               <string>11E0B1FE06471DED0097A5F4</string>
-                                               <key>PBXProjectModuleLabel</key>
-                                               <string>Files</string>
-                                               <key>PBXProjectStructureProvided</key>
-                                               <string>yes</string>
-                                               <key>PBXSmartGroupTreeModuleColumnData</key>
-                                               <dict>
-                                                       <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
-                                                       <array>
-                                                               <real>186</real>
-                                                       </array>
-                                                       <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
-                                                       <array>
-                                                               <string>MainColumn</string>
-                                                       </array>
-                                               </dict>
-                                               <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
-                                               <dict>
-                                                       <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
-                                                       <array>
-                                                               <string>29B97314FDCFA39411CA2CEA</string>
-                                                               <string>1C37FABC05509CD000000102</string>
-                                                       </array>
-                                                       <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
-                                                       <array>
-                                                               <array>
-                                                                       <integer>0</integer>
-                                                               </array>
-                                                       </array>
-                                                       <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
-                                                       <string>{{0, 0}, {186, 337}}</string>
-                                               </dict>
-                                               <key>PBXTopSmartGroupGIDs</key>
-                                               <array/>
-                                               <key>XCIncludePerspectivesSwitch</key>
-                                               <integer>1</integer>
-                                               <key>XCSharingToken</key>
-                                               <string>com.apple.Xcode.GFSharingToken</string>
-                                       </dict>
-                                       <key>GeometryConfiguration</key>
-                                       <dict>
-                                               <key>Frame</key>
-                                               <string>{{0, 0}, {203, 355}}</string>
-                                               <key>GroupTreeTableConfiguration</key>
-                                               <array>
-                                                       <string>MainColumn</string>
-                                                       <real>186</real>
-                                               </array>
-                                               <key>RubberWindowFrame</key>
-                                               <string>373 269 690 397 0 0 1440 878 </string>
-                                       </dict>
-                                       <key>Module</key>
-                                       <string>PBXSmartGroupTreeModule</string>
-                                       <key>Proportion</key>
-                                       <string>100%</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Morph</string>
-                       <key>PreferredWidth</key>
-                       <integer>300</integer>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>XCModuleDock</string>
-                               <string>PBXSmartGroupTreeModule</string>
-                       </array>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>11E0B1FE06471DED0097A5F4</string>
-                       </array>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.default.shortV3</string>
-               </dict>
-       </array>
-       <key>PerspectivesBarVisible</key>
-       <false/>
-       <key>ShelfIsVisible</key>
-       <false/>
-       <key>SourceDescription</key>
-       <string>file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string>
-       <key>StatusbarIsVisible</key>
-       <true/>
-       <key>TimeStamp</key>
-       <real>0.0</real>
-       <key>ToolbarConfigUserDefaultsMinorVersion</key>
-       <string>2</string>
-       <key>ToolbarDisplayMode</key>
-       <integer>1</integer>
-       <key>ToolbarIsVisible</key>
-       <true/>
-       <key>ToolbarSizeMode</key>
-       <integer>1</integer>
-       <key>Type</key>
-       <string>Perspectives</string>
-       <key>UpdateMessage</key>
-       <string>The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature).  You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature.  Do you wish to update to the latest Workspace defaults for project '%@'?</string>
-       <key>WindowJustification</key>
-       <integer>5</integer>
-       <key>WindowOrderList</key>
-       <array>
-               <string>722772F31251249800BFBD22</string>
-               <string>722772F01251249800BFBD22</string>
-               <string>/Users/local/Desktop/SnowLeopardSU/securityd/securityd.xcodeproj</string>
-       </array>
-       <key>WindowString</key>
-       <string>566 520 788 504 0 0 1920 1178 </string>
-       <key>WindowToolsV3</key>
-       <array>
-               <dict>
-                       <key>FirstTimeWindowDisplayed</key>
-                       <false/>
-                       <key>Identifier</key>
-                       <string>windowTool.build</string>
-                       <key>IsVertical</key>
-                       <true/>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CD0528F0623707200166675</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string></string>
-                                                               <key>StatusBarVisibility</key>
-                                                               <true/>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {500, 218}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>587 501 500 500 0 0 1920 1178 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXNavigatorGroup</string>
-                                                       <key>Proportion</key>
-                                                       <string>218pt</string>
-                                               </dict>
-                                               <dict>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>XCMainBuildResultsModuleGUID</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Build Results</string>
-                                                               <key>XCBuildResultsTrigger_Collapse</key>
-                                                               <integer>1021</integer>
-                                                               <key>XCBuildResultsTrigger_Open</key>
-                                                               <integer>1011</integer>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 223}, {500, 236}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>587 501 500 500 0 0 1920 1178 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXBuildResultsModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>236pt</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>459pt</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Build Results</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXBuildResultsModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <true/>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>722772F31251249800BFBD22</string>
-                               <string>72E29A9912512BCC008F8FC4</string>
-                               <string>1CD0528F0623707200166675</string>
-                               <string>XCMainBuildResultsModuleGUID</string>
-                       </array>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.buildV3</string>
-                       <key>WindowContentMinSize</key>
-                       <string>486 300</string>
-                       <key>WindowString</key>
-                       <string>587 501 500 500 0 0 1920 1178 </string>
-                       <key>WindowToolGUID</key>
-                       <string>722772F31251249800BFBD22</string>
-                       <key>WindowToolIsVisible</key>
-                       <false/>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.debugger</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>Debugger</key>
-                                                               <dict>
-                                                                       <key>HorizontalSplitView</key>
-                                                                       <dict>
-                                                                               <key>_collapsingFrameDimension</key>
-                                                                               <real>0.0</real>
-                                                                               <key>_indexOfCollapsedView</key>
-                                                                               <integer>0</integer>
-                                                                               <key>_percentageOfCollapsedView</key>
-                                                                               <real>0.0</real>
-                                                                               <key>isCollapsed</key>
-                                                                               <string>yes</string>
-                                                                               <key>sizes</key>
-                                                                               <array>
-                                                                                       <string>{{0, 0}, {317, 164}}</string>
-                                                                                       <string>{{317, 0}, {377, 164}}</string>
-                                                                               </array>
-                                                                       </dict>
-                                                                       <key>VerticalSplitView</key>
-                                                                       <dict>
-                                                                               <key>_collapsingFrameDimension</key>
-                                                                               <real>0.0</real>
-                                                                               <key>_indexOfCollapsedView</key>
-                                                                               <integer>0</integer>
-                                                                               <key>_percentageOfCollapsedView</key>
-                                                                               <real>0.0</real>
-                                                                               <key>isCollapsed</key>
-                                                                               <string>yes</string>
-                                                                               <key>sizes</key>
-                                                                               <array>
-                                                                                       <string>{{0, 0}, {694, 164}}</string>
-                                                                                       <string>{{0, 164}, {694, 216}}</string>
-                                                                               </array>
-                                                                       </dict>
-                                                               </dict>
-                                                               <key>LauncherConfigVersion</key>
-                                                               <string>8</string>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1C162984064C10D400B95A72</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Debug - GLUTExamples (Underwater)</string>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>DebugConsoleDrawerSize</key>
-                                                               <string>{100, 120}</string>
-                                                               <key>DebugConsoleVisible</key>
-                                                               <string>None</string>
-                                                               <key>DebugConsoleWindowFrame</key>
-                                                               <string>{{200, 200}, {500, 300}}</string>
-                                                               <key>DebugSTDIOWindowFrame</key>
-                                                               <string>{{200, 200}, {500, 300}}</string>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {694, 380}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>321 238 694 422 0 0 1440 878 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXDebugSessionModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>100%</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>100%</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Debugger</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXDebugSessionModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>1</integer>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>1CD10A99069EF8BA00B06720</string>
-                               <string>1C0AD2AB069F1E9B00FABCE6</string>
-                               <string>1C162984064C10D400B95A72</string>
-                               <string>1C0AD2AC069F1E9B00FABCE6</string>
-                       </array>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.debugV3</string>
-                       <key>WindowString</key>
-                       <string>321 238 694 422 0 0 1440 878 </string>
-                       <key>WindowToolGUID</key>
-                       <string>1CD10A99069EF8BA00B06720</string>
-                       <key>WindowToolIsVisible</key>
-                       <integer>0</integer>
-               </dict>
-               <dict>
-                       <key>FirstTimeWindowDisplayed</key>
-                       <false/>
-                       <key>Identifier</key>
-                       <string>windowTool.find</string>
-                       <key>IsVertical</key>
-                       <true/>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>Dock</key>
-                                                       <array>
-                                                               <dict>
-                                                                       <key>ContentConfiguration</key>
-                                                                       <dict>
-                                                                               <key>PBXProjectModuleGUID</key>
-                                                                               <string>1CDD528C0622207200134675</string>
-                                                                               <key>PBXProjectModuleLabel</key>
-                                                                               <string>AuthorizationDBPlist.cpp</string>
-                                                                               <key>StatusBarVisibility</key>
-                                                                               <true/>
-                                                                       </dict>
-                                                                       <key>GeometryConfiguration</key>
-                                                                       <dict>
-                                                                               <key>Frame</key>
-                                                                               <string>{{0, 0}, {781, 212}}</string>
-                                                                               <key>RubberWindowFrame</key>
-                                                                               <string>587 531 781 470 0 0 1920 1178 </string>
-                                                                       </dict>
-                                                                       <key>Module</key>
-                                                                       <string>PBXNavigatorGroup</string>
-                                                                       <key>Proportion</key>
-                                                                       <string>781pt</string>
-                                                               </dict>
-                                                       </array>
-                                                       <key>Proportion</key>
-                                                       <string>212pt</string>
-                                               </dict>
-                                               <dict>
-                                                       <key>BecomeActive</key>
-                                                       <true/>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CD0528E0623707200166675</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Project Find</string>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 217}, {781, 212}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>587 531 781 470 0 0 1920 1178 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXProjectFindModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>212pt</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>429pt</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Project Find</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXProjectFindModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <true/>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>1C530D57069F1CE1000CFCEE</string>
-                               <string>722772F51251249800BFBD22</string>
-                               <string>722772F61251249800BFBD22</string>
-                               <string>1CDD528C0622207200134675</string>
-                               <string>1CD0528E0623707200166675</string>
-                       </array>
-                       <key>WindowString</key>
-                       <string>587 531 781 470 0 0 1920 1178 </string>
-                       <key>WindowToolGUID</key>
-                       <string>1C530D57069F1CE1000CFCEE</string>
-                       <key>WindowToolIsVisible</key>
-                       <true/>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>MENUSEPARATOR</string>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.debuggerConsole</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>BecomeActive</key>
-                                                       <integer>1</integer>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1C78EAAC065D492600B07095</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Debugger Console</string>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {650, 250}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>516 632 650 250 0 0 1680 1027 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXDebugCLIModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>209pt</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>209pt</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Debugger Console</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXDebugCLIModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>1</integer>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>1C78EAAD065D492600B07095</string>
-                               <string>1C78EAAE065D492600B07095</string>
-                               <string>1C78EAAC065D492600B07095</string>
-                       </array>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.consoleV3</string>
-                       <key>WindowString</key>
-                       <string>650 41 650 250 0 0 1280 1002 </string>
-                       <key>WindowToolGUID</key>
-                       <string>1C78EAAD065D492600B07095</string>
-                       <key>WindowToolIsVisible</key>
-                       <integer>0</integer>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.snapshots</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>Module</key>
-                                                       <string>XCSnapshotModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>100%</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>100%</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Snapshots</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>XCSnapshotModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <string>Yes</string>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.snapshots</string>
-                       <key>WindowString</key>
-                       <string>315 824 300 550 0 0 1440 878 </string>
-                       <key>WindowToolIsVisible</key>
-                       <string>Yes</string>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.scm</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1C78EAB2065D492600B07095</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>&lt;No Editor&gt;</string>
-                                                               <key>PBXSplitModuleInNavigatorKey</key>
-                                                               <dict>
-                                                                       <key>Split0</key>
-                                                                       <dict>
-                                                                               <key>PBXProjectModuleGUID</key>
-                                                                               <string>1C78EAB3065D492600B07095</string>
-                                                                       </dict>
-                                                                       <key>SplitCount</key>
-                                                                       <string>1</string>
-                                                               </dict>
-                                                               <key>StatusBarVisibility</key>
-                                                               <integer>1</integer>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {452, 0}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>743 379 452 308 0 0 1280 1002 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXNavigatorGroup</string>
-                                                       <key>Proportion</key>
-                                                       <string>0pt</string>
-                                               </dict>
-                                               <dict>
-                                                       <key>BecomeActive</key>
-                                                       <integer>1</integer>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CD052920623707200166675</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>SCM</string>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>ConsoleFrame</key>
-                                                               <string>{{0, 259}, {452, 0}}</string>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 7}, {452, 259}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>743 379 452 308 0 0 1280 1002 </string>
-                                                               <key>TableConfiguration</key>
-                                                               <array>
-                                                                       <string>Status</string>
-                                                                       <real>30</real>
-                                                                       <string>FileName</string>
-                                                                       <real>199</real>
-                                                                       <string>Path</string>
-                                                                       <real>197.0950012207031</real>
-                                                               </array>
-                                                               <key>TableFrame</key>
-                                                               <string>{{0, 0}, {452, 250}}</string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXCVSModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>262pt</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>266pt</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>SCM</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXCVSModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>1</integer>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>1C78EAB4065D492600B07095</string>
-                               <string>1C78EAB5065D492600B07095</string>
-                               <string>1C78EAB2065D492600B07095</string>
-                               <string>1CD052920623707200166675</string>
-                       </array>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.scm</string>
-                       <key>WindowString</key>
-                       <string>743 379 452 308 0 0 1280 1002 </string>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.breakpoints</string>
-                       <key>IsVertical</key>
-                       <integer>0</integer>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>BecomeActive</key>
-                                                       <integer>1</integer>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXBottomSmartGroupGIDs</key>
-                                                               <array>
-                                                                       <string>1C77FABC04509CD000000102</string>
-                                                               </array>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CE0B1FE06471DED0097A5F4</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Files</string>
-                                                               <key>PBXProjectStructureProvided</key>
-                                                               <string>no</string>
-                                                               <key>PBXSmartGroupTreeModuleColumnData</key>
-                                                               <dict>
-                                                                       <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
-                                                                       <array>
-                                                                               <real>168</real>
-                                                                       </array>
-                                                                       <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
-                                                                       <array>
-                                                                               <string>MainColumn</string>
-                                                                       </array>
-                                                               </dict>
-                                                               <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
-                                                               <dict>
-                                                                       <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
-                                                                       <array>
-                                                                               <string>1C77FABC04509CD000000102</string>
-                                                                       </array>
-                                                                       <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
-                                                                       <array>
-                                                                               <array>
-                                                                                       <integer>0</integer>
-                                                                               </array>
-                                                                       </array>
-                                                                       <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
-                                                                       <string>{{0, 0}, {168, 350}}</string>
-                                                               </dict>
-                                                               <key>PBXTopSmartGroupGIDs</key>
-                                                               <array/>
-                                                               <key>XCIncludePerspectivesSwitch</key>
-                                                               <integer>0</integer>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {185, 368}}</string>
-                                                               <key>GroupTreeTableConfiguration</key>
-                                                               <array>
-                                                                       <string>MainColumn</string>
-                                                                       <real>168</real>
-                                                               </array>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>315 424 744 409 0 0 1440 878 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXSmartGroupTreeModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>185pt</string>
-                                               </dict>
-                                               <dict>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CA1AED706398EBD00589147</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Detail</string>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{{190, 0}, {554, 368}}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>315 424 744 409 0 0 1440 878 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>XCDetailModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>554pt</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>368pt</string>
-                               </dict>
-                       </array>
-                       <key>MajorVersion</key>
-                       <integer>3</integer>
-                       <key>MinorVersion</key>
-                       <integer>0</integer>
-                       <key>Name</key>
-                       <string>Breakpoints</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXSmartGroupTreeModule</string>
-                               <string>XCDetailModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>1</integer>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>1CDDB66807F98D9800BB5817</string>
-                               <string>1CDDB66907F98D9800BB5817</string>
-                               <string>1CE0B1FE06471DED0097A5F4</string>
-                               <string>1CA1AED706398EBD00589147</string>
-                       </array>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.breakpointsV3</string>
-                       <key>WindowString</key>
-                       <string>315 424 744 409 0 0 1440 878 </string>
-                       <key>WindowToolGUID</key>
-                       <string>1CDDB66807F98D9800BB5817</string>
-                       <key>WindowToolIsVisible</key>
-                       <integer>1</integer>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.debugAnimator</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>Module</key>
-                                                       <string>PBXNavigatorGroup</string>
-                                                       <key>Proportion</key>
-                                                       <string>100%</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>100%</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Debug Visualizer</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXNavigatorGroup</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>1</integer>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.debugAnimatorV3</string>
-                       <key>WindowString</key>
-                       <string>100 100 700 500 0 0 1280 1002 </string>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.bookmarks</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>Module</key>
-                                                       <string>PBXBookmarksModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>100%</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>100%</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Bookmarks</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXBookmarksModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>0</integer>
-                       <key>WindowString</key>
-                       <string>538 42 401 187 0 0 1280 1002 </string>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.projectFormatConflicts</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>Module</key>
-                                                       <string>XCProjectFormatConflictsModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>100%</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>100%</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Project Format Conflicts</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>XCProjectFormatConflictsModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>0</integer>
-                       <key>WindowContentMinSize</key>
-                       <string>450 300</string>
-                       <key>WindowString</key>
-                       <string>50 850 472 307 0 0 1440 877</string>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.classBrowser</string>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>BecomeActive</key>
-                                                       <integer>1</integer>
-                                                       <key>ContentConfiguration</key>
-                                                       <dict>
-                                                               <key>OptionsSetName</key>
-                                                               <string>Hierarchy, all classes</string>
-                                                               <key>PBXProjectModuleGUID</key>
-                                                               <string>1CA6456E063B45B4001379D8</string>
-                                                               <key>PBXProjectModuleLabel</key>
-                                                               <string>Class Browser - NSObject</string>
-                                                       </dict>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>ClassesFrame</key>
-                                                               <string>{{0, 0}, {374, 96}}</string>
-                                                               <key>ClassesTreeTableConfiguration</key>
-                                                               <array>
-                                                                       <string>PBXClassNameColumnIdentifier</string>
-                                                                       <real>208</real>
-                                                                       <string>PBXClassBookColumnIdentifier</string>
-                                                                       <real>22</real>
-                                                               </array>
-                                                               <key>Frame</key>
-                                                               <string>{{0, 0}, {630, 331}}</string>
-                                                               <key>MembersFrame</key>
-                                                               <string>{{0, 105}, {374, 395}}</string>
-                                                               <key>MembersTreeTableConfiguration</key>
-                                                               <array>
-                                                                       <string>PBXMemberTypeIconColumnIdentifier</string>
-                                                                       <real>22</real>
-                                                                       <string>PBXMemberNameColumnIdentifier</string>
-                                                                       <real>216</real>
-                                                                       <string>PBXMemberTypeColumnIdentifier</string>
-                                                                       <real>97</real>
-                                                                       <string>PBXMemberBookColumnIdentifier</string>
-                                                                       <real>22</real>
-                                                               </array>
-                                                               <key>PBXModuleWindowStatusBarHidden2</key>
-                                                               <integer>1</integer>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>385 179 630 352 0 0 1440 878 </string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>PBXClassBrowserModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>332pt</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>332pt</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Class Browser</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>PBXClassBrowserModule</string>
-                       </array>
-                       <key>StatusbarIsVisible</key>
-                       <integer>0</integer>
-                       <key>TableOfContents</key>
-                       <array>
-                               <string>1C0AD2AF069F1E9B00FABCE6</string>
-                               <string>1C0AD2B0069F1E9B00FABCE6</string>
-                               <string>1CA6456E063B45B4001379D8</string>
-                       </array>
-                       <key>ToolbarConfiguration</key>
-                       <string>xcode.toolbar.config.classbrowser</string>
-                       <key>WindowString</key>
-                       <string>385 179 630 352 0 0 1440 878 </string>
-                       <key>WindowToolGUID</key>
-                       <string>1C0AD2AF069F1E9B00FABCE6</string>
-                       <key>WindowToolIsVisible</key>
-                       <integer>0</integer>
-               </dict>
-               <dict>
-                       <key>Identifier</key>
-                       <string>windowTool.refactoring</string>
-                       <key>IncludeInToolsMenu</key>
-                       <integer>0</integer>
-                       <key>Layout</key>
-                       <array>
-                               <dict>
-                                       <key>Dock</key>
-                                       <array>
-                                               <dict>
-                                                       <key>BecomeActive</key>
-                                                       <integer>1</integer>
-                                                       <key>GeometryConfiguration</key>
-                                                       <dict>
-                                                               <key>Frame</key>
-                                                               <string>{0, 0}, {500, 335}</string>
-                                                               <key>RubberWindowFrame</key>
-                                                               <string>{0, 0}, {500, 335}</string>
-                                                       </dict>
-                                                       <key>Module</key>
-                                                       <string>XCRefactoringModule</string>
-                                                       <key>Proportion</key>
-                                                       <string>100%</string>
-                                               </dict>
-                                       </array>
-                                       <key>Proportion</key>
-                                       <string>100%</string>
-                               </dict>
-                       </array>
-                       <key>Name</key>
-                       <string>Refactoring</string>
-                       <key>ServiceClasses</key>
-                       <array>
-                               <string>XCRefactoringModule</string>
-                       </array>
-                       <key>WindowString</key>
-                       <string>200 200 500 356 0 0 1920 1200 </string>
-               </dict>
-       </array>
-</dict>
-</plist>
diff --git a/securityd.xcodeproj/local.pbxuser b/securityd.xcodeproj/local.pbxuser
deleted file mode 100644 (file)
index fa60837..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-// !$*UTF8*$!
-{
-       4C9264A00534866F004B0E72 /* AuthorizationDBPlist.cpp */ = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {1335, 5343}}";
-                       sepNavSelRange = "{3461, 28}";
-                       sepNavVisRange = "{2540, 1950}";
-                       sepNavWindowFrame = "{{448, 58}, {1394, 1120}}";
-               };
-       };
-       4C9264A10534866F004B0E72 /* AuthorizationDBPlist.h */ = {
-               uiCtxt = {
-                       sepNavIntBoundsRect = "{{0, 0}, {1335, 1079}}";
-                       sepNavSelRange = "{1117, 0}";
-                       sepNavVisRange = "{0, 2498}";
-               };
-       };
-       4CA1FEB0052A3C5800F22E42 /* Project object */ = {
-               activeBuildConfigurationName = Development;
-               activeExecutable = 722772DB1251243700BFBD22 /* securityd */;
-               activeTarget = AA6D4B890E6F3BB80050206D /* securityd */;
-               codeSenseManager = 722772EC1251245600BFBD22 /* Code sense */;
-               executables = (
-                       722772DB1251243700BFBD22 /* securityd */,
-               );
-               perUserDictionary = {
-                       PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
-                               PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
-                               PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
-                               PBXFileTableDataSourceColumnWidthsKey = (
-                                       20,
-                                       341,
-                                       20,
-                                       48,
-                                       43,
-                                       43,
-                                       20,
-                               );
-                               PBXFileTableDataSourceColumnsKey = (
-                                       PBXFileDataSource_FiletypeID,
-                                       PBXFileDataSource_Filename_ColumnID,
-                                       PBXFileDataSource_Built_ColumnID,
-                                       PBXFileDataSource_ObjectSize_ColumnID,
-                                       PBXFileDataSource_Errors_ColumnID,
-                                       PBXFileDataSource_Warnings_ColumnID,
-                                       PBXFileDataSource_Target_ColumnID,
-                               );
-                       };
-                       PBXPerProjectTemplateStateSaveDate = 307309474;
-                       PBXWorkspaceStateSaveDate = 307309474;
-               };
-               sourceControlManager = 722772EB1251245600BFBD22 /* Source Control */;
-               userBuildSettings = {
-               };
-       };
-       722772DB1251243700BFBD22 /* securityd */ = {
-               isa = PBXExecutable;
-               activeArgIndices = (
-               );
-               argumentStrings = (
-               );
-               autoAttachOnCrash = 1;
-               breakpointsEnabled = 0;
-               configStateDict = {
-               };
-               customDataFormattersEnabled = 1;
-               dataTipCustomDataFormattersEnabled = 1;
-               dataTipShowTypeColumn = 1;
-               dataTipSortType = 0;
-               debuggerPlugin = GDBDebugging;
-               disassemblyDisplayState = 0;
-               enableDebugStr = 1;
-               environmentEntries = (
-               );
-               executableSystemSymbolLevel = 0;
-               executableUserSymbolLevel = 0;
-               libgmallocEnabled = 0;
-               name = securityd;
-               showTypeColumn = 0;
-               sourceDirectories = (
-               );
-       };
-       722772EB1251245600BFBD22 /* Source Control */ = {
-               isa = PBXSourceControlManager;
-               fallbackIsa = XCSourceControlManager;
-               isSCMEnabled = 0;
-               scmConfiguration = {
-                       repositoryNamesForRoots = {
-                               "" = "";
-                       };
-               };
-       };
-       722772EC1251245600BFBD22 /* Code sense */ = {
-               isa = PBXCodeSenseManager;
-               indexTemplatePath = "";
-       };
-       AA6D4B7A0E6F3A910050206D /* mig */ = {
-               activeExec = 0;
-       };
-       AA6D4B810E6F3B210050206D /* startup */ = {
-               activeExec = 0;
-       };
-       AA6D4B890E6F3BB80050206D /* securityd */ = {
-               activeExec = 0;
-               executables = (
-                       722772DB1251243700BFBD22 /* securityd */,
-               );
-       };
-       C26CF02C0CD934260094DD9D /* DTrace */ = {
-               activeExec = 0;
-       };
-}
index 994a64f8d0d3465a8cb81b7d549c795db3646451..c27df0a68e049cd0976c092721cb3a9953ed762c 100644 (file)
                        buildConfigurationList = C27AD4AD0987FCF4001272E0 /* Build configuration list for PBXProject "securityd" */;
                        compatibilityVersion = "Xcode 3.1";
                        hasScannedForEncodings = 1;
+                       knownRegions = (
+                               English,
+                               Japanese,
+                               French,
+                               German,
+                       );
                        mainGroup = 4CA1FEAC052A3C5800F22E42;
                        productRefGroup = 4CA1FEB7052A3C6D00F22E42 /* Products */;
                        projectDirPath = "";
index 3f961b236b5d05c63d56db557723b5baf36a9b09..ea3dd8869822c7d916807ca01d11c2d0d8ee310b 100644 (file)
@@ -39,6 +39,7 @@
 #include "dtrace.h"
 #include <sys/sysctl.h>
 #include <mach/clock_types.h>
+#include <mach/mach_time.h>
 #include <errno.h>
 #include <security_utilities/logging.h>
 #include <sys/sysctl.h>
@@ -94,36 +95,57 @@ void EntropyManager::action()
 // does not provide enough of a delay to worry about it. If we ever get worried,
 // we could call longTermActivity on the server object to get another thread going.
 //
+
 void EntropyManager::collectEntropy()
 {
        SECURITYD_ENTROPY_COLLECT();
+
     int mib[4];
     mib[0] = CTL_KERN;
     mib[1] = KERN_KDEBUG;
     mib[2] = KERN_KDGETENTROPY;
     mib[3] = 1;        // milliseconds maximum delay
-    mach_timespec_t timings[timingsToCollect];
-    size_t size = sizeof(timings);
-    if (sysctl(mib, 4, timings, &size, NULL, 0)) {
-        Syslog::alert("entropy collection failed (errno=%d)", errno);
-        return;
-    }
-       size /= sizeof(mach_timespec_t); // convert to element count
-       if (size > timingsToCollect)
-               size = timingsToCollect;        // pure paranoia
-    char buffer[timingsToCollect];
-    size /= sizeof(mach_timespec_t); // convert to element count
-    if (size > timingsToCollect)
-        size = timingsToCollect;    // pure paranoia
-    for (unsigned n = 0; n < size; n++)
-        buffer[n] = timings[n].tv_nsec;        // truncating to LSB
-       secdebug("entropy", "Entropy size %d: %02x %02x %02x %02x %02x %02x %02x %02x...",
-               (int)size, 
-               (unsigned char)buffer[0], (unsigned char)buffer[1], (unsigned char)buffer[2],
-               (unsigned char)buffer[3], (unsigned char)buffer[4], (unsigned char)buffer[5],
-               (unsigned char)buffer[6], (unsigned char)buffer[7]);
-       SECURITYD_ENTROPY_SEED((void *)buffer, size);
-    addEntropy(buffer, size);
+       
+       /*
+               The kernel doesn't follow the specification for sysctl.
+               The documentation clearly states that the oldlenp and
+               newlenp point to the size of the buffer to be processed.
+               Unfortunately, the KDGETENTROPY call wants the NUMBER of
+               mach_timespec_t values in the buffer, not the buffer size.
+       */
+       
+       int numTimings = timingsToCollect + 1;
+       mach_timespec_t buffer[numTimings];
+       
+       int result;
+       
+       size_t size = timingsToCollect;
+       
+       result = sysctl(mib,4, buffer, &size, NULL, 0);
+       if (result == -1) {
+        Syslog::alert("entropy measurement returned no entropy (errno=%d)", errno);
+       }
+       else if (size == 0)
+       {
+               Syslog::alert("entropy measurement returned no entropy.");
+       }
+       
+       // add a little more jitter to the buffer
+       mach_timebase_info_data_t    sTimebaseInfo;
+       mach_timebase_info(&sTimebaseInfo);
+       double seconds = (double) mach_absolute_time() * sTimebaseInfo.numer / sTimebaseInfo.denom * 1000000000.0;
+       buffer[numTimings].tv_sec = (int) seconds;
+       buffer[numTimings].tv_nsec = (int) ((seconds - buffer[numTimings].tv_sec) * 1000000000.0);
+       
+       /*
+               Yes, we don't check to see if we filled the entire buffer.
+               In entropy collection, something is better than nothing.
+               Please don't fiddle with this code unless you really
+               have determined that you know what you are doing.
+       */
+       
+       SECURITYD_ENTROPY_SEED((void *)buffer, sizeof(buffer));
+    addEntropy(buffer, sizeof(buffer));
 }
 
 
index 4b6f8d8909ee9a1bed9cdcd2118480ca2f5e1079..b5f29018a0f036dff9375735b301abf5eed1384f 100644 (file)
@@ -270,33 +270,42 @@ void Server::endConnection(Port replyPort)
        mConnections.erase(it);
 }
 
-
 //
 // Handling dead-port notifications.
 // This receives DPNs for all kinds of ports we're interested in.
 //
 void Server::notifyDeadName(Port port)
 {
-       StLock<Mutex> _(*this);
+       // We need the lock to get a proper iterator on mConnections or mProcesses,
+       // but must release it before we call abort or kill, as these might also
+       // need the server lock
+       
+       StLock<Mutex> serverLock(*this);
        secdebug("SSports", "port %d is dead", port.port());
     
     // is it a connection?
     PortMap<Connection>::iterator conIt = mConnections.find(port);
     if (conIt != mConnections.end()) {
                SECURITYD_PORTS_DEAD_CONNECTION(port);
-               conIt->second->abort();
-               mConnections.erase(conIt);
-        return;
+        RefPointer<Connection> con = conIt->second;
+        mConnections.erase(conIt);
+        serverLock.unlock();
+               con->abort();        
+               return;
     }
     
     // is it a process?
     PortMap<Process>::iterator procIt = mProcesses.find(port);
     if (procIt != mProcesses.end()) {
                SECURITYD_PORTS_DEAD_PROCESS(port);
-               Process *proc = procIt->second;
+        RefPointer<Process> proc = procIt->second;
+        mPids.erase(proc->pid());
+        mProcesses.erase(procIt);
+        serverLock.unlock();
+               // The kill may take some time; make sure there is a spare thread around
+               // to prevent deadlocks
+               StLock<MachServer, &Server::busy, &Server::idle> _(*this);
                proc->kill();
-               mPids.erase(proc->pid());
-               mProcesses.erase(procIt);
         return;
     }