Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
every time
This prevented iTunes from using a pairing made by libimobiledevice giving an error
that the device sent invalid data.
|
|
|
|
|
|
iOS 7 introduced a new pairing workflow which increases security by showing a
trust dialog to the user before pairing with the host is allowed.
The userpref system was refactored to use the native plist format, too.
Configuration files of the native implementations are used on each platform.
Former configuration files are no longer in use and can be deleted.
|
|
|
|
|
|
|
|
|
|
|
|
When finding the user's home directory to generate a subdirectory in $HOME/.config, we would
fall back to /tmp if there were no environment variables for HOME or XDG_CONFIG_HOME.
Since libimobiledevice gets used by upower, and since upowerd runs as root, this would cause
a /tmp/root directory to be created insecurely, leaving upowerd vulnerable to a symlink attack.
Now we fall back to getpwuid_r() to find the user's home directory if it is not provided
in environment variables - this is the case when upowerd gets run via systemd, for example.
The result is that we'll end up creating /root/.config, a safe directory, since regular
users cannot create symlinks in /root.
In the future we'll need a way for libimobiledevice to find where to store its pairing data
on behalf of the console user, rather than writing it to /root.
http://libiphone.lighthouseapp.com/projects/27916-libiphone/tickets/331-insecure-tmp-directory-use
|
|
Instead of doing malloc() and repeated strcat(), which is an O(n^2) way to concatenate multiple strings,
we define a single O(total_len) function that uses stpcpy(). This will also make the rest of the code
more legible and safer.
|
|
|
|
|
|
|