Wall @ 17-01-2008 05:13:56

Ну или вообще полностью разделить - есть DataBase. Лучше всего SQL. А к ней вьюверы, разные под разные платформы. Хотя зачем так сложно для такого не очень объёмного хранения - сам не знаю.

Насчет разделить - полностью согласен.

Теперь насчет хранилища. Я предлагаю начать с существующих реализаций, а не придумывать что-то свое. pwsafe, судя по тому, что я читал достаточно широко используется. Если писать в ее формате, то получаем бесплатно уже готовые приложения по работе с ним и на линухе и на винде. К сожалению API к нему я пока не нашел, но можно либо его сделать, либо тупо нарисовать питоновый враппер к 'pwsafe password database'. Я, кстати, об этом уже писал, может вы пропустили?

ChAS @ 17-01-2008 13:23:22

SQL - это язык запросов, он поможет найти 1-10 записей из тысячи. Согласитесь это не наш случай... Хочеш найти пароль к интернет-таблет... пишеш в строке поиска интернет-таблет.... максимум будет два ответа... мы и они... :)  это я вам как програмист 1с говорю. а ставить дополнительный софт ради вообщем то 10-100 вполне себе уникальных записей.. думаю совершено бесмыслено... у нас в конце концов ограниченая внутреняя память.... пологаю что достаточно будет какого нибудь DBF в котором будут хранится защифрованые из вне данные.. ДБФ откроется где угодно и когда угодно, сразу отподает масса вопросов типа (А ЧТО ДЕЛАТЬ НА ДЕСКТОПЕ)
- еще вариант это тупо TXT черз запятую, еще лехче обрабатывать, еще больше возможностей по открытию на ИНО-ПЛАТФОРМАХ

Сколько нам нужно полей? Ну скажем 10.
1 - Тип записи (мыло, форум, членство, виза, ос, ...)
2 - Категория (домашние, рабочие, жены, друзей, ...)
3 - Описание (имя домашней сети)
далее идут поля из шаблона (в соответсвии с Типом записи)
4 - Логин
5 - Пароль
6 - Урл статистики
7 - Телефон сапорта
8 - Заметка
9, 0 - по усмотрению
+Техническое поле где описано какая из предидущих записей зашифрована

gLobster @ 17-01-2008 20:53:12

Ну вообще-то dbf - далеко не распространенный формат. Это чисто виндовый. Ему, как и любому другому; нужен интерфейс. Вы не поверите, наверно, но в той же винде через odbc обращение к нему идет на sql.

Самый распространенный формат - текстовый (xml). Именно он позиционируется как максимально переносимый.

Кстати, как программист с 22 летним стажем на C, я на маемо библиотеки доступа к DataBaseFiles III не видел. А вот xml и sqlite  - в базовой поставке

gLobster @ 17-01-2008 21:00:52

Да, и с тяжелым наследием 1С давайте бороться. В самом начале я декларировал, что структура должна быть переменной. Не двумерная таблица. Мы же собираемся хранить что угодно, причем самим пользователем легко модифицируемое. Типа есть шаблон записи, описывающий состав полей, и сами записи.

Wall @ 18-01-2008 00:27:23

Предлагаю всеже посмотреть на структуру базы pwsafe для начала. Если она нас устроит, то это будет на мой взгляд лучшим решением.

dik @ 18-01-2008 00:48:08

