(nat_ca, cou_ca, ef_init_srv, xdvisible): Plug major information leak:
nat_ca[] was designed for visibility to the owner only, while cou_ca[] was designed for the public. xdvisible() implemented that for xdump. But selectors don't care for that! Since nat_ca[] applies to EF_NATION, it must be for public visibility. Broken in 4.2.21. Fix by exchanging contents of nat_ca[] and and cou_ca[]. This breaks clients relying on xdump.
This commit is contained in:
parent
548bc5bbdc
commit
93b6a54356
3 changed files with 11 additions and 11 deletions
|
@ -215,9 +215,9 @@ xdvisible(int type, void *p)
|
|||
case EF_LOST:
|
||||
return gp->own != 0 && (gp->own == player->cnum || player->god);
|
||||
case EF_NATION:
|
||||
return gp->own == player->cnum;
|
||||
case EF_COUNTRY:
|
||||
return ((struct natstr *)p)->nat_stat != STAT_UNUSED;
|
||||
case EF_COUNTRY:
|
||||
return gp->own == player->cnum;
|
||||
case EF_NEWS:
|
||||
return ((struct nwsstr *)p)->nws_vrb != 0
|
||||
&& (!opt_HIDDEN || player->god); /* FIXME */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue