-
Notifications
You must be signed in to change notification settings - Fork 15.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iOS need Privacy Manifests #15029
Comments
hi @zhangskz any updates on this requirement as well as code signing? |
`mach_absolute_time` is one of Apple's required reason APIs (https://developer.apple.com/documentation/kernel/1462446-mach_absolute_time?language=objc). Replace it with the suggested `clock_gettime_nsec_np(CLOCK_UPTIME_RAW)` so that we don't need a RRA entry in a privacy manifest. issue #15029
issue#protocolbuffers#15029 As required by https://developer.apple.com/support/third-party-SDK-requirements/ Protos does not collect data. Required reason APIs searched for using: ``` grep -ER 'NSFileCreationDate|NSFileModificationDate|fileModificationDate|NSURLContentModificationDateKey|NSURLCreationDateKey|getattrlist\(|getattrlistbulk\(|fgetattrlist\(|stat\(|fstat\(|fstatat\(|lstat\(|getattrlistat\(|systemUptime\(|mach_absolute_time\(|NSURLVolumeAvailableCapacityKey|NSURLVolumeAvailableCapacityForImportantUsageKey|NSURLVolumeAvailableCapacityForOpportunisticUsageKey|NSURLVolumeTotalCapacityKey|NSFileSystemFreeSize|NSFileSystemSize|statfs\(|statvfs\(|fstatfs\(|fstatvfs\(|getattrlist\(|fgetattrlist\(|getattrlistat\(|activeInputModes|NSUserDefaults' . ``` ``` ./third_party/utf8_range/utf8_to_utf16/main.c: if (fstat(fd, &stat) == -1) { ./third_party/utf8_range/main.c: if (fstat(fd, &stat) == -1) { ./src/google/protobuf/map.h: s = mach_absolute_time(); ./src/google/protobuf/io/io_win32.cc:int stat(const char* path, struct _stat* buffer) { ./src/google/protobuf/io/io_win32.cc: return ::_wstat(wpath.c_str(), buffer); ./src/google/protobuf/io/io_win32.cc: return ::_stat(path, buffer); ./src/google/protobuf/io/io_win32.h:PROTOBUF_EXPORT int stat(const char* path, struct _stat* buffer); ./src/google/protobuf/testing/file.cc: if (lstat(name.c_str(), &stats) != 0) return; ./src/google/protobuf/compiler/importer.cc: ret = stat(std::string(filename).c_str(), &sb); ``` `./third_party/utf8_range/...` - tool for utf that is not in user binaries `./src/google/protobuf/map.h` - resolved with pull#15554 `./src/google/protobuf/io/io_win32.cc` - windows code `./src/google/protobuf/testing/file.cc` - testing code not in user binaries `./src/google/protobuf/compiler/importer.cc` - compiler code not in user binaries So no required reason APIs. Apple has not yet communicated how this is to be put into podspecs so saving for future commit.
issue##15029 As required by https://developer.apple.com/support/third-party-SDK-requirements/ Protos does not collect data. Required reason APIs searched for using: ``` grep -ER 'NSFileCreationDate|NSFileModificationDate|fileModificationDate|NSURLContentModificationDateKey|NSURLCreationDateKey|getattrlist\(|getattrlistbulk\(|fgetattrlist\(|stat\(|fstat\(|fstatat\(|lstat\(|getattrlistat\(|systemUptime\(|mach_absolute_time\(|NSURLVolumeAvailableCapacityKey|NSURLVolumeAvailableCapacityForImportantUsageKey|NSURLVolumeAvailableCapacityForOpportunisticUsageKey|NSURLVolumeTotalCapacityKey|NSFileSystemFreeSize|NSFileSystemSize|statfs\(|statvfs\(|fstatfs\(|fstatvfs\(|getattrlist\(|fgetattrlist\(|getattrlistat\(|activeInputModes|NSUserDefaults' . ``` ``` ./third_party/utf8_range/utf8_to_utf16/main.c: if (fstat(fd, &stat) == -1) { ./third_party/utf8_range/main.c: if (fstat(fd, &stat) == -1) { ./src/google/protobuf/map.h: s = mach_absolute_time(); ./src/google/protobuf/io/io_win32.cc:int stat(const char* path, struct _stat* buffer) { ./src/google/protobuf/io/io_win32.cc: return ::_wstat(wpath.c_str(), buffer); ./src/google/protobuf/io/io_win32.cc: return ::_stat(path, buffer); ./src/google/protobuf/io/io_win32.h:PROTOBUF_EXPORT int stat(const char* path, struct _stat* buffer); ./src/google/protobuf/testing/file.cc: if (lstat(name.c_str(), &stats) != 0) return; ./src/google/protobuf/compiler/importer.cc: ret = stat(std::string(filename).c_str(), &sb); ``` `./third_party/utf8_range/...` - tool for utf that is not in user binaries `./src/google/protobuf/map.h` - resolved with pull#15554 `./src/google/protobuf/io/io_win32.cc` - windows code `./src/google/protobuf/testing/file.cc` - testing code not in user binaries `./src/google/protobuf/compiler/importer.cc` - compiler code not in user binaries So no required reason APIs. Apple has not yet communicated how this is to be put into podspecs so saving for future commit. Closes #15557 COPYBARA_INTEGRATE_REVIEW=#15557 from dmaclach:privacy 4c4e570 PiperOrigin-RevId: 601362376
`mach_absolute_time` is one of Apple's required reason APIs (https://developer.apple.com/documentation/kernel/1462446-mach_absolute_time?language=objc). Replace it with the suggested `clock_gettime_nsec_np(CLOCK_UPTIME_RAW)` so that we don't need a RRA entry in a privacy manifest. issue #15029 Closes #15554 COPYBARA_INTEGRATE_REVIEW=#15554 from protocolbuffers:dmaclach-mach_absolute_time 295d831 PiperOrigin-RevId: 601370915
issue#protocolbuffers#15029 As required by https://developer.apple.com/support/third-party-SDK-requirements/ Protos does not collect data. Required reason APIs searched for using: ``` grep -ER 'NSFileCreationDate|NSFileModificationDate|fileModificationDate|NSURLContentModificationDateKey|NSURLCreationDateKey|getattrlist\(|getattrlistbulk\(|fgetattrlist\(|stat\(|fstat\(|fstatat\(|lstat\(|getattrlistat\(|systemUptime\(|mach_absolute_time\(|NSURLVolumeAvailableCapacityKey|NSURLVolumeAvailableCapacityForImportantUsageKey|NSURLVolumeAvailableCapacityForOpportunisticUsageKey|NSURLVolumeTotalCapacityKey|NSFileSystemFreeSize|NSFileSystemSize|statfs\(|statvfs\(|fstatfs\(|fstatvfs\(|getattrlist\(|fgetattrlist\(|getattrlistat\(|activeInputModes|NSUserDefaults' . ``` ``` ./third_party/utf8_range/utf8_to_utf16/main.c: if (fstat(fd, &stat) == -1) { ./third_party/utf8_range/main.c: if (fstat(fd, &stat) == -1) { ./src/google/protobuf/map.h: s = mach_absolute_time(); ./src/google/protobuf/io/io_win32.cc:int stat(const char* path, struct _stat* buffer) { ./src/google/protobuf/io/io_win32.cc: return ::_wstat(wpath.c_str(), buffer); ./src/google/protobuf/io/io_win32.cc: return ::_stat(path, buffer); ./src/google/protobuf/io/io_win32.h:PROTOBUF_EXPORT int stat(const char* path, struct _stat* buffer); ./src/google/protobuf/testing/file.cc: if (lstat(name.c_str(), &stats) != 0) return; ./src/google/protobuf/compiler/importer.cc: ret = stat(std::string(filename).c_str(), &sb); ``` `./third_party/utf8_range/...` - tool for utf that is not in user binaries `./src/google/protobuf/map.h` - resolved with pull#15554 `./src/google/protobuf/io/io_win32.cc` - windows code `./src/google/protobuf/testing/file.cc` - testing code not in user binaries `./src/google/protobuf/compiler/importer.cc` - compiler code not in user binaries So no required reason APIs. Apple has not yet communicated how this is to be put into podspecs so saving for future commit. Closes protocolbuffers#15557 COPYBARA_INTEGRATE_REVIEW=protocolbuffers#15557 from dmaclach:privacy 4c4e570 PiperOrigin-RevId: 601362376
`mach_absolute_time` is one of Apple's required reason APIs (https://developer.apple.com/documentation/kernel/1462446-mach_absolute_time?language=objc). Replace it with the suggested `clock_gettime_nsec_np(CLOCK_UPTIME_RAW)` so that we don't need a RRA entry in a privacy manifest. issue protocolbuffers#15029 Closes protocolbuffers#15554 COPYBARA_INTEGRATE_REVIEW=protocolbuffers#15554 from protocolbuffers:dmaclach-mach_absolute_time 295d831 PiperOrigin-RevId: 601370915
issue#protocolbuffers#15029 As required by https://developer.apple.com/support/third-party-SDK-requirements/ Protos does not collect data. Required reason APIs searched for using: ``` grep -ER 'NSFileCreationDate|NSFileModificationDate|fileModificationDate|NSURLContentModificationDateKey|NSURLCreationDateKey|getattrlist\(|getattrlistbulk\(|fgetattrlist\(|stat\(|fstat\(|fstatat\(|lstat\(|getattrlistat\(|systemUptime\(|mach_absolute_time\(|NSURLVolumeAvailableCapacityKey|NSURLVolumeAvailableCapacityForImportantUsageKey|NSURLVolumeAvailableCapacityForOpportunisticUsageKey|NSURLVolumeTotalCapacityKey|NSFileSystemFreeSize|NSFileSystemSize|statfs\(|statvfs\(|fstatfs\(|fstatvfs\(|getattrlist\(|fgetattrlist\(|getattrlistat\(|activeInputModes|NSUserDefaults' . ``` ``` ./third_party/utf8_range/utf8_to_utf16/main.c: if (fstat(fd, &stat) == -1) { ./third_party/utf8_range/main.c: if (fstat(fd, &stat) == -1) { ./src/google/protobuf/map.h: s = mach_absolute_time(); ./src/google/protobuf/io/io_win32.cc:int stat(const char* path, struct _stat* buffer) { ./src/google/protobuf/io/io_win32.cc: return ::_wstat(wpath.c_str(), buffer); ./src/google/protobuf/io/io_win32.cc: return ::_stat(path, buffer); ./src/google/protobuf/io/io_win32.h:PROTOBUF_EXPORT int stat(const char* path, struct _stat* buffer); ./src/google/protobuf/testing/file.cc: if (lstat(name.c_str(), &stats) != 0) return; ./src/google/protobuf/compiler/importer.cc: ret = stat(std::string(filename).c_str(), &sb); ``` `./third_party/utf8_range/...` - tool for utf that is not in user binaries `./src/google/protobuf/map.h` - resolved with pull#15554 `./src/google/protobuf/io/io_win32.cc` - windows code `./src/google/protobuf/testing/file.cc` - testing code not in user binaries `./src/google/protobuf/compiler/importer.cc` - compiler code not in user binaries So no required reason APIs. Apple has not yet communicated how this is to be put into podspecs so saving for future commit. Closes protocolbuffers#15557 COPYBARA_INTEGRATE_REVIEW=protocolbuffers#15557 from dmaclach:privacy 4c4e570 PiperOrigin-RevId: 601362376
`mach_absolute_time` is one of Apple's required reason APIs (https://developer.apple.com/documentation/kernel/1462446-mach_absolute_time?language=objc). Replace it with the suggested `clock_gettime_nsec_np(CLOCK_UPTIME_RAW)` so that we don't need a RRA entry in a privacy manifest. issue protocolbuffers#15029 Closes protocolbuffers#15554 COPYBARA_INTEGRATE_REVIEW=protocolbuffers#15554 from protocolbuffers:dmaclach-mach_absolute_time 295d831 PiperOrigin-RevId: 601370915
issue##15029 As required by https://developer.apple.com/support/third-party-SDK-requirements/ Protos does not collect data. Required reason APIs searched for using: ``` grep -ER 'NSFileCreationDate|NSFileModificationDate|fileModificationDate|NSURLContentModificationDateKey|NSURLCreationDateKey|getattrlist\(|getattrlistbulk\(|fgetattrlist\(|stat\(|fstat\(|fstatat\(|lstat\(|getattrlistat\(|systemUptime\(|mach_absolute_time\(|NSURLVolumeAvailableCapacityKey|NSURLVolumeAvailableCapacityForImportantUsageKey|NSURLVolumeAvailableCapacityForOpportunisticUsageKey|NSURLVolumeTotalCapacityKey|NSFileSystemFreeSize|NSFileSystemSize|statfs\(|statvfs\(|fstatfs\(|fstatvfs\(|getattrlist\(|fgetattrlist\(|getattrlistat\(|activeInputModes|NSUserDefaults' . ``` ``` ./third_party/utf8_range/utf8_to_utf16/main.c: if (fstat(fd, &stat) == -1) { ./third_party/utf8_range/main.c: if (fstat(fd, &stat) == -1) { ./src/google/protobuf/map.h: s = mach_absolute_time(); ./src/google/protobuf/io/io_win32.cc:int stat(const char* path, struct _stat* buffer) { ./src/google/protobuf/io/io_win32.cc: return ::_wstat(wpath.c_str(), buffer); ./src/google/protobuf/io/io_win32.cc: return ::_stat(path, buffer); ./src/google/protobuf/io/io_win32.h:PROTOBUF_EXPORT int stat(const char* path, struct _stat* buffer); ./src/google/protobuf/testing/file.cc: if (lstat(name.c_str(), &stats) != 0) return; ./src/google/protobuf/compiler/importer.cc: ret = stat(std::string(filename).c_str(), &sb); ``` `./third_party/utf8_range/...` - tool for utf that is not in user binaries `./src/google/protobuf/map.h` - resolved with pull#15554 `./src/google/protobuf/io/io_win32.cc` - windows code `./src/google/protobuf/testing/file.cc` - testing code not in user binaries `./src/google/protobuf/compiler/importer.cc` - compiler code not in user binaries So no required reason APIs. Apple has not yet communicated how this is to be put into podspecs so saving for future commit. Closes #15557 COPYBARA_INTEGRATE_REVIEW=#15557 from dmaclach:privacy 4c4e570 PiperOrigin-RevId: 601362376 Co-authored-by: dmaclach <[email protected]>
`mach_absolute_time` is one of Apple's required reason APIs (https://developer.apple.com/documentation/kernel/1462446-mach_absolute_time?language=objc). Replace it with the suggested `clock_gettime_nsec_np(CLOCK_UPTIME_RAW)` so that we don't need a RRA entry in a privacy manifest. issue #15029 Closes #15554 COPYBARA_INTEGRATE_REVIEW=#15554 from protocolbuffers:dmaclach-mach_absolute_time 295d831 PiperOrigin-RevId: 601370915 Co-authored-by: dmaclach <[email protected]>
This was cherry-picked to the 26.x branch and should be included in the v26.0-rc2 (and later v26.0) release. |
`mach_absolute_time` is one of Apple's required reason APIs (https://developer.apple.com/documentation/kernel/1462446-mach_absolute_time?language=objc). Replace it with the suggested `clock_gettime_nsec_np(CLOCK_UPTIME_RAW)` so that we don't need a RRA entry in a privacy manifest. issue #15029 Closes #15554 COPYBARA_INTEGRATE_REVIEW=#15554 from protocolbuffers:dmaclach-mach_absolute_time 295d831 PiperOrigin-RevId: 601370915
issue##15029 As required by https://developer.apple.com/support/third-party-SDK-requirements/ Protos does not collect data. Required reason APIs searched for using: ``` grep -ER 'NSFileCreationDate|NSFileModificationDate|fileModificationDate|NSURLContentModificationDateKey|NSURLCreationDateKey|getattrlist\(|getattrlistbulk\(|fgetattrlist\(|stat\(|fstat\(|fstatat\(|lstat\(|getattrlistat\(|systemUptime\(|mach_absolute_time\(|NSURLVolumeAvailableCapacityKey|NSURLVolumeAvailableCapacityForImportantUsageKey|NSURLVolumeAvailableCapacityForOpportunisticUsageKey|NSURLVolumeTotalCapacityKey|NSFileSystemFreeSize|NSFileSystemSize|statfs\(|statvfs\(|fstatfs\(|fstatvfs\(|getattrlist\(|fgetattrlist\(|getattrlistat\(|activeInputModes|NSUserDefaults' . ``` ``` ./third_party/utf8_range/utf8_to_utf16/main.c: if (fstat(fd, &stat) == -1) { ./third_party/utf8_range/main.c: if (fstat(fd, &stat) == -1) { ./src/google/protobuf/map.h: s = mach_absolute_time(); ./src/google/protobuf/io/io_win32.cc:int stat(const char* path, struct _stat* buffer) { ./src/google/protobuf/io/io_win32.cc: return ::_wstat(wpath.c_str(), buffer); ./src/google/protobuf/io/io_win32.cc: return ::_stat(path, buffer); ./src/google/protobuf/io/io_win32.h:PROTOBUF_EXPORT int stat(const char* path, struct _stat* buffer); ./src/google/protobuf/testing/file.cc: if (lstat(name.c_str(), &stats) != 0) return; ./src/google/protobuf/compiler/importer.cc: ret = stat(std::string(filename).c_str(), &sb); ``` `./third_party/utf8_range/...` - tool for utf that is not in user binaries `./src/google/protobuf/map.h` - resolved with pull#15554 `./src/google/protobuf/io/io_win32.cc` - windows code `./src/google/protobuf/testing/file.cc` - testing code not in user binaries `./src/google/protobuf/compiler/importer.cc` - compiler code not in user binaries So no required reason APIs. Apple has not yet communicated how this is to be put into podspecs so saving for future commit. Closes #15557 COPYBARA_INTEGRATE_REVIEW=#15557 from dmaclach:privacy 4c4e570 PiperOrigin-RevId: 601362376
Apple updated the schedule for manifest requirements |
We believe this should be addressed per the apple privacy manifests added as of v26.0-rc2. Please reopen if this is unsufficient! |
Let's say we are using an old version of protobuf(3.19.4) that uses Could some one please confirm on the above statement?? |
Discussed in #16358 |
`mach_absolute_time` is one of Apple's required reason APIs (https://developer.apple.com/documentation/kernel/1462446-mach_absolute_time?language=objc). Replace it with the suggested `clock_gettime_nsec_np(CLOCK_UPTIME_RAW)` so that we don't need a RRA entry in a privacy manifest. issue #15029 Closes #15554 COPYBARA_INTEGRATE_REVIEW=#15554 from protocolbuffers:dmaclach-mach_absolute_time 295d831 PiperOrigin-RevId: 601370915
issue#protocolbuffers#15029 As required by https://developer.apple.com/support/third-party-SDK-requirements/ Protos does not collect data. Required reason APIs searched for using: ``` grep -ER 'NSFileCreationDate|NSFileModificationDate|fileModificationDate|NSURLContentModificationDateKey|NSURLCreationDateKey|getattrlist\(|getattrlistbulk\(|fgetattrlist\(|stat\(|fstat\(|fstatat\(|lstat\(|getattrlistat\(|systemUptime\(|mach_absolute_time\(|NSURLVolumeAvailableCapacityKey|NSURLVolumeAvailableCapacityForImportantUsageKey|NSURLVolumeAvailableCapacityForOpportunisticUsageKey|NSURLVolumeTotalCapacityKey|NSFileSystemFreeSize|NSFileSystemSize|statfs\(|statvfs\(|fstatfs\(|fstatvfs\(|getattrlist\(|fgetattrlist\(|getattrlistat\(|activeInputModes|NSUserDefaults' . ``` ``` ./third_party/utf8_range/utf8_to_utf16/main.c: if (fstat(fd, &stat) == -1) { ./third_party/utf8_range/main.c: if (fstat(fd, &stat) == -1) { ./src/google/protobuf/map.h: s = mach_absolute_time(); ./src/google/protobuf/io/io_win32.cc:int stat(const char* path, struct _stat* buffer) { ./src/google/protobuf/io/io_win32.cc: return ::_wstat(wpath.c_str(), buffer); ./src/google/protobuf/io/io_win32.cc: return ::_stat(path, buffer); ./src/google/protobuf/io/io_win32.h:PROTOBUF_EXPORT int stat(const char* path, struct _stat* buffer); ./src/google/protobuf/testing/file.cc: if (lstat(name.c_str(), &stats) != 0) return; ./src/google/protobuf/compiler/importer.cc: ret = stat(std::string(filename).c_str(), &sb); ``` `./third_party/utf8_range/...` - tool for utf that is not in user binaries `./src/google/protobuf/map.h` - resolved with pull#15554 `./src/google/protobuf/io/io_win32.cc` - windows code `./src/google/protobuf/testing/file.cc` - testing code not in user binaries `./src/google/protobuf/compiler/importer.cc` - compiler code not in user binaries So no required reason APIs. Apple has not yet communicated how this is to be put into podspecs so saving for future commit. Closes protocolbuffers#15557 COPYBARA_INTEGRATE_REVIEW=protocolbuffers#15557 from dmaclach:privacy 4c4e570 PiperOrigin-RevId: 601362376
`mach_absolute_time` is one of Apple's required reason APIs (https://developer.apple.com/documentation/kernel/1462446-mach_absolute_time?language=objc). Replace it with the suggested `clock_gettime_nsec_np(CLOCK_UPTIME_RAW)` so that we don't need a RRA entry in a privacy manifest. issue protocolbuffers#15029 Closes protocolbuffers#15554 COPYBARA_INTEGRATE_REVIEW=protocolbuffers#15554 from protocolbuffers:dmaclach-mach_absolute_time 295d831 PiperOrigin-RevId: 601370915
Apple need privacy Manifests
https://developer.apple.com/cn/support/third-party-SDK-requirements/
The text was updated successfully, but these errors were encountered: