author | dwmw2 <dwmw2> | 2002-09-19 20:44:40 (UTC) |
---|---|---|
committer | dwmw2 <dwmw2> | 2002-09-19 20:44:40 (UTC) |
commit | f4162d2283ebf0327645e0ac66b539cf87565d0b (patch) (unidiff) | |
tree | e15f52a57ad9af4ab9581d63a35cee05510742c9 | |
parent | 9c39f0983a3b8d280ee651d578593ed2196f2607 (diff) | |
download | opie-f4162d2283ebf0327645e0ac66b539cf87565d0b.zip opie-f4162d2283ebf0327645e0ac66b539cf87565d0b.tar.gz opie-f4162d2283ebf0327645e0ac66b539cf87565d0b.tar.bz2 |
Initial import of half-finished ssh-agent key management tool.
-rw-r--r-- | noncore/settings/sshkeys/main.cpp | 14 | ||||
-rw-r--r-- | noncore/settings/sshkeys/opie-sshkeys.control | 8 | ||||
-rw-r--r-- | noncore/settings/sshkeys/sshkeys.cpp | 58 | ||||
-rw-r--r-- | noncore/settings/sshkeys/sshkeys.h | 27 | ||||
-rw-r--r-- | noncore/settings/sshkeys/sshkeys.pro | 11 | ||||
-rw-r--r-- | noncore/settings/sshkeys/sshkeysbase.ui | 143 |
6 files changed, 261 insertions, 0 deletions
diff --git a/noncore/settings/sshkeys/main.cpp b/noncore/settings/sshkeys/main.cpp new file mode 100644 index 0000000..37be8bf --- a/dev/null +++ b/noncore/settings/sshkeys/main.cpp | |||
@@ -0,0 +1,14 @@ | |||
1 | |||
2 | #include <qpe/qpeapplication.h> | ||
3 | #include "sshkeys.h" | ||
4 | |||
5 | int main(int argc, char *argv[]) | ||
6 | { | ||
7 | QPEApplication a(argc, argv); | ||
8 | SSHKeysApp app; | ||
9 | |||
10 | a.showMainWidget(&app); | ||
11 | |||
12 | return a.exec(); | ||
13 | } | ||
14 | |||
diff --git a/noncore/settings/sshkeys/opie-sshkeys.control b/noncore/settings/sshkeys/opie-sshkeys.control new file mode 100644 index 0000000..1f4b669 --- a/dev/null +++ b/noncore/settings/sshkeys/opie-sshkeys.control | |||
@@ -0,0 +1,8 @@ | |||
1 | Files: bin/sshkeys | ||
2 | Priority: optional | ||
3 | Section: opie/settings | ||
4 | Maintainer: David Woodhouse <dwmw2@infradead.org> | ||
5 | Architecture: arm | ||
6 | Version: $QPE_VERSION-$SUB_VERSION | ||
7 | Depends: opie-base ($QPE_VERSION), ssh, opie-sh-ssh-askpass | ||
8 | Description: Utility for managing ssh-agent keys. | ||
diff --git a/noncore/settings/sshkeys/sshkeys.cpp b/noncore/settings/sshkeys/sshkeys.cpp new file mode 100644 index 0000000..08ce18d --- a/dev/null +++ b/noncore/settings/sshkeys/sshkeys.cpp | |||
@@ -0,0 +1,58 @@ | |||
1 | #include "sshkeys.h" | ||
2 | |||
3 | #include <qpe/qpeapplication.h> | ||
4 | #include <opie/oprocess.h> | ||
5 | #include <qmultilineedit.h> | ||
6 | #include <qpushbutton.h> | ||
7 | #include <qtable.h> | ||
8 | |||
9 | SSHKeysApp::SSHKeysApp( QWidget* parent, const char* name, WFlags fl ) | ||
10 | : SSHKeysBase( parent, name, fl ) | ||
11 | { | ||
12 | |||
13 | connect(AddButton, SIGNAL(clicked()), this, SLOT(doAddButton())); | ||
14 | connect(RefreshListButton, SIGNAL(clicked()), this, SLOT(doRefreshListButton())); | ||
15 | connect(RemoveAllButton, SIGNAL(clicked()), this, SLOT(doRemoveAllButton())); | ||
16 | |||
17 | KeyList->horizontalHeader()->setLabel(0, tr("Key")); | ||
18 | KeyList->horizontalHeader()->setLabel(1, tr("Size")); | ||
19 | KeyList->horizontalHeader()->setLabel(2, tr("Fingerprint")); | ||
20 | |||
21 | doRefreshListButton(); | ||
22 | } | ||
23 | |||
24 | SSHKeysApp::~SSHKeysApp() | ||
25 | { | ||
26 | } | ||
27 | |||
28 | void SSHKeysApp::doRefreshListButton() | ||
29 | { | ||
30 | OProcess sshadd_process; | ||
31 | |||
32 | connect(&sshadd_process, SIGNAL(receivedStdout(OProcess*,char*,int)), | ||
33 | this, SLOT(get_list_keys_output(OProcess*,char*,int))); | ||
34 | |||
35 | TextOutput->append("Running ssh-add -l\n"); | ||
36 | sshadd_process << "ssh-add" << "-l"; | ||
37 | bool ret = sshadd_process.start(OProcess::Block, OProcess::AllOutput); | ||
38 | if (!ret) | ||
39 | TextOutput->append("Error running ssh-add\n"); | ||
40 | KeyList->setText(0, 0, "dwmw2@infradead.org (RSA v1)"); | ||
41 | KeyList->setText(0, 1, "1024"); | ||
42 | KeyList->setText(0, 2, "78:24:04:95:40:fc:b2:80:9b:94:d5:ae:19:56:19:65"); | ||
43 | } | ||
44 | |||
45 | void SSHKeysApp::get_list_keys_output(OProcess *proc, char *buffer, int buflen) | ||
46 | { | ||
47 | TextOutput->append(buffer); | ||
48 | } | ||
49 | |||
50 | |||
51 | void SSHKeysApp::doAddButton() | ||
52 | { | ||
53 | |||
54 | } | ||
55 | void SSHKeysApp::doRemoveAllButton() | ||
56 | { | ||
57 | |||
58 | } | ||
diff --git a/noncore/settings/sshkeys/sshkeys.h b/noncore/settings/sshkeys/sshkeys.h new file mode 100644 index 0000000..4a9f2fe --- a/dev/null +++ b/noncore/settings/sshkeys/sshkeys.h | |||
@@ -0,0 +1,27 @@ | |||
1 | |||
2 | #ifndef SSHKEYSAPP_H | ||
3 | #define SSHKEYSAPP_H | ||
4 | |||
5 | #include "sshkeysbase.h" | ||
6 | |||
7 | class OProcess; | ||
8 | |||
9 | class SSHKeysApp : public SSHKeysBase | ||
10 | { | ||
11 | Q_OBJECT | ||
12 | |||
13 | public: | ||
14 | SSHKeysApp( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); | ||
15 | ~SSHKeysApp(); | ||
16 | |||
17 | private: | ||
18 | void sshadd(char **args); | ||
19 | |||
20 | private slots: | ||
21 | void doAddButton(); | ||
22 | void doRefreshListButton(); | ||
23 | void doRemoveAllButton(); | ||
24 | void get_list_keys_output(OProcess *proc, char *buffer, int buflen); | ||
25 | }; | ||
26 | #endif | ||
27 | |||
diff --git a/noncore/settings/sshkeys/sshkeys.pro b/noncore/settings/sshkeys/sshkeys.pro new file mode 100644 index 0000000..33155e3 --- a/dev/null +++ b/noncore/settings/sshkeys/sshkeys.pro | |||
@@ -0,0 +1,11 @@ | |||
1 | TEMPLATE = app | ||
2 | CONFIG += qt warn_on release | ||
3 | HEADERS = sshkeys.h | ||
4 | SOURCES = main.cpp sshkeys.cpp | ||
5 | TARGET = sshkeys | ||
6 | INTERFACES = sshkeysbase.ui | ||
7 | INCLUDEPATH += $(OPIEDIR)/include | ||
8 | DEPENDPATH += $(OPIEDIR)/include | ||
9 | LIBS += -lqpe -lopie | ||
10 | DESTDIR = $(OPIEDIR)/bin | ||
11 | |||
diff --git a/noncore/settings/sshkeys/sshkeysbase.ui b/noncore/settings/sshkeys/sshkeysbase.ui new file mode 100644 index 0000000..dc1df28 --- a/dev/null +++ b/noncore/settings/sshkeys/sshkeysbase.ui | |||
@@ -0,0 +1,143 @@ | |||
1 | <!DOCTYPE UI><UI> | ||
2 | <class>SSHKeysBase</class> | ||
3 | <widget> | ||
4 | <class>QWidget</class> | ||
5 | <property stdset="1"> | ||
6 | <name>name</name> | ||
7 | <cstring>SSHKeysBase</cstring> | ||
8 | </property> | ||
9 | <property stdset="1"> | ||
10 | <name>geometry</name> | ||
11 | <rect> | ||
12 | <x>0</x> | ||
13 | <y>0</y> | ||
14 | <width>736</width> | ||
15 | <height>446</height> | ||
16 | </rect> | ||
17 | </property> | ||
18 | <property stdset="1"> | ||
19 | <name>caption</name> | ||
20 | <string>SSH Keys</string> | ||
21 | </property> | ||
22 | <grid> | ||
23 | <property stdset="1"> | ||
24 | <name>margin</name> | ||
25 | <number>11</number> | ||
26 | </property> | ||
27 | <property stdset="1"> | ||
28 | <name>spacing</name> | ||
29 | <number>6</number> | ||
30 | </property> | ||
31 | <widget row="0" column="1" rowspan="1" colspan="2" > | ||
32 | <class>QComboBox</class> | ||
33 | <property stdset="1"> | ||
34 | <name>name</name> | ||
35 | <cstring>KeyFileName</cstring> | ||
36 | </property> | ||
37 | <property stdset="1"> | ||
38 | <name>sizePolicy</name> | ||
39 | <sizepolicy> | ||
40 | <hsizetype>7</hsizetype> | ||
41 | <vsizetype>0</vsizetype> | ||
42 | </sizepolicy> | ||
43 | </property> | ||
44 | <property stdset="1"> | ||
45 | <name>editable</name> | ||
46 | <bool>true</bool> | ||
47 | </property> | ||
48 | </widget> | ||
49 | <widget row="0" column="0" > | ||
50 | <class>QPushButton</class> | ||
51 | <property stdset="1"> | ||
52 | <name>name</name> | ||
53 | <cstring>AddButton</cstring> | ||
54 | </property> | ||
55 | <property stdset="1"> | ||
56 | <name>sizePolicy</name> | ||
57 | <sizepolicy> | ||
58 | <hsizetype>1</hsizetype> | ||
59 | <vsizetype>0</vsizetype> | ||
60 | </sizepolicy> | ||
61 | </property> | ||
62 | <property stdset="1"> | ||
63 | <name>text</name> | ||
64 | <string>Add Keys:</string> | ||
65 | </property> | ||
66 | </widget> | ||
67 | <widget row="1" column="0" > | ||
68 | <class>QPushButton</class> | ||
69 | <property stdset="1"> | ||
70 | <name>name</name> | ||
71 | <cstring>RefreshListButton</cstring> | ||
72 | </property> | ||
73 | <property stdset="1"> | ||
74 | <name>text</name> | ||
75 | <string>Refresh</string> | ||
76 | </property> | ||
77 | </widget> | ||
78 | <widget row="1" column="1" > | ||
79 | <class>QPushButton</class> | ||
80 | <property stdset="1"> | ||
81 | <name>name</name> | ||
82 | <cstring>RemoveAllButton</cstring> | ||
83 | </property> | ||
84 | <property stdset="1"> | ||
85 | <name>enabled</name> | ||
86 | <bool>false</bool> | ||
87 | </property> | ||
88 | <property stdset="1"> | ||
89 | <name>text</name> | ||
90 | <string>Clear Keys</string> | ||
91 | </property> | ||
92 | </widget> | ||
93 | <widget row="3" column="0" rowspan="1" colspan="3" > | ||
94 | <class>QMultiLineEdit</class> | ||
95 | <property stdset="1"> | ||
96 | <name>name</name> | ||
97 | <cstring>TextOutput</cstring> | ||
98 | </property> | ||
99 | <property stdset="1"> | ||
100 | <name>sizePolicy</name> | ||
101 | <sizepolicy> | ||
102 | <hsizetype>7</hsizetype> | ||
103 | <vsizetype>1</vsizetype> | ||
104 | </sizepolicy> | ||
105 | </property> | ||
106 | <property stdset="1"> | ||
107 | <name>readOnly</name> | ||
108 | <bool>true</bool> | ||
109 | </property> | ||
110 | </widget> | ||
111 | <widget row="2" column="0" rowspan="1" colspan="3" > | ||
112 | <class>QTable</class> | ||
113 | <property stdset="1"> | ||
114 | <name>name</name> | ||
115 | <cstring>KeyList</cstring> | ||
116 | </property> | ||
117 | <property stdset="1"> | ||
118 | <name>font</name> | ||
119 | <font> | ||
120 | <family>adobe-helvetica</family> | ||
121 | <pointsize>9</pointsize> | ||
122 | </font> | ||
123 | </property> | ||
124 | <property stdset="1"> | ||
125 | <name>resizePolicy</name> | ||
126 | <enum>AutoOneFit</enum> | ||
127 | </property> | ||
128 | <property stdset="1"> | ||
129 | <name>numRows</name> | ||
130 | <number>1</number> | ||
131 | </property> | ||
132 | <property stdset="1"> | ||
133 | <name>numCols</name> | ||
134 | <number>3</number> | ||
135 | </property> | ||
136 | <property stdset="1"> | ||
137 | <name>showGrid</name> | ||
138 | <bool>false</bool> | ||
139 | </property> | ||
140 | </widget> | ||
141 | </grid> | ||
142 | </widget> | ||
143 | </UI> | ||