]> jfr.im git - irc/rqf/shadowircd.git/commitdiff
Make metadata use UIDs for s2s communication, and fix up propegation of channel metadata.
authorB.Greenham <redacted>
Mon, 8 Mar 2010 23:09:10 +0000 (18:09 -0500)
committerB.Greenham <redacted>
Mon, 8 Mar 2010 23:09:10 +0000 (18:09 -0500)
modules/core/m_metadata.c
src/client.c
src/s_serv.c
src/s_user.c

index dc85dfb0ab73fb57fd4406faf92fda8ce9fa18fa..ac29da6a1dbd88c7a9ca5bd1f154cf9b92db6c5c 100644 (file)
@@ -50,7 +50,7 @@ me_metadata(struct Client *client_p, struct Client *source_p, int parc, const ch
        {
                struct Client *target_p;
 
-               if((target_p = find_client(parv[2])) == NULL)
+               if((target_p = find_id(parv[2])) == NULL)
                        return;
 
                if(!target_p->user)
index b76caf4ce9a852181613b5859fe311eb136403be..1cc32b4b20c8640b3ce2fdbdb8596a3abf3c446f 100644 (file)
@@ -1957,7 +1957,7 @@ user_metadata_add(struct Client *target, const char *name, const char *value, in
        
        if(propegate)
                sendto_match_servs(&me, "*", CAP_ENCAP, NOCAPS, "ENCAP * METADATA ADD %s %s :%s",
-                               target->name, name, value);
+                               target->id, name, value);
 
        return md;
 }
@@ -1985,7 +1985,7 @@ user_metadata_delete(struct Client *target, const char *name, int propegate)
 
        if(propegate)
                sendto_match_servs(&me, "*", CAP_ENCAP, NOCAPS, "ENCAP * METADATA DELETE %s %s",
-                               target->name, name);
+                               target->id, name);
 }
 
 /*
index 94b26bc981ae283fe99acfdca4182eb47f919403..315e18a3aa50380f374ae84b5e74c7279537f4a3 100644 (file)
@@ -526,7 +526,7 @@ burst_TS6(struct Client *client_p)
                DICTIONARY_FOREACH(md, &iter, target_p->user->metadata)
                {
                        sendto_one(client_p, ":%s ENCAP * METADATA ADD %s %s :%s",
-                                  use_id(target_p), use_id(target_p), md->name, md->value);
+                                  use_id(&me), use_id(target_p), md->name, md->value);
                }
 
                if(ConfigFileEntry.burst_away && !EmptyString(target_p->user->away))
@@ -591,8 +591,8 @@ burst_TS6(struct Client *client_p)
                {
                        /* don't bother bursting +J metadata */
                        if(!(md->name[0] == 'K'))
-                               sendto_one(&me, ":%s ENCAP * METADATA ADD %s %s :%s",
-                                          use_id(target_p), use_id(target_p), md->name, md->value);
+                               sendto_one(client_p, ":%s ENCAP * METADATA ADD %s %s :%s",
+                                          use_id(&me), chptr->chname, md->name, md->value);
                }
 
                if(rb_dlink_list_length(&chptr->banlist) > 0)
index ae3f877efd1b403857747d5fbd2d16bc0452349f..c315565ddd3bcd22e6509806b1a7348fd859e26c 100644 (file)
@@ -1031,8 +1031,6 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, const char
 
                                Count.oper--;
 
-                               /* Do we need to propegate these? I'm not 100% sure
-                                * so we should test it when we have a testnet */
                                user_metadata_delete(source_p, "OPERSTRING", 1);
                                user_metadata_delete(source_p, "SWHOIS", 1);