Skip to content
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

Debug log enabled in production build #39

Closed
hubert3 opened this issue Jul 29, 2014 · 4 comments
Closed

Debug log enabled in production build #39

hubert3 opened this issue Jul 29, 2014 · 4 comments
Milestone

Comments

@hubert3
Copy link
Contributor

hubert3 commented Jul 29, 2014

A debug log file is created in the Library/Caches/Logs folder within the app's container on the device each time the app is run.

The log filename contains an exact date and time, which allows evidence to be collected about when the app has been used if a user's device is forensically acquired (assuming there is no log rotation, hundreds of logs could accumulate over time). The data protection class assigned to the file is NSFileProtectionCompleteUntilFirstUserAuthentication.

Suggested fix:

Don't create any log files by default in the production / App Store build.
Add a setting that enables logging for debug purposes which requires explicit opt-in.

org.whispersystems.signal 2014-07-29 20-35.log

2014/07/30 06:35:18:743 No previous version found. Possibly first launch since install.
2014/07/30 06:35:18:831 Failed to get value for key: Number
2014/07/30 06:35:18:834 Future failed: Operation failed. Expected: lnString != nil(in /Users/hubert/Signal-iOS/Signal/src/environment/SGNKeychainUtil.m at line 65)
2014/07/30 06:35:18:835 Failed to retrieve directory. Retrying in 1.000000 hours.: Operation failed. Expected: lnString != nil(in /Users/hubert/Signal-iOS/Signal/src/environment/SGNKeychainUtil.m at line 65), 0
2014/07/30 06:35:18:836 Removing object for key: Directory Bloom Data
2014/07/30 06:35:18:846 Removing object for key: Directory Bloom Hash Count
2014/07/30 06:35:18:856 Removing object for key: Directory Expiration
2014/07/30 06:35:19:331 Failed to get value for key: Signaling Cipher Key
2014/07/30 06:35:19:331 Length of data not matching. Got 0, expected 16
2014/07/30 06:35:19:333 Failed to get value for key: Signaling Mac Key
2014/07/30 06:35:19:333 Length of data not matching. Got 0, expected 20
2014/07/30 06:35:19:334 Failed to get value for key: Signaling Extra Key
2014/07/30 06:35:19:335 Length of data not matching. Got 0, expected 4
2014/07/30 06:35:19:336 Failed to get value for key: Password
2014/07/30 06:35:19:336 The server password has incorrect length. Is 0 but should be 18
2014/07/30 06:35:19:362 Opened Registration View
2014/07/30 06:35:19:448 Failed to get value for key: Signaling Cipher Key
2014/07/30 06:35:19:448 Length of data not matching. Got 0, expected 16
2014/07/30 06:35:19:449 Failed to get value for key: Signaling Mac Key
2014/07/30 06:35:19:450 Length of data not matching. Got 0, expected 20
2014/07/30 06:35:19:451 Failed to get value for key: Signaling Extra Key
2014/07/30 06:35:19:451 Length of data not matching. Got 0, expected 4
2014/07/30 06:35:19:452 Failed to get value for key: Password
2014/07/30 06:35:19:452 The server password has incorrect length. Is 0 but should be 18
2014/07/30 06:35:19:484 Latest Call is nil.
2014/07/30 06:35:19:545 Failed to register for push notifications: Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x178262640 {NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}
2014/07/30 06:35:48:450 Failed to get value for key: Signaling Cipher Key
2014/07/30 06:35:48:453 Length of data not matching. Got 0, expected 16
2014/07/30 06:35:48:454 Failed to get value for key: Signaling Mac Key
2014/07/30 06:35:48:454 Length of data not matching. Got 0, expected 20
2014/07/30 06:35:48:455 Failed to get value for key: Signaling Extra Key
2014/07/30 06:35:48:455 Length of data not matching. Got 0, expected 4
2014/07/30 06:35:48:456 Failed to get value for key: Password
2014/07/30 06:35:48:457 The server password has incorrect length. Is 0 but should be 18
2014/07/30 06:35:48:473 Opened Registration View
2014/07/30 06:35:48:552 Failed to get value for key: Signaling Cipher Key
2014/07/30 06:35:48:552 Length of data not matching. Got 0, expected 16
2014/07/30 06:35:48:553 Failed to get value for key: Signaling Mac Key
2014/07/30 06:35:48:553 Length of data not matching. Got 0, expected 20
2014/07/30 06:35:48:554 Failed to get value for key: Signaling Extra Key
2014/07/30 06:35:48:554 Length of data not matching. Got 0, expected 4
2014/07/30 06:35:48:555 Failed to get value for key: Password
2014/07/30 06:35:48:556 The server password has incorrect length. Is 0 but should be 18
2014/07/30 06:35:48:583 Latest Call is nil.
2014/07/30 06:37:38:206 Failed to register for push notifications: Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x178267300 {NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}

@FredericJacobs
Copy link
Contributor

As the application is still young we need to be able to get some information to debug at a wide scale. Apple's limited UDID distribution system makes it impossible to follow-up with all the users by distributing custom builds.

As we're moving to something more stable, I will make logs opt-in. (probably in 1.0.4)
(Log deletion will happen when people are updating)

@FredericJacobs
Copy link
Contributor

1.0.4 has opt-out debugging logs.
1.0.5 will be disabled by default.

@massar
Copy link

massar commented Mar 3, 2015

The version of Signal coming out of the AppStore has Debug Logging enabled by default; though it can be disabled in "Advanced"...

https://twitter.com/jrmassar/status/572647515910221824

@FredericJacobs
Copy link
Contributor

@massar We need to work towards a stable build of Signal 2.0. I'll leave it in until we have something stable for this new point release. If you opted out before, you should still be opted out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants