GitHub PushEvent at 2014-07-16 05:38:39
Repository: puppet
Actor: AsherBond
Payload: {"shas":[["4ccac8deb454ba378b66e164e40dc8f572a84f92","95e828102f92afbaa4d3ed92646a950670566628@cloudsmith.com","(PUP-2886) Add validation for reserved type names\n\nBefore this it was possible to name classes and defines with\nwords that are reserved by the type system (e.g. 'integer'), while\nthe name is not a type (Integer is a type, but integer is not), the\ndefinitions will automatically create a resource type named with\nan upper case initial letter, and will thus be difficult to reference.\n\nFor that reason it is better to error on these names statically.","Henrik Lindberg",true],["20a0d9cb719f9db31936cdfe60f06b0341b96f98","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Move win32-taskscheduler gem into repo\n\n - Remove win32-taskscheduler from gemspec through project_data.yaml\n - Update require statements where appropriate\n - All specs verified","Ethan J. Brown",true],["130a87e61149d107c57288e60aeed63da4c519ac","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Bump internal win32-taskscheduler ver","Ethan J. Brown",true],["912c6078affcf99b7f1af396e24f5870d81048ac","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Remove taskscheduler's Windows::Process\n\n - Don't mixin windows-pr code any longer, instead rely on Puppet\n   defined constants","Ethan J. Brown",true],["147d2512f6e3a621a334e1335ebb41c4aa9b67aa","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Remove taskscheduler's Windows::Error\n\n - Don't mixin windows-pr code for error handling.\n - Rely on Puppet::Util::Windows::Error which is error code aware\n - Update error messages to be standardized, always mention HRESULT\n   where applicable\n - Remove unreachable error message code (redundant pITask.nil? check)","Ethan J. Brown",true],["e130f1e8f75a8712cb54c1222c2102da2bc51035","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Remove taskscheduler's Windows::Unicode\n\n - Use read_arbitrary_wide_string_up_to helper on FFI::Pointer to read\n   wide strings from pointers instead of using windows/unicode\n - Use wide_string helper from Puppet::Util::Windows::String instead of\n   multi_to_wide helper from windows/unicode\n - Ensure that we don't error trying to read strings from empty pointers","Ethan J. Brown",true],["9ac746182a700d18b315ffb281a5437ab321144a","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Add FFI require to taskscheduler","Ethan J. Brown",true],["e0ab805033ba5a4bed0d2d54e2a17526d246206b","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Replace taskscheduler's COM with FFI\n\n - Remove Windows::COM definitions found in windows-pr from the\n   taskscheduler code.\n - FFI calls to CoInitialize, CoUninitialize, CoCreateInstance,\n   CoTaskMemFree\n - With calls to CoTaskMemFree made as FFI calls, pass pointer instead\n   of it's address\n - Add new HRESULT and LPUNKNOWN definition to api_types\n - NOTE: FFI::MemoryPointer.from_string appends an extra NULL byte to\n   the GUID values, allocating 17 bytes instead of 16, which is OK here\n   as the underlying API call to CoCreateInstance ignores the stray byte","Ethan J. Brown",true],["16f6e33aa06385ff863fdbd9402a26e7f965d006","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Move COM FFI to file windows/com.rb\n\n - This is the start of a new era, FFI / COM integration.  Run, hide!\n - Start by sliding over FFI function definitions for Win32 COM APIs\n   and HRESULT macros.\n - Use a better ComInitialize function that will properly call\n   CoUninitialize on application exit.","Ethan J. Brown",true],["817240300d093106bd20296d407cc3f396a74760","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Add Windows COM code from Unknownr\n\n - Unknownr project at https://github.com/rpeev/Unknownr defines FFI\n   bindings around COM interfaces / classes\n - Unknownr is MIT licensed, and only relevant bits have been brought\n   into project\n - FFI based wrappers for COM interfaces in the form of 3 new modules\n   Interface - for defining COM interfaces by GUID / FFI types\n   Factory - for creating a COM object instance by CLSID GUID and\n     returning a specified interface type\n   Instance - for use when calling QueryInterface on an existing COM\n     object to return a class of another type\n - FFI definition for GUID\n - NOTE: Had to add an FFI layout to the Factory class.  The original\n   Unknownr code was using a different, older FFI version where this\n   might have worked.  In newer code, inheriting from the Interface\n   is not enough to pick up the layout in the FFI::Struct that is the\n   Interface.","Ethan J. Brown",true],["68c6b622cb0efbd697c8601f7d257d351f0fd7d4","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Use Windows::Error for COM call fails\n\n - Update error message / class type to be more consistent with other\n   Puppet code","Ethan J. Brown",true],["2c7395846190e4c926b7f371317392d4f0932995","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Fix Unknownr UseInstance helper\n\n - Existing code passes an additional unecessary GUID in the call to\n   the COM function.\n - Add extra safety check to ensure FFI pointer is not pointing to a\n   NULL block of memory","Ethan J. Brown",true],["855959995f60865ae8d210e01011697892336496","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Refactor ITaskScheduler for FFI / COM\n\n - Using the magical COM binding / meta-programming techniques of\n   Unknownr, define the ITaskScheduler COM interface as a special\n   FFI::Struct derived type.  It uses our local mapping to make calls\n   directly to the relevant methods on the interface pointer.\n - Greatly simplify the creation of the ITaskScheduler COM object\n - Properly allocate / cleanup memory with FFI pointer block form\n - No need to manually check HRESULT failure, as the COM wrappers\n   will automatically throw exceptions when FAILED HRESULTs encountered\n - Define CLSID_CTask and IID_ITask in terms of the new GUID type\n   instead of antiquated Ruby packing techniques\n - Change new_work_item to return the current task (otherwise, it would\n   return an invalid FFI::Pointer)\n - With no more calls to CoCreateInstance, mark it as a private member\n   of Puppet::Util::Windows::COM","Ethan J. Brown",true],["3db65b144da60f551a43a26206f648409529394c","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Refactor IEnumWorkItems for FFI / COM\n\n - Create IEnumWorkItems interface definition, and rewrite code\n   using this interface to safely clean-up memory and call Release on\n   the COM interface pointer\n - Rework task name string reading to use FFI pointers safely that\n   are the correct width on all platforms\n - Add new FFI::Pointer helper read_com_memory_pointer that will\n   automatically call CoTaskMemFree on the pointer\n - To implement this helper, CoTaskMemFree has been copied into the\n   api_types code\n - Add new alias to read_win32_long from an FFI::Pointer","Ethan J. Brown",true],["c47c201d63a0981f0bb3de5b24c2ca0fe247f8eb","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Setup Taskscheduler HRESULT constants","Ethan J. Brown",true],["56460c8413043274339d9dba105e605cd4128f8c","60c6d277a8bd81de7fdde19201bf9c58a3df08f4@puppetlabs.com","(PUP-2920) Make PMT authenticate with forge and request extra modules.\n\nBefore this PMT only supported basic authentication which the Puppet Forge\ndoes not. This adds the ability to configure other authentication\nmethods and request that forge include extra module groups in responses.","Alex Dreyer",true],["06ca0e89cf5729b9adb96f3d3e7b7ba46daba35f","95e828102f92afbaa4d3ed92646a950670566628@cloudsmith.com","(maint) Fix typo in comment","Henrik Lindberg",true],["31b42181e0f91fcae77dc14b52756d58ff63bb49","95e828102f92afbaa4d3ed92646a950670566628@cloudsmith.com","(PUP-2714) Support explicit creation of empty program\n\nAn empty program (one without any expressions except \"no-op\") did\nnot produce an instance of Model::Program. This is bad because it\nis of value to get the lexed/parsed model with line references for\ncomment processing and other static analysis of the source.\n\nNow, an empty program will produce a Model::Program containing a single\nModel::Nop instruction. This instruction has offset at \"EOF\", and a\nlength of 0 (thus, any comments in the input source are guaranteed to be\nplaced before this nop.","Henrik Lindberg",true],["fe2ce240cfafb38971b6e637d5e457e490a3627d","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Refactor ITask for FFI / COM\n\n - Using the magical COM binding / meta-programming techniques of\n   Unknownr, define the IScheduledWorkItem and ITask COM interfaces as\n   special FFI::Struct derived types.  It uses our local mapping to make\n   calls directly to the relevant methods on the interface pointer.\n - Greatly simplify calling ITask COM object functions\n - Properly allocate / cleanup memory with FFI pointer block form and\n   properly cleanup COM allocated strings using the\n   read_com_memory_pointer helper\n - No need to manually check HRESULT failure, as the COM wrappers\n   will automatically throw exceptions when FAILED HRESULTs encountered\n   In some instances, ITask methods should not bubble up known\n   HRESULTs as exceptions since they are expected failures under some\n   circumstances, such as account_information / set_account_information,\n   exit_code, and most_recent_run_time\n - On a related note, add another acceptable failure HRESULT of\n   -2147023564 for when the SID attached to a job cannot be resolved to\n   a name.\n - Define IID_IPersistFile in terms of the new GUID type instead of\n   antiquated Ruby packing techniques","Ethan J. Brown",true],["eb94944ab2f74aea308fc21bb390ccc48675b76b","6eaaec1336f7acb13686b98a3495c3d683fe0810@github","(PUP-2881) Remove CoTaskMemFree in windows/com.rb\n\n - Taskscheduler code now uses only COM pointer helper methods that\n   use blocks and free up memory, so this FFI definition is no longer\n   required.","Ethan J. Brown",true]],"size":36,"ref":"refs/heads/master","head":"1901eea559d9c8fb8379ff42701f6593775882d0"}