remove NO_INETD by shuffling code around
This commit is contained in:
@@ -1353,10 +1353,6 @@ static const char *const rcsid[] = { (const char *)rcsid, "@(#)" msg }
|
|||||||
/* Define if you don't want to use mmap. */
|
/* Define if you don't want to use mmap. */
|
||||||
#define NO_MMAP 1
|
#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 NO_RAND_EGD_METHOD 1
|
||||||
|
|
||||||
/* Define if the Unix rand method is not defined */
|
/* Define if the Unix rand method is not defined */
|
||||||
|
@@ -221,7 +221,7 @@ wait_for_connection(krb5_context context,
|
|||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
start_server(krb5_context context)
|
start_server(krb5_context context, const char *port_str)
|
||||||
{
|
{
|
||||||
int e;
|
int e;
|
||||||
struct kadm_port *p;
|
struct kadm_port *p;
|
||||||
@@ -230,6 +230,11 @@ start_server(krb5_context context)
|
|||||||
unsigned int num_socks = 0;
|
unsigned int num_socks = 0;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if (port_str == NULL)
|
||||||
|
port_str = "+";
|
||||||
|
|
||||||
|
parse_ports(context, port_str);
|
||||||
|
|
||||||
for(p = kadm_ports; p; p = p->next) {
|
for(p = kadm_ports; p; p = p->next) {
|
||||||
struct addrinfo hints, *ai, *ap;
|
struct addrinfo hints, *ai, *ap;
|
||||||
char portstr[32];
|
char portstr[32];
|
||||||
|
@@ -141,7 +141,7 @@ random_password(char *, size_t);
|
|||||||
extern sig_atomic_t term_flag, doing_useful_work;
|
extern sig_atomic_t term_flag, doing_useful_work;
|
||||||
|
|
||||||
void parse_ports(krb5_context, const char*);
|
void parse_ports(krb5_context, const char*);
|
||||||
int start_server(krb5_context);
|
int start_server(krb5_context, const char*);
|
||||||
|
|
||||||
/* server.c */
|
/* server.c */
|
||||||
|
|
||||||
|
@@ -171,7 +171,10 @@ main(int argc, char **argv)
|
|||||||
debug_port = htons(atoi(port_str));
|
debug_port = htons(atoi(port_str));
|
||||||
mini_inetd(debug_port, &sfd);
|
mini_inetd(debug_port, &sfd);
|
||||||
} else {
|
} else {
|
||||||
#ifndef NO_INETD
|
#ifdef _WIN32
|
||||||
|
pidfile(NULL);
|
||||||
|
start_server(context, port_str);
|
||||||
|
#else
|
||||||
struct sockaddr_storage __ss;
|
struct sockaddr_storage __ss;
|
||||||
struct sockaddr *sa = (struct sockaddr *)&__ss;
|
struct sockaddr *sa = (struct sockaddr *)&__ss;
|
||||||
socklen_t sa_size = sizeof(__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 &&
|
if(roken_getsockname(STDIN_FILENO, sa, &sa_size) < 0 &&
|
||||||
rk_SOCK_ERRNO == ENOTSOCK) {
|
rk_SOCK_ERRNO == ENOTSOCK) {
|
||||||
#endif
|
|
||||||
parse_ports(context, port_str ? port_str : "+");
|
|
||||||
pidfile(NULL);
|
pidfile(NULL);
|
||||||
start_server(context);
|
start_server(context, port_str);
|
||||||
sfd = STDIN_FILENO;
|
|
||||||
#ifndef NO_INETD
|
|
||||||
} else {
|
|
||||||
sfd = STDIN_FILENO;
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* _WIN32 */
|
||||||
|
sfd = STDIN_FILENO;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(realm)
|
if(realm)
|
||||||
|
Reference in New Issue
Block a user