summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/sshkeys/sshkeys.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/noncore/settings/sshkeys/sshkeys.cpp b/noncore/settings/sshkeys/sshkeys.cpp
index 5095d16..701356a 100644
--- a/noncore/settings/sshkeys/sshkeys.cpp
+++ b/noncore/settings/sshkeys/sshkeys.cpp
@@ -32,196 +32,196 @@ SSHKeysApp::SSHKeysApp( QWidget* parent, const char* name, WFlags fl )
32 this, SLOT(ssh_add_exited(OProcess*))); 32 this, SLOT(ssh_add_exited(OProcess*)));
33 33
34 connect(KeyFileName, SIGNAL(textChanged(const QString&)), 34 connect(KeyFileName, SIGNAL(textChanged(const QString&)),
35 this, SLOT(add_text_changed(const QString&))); 35 this, SLOT(add_text_changed(const QString&)));
36 36
37 if (home) { 37 if (home) {
38 for (i = 0; i < sizeof(keynames)/sizeof(keynames[0]); i++) { 38 for (i = 0; i < sizeof(keynames)/sizeof(keynames[0]); i++) {
39 char thiskeyname[32]; 39 char thiskeyname[32];
40 40
41 thiskeyname[31] = 0; 41 thiskeyname[31] = 0;
42 snprintf(thiskeyname, 31, "%s/.ssh/%s", home, keynames[i]); 42 snprintf(thiskeyname, 31, "%s/.ssh/%s", home, keynames[i]);
43 if (!access(thiskeyname, R_OK)) { 43 if (!access(thiskeyname, R_OK)) {
44 KeyFileName->insertItem(thiskeyname); 44 KeyFileName->insertItem(thiskeyname);
45 } 45 }
46 } 46 }
47 } 47 }
48 48
49 doRefreshListButton(); 49 doRefreshListButton();
50} 50}
51 51
52SSHKeysApp::~SSHKeysApp() 52SSHKeysApp::~SSHKeysApp()
53{ 53{
54} 54}
55 55
56void SSHKeysApp::doRefreshListButton() 56void SSHKeysApp::doRefreshListButton()
57{ 57{
58 OProcess sshadd_process; 58 OProcess sshadd_process;
59 QListViewItem *t = KeyList->firstChild(); 59 QListViewItem *t = KeyList->firstChild();
60 60
61 while(t) { 61 while(t) {
62 QListViewItem *next = t->nextSibling(); 62 QListViewItem *next = t->nextSibling();
63 KeyList->takeItem(t); 63 KeyList->takeItem(t);
64 delete(t); 64 delete(t);
65 t = next; 65 t = next;
66 } 66 }
67 67
68 connect(&sshadd_process, SIGNAL(receivedStdout(OProcess*,char*,int)), 68 connect(&sshadd_process, SIGNAL(receivedStdout(OProcess*,char*,int)),
69 this, SLOT(get_list_keys_output(OProcess*,char*,int))); 69 this, SLOT(get_list_keys_output(OProcess*,char*,int)));
70 70
71 keystate = KeySize; 71 keystate = KeySize;
72 incoming_keyname=""; 72 incoming_keyname="";
73 incoming_keysize=""; 73 incoming_keysize="";
74 incoming_keyfingerprint=""; 74 incoming_keyfingerprint="";
75 75
76 //log_text("Running ssh-add -l"); 76 //log_text("Running ssh-add -l");
77 sshadd_process << "ssh-add" << "-l"; 77 sshadd_process << "ssh-add" << "-l";
78 bool ret = sshadd_process.start(OProcess::Block, OProcess::AllOutput); 78 bool ret = sshadd_process.start(OProcess::Block, OProcess::AllOutput);
79 if (!ret) { 79 if (!ret) {
80 log_text("Error running ssh-add"); 80 log_text(tr("Error running ssh-add"));
81 return; 81 return;
82 } 82 }
83 83
84} 84}
85 85
86void SSHKeysApp::get_list_keys_output(OProcess *proc, char *buffer, int buflen) 86void SSHKeysApp::get_list_keys_output(OProcess *proc, char *buffer, int buflen)
87{ 87{
88 int i; 88 int i;
89 (void) proc; 89 (void) proc;
90 90
91 for (i=0; i<buflen; i++) { 91 for (i=0; i<buflen; i++) {
92 switch(keystate) { 92 switch(keystate) {
93 case Noise: 93 case Noise:
94 noise: 94 noise:
95 if (buffer[i] == '\n') { 95 if (buffer[i] == '\n') {
96 log_text(incoming_noise.local8Bit()); 96 log_text(incoming_noise.local8Bit());
97 incoming_noise = ""; 97 incoming_noise = "";
98 keystate = KeySize; 98 keystate = KeySize;
99 } else { 99 } else {
100 incoming_noise += buffer[i]; 100 incoming_noise += buffer[i];
101 } 101 }
102 break; 102 break;
103 103
104 case KeySize: 104 case KeySize:
105 if (isdigit(buffer[i])) { 105 if (isdigit(buffer[i])) {
106 incoming_keysize += buffer[i]; 106 incoming_keysize += buffer[i];
107 } else if (buffer[i] == ' ') { 107 } else if (buffer[i] == ' ') {
108 keystate = KeyFingerprint; 108 keystate = KeyFingerprint;
109 } else { 109 } else {
110 incoming_keysize = ""; 110 incoming_keysize = "";
111 incoming_noise = ""; 111 incoming_noise = "";
112 keystate = Noise; 112 keystate = Noise;
113 goto noise; 113 goto noise;
114 } 114 }
115 break; 115 break;
116 116
117 case KeyFingerprint: 117 case KeyFingerprint:
118 if (isxdigit(buffer[i]) || buffer[i] == ':') { 118 if (isxdigit(buffer[i]) || buffer[i] == ':') {
119 incoming_keyfingerprint += buffer[i]; 119 incoming_keyfingerprint += buffer[i];
120 } else if (buffer[i] == ' ') { 120 } else if (buffer[i] == ' ') {
121 keystate = KeyName; 121 keystate = KeyName;
122 } else { 122 } else {
123 incoming_keysize = ""; 123 incoming_keysize = "";
124 incoming_keyfingerprint = ""; 124 incoming_keyfingerprint = "";
125 incoming_noise = ""; 125 incoming_noise = "";
126 keystate = Noise; 126 keystate = Noise;
127 goto noise; 127 goto noise;
128 } 128 }
129 break; 129 break;
130 130
131 case KeyName: 131 case KeyName:
132 if (buffer[i] == '\n') { 132 if (buffer[i] == '\n') {
133 /* Wheee. Got one. */ 133 /* Wheee. Got one. */
134 KeyList->insertItem(new 134 KeyList->insertItem(new
135 QListViewItem(KeyList, incoming_keyname, incoming_keysize, incoming_keyfingerprint)); 135 QListViewItem(KeyList, incoming_keyname, incoming_keysize, incoming_keyfingerprint));
136 incoming_keysize = ""; 136 incoming_keysize = "";
137 incoming_keyfingerprint = ""; 137 incoming_keyfingerprint = "";
138 incoming_keyname = ""; 138 incoming_keyname = "";
139 keystate = KeySize; 139 keystate = KeySize;
140 } else if (isprint(buffer[i])) { 140 } else if (isprint(buffer[i])) {
141 incoming_keyname += buffer[i]; 141 incoming_keyname += buffer[i];
142 } else { 142 } else {
143 incoming_keysize = ""; 143 incoming_keysize = "";
144 incoming_keyfingerprint = ""; 144 incoming_keyfingerprint = "";
145 incoming_noise = ""; 145 incoming_noise = "";
146 keystate = Noise; 146 keystate = Noise;
147 goto noise; 147 goto noise;
148 } 148 }
149 break; 149 break;
150 } 150 }
151 } 151 }
152} 152}
153 153
154void SSHKeysApp::log_sshadd_output(OProcess *proc, char *buffer, int buflen) 154void SSHKeysApp::log_sshadd_output(OProcess *proc, char *buffer, int buflen)
155{ 155{
156 (void)proc; 156 (void)proc;
157 (void)buflen; 157 (void)buflen;
158 158
159 log_text(buffer); 159 log_text(buffer);
160} 160}
161 161
162void SSHKeysApp::ssh_add_exited(OProcess *proc) 162void SSHKeysApp::ssh_add_exited(OProcess *proc)
163{ 163{
164 (void)proc; 164 (void)proc;
165 165
166 doRefreshListButton(); 166 doRefreshListButton();
167 setEnabled(TRUE); 167 setEnabled(TRUE);
168 if (proc->exitStatus()) { 168 if (proc->exitStatus()) {
169 169
170 log_text(QString("ssh-add failed")); 170 log_text(QString(tr("ssh-add failed")));
171 } 171 }
172} 172}
173 173
174void SSHKeysApp::add_text_changed(const QString &text) 174void SSHKeysApp::add_text_changed(const QString &text)
175{ 175{
176 struct stat sbuf; 176 struct stat sbuf;
177 177
178 if (!text.length() || (!access(text.ascii(), R_OK) && 178 if (!text.length() || (!access(text.ascii(), R_OK) &&
179 !stat(text.ascii(), &sbuf) && 179 !stat(text.ascii(), &sbuf) &&
180 S_ISREG(sbuf.st_mode))) 180 S_ISREG(sbuf.st_mode)))
181 AddButton->setEnabled(TRUE); 181 AddButton->setEnabled(TRUE);
182 else 182 else
183 AddButton->setEnabled(FALSE); 183 AddButton->setEnabled(FALSE);
184} 184}
185 185
186void SSHKeysApp::doAddButton() 186void SSHKeysApp::doAddButton()
187{ 187{
188 addprocess.clearArguments(); 188 addprocess.clearArguments();
189 189
190 setEnabled(FALSE); 190 setEnabled(FALSE);
191 191
192 if (KeyFileName->currentText().length()) { 192 if (KeyFileName->currentText().length()) {
193 addprocess << "ssh-add" << "--" << KeyFileName->currentText(); 193 addprocess << "ssh-add" << "--" << KeyFileName->currentText();
194 log_text(QString("Running ssh-add -- ") + KeyFileName->currentText()); 194 log_text(QString(tr("Running ssh-add -- ")) + KeyFileName->currentText());
195 } else { 195 } else {
196 addprocess << "ssh-add"; 196 addprocess << "ssh-add";
197 log_text("Running ssh-add"); 197 log_text(tr("Running ssh-add"));
198 } 198 }
199 bool ret = addprocess.start(OProcess::NotifyOnExit, OProcess::AllOutput); 199 bool ret = addprocess.start(OProcess::NotifyOnExit, OProcess::AllOutput);
200 if (!ret) { 200 if (!ret) {
201 log_text("Error running ssh-add"); 201 log_text(tr("Error running ssh-add"));
202 doRefreshListButton(); 202 doRefreshListButton();
203 setEnabled(TRUE); 203 setEnabled(TRUE);
204 } 204 }
205} 205}
206 206
207void SSHKeysApp::log_text(const char *text) 207void SSHKeysApp::log_text(const char *text)
208{ 208{
209 TextOutput->append(text); 209 TextOutput->append(text);
210 TextOutput->setCursorPosition(TextOutput->numLines()+1, 0, FALSE); 210 TextOutput->setCursorPosition(TextOutput->numLines()+1, 0, FALSE);
211} 211}
212 212
213void SSHKeysApp::doRemoveAllButton() 213void SSHKeysApp::doRemoveAllButton()
214{ 214{
215 OProcess sshadd_process; 215 OProcess sshadd_process;
216 216
217 connect(&sshadd_process, SIGNAL(receivedStdout(OProcess*,char*,int)), 217 connect(&sshadd_process, SIGNAL(receivedStdout(OProcess*,char*,int)),
218 this, SLOT(log_sshadd_output(OProcess*,char*,int))); 218 this, SLOT(log_sshadd_output(OProcess*,char*,int)));
219 219
220 log_text("Running ssh-add -D"); 220 log_text(tr("Running ssh-add -D"));
221 sshadd_process << "ssh-add" << "-D"; 221 sshadd_process << "ssh-add" << "-D";
222 bool ret = sshadd_process.start(OProcess::Block, OProcess::AllOutput); 222 bool ret = sshadd_process.start(OProcess::Block, OProcess::AllOutput);
223 if (!ret) { 223 if (!ret) {
224 log_text("Error running ssh-add"); 224 log_text(tr("Error running ssh-add"));
225 } 225 }
226 doRefreshListButton(); 226 doRefreshListButton();
227} 227}