Commit 0d83100
committed
ab_tree: restore pre-filtering of objects with AB_HIDE_FROM_GAL for NSP
ab_base::m_users always carries all users (no hiding), because
different users can have different cloak_bits.
zcore has knowledge about when a GAL container is to be opened, and
that it has to create a MAPI table for it. So, zcore will make a copy
of the corresponding ab_base user list, curate it (filter hidden
users), and then attach the list object to the MAPI table for later
cleanup.
Unlike zcore RPC or EMSMDB, the NSPI protocol is rather stateless. A
server does not know when the client-side MAPI implementation opens a
GAL container/creates a MAPI table. All we see are requests "read GAL
at x, for y rows". This means that ab_base needs to do the filtering
ahead of time and keep that state, since nsp/ has no (good) way to
keep it.
That filtered list for container 0 was lost in the ab_tree rewrite.
Reinstate it.
The filtered list for container ids !=0 was retained, but was not
filtered.
Fixes: gromox-2.40-23-g91fc5e139
References: GXL-611, DESK-35461 parent 36bd364 commit 0d83100
File tree
4 files changed
+39
-15
lines changed- exch/nsp
- include/gromox
- lib
4 files changed
+39
-15
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
634 | 634 | | |
635 | 635 | | |
636 | 636 | | |
637 | | - | |
| 637 | + | |
638 | 638 | | |
639 | 639 | | |
640 | 640 | | |
| |||
647 | 647 | | |
648 | 648 | | |
649 | 649 | | |
650 | | - | |
651 | 650 | | |
652 | 651 | | |
653 | | - | |
| 652 | + | |
| 653 | + | |
654 | 654 | | |
655 | | - | |
| 655 | + | |
656 | 656 | | |
657 | 657 | | |
658 | 658 | | |
| |||
671 | 671 | | |
672 | 672 | | |
673 | 673 | | |
674 | | - | |
| 674 | + | |
675 | 675 | | |
676 | 676 | | |
677 | 677 | | |
678 | 678 | | |
679 | 679 | | |
680 | | - | |
681 | | - | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
682 | 683 | | |
683 | 684 | | |
684 | 685 | | |
| |||
867 | 868 | | |
868 | 869 | | |
869 | 870 | | |
870 | | - | |
| 871 | + | |
871 | 872 | | |
872 | 873 | | |
873 | 874 | | |
| |||
894 | 895 | | |
895 | 896 | | |
896 | 897 | | |
897 | | - | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
898 | 901 | | |
899 | 902 | | |
900 | 903 | | |
| |||
1010 | 1013 | | |
1011 | 1014 | | |
1012 | 1015 | | |
1013 | | - | |
| 1016 | + | |
1014 | 1017 | | |
1015 | 1018 | | |
1016 | | - | |
| 1019 | + | |
1017 | 1020 | | |
1018 | 1021 | | |
1019 | 1022 | | |
1020 | 1023 | | |
1021 | 1024 | | |
1022 | 1025 | | |
1023 | 1026 | | |
1024 | | - | |
| 1027 | + | |
1025 | 1028 | | |
1026 | 1029 | | |
1027 | 1030 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
245 | 245 | | |
246 | 246 | | |
247 | 247 | | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
248 | 254 | | |
249 | 255 | | |
250 | 256 | | |
| |||
263 | 269 | | |
264 | 270 | | |
265 | 271 | | |
| 272 | + | |
266 | 273 | | |
267 | 274 | | |
268 | 275 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | | - | |
67 | 66 | | |
68 | 67 | | |
69 | 68 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
214 | 214 | | |
215 | 215 | | |
216 | 216 | | |
217 | | - | |
218 | | - | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
219 | 223 | | |
220 | 224 | | |
221 | 225 | | |
| |||
252 | 256 | | |
253 | 257 | | |
254 | 258 | | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
255 | 264 | | |
256 | 265 | | |
257 | 266 | | |
| |||
741 | 750 | | |
742 | 751 | | |
743 | 752 | | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
744 | 759 | | |
745 | 760 | | |
746 | 761 | | |
| |||
0 commit comments