summaryrefslogtreecommitdiffstats
path: root/src/portmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/portmap.c')
-rw-r--r--src/portmap.c37
1 files changed, 19 insertions, 18 deletions
diff --git a/src/portmap.c b/src/portmap.c
index ebb85de..44c0abe 100644
--- a/src/portmap.c
+++ b/src/portmap.c
@@ -39,19 +39,19 @@ main(int argc, char **argv)
printf("error binding to reserved port\n");
}
setreuid(2510, 2510);
- portmap_unregister(s, YPPROG, YPVERS);
- portmap_register(s, YPPROG, YPVERS, IPPROTO_UDP,
+ portmap_unregister("portmap", s, YPPROG, YPVERS);
+ portmap_register("portmap", s, YPPROG, YPVERS, IPPROTO_UDP,
ntohs(sin.sin_port));
return 0;
}
#endif
static bool_t
-portmap_register_work(int resv_sock,
+portmap_register_work(const char *module, int resv_sock,
int program, int version, int protocol, int port,
int proc)
{
- char portmap_buf[4000], auth_buf[4000], reply_buf[8000];
+ char portmap_buf[4000], auth_buf[4000], reply_buf[8000], *log_id;
int portmap_length, reply_length;
AUTH *auth;
XDR portmap_xdrs, auth_xdrs;
@@ -68,6 +68,7 @@ portmap_register_work(int resv_sock,
int i;
static u_long xid;
+ log_id = (char *) module;
memset(&addr, 0, sizeof(addr));
addr.sa_family = AF_UNSPEC;
@@ -117,7 +118,7 @@ portmap_register_work(int resv_sock,
* immediately retry. */
if (send(resv_sock, &portmap_buf, portmap_length,
0) != portmap_length) {
- slapi_log_error(SLAPI_LOG_PLUGIN, "XXX",
+ slapi_log_error(SLAPI_LOG_PLUGIN, log_id,
"error sending request to portmap\n");
continue;
}
@@ -159,7 +160,7 @@ portmap_register_work(int resv_sock,
/* Disconnect from the portmapper, but keep our socket around. */
connect(resv_sock, &addr, sizeof(addr));
if (i == 32) {
- slapi_log_error(SLAPI_LOG_PLUGIN, "XXX",
+ slapi_log_error(SLAPI_LOG_PLUGIN, log_id,
"timeout registering with portmap service\n");
return FALSE;
}
@@ -167,7 +168,7 @@ portmap_register_work(int resv_sock,
/* Check that the portmapper didn't just reject the request out of
* hand. */
if (msg.rm_reply.rp_stat != MSG_ACCEPTED) {
- slapi_log_error(SLAPI_LOG_PLUGIN, "XXX",
+ slapi_log_error(SLAPI_LOG_PLUGIN, log_id,
"portmap request not accepted\n");
switch (msg.rm_reply.rp_rjct.rj_stat) {
const char *auth_status;
@@ -199,13 +200,13 @@ portmap_register_work(int resv_sock,
auth_status = "unknown error";
break;
}
- slapi_log_error(SLAPI_LOG_PLUGIN, "XXX",
+ slapi_log_error(SLAPI_LOG_PLUGIN, log_id,
"portmap request rejected: "
"authentication failed: %s\n",
auth_status);
break;
case RPC_MISMATCH:
- slapi_log_error(SLAPI_LOG_PLUGIN, "XXX",
+ slapi_log_error(SLAPI_LOG_PLUGIN, log_id,
"portmap request rejected: "
"RPC mismatch\n");
break;
@@ -217,17 +218,17 @@ portmap_register_work(int resv_sock,
/* Validate the portmapper's credentials. */
auth = authunix_create_default();
if (auth_validate(auth, &msg.rm_reply.rp_acpt.ar_verf)) {
- slapi_log_error(SLAPI_LOG_PLUGIN, "XXX",
+ slapi_log_error(SLAPI_LOG_PLUGIN, log_id,
"portmap reply authenticated\n");
} else {
- slapi_log_error(SLAPI_LOG_PLUGIN, "XXX",
+ slapi_log_error(SLAPI_LOG_PLUGIN, log_id,
"portmap reply failed authentication\n");
}
auth_destroy(auth);
/* Check if we the portmapper gave us a reply argument. */
if (msg.rm_reply.rp_acpt.ar_stat != SUCCESS) {
- slapi_log_error(SLAPI_LOG_PLUGIN, "XXX",
+ slapi_log_error(SLAPI_LOG_PLUGIN, log_id,
"portmap request not processed\n");
xdr_destroy(&portmap_xdrs);
return FALSE;
@@ -235,10 +236,10 @@ portmap_register_work(int resv_sock,
/* Check what happened. */
if (ret) {
- slapi_log_error(SLAPI_LOG_PLUGIN, "XXX",
+ slapi_log_error(SLAPI_LOG_PLUGIN, log_id,
"portmap request succeeded\n");
} else {
- slapi_log_error(SLAPI_LOG_PLUGIN, "XXX",
+ slapi_log_error(SLAPI_LOG_PLUGIN, log_id,
"portmap response did not include a reply\n");
}
@@ -248,16 +249,16 @@ portmap_register_work(int resv_sock,
}
bool_t
-portmap_register(int resv_sock,
+portmap_register(const char *log_id, int resv_sock,
int program, int version, int protocol, int port)
{
- return portmap_register_work(resv_sock, program, version,
+ return portmap_register_work(log_id, resv_sock, program, version,
protocol, port, PMAPPROC_SET);
}
bool_t
-portmap_unregister(int resv_sock, int program, int version)
+portmap_unregister(const char *log_id, int resv_sock, int program, int version)
{
- return portmap_register_work(resv_sock, program, version,
+ return portmap_register_work(log_id, resv_sock, program, version,
0, 0, PMAPPROC_UNSET);
}