Wall :
pwsafe вы имеете в виду maemo`вский проект или у него ещё десктопный аналог есть ?
http://sourceforge.net/projects/pwsafe   

Wall @ 18-01-2008 03:46:59

Я имел в виду формат хранилища, который используется в password safe. Судя по тому, что я прочитал он достаточно распространен и
используется в следующих продуктах:
http://passwordsafe.sourceforge.net/   
http://nsd.dyndns.org/pwsafe/   
http://www.semanticgap.com/myps/   
http://www.fpx.de/fp/Software/Gorilla/   
http://keepass.info/   
и т.д.

Изначально это была разработка Counterpane Labs, а сейчас она ведется открыто и существует много софта, который этот формат базы поддерживает на всех известных платформах.

Вот описание формата его базы версии 3(текущей по-моему):
http://keybox.rubyforge.org/password-sa … ormat.html   

gLobster @ 18-01-2008 03:54:28

Но это формат файла с жёсткой структурой записи. Ориентирован исключительно на хранение паролей. С временем жизни и прочими иными аттрибутами. На персональную информацию не натянуть. Так что или проект вырождается в продвинутый вьювер для паролей кросс-платформенный, или нам этот формат не катит.

Wall @ 18-01-2008 04:37:34

Может и так. Но он и вроде задумывался как таковой? И не вьювер, а менеджер.
Давайте посмотрим какие из наших требований делают этот формат непригодным и решим что важнее - поиметь переносимость
между платформами задаром или все-таки реализовать все требования. Если первое - наш выбор за pwsafe, если второе - отметаем его, как непригодный.
Я исхожу из того, что требования - это не догма, это пожелания и их можно и нужно корректировать.

dik @ 18-01-2008 05:08:24

альтернатива - xml формат figaro password manager который юзают почти все pm менеджеры на python из представленного списка.

я более за xml.

gLobster @ 18-01-2008 05:25:10

Меня заботят мои карточки пластиковые, телефонные и серийники к продуктам. Конечно можно притянуть за уши к логину-паролю, но криво. Я поэтому в сторону более универсального поглядываю

dik @ 18-01-2008 05:54:15

+ может быть для такой программы пригодился бы рукописный ввод стилусом как в maemopad+ - по быстрому записать что то

Но эдак получится что проще приделать шифрование заметок к maemopad+ :)

Wall @ 18-01-2008 06:09:46

Я не против начать с того, что есть в figaro/kadpm, но делать все так, чтобы бэкэнд можно было поменять.
Нужно учитывать, что при замене бэкэнда возможно некторый функционал должен быть отключен. Таким образом можно будет поддержать тот же pwsafe и другие форматы.

dik @ 18-01-2008 06:25:03

т/е модульность должна иметь место быть

dik @ 18-01-2008 06:44:30

revelation может быть и с passwordsafe работает ?
http://svn.codepoet.no/revelation/brows … /pwsafe.py   
ага :
Import/export: can handle datafiles from
        Password Safe 1.x and 2.x, GPass 0.4.x and 0.5.x, Figaro's
        Password Manager, MyPasswordSafe, Password Gorilla, .netrc, XML, and
        plain text.

dik @ 18-01-2008 07:01:24

Код:

dik@storm:~$ kedpm --help
Ked Password Manager
Usage /usr/bin/kedpm [option]:

Recognized options:
    -c, --frontend=cli: Run command line interface.
    -g, --frontend=gtk: Run GTK2 graphical interface.
    
    -?, -h, --help: print this message
dik@storm:~$ kedpm -c
Ked Password Manager (version 0.4.0)
Provide password to access the database (Ctrl-C to exit)
Password: 
Password accepted.

Ked Password Manager is ready for operation.
try 'help' for brief description of available commands

kedpm:/> help

попробовал из командной строки - прикольно.
С автором пообщался - заниматься проектом в ближайшее время он не собирается.

revelation конечно более функционален. Но содержит много gnome штучек. Думаю и из того и из другого можно много чего взять.

Wall @ 18-01-2008 07:52:14

Оч хорошо.

ChAS @ 20-01-2008 03:00:35

к вопросу о модульности. а разве открытый код не подразумивает. "... На бери переписывай как хочеш ..." Всетаки согласитесть основная наша задача это иметь мобильную (читай заточеную под ТАБЛЕТКУ) базу данных паролей. Нет десктопная версия конечно нужна... Но в первую очередь как резервное хранилище мобильной ДБ. Похорошему, взять уже чейто (десткопный) формать БД, это очень хорошая мысль, так мы с экономими нервы-время-ресурсы. Потом уже можно будет обсуждать, чтото сверху того. Насколько я знаю XML тем и хорош, что его можно расширять без потери взаимодействия. исходя их выше сказоного kedpm - мой выбор :)