From gerrit@openafs.org Thu Jul 9 19:35:21 2026 From: gerrit@openafs.org (Gerrit Code Review) Date: Thu, 9 Jul 2026 14:35:21 -0400 Subject: OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-531-g50085ec Message-ID: <202607091835.669IZLOC118907@openafs.MIT.EDU> The following commit has been merged in the master branch: commit 50085ec019c86e9d67e7566ee4da6815cf2f8166 Author: Benjamin Kaduk Date: Thu Jul 9 09:11:51 2026 -0700 Export xdr_afs_time64 from libafsrpc This fixes the following build error on Microsoft Windows: token.xdr.obj : error LNK2019: unresolved external symbol xdr_afs_time64 referenced in function xdr_token_rxgk Change-Id: Ia6763260a22bd50aed4733a90d14e62913529a84 Reviewed-on: https://gerrit.openafs.org/16875 Tested-by: BuildBot Reviewed-by: Michael Meffie src/libafsrpc/afsrpc.def | 1 + 1 file changed, 1 insertion(+) -- OpenAFS Master Repository From gerrit@openafs.org Tue Jul 14 20:02:26 2026 From: gerrit@openafs.org (Gerrit Code Review) Date: Tue, 14 Jul 2026 15:02:26 -0400 Subject: OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-532-gb545979 Message-ID: <202607141902.66EJ2QkU232306@openafs.MIT.EDU> The following commit has been merged in the master branch: commit b54597966494835159f4011077876c5ca1a74006 Author: Andrew Deason Date: Tue Jul 14 09:49:04 2026 -0500 config: Introduce AFS_NONNULL_ALL Since commit 342be35354 (stds.h: introduce AFS_NONNULL), AFS_NONNULL() is invoked in two ways: - AFS_NONNULL() says all pointer arguments to a function must be non-NULL. - AFS_NONNULL((x,y,...)) says that only arguments x, y, etc. to a function must be non-NULL. Invoking AFS_NONNULL with no arguments (or an empty argument) raises a warning on some platforms, such as WINNT, since the macro is defined to take a single argument. This causes problems when we are building with /WX, since these warnings get turned into errors and break the build. For example: cl [...] /c c_ident.cpp c_ident.cpp cl : Command line warning D9025 : overriding '/W4' with '/W3' ...\include\afs/opr.h(104) : error C2220: warning treated as error - no 'object' file generated ...\include\afs/opr.h(104) : warning C4003: not enough actual parameters for macro 'AFS_NONNULL' ...\include\afs/opr.h(105) : warning C4003: not enough actual parameters for macro 'AFS_NONNULL' NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~1.0\VC\bin\amd64\cl.EXE' : return code '0x2' Stop. This issue does not currently break the build, since all objects built with /WX on WINNT appear to not include any headers that invoke AFS_NONNULL(). But future commits may do so. To avoid this, introduce the macro AFS_NONNULL_ALL, which replaces AFS_NONNULL() passed with no arguments. Add some comments to explain the macros. While this could be avoided by suppressing warnings or playing games with varargs macros or other approaches, using separate macros for these two variants should be more straightforward and more likely to avoid platform-specific issues like this. Also adjust all users of AFS_NONNULL() with no arguments to use AFS_NONNULL_ALL instead. Adjusting the callers was automated with this command: $ git grep -l -F 'AFS_NONNULL()' | xargs sed -i -e 's/AFS_NONNULL()/AFS_NONNULL_ALL/g' Change-Id: Ie064e943ffa194ca78302cf9120a55c5771bb46d Reviewed-on: https://gerrit.openafs.org/16879 Reviewed-by: Marcio Brito Barbosa Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie Tested-by: Michael Meffie src/config/stds.h | 10 ++++++++++ src/opr/opr.h | 4 ++-- src/ptserver/ptserver.h | 2 +- src/ptserver/ptuser.h | 46 +++++++++++++++++++++++----------------------- src/rxgk/rxgk.h | 28 ++++++++++++++-------------- 5 files changed, 50 insertions(+), 40 deletions(-) -- OpenAFS Master Repository From gerrit@openafs.org Tue Jul 14 22:08:56 2026 From: gerrit@openafs.org (Gerrit Code Review) Date: Tue, 14 Jul 2026 17:08:56 -0400 Subject: OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-536-gcc69787 Message-ID: <202607142108.66EL8u5X243142@openafs.MIT.EDU> The following commit has been merged in the master branch: commit cc697870e8a215c1ef042c0cda9f575fca68f649 Author: Michael Meffie Date: Tue Jul 14 08:06:54 2026 -0400 afsd: Avoid parsing cacheinfo unless required Ignore the cacheinfo file when the -mountdir, -cachedir (or -memcache), and -blocks options are specified. This allows sites to put all the afsd startup configuration in one place and avoid an unneeded configuration file. Change-Id: If95e481321ca4d7db36a00bd2687b1f576053ea0 Reviewed-on: https://gerrit.openafs.org/16880 Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie doc/man-pages/pod5/cacheinfo.pod.template | 4 ++++ doc/man-pages/pod8/afsd.pod.template | 5 +++++ src/afsd/afsd.c | 11 ++++++++--- 3 files changed, 17 insertions(+), 3 deletions(-) -- OpenAFS Master Repository From gerrit@openafs.org Tue Jul 14 22:09:13 2026 From: gerrit@openafs.org (Gerrit Code Review) Date: Tue, 14 Jul 2026 17:09:13 -0400 Subject: OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-537-g50e315e Message-ID: <202607142109.66EL9DZN243218@openafs.MIT.EDU> The following commit has been merged in the master branch: commit 50e315efcae7108249238d3e842345bc81321d93 Author: Michael Meffie Date: Tue Jul 14 13:04:18 2026 -0400 doc: Use afsd options instead of cacheinfo in howto-build-openafs Instead of creating a cacheinfo configuration file, simplify the client setup by just specifying the afsd -mountdir, -cachedir, and -blocks options. Change-Id: Ib45e47f16c56f8e431f66a5ef681351f6fa4acd0 Reviewed-on: https://gerrit.openafs.org/16881 Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie doc/process/howto-build-openafs.md | 43 +++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 21 deletions(-) -- OpenAFS Master Repository From gerrit@openafs.org Fri Jul 17 12:53:12 2026 From: gerrit@openafs.org (Gerrit Code Review) Date: Fri, 17 Jul 2026 07:53:12 -0400 Subject: OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-539-gaa41710 Message-ID: <202607171153.66HBrCA3071249@openafs.MIT.EDU> The following commit has been merged in the master branch: commit aa41710afde8685e2273c2d01c5502c50b691327 Author: Jeffrey Altman Date: Wed Dec 31 16:29:24 2025 -0500 aklog: update MIT compat funcs MITKRB5-SA-2003-005 The MITKRB5-SA-2003-005 patch changed the macro definition of krb5_princ_component() to prevent a possibility of buffer overrun by returning NULL if the requested component index is greater than the number of allocated components (aka krb5_princ_size()). The change altered the krb5_princ_component() definition such that it could return either "krb5_data *" or "void *". This results in the following errors when using the Solaris Studio 12.3 suncc compiler (but oddly not when using Oracle Developer Studio 12.6): non-unique member requires struct/union pointer: length left operand of "->" must be pointer to struct/union non-unique member requires struct/union pointer: data left operand of "->" must be pointer to struct/union The suncc compiler is confused by the possible attempt to resolve ' NULL->length' and 'NULL->data'. This change casts the return from krb5_princ_component() to (krb5_data *) before accessing 'data' and 'length'. Change-Id: If06d047614d8dff6533a3146939468e3efcd87f5 Reported-by: Marco Hoehle Tested-by: Marco Hoehle Reviewed-on: https://gerrit.openafs.org/16670 Reviewed-by: Andrew Deason Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Michael Meffie src/aklog/aklog.c | 4 ++-- src/aklog/klog.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) -- OpenAFS Master Repository From gerrit@openafs.org Fri Jul 17 17:06:29 2026 From: gerrit@openafs.org (Gerrit Code Review) Date: Fri, 17 Jul 2026 12:06:29 -0400 Subject: OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-543-ge434435 Message-ID: <202607171606.66HG6TpA093358@openafs.MIT.EDU> The following commit has been merged in the master branch: commit e434435bc074450e0d24c05b52a9247b30ea7725 Author: Andrew Deason Date: Tue Jul 27 19:53:01 2021 -0500 ptserver: Avoid 'pts adduser' on excessive entries If we have a user in at least OPENAFS_MAXPRLIST groups, trying to use that entry will result in PR_GetCPS returning an error, since we cannot have a 'prlist' with more than OPENAFS_MAXPRLIST entries. But such an error is not discovered until a PR_GetCPS or similar RPC actually fails, which means the user is effectively unusable. So, to catch this earlier, return a PRTOOMANY error when someone tries to 'pts adduser' for such a user, refusing to create such an excessively-huge entry in the prdb. This isn't perfect, since a PR_GetCPS call may still fail if supergroup CPS expansion or a host CPS puts us over the limit, but this can help catch the most common cases. Note that we do not prevent creating a group with over OPENAFS_MAXPRLIST users in it, even though doing so would make some RPCs like PR_ListElements unusable for that group. In that situation, such a group is still generally usable (since GetCPS can still work), so we don't need to prevent them. Change-Id: I8857699b34f7f89c64c561f0d3245dde2de893d2 Reviewed-on: https://gerrit.openafs.org/14733 Reviewed-by: Cheyenne Wills Reviewed-by: Marcio Brito Barbosa Tested-by: BuildBot Reviewed-by: Michael Meffie src/ptserver/ptutils.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) -- OpenAFS Master Repository From gerrit@openafs.org Fri Jul 17 17:06:29 2026 From: gerrit@openafs.org (Gerrit Code Review) Date: Fri, 17 Jul 2026 12:06:29 -0400 Subject: OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-543-ge434435 Message-ID: <202607171606.66HG6TDs093349@openafs.MIT.EDU> The following commit has been merged in the master branch: commit 6cac9b1e57e90192d35c239b75216c912a9096f6 Author: Andrew Deason Date: Tue Jul 27 17:41:21 2021 -0500 ptserver: Return error when exceeding _MAXPRLIST Currently, if the ptserver tries to reply to a client with a 'prlist' longer than OPENAFS_MAXPRLIST, the call will abort with RXGEN_SS_MARSHAL (for e.g., PR_GetCPS, PR_ListElements). This is a rather confusing error code for the peer, since the peer hasn't done anything wrong, and the error code looks like a networking error since it's negative. We can easily avoid this if we just check to see if we are exceeding the OPENAFS_MAXPRLIST limit, and return a clearer error code. So, return PRTOOMANY when we extend a 'prlist' to longer than OPENAFS_MAXPRLIST. Actually hitting the OPENAFS_MAXPRLIST limit is generally unlikely, but can be very confusing when it happens. Also log a message in this situation, to try and help explain what's going on. Change-Id: Iec03c885989092efad92442bcfe71e1e2ac9f2ac Reviewed-on: https://gerrit.openafs.org/14732 Reviewed-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Marcio Brito Barbosa Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie src/ptserver/NTMakefile | 8 +++++- src/ptserver/ptprocs.c | 5 ++-- src/ptserver/ptprototypes.h | 7 +++--- src/ptserver/ptutils.c | 61 ++++++++++++++++++++++++++++----------------- 4 files changed, 52 insertions(+), 29 deletions(-) -- OpenAFS Master Repository From gerrit@openafs.org Tue Jul 21 19:16:08 2026 From: gerrit@openafs.org (Gerrit Code Review) Date: Tue, 21 Jul 2026 14:16:08 -0400 Subject: OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-546-g4083ffd Message-ID: <202607211816.66LIG8O1101873@openafs.MIT.EDU> The following commit has been merged in the master branch: commit 4083ffd08241836f9188c251958d8d41156ad82b Author: Andrew Deason Date: Thu Jul 16 16:52:26 2026 -0500 SOLARIS: Use --64 for GNU as Currently, on Solaris-like systems on amd64, by default we pass -m64 to 'as' for our assembly code, since the 'as' that comes with Solaris (the "Sun as") defaults to generating 32-bit code on amd64. On illumos-based systems, such as OmniOS, the 'as' in our path may be the GNU as, which does not understand the -m64 flag (it uses --64 instead). This causes a build failure when we're building lwp: + as -m64 -o process.o process.s as: unrecognized option `-m64' + rm -f process.s rm -f -f liblwp.a ar crv liblwp.a lwp.o process.o iomgr.o [...] ar: cannot open process.o: No such file or directory ar: writing liblwp.a ar: process.o not found To fix this, if we're on an x86 Solaris-like system with ASFLAGS containing -m64, check if $AS actually works with the given flags. If not, transform -m64 into --64, and use that instead if it works. Also change the build logic for process.o to check for --64 in addition to -m64, since it uses ASFLAGS to determine which assembly code to use. Only do this for x86 specifically for now, since this issue affects the default build on x86. There may be similar issues for SPARC, but we don't pass assembler flags by default on SPARC, and SPARC systems are much more rare. This commit introduces the OPENAFS_AS_CHECKS macro in the new as.m4 file, for checks related to the assembler. The new checks appear in ./configure output for Solaris like this, for example: checking for as -m64... no checking for as --64... yes Change-Id: Ica65c72aaad5d0bdb3a024ff9212d640ada6f732 Reviewed-on: https://gerrit.openafs.org/16892 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie acinclude.m4 | 1 + src/cf/as.m4 | 30 ++++++++++++++++++++++++++++++ src/lwp/Makefile.in | 2 +- 3 files changed, 32 insertions(+), 1 deletion(-) -- OpenAFS Master Repository From gerrit@openafs.org Tue Jul 21 19:16:08 2026 From: gerrit@openafs.org (Gerrit Code Review) Date: Tue, 21 Jul 2026 14:16:08 -0400 Subject: OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-546-g4083ffd Message-ID: <202607211816.66LIG8ok101864@openafs.MIT.EDU> The following commit has been merged in the master branch: commit 8b95e23ddb5e02a003c4ee06bc7b954f5d043f53 Author: Andrew Deason Date: Thu Jul 16 14:03:33 2026 -0500 Detect x86_64-pc-solaris2.11 as Solaris Currently, trying to run ./configure on illumos-based systems (such as OmniOS) results in an error on x86, because 'config.guess' reports the $host system as x86_64-pc-solaris2.11, but we match x86 Solaris systems based on the platform i386-pc-solaris2.11 (which is what Solaris 11 reports). Add x86_64-pc-solaris2.11 to be matched the same as i386-pc-solaris2.11, so we can build without needing to specify --with-afs-sysname. Similarly, we also currently match $host against i386-pc-solaris2.* in cc.m4 to specify CC early, so ./configure doesn't choose gcc for us. Also match x86_64-pc-solaris2.* here, so we automatically prefer sunwspro-style compilers on these platforms like we do for Solaris. Change-Id: I4680e97c218147e93e22bf56931f82ad060d6109 Reviewed-on: https://gerrit.openafs.org/16891 Tested-by: BuildBot Reviewed-by: Cheyenne Wills Reviewed-by: Michael Meffie src/cf/cc.m4 | 2 +- src/cf/sysname.m4 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- OpenAFS Master Repository