aboutsummaryrefslogtreecommitdiffstats
path: root/src/libtrace/libtrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libtrace/libtrace.c')
-rw-r--r--src/libtrace/libtrace.c92
1 files changed, 46 insertions, 46 deletions
diff --git a/src/libtrace/libtrace.c b/src/libtrace/libtrace.c
index 1be89052c..5cdb254a3 100644
--- a/src/libtrace/libtrace.c
+++ b/src/libtrace/libtrace.c
@@ -57,7 +57,7 @@ static char *name(void) {
57 if (!nameinit) { 57 if (!nameinit) {
58 // initialize the name of the process based on /proc/PID/comm 58 // initialize the name of the process based on /proc/PID/comm
59 memset(myname, 0, MAXNAME); 59 memset(myname, 0, MAXNAME);
60 60
61 pid_t p = pid(); 61 pid_t p = pid();
62 char *fname; 62 char *fname;
63 if (asprintf(&fname, "/proc/%u/comm", p) == -1) 63 if (asprintf(&fname, "/proc/%u/comm", p) == -1)
@@ -74,17 +74,17 @@ static char *name(void) {
74 free(fname); 74 free(fname);
75 return "unknown"; 75 return "unknown";
76 } 76 }
77 77
78 // clean '\n' 78 // clean '\n'
79 char *ptr = strchr(myname, '\n'); 79 char *ptr = strchr(myname, '\n');
80 if (ptr) 80 if (ptr)
81 *ptr = '\0'; 81 *ptr = '\0';
82 82
83 fclose(fp); 83 fclose(fp);
84 free(fname); 84 free(fname);
85 nameinit = 1; 85 nameinit = 1;
86 } 86 }
87 87
88 return myname; 88 return myname;
89} 89}
90 90
@@ -99,20 +99,20 @@ typedef struct {
99static XTable socket_type[] = { 99static XTable socket_type[] = {
100#ifdef SOCK_STREAM 100#ifdef SOCK_STREAM
101 { SOCK_STREAM, "SOCK_STREAM" }, 101 { SOCK_STREAM, "SOCK_STREAM" },
102#endif 102#endif
103#ifdef SOCK_DGRAM 103#ifdef SOCK_DGRAM
104 { SOCK_DGRAM, "SOCK_DGRAM" }, 104 { SOCK_DGRAM, "SOCK_DGRAM" },
105#endif 105#endif
106#ifdef SOCK_RAW 106#ifdef SOCK_RAW
107 { SOCK_RAW, "SOCK_RAW" }, 107 { SOCK_RAW, "SOCK_RAW" },
108#endif 108#endif
109#ifdef SOCK_RDM 109#ifdef SOCK_RDM
110 { SOCK_RDM, "SOCK_RDM" }, 110 { SOCK_RDM, "SOCK_RDM" },
111#endif 111#endif
112#ifdef SOCK_SEQPACKET 112#ifdef SOCK_SEQPACKET
113 { SOCK_SEQPACKET, "SOCK_SEQPACKET" }, 113 { SOCK_SEQPACKET, "SOCK_SEQPACKET" },
114#endif 114#endif
115#ifdef SOCK_DCCP 115#ifdef SOCK_DCCP
116 { SOCK_DCCP, "SOCK_DCCP" }, 116 { SOCK_DCCP, "SOCK_DCCP" },
117#endif 117#endif
118 { 0, NULL} // NULL terminated 118 { 0, NULL} // NULL terminated
@@ -198,7 +198,7 @@ static XTable socket_protocol[] = {
198#ifdef IPPROTO_AH 198#ifdef IPPROTO_AH
199 { IPPROTO_AH, "IPPROTO_AH" }, 199 { IPPROTO_AH, "IPPROTO_AH" },
200#endif 200#endif
201#ifdef IPPROTO_BEETPH 201#ifdef IPPROTO_BEETPH
202 { IPPROTO_BEETPH, "IPPROTO_BEETPH" }, 202 { IPPROTO_BEETPH, "IPPROTO_BEETPH" },
203#endif 203#endif
204#ifdef IPPROTO_PIM 204#ifdef IPPROTO_PIM
@@ -225,7 +225,7 @@ static char *translate(XTable *table, int val) {
225 return table->name; 225 return table->name;
226 table++; 226 table++;
227 } 227 }
228 228
229 return NULL; 229 return NULL;
230} 230}
231 231
@@ -262,7 +262,7 @@ static orig_open_t orig_open = NULL;
262int open(const char *pathname, int flags, mode_t mode) { 262int open(const char *pathname, int flags, mode_t mode) {
263 if (!orig_open) 263 if (!orig_open)
264 orig_open = (orig_open_t)dlsym(RTLD_NEXT, "open"); 264 orig_open = (orig_open_t)dlsym(RTLD_NEXT, "open");
265 265
266 int rv = orig_open(pathname, flags, mode); 266 int rv = orig_open(pathname, flags, mode);
267 printf("%u:%s:open %s:%d\n", pid(), name(), pathname, rv); 267 printf("%u:%s:open %s:%d\n", pid(), name(), pathname, rv);
268 return rv; 268 return rv;
@@ -273,7 +273,7 @@ static orig_open64_t orig_open64 = NULL;
273int open64(const char *pathname, int flags, mode_t mode) { 273int open64(const char *pathname, int flags, mode_t mode) {
274 if (!orig_open64) 274 if (!orig_open64)
275 orig_open64 = (orig_open64_t)dlsym(RTLD_NEXT, "open64"); 275 orig_open64 = (orig_open64_t)dlsym(RTLD_NEXT, "open64");
276 276
277 int rv = orig_open64(pathname, flags, mode); 277 int rv = orig_open64(pathname, flags, mode);
278 printf("%u:%s:open64 %s:%d\n", pid(), name(), pathname, rv); 278 printf("%u:%s:open64 %s:%d\n", pid(), name(), pathname, rv);
279 return rv; 279 return rv;
@@ -285,7 +285,7 @@ static orig_openat_t orig_openat = NULL;
285int openat(int dirfd, const char *pathname, int flags, mode_t mode) { 285int openat(int dirfd, const char *pathname, int flags, mode_t mode) {
286 if (!orig_openat) 286 if (!orig_openat)
287 orig_openat = (orig_openat_t)dlsym(RTLD_NEXT, "openat"); 287 orig_openat = (orig_openat_t)dlsym(RTLD_NEXT, "openat");
288 288
289 int rv = orig_openat(dirfd, pathname, flags, mode); 289 int rv = orig_openat(dirfd, pathname, flags, mode);
290 printf("%u:%s:openat %s:%d\n", pid(), name(), pathname, rv); 290 printf("%u:%s:openat %s:%d\n", pid(), name(), pathname, rv);
291 return rv; 291 return rv;
@@ -296,7 +296,7 @@ static orig_openat64_t orig_openat64 = NULL;
296int openat64(int dirfd, const char *pathname, int flags, mode_t mode) { 296int openat64(int dirfd, const char *pathname, int flags, mode_t mode) {
297 if (!orig_openat64) 297 if (!orig_openat64)
298 orig_openat64 = (orig_openat64_t)dlsym(RTLD_NEXT, "openat64"); 298 orig_openat64 = (orig_openat64_t)dlsym(RTLD_NEXT, "openat64");
299 299
300 int rv = orig_openat64(dirfd, pathname, flags, mode); 300 int rv = orig_openat64(dirfd, pathname, flags, mode);
301 printf("%u:%s:openat64 %s:%d\n", pid(), name(), pathname, rv); 301 printf("%u:%s:openat64 %s:%d\n", pid(), name(), pathname, rv);
302 return rv; 302 return rv;
@@ -307,7 +307,7 @@ int openat64(int dirfd, const char *pathname, int flags, mode_t mode) {
307FILE *fopen(const char *pathname, const char *mode) { 307FILE *fopen(const char *pathname, const char *mode) {
308 if (!orig_fopen) 308 if (!orig_fopen)
309 orig_fopen = (orig_fopen_t)dlsym(RTLD_NEXT, "fopen"); 309 orig_fopen = (orig_fopen_t)dlsym(RTLD_NEXT, "fopen");
310 310
311 FILE *rv = orig_fopen(pathname, mode); 311 FILE *rv = orig_fopen(pathname, mode);
312 printf("%u:%s:fopen %s:%p\n", pid(), name(), pathname, rv); 312 printf("%u:%s:fopen %s:%p\n", pid(), name(), pathname, rv);
313 return rv; 313 return rv;
@@ -317,7 +317,7 @@ FILE *fopen(const char *pathname, const char *mode) {
317FILE *fopen64(const char *pathname, const char *mode) { 317FILE *fopen64(const char *pathname, const char *mode) {
318 if (!orig_fopen64) 318 if (!orig_fopen64)
319 orig_fopen64 = (orig_fopen_t)dlsym(RTLD_NEXT, "fopen64"); 319 orig_fopen64 = (orig_fopen_t)dlsym(RTLD_NEXT, "fopen64");
320 320
321 FILE *rv = orig_fopen64(pathname, mode); 321 FILE *rv = orig_fopen64(pathname, mode);
322 printf("%u:%s:fopen64 %s:%p\n", pid(), name(), pathname, rv); 322 printf("%u:%s:fopen64 %s:%p\n", pid(), name(), pathname, rv);
323 return rv; 323 return rv;
@@ -331,7 +331,7 @@ static orig_freopen_t orig_freopen = NULL;
331FILE *freopen(const char *pathname, const char *mode, FILE *stream) { 331FILE *freopen(const char *pathname, const char *mode, FILE *stream) {
332 if (!orig_freopen) 332 if (!orig_freopen)
333 orig_freopen = (orig_freopen_t)dlsym(RTLD_NEXT, "freopen"); 333 orig_freopen = (orig_freopen_t)dlsym(RTLD_NEXT, "freopen");
334 334
335 FILE *rv = orig_freopen(pathname, mode, stream); 335 FILE *rv = orig_freopen(pathname, mode, stream);
336 printf("%u:%s:freopen %s:%p\n", pid(), name(), pathname, rv); 336 printf("%u:%s:freopen %s:%p\n", pid(), name(), pathname, rv);
337 return rv; 337 return rv;
@@ -343,7 +343,7 @@ static orig_freopen64_t orig_freopen64 = NULL;
343FILE *freopen64(const char *pathname, const char *mode, FILE *stream) { 343FILE *freopen64(const char *pathname, const char *mode, FILE *stream) {
344 if (!orig_freopen64) 344 if (!orig_freopen64)
345 orig_freopen64 = (orig_freopen64_t)dlsym(RTLD_NEXT, "freopen64"); 345 orig_freopen64 = (orig_freopen64_t)dlsym(RTLD_NEXT, "freopen64");
346 346
347 FILE *rv = orig_freopen64(pathname, mode, stream); 347 FILE *rv = orig_freopen64(pathname, mode, stream);
348 printf("%u:%s:freopen64 %s:%p\n", pid(), name(), pathname, rv); 348 printf("%u:%s:freopen64 %s:%p\n", pid(), name(), pathname, rv);
349 return rv; 349 return rv;
@@ -356,7 +356,7 @@ static orig_unlink_t orig_unlink = NULL;
356int unlink(const char *pathname) { 356int unlink(const char *pathname) {
357 if (!orig_unlink) 357 if (!orig_unlink)
358 orig_unlink = (orig_unlink_t)dlsym(RTLD_NEXT, "unlink"); 358 orig_unlink = (orig_unlink_t)dlsym(RTLD_NEXT, "unlink");
359 359
360 int rv = orig_unlink(pathname); 360 int rv = orig_unlink(pathname);
361 printf("%u:%s:unlink %s:%d\n", pid(), name(), pathname, rv); 361 printf("%u:%s:unlink %s:%d\n", pid(), name(), pathname, rv);
362 return rv; 362 return rv;
@@ -367,7 +367,7 @@ static orig_unlinkat_t orig_unlinkat = NULL;
367int unlinkat(int dirfd, const char *pathname, int flags) { 367int unlinkat(int dirfd, const char *pathname, int flags) {
368 if (!orig_unlinkat) 368 if (!orig_unlinkat)
369 orig_unlinkat = (orig_unlinkat_t)dlsym(RTLD_NEXT, "unlinkat"); 369 orig_unlinkat = (orig_unlinkat_t)dlsym(RTLD_NEXT, "unlinkat");
370 370
371 int rv = orig_unlinkat(dirfd, pathname, flags); 371 int rv = orig_unlinkat(dirfd, pathname, flags);
372 printf("%u:%s:unlinkat %s:%d\n", pid(), name(), pathname, rv); 372 printf("%u:%s:unlinkat %s:%d\n", pid(), name(), pathname, rv);
373 return rv; 373 return rv;
@@ -379,7 +379,7 @@ static orig_mkdir_t orig_mkdir = NULL;
379int mkdir(const char *pathname, mode_t mode) { 379int mkdir(const char *pathname, mode_t mode) {
380 if (!orig_mkdir) 380 if (!orig_mkdir)
381 orig_mkdir = (orig_mkdir_t)dlsym(RTLD_NEXT, "mkdir"); 381 orig_mkdir = (orig_mkdir_t)dlsym(RTLD_NEXT, "mkdir");
382 382
383 int rv = orig_mkdir(pathname, mode); 383 int rv = orig_mkdir(pathname, mode);
384 printf("%u:%s:mkdir %s:%d\n", pid(), name(), pathname, rv); 384 printf("%u:%s:mkdir %s:%d\n", pid(), name(), pathname, rv);
385 return rv; 385 return rv;
@@ -390,7 +390,7 @@ static orig_mkdirat_t orig_mkdirat = NULL;
390int mkdirat(int dirfd, const char *pathname, mode_t mode) { 390int mkdirat(int dirfd, const char *pathname, mode_t mode) {
391 if (!orig_mkdirat) 391 if (!orig_mkdirat)
392 orig_mkdirat = (orig_mkdirat_t)dlsym(RTLD_NEXT, "mkdirat"); 392 orig_mkdirat = (orig_mkdirat_t)dlsym(RTLD_NEXT, "mkdirat");
393 393
394 int rv = orig_mkdirat(dirfd, pathname, mode); 394 int rv = orig_mkdirat(dirfd, pathname, mode);
395 printf("%u:%s:mkdirat %s:%d\n", pid(), name(), pathname, rv); 395 printf("%u:%s:mkdirat %s:%d\n", pid(), name(), pathname, rv);
396 return rv; 396 return rv;
@@ -401,7 +401,7 @@ static orig_rmdir_t orig_rmdir = NULL;
401int rmdir(const char *pathname) { 401int rmdir(const char *pathname) {
402 if (!orig_rmdir) 402 if (!orig_rmdir)
403 orig_rmdir = (orig_rmdir_t)dlsym(RTLD_NEXT, "rmdir"); 403 orig_rmdir = (orig_rmdir_t)dlsym(RTLD_NEXT, "rmdir");
404 404
405 int rv = orig_rmdir(pathname); 405 int rv = orig_rmdir(pathname);
406 printf("%u:%s:rmdir %s:%d\n", pid(), name(), pathname, rv); 406 printf("%u:%s:rmdir %s:%d\n", pid(), name(), pathname, rv);
407 return rv; 407 return rv;
@@ -413,7 +413,7 @@ static orig_stat_t orig_stat = NULL;
413int stat(const char *pathname, struct stat *buf) { 413int stat(const char *pathname, struct stat *buf) {
414 if (!orig_stat) 414 if (!orig_stat)
415 orig_stat = (orig_stat_t)dlsym(RTLD_NEXT, "stat"); 415 orig_stat = (orig_stat_t)dlsym(RTLD_NEXT, "stat");
416 416
417 int rv = orig_stat(pathname, buf); 417 int rv = orig_stat(pathname, buf);
418 printf("%u:%s:stat %s:%d\n", pid(), name(), pathname, rv); 418 printf("%u:%s:stat %s:%d\n", pid(), name(), pathname, rv);
419 return rv; 419 return rv;
@@ -425,7 +425,7 @@ static orig_stat64_t orig_stat64 = NULL;
425int stat64(const char *pathname, struct stat64 *buf) { 425int stat64(const char *pathname, struct stat64 *buf) {
426 if (!orig_stat64) 426 if (!orig_stat64)
427 orig_stat64 = (orig_stat64_t)dlsym(RTLD_NEXT, "stat64"); 427 orig_stat64 = (orig_stat64_t)dlsym(RTLD_NEXT, "stat64");
428 428
429 int rv = orig_stat64(pathname, buf); 429 int rv = orig_stat64(pathname, buf);
430 printf("%u:%s:stat64 %s:%d\n", pid(), name(), pathname, rv); 430 printf("%u:%s:stat64 %s:%d\n", pid(), name(), pathname, rv);
431 return rv; 431 return rv;
@@ -463,7 +463,7 @@ static orig_opendir_t orig_opendir = NULL;
463DIR *opendir(const char *pathname) { 463DIR *opendir(const char *pathname) {
464 if (!orig_opendir) 464 if (!orig_opendir)
465 orig_opendir = (orig_opendir_t)dlsym(RTLD_NEXT, "opendir"); 465 orig_opendir = (orig_opendir_t)dlsym(RTLD_NEXT, "opendir");
466 466
467 DIR *rv = orig_opendir(pathname); 467 DIR *rv = orig_opendir(pathname);
468 printf("%u:%s:opendir %s:%p\n", pid(), name(), pathname, rv); 468 printf("%u:%s:opendir %s:%p\n", pid(), name(), pathname, rv);
469 return rv; 469 return rv;
@@ -475,7 +475,7 @@ static orig_access_t orig_access = NULL;
475int access(const char *pathname, int mode) { 475int access(const char *pathname, int mode) {
476 if (!orig_access) 476 if (!orig_access)
477 orig_access = (orig_access_t)dlsym(RTLD_NEXT, "access"); 477 orig_access = (orig_access_t)dlsym(RTLD_NEXT, "access");
478 478
479 int rv = orig_access(pathname, mode); 479 int rv = orig_access(pathname, mode);
480 printf("%u:%s:access %s:%d\n", pid(), name(), pathname, rv); 480 printf("%u:%s:access %s:%d\n", pid(), name(), pathname, rv);
481 return rv; 481 return rv;
@@ -488,7 +488,7 @@ static orig_connect_t orig_connect = NULL;
488int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen) { 488int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen) {
489 if (!orig_connect) 489 if (!orig_connect)
490 orig_connect = (orig_connect_t)dlsym(RTLD_NEXT, "connect"); 490 orig_connect = (orig_connect_t)dlsym(RTLD_NEXT, "connect");
491 491
492 int rv = orig_connect(sockfd, addr, addrlen); 492 int rv = orig_connect(sockfd, addr, addrlen);
493 print_sockaddr(sockfd, "connect", addr, rv); 493 print_sockaddr(sockfd, "connect", addr, rv);
494 494
@@ -502,7 +502,7 @@ static char buf[1024];
502int socket(int domain, int type, int protocol) { 502int socket(int domain, int type, int protocol) {
503 if (!orig_socket) 503 if (!orig_socket)
504 orig_socket = (orig_socket_t)dlsym(RTLD_NEXT, "socket"); 504 orig_socket = (orig_socket_t)dlsym(RTLD_NEXT, "socket");
505 505
506 int rv = orig_socket(domain, type, protocol); 506 int rv = orig_socket(domain, type, protocol);
507 char *ptr = buf; 507 char *ptr = buf;
508 ptr += sprintf(ptr, "%u:%s:socket ", pid(), name()); 508 ptr += sprintf(ptr, "%u:%s:socket ", pid(), name());
@@ -545,7 +545,7 @@ static orig_bind_t orig_bind = NULL;
545int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen) { 545int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen) {
546 if (!orig_bind) 546 if (!orig_bind)
547 orig_bind = (orig_bind_t)dlsym(RTLD_NEXT, "bind"); 547 orig_bind = (orig_bind_t)dlsym(RTLD_NEXT, "bind");
548 548
549 int rv = orig_bind(sockfd, addr, addrlen); 549 int rv = orig_bind(sockfd, addr, addrlen);
550 print_sockaddr(sockfd, "bind", addr, rv); 550 print_sockaddr(sockfd, "bind", addr, rv);
551 551
@@ -558,7 +558,7 @@ static orig_accept_t orig_accept = NULL;
558int accept(int sockfd, struct sockaddr *addr, socklen_t addrlen) { 558int accept(int sockfd, struct sockaddr *addr, socklen_t addrlen) {
559 if (!orig_accept) 559 if (!orig_accept)
560 orig_accept = (orig_accept_t)dlsym(RTLD_NEXT, "accept"); 560 orig_accept = (orig_accept_t)dlsym(RTLD_NEXT, "accept");
561 561
562 int rv = orig_accept(sockfd, addr, addrlen); 562 int rv = orig_accept(sockfd, addr, addrlen);
563 print_sockaddr(sockfd, "accept", addr, rv); 563 print_sockaddr(sockfd, "accept", addr, rv);
564 564
@@ -571,7 +571,7 @@ static orig_system_t orig_system = NULL;
571int system(const char *command) { 571int system(const char *command) {
572 if (!orig_system) 572 if (!orig_system)
573 orig_system = (orig_system_t)dlsym(RTLD_NEXT, "system"); 573 orig_system = (orig_system_t)dlsym(RTLD_NEXT, "system");
574 574
575 int rv = orig_system(command); 575 int rv = orig_system(command);
576 printf("%u:%s:system %s:%d\n", pid(), name(), command, rv); 576 printf("%u:%s:system %s:%d\n", pid(), name(), command, rv);
577 577
@@ -583,7 +583,7 @@ static orig_setuid_t orig_setuid = NULL;
583int setuid(uid_t uid) { 583int setuid(uid_t uid) {
584 if (!orig_setuid) 584 if (!orig_setuid)
585 orig_setuid = (orig_setuid_t)dlsym(RTLD_NEXT, "setuid"); 585 orig_setuid = (orig_setuid_t)dlsym(RTLD_NEXT, "setuid");
586 586
587 int rv = orig_setuid(uid); 587 int rv = orig_setuid(uid);
588 printf("%u:%s:setuid %d:%d\n", pid(), name(), uid, rv); 588 printf("%u:%s:setuid %d:%d\n", pid(), name(), uid, rv);
589 589
@@ -595,7 +595,7 @@ static orig_setgid_t orig_setgid = NULL;
595int setgid(gid_t gid) { 595int setgid(gid_t gid) {
596 if (!orig_setgid) 596 if (!orig_setgid)
597 orig_setgid = (orig_setgid_t)dlsym(RTLD_NEXT, "setgid"); 597 orig_setgid = (orig_setgid_t)dlsym(RTLD_NEXT, "setgid");
598 598
599 int rv = orig_setgid(gid); 599 int rv = orig_setgid(gid);
600 printf("%u:%s:setgid %d:%d\n", pid(), name(), gid, rv); 600 printf("%u:%s:setgid %d:%d\n", pid(), name(), gid, rv);
601 601
@@ -607,7 +607,7 @@ static orig_setfsuid_t orig_setfsuid = NULL;
607int setfsuid(uid_t uid) { 607int setfsuid(uid_t uid) {
608 if (!orig_setfsuid) 608 if (!orig_setfsuid)
609 orig_setfsuid = (orig_setfsuid_t)dlsym(RTLD_NEXT, "setfsuid"); 609 orig_setfsuid = (orig_setfsuid_t)dlsym(RTLD_NEXT, "setfsuid");
610 610
611 int rv = orig_setfsuid(uid); 611 int rv = orig_setfsuid(uid);
612 printf("%u:%s:setfsuid %d:%d\n", pid(), name(), uid, rv); 612 printf("%u:%s:setfsuid %d:%d\n", pid(), name(), uid, rv);
613 613
@@ -619,7 +619,7 @@ static orig_setfsgid_t orig_setfsgid = NULL;
619int setfsgid(gid_t gid) { 619int setfsgid(gid_t gid) {
620 if (!orig_setfsgid) 620 if (!orig_setfsgid)
621 orig_setfsgid = (orig_setfsgid_t)dlsym(RTLD_NEXT, "setfsgid"); 621 orig_setfsgid = (orig_setfsgid_t)dlsym(RTLD_NEXT, "setfsgid");
622 622
623 int rv = orig_setfsgid(gid); 623 int rv = orig_setfsgid(gid);
624 printf("%u:%s:setfsgid %d:%d\n", pid(), name(), gid, rv); 624 printf("%u:%s:setfsgid %d:%d\n", pid(), name(), gid, rv);
625 625
@@ -631,7 +631,7 @@ static orig_setreuid_t orig_setreuid = NULL;
631int setreuid(uid_t ruid, uid_t euid) { 631int setreuid(uid_t ruid, uid_t euid) {
632 if (!orig_setreuid) 632 if (!orig_setreuid)
633 orig_setreuid = (orig_setreuid_t)dlsym(RTLD_NEXT, "setreuid"); 633 orig_setreuid = (orig_setreuid_t)dlsym(RTLD_NEXT, "setreuid");
634 634
635 int rv = orig_setreuid(ruid, euid); 635 int rv = orig_setreuid(ruid, euid);
636 printf("%u:%s:setreuid %d %d:%d\n", pid(), name(), ruid, euid, rv); 636 printf("%u:%s:setreuid %d %d:%d\n", pid(), name(), ruid, euid, rv);
637 637
@@ -643,7 +643,7 @@ static orig_setregid_t orig_setregid = NULL;
643int setregid(gid_t rgid, gid_t egid) { 643int setregid(gid_t rgid, gid_t egid) {
644 if (!orig_setregid) 644 if (!orig_setregid)
645 orig_setregid = (orig_setregid_t)dlsym(RTLD_NEXT, "setregid"); 645 orig_setregid = (orig_setregid_t)dlsym(RTLD_NEXT, "setregid");
646 646
647 int rv = orig_setregid(rgid, egid); 647 int rv = orig_setregid(rgid, egid);
648 printf("%u:%s:setregid %d %d:%d\n", pid(), name(), rgid, egid, rv); 648 printf("%u:%s:setregid %d %d:%d\n", pid(), name(), rgid, egid, rv);
649 649
@@ -655,7 +655,7 @@ static orig_setresuid_t orig_setresuid = NULL;
655int setresuid(uid_t ruid, uid_t euid, uid_t suid) { 655int setresuid(uid_t ruid, uid_t euid, uid_t suid) {
656 if (!orig_setresuid) 656 if (!orig_setresuid)
657 orig_setresuid = (orig_setresuid_t)dlsym(RTLD_NEXT, "setresuid"); 657 orig_setresuid = (orig_setresuid_t)dlsym(RTLD_NEXT, "setresuid");
658 658
659 int rv = orig_setresuid(ruid, euid, suid); 659 int rv = orig_setresuid(ruid, euid, suid);
660 printf("%u:%s:setresuid %d %d %d:%d\n", pid(), name(), ruid, euid, suid, rv); 660 printf("%u:%s:setresuid %d %d %d:%d\n", pid(), name(), ruid, euid, suid, rv);
661 661
@@ -667,7 +667,7 @@ static orig_setresgid_t orig_setresgid = NULL;
667int setresgid(gid_t rgid, gid_t egid, gid_t sgid) { 667int setresgid(gid_t rgid, gid_t egid, gid_t sgid) {
668 if (!orig_setresgid) 668 if (!orig_setresgid)
669 orig_setresgid = (orig_setresgid_t)dlsym(RTLD_NEXT, "setresgid"); 669 orig_setresgid = (orig_setresgid_t)dlsym(RTLD_NEXT, "setresgid");
670 670
671 int rv = orig_setresgid(rgid, egid, sgid); 671 int rv = orig_setresgid(rgid, egid, sgid);
672 printf("%u:%s:setresgid %d %d %d:%d\n", pid(), name(), rgid, egid, sgid, rv); 672 printf("%u:%s:setresgid %d %d %d:%d\n", pid(), name(), rgid, egid, sgid, rv);
673 673