Send password.
authorfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Sun, 6 Nov 2005 00:22:02 +0000 (00:22 +0000)
committerfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Sun, 6 Nov 2005 00:22:02 +0000 (00:22 +0000)
git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/doldaconnect@480 959494ce-11ee-0310-bf91-de5d638817bd

daemon/fnet-dc.c

index ed10928..ed01d06 100644 (file)
@@ -1426,6 +1426,28 @@ static void cmd_usercommand(struct socket *sk, struct fnetnode *fn, char *cmd, c
     /* Do nothing for now. */
 }
 
+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);
+    hubhandleaction(sk, fn, cmd, args);
+}
+
 static void cmd_mynick(struct socket *sk, struct dcpeer *peer, char *cmd, char *args)
 {
     struct dcexppeer *expect;
@@ -2471,6 +2493,7 @@ struct command hubcmds[] =
     {"$To:", cc(cmd_to)},
     {"$SR", cc(cmd_sr)},
     {"$UserCommand", cc(cmd_usercommand)},
+    {"$GetPass", cc(cmd_getpass)},
     {NULL, NULL}
 };