{"shas":[["895d76649947250a2c439486bb2e4f56d3c1d263","08a5564a79b3d56562ff091aa4077e9abd0cdc3e@kylefuller.co.uk","Only run NETWORKMODULECALL from MODULECALL if we have a network","Kyle Fuller"],["9e3019db72c1d49727766ff2b252acf3a3ec4c53","346c0ad49ac8427b61b3b55abbe37dc0ebd524f2@znc.in","Remove MODULECALL macro\n\nDepending on which of its arguments where NULL, that macro called network / user\nmodules or not. While this is nice in that it avoids crashes, this behavior\nactually surprised me and I'd rather have the caller explicitly say what it\nwanted to do.\n\nThis macro is replaced with explicit calls to {GLOBAL,USER,NETWORKMODULECALL}.\n\nSince there are actually module calls which do provide a CClient*, but may\nhappen before login (OnUnknownUserRaw() and the 3 CAP hooks), those are changed\nto get the client pointer as their first argument. This should make it more\nobvious that these module calls are special.\n\nThis commit should make it easier to catch bugs like the recent\nOnClientDisconnected() with m_pUser == NULL.\n\nSigned-off-by: Uli Schlachter <psychon@znc.in>","Uli Schlachter"],["3e9ad07d8530021da49c5678de65c5016c1b8e7a","346c0ad49ac8427b61b3b55abbe37dc0ebd524f2@znc.in","Fix a crash with OnClientLogin()\n\nA client doesn't necessarily have a network after logging in (e.g. could have\nused an invalid network name).\n\nThis is another crash found by exoa, thanks.\n\nSigned-off-by: Uli Schlachter <psychon@znc.in>","Uli Schlachter"],["64ae6f30fb879cf51b36014e77d2027470313e9d","346c0ad49ac8427b61b3b55abbe37dc0ebd524f2@znc.in","Fix ALLMODULECALL()\n\nIt didn't call network modules, so stuff like OnBoot() wasn't sent to network\nmodules.\n\nSigned-off-by: Uli Schlachter <psychon@znc.in>","Uli Schlachter"],["6686c0de79411811ac3e98f6a9191d083d6800fd","08a5564a79b3d56562ff091aa4077e9abd0cdc3e@kylefuller.co.uk","Support having a nickname per network","Kyle Fuller"]],"ref":"refs/heads/master","size":5,"head":"6686c0de79411811ac3e98f6a9191d083d6800fd","push_id":42425009}