remove NO_INETD by shuffling code around

This commit is contained in:
Love Hornquist Astrand
2009-12-25 06:37:57 +01:00
parent 02e980612e
commit b914fd57c5
4 changed files with 14 additions and 15 deletions

View File

@@ -1353,10 +1353,6 @@ static const char *const rcsid[] = { (const char *)rcsid, "@(#)" msg }
/* Define if you don't want to use mmap. */
#define NO_MMAP 1
/* Define to 1 if inetd will never be used to invoke any of the
daemons. */
#define NO_INETD 1
#define NO_RAND_EGD_METHOD 1
/* Define if the Unix rand method is not defined */

View File

@@ -221,7 +221,7 @@ wait_for_connection(krb5_context context,
int
start_server(krb5_context context)
start_server(krb5_context context, const char *port_str)
{
int e;
struct kadm_port *p;
@@ -230,6 +230,11 @@ start_server(krb5_context context)
unsigned int num_socks = 0;
int i;
if (port_str == NULL)
port_str = "+";
parse_ports(context, port_str);
for(p = kadm_ports; p; p = p->next) {
struct addrinfo hints, *ai, *ap;
char portstr[32];

View File

@@ -141,7 +141,7 @@ random_password(char *, size_t);
extern sig_atomic_t term_flag, doing_useful_work;
void parse_ports(krb5_context, const char*);
int start_server(krb5_context);
int start_server(krb5_context, const char*);
/* server.c */

View File

@@ -171,7 +171,10 @@ main(int argc, char **argv)
debug_port = htons(atoi(port_str));
mini_inetd(debug_port, &sfd);
} else {
#ifndef NO_INETD
#ifdef _WIN32
pidfile(NULL);
start_server(context, port_str);
#else
struct sockaddr_storage __ss;
struct sockaddr *sa = (struct sockaddr *)&__ss;
socklen_t sa_size = sizeof(__ss);
@@ -183,16 +186,11 @@ main(int argc, char **argv)
if(roken_getsockname(STDIN_FILENO, sa, &sa_size) < 0 &&
rk_SOCK_ERRNO == ENOTSOCK) {
#endif
parse_ports(context, port_str ? port_str : "+");
pidfile(NULL);
start_server(context);
sfd = STDIN_FILENO;
#ifndef NO_INETD
} else {
sfd = STDIN_FILENO;
start_server(context, port_str);
}
#endif
#endif /* _WIN32 */
sfd = STDIN_FILENO;
}
if(realm)