From: fredrik Date: Thu, 4 Jan 2007 00:20:19 +0000 (+0000) Subject: Add owner concept to fnetnodes. X-Git-Tag: 0.3~126 X-Git-Url: http://dolda2000.com/gitweb/?p=doldaconnect.git;a=commitdiff_plain;h=a3a4a3a7ae1030512acfd849bb184b9d2264c24d Add owner concept to fnetnodes. git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/doldaconnect@801 959494ce-11ee-0310-bf91-de5d638817bd --- diff --git a/daemon/filenet.c b/daemon/filenet.c index 5e2b607..be6c5af 100644 --- a/daemon/filenet.c +++ b/daemon/filenet.c @@ -121,6 +121,8 @@ void putfnetnode(struct fnetnode *fn) free(fn->name); if(fn->sk != NULL) putsock(fn->sk); + if(fn->owner != NULL) + free(fn->owner); free(fn); numfnetnodes--; } @@ -444,7 +446,7 @@ struct fnet *findfnet(wchar_t *name) return(fnet); } -struct fnetnode *fnetinitconnect(wchar_t *name, char *addr, struct wcspair *args) +struct fnetnode *fnetinitconnect(wchar_t *name, wchar_t *owner, char *addr, struct wcspair *args) { struct fnet *fnet; struct fnetnode *fn; @@ -456,6 +458,7 @@ struct fnetnode *fnetinitconnect(wchar_t *name, char *addr, struct wcspair *args return(NULL); } fn = newfn(fnet); + fn->owner = swcsdup(owner); fn->pubid = icmbstowcs(addr, NULL); if(fn->pubid == NULL) fn->pubid = swcsdup(L""); diff --git a/daemon/filenet.h b/daemon/filenet.h index 3700bca..261b1ba 100644 --- a/daemon/filenet.h +++ b/daemon/filenet.h @@ -102,6 +102,7 @@ struct fnetnode time_t srchwait, lastsrch; wchar_t *name, *pubid; wchar_t *mynick; + wchar_t *owner; struct fnet *fnet; struct socket *sk; struct fnetpeerdatum *peerdata; @@ -123,7 +124,7 @@ void fnetsetname(struct fnetnode *fn, wchar_t *newname); void fnetsetstate(struct fnetnode *fn, int newstate); int fnetsetnick(struct fnetnode *fn, wchar_t *newnick); struct fnet *findfnet(wchar_t *name); -struct fnetnode *fnetinitconnect(wchar_t *name, char *addr, struct wcspair *args); +struct fnetnode *fnetinitconnect(wchar_t *name, wchar_t *owner, char *addr, struct wcspair *args); void linkfnetnode(struct fnetnode *fn); void unlinkfnetnode(struct fnetnode *fn); void getfnetnode(struct fnetnode *fn); diff --git a/daemon/fnet-dc.c b/daemon/fnet-dc.c index 4036ff8..b3b9afe 100644 --- a/daemon/fnet-dc.c +++ b/daemon/fnet-dc.c @@ -1017,7 +1017,7 @@ static void cmd_forcemove(struct socket *sk, struct fnetnode *fn, char *cmd, cha } else { freeargs = 0; } - if((newfn = fnetinitconnect(L"dc", args, NULL)) != NULL) + if((newfn = fnetinitconnect(L"dc", fn->owner, args, NULL)) != NULL) { linkfnetnode(newfn); putfnetnode(newfn); diff --git a/daemon/ui.c b/daemon/ui.c index df421ec..96c1eb7 100644 --- a/daemon/ui.c +++ b/daemon/ui.c @@ -590,7 +590,7 @@ static void cmd_fnetconnect(struct socket *sk, struct uidata *data, int argc, wc args = NULL; for(i = 3; i < argc - 1; i += 2) newwcspair(argv[i], argv[i + 1], &args); - fn = fnetinitconnect(argv[1], buf, args); + fn = fnetinitconnect(argv[1], data->userinfo->name, buf, args); err = errno; free(buf); if(fn == NULL)