commit 009d81f7b775dd5d0d055666c8733965f66c0e1f
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Mon Dec 12 15:09:50 2016 +0100

    Make OpenAFS 1.6.20.1
    
    Update configure version strings for 1.6.20.1. Note that macos kext
    can be of form XXXX.YY[.ZZ[(d|a|b|fc)NNN]] where d dev, a alpha,
    b beta, f final candidate so we have no way to represent 1.6.20.1.
    Switch to 1.6.21 dev 1 for macOs.
    
    Change-Id: If9a54680d6807687136f6149ca48ad8c33db32f7
    Reviewed-on: https://gerrit.openafs.org/12485
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit c8be62e48a6b356cada6205dcd86b02d8869d844
Author: Stephan Wiesand <stephan.wiesand@desy.de>
Date:   Mon Dec 12 15:38:18 2016 +0100

    Update NEWS for 1.6.20.1
    
    Release notes for OpenAFS 1.6.20.1
    
    Change-Id: I3584e78ac5b509b1093c014ee4dec471991e7a8f
    Reviewed-on: https://gerrit.openafs.org/12486
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit beb36816528cd8f14860c65f77c27989e45ac40c
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Nov 4 20:46:22 2016 -0400

    src/gtx/curseswindows.c: Fix misleading indentation
    
    Fixes these warnings (errors with --enable-checking) from GCC 6.2:
    
    curseswindows.c: In function ‘gator_cursesgwin_drawchar’:
    curseswindows.c:574:5: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
         if (params->highlight)
         ^~
    curseswindows.c:576:9: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
             if (code)
             ^~
    curseswindows.c:579:5: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
         if (params->highlight)
         ^~
    curseswindows.c:581:9: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
             if (code)
             ^~
    curseswindows.c: In function ‘gator_cursesgwin_drawstring’:
    curseswindows.c:628:5: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
         if (params->highlight)
         ^~
    curseswindows.c:630:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
      if (code)
      ^~
    curseswindows.c:633:5: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
         if (params->highlight)
         ^~
    curseswindows.c:635:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
      if (code)
      ^~
    
    Reviewed-on: https://gerrit.openafs.org/12439
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 85cf397ec18ecfde36433fb65e5d91ecd325b76e)
    
    Change-Id: I33acb742a6c03046a0fa698bd08a910effc05de8
    Reviewed-on: https://gerrit.openafs.org/12484
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 434573e8ed651f1544029241191ddce2b764a8e9
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Nov 4 20:38:08 2016 -0400

    src/rx/rx_packet.c: Fix misleading indentation
    
    Fixes these warnings (errors with --enable-checking) from GCC 6.2:
    
    rx_packet.c: In function ‘rxi_ReceiveDebugPacket’:
    rx_packet.c:2009:9: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
             if (rx_stats_active)
             ^~
    rx_packet.c:2011:6: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
          s = (afs_int32 *) & rx_stats;
          ^
    rx_packet.c:2017:9: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
             if (rx_stats_active)
             ^~
    rx_packet.c:2019:6: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
          rxi_SendDebugPacket(ap, asocket, ahost, aport, istack);
          ^~~~~~~~~~~~~~~~~~~
    
    Reviewed-on: https://gerrit.openafs.org/12436
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    (cherry picked from commit 0aeb8c17a2701169ddb7397d951c73cf361087c8)
    
    Change-Id: Ic7db23cecdcb7f02d1529326b336d62339af8460
    Reviewed-on: https://gerrit.openafs.org/12483
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 31fce796b8d368194f31227d9d0481b00bb45e97
Author: Anders Kaseorg <andersk@mit.edu>
Date:   Fri Nov 4 20:36:51 2016 -0400

    src/rxgen/rpc_parse.c: Fix misleading indentation
    
    Fixes this warning (error with --enable-checking) from GCC 6.2:
    
    rpc_parse.c: In function ‘analyze_ProcParams’:
    rpc_parse.c:861:5: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
         if (tokp->kind != TOK_RPAREN)
         ^~
    rpc_parse.c:863:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
      *tailp = decls;
      ^
    
    Reviewed-on: https://gerrit.openafs.org/12435
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit bd70a176c19c09c49c6c3c01ea088ca947c45966)
    
    Change-Id: I099cba14fbe53c510886c0d342ad3fce60750411
    Reviewed-on: https://gerrit.openafs.org/12482
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit aa2001f33949d2832cf269df0f5e900d1ec230ea
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Tue Sep 2 17:51:46 2014 -0500

    systemd: RemainAfterExit in openafs-client.service
    
    Currently, if the client is started without any options that require
    an extra thread (like -afsdb), all processes spawned by afsd will
    exit. There may be some kernel threads still active, but those are
    spawned by the kernel module, and are not child processes of the
    parent afsd process, or anything like that.
    
    Since we are a Type=forking service in systemd, systemd interprets
    this situation to mean that the service has stopped successfully, and
    then runs the ExecStop commands. So, for example, if our AFSD_ARGS in
    our sysconfig is "-fakestat -afsdb", the service starts as normal. But
    if it is changed to "-fakestat", then when openafs-client.service is
    started, it immediately stops again.
    
    To avoid this, turn on the systemd option RemainAfterExit, which tells
    systemd that the service has not stopped if all of our processes have
    exited. The client service will thus remain running until it is
    stopped.
    
    Issue reported by Rich Sudlow.
    
    FIXES 133482
    
    Reviewed-on: http://gerrit.openafs.org/11440
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Anders Kaseorg <andersk@mit.edu>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit cb8195d2d6ce1c01e132c05c1bf5593eab45b2c6)
    
    Change-Id: I4005d5dabae8ef72194938475cf46f5bc1f222f8
    Reviewed-on: https://gerrit.openafs.org/12481
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8efca09a5daa3cfc08d0d86e2fb48c9b8d1b270a
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Thu Oct 20 00:49:37 2016 -0400

    Linux 4.9: inode_change_ok() becomes setattr_prepare()
    
    Linux commit 31051c85b5e2 "fs: Give dentry to inode_change_ok() instead
    of inode" renames and modifies inode_change_ok(inode, attrs) to
    setattr_prepare(dentry, attrs).
    
    Modify OpenAFS to cope.
    
    Reviewed-on: https://gerrit.openafs.org/12418
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8aeb711eeaa5ddac5a74c354091e2d4f7ac0cd63)
    
    Change-Id: I7f08c57b7f61465a1ea18333306f52f77bd65084
    Reviewed-on: https://gerrit.openafs.org/12480
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 3c47af9a78105c72e6005244eb22157b0882d50a
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Fri Sep 16 19:01:19 2016 -0400

    Linux 4.9: inode_operation rename now takes flags
    
    In Linux 3.15 commit 520c8b16505236fc82daa352e6c5e73cd9870cff,
    inode_operation rename2() was added.  It takes the same arguments as
    rename(), with an added flags argument supporting the following values:
    
    RENAME_NOREPLACE: if "new" name exists, fail with -EEXIST.  Without
    this flag, the default behavior is to replace the "new" existing file.
    
    RENAME_EXCHANGE: exchange source and target; both must exist.
    
    OpenAFS never implemented a .rename2() routine because it was optional
    when introduced at Linux v3.15.
    
    In Linux 4.9-rc1 the following commits remove the last in-tree uses of
    .rename() and converts .rename2() to .rename().
    aadfa8019e81 vfs: add note about i_op->rename changes to porting
    2773bf00aeb9 fs: rename "rename2" i_op to "rename"
    18fc84dafaac vfs: remove unused i_op->rename
    1cd66c93ba8c fs: make remaining filesystems use .rename2
    e0e0be8a8355 libfs: support RENAME_NOREPLACE in simple_rename()
    f03b8ad8d386 fs: support RENAME_NOREPLACE for local filesystems
    
    With these changes, it is now mandatory for OpenAFS afs_linux_rename()
    to accept a 5th flag argument.
    
    Add an autoconfig test to determine the signature of .rename().  Use this
    information to implement afs_linux_rename() with the appropriate number
    of arguments.  Implement "toleration support" for the flags option by
    treating a zero flag as a normal rename; if any flags are specified,
    return -EINVAL to indicate the OpenAFS filesystem does not yet support
    any flags.
    
    Reviewed-on: https://gerrit.openafs.org/12391
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit f21e3ef8ce5093b4e0578d29666f76bd99aef1a2)
    
    Change-Id: I071d41cd1ef1c9cdcda257c091d7167221f58fb7
    Reviewed-on: https://gerrit.openafs.org/12479
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 25149530851ea96a75f9bb6e78ab51c19da8c77d
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Wed Sep 14 18:01:22 2016 -0400

    Linux 4.9: deal with demise of GROUP_AT
    
    Linux commit 81243eacfa40 "cred: simpler, 1D supplementary groups"
    refactors the group_info struct, removing some members (which OpenAFS
    references only through the GROUP_AT macro) and adding a gid member.
    The GROUP_AT macro is also removed from the tree.
    
    Add an autoconfigure test for the new group_info member gid and define a
    replacement GROUP_AT macro to do the right thing under the new regime.
    
    Reviewed-on: https://gerrit.openafs.org/12390
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 8e81b182e36cde28ec5708e5fcbe56e4900b1ea3)
    
    Change-Id: I46b5cd4571452f9506647aada2caf3a68c4fa7d5
    Reviewed-on: https://gerrit.openafs.org/12478
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
    Tested-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8e02acba7c9b83f4689ec3e3328ff5273c9b55d9
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Fri Nov 11 13:21:58 2016 -0800

    macos: do not quit prefpane unexpectedly
    
    If the user opens the OpenAFS preference pane and choose the Mounts
    tab, the preference pane crashes.
    
    To fix the problem, do not assume that we can cast a NSdictionary
    object to NSMutableDictionary.
    
    Reviewed-on: https://gerrit.openafs.org/12446
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    Tested-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 9d4be0bd01696768602a313f627a802b358b5885)
    
    Change-Id: I7ff8c6cbc599f3e80d6365d9a56587bf5c641f5b
    Reviewed-on: https://gerrit.openafs.org/12447
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Tested-by: Joe Gorse <jhgorse@gmail.com>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 4689beab7d29fce190eb1333204adfb484a3f145
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Sun Oct 23 12:52:49 2016 -0700

    macos: packaging support for MacOS X 10.12
    
    This commit introduces the new set of changes / files required to
    successfully create the dmg installer on OS X 10.12 "Sierra".
    
    Reviewed-on: https://gerrit.openafs.org/12420
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0bed87a15db11bccb693b3a54f704ee5751ae553)
    
    Change-Id: I71a22e2ee43cb86ccdbe16c42b582d90adc91115
    Reviewed-on: https://gerrit.openafs.org/12432
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>

commit 8d33aeb1ded4c75195656efa4a2b962e98c942c0
Author: Marcio Barbosa <mbarbosa@sinenomine.net>
Date:   Tue Oct 25 19:33:38 2016 -0700

    macos: add support for MacOS 10.12
    
    This commit introduces the new set of changes / files required to
    successfully build the OpenAFS source code on OS X 10.12 "Sierra".
    
    Reviewed-on: https://gerrit.openafs.org/12419
    Reviewed-by: Joe Gorse <jhgorse@gmail.com>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
    (cherry picked from commit 0bdf750a962a81b9b2e61387d7a3340dabb13395)
    
    Change-Id: I693878212ec7cf00c2c8376ed5a1bab1198594b3
    Reviewed-on: https://gerrit.openafs.org/12431
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
