[prev in list] [next in list] [prev in thread] [next in thread] 

List:       krb5-cvs
Subject:    krb5 commit [krb5-1.12]: Fix KDC worker process argument parsing
From:       Tom Yu <tlyu () mit ! edu>
Date:       2014-07-21 22:33:39
Message-ID: 201407212233.s6LMXdlZ015822 () drugstore ! mit ! edu
[Download RAW message or body]

https://github.com/krb5/krb5/commit/d749fa1a6442a920592d34a8f43aa857a56be044
commit d749fa1a6442a920592d34a8f43aa857a56be044
Author: Greg Hudson <ghudson@mit.edu>
Date:   Wed Jun 18 12:58:39 2014 -0400

    Fix KDC worker process argument parsing
    
    To create worker processes, the KDC shuts down realms, forks off the
    worker processes, then reinitializes realms in each child.
    Reinitializing realms requires making a second pass over the
    command-line arguments.  To do this with getopt, optind must be
    reinitialized to 1 for each pass; otherwise, no options will be seen
    the second time around.
    
    (cherry picked from commit 1776fd19120d230115527febbd22979eb64ee1ff)
    
    ticket: 7945
    version_fixed: 1.12.2
    status: resolved

 src/kdc/main.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/kdc/main.c b/src/kdc/main.c
index a7ffe63..a7d4b59 100644
--- a/src/kdc/main.c
+++ b/src/kdc/main.c
@@ -665,9 +665,11 @@ initialize_realms(krb5_context kcontext, int argc, char **argv)
     }
 
     /*
-     * Loop through the option list.  Each time we encounter a realm name,
-     * use the previously scanned options to fill in for defaults.
+     * Loop through the option list.  Each time we encounter a realm name, use
+     * the previously scanned options to fill in for defaults.  We do this
+     * twice if worker processes are used, so we must initialize optind.
      */
+    optind = 1;
     while ((c = getopt(argc, argv, "x:r:d:mM:k:R:e:P:p:s:nw:4:T:X3")) != -1) {
         switch(c) {
         case 'x':
_______________________________________________
cvs-krb5 mailing list
cvs-krb5@mit.edu
https://mailman.mit.edu/mailman/listinfo/cvs-krb5
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic