+static void cmd_getpass(struct socket *sk, struct fnetnode *fn, char *cmd, char *args)
+{
+ struct dchub *hub;
+ struct wcspair *arg;
+ char *mbspw;
+
+ hub = fn->data;
+ for(arg = fn->args; arg != NULL; arg = arg->next)
+ {
+ if(!wcscmp(arg->key, L"password"))
+ break;
+ }
+ if((arg == NULL) || ((mbspw = icwcstombs(arg->val, DCCHARSET)) == NULL))
+ {
+ killfnetnode(fn);
+ return;
+ }
+ qstrf(sk, "$MyPass %s|", mbspw);
+ free(mbspw);
+ fn->regstatus = FNNS_REG;
+ hubhandleaction(sk, fn, cmd, args);
+}
+
+static void cmd_logedin(struct socket *sk, struct fnetnode *fn, char *cmd, char *args)
+{
+ struct dchub *hub;
+
+ hub = fn->data;
+ fn->regstatus = FNNS_OP;
+ hubhandleaction(sk, fn, cmd, args);
+}
+