This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFD]: Changing datatypes for uid_t/gid_t


due to the problems with uids and gids beyond 65535, we're thinking
about changing the sizeof these datatypes from the current 16 bit
to a bigger size.  We discussed that already internally and we have
a way to do it in a backward compatible way.  Newer applications
using the new data sizes would not run on older Cygwin DLLs but that's
already true for many newer applications today so that shouldn't
matter (at least I'd still sleep well).

Already existing applications compiled using 16 bit uids/gids would
still run, provided that you're only using 16 bit clean uids/gids
with that applications.  If /etc/passwd or /etc/group contain bigger
uids/gids then... shit happens.

We have three possible data sizes:

- 16 bit.  Don't touch anything.  Advantage: Nothing to do for us,
  no compatibility problems at all.

- 32 bit.  Coincidentally equal to sizeof int and sizeof long.
  Advantage:  Should even work with older software which often
  silently assume that a uid/gid can be stored in a int.

- 64 bit.  Advantage: Since the RIDs used in Windows are just
  32 bit, one could create uids/gids with using the upper 32 bit
  of the uid/gid as a domain/server identifier, e.g.

So, please tell us what you think is the better approach from your
point of view.  We're trying to get a picture.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                      
Red Hat, Inc.

Unsubscribe info:
Bug reporting:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]