From: Adam Megacz Date: Fri, 23 Mar 2007 19:14:41 +0000 (-0700) Subject: make bozo honor -rxbind correctly X-Git-Tag: openafs-devel-1_7_1~461 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=6260c4ae51e7a2807596ddf1bd49620f98eed94c make bozo honor -rxbind correctly Bozo needs to call rxInitHost() rather than rxInit() when -rxbind is present. This patch causes it to read NetInfo/NetRestrict earlier in the startup process so it can make that decision. FIXES 57286 Change-Id: I17058f4e8e5c23fdfcfe56178d5edc5dcceafb7a Reviewed-on: http://gerrit.openafs.org/4729 Tested-by: Andrew Deason Tested-by: BuildBot Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear --- diff --git a/src/bozo/bosserver.c b/src/bozo/bosserver.c index 5d1eaec..b7a6bb7 100644 --- a/src/bozo/bosserver.c +++ b/src/bozo/bosserver.c @@ -963,8 +963,28 @@ main(int argc, char **argv, char **envp) /* Write current state of directory permissions to log file */ DirAccessOK(); + if (rxBind) { + afs_int32 ccode; + if (AFSDIR_SERVER_NETRESTRICT_FILEPATH || + AFSDIR_SERVER_NETINFO_FILEPATH) { + char reason[1024]; + ccode = parseNetFiles(SHostAddrs, NULL, NULL, + ADDRSPERSITE, reason, + AFSDIR_SERVER_NETINFO_FILEPATH, + AFSDIR_SERVER_NETRESTRICT_FILEPATH); + } else { + ccode = rx_getAllAddr(SHostAddrs, ADDRSPERSITE); + } + if (ccode == 1) + host = SHostAddrs[0]; + } + for (i = 0; i < 10; i++) { - code = rx_Init(htons(AFSCONF_NANNYPORT)); + if (rxBind) { + code = rx_InitHost(host, htons(AFSCONF_NANNYPORT)); + } else { + code = rx_Init(htons(AFSCONF_NANNYPORT)); + } if (code) { bozo_Log("can't initialize rx: code=%d\n", code); sleep(3); @@ -1039,23 +1059,6 @@ main(int argc, char **argv, char **envp) rx_SetMaxMTU(rxMaxMTU); } - if (rxBind) { - afs_int32 ccode; - if (AFSDIR_SERVER_NETRESTRICT_FILEPATH || - AFSDIR_SERVER_NETINFO_FILEPATH) { - char reason[1024]; - ccode = parseNetFiles(SHostAddrs, NULL, NULL, - ADDRSPERSITE, reason, - AFSDIR_SERVER_NETINFO_FILEPATH, - AFSDIR_SERVER_NETRESTRICT_FILEPATH); - } else - { - ccode = rx_getAllAddr(SHostAddrs, ADDRSPERSITE); - } - if (ccode == 1) - host = SHostAddrs[0]; - } - tservice = rx_NewServiceHost(host, 0, /* service id */ 1, "bozo", securityClasses, numClasses, BOZO_ExecuteRequest);