On 11/27/2018 2:21 PM, Chaskiel Grundman wrote:
> There is another problem beyond 64-bit safety. It appears that the some of
> the openafs devs didn't learn from the project's own experience with the
> linux developers, as
>
> extern afs_int32 vsu_ClientInit(int noAuthFlag, const char *confDir,
>                                 char *cellName, afs_int32 sauth,
>                                 struct ubik_client **uclientp,
>                                 int (*secproc)(struct rx_securityClass *,
> afs_int32));
> 
> 
> in <= 1.6 has become
> 
> extern afs_int32 vsu_ClientInit(const char *confDir, char *cellName,
>                                 int secFlags,
>                                 int (*secproc)(struct rx_securityClass *,
>                                                afs_int32),
>                                 struct ubik_client **uclientp);
> 
> 
> in 1.8. and I can't even use #ifdef VS2SC_NEVER to detect the change --
> it's an enum.

That would be AuriStor's fault.  The change in question was

  commit 3720f6b646857cca523659519f6fd4441e41dc7a
  Author: Simon Wilkinson <s...@your-file-system.com>
  Date:   Sun Oct 23 16:21:52 2011 +0100

      Rework the ugen_* interface

The vsu_ClientInit() signature change was a side-effect of the
refactoring of ugen_ClientInit().  No one remembered the possible out of
tree usage of vsu_ClientInit().  vsu_ClientInit() is not an exported
function.  As such its status as public is murky at best.

I suggest using the existence of one of these CPP macros as a test.
They were added shortly after the vsu_ClientInit() signature change was
merged.

  /* Values for the UV_ReleaseVolume flags parameters */
  #define REL_COMPLETE    0x000001  /* force a complete release */
  #define REL_FULLDUMPS   0x000002  /* force full dumps */
  #define REL_STAYUP      0x000004  /* dump to clones to avoid offline
time */

The introduction of enum vol_s2s_crypt came much later.

If you would prefer AuriStor can submit a change to restore the prior
signature.

Jeffrey Altman




<<attachment: jaltman.vcf>>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to