{"push_id":757729920,"size":189,"distinct_size":1,"ref":"refs/heads/master","head":"16540040374a31443c2a8311c4f3602879538f53","before":"1ae5e359d16ee9c43f2ce48df484fd600ee3555b","commits":[{"sha":"caf8abb61239f6b5cfe40c088e2f0b7a4cd78625","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Begin work on license system\n\nThis commits adds the public key used for verifying the signature of\nfiles.\n\nThis commit also includes a function\n(TLOLicenseManagerPublicKeyIsGenuine()) that can be used to check\nwhether the public key matches a known SHA-256 hash of the genuine\npublic key.\n\nCommit also includes comment that details the goals of the license\nsystem","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/caf8abb61239f6b5cfe40c088e2f0b7a4cd78625"},{"sha":"6db042d3f077c5d03a558a5dff4017168c108c9c","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Modify PEM armor to match Apple's preferred format for importing","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/6db042d3f077c5d03a558a5dff4017168c108c9c"},{"sha":"39cd4b3aa83a52b02a866dbff29e41ee93103f53","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Add TLOLicenseManagerPopulatePublicKeyRef(void)","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/39cd4b3aa83a52b02a866dbff29e41ee93103f53"},{"sha":"11ff67451607a90e84de1238c6cca733b54438a4","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Add -applicationLocalContainerApplicationSupportPath to TPCPathInfo\n\n-applicationLocalContainerApplicationSupportPath can be used to get the\napplication support folder for Textual, relative to the application\nspecific sandbox container, rather than the group container used by all\nother components of Textual\n\nThis commit also renames -applicationSupportFolderPath to\n-applicationGroupContainerApplicationSupportPath","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/11ff67451607a90e84de1238c6cca733b54438a4"},{"sha":"d6c63de976502cd05215920417269b9867a33045","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Add sanity check to -pathToStoreEncryptionSecrets","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/d6c63de976502cd05215920417269b9867a33045"},{"sha":"d0117bad27c607495e01381f583c5e9aa7ec79e4","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Add TLOLicenseManagerUserLicenseFilePath(void)\n\nThe default storage path for license file is:\n\n“~/Library/Containers/com.codeux.irc.textual5/Data/Library/Application\nSupport/Textual/Textual5UserLicense.plist\"","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/d0117bad27c607495e01381f583c5e9aa7ec79e4"},{"sha":"361a7100dce6092eab45a08e951f75f31d550587","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Add error reporting to TLOLicenseManagerPublicKeyContents(void)","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/361a7100dce6092eab45a08e951f75f31d550587"},{"sha":"1da1043d2b6df2291db01c464adf42fbfa884388","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Add TLOLicenseManagerUserLicenseFileContents(void)\n\nThis function can be used to retrieve the raw license file contents","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/1da1043d2b6df2291db01c464adf42fbfa884388"},{"sha":"9ab539d8ea577cada3f3f83488e586b46bacb6ea","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Add TLOLicenseManagerDictionaryFromUserLicenseData(NSData)\n\nGiven the return value of\nTLOLicenseManagerUserLicenseFileContents(void), this function can\nconvert that data or any data provided as a parameter into an\nNSDictionary if it is a properly formatted property list.","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/9ab539d8ea577cada3f3f83488e586b46bacb6ea"},{"sha":"c93e39540e16b87a13ead14b5f58d9ca46bab87c","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Continued work on TLOLicenseManager\n\n• The TLOLicenseManagerDictionaryFromUserLicenseData() function no\nlonger accepts a parameter. Instead, it calls directly to\nTLOLicenseManagerUserLicenseFileContents()\n• Added several TLOLicenseManagerLicenseDictionaryLicense* constants\nfor reading license dictionary information.\n• Added TLOLicenseManagerVerifyLicenseSignature(void) but is not\nimplemented.","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/c93e39540e16b87a13ead14b5f58d9ca46bab87c"},{"sha":"c91b33490e23abfb0026d946e6b23c954e0198ba","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Add userLicenseFileExists parameter as a boolean pointer\n\nInform caller whether a failure is due to the license file missing or\nbecause of some other failure.","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/c91b33490e23abfb0026d946e6b23c954e0198ba"},{"sha":"3142f20dfbbd2d0e934315453e751899ebbe576b","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Complete contents of TLOLicenseManagerVerifyLicenseSignature()","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/3142f20dfbbd2d0e934315453e751899ebbe576b"},{"sha":"25efd192a968d65b4ff352270da3c634ab5e2c0d","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Accidentally committed debug code in 3142f20dfbbd2d0e934315453e751899ebbe576b","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/25efd192a968d65b4ff352270da3c634ab5e2c0d"},{"sha":"b82b304be7f91b35dd70116c4ac5e93b14277669","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Continued work on TLOLicenseManager\n\n• Changed TLOLicenseManagerVerifyLicenseSignature() into\nTLOLicenseManagerVerifyLicenseSignatureWithData() to allow any data to\nbe verified, not just the user license file at the predefined path.\n• Added TLOLicenseManagerVerifyLicenseSignatureFromFile() for verifying\nthe contents of the user license file with\nTLOLicenseManagerVerifyLicenseSignature() as an alias of this function.\n• Renamed TLOLicenseManagerDictionaryFromUserLicenseData() to\nTLOLicenseManagerLicenseDictionaryWithData()\n• Added TLOLicenseManagerLicenseDictionary() for easier access to\ndictionary information related to the user license file","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/b82b304be7f91b35dd70116c4ac5e93b14277669"},{"sha":"7376bc36f38787825a3eca03303c0ab5d2a138b7","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Continued work on TLOLicenseManager\n\n• The dictionary for the user license file is now cached within a\nstatic value. This cache can be purged using\nTLOLicenseManagerResetLicenseDictionaryCache()\n• Functions no longer include parameter informing the caller whether\nthe user license file exists. Instead,\nTLOLicenseManagerUserLicenseFileExists() can be called.\n• TLOLicenseManager.h is no longer imported through\nTextualApplication.h — this will be considered a private header.\n• Added\nTLOLicenseManagerLicenseActivationToken()\nTLOLicenseManagerLicenseKey()\nTLOLicenseManagerLicenseOwnerContactAddress()\nTLOLicenseManagerLicenseOwnerName()\nfor easier access to relevant information within the user license file.","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/7376bc36f38787825a3eca03303c0ab5d2a138b7"},{"sha":"9bcdef53936bb629a2f79feb1c5c6267f42c1fd5","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Modify 'const' logic","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/9bcdef53936bb629a2f79feb1c5c6267f42c1fd5"},{"sha":"eb7d50eb1e8e97051bf54cd2b0e05c4a27641ae6","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Correct public key hash","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/eb7d50eb1e8e97051bf54cd2b0e05c4a27641ae6"},{"sha":"595e4f6c68d20399d7a8eae09d6bf98faf977613","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Added TLOLicenseManagerMaybeDisplayPublicKeyIsGenuinDialog(void)\n\nIf the current public key is not genuine (was replaced), then Textual\nwill try to detect this and inform the end user that their copy of\nTextual is not genuine and encourage the user to build from source,\nrather than using a copy whose origin is unknown.","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/595e4f6c68d20399d7a8eae09d6bf98faf977613"},{"sha":"870fcfe5f68d4bf7f230fb592df8215aa1655934","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Strip trial build target from project\n\nCode related to the trial build is still in the source code, but that\nis not activated without a macro define so its fine to leave in for now.","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/870fcfe5f68d4bf7f230fb592df8215aa1655934"},{"sha":"6599c77672a688f6eb62a6e74b1e6d61a7e53893","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@codeux.com","name":"Michael Morris"},"message":"Add TEXTUAL_BUILT_WITH_LICENSE_MANAGER macro\n\nDefines whether license system is included at build time","distinct":false,"url":"https://api.github.com/repos/Codeux-Software/Textual/commits/6599c77672a688f6eb62a6e74b1e6d61a7e53893"}]}