Регулярная смена паролей – залог хорошей безопасности. Но есть минус – приходится перенастраивать программы, которые должны иметь доступ к запароленым ресурсам. Обычно это проходит гладко, но я столкнулся с тем, что в бандле Blogging в TextMate изменить пароль на блог через интерфейс невозможно.

Пытаюсь доступиться к блогу после замены пароля:

Получаю ошибку:

А изменить пароль через интерфейс и с лёгкими танцами с бубном в не удаётся:

Привлекаю тяжёлую артиллерию – Instruments из пакета XCode.

Новый проект в Instruments:

Выбираю TextMate:

Запускаю его через Record:

Обращаюсь в TextMate к бандлу Blogging, прекращаю запись. В Reads/Writes смотрю, к каким файлам обращается TextMate при попытке доступиться к блогу:

В Library/Preferences/com.macromates.textmate.plist нет информации по блогу (и хранение её там было бы дурным тоном). А вот здесь видим ожидаемое обращение в Keychain, т.е. TextMate хранит пароли именно там, где нужно:

#	Caller	Function	FD	Path	Bytes
6	Security::DLDbListCFPref::DLDbListCFPref(SecPreferencesDomain)	read	5
/Users/ctrld/Library/Preferences/com.apple.security.plist	1081

Запускаю “Keychain Access” и делаю поиск по имени блога:

Первая запись к TextMate не относится, вторая близка, но в Access Control видно, что она относится к Blogo:

А вот третья – похожа именно на то, что нам нужно (security – это командно-строковый интерфейс к Keychain, и логично, что бандл TextMate его использует):

Меняю пароль на новый:

Захожу снова в TextMate, и, вуаля – получаю доступ к блогу: