const char *cellservdb, *dbpath, *lclpath;
int a;
char arg[32];
- char default_lclpath[AFSDIR_PATH_MAX];
+ char *default_lclpath;
int servers;
int initFlags;
int level; /* security level for Ubik */
afs_int32 i;
char clones[MAXHOSTSPERCELL];
+ char hoststr[16];
afs_uint32 host = ntohl(INADDR_ANY);
char *auditFileName = NULL;
+ struct logOptions logopts;
struct rx_service *tservice;
struct rx_securityClass *sca[1];
#endif
osi_audit_init();
+ memset(&logopts, 0, sizeof(logopts));
+
if (argc == 0) {
usage:
printf("Usage: kaserver [-noAuth] [-database <dbpath>] "
"[-auditlog <log path>] [-audit-interface <file|sysvmq>] "
"[-rxbind] [-localfiles <lclpath>] [-minhours <n>] "
"[-servers <serverlist>] [-crossrealm] "
- /*" [-enable_peer_stats] [-enable_process_stats] " */
+ "[-enable_peer_stats] [-enable_process_stats] "
"[-help]\n");
exit(1);
}
cellservdb = AFSDIR_SERVER_ETC_DIRPATH;
dbpath = AFSDIR_SERVER_KADB_FILEPATH;
- strcompose(default_lclpath, AFSDIR_PATH_MAX, AFSDIR_SERVER_LOCAL_DIRPATH,
- "/", AFSDIR_KADB_FILE, (char *)NULL);
+
+ if (asprintf(&default_lclpath, "%s/%s", AFSDIR_SERVER_LOCAL_DIRPATH,
+ AFSDIR_KADB_FILE) < 0) {
+ fprintf(stderr, "%s: No memory for default local dir path\n", argv[0]);
+ exit(2);
+ }
lclpath = default_lclpath;
debugOutput = 0;
* text logging. So open the AuthLog file for logging and redirect
* stdin and stdout to it
*/
- OpenLog(AFSDIR_SERVER_KALOG_FILEPATH);
+ logopts.lopt_dest = logDest_file;
+ logopts.lopt_filename = AFSDIR_SERVER_KALOG_FILEPATH;
+ logopts.lopt_rotateOnOpen = 1;
+ logopts.lopt_rotateStyle = logRotate_old;
+
+ OpenLog(&logopts);
SetupLogSignals();
#endif
}
if (ccode == 1) {
host = SHostAddrs[0];
- rx_InitHost(host, htons(AFSCONF_KAUTHPORT));
}
}
+ ViceLog(0, ("kaserver binding rx to %s:%d\n",
+ afs_inet_ntoa_r(host, hoststr), AFSCONF_KAUTHPORT));
+ code = rx_InitHost(host, htons(AFSCONF_KAUTHPORT));
+ if (code) {
+ afs_com_err(whoami, code, "rx init failed");
+ exit(2);
+ }
+
/* Disable jumbograms */
rx_SetNoJumbo();
exit(2);
}
- sca[RX_SCINDEX_NULL] = rxnull_NewServerSecurityObject();
+ sca[RX_SECIDX_NULL] = rxnull_NewServerSecurityObject();
tservice =
rx_NewServiceHost(host, 0, KA_AUTHENTICATION_SERVICE,
rx_SetMinProcs(tservice, 1);
rx_SetMaxProcs(tservice, 1);
- scm[RX_SCINDEX_NULL] = sca[RX_SCINDEX_NULL];
- scm[RX_SCINDEX_VAB] = 0;
- scm[RX_SCINDEX_KAD] =
+ scm[RX_SECIDX_NULL] = sca[RX_SECIDX_NULL];
+ scm[RX_SECIDX_VAB] = 0;
+ scm[RX_SECIDX_KAD] =
rxkad_NewServerSecurityObject(rxkad_crypt, 0, kvno_admin_key, 0);
tservice =
rx_NewServiceHost(host, 0, KA_MAINTENANCE_SERVICE, "Maintenance", scm, 3,