Mail Archives: cygwin/2008/12/10/17:56:50
Corinna,
I just want to take second to thank you for all the work you've done on
Cygwin. Cygwin has kept me sane in Windows environments for ?? years
now, and I can only guess at the amount of time you've spent on it.
It's a great tool and I really appreciate it.
thanks,
Colin Ingarfield
Austin, TX
PS: Despite this praise I'm not crazy enough to help test version 1.7.
I'm sure it's great though! Cheers.
Corinna Vinschen wrote:
> Hi all,
>
>
> after a rather long period of time of development, we're proud to start
> public testing of the upcoming new major release of Cygwin. The version
> number is 1.7.0 for the current test release and will be 1.7.x with some
> x yet to be chosen for the final release. As of today, the planning is
> to release the final release at some point in Spring 2009.
>
> This new release will bring quite a few changes, some of them might
> require to do accompanying changes in your environment. The most
> intrusive changes are
>
> - No more support for Windows 95/98/Me. Cygwin 1.7 will not run on any
> of these systems. We will keep the old 1.5.25 distro on sourceware
> for users of these obsolete Windows versions.
>
> - No more mount points in the registry. Use a file /etc/fstab instead.
>
> - Some global $CYGWIN options have been dropped, some of them have been
> converted to mount options.
>
> - No more managed mounts. The implementation for POSIX pathnames
> colliding with forbidden filenames and characters on Windows
> filesystems has changed considerably.
>
> At the end of this mail you will find a more or less complete list of
> changes from 1.5.x to 1.7.x. During the testing phase for this release
> we don't expect any behavioural change from the current state except
> some behaviour turns out to be unfeasible or is plain buggy. A few (but
> only a few) more features may be included within the test phase, namely
> support for wide-char stdio routines, which is work in progess.
>
> One interesting feature for the testers is the fact that you can install
> Cygwin 1.7 in parallel to another production 1.5 installation. They
> don't interact with each other, provided you start the processes in
> separate Windows, and you *don't* have *both* Cygwin binary paths in the
> $PATH variable. This is unsupported territory.
>
> However, if you want to install services using the service installer
> scripts around (inetd-config, ssh-host-config, etc), then keep in mind
> that the scripts try to install the services under the same service name
> as the former 1.5 script. Additionally, network related services will
> of course try to use the same network port numbers to install themselves
> as service. Bottom line: If you want to test services, make sure you
> have the related 1.5-based services *stopped* before running the same
> services in the 1.7 realm.
>
> I would like to stress that this is a *test* release. Don't use it in a
> crucial production environment. Don't use it for you important personal
> or work environment without making sure that you won't suffer loss of
> life or money if something goes wrong by using this Cygwin 1.7 test
> release. There's no guarantee that we didn't screw something up
> seriously.
>
> If you have more than one physical or virtual Windows machine, it's the
> best to install the test release on the machine you don't need for the
> production Cygwin install.
>
> Last but not least, please
>
> - *read* the below list of changes for a start, so you know what we're
> threatening you with,
>
> - *read* the new User's Guide, which you can access via
>
> http://cygwin.com/1.7/cygwin-ug-net/cygwin-ug-net.html
> or
> http://cygwin.com/1.7/cygwin-ug-net.html (one single big file)
>
> Though it's probably still lacking, it will explain a lot of the new
> behaviour in (hopefully) better words than the old User's Guide.
>
> Please note that we have no new FAQ. The reason is simply that
> we don't know yet what questions will be asked frequently in future.
>
> - After having digested the docs, ask yourself if you're willing to
> help testing the next Cygwin release. If your heart and brain both
> say "yes", then use
>
> http://cygwin.com/setup-1.7.exe
>
> to install the test release. Note that it will default to *upgrading*
> an existing installation! If you don't want that (and I bet you
> won't), make sure to change the installation directory right in the
> second dialog from your old, say, C:/cygwin to, say, C:/cygwin-1.7.
>
> Note that this setup-1.7.exe tool also has some changes related to the
> 1.5 version. The most noticable is that it is slower than the old
> one. The reason is that it tries hard to create the files and
> directories with POSIX-like permissions as given in the distribution
> packages.
>
> Additionally, note that setup-1.7.exe will notice that your Cygwin
> desktop shortcut (if you have one) already exists. It will not try
> to create a new one in this case, and the Cygwin shortcut will still
> point to the 1.5 installation. To get a matching 1.7 shortcut, just
> copy your existing shortcut, rename it to, for instance, Cygwin-1.7,
> and change the shortcut target path from the 1.5 distro directory to
> the 1.7 distro directory.
>
> Did I mention that this is a *test* release and that you should make
> sure that you don't screw up your existing Cygwin installation unless
> you really want to?
>
> Thanks for reading and especially thanks for participating. I'm quite
> nervous given the many many changes in 1.7, but if we live through the
> next few months, I'm sure that this new Cygwin is the best Cygwin we
> ever had. (ob-joke for insider: Except of b20, of course).
>
> Please report bugs to the mailing list cygwin AT cygwin DOT com. The usual
> bug reporting guidelines apply: http://cygwin.com/problems.html
>
> Ok, below you'll find the list of changes since 1.5.25.
>
>
> Have fun,
> Corinna
>
> ----------------------------------------------------------------------
> LIST OF CHANGES
> ----------------------------------------------------------------------
>
> OS releated changes:
> --------------------
>
> - Windows 95, 98 and Me are not supported anymore. The new DLL will
> not run on any of these systems.
>
> File Access related changes:
> ----------------------------
>
> - Mount points are no longer stored in the registry. Use /etc/fstab
> and /etc/fstab.d/$USER instead. Mount points created with mount(1)
> are only local to the current session and disappear when the last
> Cygwin process in the session exits.
>
> - PATH_MAX is now 4096. Internally, path names can be as long as the
> underlying OS can handle (32K).
>
> - UTF-8 filenames are supported now. So far, this requires to set
> the environment variable CYGWIN to contain "codepage:utf8". but this
> will likely disappear at one point. The setting of $LANG or $LC_CTYPE
> will be used instead.
>
> - struct dirent now supports d_type, filled out with DT_REG or DT_DIR.
> All other file types return as DT_UNKNOWN for performance reasons.
>
> - The CYGWIN environment variable options "ntsec" and "smbntsec" have
> been replaced by the per-mount option "acl"/"noacl".
>
> - The CYGWIN environment variable option "ntea" has been removed without
> substitute.
>
> - The CYGWIN environment variable option "check_case" has been removed
> in favor of real case-sensitivity on file systems supporting it.
>
> - Creating filenames with special DOS characters '"', '*', ':', '<',
> '>', '|' is supported.
>
> - Creating files with special DOS device filename components ("aux",
> "nul", "prn") is supported.
>
> - File name are case sensitive if the OS and the underlying file system
> supports it. Works on NTFS and NFS. Does not work on FAT and Samba
> shares. Requires to change a registry key (see the user's guide).
> Can be switched off on a per-mount base.
>
> - Due to the above changes, managed mounts have been removed.
>
> - unlink(2) and rmdir(2) try very hard to remove files/directories even
> if they are currently accessed or locked. This is done by utilizing
> the hidden recycle bin directories and marking the files for deletion.
>
> - rename(2) rewritten to be more POSIX conformant.
>
> - Add st_birthtim member to struct stat.
>
> - File locking is now advisory, not mandatory anymore. The fcntl(2) and
> the new lockf(2) APIs create and maintain locks with POSIX semantics,
> the flock(2) API creates and maintains locks with BSD semantics.
> POSIX and BSD locks are independent of each other.
>
> - Implement atomic O_APPEND mode.
>
> - Handle NTFS native symlinks available since Vista/2008 as symlinks
> (but don't create Vista/2008 symlinks due to unfortunate OS restrictions).
>
> - Recognize NFS shares and handle them using native mechanisms.
> Recognize and create real symlinks on NFS shares. Get correct
> stat(2) information and set real mode bits on open(2), mkdir(2)
> and chmod(2).
>
> - Recognize Netapp DataOnTap drives and fix inode number handling.
>
> - Recognize Samba version beginning with Samba 3.0.28a using the new
> extended version information negotiated with the Samba developers.
>
> - List servers of all accessible domains and workgroups in // instead of
> just the servers in the own domain/workgroup.
>
> - Support Linux-like extended attributes ([fl]getxattr, [fl]listxattr,
> [fl]setxattr, [fl]removexattr).
>
> - New file conversion API for conversion from Win32 to POSIX path and
> vice versa (cygwin_conv_path, cygwin_create_path, cygwin_conv_path_list).
>
> - New openat family of functions: openat, faccessat, fchmodat, fchownat,
> fstatat, futimesat, linkat, mkdirat, mkfifoat, mknodat, readlinkat, renameat,
> symlinkat, unlinkat.
>
> - Other new APIs: posix_fadvise, posix_fallocate, funopen, fopencookie,
> open_memstream, fmemopen, fdopendir.
>
> Network related changes:
> ------------------------
>
> - New implementation for blocking sockets and select on sockets which
> is supposed to allow POSIX-compatible sharing of sockets between
> threads and processes.
>
> - send/sendto/sendmsg now send data in 64K chunks to circumvent an
> internal buffer problem in WinSock (KB 201213).
>
> - IPv6 support. New API getaddrinfo, getnameinfo, freeaddrinfo,
> gai_strerror, in6addr_any, in6addr_loopback. On IPv6-less systems,
> replacement functions are available for IPv4. On systems with IPv6
> enabled, the underlying WinSock functions are used. While I tried
> hard to get the functionality as POSIXy as possible, keep in mind that
> a *fully* conformant implementation of getaddrinfo and other stuff is
> only available starting with Windows Vista/2008.
>
> - Resolver functions (res_init, res_query, res_search, res_querydomain,
> res_mkquery, res_send, dn_comp, dn_expand) are now part of Cygwin.
> Applications don't have to link against minires anymore. Actually,
> this *is* the former libminires.a.
>
> - rcmd is now implemented inside of Cygwin, instead of calling the
> WinSock function. This allows rsh(1) usage on Vista/2008, which
> dropped this function from WinSock.
>
> - Define multicast structures in netinet/in.h. Note that fully
> conformant multicast support is only available beginning with Vista/2008.
>
> - Improve get_ifconf. Redefine struct ifreq and subsequent datastructures
> to be able to keep more information. Support SIOCGIFINDEX, SIOCGIFDSTADDR
> and the Cygwin specific SIOCGIFFRNDLYNAM. Support real interface flags
> on systems supporting them.
>
> - Other new APIs: bindresvport, bindresvport_sa, iruserok_sa, rcmd_af,
> rresvport_af. getifaddrs, freeifaddrs, if_nametoindex, if_indextoname,
> if_nameindex, if_freenameindex.
>
> - Add /proc/net/if_inet6.
>
> Device related changes:
> -----------------------
>
> - Reworked pipe implementation which uses overlapped IO to create
> more reliable interruptible pipes and fifos.
>
> - The CYGWIN environment variable option "binmode" has been removed.
>
> - Improved fifo handling by using native Windows named pipes.
>
> - Detect when a stdin/stdout which looks like a pipe is really a tty.
> Among other things, this allows a debugged application to recognize that
> it is using the same tty as the debugger.
>
> - Support UTF-8 in console window.
>
> - Support up to 64 serial interfaces using /dev/ttyS0 - /dev/ttyS63.
>
> - Support up to 128 raw disk drives /dev/sda - /dev/sddx.
>
> - New API: posix_openpt.
>
> Other POSIX related changes:
> ----------------------------
>
> - Implement pthread_kill(thread, 0) as per POSIX.
>
> - New API for POSIX IPC:
> Named semaphores: sem_open, sem_close, sem_unlink.
> Message queues: mq_open, mq_getattr, mq_setattr, mq_notify, mq_send,
> mq_timedsend, mq_receive, mq_timedreceive, mq_close, mq_unlink.
> Shared memory: shm_open, shm_unlink.
>
> - Only declare expected functions in <strings.h>, don't include <string.h>
> from here.
>
> - New APIs: asnprintf, dprintf, _Exit, vasnprintf, vdprintf, confstr,
> posix_madvise, posix_memalign, exp10, exp10f, pow10, pow10f, lrint,
> lrintf, rint, rintf, llrint, llrintf, llrintl, lrintl, rintl insque,
> remque, sys_sigabbrev, strcasestr, stpcpy, stpncpy, wcpcpy, wcpncpy,
> wcstol, wcstoll, wcstoul, wcstoull, wcsxfrm.
>
> Security related changes:
> -------------------------
>
> - Getting a domain user's groups is hopefully more bulletproof now.
>
> - Cygwin now comes with a real LSA authentication package. This must
> be manually installed by a privileged user using the /bin/cyglsa-config
> script. The advantages and disadvantages are noted in
> http://cygwin.com/ml/cygwin-developers/2006-11/msg00000.html
>
> - Cygwin now allows to store and use user passwords in a hidden area of
> the registry. This is tried first when Cygwin is called by privileged
> processes to switch the user context. This allows, for instance,
> ssh public key sessions with full network credentials to access shares
> on other machines.
>
> - The mkpasswd and mkgroup tools have changed behaviour and a couple of
> new options to ease consistent usage in multi-machine or multi-domain
> environments.
>
> Miscellanous:
> -------------
>
> - Fallout from the long path names: If the current working directory is
> longer than 260 bytes, or if the current working directory is a virtual
> path (like /proc, /cygdrive, //server), don't call native Win32 programs
> since they don't understand these paths.
>
> - On the first usage of a DOS path (C:\foo, \\foo\bar), the Cygwin DLL
> emits a scary warning that DOS paths shouldn't be used. There's also
> the new CYGWIN=nodosfilewarning setting to disable that.
>
> - Allow environment of arbitrary size instead of a maximum of 32K.
>
> - Don't force uppercase environment when started from a non-Cygwin process.
> Except for certain Windows and POSIX variables which are always uppercased,
> preserve environment case. Switch back to old behaviour with the new
> CYGWIN=upcaseenv setting.
>
> - Detect and report a missing DLL on process startup.
>
> - Add /proc/registry32 and /proc/registry64 paths to access 32 bit and
> 64 bit registry on 64 bit systems.
>
> - Add the ability to distinguish registry keys and registry values with the
> same name in the same registry subtree. The key is called "foo" and the
> value will be called "foo%val" in this case.
>
> - Align /proc/cpuinfo more closly to Linux content.
>
> - Optimized strstr and memmem implementation.
>
> - Remove backwards compatibility with old signal masks (some *very* old
> programs which use signal masks may no longer work correctly).
>
> - Numerous bug fixes.
>
> - Probably a couple of entirely new bugs.
>
>
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -