# PaCkAgE DaTaStReAm sudo 1 6632 # end of header 070701000296f8000081a40000000000000000000000014e816e1500000103000000b500010002ffffffffffffffff0000000d00000000sudo/pkginfoPKG=sudo NAME=sudo 1.8.2 i86pc Solaris 10 VERSION=1.8.2 PSTAMP=27th September 2011 VENDOR=Todd C. Miller EMAIL=http://www.gratisoft.us/sudo/ DESC=Priviledge escalation tool ARCH=i386 CATEGORY=utility CLASSES=none BASEDIR=/ ISTATES=S s 1 2 3 RSTATES=S s 1 2 3 070701000296f7000081a40000000000000000000000014e816e1500001501000000b500010002ffffffffffffffff0000000c00000000sudo/pkgmap: 1 6632 1 d none /usr ? ? ? 1 d none /usr/local 0755 root other 1 d none /usr/local/bin 0755 root root 1 f none /usr/local/bin/sudo 4111 root root 576408 36650 1317105169 1 l none /usr/local/bin/sudoedit=/usr/local/bin/sudo 1 f none /usr/local/bin/sudoreplay 0111 root root 131672 9045 1317105169 1 d none /usr/local/etc 0755 root root 1 f none /usr/local/etc/sudoers 0440 root root 171 13214 1299640330 1 d none /usr/local/etc/sudoers.d 0750 root root 1 d none /usr/local/include 0755 root root 1 f none /usr/local/include/sudo_plugin.h 0444 root root 5027 7634 1317105169 1 d none /usr/local/libexec 0755 root root 1 f none /usr/local/libexec/sudo_noexec.so 0755 root root 11692 53719 1317105169 1 f none /usr/local/libexec/sudoers.so 0755 root root 725456 41060 1317105169 1 d none /usr/local/sbin 0755 root root 1 f none /usr/local/sbin/visudo 0111 root root 376524 14607 1317105169 1 d none /usr/local/share 0755 root root 1 d none /usr/local/share/doc 0755 root root 1 d none /usr/local/share/doc/sudo 0755 root root 1 f none /usr/local/share/doc/sudo/CONTRIBUTORS 0444 root root 2612 6185 1317105169 1 f none /usr/local/share/doc/sudo/ChangeLog 0444 root root 746145 12816 1317105169 1 f none /usr/local/share/doc/sudo/HISTORY 0444 root root 2780 49184 1317105169 1 f none /usr/local/share/doc/sudo/LICENSE 0444 root root 3844 46711 1317105169 1 f none /usr/local/share/doc/sudo/NEWS 0444 root root 24966 26728 1317105169 1 f none /usr/local/share/doc/sudo/README 0444 root root 3784 10358 1317105169 1 f none /usr/local/share/doc/sudo/README.LDAP 0444 root root 7312 56653 1317105170 1 f none /usr/local/share/doc/sudo/TROUBLESHOOTING 0444 root root 9440 21417 1317105169 1 f none /usr/local/share/doc/sudo/UPGRADE 0444 root root 12950 65000 1317105169 1 f none /usr/local/share/doc/sudo/sample.pam 0444 root root 1182 39360 1317105169 1 f none /usr/local/share/doc/sudo/sample.sudo.conf 0444 root root 1300 49892 1317105170 1 f none /usr/local/share/doc/sudo/sample.sudoers 0444 root root 4048 7180 1317105170 1 f none /usr/local/share/doc/sudo/sample.syslog.conf 0444 root root 1075 27811 1317105170 1 f none /usr/local/share/doc/sudo/schema.ActiveDirectory 0444 root root 7873 21347 1317105170 1 f none /usr/local/share/doc/sudo/schema.OpenLDAP 0444 root root 2410 41966 1317105170 1 f none /usr/local/share/doc/sudo/schema.iPlanet 0444 root root 2283 41078 1317105170 1 f none /usr/local/share/doc/sudo/sudoers2ldif 0555 root root 3766 27625 1317105169 1 d none /usr/local/share/locale 0755 root root 1 d none /usr/local/share/locale/da 0755 root root 1 d none /usr/local/share/locale/da/LC_MESSAGES 0755 root root 1 f none /usr/local/share/locale/da/LC_MESSAGES/sudo.mo 0644 root root 14327 57566 1317105168 1 f none /usr/local/share/locale/da/LC_MESSAGES/sudoers.mo 0644 root root 34539 10986 1317105169 1 d none /usr/local/share/locale/eu 0755 root root 1 d none /usr/local/share/locale/eu/LC_MESSAGES 0755 root root 1 f none /usr/local/share/locale/eu/LC_MESSAGES/sudo.mo 0644 root root 6748 31116 1317105168 1 f none /usr/local/share/locale/eu/LC_MESSAGES/sudoers.mo 0644 root root 6381 51663 1317105169 1 d none /usr/local/share/locale/fi 0755 root root 1 d none /usr/local/share/locale/fi/LC_MESSAGES 0755 root root 1 f none /usr/local/share/locale/fi/LC_MESSAGES/sudo.mo 0644 root root 15366 22349 1317105168 1 f none /usr/local/share/locale/fi/LC_MESSAGES/sudoers.mo 0644 root root 37072 7719 1317105169 1 d none /usr/local/share/locale/pl 0755 root root 1 d none /usr/local/share/locale/pl/LC_MESSAGES 0755 root root 1 f none /usr/local/share/locale/pl/LC_MESSAGES/sudo.mo 0644 root root 15259 52791 1317105168 1 f none /usr/local/share/locale/pl/LC_MESSAGES/sudoers.mo 0644 root root 36717 44403 1317105169 1 d none /usr/local/share/locale/ru 0755 root root 1 d none /usr/local/share/locale/ru/LC_MESSAGES 0755 root root 1 f none /usr/local/share/locale/ru/LC_MESSAGES/sudo.mo 0644 root root 19687 60998 1317105168 1 d none /usr/local/share/locale/uk 0755 root root 1 d none /usr/local/share/locale/uk/LC_MESSAGES 0755 root root 1 f none /usr/local/share/locale/uk/LC_MESSAGES/sudo.mo 0644 root root 20309 57351 1317105168 1 f none /usr/local/share/locale/uk/LC_MESSAGES/sudoers.mo 0644 root root 48004 50067 1317105169 1 d none /usr/local/share/locale/zh_CN 0755 root root 1 d none /usr/local/share/locale/zh_CN/LC_MESSAGES 0755 root root 1 f none /usr/local/share/locale/zh_CN/LC_MESSAGES/sudo.mo 0644 root root 13332 7876 1317105168 1 f none /usr/local/share/locale/zh_CN/LC_MESSAGES/sudoers.mo 0644 root root 31289 57836 1317105169 1 d none /usr/local/share/man 0755 root root 1 d none /usr/local/share/man/man1m 0755 root root 1 l none /usr/local/share/man/man1m/sudo.1m=/usr/local/share/man/man1m/sudoedit.1m 1 f none /usr/local/share/man/man1m/sudo_plugin.1m 0444 root root 50029 65497 1317105170 1 f none /usr/local/share/man/man1m/sudoedit.1m 0444 root root 33637 25362 1317105170 1 f none /usr/local/share/man/man1m/sudoreplay.1m 0444 root root 15013 39202 1317105170 1 f none /usr/local/share/man/man1m/visudo.1m 0444 root root 12575 38448 1317105170 1 d none /usr/local/share/man/man4 0755 root root 1 f none /usr/local/share/man/man4/sudoers.4 0444 root root 91964 36358 1317105170 1 f none /usr/local/share/man/man4/sudoers.ldap.4 0444 root root 38998 34053 1317105170 1 i checkinstall 790 2504 1317105172 1 i pkginfo 259 19936 1317105173 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!070701000296f8000081a40000000000000000000000014e816e1500000103000000b500010002ffffffffffffffff0000000800000000pkginfoPKG=sudo NAME=sudo 1.8.2 i86pc Solaris 10 VERSION=1.8.2 PSTAMP=27th September 2011 VENDOR=Todd C. Miller EMAIL=http://www.gratisoft.us/sudo/ DESC=Priviledge escalation tool ARCH=i386 CATEGORY=utility CLASSES=none BASEDIR=/ ISTATES=S s 1 2 3 RSTATES=S s 1 2 3 070701000296f7000081a40000000000000000000000014e816e1500001501000000b500010002ffffffffffffffff0000000700000000pkgmap: 1 6632 1 d none /usr ? ? ? 1 d none /usr/local 0755 root other 1 d none /usr/local/bin 0755 root root 1 f none /usr/local/bin/sudo 4111 root root 576408 36650 1317105169 1 l none /usr/local/bin/sudoedit=/usr/local/bin/sudo 1 f none /usr/local/bin/sudoreplay 0111 root root 131672 9045 1317105169 1 d none /usr/local/etc 0755 root root 1 f none /usr/local/etc/sudoers 0440 root root 171 13214 1299640330 1 d none /usr/local/etc/sudoers.d 0750 root root 1 d none /usr/local/include 0755 root root 1 f none /usr/local/include/sudo_plugin.h 0444 root root 5027 7634 1317105169 1 d none /usr/local/libexec 0755 root root 1 f none /usr/local/libexec/sudo_noexec.so 0755 root root 11692 53719 1317105169 1 f none /usr/local/libexec/sudoers.so 0755 root root 725456 41060 1317105169 1 d none /usr/local/sbin 0755 root root 1 f none /usr/local/sbin/visudo 0111 root root 376524 14607 1317105169 1 d none /usr/local/share 0755 root root 1 d none /usr/local/share/doc 0755 root root 1 d none /usr/local/share/doc/sudo 0755 root root 1 f none /usr/local/share/doc/sudo/CONTRIBUTORS 0444 root root 2612 6185 1317105169 1 f none /usr/local/share/doc/sudo/ChangeLog 0444 root root 746145 12816 1317105169 1 f none /usr/local/share/doc/sudo/HISTORY 0444 root root 2780 49184 1317105169 1 f none /usr/local/share/doc/sudo/LICENSE 0444 root root 3844 46711 1317105169 1 f none /usr/local/share/doc/sudo/NEWS 0444 root root 24966 26728 1317105169 1 f none /usr/local/share/doc/sudo/README 0444 root root 3784 10358 1317105169 1 f none /usr/local/share/doc/sudo/README.LDAP 0444 root root 7312 56653 1317105170 1 f none /usr/local/share/doc/sudo/TROUBLESHOOTING 0444 root root 9440 21417 1317105169 1 f none /usr/local/share/doc/sudo/UPGRADE 0444 root root 12950 65000 1317105169 1 f none /usr/local/share/doc/sudo/sample.pam 0444 root root 1182 39360 1317105169 1 f none /usr/local/share/doc/sudo/sample.sudo.conf 0444 root root 1300 49892 1317105170 1 f none /usr/local/share/doc/sudo/sample.sudoers 0444 root root 4048 7180 1317105170 1 f none /usr/local/share/doc/sudo/sample.syslog.conf 0444 root root 1075 27811 1317105170 1 f none /usr/local/share/doc/sudo/schema.ActiveDirectory 0444 root root 7873 21347 1317105170 1 f none /usr/local/share/doc/sudo/schema.OpenLDAP 0444 root root 2410 41966 1317105170 1 f none /usr/local/share/doc/sudo/schema.iPlanet 0444 root root 2283 41078 1317105170 1 f none /usr/local/share/doc/sudo/sudoers2ldif 0555 root root 3766 27625 1317105169 1 d none /usr/local/share/locale 0755 root root 1 d none /usr/local/share/locale/da 0755 root root 1 d none /usr/local/share/locale/da/LC_MESSAGES 0755 root root 1 f none /usr/local/share/locale/da/LC_MESSAGES/sudo.mo 0644 root root 14327 57566 1317105168 1 f none /usr/local/share/locale/da/LC_MESSAGES/sudoers.mo 0644 root root 34539 10986 1317105169 1 d none /usr/local/share/locale/eu 0755 root root 1 d none /usr/local/share/locale/eu/LC_MESSAGES 0755 root root 1 f none /usr/local/share/locale/eu/LC_MESSAGES/sudo.mo 0644 root root 6748 31116 1317105168 1 f none /usr/local/share/locale/eu/LC_MESSAGES/sudoers.mo 0644 root root 6381 51663 1317105169 1 d none /usr/local/share/locale/fi 0755 root root 1 d none /usr/local/share/locale/fi/LC_MESSAGES 0755 root root 1 f none /usr/local/share/locale/fi/LC_MESSAGES/sudo.mo 0644 root root 15366 22349 1317105168 1 f none /usr/local/share/locale/fi/LC_MESSAGES/sudoers.mo 0644 root root 37072 7719 1317105169 1 d none /usr/local/share/locale/pl 0755 root root 1 d none /usr/local/share/locale/pl/LC_MESSAGES 0755 root root 1 f none /usr/local/share/locale/pl/LC_MESSAGES/sudo.mo 0644 root root 15259 52791 1317105168 1 f none /usr/local/share/locale/pl/LC_MESSAGES/sudoers.mo 0644 root root 36717 44403 1317105169 1 d none /usr/local/share/locale/ru 0755 root root 1 d none /usr/local/share/locale/ru/LC_MESSAGES 0755 root root 1 f none /usr/local/share/locale/ru/LC_MESSAGES/sudo.mo 0644 root root 19687 60998 1317105168 1 d none /usr/local/share/locale/uk 0755 root root 1 d none /usr/local/share/locale/uk/LC_MESSAGES 0755 root root 1 f none /usr/local/share/locale/uk/LC_MESSAGES/sudo.mo 0644 root root 20309 57351 1317105168 1 f none /usr/local/share/locale/uk/LC_MESSAGES/sudoers.mo 0644 root root 48004 50067 1317105169 1 d none /usr/local/share/locale/zh_CN 0755 root root 1 d none /usr/local/share/locale/zh_CN/LC_MESSAGES 0755 root root 1 f none /usr/local/share/locale/zh_CN/LC_MESSAGES/sudo.mo 0644 root root 13332 7876 1317105168 1 f none /usr/local/share/locale/zh_CN/LC_MESSAGES/sudoers.mo 0644 root root 31289 57836 1317105169 1 d none /usr/local/share/man 0755 root root 1 d none /usr/local/share/man/man1m 0755 root root 1 l none /usr/local/share/man/man1m/sudo.1m=/usr/local/share/man/man1m/sudoedit.1m 1 f none /usr/local/share/man/man1m/sudo_plugin.1m 0444 root root 50029 65497 1317105170 1 f none /usr/local/share/man/man1m/sudoedit.1m 0444 root root 33637 25362 1317105170 1 f none /usr/local/share/man/man1m/sudoreplay.1m 0444 root root 15013 39202 1317105170 1 f none /usr/local/share/man/man1m/visudo.1m 0444 root root 12575 38448 1317105170 1 d none /usr/local/share/man/man4 0755 root root 1 f none /usr/local/share/man/man4/sudoers.4 0444 root root 91964 36358 1317105170 1 f none /usr/local/share/man/man4/sudoers.ldap.4 0444 root root 38998 34053 1317105170 1 i checkinstall 790 2504 1317105172 1 i pkginfo 259 19936 1317105173 07070100029742000041ed0000000000000000000000024e816e1500000000000000b500010002ffffffffffffffff0000000800000000install07070100029743000081ed0000000000000000000000014e816e1400000316000000b500010002ffffffffffffffff0000001500000000install/checkinstall#!/bin/sh # expected_bits="64" expected_release="5.10" expected_platform="i386" # release=`uname -r` platform=`uname -p` bits=`isainfo -b` # if [ ${platform} != ${expected_platform} ]; then echo "\n\n\n\tThis package must be installed on a ${expected_platform} architecture\n" echo "\tAborting installation.\n\n\n" exit 1 fi if [ ${release} != ${expected_release} ]; then echo "\n\n\n\tThis package must be installed on a ${expected_release} machine\n" echo "\tAborting installation.\n\n\n" exit 1 fi #if [ ${bits} != ${expected_bits} ]; then # echo "\n\n\n\tThis package must be installed on a ${expected_bits} bit machine\n" # echo "\tYour machine is running a ${bits} bit O.S. currently\n" # echo "\tAborting installation.\n\n\n" # exit 1 #fi exit 0 070701000296f9000041ed0000000000000000000000034e816e1500000000000000b500010002ffffffffffffffff0000000500000000root070701000296fa000041ed0000000000000000000000034e816e1500000000000000b500010002ffffffffffffffff0000000900000000root/usr070701000296fb000041ed0000000000000000000000084e816e1500000000000000b500010002ffffffffffffffff0000000f00000000root/usr/local07070100029701000041ed0000000000000000000000024e816e1500000000000000b500010002ffffffffffffffff0000001700000000root/usr/local/include07070100029702000081a40000000000000000000000014e816e11000013a3000000b500010002ffffffffffffffff0000002500000000root/usr/local/include/sudo_plugin.h/* * Copyright (c) 2009-2011 Todd C. Miller * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifndef _SUDO_PLUGIN_H #define _SUDO_PLUGIN_H /* API version major/minor */ #define SUDO_API_VERSION_MAJOR 1 #define SUDO_API_VERSION_MINOR 1 #define SUDO_API_MKVERSION(x, y) ((x << 16) | y) #define SUDO_API_VERSION SUDO_API_MKVERSION(SUDO_API_VERSION_MAJOR, SUDO_API_VERSION_MINOR) /* Getters and setters for API version */ #define SUDO_API_VERSION_GET_MAJOR(v) ((v) >> 16) #define SUDO_API_VERSION_GET_MINOR(v) ((v) & 0xffff) #define SUDO_API_VERSION_SET_MAJOR(vp, n) do { \ *(vp) = (*(vp) & 0x0000ffff) | ((n) << 16); \ } while(0) #define SUDO_VERSION_SET_MINOR(vp, n) do { \ *(vp) = (*(vp) & 0xffff0000) | (n); \ } while(0) /* Conversation function types and defines */ struct sudo_conv_message { #define SUDO_CONV_PROMPT_ECHO_OFF 0x0001 /* do not echo user input */ #define SUDO_CONV_PROMPT_ECHO_ON 0x0002 /* echo user input */ #define SUDO_CONV_ERROR_MSG 0x0003 /* error message */ #define SUDO_CONV_INFO_MSG 0x0004 /* informational message */ #define SUDO_CONV_PROMPT_MASK 0x0005 /* mask user input */ #define SUDO_CONV_PROMPT_ECHO_OK 0x1000 /* flag: allow echo if no tty */ int msg_type; int timeout; const char *msg; }; struct sudo_conv_reply { char *reply; }; typedef int (*sudo_conv_t)(int num_msgs, const struct sudo_conv_message msgs[], struct sudo_conv_reply replies[]); typedef int (*sudo_printf_t)(int msg_type, const char *fmt, ...); /* Policy plugin type and defines */ struct passwd; struct policy_plugin { #define SUDO_POLICY_PLUGIN 1 unsigned int type; /* always SUDO_POLICY_PLUGIN */ unsigned int version; /* always SUDO_API_VERSION */ int (*open)(unsigned int version, sudo_conv_t conversation, sudo_printf_t sudo_printf, char * const settings[], char * const user_info[], char * const user_env[]); void (*close)(int exit_status, int error); /* wait status or error */ int (*show_version)(int verbose); int (*check_policy)(int argc, char * const argv[], char *env_add[], char **command_info[], char **argv_out[], char **user_env_out[]); int (*list)(int argc, char * const argv[], int verbose, const char *list_user); int (*validate)(void); void (*invalidate)(int remove); int (*init_session)(struct passwd *pwd); }; /* I/O plugin type and defines */ struct io_plugin { #define SUDO_IO_PLUGIN 2 unsigned int type; /* always SUDO_IO_PLUGIN */ unsigned int version; /* always SUDO_API_VERSION */ int (*open)(unsigned int version, sudo_conv_t conversation, sudo_printf_t sudo_printf, char * const settings[], char * const user_info[], char * const command_info[], int argc, char * const argv[], char * const user_env[]); void (*close)(int exit_status, int error); /* wait status or error */ int (*show_version)(int verbose); int (*log_ttyin)(const char *buf, unsigned int len); int (*log_ttyout)(const char *buf, unsigned int len); int (*log_stdin)(const char *buf, unsigned int len); int (*log_stdout)(const char *buf, unsigned int len); int (*log_stderr)(const char *buf, unsigned int len); }; /* Sudoers group plugin version major/minor */ #define GROUP_API_VERSION_MAJOR 1 #define GROUP_API_VERSION_MINOR 0 #define GROUP_API_VERSION ((GROUP_API_VERSION_MAJOR << 16) | GROUP_API_VERSION_MINOR) /* Getters and setters for group version */ #define GROUP_API_VERSION_GET_MAJOR(v) ((v) >> 16) #define GROUP_API_VERSION_GET_MINOR(v) ((v) & 0xffff) #define GROUP_API_VERSION_SET_MAJOR(vp, n) do { \ *(vp) = (*(vp) & 0x0000ffff) | ((n) << 16); \ } while(0) #define GROUP_API_VERSION_SET_MINOR(vp, n) do { \ *(vp) = (*(vp) & 0xffff0000) | (n); \ } while(0) /* * version: for compatibility checking * group_init: return 1 on success, 0 if unconfigured, -1 on error. * group_cleanup: called to clean up resources used by provider * user_in_group: returns 1 if user is in group, 0 if not. * note that pwd may be NULL if the user is not in passwd. */ struct sudoers_group_plugin { unsigned int version; int (*init)(int version, sudo_printf_t sudo_printf, char *const argv[]); void (*cleanup)(void); int (*query)(const char *user, const char *group, const struct passwd *pwd); }; #endif /* _SUDO_PLUGIN_H */ 070701000296ff000041ed0000000000000000000000024e816e1500000000000000b500010002ffffffffffffffff0000001300000000root/usr/local/etc07070100029700000081a40000000000000000000000014d76f00a000000ab000000b500010002ffffffffffffffff0000001b00000000root/usr/local/etc/sudoers# Adrian Saul t814611 ALL=(ALL) NOPASSWD: ALL # Mark Ashley t815489 ALL=(ALL) NOPASSWD: ALL webservd ALL=(ALL) NOPASSWD: /bin/tar, /data/atc/custom/util_setup_update_file 070701000296fc000041ed0000000000000000000000024e816e1500000000000000b500010002ffffffffffffffff0000001300000000root/usr/local/bin070701000296fd000081ed0000000000000000000000014e816e110008cb98000000b500010002ffffffffffffffff0000001800000000root/usr/local/bin/sudoELFO44 ($#44o/usr/lib/ld.so.1 "#$%()*-0134569:;<=?BDEFHIKMOQRTUVZ[\]^`bdehijkpqtuxy{|~     !#$%&(+-/012567:<=@BCEGIKLNPQRSTUVWX\]^_`acefhknqrvwz{|}~  !&'+,./278>@ACGJLNPSWXY_acfglmnorsvwz} "')*,.3489;>?ADFHJMOYZ[bdgijlmopstuxy# !N 4 AFGca' kNsIHK@ PGFEEpI< E Equ &D+ F0  ;HD !K4QF_ eG[xP oJv0E~I޲I0N`NpHH" F# )@< A0JHP| T@I\"q,x @6 N 4 J N H`M@I 7 GG0;\<vJ G\* P M"d< `L#"5HW`G\@=] D  E0u Ir `KF tc  ro #09LB0L"U0m ]@ hr rd@R 0I> 8P4"!`A" :[PhI8z (H Dx 082 @M7H>NG5 Vn"PE@K"FM| < 8`FL"O{ (0M">77Wmm @LPV i| ,=R: 2 Јy ? M"Y K"o a } x H B( J  H .8   y B  v _  5   B i A r <  4 s E L n C< PK @ @F M : lA pNJ IS ; q E z i E @H A, @N p @J @ 0H pL `H @N M M D! q *  6 S  > GF d u @F 0 l ; PJ 0G pG L F L ` Ia P   0X G 0B  6w 2 F< < T k Jr D| Lpp M G G D в  D b. GM +@G2N:H?VH LPN KUPI_vD|NG M"? LK"D$PM)$?0@w TRl aL"x L9! vN pFPW "$p  S  E0yA 0!K -V DNKne5 q@ }IK PFLHGpJC WH %r< LhpE$6  GFO@EV0KA* ``El]( }EPQk (:% K/`I6j @ X dX0Y 0 JI0io 8I "+Ixc"p, HCNLT MMGJp8V 0E K"!NVpK*@PL"BDUk`H KLZ J `v K pMF J  J) c 3PY DO 0FK@ WN"o@:3 A Jp R: N 0A" g H po `JID (E0K \, F:PH0AIHep7 libintl_bind_textdomain_codesetlibintl_dcigettextterm_restoresleep.XAKgoyLL4WgOUZZ.foregroundhandler__div64.XBKgoyLM4WgO0bZ.sudo_read_conf.pilgetenvdlsymtsearchtq_removeioctlsigprocmaskfclosefcntlgetgid_nl_locale_name_threadvfprintf__flsbufeasprintf_GLOBAL_OFFSET_TABLE_efreerecvparse_argsdlerror__ctype_finitcsetpgrplbuf_initsigaddsetunlink_xmknod.XAKgoyLMt_uMku9.curr_prefix_lengetcwd.XAKgoyLLt_uMU88.yypactstrchrtcsetattrgetgrentsnprintfpthread_self.XBKgoyLM4WgO0fZ.tgetpass.bufwritelibintl_bindtextdomain_nl_locale_name_environsetgidlbuf_appendsysconfpthread_cond_destroyoptind_nl_state_locklibintl_recursive_lock_init_multithreadedmkdirterm_rawusagefstat64sudo_setgroupshtonl_endsudo_edit.XAKgoyLLt_uMU88.yycheckgrantptchown.XAKgoyLLt_uMkG9.plvarterm_erase.XAKgoyLLt_uMUR9.charset_aliases.XAKgoyLL4WgOUZZ.pipelinesetreuid.XAKgoyLM4WgO0fZ.signoisattylibintl_dngettext__longdouble_usedsudo_conversationpthread_mutexattr_settypelibintl_nl_default_dirnamesudo_load_pluginslibiconvpthread_cond_wait.XBKgoyLA4WgOUAQ.xxxprintf.blanksdup2.XBKgoyLJt_uMEJ7._nl_find_domain.lock_nl_locale_name_PROCEDURE_LINKAGE_TABLE_term_cbreakclosefromtouchgetegidatoboolestrdup.XAKgoyLKt_uMkl7.string_space_maxtcgetpgrpfd_set_iobsevasprintf.XAKgoyLKt_uMkl7.lock__filbufpthread_mutex_lockemallocexec_setuppty_close.XAKgoyLKt_uMEO8.tree_locksetrlimit64mkstempsrunas_useruser_detailspthread_rwlock_destroy.XBKgoyLLt_uMEb9.libintl_thread_in_use.result.XBKgoyLB4WgO00Q.sudo_parseln.buf.XAKgoyLLt_uMU88.yypgoto.XAKgoyLL4WgOUZZ.tty_initialized_lib_versionlibintl_gettext_germanic_plural.XAKgoyLLt_uMU88.yydefgotottyname.XAKgoyLL4WgOUZZ.ttymodetq_popoptargtgetpass_exitfmt_stringlibintl_recursive_lock_unlock_multithreadedlibiconv_set_relocation_prefixstrcmp__udiv64locale_charset.XAKgoyLLt_uMU88.yystospthread_cond_initmemcpy.XAKgoyLKt_uMkl7.maxmappthread_rwlock_wrlockkillpgdebug_levelfeoflibintl_nl_default_default_domainlibintl_nl_domain_bindings___errnopthread_create__fsrpthread_mutex_destroy.XAKgoyLLt_uMU88.yytable.XAKgoyLKt_uMEO8.root.XBKgoyLM4WgO0fZ.sudo_askpass.bufemalloc2calloc.XAKgoyLMt_uMku9.orig_prefix_nl_msg_cat_cntr.XAKgoyLL4WgOUZZ.iobufs__ctype_maskmemrchrterminate_child.XBKgoyLA4WgOU2P.get_random.initializedgetgrouplistpthread_mutexattr_destroypthread_rwlock_rdlockpipe_nonblock.XAKgoyLL4WgOUZZ.slavenamegetoptlibintl_dcgettextstrrchr___Argv_etextlibintl_gettext_extract_plural.XAKgoyLLt_uM0k9.fresh_oncelbuf_append_quotedlock_filelibintl_gettextparse_nl_find_msg.XAKgoyLKt_uMEO8.enable_securelibintl_dgettext_nl_locale_name_posix.XAKgoyLL4WgOUZZ.child_pgrp.XBKgoyLJt_uMUc7._nl_load_domain.lockterm_copysocketpairstrcpyerealloc_nl_find_domainabortrunas_groupwaitpidqsort.XAKgoyLM4WgOUdZ.corelimit_edataendgrentgetpwuid_nl_locale_name_thread_unsafestrerrorperform_iosendstrncasecmplibintl_dcngettextmkdtemp.XAKgoyLL4WgOkYZ.sigfwd_listsetprioritynoexec_pathfopen64fdopenstrcasecmptcgetattrfutimesatfgetsatexitestrnduprun_commandwarningptsname.XAKgoyLKt_uMkl7.string_space__fsr_init_valuelibintl_hash_stringsignal_pipefork_pty_nl_language_preferences_defaultumaskstrsignalposix_openptaskpass_pathselectstrcspnsudo_debugget_pty_nl_expand_aliaslibintl_thread_in_usesetlocale_nl_locale_name_default.XAKgoyLLt_uMkG9.plonefflush__fpstartstrstrlockf64socketunlockptstrlen.XBKgoyLKt_uMkl7.read_alias_file.aliasfile.XAKgoyLC4WgO0bR.changedlist_appendcleanupstrlcpyutimes.XAKgoyLKt_uMkl7.string_space_actsetsid__rem64atoisave_signalssetgrentgetgroups.XAKgoyLL4WgOUZZ.childfputs.XAKgoyLMt_uMku9.orig_prefix_len.XAKgoyLL4WgOUZZ.ppgrpstrpbrkstrncpypthread_mutex_initzero_bytespthread_joinpthread_rwlock_unlock.XAKgoyLM4WgOkcZ.sudo_settingsputc.XAKgoyLC4WgO0bR.term_nl_log_untranslated_sudo_printfpthread_mutexattr_initlibiconv_openlbuf_printsudo_parselngetpidsudo_execvepthread_cond_signalwarningxforklbuf_destroy__iobmmap64__1cG__CrunMdo_exit_code6F_v_.XBKgoyLM4WgO0fZ.tgetpass.askpass_nl_normalize_codesetsrandom.XAKgoyLLt_uMU88.yydefactgetprognameterm_noechostrtoulmunmapungetclist_userstrncmpchdirpolicy_plugin.XAKgoyLKt_uMkl7.map.XAKgoyLMt_uMkO_.lockrestore_signalsfscanf.XAKgoyLA4WgOUQQ.prognamesigaction.XAKgoyLC4WgO0bR.otermget_net_ifsterm_killmy_execveendutxentsigemptysetlibintl_ngettextalarm_nl_make_l10nflist.XAKgoyLL4WgOkYZ.saved_signalslibintl_set_relocation_prefix.XBKgoyLM4WgO0fZ.sudo_askpass.passgetutxline.XBKgoyLLt_uMEb9.libintl_thread_in_use.testedgetuid.XAKgoyLMt_uMkO_.last_logfilenameget_ttysize.XBKgoyLA4WgOUAQ.xxxprintf.zeroeslist2tqutmp_loginexecl__environ_locktgetpass_flagsgethostnamelibintl_gettext_free_exp.XAKgoyLKt_uMkl7.nmaplibintl_once_singlethreadedpthread_cond_broadcast.XAKgoyLMt_uMkO_.last_logfile.XAKgoyLL4WgOUZZ.ttyblockpthread_oncelibintl_textdomaindlopen_DYNAMICtolower__fsetlockingmemset.XAKgoyLMt_uMku9.curr_prefixsetuidlibintl_recursive_lock_destroy_multithreadedtty_presentpthread_rwlock_init__urem64.XAKgoyLLt_uMU88.yyr1pthread_mutex_unlock.XAKgoyLLt_uMU88.yyr2libintl_nl_current_default_domaingetpwnampututxlinenl_langinfotq_appendpriv_setio_pluginssetprogname.XBKgoyLKt_uMkl7._nl_expand_alias.locale_alias_pathbsearchgettimeofdaysetregidpty_setup_nl_explode_name_startutmp_logout_get_exit_frame_monitorlibintl_relocategetrlimit64_nl_load_domainerrorxmemchr.XAKgoyLJt_uMEJ7._nl_loaded_domainssuspend_parentinet_ntoalibintl_gettexterealloc3chrootgeteuid.XAKgoyLL4WgOUZZ.io_fdssetpgidsetutxentstrtokstrtol.XAKgoyLLt_uMU88.yytranslatelibintl_recursive_lock_lock_multithreadedlibsocket.so.1SUNW_0.7libnsl.so.1SUNWprivate_1.1libc.so.1SUNW_1.22libiconv.so.2/usr/local/lib (= 0(= qN yqN PhL2"0(y,42{"<?8XA ~ +$(,;04-8<@DH^LPaTIX\` dShlAptxB|. *<)[ n&i2HZ $vR) rz0 $(/,G0c4:8<y@!DHOLPFToX=\`d\hhlp!tx*|f ucjPb,6p M ~=w`_8<DT Xd;t'x(\%7g5%%h%h%h%h%h %h(%h0%h8p%h@`%hHP%hP@%hX0%h` %hh%hp%hx%h%h%h%h%h%h%h% hp%h`%hP%h@%h0% h %$h%(h%,h%0h%4h%8h%<h%@h %Dh(%Hh0%Lh8p%Ph@`%ThHP%XhP@%\hX0%`h` %dhh%hhp%lhx%ph%th%xh%|h%h%h%h%hp%h`%hP%h@%h0%h %h%h%h%h%h%h%h%h %h(%h0%h8p%h@`%hHP%hP@%hX0%h` %hh%hp%hx%h%h%h%h%h%h%h% hp%h`%hP%h@%h0% h %$h%(h%,h%0h%4h%8h%<h%@h %Dh(%Hh0%Lh8p%Ph@`%ThHP%XhP@%\hX0%`h` %dhh%hhp%lhx%ph%th%xh%|h%h%h%h%hp%h`%hP%h@%h0%h %h%h%h%h%h%h%h%h %h(%h0%h8p%h@`%hHP%hP@%hX0%h` %hh%hp%hx%h%h%h%h%8h%<h%Dh%Thp%Xh`%dhP%th@%xh0%h %h%h%h%h%h%h%h%h %h(%h0jjRth4tt PsEu TRU RP"bTPj3URQt`|$у D$td$у`tƒ 3fd$f T$tfd$f L$l$YZ]U$]ܡEEE;E7UM ȉMUEEE@u EE EEE@%t EEMUEPBPAP EEujEPЋEPjEPPEP7eE@tEh@@PCE@tEhP@P6E@%Hw$QE@EE;EEuUEEE@t<]Ej@P4PCP6Ej@P6E@EEEHEEEEuEE]}P\PQP\PU,@E1PE%E4Et؃tݐEEEPE PEP EEEEUEEEPE Pj jjIjEPÐUEEEPE Pje jj jEPÐUE EEPEPj% UE EEPEPj UE^hPPE t5hh؛hPPZEPE PhPe Etjh\F`]jjN蕵jjPCPhHV\PXPѸtXPhh8|t)jhl_jXPR% tt&jh_ЍXPRjhXPGXXu/jhG_-PXPS E@ PXPEEu/jhȹ^ЋE@ PXPRN E@t9E@t.jh^ЋE@PXPR E@t6jhv^ЋE@jjjPXPR>E@uUE @ t&jh<*^ЋEPRE XP EU @ BE UP_E@uSjjXEEUPE@EXP EU@ BEUPEPEPE@EEE @ u"jhlb]ЋEPR@E @@u&jh2]ЋE @PR DžTTEEPLUL]EEEE jEPEhP谵uEjEP[~EEhE PEPr EEX9E E'j(P7}&jh8[jPXjj, (j(PE̋ẸẼ|  ~&jhx[jPjj (Xy`gEtEt jj EE-(@(hpEt,E@t$hPܳt jjK E@EE EEtEt jj EEQEt$E=uE E jj EEE E(xE Ej(Pòu"jhoYС(PRjl (H](8(BEtEt jj EEEtE t jjs E EjjUe}|K}"C}AeϐBw$xU}$P} K먃PS딃b}UVMxbjn}BW$s}np54B($,~F,E D@-u0,E D@-u,E D@,;E,E @/tu,E j=P豰tYEЋUԃ;u"EЍEEjEPEP E܋,E ]ԋM܋E@Eԡ,@, UԋEE+,E,E E Eu9t EuEEEuEE~E=uEE%tqE%t&jhĻLVjP豹jjE%@t&jhVjP~jjRE EE#E;Et jj0EupE%@u E܋@tXE%@tjh,UjP E܋@tjhXUjPjj8u @tE%u jjHt:E=t0E=t&jhUjPsjjGt3t&jhȼTjP3jjEuEtE~E%u jjEu+Eu#E%uE EE@uEE%Eu?E@EȋEj@P(E̋ŰEPE PBP臩 LUE M \+YUE jDPڨDEjEPEEEċE E̋E̋@E̋@EE@tjE@u*E@_tE@-t\UBE@EE@UBE@EE@EE@u UBE@EẼE̋E̋@WE;EtEHEUBEEj@PE̋E̍PE̋UĉPE̋pPUȋEẺE EȉEjjEEEEEHUEjjHPDPhj L+UEHPDPNȋUE؉ UE؋ujhQPj˴E@EE@EEYUEEuE@EE E E PEU؉PEU܉PEUPEU PE EEE]ÜL\Ĕ (thUhPEP EEÐUh@EPEEÐU@hP誩u/EE4E̍EЍEԍpE؍,EEwjP_EċEtE Ej|PjEPEPEP,EEȋD̃tFЋEjjDPRhEPdjEPE@EȋEȋD̃ujEPEt jjqÐUjhaOjPƲjEPÐU$E^Ej|PjEPhEP?hEPu&jhPNЋEPREPw $jhtNЋEPREPQ jEPjjjhNPEPjhlNPhEP jhKNPhEP jh0*NPhEP jhh NPhTEP jhMPhEPv jhMPhEPU jh,MPhEP4 jhpMPh\EP jhdMPhEP jhCMPhEP jh"MPhEP jhDMPh0EP jhxLPhdEPn jhLPhEPM jhLPhEP, jh8}LPh$EP jhp\LPh\EP jh;LPhEP jhLPhEP jh(KPhEP jhdKPhPEPf jhKPhEPE jEPjEP jjmUjjEPE PEPjӠEEÐUEE~E j@P hj[hhIjh oBtjhJPj֭jlPejlPj財 uj4jhP jhP( EEPEPEPEPE PEPeEEPhj # E tDjh(%Jh<P臣PujhDIh\P`h hh ujhIPjʬjjEPEPEPhhht3hujjjh dIPjiEPuDžd DžddPh EЋEЃtxEPEPEPjEPEPEP+!hhu4Pu Dž` Dž``PEP!EЋ@EЋEЃu9jhhhjPPEPhjj*UjHPREPEPhhhjPܜEPEPEPEPEPEPhghhPhDj ht#hu jjjjm EЋEЃEЋ@E̋EPEPEPEPEPEPEP|hQcEPh Njj_?jh`FЋEЋ@PRj hw$vẺEЋEЃS|PEP E؉EċEԉEȋE%t E EhjE%tj|P Ej|PEjh(FЋEPRj' E%}?}벐} J렃n 6=}1 }Nr K=`W=}=F==5=*!jEP9EEØUEjjj Ejjjޚ EjjjĚ EEuEu Ehjh8 EEujh~DhPj> Et"jEPuhjEt"jEPޛuhjEt"jEP贛uhjE~jEP躙ÐU]EjjGEE}EE@$EUP(EE EuE@(UEB(Ej@$P3Ej@(PbЋEP$]MUEjj(PB$PAPCP2EE@EE }EtEEE]ÐUEE@$jj`EEUP(E~OEj@(PЋEP$UE@$PB(P}Ej@$PGE@$E@$u-jEPtujh0BPjEP(RDEjEP臿EjhEP著 EEEEU;P(}jEt E EE+EM+ȋEU@$jPEPhQEPEEEEE@EEU;P(|EEEÐU\Džjj T֚ЋEPyЋEP̚ЋEPϚЋEP Ej@Pɚu#jh@ЋE@PRjţ @Phȋ ujh$j@PjoUBjh@(EP tE@ @u=@ @t@ HEP Ej@ P~ЋEP @E@PhPPu @E@PhXPD @E@Ph`P @E@ PhhP jEPt"@ hP蝘tx@Phpȋ ujh$C>PjHUBjj$u:jjujjtx@Phtȋ ujh$t=PjyUBj@P`uj@hxP% @PhTȋ ujh$<PjşUBUE,PB0PW1@E@0PhPF @E@,PhP @EEÐUjPjE P= E @ EUE UEPhj   UEjPh貓 u*UE@tUEU B8 UEjPhj u*UE@tUEU B, UEjPh" u*UE@tUEU B0| UEj Phڒ UE EE@u9 jEPEP蓔 EE@tGE@u;"uE=t'E=tE=}E=~ E UP UEj Ph u*UE@ tUEU B4p j UEjPhƑ UEEE@u% jEPEP EE@tVE@uJ"uE=t6E=t,E=}"E=~E UPE P$@E P$UEjPh u2UEjPλuE P$ E P$MUEj Ph誐 uUE @UEjPh n u2UEjPBuE P$E P$UEj Ph  UE EE@uujEPEPߑ EE@t6E@u*"uEtE UP E P$E P$ UEj Ph,j UE EE@ujEPEP3 EE@t6E@u*"uEtE UPE P$E P$aUEj Ph8辎 UE EE@ujEPEP臐 EE@t6E@u*"uEtE UPE P$E P$UEj PhD .UE EE@uqE @U @Bj,EPEEu E@EϐE @E j@P胳ЋE P(UE EEE U;P}jEPEP^ EE@t*E@,t E@uEu "u(E U@(M E@EE@EE U;P|E UPeUEj PhTŒ UE EE@u!jEPEP苎 EE@t6E@u*"uEtE UPE P$E P$UEj Ph` u*UE@ tUEU BjhEP{ TXEUEPj<ÐUEEjjjhhjujhl/jP豒jEPsEE@LEE@tsE;E~ EEjEPEPԮ EEj h @P+ uEMU@E@EEEE@u@PhEEu jjoUEM E@EUEEUPLÐU EEj@P5EEPhAtEtE@$t>E@ Pj耈t(jh$-ЋE@ PR:=E@$t>Ej@PDt(jhP-ЋE@PRE@$uFE@|;UE@(PBP} jhtT-jP虐E@$@t:E@Pjj貇 t"jh-jPSVE@$%tEj@PzE@8tPEj@8Pnujhjt&jh,ЋE@8PRԏE@$ tjEPUE@PBPt-jh9,ȋUE@PBPQp vE@0taE@8uUdPB0PtDžDž;`Dž]MUEjj@(PBPA PCPEhjPy xxu uHxu!hP萻DžPxP}}jjtPxP\Pj7u!x%=tptEPh4f(jh8"ȋEPQ\xtjxPwMFȋAQȋA؋ȉY j/AP|EEt E@EȋAEj.EP{EEtCȋU+UEPEPREPhPhPQx8jEPEPhPhdQ>PPj{tPPhj EtjEP.u DžȋPAP tjjzthjztujhx xhPxPu EEEPPtP(v EE;EtnEu*ȋAPh4N5jh؋ȋAPS7 hPxP$u EECjxPdtȍAPjtP٣ PtP3yuHȋA؋ȉY jtPs@@;`u``uEOd`ppj@P胛EDž||;d}6E|@H|M|@||;d|Dž;`}i|;p}[ȋ|EI @|@|;`}|;p||EjPwjPEPEPq PEPEXEXExEȡtEԋEEjEPljPwDž;`$DžPPjvtPPhj~ hjAP*r tttPtPSvjj!vthj ~u%=t*ȋAPh4:~5jh8؋ȋAPS#~jh؋ȋAPS}ttjtPCp|ȋQA;u;@ȋA;u'ȋA ;t+ȋA;++}H@Bu tpjh,؋ȋAPSw|jAPtjtPn]MUEjj@(PBPA PCPshhAPo xjjtPxP\Pj!xujh7؋ȋAPSb{jh؋ȋAPSN{jtPmhPtP,n EEEPPxPsn EE;EtiEu)ȋAPh4z4jh8؋ȋAPSz,hPtPtm EEHEu*jAPqE}PjhjPyjh؋ȋAPSyhjhL؋ȋAPSwyjh؋ȋAPScyjxPk@;`lE}Dž;`}]ȋAt$jAP}p@;`|EEUjjEPE PEPjjEEÐU`Džjh@pu6jhnt@u LEuXuNtjh$Snu'jh,OjPwEEEEtLt@ujh\PjwEPPOE'Dž1})@1|DžDžDžEu/hhiuDžDžEu>EtjPFjPzj EP趫jEPxhEEEPEPjfh EPEPjTh |PEPj?h \PEPj*h fDž1}gt=fЋPRfDžw$@1|tt EEØUPjEPfujhkPj0r(eEEujhAPjrEjEPfujhXrjh djjijXP]it/jhСXPRrjhcjPPyit/jhСPPRqjhucjjYdjjjE PEPEPijh0ЋEPRqqjh"cj EPjEPcEEEPEPj c jEPcjjjhhEP<jEPycjEPj Ic EEÐUEEEE EEEuE~EHEEjEPEPc EEuE t E uEE;Du2E@"tjh$u 7UEE% ЋE% ЋE ЉUEÐU Eu`E /"tjh >7u ;7`EE@th|EP4u|``EAEPEP_4u EE$jEP6EEtE`Et+@E;EtE=|tjEP+0S!tjh 6u _6EEEUEE% ЋE% ЋE ЉUEÐUEEE EE@ t EE E@EE@ t EE E@EEPEP"3EEu0UE@PBP3EEuEU@+BEEEEÐU u"E E~E@EoE@tՃtꐐIUE PBPEEu EEEEUE PBPhEE@u?EuUE PB P?t E EEEE@u=Et!UE PB Pt EEEEkUE PB PEEEE>E+uE-E+u‰EEEE E+EEE;EEE;EEE;EEE;EEE;EEE;EEE@ w$_UE PBPEEt EEUME PDPEE@w$EE<L\p<x$Ud]EE u E"2@Etjh 2u '2Eu`EEE EЋEEEEu6//;u/0;t  <EEtGE PEP/EEu'E} EE@EEuEudEE@EE@/jEP*@EEEEEE+ĉEM1@EPEPI/EEu &1@"tEU‰EE E럋EujEPI.hPkЋEPR\EEjEPEEPEPEjEP)EjEP)UD+ĉEEPEPhPЋEPEPRN hPjEPR)@+ĉEE@t+E@:uE@EE@t E@:tE@uCUBUBEEE@t?E@:t3E@UBE@EE@EE@t E@:u͸UBuj/EP,t!hEPB,thEP,,ujjEPEPEPEPC&EEjEPjE PEPEP8E܋E܃ulEUEDtVMUjEPjE PEPDPE܋E܃tUEDEE@EUEDuE܃uE܃E4jE P='@EEEEjEP-EEUEPE PBP EE@PEPEPa' EUPEUPEPEUP EU܉PEU؉Ptjhd,u ,h@hEPx- Etjhd,u ,Et E@;EtjEP9&3E@PE@UP E@U܉PE@U؉P,UԉPEtjjEPEPEPEP Etjh I,u ,E܉E2tjh  ,u +tDjh*EEt*E@tjEPEPE PEPEP\ +UԉPEu E EEuE EEEEEEEE]ÐUP]E@E PEP/E@u E E@EE@EE@0jEPH$EjEP%EME+q,‰E܋E@,UH+@E؋E@4tEU܋@0jPEEU܋@0EЋEЉEԋEԃuE EHEԋE;EE@ tEUԋ@jPEEUԋ@ЉE̋E;EE@ tEUԋ@jDPmEEUԋ@DEȋE@EPEP't;GEU+U@$;Ev0EU+U@$DPEP&uEԉEE@,+E؋U;rE@,+E؋U+ЉU EE؉EEEEE;EEEEE@ tEU@jDPxEEU@DE؋E@EPEP &E܋E܃} EEE܃~ E@EE;EmE,E;EE@ tEU@jDPEEU@DEE@EEE@ tEU@jPEEU@ЉEE@E%EU+U@(DEEU+U@(ЉEE\jE P EMtEj@P'u W'E@tjP jPjjEP2j@P ubEPP hEPL u(EhEPNjE PU PE PEP* jEP EEt,hEPEPEPEP E@EhEP jEP6UPEPEP EtIhEP jEPUPEPEPs h EPb h0EPN EPj 0 ÐUtjh u  jEPEPEPE PEPtjh u  UEE% ЋE% ЋE ЉUEÐUjEP诮EEÐUE PEP-EEÐUEPE PEPI EEÐUEPE PEP EEÐUjjEPEPE PEPEEÐUjEPEPEPE PEP?EEÐUjEPEEÐUE PEP荬EEÐUE PEP蝬EEUEE% ЋE% ЋE ЉUEÐUEPjjjE PEP#EEUEE% ЋE% ЋE ЉUEÐU(tjhu jEPjEPjjjjE PjBPEPh ,Etjhu EE@EPEP賹E@t EEaEU؋EDtTU؋ED@M؋UEPDP\U؋ED@tE@E؋U؋EDuEEjE PEEt'jEPE E uEEPEPEPEPEPE PE܋E܃u EpStjhbu _jEPjEPEPEPEPEPEPEPBPEPh ,Etjh3u EuE@EPEPE@ulEU؋EDtVU؋ED@M؋UEPDP螷U؋ED@tE@E؋U؋EDuEtjE PE܃tjEPEEEUEEEE@tXEEE@U‰EE@EE%EEtEU3ЉUE3EEE@uEEEUEE% ЋE% ЋE ЉUEÐUEtjh0u u <EEv&jhpOjPPEPEEEtE@EEE@@:u@@:tE@t5@:t'@@t@:uًE;s+EPEPhEEu@QEtjh0u EEEÐUE +ĉEE PEPEPS EE jhвP= jEPhTPEEuEjEP)EjEP$5EPh`P uj `PVP`TT@t)T@TT@u׋T@4T@#!T\T@TT@tTT@u8T@TT@tT@tȋT@tTBT@TT@t)T@TT@u׋T@#TXT@TT@tTT@u8T@TT@tT@tȋT@ u,TBT@T TB+T@tTBT@T;rtj\P@LjXPz@HLH;<LH=vLH@ Dž@@DDPP<<u;<Dž88;8Љ44<+@4‰A8D00<+@0‰A8@88;x<DLP\PRu ȋ СLHPXPR2 ȋLH@E@EPu7EPh`P, uj `PrtjEPjEPEvjjhpOjPPEEEÐUu EdEEEEEPPEEu EEEEEÐUUE @PBPEEU EE v9jEPEEUDEEU @+ЉU E@EE wNjEEEÐUE vFjEPEEEEEU @+ЉU E vEUBE@EE wÐUEtFEE U;sjEPz@EEE U;r EEEEEE vEE EEÐUE%UUU‰EE%U33‰EEU%EEU%EEEEÐUL]uE@/uEEtjEPK@E EEtjE P#@E EEtjE$P@E EEtjE(P@E EjEPUMȋE؋]؋ujE,P3jDPEEu EEEEEv:EPE PEP j:EPEPc EEEU/BEPEPEEt%_UBE@EEPEP_EEt%.UBE@EE PEP/EEt%.UBE@EE$PEPEEt%@UBE@EE(PEPE/UBE@EE,PEPEEE@EEtZE@t>UEPBPE̋Ẽu/Ẽ} EE EE@ EEuEuE0ujEPEEmEvEPE PGE EẺEEv E EjEPJUEjPEEujEP#EEUPEwEtEt EEEUĉPE@EU@B EUPEEv EE EHEEEE/EЋU#Ѓ EtEEEEPEPE P EEttjEPjE,PE(PE$PE PEPEPEPBPEPEPE,ȋUELE@EEPEPE P. EEuGjE,PE(PE$PE PEPEPEPEPE PEP,ȋUELE@EEHEEUEDEEE]uÐUEEEE;E sUEE@t*E@EEE@tEE@EE;E rEt E EEEj@PEEEthXEPEEEEE;E EE@t'EE@jPUBE@E3EE@tEE@UBE@EE@EE;E wUBEEEÐUE @EEUBEEE @E E@EEEEt7E @EEUBEEE @E E@EEEEuɋEHEEUE@t[E@_tOE@@tCE@.t7E@EE@t$E@_tE@@t E@.uɋEEEÐU E@E@E@E@EEEE UPE j@P.EE @;EuE j@P?EyE@_usUBE@EEUPE@tCE@.t7E@@t+E@EE@tE@.t E@@uՋEEE@.UBE@EEUPE@t+E@@tE@EE@t E@@uEEE@;EE@@tqMEU+PRAPЋEPE@u EUE@PBPuEj@P EEE@@u0UBE@EEUPE@t EEE@tE@@u EEE@tE@@u EEEEEUEE% ЋE% ЋE ЉUEÐUEPEPjEPE PEP菼EEUEE% ЋE% ЋE ЉUEÐUjjEPEPE PEPqEEUEE% ЋE% ЋE ЉUEÐUjjEPE PEPjEEU]EHEE|UEutEHEE}jjEEtNEUPEU PEHEE|"UEM]DEHEE}ދEE EEu!\dPRW}PjEEE]ÐU]ZU{aڋEPE PEP^> EEu!\dPR|PjBEEE]ÐU]ZU aڋEtjEP,]U ]ZU`*E@uE@0E|PEP0u EyPEPu EYMPEPu E-PEPu E PEPu EPEP\u EE@Y}PN}#F}01xFtoT}NfO UTGt}/n}Yf\(n#oty^EE]U ]ZU^jjEPE PEPjEE]ÐU ]ZUk^ڋEtE@EEEE@EEEEt1Et EEEEPjEP* EBE t,EtEEEEPE PE EE]ÐU]ZU]E&E:E.E"E HwUDU⋃jjP@PREPEPbEE]#/f;U]ZU\EEPhR j#PEEt UBjPEEvhEDЋDtDEHEM Ev$EDЋDuE􋓬E@ȋB@t%E@E􋓬E@ȋB@uۋEEE]U]ZU踋[jEPEjE PEEEjP EEEEtWEPEPEP EEE=UBE@EEPE PEP EEEUBEEE]U]EU PEUPEUP EUPE@E@E@]U]ZUkZڋEj@P1E@]ÐU(]ZUܸZEEEE@vEE@%u/E@su#E@EEEjEPEEU@MDP;A|AE@UBE@EU@;B}݋UE@PBPeЋEPE@%BE@EE@s+E PEPvEEE+EEEUHJEPEPQ EPUEPEEE@EEU@BEPU\BEEE@EEU@BUEHMBAE@EE PEPEEIE@t=jEPfEEUHJEPEPQ EPUEPE@EE@PE PGt-EEE@EEU@BEPU\BEEE@EEU@BUEHMBAE@EE@EUHJA]ÐU]ZUKWEEEE @0EE @%u/E @su#E@EEEjEPEE@EU@;B|AE@UBE@EU@;B}݋UE@PBPЋEPE @%uIE @E E @su6EUHJEPEPQ EPUEPE @E 7EEE@EEU@BU EHMBAE @E E @EUHJA]ÐU(]ZUܸUڋE@tEj@PE EEEE EE@EEE@EE+E U+ЉUE;E~RE+EEEPj EP EEuUUE+EPj R\ EEt E+EEE;E t8EEU;P }&UjPBЃE@EEU;P |ڋEE@EUUBUjEPBЃUUEBEEEEU@+B EE EEE;EsKE@ȋB@t-E@EE;EsE@ȋB@uӋEtUEj@PBЃUjPBЃEtE@S]ÐU]ZU踋SڋE@t E@uQE@tEj@PkE EEEUE@ ER;-EUHJAUEj@PBЃE@EEE@E@ uUjPBЃE@EwUEM+HB+EEPj EP EEt E+EEEtEPEPEP} Et E@EEEEEtE@HE@]U]EEEE@tKE@EEU@;BuE@E@E@U@BE@@EEE]ÐU ]EEE EEt#EUPEU@BE@E@E@]ÐU]EEE EE@EE@UPEU@BEUP]ÐU]EEE EE@EE@u EUP E@UPEU@BEUP]ÐU ]EEE EE@;Eu$E@;EuE@E@qE@;EuEU@BUE@RPFE@;EuEU@BE@@ UE@RPUE@RP]U]ZUOڋE PEPEEuG@u9jjEEuEE;E~E PEPEEEE]U]ZUNڋ@t^EE t ETETE EEPEPEP$ t E@EE]ÐU ]ZU[Nڋ@u!PEPt Egj$PR諿 P ⷋP PhTEP^ u@EEE]ÐU0]ZUԸMڋ@u%PEPt Ej$PEP EEE%?E؋E܃E܋E%EE t EEEPhTEPu u@E EE]ÐU ]ZULڋ@u%PEPt Ej$PR BBP P P P PhTEPv u>PPPP@E EE]ÐU0]ZUԸKڍEPEPt E,EPhTE P t EEE]U ]EEEE EE;EsUBE@EE;Er]U ]ZUJEE@EEE E%EU P&1EEE@;E uEEU@ t8EU@ PEPBuE@EEU@ uȋEU@ u_EE;E}$EMU@;uE@EE;E|܋E;Eu#E;Eu4EMU@E@EIEEE>EUPEEE]U ]Et6EEEEHEEPE ;uEEEHEEuEE]U ]ZUHjjEPE PEPjHEE]ÐU]u}ZUHjEP莿E'‹ЍR Ћu<‹Ћ +‹ȍ++ʍEjEP]u}ÐU ]ZUGڋ@u@EE]ÐU(]ZUܸGڋEEEE@tE@EE@uEE ;Er@EiE+E EEEEE;EvGE@Xu;E=!sUȍU+ȉMEHEE;Ev E@XtŋEEEEEE@t6>+‰EEE@UBE@EE@uxhhEP EEu@t EEuKhEPu EQ@t E9EttEHEE@EE]ÐU ]ZUEjE PEP EE]ÐU ]ZU[EjjEP u EEEE]U]ZU EڋE E,E s EHEE0UBEE0E=v2EHEE +ƒ0UBE +E EEEHEE ƒ0UBE EEuEHEE0UBEEEuًEtE@0tEHE0UB]EHEEUUBEEEu/k%E } g吃 tԋEEE]ÐU]uZUxCڋEEP@;UE r&UjEPEPEPEPREj;EU ;AQsHEHEP@PRUE PRȋp@‹ƋUBEEP@;UE s`EHEP@PRUE PR蒽ȋp@‹ƋUBP@PRUE PRmEU EU EUEHEP@PRUEPRFȋp@‹ƋUBP@PRUEPR!EU$ME;Bu;JuEHE(UM #P#Hp@ƋUBEU EU $ME ;Bu;JuEtE@0tEHE0UBEHE,MU #H#PыEUBEU EU $ME ;Bu;Ju-菸%E }  吃 tԋEEE]uÐU84Z<@E$P@ỦEЋ0EEEEEtUE jE PhEhPhuEhd5E@hE thE Hd DždEEE@EEt)E%t!E@EE@EEtE%uߋE+EEEPE쉅`EE\`;\ h;dr EEh;dE EE UE PBP0XXu(jhPE@EEEh+PX‰hXE HdEXP`@hB`@`h@h`;\sh;dEEEEEuE@EEEEEEۋE@EE@E Eۃu EԐEEȐE@EE`EE`\\|듋E؉EEE뀐+ErE@EE`E@E`\\*u?E@EEEE} DžX EXXEEE0 w3UUMЍDЉEE@EE@EE0 v͋E}Dž` E``EE E{EUUMЍDЉEE@EE@EE0 v͋EEGE@E%EEE EpEE@UBEEEE6EEE tPEP@ỦEЋEE$E̋U;AQ}E̋UẺUи-EEt1E@\EE\LLPwE@t1E@XEEXDDH.E@TEET@@HHPPEԋEԃ}E؉EԸ-EE E t!UME@PHEE^EtE@UPEE;E@tEU@fPEEE@UPEEEEE t EP@ỦEЋEEEt1E@\EE\LLPwE@t1E@XEEXDDH.E@TEET@@HHPPEE'E@EԋEEE4EE߃EExE@EE쉅\EE\XXu 8EE܃|IEPjEP貲 \\t\+EEE;E~E܉EE܉EjEP-EE~EEE t EP@ỦEЋEEEt1E@\EE\LLPwE@t1E@XEEXDDH.E@TEET@@HHPPEE C<E 4EE t EP@ỦEЋEEEt1E@\EE\LLPwE@t1E@XEEXDDH.E@TEET@@HHPPEEEt5E t$M̋E;Bu;Ju Eԃt EEEۋE܉EċEă| E%EEEE tI$M̋E;Bu;JuE܃t&UEPREPEPŰEPRE7EԃuE܃t$UjEPREPEPEPEE+EEEupEEUBEEJuD}v0}K-}.*} #띐*+&눃-."qNЃ d %dforegroundbackgroundunable to create pipeunable to set terminal to raw modeunable to fork (core dumped) signal %d from parentunable to send status to parent: %ssent status to parentcommand stopped, signal %dcommand killed, signal %dcommand exited: %dsetsidunable to set controlling ttyselect failederror reading from signal pipeerror reading from pipeerror reading from socketpairunexpected reply type on backchannel: %ddup2ptemldtermsudounable to open socket%s%s/ load_interfaces: overflow detected%srPath askpassnoexecPluginsudoers_policysudoers.sosudoers_io%s: %s%s%s/usr/local/libexec/%s%s: %s%s%s must be owned by uid %d%s must be only be writable by ownerunable to dlopen %s: %s%s: unable to find symbol %s%s: unknown policy type %d%s: incompatible policy major version %d, expected %d%s: only a single policy plugin may be loaded%s: at least one policy plugin must be specifiedpolicy plugin %s does not include a check_policy method/usr/local/libexec/sudo_noexec.sosudoedittrue+Aa:bC:c:D:Eeg:HhiKklnPp:r:Sst:U:u:Vvthe argument to -C must be a number greater than or equal to 3the argument to -D must be between 1 and 9 inclusiveunknown user: %syou may not specify both the `-i' and `-s' optionsyou may not specify both the `-i' and `-E' optionsthe `-E' option is not valid in edit modeyou may not specify environment variables in edit modethe `-U' option may only be used with the `-l' optionthe `-A' and `-S' options may not be used together-csettings: %s=%sunable to allocate memory -e [-AknS] [-C fd] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid] file ... [-D level] -h | -K | -k | -V -v [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid] -l[l] [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-U user name] [-u user name|#uid] [-g groupname|#gid] [command] [-AbEHknPS] [-C fd] [-D level] [-g groupname|#gid] [-p prompt] [-u user name|#uid] [-g groupname|#gid] [VAR=value] [-i|-s] []usage: %s%sOnly one of the -e, -h, -i, -K, -l, -s, -v or -V options may be specified%s - edit files as another user %s - execute a command as another user Options: -a type %suse specified BSD authentication type -b %srun command in the background -C fd %sclose all file descriptors >= fd -E %spreserve user environment when executing command -e %sedit files instead of running a command -g group %sexecute command as the specified group -H %sset HOME variable to target user's home dir. -h %sdisplay help message and exit -i [command] %srun a login shell as target user -K %sremove timestamp file completely -k %sinvalidate timestamp file -l[l] command %slist user's available commands -n %snon-interactive mode, will not prompt user -P %spreserve group vector instead of setting to target's -p prompt %suse specified password prompt -S %sread password from standard input -s [command] %srun a shell as target user -U user %swhen listing, list specified user's privileges -u user %srun command (or edit file) as specified user -V %sdisplay version information and exit -v %supdate user's timestamp without running a command -- %sstop processing command line arguments bsdauth_typelogin_classdebug_levelpreserve_environmentrunas_groupset_homerun_shelllogin_shellignore_ticketpromptselinux_roleselinux_typerunas_userprognameimplied_shellpreserve_groupsnoninteractiveclosefromnetwork_addrssudo/usr/local/share/localemust be setuid rootsudo_mode %dSudo version %s 1.8.2Configure options: %s --prefix=/usr/local --enable-zlib=/usr/local --with-logpath=/var/adm/sudo.log --sysconfdir=/usr/local/etc --with-ldap=/usr/local/usr/local/etc/sudo.conffatal error, unable to load pluginsunable to initialize policy pluginpolicy plugin returns %derror initializing I/O plugin %sunexpected sudo mode 0x%x/dev/nullunable to open %sdup2unable to get group vectorgroups=%s%u,unknown uid %u: who are you?userunable to allocate memorySHELL/bin/shuid=%ueuid=%ugid=%uegid=%ucwdttylocalhosthostlines=%dcols=%dcommand info: %schroot=command=cwd=closefrom=login_class=nice=noexec=noexec_file=preserve_groups=runas_egid=runas_euid=runas_gid=runas_groups=runas_uid=selinux_role=selinux_type=set_utmp=sudoedit=timeout=umask=use_pty=utmp_user=LimitPRIV_PROC_EXECunable to remove PRIV_PROC_EXEC from PRIV_LIMITLD_PRELOAD=LD_PRELOADunable to set effective gid to runas gid %uunable to set gid to runas gid %uunable to set supplementary group IDsunable to set process priority/unable to change root to %sunable to change to runas uid (%u, %u)unable to change directory to %scalling policy close with errnocalling I/O close with errnocalling policy close with wait statuscalling I/O close with wait statusunexpected child termination condition: %dpolicy plugin %s does not support listing privilegespolicy plugin %s does not support the -v optionpolicy plugin %s does not support the -k/-K options%s: %s seteuid(ROOT_UID)setegid(%d)setgroupsseteuid(%d)unable to change uid to root (%u)/var/tmp//usr/tmp//tmp/--plugin error: missing file list for sudoedit%s%s: not a regular file%.*s/%.*sXXXXXXXX%s%.*s/%s.XXXXXXXXmkstemps%s: short write%s left unmodified%s unchangedunable to write to %scontents of edit session left in %sunable to read temporary fileSUDO_ASKPASSDISPLAYno tty present and no askpass program specifiedno askpass program specified, try setting SUDO_ASKPASS/dev/tty unable to create pipeunable to forkdup2unable to set gid to %uunable to set uid to %uunable to run %s *LINESCOLUMNStty/dev/hhdhhihhohhuhhxhhXhdhihohuhxhXdiouxXlldllillollullxllX/.moCPOSIXGETTEXT_LOG_UNTRANSLATEDcharset= //TRANSLITLC_COLLATELC_CTYPELC_MONETARYLC_NUMERICLC_TIMELC_MESSAGESLC_ALLLC_XXXLANGUAGEOUTPUT_CHARSETplural=nplurals=charset.aliasCHARSETALIASDIR/usr/local/libr%50s %50sASCIILC_ALLLANGC\n" "adomain msgctxt msgid msgid_plural msgstr[0] "" msgstr "" /usr/local/share/localerisoDeletingbison-runtimesyntax errorError: discardingError: poppingmemory exhaustedCleanup: discarding lookaheadCleanup: poppingsudointernal error, tried to emalloc(0)unable to allocate memoryinternal error, tried to emalloc2(0)internal error, emalloc2() overflowinternal error, tried to erealloc(0)internal error, tried to erealloc3(0)internal error, erealloc3() overflowyestrueonoffnofalse ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890123456789abcdef(null)0123456789ABCDEFsudoDDDDDDDEE&E6EFEVEfEvEEEEEEEEEFF&F6FFFVFfFvFFFFFFFFFGG&G6GFGVGfGvGGGGGGGGGHH&H6HFHVHfHvHHHHHHHHHII&I6IFIVIfIvIIIIIIIIIJJ&J6JFJVJfJvJJJJJJJJJKK&K6KFKVKfKvKKKKKKKKKLL&L6LFLVLfLvLLLLLLLLLMM&M6MFMVMfMvMMMMMM <d MMȴMNN $&N6NFNDVNfNvNN,N(NдشNNNNhlHXhN  4'   oo>o8H??o`oN غ ,8DT\l|XMXMWRXMVCVC|WRXMVCVCXM XMWRXMVCVCXM 0000000000000000 '>?? ? H? D O  4Pllp !"#7= 8KQ \hsp|Psph|P@S sph|PPT( PU` `` ^\ PaD sph(|Pb( c @d d `e (e 3f{ D ^ Q ^iX iB t, }y u v wc ЃJ sxh |P( sph|Psph|P( Ћ sh@|P@- p   sphD|P @( 'I 9K A`\ O7 [ " o z" S `J j P4    Ь ? < $ 1 sh|T=P( I sph|PU( `  m u@ sh|P{sph|P`(  0( ` sph|P`8  sph|P8 sph|Pp8 sph|P( 8 @(  sph|\8 sph|P8 @ ( 40. ;+ L, a.' i0+ wP- sh |dsph| 0( P0 sh|P6 sh|Psph| 9 sh|Psph|P;8 sph|P!'`= 5 > sph|PQ@8 sph|P_PB8 sph|PkB8 sh|Pxsph|PF8 pO$ H N| sh0|вOY PV `Pu Ph 4PX sph|PXx sph|P"[8 sph|P/P\8 sph|P0\8 sph|P;D0] L^ V0^& ``^, j^2 t^" i  m sph|޲$ <(d$((%sph|Pl sph|PltF ȴsh|ȴlsph|Pl!(}. 5 ;$sph|Plsph|PlAsph|PlMsh|PlTsph|Plasph|Plpsph|PlzF  T  (?s,h|Pl   дشm hlsphH|дl"sphh|Pl0E# eN x Fma' NIHK@ PGF E E pI < / E8 EA qu K b Dg Fl   w H  ! 4 F  G xP J0E  I ޲ I 0N `N pH H "" @ FF # ] @< u 0J| P| @I " , @ 6 N  4 J N H0 `M  @I & 7? GG GM d o  < J  G \*  P  M"! d< < N `LW "i H `G @ =] D  E 0u I r `K 8 F@ tc L ro W 0m Lv 0L" 0m @ r d@B R 0I > 8 P4 "3U `A" nPI8z (H Dx 082 E@MdHkNt5 "PE@K"FM| <:l 6 `F@LOO{ U0M"k77m @LPV 'i| 7,y R: _Јy lM"K"a xHB( J H.8  0y N B Cv M_  b   oA  < 4s E Ln C< ,PK2@>@FFMLglnpNwI; E  i E@HA, @N p@J@0HpL"`H-@N7MAMGDNq W  S  cGk@F 0l ; PJ0GpGLFL` 1 IP  (0X 0G M0B A 6w WFa< yJDL pp MGGDв D b. G'M.P@GWN_HdVH qPN7KzPIDNG M"? LK"*DIPMN$d0@w yRl L" Lm ! vN pFPW "X p  S  E0yA 0! K 0RV iNpn5 @ IKPFLHGpJ   WH a r< L h:pED$[  lFt@E{0K A* `E]( EPQk (:% K&T`I[@ } X0Y 0 JI0io 8I 9"Pnx", HhNqT MMGJp8V &0E 2K"FN pKOePL"gDz`H KLZ J `v K0pMM F 8JE JN c XPY iO * 0Fp@ |N"@:3 R A Jp R: N0A" g H  po &`J-I D5 MEUK \, F_PH0fImp7 sudocrti.scrt1.ocrt1.s__get_exit_frame_monitor_ptr__do_exit_code_ptrfsr.strap_tablevalues-Xa.cDdata.dataBbss.bssDrodata.rodataconversation.cerror.c_warningexec.c_xmknodfork_cmndforward_signalshandle_signalsschedule_signalexec_pty.clog_ttyinlog_stdinlog_ttyoutlog_stdoutlog_stderrcheck_foregroundsync_ttysizeflush_outputio_buf_newsafe_closesigwinchexec_monitordeliver_signalsend_statushandle_sigchldexec_ptyget_pty.cnet_ifs.cload_plugins.csudo_read_confparse_args.cusage_exclhelpusage_errusage_outsudo.cdisable_coredumpsfix_fdsget_user_infopolicy_openpolicy_show_versioniolog_openiolog_show_versionpolicy_validatepolicy_invalidatepolicy_listpolicy_checkcommand_info_to_detailsfill_group_listget_user_groupsdisable_executepolicy_init_sessionpolicy_closeiolog_closesudo_edit.cswitch_usertgetpass.csudo_askpasshandlergetlnttysize.cutmp.cutmp_setidutmp_settimeutmp_fillbindtextdom.cSWAPset_binding_valuesdgettext.cloadmsgcat.cget_sysdep_segment_valuetextdomain.cdcigettext.ctranscmpplural_evalstpcpycategory_to_nameguess_category_valuemempcpyplural_lookupget_output_charsetplural-exp.clocalcharset.cget_charset_aliasesthreadlib.cdummy_thread_funclock.crelocatable.cset_this_relocation_prefixlangprefs.clocalename.clog.cprint_escaped_nl_log_untranslated_lockedintl-compat.cdcgettext.cfinddomain.chash-string.clocalealias.calias_compareread_alias_fileextend_alias_tablel10nflist.cargz_count__argz_stringify__argz_next__tq_popexplodename.c_nl_find_languagedcngettext.cdngettext.cplural.cnew_expnew_exp_0new_exp_1new_exp_2new_exp_3yydestruct__gettextlex__gettexterroralloc.c.L24.L25.L34.L55.L64.L92.L125.L134Dpicdata.picdataatobool.c.L40.L52.L73.L85.L97fileops.c.L_cseg0fmt_string.clbuf.clbuf_println.L307.L357setgroups.cterm.czero_bytes.cgetgrouplist.cmemrchr.cmktemp.cseed_randomget_randommktemp_internal.L63snprintf.c__ultoa__uqtoa.L_cseg1.L_cseg2.L_cseg3.L_cseg4.L_cseg5.L_cseg6xxxprintf.L237.L603.L614.L680getprogname.ccrtn.s_END__START_libintl_bind_textdomain_codesetlibintl_dcigettextterm_restoresleep.XAKgoyLL4WgOUZZ.foreground__div64.XBKgoyLM4WgO0bZ.sudo_read_conf.pilgetenvdlsymtsearchtq_removeioctlsigprocmaskfclosefcntlgetgid_nl_locale_name_threadvfprintf__flsbufeasprintf_GLOBAL_OFFSET_TABLE_efreerecvparse_argsdlerror__ctype_finitcsetpgrplbuf_initsigaddsetunlink.XAKgoyLMt_uMku9.curr_prefix_lengetcwd.XAKgoyLLt_uMU88.yypactstrchrtcsetattrgetgrentsnprintfpthread_self.XBKgoyLM4WgO0fZ.tgetpass.bufwritelibintl_bindtextdomain_nl_locale_name_environsetgidlbuf_appendsysconfpthread_cond_destroyoptind_nl_state_locklibintl_recursive_lock_init_multithreadedmkdirterm_rawusagefstat64sudo_setgroupshtonl_endsudo_edit.XAKgoyLLt_uMU88.yycheckgrantptchown.XAKgoyLLt_uMkG9.plvarterm_erase.XAKgoyLLt_uMUR9.charset_aliases.XAKgoyLL4WgOUZZ.pipelinesetreuid.XAKgoyLM4WgO0fZ.signoisattylibintl_dngettext__longdouble_usedsudo_conversationpthread_mutexattr_settypelibintl_nl_default_dirnamesudo_load_pluginslibiconvpthread_cond_wait.XBKgoyLA4WgOUAQ.xxxprintf.blanksdup2.XBKgoyLJt_uMEJ7._nl_find_domain.lock_nl_locale_name_PROCEDURE_LINKAGE_TABLE_term_cbreakclosefromtouchgetegidatoboolestrdup.XAKgoyLKt_uMkl7.string_space_maxtcgetpgrpfd_set_iobsevasprintf.XAKgoyLKt_uMkl7.lock__filbufpthread_mutex_lockemallocexec_setuppty_close.XAKgoyLKt_uMEO8.tree_locksetrlimit64mkstempsrunas_useruser_detailspthread_rwlock_destroy.XBKgoyLLt_uMEb9.libintl_thread_in_use.result.XBKgoyLB4WgO00Q.sudo_parseln.buf.XAKgoyLLt_uMU88.yypgoto.XAKgoyLL4WgOUZZ.tty_initialized_lib_versionlibintl_gettext_germanic_plural.XAKgoyLLt_uMU88.yydefgotottyname.XAKgoyLL4WgOUZZ.ttymodeoptargtgetpass_exitfmt_stringlibintl_recursive_lock_unlock_multithreadedlibiconv_set_relocation_prefixstrcmp__udiv64locale_charset.XAKgoyLLt_uMU88.yystospthread_cond_initmemcpy.XAKgoyLKt_uMkl7.maxmappthread_rwlock_wrlockkillpgdebug_levelfeoflibintl_nl_default_default_domainlibintl_nl_domain_bindings___errnopthread_create__fsrpthread_mutex_destroy.XAKgoyLLt_uMU88.yytable.XAKgoyLKt_uMEO8.root.XBKgoyLM4WgO0fZ.sudo_askpass.bufemalloc2calloc.XAKgoyLMt_uMku9.orig_prefix_nl_msg_cat_cntr.XAKgoyLL4WgOUZZ.iobufs__ctype_maskmemrchrterminate_child.XBKgoyLA4WgOU2P.get_random.initializedgetgrouplistpthread_mutexattr_destroypthread_rwlock_rdlockpipe_nonblock.XAKgoyLL4WgOUZZ.slavenamegetoptlibintl_dcgettextstrrchr___Argv_etextlibintl_gettext_extract_plural.XAKgoyLLt_uM0k9.fresh_oncelbuf_append_quotedlock_filelibintl_gettextparse_nl_find_msg.XAKgoyLKt_uMEO8.enable_securelibintl_dgettext_nl_locale_name_posix.XAKgoyLL4WgOUZZ.child_pgrp.XBKgoyLJt_uMUc7._nl_load_domain.lockterm_copysocketpairstrcpyerealloc_nl_find_domainabortrunas_groupwaitpidqsort.XAKgoyLM4WgOUdZ.corelimit_edataendgrentgetpwuid_nl_locale_name_thread_unsafestrerrorperform_iosendstrncasecmplibintl_dcngettextmkdtemp.XAKgoyLL4WgOkYZ.sigfwd_listsetprioritynoexec_pathfopen64fdopenstrcasecmptcgetattrfutimesatfgetsatexitestrnduprun_commandptsname.XAKgoyLKt_uMkl7.string_space__fsr_init_valuelibintl_hash_stringsignal_pipefork_pty_nl_language_preferences_defaultumaskstrsignalposix_openptaskpass_pathselectstrcspnsudo_debugget_pty_nl_expand_aliaslibintl_thread_in_usesetlocale_nl_locale_name_default.XAKgoyLLt_uMkG9.plonefflush__fpstartstrstrlockf64socketunlockptstrlen.XBKgoyLKt_uMkl7.read_alias_file.aliasfile.XAKgoyLC4WgO0bR.changedlist_appendcleanupstrlcpyutimes.XAKgoyLKt_uMkl7.string_space_actsetsid__rem64atoisave_signalssetgrentgetgroups.XAKgoyLL4WgOUZZ.childfputs.XAKgoyLMt_uMku9.orig_prefix_len.XAKgoyLL4WgOUZZ.ppgrpstrpbrkstrncpypthread_mutex_initzero_bytespthread_joinpthread_rwlock_unlock.XAKgoyLM4WgOkcZ.sudo_settingsputc.XAKgoyLC4WgO0bR.term_nl_log_untranslated_sudo_printfpthread_mutexattr_initlibiconv_openlbuf_printsudo_parselngetpidsudo_execvepthread_cond_signalwarningxforklbuf_destroy__iobmmap64__1cG__CrunMdo_exit_code6F_v_.XBKgoyLM4WgO0fZ.tgetpass.askpass_nl_normalize_codesetsrandom.XAKgoyLLt_uMU88.yydefactgetprognameterm_noechostrtoulmunmapungetclist_userstrncmpchdirpolicy_plugin.XAKgoyLKt_uMkl7.map.XAKgoyLMt_uMkO_.lockrestore_signalsfscanf.XAKgoyLA4WgOUQQ.prognamesigaction.XAKgoyLC4WgO0bR.otermget_net_ifsterm_killmy_execveendutxentsigemptysetlibintl_ngettextalarm_nl_make_l10nflist.XAKgoyLL4WgOkYZ.saved_signalslibintl_set_relocation_prefix.XBKgoyLM4WgO0fZ.sudo_askpass.passgetutxline.XBKgoyLLt_uMEb9.libintl_thread_in_use.testedgetuid.XAKgoyLMt_uMkO_.last_logfilenameget_ttysize.XBKgoyLA4WgOUAQ.xxxprintf.zeroeslist2tqutmp_loginexecl__environ_locktgetpass_flagsgethostnamelibintl_gettext_free_exp.XAKgoyLKt_uMkl7.nmaplibintl_once_singlethreadedpthread_cond_broadcast.XAKgoyLMt_uMkO_.last_logfile.XAKgoyLL4WgOUZZ.ttyblockpthread_oncelibintl_textdomaindlopen_DYNAMICtolower__fsetlockingmemset.XAKgoyLMt_uMku9.curr_prefixsetuidlibintl_recursive_lock_destroy_multithreadedtty_presentpthread_rwlock_init__urem64.XAKgoyLLt_uMU88.yyr1pthread_mutex_unlock.XAKgoyLLt_uMU88.yyr2libintl_nl_current_default_domaingetpwnampututxlinenl_langinfotq_appendpriv_setio_pluginssetprogname.XBKgoyLKt_uMkl7._nl_expand_alias.locale_alias_pathbsearchgettimeofdaysetregidpty_setup_nl_explode_name_startutmp_logout_get_exit_frame_monitorlibintl_relocategetrlimit64_nl_load_domainerrorxmemchr.XAKgoyLJt_uMEJ7._nl_loaded_domainssuspend_parentinet_ntoalibintl_gettexterealloc3chrootgeteuid.XAKgoyLL4WgOUZZ.io_fdssetpgidsetutxentstrtokstrtol.XAKgoyLLt_uMU88.yytranslatelibintl_recursive_lock_lock_multithreadedanotate anotate0 ,(OO4Oanotate8 40TQQQ}PQ\PQQQPR\Panotate anotate {UaXaanotatex tphhhghghhhgiglmcmdzn@dn`ehoeoayaanotate anotate anotate #xx|L\Ĕ (thanotate vvz~gнRPR"PYR^Panotate anotate8 40 anotate anotate anotate anotate ~<L\p<x$V@c,r,r,,v,,z,(,~,+,,,4,,@,anotate anotate 766anotate qGpONpOanotate anotateX TPVehhDchlcicic ic i0diddididid!id%i0eiiifiiUiiDi{lllllllllklkl llklkl jl jl jl jl jl jl jl jl jm jmlm l mkmjmTkmlanotate anotate anotate anotate anotate anotate anotate anotate anotate anotate anotate @(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)maillock.h 1.7 99/03/09 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)sysmacros.h 1.44 09/05/07 SMI@(#)socket.h 1.78 08/01/18 SMI@(#)uio.h 1.34 09/06/15 SMI@(#)socket_impl.h 1.1 05/08/02 SMI@(#)un.h 1.11 02/10/02 SMI@(#)if_dl.h 1.10 03/05/21 SMI@(#)netconfig.h 1.24 04/02/27 SMI@(#)in.h 1.55 09/05/27 SMI@(#)stream.h 1.115 08/07/22 SMI@(#)vnode.h 1.133 09/07/17 SMI@(#)t_lock.h 1.45 98/02/01 SMI@(#)machlock.h 1.25 04/07/19 SMI@(#)mutex.h 1.21 07/04/04 SMI@(#)rwlock.h 1.9 98/02/18 SMI@(#)semaphore.h 1.5 98/02/01 SMI@(#)condvar.h 1.14 04/10/21 SMI@(#)rwstlock.h 1.4 04/11/09 SMI@(#)ksynch.h 1.6 97/10/22 SMI@(#)cred.h 1.27 06/05/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)seg_enum.h 1.9 09/07/02 SMI@(#)kstat.h 1.22 07/02/02 SMI@(#)kmem.h 1.38 09/05/07 SMI@(#)vmem.h 1.12 05/06/27 SMI@(#)poll.h 1.28 98/11/23 SMI@(#)strmdep.h 1.10 98/01/06 SMI@(#)model.h 1.24 04/09/28 SMI@(#)strft.h 1.2 00/03/17 SMI@(#)byteorder.h 1.18 04/09/28 SMI@(#)stat.h 1.11 04/09/28 SMI@(#)stat_impl.h 1.4 03/12/04 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)ioctl.h 1.9 92/07/14 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)fcntl.h 1.17 06/03/10 SMI@(#)fcntl.h 1.52 07/03/05 SMI@(#)signal.h 1.43 04/09/28 SMI@(#)signal_iso.h 1.1 99/08/09 SMI@(#)termios.h 1.6 92/07/14 SMI@(#)termios.h 1.42 07/01/14 SMI@(#)ttydev.h 1.7 92/07/14 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)maillock.h 1.7 99/03/09 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)sysmacros.h 1.44 09/05/07 SMI@(#)socket.h 1.78 08/01/18 SMI@(#)uio.h 1.34 09/06/15 SMI@(#)socket_impl.h 1.1 05/08/02 SMI@(#)un.h 1.11 02/10/02 SMI@(#)if_dl.h 1.10 03/05/21 SMI@(#)netconfig.h 1.24 04/02/27 SMI@(#)in.h 1.55 09/05/27 SMI@(#)stream.h 1.115 08/07/22 SMI@(#)vnode.h 1.133 09/07/17 SMI@(#)t_lock.h 1.45 98/02/01 SMI@(#)machlock.h 1.25 04/07/19 SMI@(#)mutex.h 1.21 07/04/04 SMI@(#)rwlock.h 1.9 98/02/18 SMI@(#)semaphore.h 1.5 98/02/01 SMI@(#)condvar.h 1.14 04/10/21 SMI@(#)rwstlock.h 1.4 04/11/09 SMI@(#)ksynch.h 1.6 97/10/22 SMI@(#)cred.h 1.27 06/05/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)seg_enum.h 1.9 09/07/02 SMI@(#)kstat.h 1.22 07/02/02 SMI@(#)kmem.h 1.38 09/05/07 SMI@(#)vmem.h 1.12 05/06/27 SMI@(#)poll.h 1.28 98/11/23 SMI@(#)strmdep.h 1.10 98/01/06 SMI@(#)model.h 1.24 04/09/28 SMI@(#)strft.h 1.2 00/03/17 SMI@(#)byteorder.h 1.18 04/09/28 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)ioctl.h 1.9 92/07/14 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)fcntl.h 1.17 06/03/10 SMI@(#)stat.h 1.11 04/09/28 SMI@(#)stat_impl.h 1.4 03/12/04 SMI@(#)fcntl.h 1.52 07/03/05 SMI@(#)signal.h 1.43 04/09/28 SMI@(#)signal_iso.h 1.1 99/08/09 SMI@(#)termios.h 1.6 92/07/14 SMI@(#)termios.h 1.42 07/01/14 SMI@(#)ttydev.h 1.7 92/07/14 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)maillock.h 1.7 99/03/09 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stat.h 1.11 04/09/28 SMI@(#)stat_impl.h 1.4 03/12/04 SMI@(#)ioctl.h 1.9 92/07/14 SMI@(#)stropts.h 1.52 04/07/13 SMI@(#)conf.h 1.73 08/01/04 SMI@(#)t_lock.h 1.45 98/02/01 SMI@(#)machlock.h 1.25 04/07/19 SMI@(#)mutex.h 1.21 07/04/04 SMI@(#)rwlock.h 1.9 98/02/18 SMI@(#)semaphore.h 1.5 98/02/01 SMI@(#)condvar.h 1.14 04/10/21 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)fcntl.h 1.17 06/03/10 SMI@(#)fcntl.h 1.52 07/03/05 SMI@(#)grp.h 1.22 04/09/28 SMI@(#)pwd.h 1.22 04/09/28 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)maillock.h 1.7 99/03/09 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)socket.h 1.78 08/01/18 SMI@(#)uio.h 1.34 09/06/15 SMI@(#)socket_impl.h 1.1 05/08/02 SMI@(#)un.h 1.11 02/10/02 SMI@(#)if_dl.h 1.10 03/05/21 SMI@(#)netconfig.h 1.24 04/02/27 SMI@(#)in.h 1.55 09/05/27 SMI@(#)stream.h 1.115 08/07/22 SMI@(#)vnode.h 1.133 09/07/17 SMI@(#)t_lock.h 1.45 98/02/01 SMI@(#)machlock.h 1.25 04/07/19 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)mutex.h 1.21 07/04/04 SMI@(#)rwlock.h 1.9 98/02/18 SMI@(#)semaphore.h 1.5 98/02/01 SMI@(#)condvar.h 1.14 04/10/21 SMI@(#)rwstlock.h 1.4 04/11/09 SMI@(#)ksynch.h 1.6 97/10/22 SMI@(#)cred.h 1.27 06/05/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)seg_enum.h 1.9 09/07/02 SMI@(#)kstat.h 1.22 07/02/02 SMI@(#)kmem.h 1.38 09/05/07 SMI@(#)vmem.h 1.12 05/06/27 SMI@(#)poll.h 1.28 98/11/23 SMI@(#)strmdep.h 1.10 98/01/06 SMI@(#)model.h 1.24 04/09/28 SMI@(#)strft.h 1.2 00/03/17 SMI@(#)byteorder.h 1.18 04/09/28 SMI@(#)ioctl.h 1.9 92/07/14 SMI@(#)sockio.h 1.41 07/10/11 SMI@(#)ioccom.h 1.14 97/10/22 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)netdb.h 1.30 03/12/04 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)inet.h 1.21 08/01/04 SMI@(#)if.h 1.38 07/03/20 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stat.h 1.11 04/09/28 SMI@(#)stat_impl.h 1.4 03/12/04 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)dlfcn.h 1.45 05/08/08 SMI@(#)auxv.h 1.38 09/07/16 SMI@(#)auxv_386.h 1.5 09/06/11 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)maillock.h 1.7 99/03/09 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)grp.h 1.22 04/09/28 SMI@(#)pwd.h 1.22 04/09/28 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)maillock.h 1.7 99/03/09 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stat.h 1.11 04/09/28 SMI@(#)stat_impl.h 1.4 03/12/04 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)socket.h 1.78 08/01/18 SMI@(#)uio.h 1.34 09/06/15 SMI@(#)socket_impl.h 1.1 05/08/02 SMI@(#)un.h 1.11 02/10/02 SMI@(#)if_dl.h 1.10 03/05/21 SMI@(#)netconfig.h 1.24 04/02/27 SMI@(#)in.h 1.55 09/05/27 SMI@(#)stream.h 1.115 08/07/22 SMI@(#)vnode.h 1.133 09/07/17 SMI@(#)t_lock.h 1.45 98/02/01 SMI@(#)machlock.h 1.25 04/07/19 SMI@(#)mutex.h 1.21 07/04/04 SMI@(#)rwlock.h 1.9 98/02/18 SMI@(#)semaphore.h 1.5 98/02/01 SMI@(#)condvar.h 1.14 04/10/21 SMI@(#)rwstlock.h 1.4 04/11/09 SMI@(#)ksynch.h 1.6 97/10/22 SMI@(#)cred.h 1.27 06/05/03 SMI@(#)seg_enum.h 1.9 09/07/02 SMI@(#)kstat.h 1.22 07/02/02 SMI@(#)kmem.h 1.38 09/05/07 SMI@(#)vmem.h 1.12 05/06/27 SMI@(#)poll.h 1.28 98/11/23 SMI@(#)strmdep.h 1.10 98/01/06 SMI@(#)model.h 1.24 04/09/28 SMI@(#)strft.h 1.2 00/03/17 SMI@(#)byteorder.h 1.18 04/09/28 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)fcntl.h 1.17 06/03/10 SMI@(#)fcntl.h 1.52 07/03/05 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)signal.h 1.43 04/09/28 SMI@(#)signal_iso.h 1.1 99/08/09 SMI@(#)grp.h 1.22 04/09/28 SMI@(#)pwd.h 1.22 04/09/28 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)priv.h 1.1 03/02/27 SMI@(#)priv.h 1.5 06/05/03 SMI@(#)priv_defs 1.13 07/03/20 SMI@(#)maillock.h 1.7 99/03/09 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stat.h 1.11 04/09/28 SMI@(#)stat_impl.h 1.4 03/12/04 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)socket.h 1.78 08/01/18 SMI@(#)uio.h 1.34 09/06/15 SMI@(#)socket_impl.h 1.1 05/08/02 SMI@(#)un.h 1.11 02/10/02 SMI@(#)if_dl.h 1.10 03/05/21 SMI@(#)netconfig.h 1.24 04/02/27 SMI@(#)in.h 1.55 09/05/27 SMI@(#)stream.h 1.115 08/07/22 SMI@(#)vnode.h 1.133 09/07/17 SMI@(#)t_lock.h 1.45 98/02/01 SMI@(#)machlock.h 1.25 04/07/19 SMI@(#)mutex.h 1.21 07/04/04 SMI@(#)rwlock.h 1.9 98/02/18 SMI@(#)semaphore.h 1.5 98/02/01 SMI@(#)condvar.h 1.14 04/10/21 SMI@(#)rwstlock.h 1.4 04/11/09 SMI@(#)ksynch.h 1.6 97/10/22 SMI@(#)cred.h 1.27 06/05/03 SMI@(#)seg_enum.h 1.9 09/07/02 SMI@(#)kstat.h 1.22 07/02/02 SMI@(#)kmem.h 1.38 09/05/07 SMI@(#)vmem.h 1.12 05/06/27 SMI@(#)poll.h 1.28 98/11/23 SMI@(#)strmdep.h 1.10 98/01/06 SMI@(#)model.h 1.24 04/09/28 SMI@(#)strft.h 1.2 00/03/17 SMI@(#)byteorder.h 1.18 04/09/28 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)grp.h 1.22 04/09/28 SMI@(#)pwd.h 1.22 04/09/28 SMI@(#)signal.h 1.43 04/09/28 SMI@(#)signal_iso.h 1.1 99/08/09 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)fcntl.h 1.17 06/03/10 SMI@(#)fcntl.h 1.52 07/03/05 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)maillock.h 1.7 99/03/09 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)pwd.h 1.22 04/09/28 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)signal.h 1.43 04/09/28 SMI@(#)signal_iso.h 1.1 99/08/09 SMI@(#)fcntl.h 1.17 06/03/10 SMI@(#)stat.h 1.11 04/09/28 SMI@(#)stat_impl.h 1.4 03/12/04 SMI@(#)fcntl.h 1.52 07/03/05 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)maillock.h 1.7 99/03/09 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)ioctl.h 1.9 92/07/14 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)termios.h 1.6 92/07/14 SMI@(#)termios.h 1.42 07/01/14 SMI@(#)ttydev.h 1.7 92/07/14 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)utmpx.h 1.16 97/08/23 SMI@(#)utmp.h 1.18 04/06/11 SMI@(#)types32.h 1.4 98/02/13 SMI@(#)inttypes.h 1.4 04/04/29 SMI@(#)inttypes.h 1.3 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)int_const.h 1.5 04/09/28 SMI@(#)int_fmtio.h 1.6 04/09/28 SMI@(#)stdint.h 1.1 03/12/04 SMI@(#)fcntl.h 1.17 06/03/10 SMI@(#)stat.h 1.11 04/09/28 SMI@(#)stat_impl.h 1.4 03/12/04 SMI@(#)fcntl.h 1.52 07/03/05 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)maillock.h 1.7 99/03/09 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)wchar_c99.h 1.3 04/03/29 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)wchar_c99.h 1.3 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)wchar_c99.h 1.3 04/03/29 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)fcntl.h 1.17 06/03/10 SMI@(#)stat.h 1.11 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stat_impl.h 1.4 03/12/04 SMI@(#)fcntl.h 1.52 07/03/05 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)mman.h 1.47 09/06/15 SMI@(#)stdint.h 1.1 03/12/04 SMI@(#)stdint.h 1.1 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)int_const.h 1.5 04/09/28 SMI@(#)inttypes.h 1.4 04/04/29 SMI@(#)inttypes.h 1.3 03/12/04 SMI@(#)int_fmtio.h 1.6 04/09/28 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)wchar_c99.h 1.3 04/03/29 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)wchar_c99.h 1.3 04/03/29 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)param.h 1.82 06/01/30 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)wchar_c99.h 1.3 04/03/29 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)search.h 1.17 03/12/04 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)fcntl.h 1.17 06/03/10 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stat.h 1.11 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stat_impl.h 1.4 03/12/04 SMI@(#)fcntl.h 1.52 07/03/05 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)langinfo.h 1.11 03/12/04 SMI@(#)nl_types.h 1.14 00/09/16 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)pthread.h 1.37 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)wchar_c99.h 1.3 04/03/29 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)wchar_c99.h 1.3 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stdio.h 1.84 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)wchar_c99.h 1.3 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)wchar_c99.h 1.3 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stdio.h 1.84 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)wchar_c99.h 1.3 04/03/29 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21acomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdio_ext.h 1.3 07/03/05 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)alloca.h 1.16 04/09/28 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)wchar_c99.h 1.3 04/03/29 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)wchar_c99.h 1.3 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)wchar_c99.h 1.3 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)wchar.h 1.37 03/12/04 SMI@(#)wchar_iso.h 1.8 04/09/28 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)wchar_impl.h 1.3 99/07/26 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)wchar_c99.h 1.3 04/03/29 SMI@(#)pthread.h 1.37 04/09/28 SMI@(#)sched.h 1.10 03/03/06 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)stddef.h 1.18 04/09/28 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)types.h 1.86 07/09/20 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMIacomp: Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21as: Sun Compiler Common 12.1 SunOS_i386 Patch 141858-03 2009/09/21@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)inttypes.h 1.4 04/04/29 SMI@(#)inttypes.h 1.3 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)int_const.h 1.5 04/09/28 SMI@(#)int_fmtio.h 1.6 04/09/28 SMI@(#)stdint.h 1.1 03/12/04 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMI@(#)locale.h 1.20 03/12/04 SMI@(#)locale_iso.h 1.3 03/12/04 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)fcntl.h 1.17 06/03/10 SMI@(#)stat.h 1.11 04/09/28 SMI@(#)stat_impl.h 1.4 03/12/04 SMI@(#)fcntl.h 1.52 07/03/05 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)termios.h 1.6 92/07/14 SMI@(#)termios.h 1.42 07/01/14 SMI@(#)ttydev.h 1.7 92/07/14 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)grp.h 1.22 04/09/28 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stat.h 1.11 04/09/28 SMI@(#)stat_impl.h 1.4 03/12/04 SMI@(#)errno.h 1.17 03/01/03 SMI@(#)errno.h 1.20 00/01/12 SMI@(#)fcntl.h 1.17 06/03/10 SMI@(#)fcntl.h 1.52 07/03/05 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)ctype.h 1.35 04/09/28 SMI@(#)ctype_iso.h 1.3 04/09/28 SMI@(#)ctype_c99.h 1.2 04/09/28 SMI@(#)unistd.h 1.76 06/03/10 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)param.h 1.82 06/01/30 SMI@(#)unistd.h 1.43 06/03/10 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)stdlib.h 1.51 04/06/30 SMI@(#)stdlib_iso.h 1.9 04/09/28 SMI@(#)stdlib_c99.h 1.2 04/03/29 SMI@(#)wait.h 1.23 04/06/03 SMI@(#)resource.h 1.37 07/02/07 SMI@(#)siginfo.h 1.59 04/07/15 SMI@(#)machsig.h 1.11 03/09/26 SMI@(#)faultcode.h 1.16 09/07/02 SMI@(#)procset.h 1.25 04/07/16 SMI@(#)signal.h 1.66 04/09/28 SMI@(#)signal_iso.h 1.6 03/05/02 SMI@(#)stddef.h 1.18 04/09/28 SMI@(#)stddef_iso.h 1.2 03/03/06 SMI@(#)stdint.h 1.1 03/12/04 SMI@(#)stdint.h 1.1 03/12/04 SMI@(#)int_limits.h 1.9 04/09/28 SMI@(#)int_const.h 1.5 04/09/28 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)strings.h 1.3 96/03/12 SMI@(#)limits.h 1.59 04/08/24 SMI@(#)limits_iso.h 1.2 03/12/04 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13@(#)types.h 1.86 07/09/20 SMI@(#)feature_tests.h 1.25 07/02/02 SMI@(#)ccompile.h 1.2 04/11/08 SMI@(#)isa_defs.h 1.29 08/06/06 SMI@(#)machtypes.h 1.11 04/09/28 SMI@(#)machtypes.h 1.2 04/09/28 SMI@(#)int_types.h 1.10 04/09/28 SMI@(#)select.h 1.19 04/01/28 SMI@(#)time_impl.h 1.11 05/05/19 SMI@(#)time.h 2.77 09/06/02 SMI@(#)time.h 1.45 08/01/09 SMI@(#)time_iso.h 1.4 04/09/07 SMI@(#)stdio.h 1.84 04/09/28 SMI@(#)stdio_iso.h 1.8 05/08/16 SMI@(#)va_list.h 1.15 04/11/19 SMI@(#)stdio_tag.h 1.4 04/09/28 SMI@(#)stdio_impl.h 1.15 07/03/05 SMI@(#)stdio_c99.h 1.2 04/03/29 SMI@(#)string.h 1.27 07/01/14 SMI@(#)string_iso.h 1.5 04/06/18 SMI@(#)stdarg.h 1.47 04/09/28 SMI@(#)stdarg_iso.h 1.4 04/11/19 SMI@(#)va_impl.h 1.1 04/11/19 SMI@(#)stdarg_c99.h 1.2 04/09/28 SMIacomp: Sun C 5.11 SunOS_i386 145355-01 2010/10/11as: Sun Compiler Common 12.2 SunOS_i386 2010/08/13ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.497 ./conversation.c /var/tmp/sudo-1.8.2/src /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I. -I.. -I. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDO_CONF='"/usr/local/etc/sudo.conf"' -DLOCALEDIR='"/usr/local/share/locale"' ./conversation.c -W0,-xp.XAKgoyLL4WgOEXZ.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLL4WgOEXZ.;backend;raw;cd;DBG_GEN 5.3.0sudo_conversation;PQUnum_msgs9msgs9 replies:repl<msg&=pass>n?flags?intcharsudo_conv_message  msg_type# timeout# msg#sudo_conv_reply reply#!_sudo_printfuR|RUmsg_typetfmtt ...tapvfpwlenx void va_listunsigned charunsigned__FILE _cnt# _ptr# _base# _flag# _file# __orientation#  __ionolock#   __seekable#   __extendedfd#   __xf_nocheck#   __filler#  FILE zero_bytestgetpassEEestrdupjJlong longlockf64jtruncate64j joff64_ttell64 ssize_tpwrite644jpread64c4jlseek64ftruncate64jtruncate64j joff_ttell64pwrite644jpread64^4jlseek64lockf64jftruncate64j size_tstrlenmkstemp64mkstemp647unsigned long long 7rlim64_trlimit64 rlim_curM# rlim_maxM#\getrlimit64\setrlimit64 7rlim_trlimit$ rlim_cur# rlim_max#getrlimit64M $ M setrlimit64{ R free ftello64  fseeko64  jj fsetpos64   jfgetpos64.   tmpfile64A K freopen64| F P |  fopen64   ftello64  fseeko64  jj fsetpos64#   fgetpos64E   E fputsm J  m vfprintf  r   freopen64     fopen64   tmpfile64 ./error.c /var/tmp/sudo-1.8.2/src /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I. -I.. -I. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDO_CONF='"/usr/local/etc/sudo.conf"' -DLOCALEDIR='"/usr/local/share/locale"' ./error.c -W0,-xp.XAKgoyLL4WgO0XZ.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLL4WgO0XZ.;backend;raw;cd;DBG_GEN 5.3.0herror%RRUeval$&fmt$ 3...$ap8&intchar!void+ 3va_listerrorx0RRUeval/fmt/ 3.../ap81warning;S SUfmt:3...: ap8<warningxD S@SUPUfmtC3...C ap8EP _warningM@SCTUuse_errnoLfmtL 8apLserrnoN cleanup  libintl_dgettext    getprogname% strerror[  mkstemp64x  mkstemp64 unsigned long long rlim64_trlimit64rlim_cur#rlim_max# getrlimit64   setrlimit64D   rlim_trlimitrlim_curD#rlim_maxD#Q getrlimit64  Q setrlimit64   exit unsigned charunsigned__FILE_cnt#_ptr#_base#_flag# _file# __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#  long long off64_t ftello64'  fseeko64R '  R fsetpos64~ ' W fgetpos64 ' ~ FILEtmpfile64 freopen64     fopen647   off_t ftello64<d 7 fseeko64 '   __flsbuf  ' fsetpos64 '  fgetpos64 ' ~ fputs!  '! vfprintfQ ' & 3Q [ freopen64 V `   fopen64 tmpfile64 ./exec.c /var/tmp/sudo-1.8.2/src /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I. -I.. -I. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDO_CONF='"/usr/local/etc/sudo.conf"' -DLOCALEDIR='"/usr/local/share/locale"' ./exec.c -W0,-xp.XAKgoyLL4WgOkYZ.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLL4WgOkYZ.;backend;raw;cd;DBG_GEN 5.3.0CmknodPTxTU_path._mode ;_devintchar unsigned longmode_tdev_tmy_execveXTKUUpathWargvW envpW T?U T?U T?U argc[ nargv\  fork_cmndoPUVU=detailsnBsvn cstatGp sa]q childorlonguid_tgid_t        command_detailsP= uid# euid# gid# egid# umask.# priority# timeout# ngroups# closefrom# flags#$ groups#( command#, cwd#0 login_class#4 chroot#8 selinux_role#< selinux_type#@ utmp_user#D argv#H envp#L command_statusw type# val# w~ _handlery# _sigaction#unsigned __sigbits#sigset_t  sigaction ] sa_flags# _funcptr# sa_mask# sa_resv# sigaction_tpid_tsignal_state$ signo# sa]#{ saved_signals({ saved_signals(save_signalsVVU6 ss6{restore_signalsWHWUs ss6sudo_execvePW]U=detailscstat maxfd n nready sv log_io utmp_user fdsr  fdsw  sa] childo ]] ]] ]]sigfwd G  fd_set fds_bits#fd_set $ sigforward ^ prev # next # signo#handle_signals^\`U fdochild log_iocstatsigno nread statuspido ^P` ^H` ^H` ^H` ^_ ^_ ^_ ^_ ^_ ^_ ^_ ^_ ^_ __ __saved_pgrpofdunsigned charssize_tforward_signals``PaU| socksigfwd cstatGnsent schedule_signalPaaU signo sigfwd handleraaU ssigno pipe_nonblock/abUo Bfds.flags0rval0sigforward_list first # last # sigfwd_listo Kp signal_pipe C0terminate_child      pty_setupB    pty_close[ fd_set_iobs [ [ !suspend_parent !perform_io [ [ !fork_pty = B B  sudo_debug  " !exec_setupL =  void#LTzero_bytes} Y Ltq_remove } }tq_append } } warning " error  "!emalloc2}&  !emalloc}A efreeV }!sigemptysetz V z !sigaction   !kill    !attropen64    "  !openat64;   " ;!creat64e @  e!open64 j "  !attropen64   " !openat64   " !creat64'   '!open64Q , "!fcntlp  " p!libintl_gettext u !setlocale  long long!lockf64    !truncate64(  off64_t!tell64(P LP!pwrite64  U  L!pread64    !lseek64(  ( !ftruncate64  L!write *   *!truncate64W / off_t!tell64W} !tcsetpgrp  !tcgetpgrpo !setpgid  !read   L!pwrite64 3   !pread64 ]   !pipeu B!lseek64W  W !lockf64   $getpido!ftruncate64  $forko_exit   *!execveX  % /!closeq !alarm !strerror L!memcpy} }  closefrom !mkstemp64  !mkstemp64'  __FILE _cnt# _ptr'# _base'# _flag # _file # %__orientation# %__ionolock#  %__seekable#  %__extendedfd#  %__xf_nocheck#  %__filler#  ,!ftello64() ,!fseeko64T )  T!fsetpos64 ) Y!fgetpos64 ) ,FILE $tmpfile64  !freopen64     !fopen649  ,!ftello64WZ 9!fseeko64 )  !fsetpos64 ) !fgetpos64 )   !freopen64       !fopen64=  $tmpfile64!waitpidoz o P  !_xmknod z     unsigned long longino_tnlink_ttime_t timespec L tv_sec# tv_nsec#timestruc_t blksize_tblkcnt_t   stat  st_dev;# st_pad1# st_ino# st_mode.# st_nlink# st_uid# st_gid#$ st_rdev;#( st_pad2#, st_sizeW#4 st_atimL#< st_mtimL#D st_ctimL#L st_blksize^#T st_blocksn#X st_fstype}#` st_pad4#p!lstat64   !stat64  !fstat64.   .!fstatat64d  3   d ino64_tblkcnt64_t   stat64  st_dev;# st_pad1n# st_ino# st_mode.# st_nlink# st_uid# st_gid#$ st_rdev;#( st_pad2#, st_size(#4 st_atimL#< st_mtimL#D st_ctimL#L st_blksize^#T st_blocks#X st_fstype#` st_pad4#p!fstatat64%  i   %!lstat64O *  O!stat64x T !fstat64  L!send    !recv    !socketpair    Brlim64_t rlimit64 _ rlim_cur# rlim_max#,!getrlimit64  _,!setrlimit64  rlim_t rlimit  rlim_cur# rlim_max#!getrlimit64   !setrlimit64K  " suseconds_t timeval tv_sec# tv_usecK #] !select  [ [ [ &open64 'open/-./exec_pty.c /var/tmp/sudo-1.8.2/src /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I. -I.. -I. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDO_CONF='"/usr/local/etc/sudo.conf"' -DLOCALEDIR='"/usr/local/share/locale"' ./exec_pty.c -W0,-xp.XAKgoyLL4WgOUZZ.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLL4WgOUZZ.;backend;raw;cd;DBG_GEN 5.3.0r mknodbbU   _path6_mode C_devintcharunsigned long%mode_t%dev_tlong h O io_fdsW^  pipeline _< ttymode a8 cleanupsbcU gotsignalr pty_setup ccU,,uid=tty Gutmp_userOuid_t8Blog_ttyinc@dU bufn plugin omaskA  rval unsigned void generic_plugin. type# version#3 sudo_conv_message  msg_type # timeout # msg8#= sudo_conv_reply reply#  sudo_conv_t  sudo_printf_t)3= q.8BGv ~     policy_plugin( type# version# openq# closey# show_version# check_policy# list# validate# invalidate# init_session#$       ! - 9 io_plugin( type# version# open# close# show_version# log_ttyin# log_ttyout# log_stdin(# log_stdout4# log_stderr@#$E$ b  ).g o {     io_plugin_1_0(w type# version# openb# closej# show_versionv# log_ttyin# log_ttyout# log_stdin# log_stdout# log_stderr#$ generic.# policy# io# io_1_0w # plugin_container prev# next# name# handle# u| #' OA __sigbits #' sigset_tlog_stdin@ddU   bufn plugin omaskA  rval  log_ttyoutd`eU S X bufn plugin omaskA  rval S log_stdout`eeU   bufn plugin omaskA  rval  log_stderrefU a f bufn plugin omaskA  rval a check_foreground ffUsuspend_parentghU .  signosa osa n oldmode rval . 5 i _handler0 # _sigaction8 # z O sigaction  sa_flags # _funcptr= # sa_maskA # sa_resvi #z sigaction_tterminate_childkiiU**pidj use_pgrpj Opid_tio_buf_newiiU rfd} wfd} ]action}head~iob @O?io_buffer@V next# len # off # rfd # wfd # action# buf# Vperform_ioilU 4fdsr4fdsw icstatiobn errors O O fd_set' fds_bits#fd_set' command_status i type # val #9fork_ptylrU +detailssv maxfdcstat9iobio_pipen sa Ogid_t+<FPZdnx command_detailsP  uid,# euid,# gid+# egid+# umask6# priority # timeout # ngroups # closefrom # flags #$ groups7#( commandA#, cwdK#0 login_classU#4 chroot_#8 selinux_rolei#< selinux_types#@ utmp_user}#D argv#H envp#L   O Opty_closerr~tUicstatqn sMsMtsMtsMtsigno sMtsMtsMtreasonfd_set_iobstuU4fdsr4fdsw iobdeliver_signaluvUj*pid signo status send_statusvwU  fdicstat n handle_sigchldwxU S backchannelicstat status alive pid*exec_monitor&yـU details% backchannel% cstat9'tv(fdsr4)sa *errpipe+maxfd +n +status +alive ,signo)-|||cstmp9Otime_tOsuseconds_t timeval  tv_sec# tv_usec# ) Ounsigned charflush_outputɃUiobtvfdsr4fdsw4nready nwriters maxfd exec_ptyDЃU;detailsCself*Esync_ttysizeo ~U srcn dstn wsizeqpgrp*runsigned short winsize  ws_row# ws_col# ws_xpixel# ws_ypixel#sigwinchUN sserrno safe_closeU  fd iobufsd ttyblockA cx child_pgrp*b child*b ppgrp*b tty_initialized ` foreground ]8O slavename%\xP utmp_logout ~U ~ utmp_login  !handler  pipe_nonblock   my_execve FF!sudo_debugp K"p exec_setup u  get_pty O term_restore    term_raw    term_copy 9  #restore_signals$N!zero_byteswSw libintl_gettext|!warningx"!warning"!error " emalloc2/ emallocJ!efree_ killpg ~O ' ~' sigprocmask   sigemptyset  sigaddset  z z sigaction -  kill JO JT attropen64 OY " openat64   " creat64 % open64   "  attropen64 I "I openat64 z N "z creat64 % open64  " fcntl   "  _xmknod & %%& O A Ounsigned long longA ino_t%nlink_tO Olong long off_t timespec tv_sec# tv_nsecO# timestruc_t Oblksize_t blkcnt_t ! OO ! O stat ?" st_devC# st_pad10 # st_inoW # st_mode6# st_nlinkc # st_uid,# st_gid+#$ st_rdevC#( st_pad2q #, st_size #4 st_atim #< st_mtim #D st_ctim #L st_blksize #T st_blocks #X st_fstype #` st_pad4 !#p! lstat64 d"+ ?"d" stat64 "i"?" fstat64 " ?"" fstatat64 " "?" "O " OA ino64_tO# O off64_t blkcnt64_tM# OO ^# O stat64 $ st_devC# st_pad1"# st_ino"# st_mode6# st_nlinkc # st_uid,# st_gid+#$ st_rdevC#( st_pad2 ##, st_size##4 st_atim #< st_mtim #D st_ctim #L st_blksize #T st_blocks+##X st_fstype<##` st_pad4M##p^# fstatat64 $ "$ $ lstat64 $$$$ stat64 %$$ fstat64 %% $ lockf64 J%   J% truncate64 w%O% tell64#%  ssize_t% pwrite64%%%%  pread64%&%% lseek64#(& #  ftruncate64 L&  L& write%y&%Q&y& truncate64 &~& tell64 &  tcsetpgrp & O tcgetpgrp*&  sleep'%setsid* setpgid H'OO read%j'%%j' pwrite64%'%o' pread64%'%% pipe ' lseek64 (    lockf64 +(   ioctl J(  "%getpgrp*%getpid* ftruncate64 (  %fork*!_exit(  close (  strsignal( (size_t strlen()( strerror5)  memsetY)  isatty s)  dup2 )  !closefrom)  mkstemp64 ) mkstemp64 )) __FILE* _cnt # _ptr)# _base)# _flag)# _file)# &__orientation# &__ionolock#  &__seekable#  &__extendedfd#  &__xf_nocheck#  &__filler#  ) ftello64#**) fseeko64 +*   + fsetpos64 <+*+ fgetpos64 c+*<+)FILEc+%tmpfile64n+++ freopen64n++++n+++ fopen64n++++) ftello64 ,+ fseeko64 <,*   <, fsetpos64 h,*A, fgetpos64 ,*<+,, freopen64n+,,,n+,, fopen64n+,,,%tmpfile64n+  waitpid*6-* - 6- send%g-%;-% recv%-%%%A rlim64_t rlimit64- rlim_cur-# rlim_max-#- getrlimit64 - --- setrlimit64 '. -A rlim_t rlimite. rlim_cur'.# rlim_max'.#4. getrlimit64 . e.4.. setrlimit64 . . select . ....'open64/(open{./get_pty.c /var/tmp/sudo-1.8.2/src /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I. -I.. -I. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDO_CONF='"/usr/local/etc/sudo.conf"' -DLOCALEDIR='"/usr/local/share/locale"' ./get_pty.c -W0,-xp.XAKgoyLL4WgOEaZ.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLL4WgOEaZ.;backend;raw;cd;DBG_GEN 5.3.0!mknod(U  _path4_mode A_devintcharunsigned long#mode_t#dev_tget_ptyp0U masteroslaveo nameonameszottyuido lineq unsignedsize_tlonguid_t  attropen64 I    I openat64 z  N  z creat64   # open64     attropen64        openat64 <    < creat64 f A #f open64  k  long long lockf64     truncate64   off64_t tell64  ssize_tvoid%- pwrite64b  2  % pread64  b   lseek64    ftruncate64    truncate64   off_t tell64- %- pwrite64b  2   pread64  b   lseek64    lockf64     ioctl    ftruncate64    close 2 2 chown _ 7  d strlcpy _ i  posix_openpt   unlockpt   ptsname  grantpt   mkstemp64 "  mkstemp64 ? unsigned long long?rlim64_t rlimit64rlim_curU#rlim_maxU#d getrlimit64   d setrlimit64   ?rlim_t rlimit, rlim_cur#rlim_max# getrlimit64 U  , U setrlimit64   Z unsigned char __FILEu _cnt #_ptr #_base #_flag # _file # __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#   ftello64 u  fseeko64    fsetpos64   fgetpos64   FILE tmpfile64 7 A freopen64 r < F  r | fopen64  w  ftello64 fseeko64    fsetpos64  fgetpos64 ; ; E freopen64 v @ J  v  fopen64  { tmpfile64   _xmknod  # #   ?ino_t#nlink_tgid_tH time_t timespec tv_secH #tv_nsec#U timestruc_tblksize_tblkcnt_t   statst_devA#st_pad1 #st_ino #st_mode4#st_nlink #st_uid# st_gid+ #$st_rdevA#(st_pad27 #,st_size#4st_atim #<st_mtim #Dst_ctim #Lst_blksize #Tst_blocks #Xst_fstype #`st_pad4 #p lstat64   stat64 G #  fstat64 g  g fstatat64   l   ?ino64_tblkcnt64_t  stat64-st_devA#st_pad1#st_ino#st_mode4#st_nlink #st_uid# st_gid+ #$st_rdevA#(st_pad2#,st_size#4st_atim #<st_mtim #Dst_ctim #Lst_blksize #Tst_blocks#Xst_fstype#`st_pad4#p  fstatat64 ^   - ^ lstat64  c - stat64   - fstat64   -open64open./net_ifs.c /var/tmp/sudo-1.8.2/src /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I. -I.. -I. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDO_CONF='"/usr/local/etc/sudo.conf"' -DLOCALEDIR='"/usr/local/share/locale"' ./net_ifs.c -W0,-xp.XAKgoyLL4WgO0aZ.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLL4WgO0aZ.;backend;raw;cd;DBG_GEN 5.3.0A#get_net_ifsӐU++?addrinfoifconfifr6ifr_tmpsinailen+i+len+n+sock+num_interfaces+buflencp:previfname:ifconf_buf:Cintchar2::caddr_tlong 2k Runsigned shortksa_family_t 2 R sockaddr sa_family}# sa_data# 2 Rshort 2 R 2 R +  Runsigned uint_t ifr_ppaflags ifrup_flags# ifrup_filler# ifrup_ppa,# uint32_t ifr_dnld_reqs v_addr# m_addr# ex_addr# size# ifr_fddi_stats% stat_size# fddi_stats# ifr_netmapents { map_ent_size# entry_number# fddi_map_ent# ifr_fddi_gen_struct ifru_fddi_gioctl# ifru_fddi_gaddr#  ifru_addr# ifru_dstaddr# ifru_oname# ifru_broadaddr# ifru_index+# ifru_flags# ifru_metric+# ifru_data# ifru_enaddr# if_muxid# ifru_ppaflags9# ifru_dnld_req# ifru_fddi_stat# ifru_netmapent%# ifru_fddi_gstruct{# ifreq 6 ifr_nameZ# ifr_ifru# e ifcu_bufD# ifcu_req6# ifconf ifc_len+# ifc_ifcu;#ekin_port_tunsigned charuint8_t s_b1# s_b2# s_b3# s_b4#kuint16_t6 s_w1# s_w2# k S_un_b# S_un_w# S_addr# in_addr S_un6# 2 R sockaddr_in sin_family}# sin_port# sin_addrk# sin_zero# size_t2 2 libintl_dgettext:B   2B warningxe G 2e error +j void emalloc   efree  inet_ntoa: klong longlockf64+ ++ 2 truncate64+C    off64_ttell64C k ++ssize_t y pwrite64k  k ~    pread64k  k    lseek64C  +C +ftruncate64+& + 2& truncate64+S +   off_ttell64S y + y pwrite64k  k ~   pread64k  k    lseek64S  +S +lockf64+" ++ ioctl+A ++ftruncate64+e + close+~ +2~ strncpy: :  2 2 strncmp+    memset   + mkstemp64+' :mkstemp64+D : __FILE% _cnt+# _ptrD # _baseD # _flag# _file# __orientation # __ionolock #  __seekable #  __extendedfd #  __xf_nocheck #  __filler #  I ftello64C F%I fseeko64+qF + qfsetpos64+Fv fgetpos64+FI FILE tmpfile6422freopen64"2"2,fopen64V'1I ftello64S wVfseeko64+F +2snprintf+:  fsetpos64+Ffgetpos64+F22&freopen64W!+2W2afopen64\ftmpfile64socket++++htonlunsigned long longrlim64_t rlimit64 3 rlim_cur# rlim_max#getrlimit64+\+3\setrlimit64++arlim_t rlimit  rlim_cur# rlim_max#getrlimit64++setrlimit64++./load_plugins.c /var/tmp/sudo-1.8.2/src /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I. -I.. -I. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDO_CONF='"/usr/local/etc/sudo.conf"' -DLOCALEDIR='"/usr/local/share/locale"' ./load_plugins.c -W0,-xp.XAKgoyLM4WgO0bZ.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLM4WgO0bZ.;backend;raw;cd;DBG_GEN 5.3.0@&mknodȋU(_path>_mode K_devintchar#unsigned long-mode_t-dev_tWnoexec_path\8@sudo_read_confAЋtU*conf_file@ fpB cpC nameC pathC info*D pilEC/9 plugin_info prev*# next*# path4# symbol_name># plugin_info_list first*# last*#unsigned charunsigned __FILE _cnt# _ptr# _base# _flag# _file# __orientation#  __ionolock#   __seekable#   __extendedfd#   __xf_nocheck#   __filler#  FILE sudo_load_pluginsUconf_file policy_plugin y io_plugins plugin] container  info* plugin_list sb  handle$ path rval void generic_plugin] type# version#)b sudo_conv_message  msg_type# timeout# msgg#l sudo_conv_reply reply#sudo_conv_t:$:sudo_printf_tS]g?Xblq policy_plugin( type# version# open# close# show_version# check_policy# list# validate# invalidate# init_session#$ ? ' 3 ? K W c io_plugin(+ type# version# open # close" # show_version. # log_ttyin: # log_ttyoutF # log_stdinR # log_stdout^ # log_stderrj #$o 0 : D N  ?5 ? I S X        io_plugin_1_0( type# version# open # close # show_version # log_ttyin # log_ttyout # log_stdin # log_stdout # log_stderr #$  generic]# policy# io+ # io_1_0 # plugin_container@ prev # next # name# handle$# u # plugin_container_listy first # last #@ long~ ~ unsigned long long ino_t-nlink_t~ uid_t~ gid_t~  ~ long long off_t~ time_t timespec F tv_sec # tv_nsec~ # timestruc_t ~ blksize_t blkcnt_t ~ ~ ~  stat st_devK# st_pad1 # st_ino # st_mode># st_nlink # st_uid # st_gid #$ st_rdevK#( st_pad2 #, st_size #4 st_atimF #< st_mtimF #D st_ctimF #L st_blksizeX #T st_blocksh #X st_fstypew #` st_pad4 #p~ libintl_gettexttq_append$$sudo_parseln==warningx`B`warningeestrdupemalloc$dlerrordlsym$$dlopen$$lockf64I Itruncate64vN  off64_ttell64vssize_tpwrite64 pread64 lseek64v5vftruncate64Y Ytruncate64^ tell64 pwrite64 pread64 lseek64 $ lockf64I ftruncate64m rsize_tstrlcpy|mw|strncasecmpstrcasecmp""strtokK'strerrorgmkstemp64mkstemp64 rlim64_t rlimit64  rlim_cur# rlim_max#getrlimit64  setrlimit64: rlim_t rlimit x rlim_cur:# rlim_max:#Ggetrlimit64xGsetrlimit64ftello64vfseeko64  fsetpos64B fgetpos64iBtmpfile64|freopen64fopen64ftello64  fseeko642 2snprintfc7 cfsetpos64hfgetpos64Bfreopen64fopen64 fclose:tmpfile64R_xmknodMW-- lstat64stat64fstat64fstatat6444~ O~  ino64_t~ n~  blkcnt64_t~ ~ ~  stat64 st_devK# st_pad1># st_inoO# st_mode># st_nlink # st_uid # st_gid #$ st_rdevK#( st_pad2]#, st_sizev#4 st_atimF #< st_mtimF #D st_ctimF #L st_blksizeX #T st_blocksn#X st_fstype#` st_pad4#pfstatat649lstat64stat64H$fstat64hstat64xstatfopen64fopen{F ./parse_args.c /var/tmp/sudo-1.8.2/src /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I. -I.. -I. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDO_CONF='"/usr/local/etc/sudo.conf"' -DLOCALEDIR='"/usr/local/share/locale"' ./parse_args.c -W0,-xp.XAKgoyLM4WgOkcZ.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLM4WgOkcZ.;backend;raw;cd;DBG_GEN 5.3.0*charsudo_settingsname#value#long% sudo_settingsFD R  sudo_settingsAFD parse_args{xU argcy argvy nargcy nargvy settingspy env_addpz mode| flags} valid_flags~ ch~ i j cp env_add settings nenv env_sizemBBBavzac{ԛԛcmndsrcdstcmnd_sizeintunsignedsize_tusage_errߞUbufusage_outU:?buf:usage4Ufatallbufuvec_iulenlbuf_output#buf#continuation#indent# len#size#cols# p usage_excl@mUfatalhelpp8Ulbufindent pname lbuf_print( (lbuf_appendS -lbuf_destroyo o{lbuf_init vget_net_ifssudo_debugtgetpass_flags8#fmt_stringP(Plibintl_gettext}U}warningxerrorxvoiderealloc3emalloc2  getprogname : uid_tgid_tpasswd$ pw_name#pw_passwd#pw_uidD #pw_gidP # pw_age#pw_comment#pw_gecos#pw_dir#pw_shell# \ getpwnam  ? long longlockf64Q  Q truncate64~ V   off64_ttell64~  ssize_t pwrite64     pread64     lseek64~ = ~ ftruncate64a  a truncate64 f   off_ttell64   pwrite64     pread64     lseek64 8  lockf64]  ftruncate64   strchr   strlen    strcmp    memcpy/  mkstemp64L mkstemp64i unsigned long longi rlim64_trlimit64 rlim_cur #rlim_max # getrlimit64    setrlimit64 i rlim_trlimitVrlim_cur#rlim_max#%getrlimit64V%setrlimit64exitatoiunsigned char__FILE_cnt#_ptr#_base#_flag# _file# __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#  ftello64~ fseeko64!  !fsetpos64M& fgetpos64tMFILEttmpfile64freopen64fopen64ftello64 'fseeko64M MWgetoptR\ fsetpos64fgetpos64Mfputsfreopen646 6@fopen64j;Etmpfile642 ./sudo.c /var/tmp/sudo-1.8.2/src /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I. -I.. -I. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDO_CONF='"/usr/local/etc/sudo.conf"' -DLOCALEDIR='"/usr/local/share/locale"' ./sudo.c -W0,-xp.XAKgoyLM4WgOUdZ.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLM4WgOUdZ.;backend;raw;cd;DBG_GEN 5.3.03mknod@hU_path._mode ;_devintchar unsigned longmode_tdev_tmainpvUargcargv envp nargc sudo_mode exitcode nargv settings env_add user_info command_info argv_out user_env_out plugin next command_details  mask"  ok   voidunsigned generic_plugin\ type# version#( a sudo_conv_message  msg_type# timeout# msgf#k sudo_conv_reply reply#    sudo_conv_t  9  #9sudo_printf_tR\f    > W a kp policy_plugin( type# version# open# close# show_version# check_policy# list# validate# invalidate# init_session#$    >      &2>JVb io_plugin(* type# version# open# close!# show_version-# log_ttyin9# log_ttyoutE# log_stdinQ# log_stdout]# log_stderri#$n/9CM    > 4 >  H RW io_plugin_1_0( type# version# open# close# show_version# log_ttyin# log_ttyout# log_stdin# log_stdout# log_stderr#$ generic\# policy# io*# io_1_0 # plugin_container? prev# next# name # handle# u #long? uid_t? gid_tS  d  n  x         command_detailsP uidG # euidG # gidS # egidS # umask.# priority# timeout# ngroups# closefrom# flags#$ groups_ #( commandi #, cwds #0 login_class} #4 chroot #8 selinux_role #< selinux_type #@ utmp_user #D argv#H envp#L ? " __sigbits # sigset_tfix_fds7۫U| miss| 8devnull8 ? fill_group_listUɬU udTmaxgroupsVtriesVrvalV       (  2 user_details4 uidG # euidG # gidG # egidG # username # cwd # tty# # host- # shell7 # groups_ #$ ngroups#( ts_cols#, ts_lines#0< get_user_groupspЬRUudocpqgid_listqglsizerislenssize_tget_user_info`Ukudcwdkhost~user_infocppw1i ~?  @? ? passwd$1 pw_name# pw_passwd# pw_uidG # pw_gidS # pw_age# pw_comment# pw_gecos# pw_dir# pw_shell# command_info_to_detailsUV[info`details ilval? ulvalcpepkkkڹڹj`V disable_coredumpsUrlunsigned long longrlim_t rlimit  rlim_cur# rlim_max#disable_execute6?U`details5cp8ev8nenvp8env_len9env_size9exec_setup~@U`details}$ptyname} ptyfd}rvalpw1 run_command U`detailsplugin cstat!exitcode" command_status type# val#policy_openKUNpluginISsettingsI ]user_infoJguser_envJNXbpolicy_closeRUpluginQexit_statusQ errorQpolicy_show_versionX BUpluginWverboseW policy_check`PUplugin]argc] argv]env_add^command_info^argv_out^user_env_out_ policy_listhU[pluginfargcf `argvfverbosegjlist_userg[ epolicy_validatesSUpluginrpolicy_invalidate~`Uplugin}remove} policy_init_sessionUFplugin1pwd iolog_openUplugin settings user_info command_infoargc*argv4user_env rval%/iolog_closeUpluginexit_status erroriolog_show_versionUpluginverbose sudo_debugPUalevelffmt ...apkfmt2 ava_list corelimitpolicy_plugin e  plugin_container_list first# last#sudo_load_plugins%    %_sudo_printfU  *kUsudo_conversation  Z io_pluginsf ? sudo_setgroups   usage sudo_edit  `user_details< gP 'runas_group,h@runas_user,h8list_user,hHdebug_leveli get_ttysize  parse_args       atobool   %fmt_stringR  *sudo_execve{ ` R tq_remove    warningx   warning   errorx    error)   )estrdupN .erealloc3u   emalloc2  emalloc  efree  easprintf   ? getgrouplist1  ?   1 setprognameV 6 V!getprogname["priv_op #PRIV_ON#PRIV_OFF#PRIV_SET priv_set u   libintl_bindtextdomain   libintl_textdomainD  Dlibintl_gettextq I qsetlocale  vgetpwuid1 ?   sigprocmask   sigemptyset     attropen64M    M openat64~  R  ~ creat64   open64     attropen64!  !openat64@!  !  @!creat64j! E!  j!open64! o! fcntl!  long longlockf64!   ! !truncate64" ! !!off64_ttell64":" ssize_tH"pwrite64:"}" :" M"  !pread64:"" :" }"  !lseek64""  " ftruncate64"  ! "truncate64"# " !!off_ttell64"#H# sysconf? c# setreuid# ? ? setregid# ? ? setgid# ? #pwrite64:"# :" #  !pread64:"$ :" }"  !lseek64"#C$  "# lockf64h$   !!getuidG gethostname$  getgroups$  !getgidS !geteuidG !getegidS ftruncate64%  !close-%  -%chrootQ% 2% Q%chdirt% V%  y%strlcpy% t% ~%  %strchr% %  % %strncmp & % %   & &strcmp=& & &memseta&   a&memcpy&  f& ttyname& getcwd&  dup2&  mkstemp64' mkstemp64 '   'strtoulO' %'   O'strtol? }' T'   }'getenv' ' exit' unsigned char' __FILE ( _cnt# _ptr'# _base'# _flag'# _file'# $__orientation# $__ionolock#  $__seekable#  $__extendedfd#  $__xf_nocheck#  $__filler#  'ftello64"( ('fseeko64( ( ! !(fsetpos64) ( (!fgetpos64F) ( )'FILE F)!tmpfile64Q) i) s)freopen64Q)) n) x) Q) ) )fopen64Q)) ) )'ftello64"#) )fseeko64* ( !  *snprintfP*   $*!P*fsetpos64|* ( U*fgetpos64* ( ) *vfprintf* ( *  *printf* * * *freopen64Q).+ * + Q) .+ 8+fopen64Q)b+ 3+ =+!tmpfile64Q)setpriority+  ? rlim64_t rlimit64 + rlim_cur+# rlim_max+#+getrlimit64 ,  ++ ,setrlimit647,  ,getrlimit64`,  7,`,setrlimit64,  e, ,_xmknod, , ,   ,? ,? ino_tnlink_t?  -? ? time_t timespecJ- tv_sec -# tv_nsec? #-timestruc_t? blksize_t!blkcnt_t -? ? -?  stat. st_dev;# st_pad1,# st_ino,# st_mode.# st_nlink,# st_uidG # st_gidS #$ st_rdev;#( st_pad2,#, st_size"##4 st_atimJ-#< st_mtimJ-#D st_ctimJ-#L st_blksize\-#T st_blocksl-#X st_fstype{-#` st_pad4-#p-lstat64. , . .stat64 / . .fstat64,/  . ,/fstatat64b/  1/ .  b/? }/? ino64_t? /? !blkcnt64_t /? ? /?  stat640 st_dev;# st_pad1l/# st_ino}/# st_mode.# st_nlink,# st_uidG # st_gidS #$ st_rdev;#( st_pad2/#, st_size"#4 st_atimJ-#< st_mtimJ-#D st_ctimJ-#L st_blksize\-#T st_blocks/#X st_fstype/#` st_pad4/#p/fstatat64#1  g/ 0  #1lstat64M1 (1 0 M1stat64v1 R1 0fstat641  0umask.1 .%setrlimit6411&setrlimit%getrlimit6411&getrlimit'open641&openF./sudo_edit.c /var/tmp/sudo-1.8.2/src /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I. -I.. -I. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDO_CONF='"/usr/local/etc/sudo.conf"' -DLOCALEDIR='"/usr/local/share/locale"' ./sudo_edit.c -W0,-xp.XAKgoyLM4WgOEfZ.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLM4WgOEfZ.;backend;raw;cd;DBG_GEN 5.3.0EmknodPxU"_path8_mode E_devintcharunsigned long'mode_t'dev_tswitch_user;@Ueuid:egid: ngroups:groups: serrno<longuid_tgid_t sudo_editV@U~command_detailsU editor_detailsW nread X nwritten X tmpdir3Y cpZ suffZ nargvZ apZ filesZ buf8[ rc\ i\ j\ ac\ ofd\ tfd\ nargc\ rval\ tmplen\ editor_argc] nfiles] sbF^ tvy _ tv1y _ tv2y _ tempfile tfile# ofile# omtimy # osize# tf e~ command_detailsP uid# euid# gid# egid# umask8# priority# timeout# ngroups# closefrom# flags#$ groups#( command#, cwd#0 login_class#4 chroot#8 selinux_role#< selinux_type#@ utmp_user#D argv#H envp#Lssize_t.K \unsigned long long\ino_t'nlink_tlong longoff_ttime_t timespec tv_sec# tv_nsec#timestruc_tblksize_tblkcnt_t5 F statg st_devE# st_pad1K# st_inor# st_mode8# st_nlink~# st_uid# st_gid#$ st_rdevE#( st_pad2#, st_size#4 st_atim#< st_mtim#D st_ctim#L st_blksize#T st_blocks#X st_fstype$#` st_pad45#psuseconds_t timeval tv_sec# tv_usecg #' sudo_setgroups  run_command void  unsignedzero_bytes:   : libintl_gettextg ? y touch g  warningx   warning   error   emalloc2     easprintfL $ mkstempsm m w attropen64 r |  openat64   creat64  ' open64/  / 9 attropen64l 4 > l openat64 q  creat64  ' open64  lockf64  truncate64C  off64_ttell64C k  k pwrite64   p   pread64     lseek64C  C ftruncate64 write E  EunlinkiJitruncate64ntell64setuidsetreuidsetregid read .    .pwrite64 c 3 pread64    lseek64lockf64ftruncate64closestrrchr>> size_tstrlenHoCoystrcmpt~ memcpy   mkstemp64mkstemp64 unsigned char  __FILE _cnt# _ptr# _base# _flag # _file # __orientation # __ionolock #  __seekable #  __extendedfd #  __xf_nocheck #  __filler #   ftello64C  fseeko64HHfsetpos64tMfgetpos64t FILE tmpfile64freopen64fopen64- ftello64N-fseeko64ttfsetpos64yfgetpos64tfreopen64fopen641 tmpfile64\rlim64_t rlimit64  rlim_curD# rlim_maxD#Sgetrlimit64Ssetrlimit64\rlim_t rlimit  rlim_cur# rlim_max#getrlimit64DDsetrlimit64rIw_xmknodr|''Flstat64stat64fstat64##fstatat64Y(Y t\ino64_tblkcnt64_t  stat64 st_devE# st_pad1c# st_inot# st_mode8# st_nlink~# st_uid# st_gid#$ st_rdevE#( st_pad2#, st_sizeC #4 st_atim#< st_mtim#D st_ctim#L st_blksize#T st_blocks#X st_fstype#` st_pad4#pfstatat64^lstat64DDstat64mIfstat64gettimeofdayg  fstat64fstatstat64statopen64openq./tgetpass.c /var/tmp/sudo-1.8.2/src /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I. -I.. -I. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDO_CONF='"/usr/local/etc/sudo.conf"' -DLOCALEDIR='"/usr/local/share/locale"' ./tgetpass.c -W0,-xp.XAKgoyLM4WgO0fZ.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLM4WgO0fZ.;backend;raw;cd;DBG_GEN 5.3.0LmknodU   _path6_mode C_devintcharunsigned long%mode_t%dev_ttgetpassKUQQ[promptJ timeoutJ  flagsJ saNL savealrmNL saveintNL savehupNL savequitNL savetermNL savetstpNM savettinNM savettouNM savepipeNM passQN askpasseO bufjP i Q input Q output Q save_errno Q neednl Q need_restart QV ` g  _handlerb# _sigactionj#unsignedlong __sigbits#sigset_t sigaction N sa_flags # _funcptro# sa_mask# sa_resv#sigaction_t`}sudo_askpass 7UQ@EaskpassOprompt bufT passQ saN saved_sa_pipeN pfdg pidx@Jg xpid_tgetln @UQ4 fd Qbuf  4bufsiz  feedback left4 nrA cpQcsize_t ssize_thandler@+Uz s?tty_presentG0uU fd H sig_atomic_t0 signo:term_restore   term_noecho 5 term_cbreak T voidT\zero_bytesaaskpass_pathCLlibintl_gettextQwarningxwarning   errorxC  " C errorh  H h r attropen64  m w   openat64      creat64   % open64 *   * 4 attropen64 g / 9  g openat64   l   creat64   % open64      _xmknod %   %%%  @ unsigned long long@ ino_t%nlink_tuid_tgid_t long long off_ttime_ttimespec tv_sec # tv_nsec# timestruc_t blksize_t blkcnt_t1  B statc st_devC# st_pad1/ # st_inoV # st_mode6# st_nlinkb # st_uidp # st_gid| #$ st_rdevC#( st_pad2 #, st_size #4 st_atim #< st_mtim #D st_ctim #L st_blksize #T st_blocks #X st_fstype #` st_pad41 #pB lstat64  * c  stat64   c fstat64   c  fstatat64   c   "@ ino64_tA off64_t blkcnt64_tq stat64 st_devC# st_pad1# st_ino"# st_mode6# st_nlinkb # st_uidp # st_gid| #$ st_rdevC#( st_pad20#, st_sizeA#4 st_atim #< st_mtim #D st_ctim #L st_blksize #T st_blocksO#X st_fstype`#` st_pad4q#pfstatat64    lstat64 stat64 )fstat64 I sigemptyset mImsigaction  rwkill  lockf64    truncate64  tell64A, T,pwrite64AaA1 Tpread64AAa lseek64A A ftruncate64   TwriteAAtruncate64 3  tell64 M setuid gsetgid readAAaTpwrite64AA pread64AAa  pipe lseek64 D   lockf64 i   getpidxftruncate64   forkx_exit execl close   alarm%%strlen4I*dup2 f  closefrom mkstemp64 Qmkstemp64 Q@ rlim64_t rlimit64  rlim_cur# rlim_max#getrlimit64 $ $setrlimit64 R )@ rlim_t rlimit  rlim_curR# rlim_maxR#_getrlimit64  _setrlimit64  getenvQ unsigned char __FILE  _cnt # _ptr# _base# _flag # _file # __orientation#  __ionolock#   __seekable#   __extendedfd#   __xf_nocheck#   __filler#  !ftello64A!fseeko64 I   Ifsetpos64 uN fgetpos64 u!FILE tmpfile64freopen64fopen64. !ftello64 O.fseeko64 u   ufsetpos64 zfgetpos64 ufreopen64fopen642 fflush Ltmpfile64!open64k"open0 ./ttysize.c /var/tmp/sudo-1.8.2/src /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I. -I.. -I. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDO_CONF='"/usr/local/etc/sudo.conf"' -DLOCALEDIR='"/usr/local/share/locale"' ./ttysize.c -W0,-xp.XAKgoyLM4WgOkgZ.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLM4WgOkgZ.;backend;raw;cd;DBG_GEN 5.3.0Rget_ttysize1ZU")rowp0)colp0 p62wsizeM4int"char.unsigned shortwinsizews_row;#ws_col;#ws_xpixel;#ws_ypixel;#long long lockf64" " "  . truncate64"   off64_t tell64& " "ssize_tvoid 4<unsigned pwrite64&} & A F 4 pread64& & } F  lseek64 "  " ftruncate64" "  . truncate64""   off_t tell64"H " 4H pwrite64&} & M F  pread64& & } F  lseek64" " " " lockf64" " "  ioctl" " " ftruncate64"4 "  mkstemp64"Q 6 mkstemp64"n 6unsigned long long nrlim64_trlimit64rlim_cur#rlim_max# getrlimit64" "   setrlimit64" "  nrlim_trlimit[rlim_cur#rlim_max#* getrlimit64" " [ * setrlimit64" "  . getenv6  . atoi" unsigned char__FILE_cnt"#_ptr #_base #_flag# _file# __orientationF# __ionolockF#  __seekableF#  __extendedfdF#  __xf_nocheckF#  __fillerF#   ftello64   fseeko64"6   " 6 fsetpos64"b  ; fgetpos64"  b FILEtmpfile64 . . freopen64    . . fopen64   ftello64"<  fseeko64"b   " b fsetpos64"  g fgetpos64"  b . . freopen64  . . fopen64 tmpfile64x./utmp.c /var/tmp/sudo-1.8.2/src /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I. -I.. -I. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDO_CONF='"/usr/local/etc/sudo.conf"' -DLOCALEDIR='"/usr/local/share/locale"' ./utmp.c -W0,-xp.XAKgoyLM4WgOUhZ.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLM4WgOUhZ.;backend;raw;cd;DBG_GEN 5.3.0Smknod`U_path._mode ;_devintchar unsigned longmode_tdev_tutmp_setid^*Usold]snew] line}_ idlen`long        pid_tshort exit_status5 e_termination# e_exit#time_tsuseconds_t timeval tv_sec5# tv_usecB#   utmpxtb ut_user# ut_id# ut_line#$ ut_pid#D ut_type#H ut_exit#J ut_tvT#P ut_session#X pad#\ ut_syslen#p ut_host#rsudo_utmp_tb xunsignedsize_tutmp_settimex0XUsutw tvTyutmp_fill`!U;@lineJuser sut_oldsut_new ; Eutmp_login03Ufrom_lineto_line ttyfduser utbufb ut_olds rval    utmp_logout@VUlinestatus rval uts utbufb   attropen64 openat64 creat649 9open64c> c mattropen64hr openat64 creat64 open64% *_xmknod^%/ ^  y unsigned long longyino_tnlink_tuid_tgid_t  long longoff_t timespec tv_sec5# tv_nsec#timestruc_tblksize_tblkcnt_t ]   n  stat st_dev;# st_pad1h# st_ino# st_mode.# st_nlink# st_uid# st_gid#$ st_rdev;#( st_pad2#, st_size#4 st_atim #< st_mtim #D st_ctim #L st_blksize- #T st_blocks= #X st_fstypeL #` st_pad4] #pn lstat64 c   stat64   fstat64    fstatat643    3  N yino64_t m off64_tblkcnt64_t     stat64 st_dev;# st_pad1= # st_inoN # st_mode.# st_nlink# st_uid# st_gid#$ st_rdev;#( st_pad2\ #, st_sizem #4 st_atim #< st_mtim #D st_ctim #L st_blksize- #T st_blocks{ #X st_fstype #` st_pad4 #p fstatat64 8    lstat64,    , stat64U 1  fstat64u  setutxent pututxline    getutxline   endutxentlockf64   truncate64:tell64m Tssize_tvoidbjpwrite64TTobpread64TTlseek64m m ftruncate64 truncate64Dtell64^b^pwrite64TTcpread64TTlseek64lockf64getpidftruncate64;  @strncpy;o;E o ystrncmpt~ strlenbmemsetbmemcpy#mkstemp64@;mkstemp64];unsigned char] __FILE O _cnt# _ptrn# _basen# _flag]# _file]# __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#  sftello64m pOsfseeko64pfsetpos64pfgetpos64psFILE tmpfile64  freopen64L  L Vfopen64Q[sftello64fseeko64pfsetpos64pfgetpos64p  freopen64P$ P Zfopen64U_tmpfile64yrlim64_t rlimit64  rlim_cur# rlim_max#getrlimit64setrlimit640yrlim_t rlimit n rlim_cur0# rlim_max0#=getrlimit64n=setrlimit64Tgettimeofday../../gettext-runtime/intl/bindtextdom.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o bindtextdom.o ../../gettext-runtime/intl/bindtextdom.c -W0,-xp.XAKgoyLJt_uMkg6.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLJt_uMkg6.;backend;raw;cd;DBG_GEN 5.2.7VSWAP{`UH<Hixunsigned<nls_uint32set_binding_valuesPUVcdomainnameNrdirnamepO codesetpObindingQmodifiedRi$X$Xcomparediduuu444dirnamet444result~4@@codesetI``resultdd$d$dlennew_bindingowwdirname&result^PPcodeset0>>>resultchar V ^ V h m V w |  Vlong V  bindingnext#dirname#codeset#domainname# int V  V <size_t V ! V +libintl_bindtextdomainBUdomainnameAdirnameA V  V libintl_bind_textdomain_codesetKU domainnameJcodesetJ V  V libintl_thread_in_useint32_tunsigned shortIuint16_tunsigned charjuint8_t( __pthread_mutex_flag1[#__pthread_mutex_flag2{#__pthread_mutex_ceiling{#__pthread_mutex_type[#__pthread_mutex_magic[# {9 ] __pthread_mutex_pad( #<uint32_t __pthread_ownerpid] #__pthread_lockword] #unsigned long long upad64_t5 __pthread_mutex_lock649 #__pthread_mutex_lock32l #__pthread_mutex_owner64 # _pthread_mutex __pthread_mutex_flags#__pthread_mutex_lock #__pthread_mutex_data #5 pthread_mutex_t { ( __pthread_cond_flag #__pthread_cond_type[#__pthread_cond_magic[# _pthread_condw __pthread_cond_flags #__pthread_cond_data #( pthread_cond_t _pthread_rwlock@e __pthread_rwlock_readers;#__pthread_rwlock_type[#__pthread_rwlock_magic[#__pthread_rwlock_mutex #__pthread_rwlock_readercvw # __pthread_rwlock_writercvw #0 pthread_rwlock_unlock e pthread_rwlock_wrlock e pthread_rwlock_rdlock e pthread_rwlock_destroy e e void  _pthread_rwlockattr[ __pthread_rwlockattrp # ! [ ` pthread_rwlock_init  e _pthread_mutexattr __pthread_mutexattrp # pthread_mutexattr_settype  (  5 pthread_cond_waitC pthread_cond_signaljpthread_cond_broadcastpthread_cond_destroy _pthread_condattr__pthread_condattrp #  pthread_cond_init0pthread_mutex_unlockXpthread_mutex_lock~pthread_mutex_destroy pthread_mutex_initpthread_mutexattr_destroy pthread_mutexattr_init= <pthread_tpthread_self= t  _once __pthread_once_padc# t pthread_once    tm$tm_sec#tm_min#tm_hour#tm_mday# tm_mon#tm_year#tm_wday#tm_yday#tm_isdst#  __wcsftime_xpg5wchar_t    __wcstok_xpg5wint_t__putwchar_xpg5K j __FILE ,_cnt#_ptrK#_baseK#_flagj# _filej# __orientation<# __ionolock<#  __seekable<#  __extendedfd<#  __xf_nocheck<#  __filler<#  P__putwc_xpg5V,__getwchar_xpg5__getwc_xpg5,__ungetwc_xpg5,   P__fputws_xpg5__fputwc_xpg5,__fgetws_xpg5P __fgetwc_xpg5q, Plong longvoff64_tftello64qfseeko64v v fsetpos64 vfgetpos64&PFILE &tmpfile641 V I V Sfreopen641NX1 V  V fopen641 Pvoff_tftello64fseeko64 v v fsetpos647fgetpos64c7< V ch V rw1freopen641m| V  V fopen641tmpfile641 V strdup" V "strlenF' V F V PstrcmpyKU  ~memcpy y<mkstemp64mkstemp64 rlim64_t rlimit64 -rlim_cur#rlim_max# getrlimit64V-  Vsetrlimit64[ rlim_t rlimit rlim_cur#rlim_max# getrlimit64  setrlimit64  __posix_ctime_rK  KP__posix_asctime_rUZmalloc <free abortX../../gettext-runtime/intl/dgettext.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o dgettext.o ../../gettext-runtime/intl/dgettext.c -W0,-xp.XAKgoyLJt_uMU06.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLJt_uMU06.;backend;raw;cd;DBG_GEN 5.2.7[SWAP{HU?3?ixunsigned3nls_uint32libintl_dgettext3PpUdomainname2msgid2 charint libintl_dcgettext    int32_tunsigned shortuint16_tunsigned char:uint8_t  __pthread_mutex_flag1+# __pthread_mutex_flag2K# __pthread_mutex_ceilingK# __pthread_mutex_type+# __pthread_mutex_magic+#long K 5 __pthread_mutex_pad#3uint32_t  __pthread_ownerpid5# __pthread_lockword5#unsigned long longupad64_t  __pthread_mutex_lock64# __pthread_mutex_lock32D# __pthread_mutex_owner64#_pthread_mutex| __pthread_mutex_flagsY# __pthread_mutex_lock# __pthread_mutex_data# pthread_mutex_t K  __pthread_cond_flag# __pthread_cond_type+# __pthread_cond_magic+#_pthread_condO __pthread_cond_flags# __pthread_cond_data#pthread_cond_t_pthread_rwlock@= __pthread_rwlock_readers # __pthread_rwlock_type+# __pthread_rwlock_magic+# __pthread_rwlock_mutex|# __pthread_rwlock_readercvO# __pthread_rwlock_writercvO#0d pthread_rwlock_unlockk = pthread_rwlock_wrlock = pthread_rwlock_rdlock = pthread_rwlock_destroy ==void_pthread_rwlockattr3 __pthread_rwlockattrp#3 8 pthread_rwlock_initn  = _pthread_mutexattr __pthread_mutexattrp#n pthread_mutexattr_settype    pthread_cond_wait pthread_cond_signalB pthread_cond_broadcastl pthread_cond_destroy  _pthread_condattr __pthread_condattrp#   pthread_cond_init pthread_mutex_unlock0 pthread_mutex_lockV pthread_mutex_destroy  n   pthread_mutex_init  pthread_mutexattr_destroy pthread_mutexattr_init 3pthread_tpthread_self   L _once u __pthread_once_pad; #L z pthread_once u } mkstemp64  mkstemp64 rlim64_trlimit64# rlim_cur # rlim_max # getrlimit64L  #  L setrlimit64z  Q rlim_trlimit rlim_curz # rlim_maxz # getrlimit64    setrlimit64   __posix_ctime_rA  tm$ tm_sec# tm_min# tm_hour# tm_mday# tm_mon# tm_year# tm_wday# tm_yday# tm_isdst# A __posix_asctime_r  3size_t/4A>C __wcsftime_xpg5"  " 9 Hwchar_t __wcstok_xpg5   wint_t __putwchar_xpg5 :__FILE  _cnt# _ptr# _base# _flag:# _file:# __orientation3# __ionolock3#  __seekable3#  __extendedfd3#  __xf_nocheck3#  __filler3#    __putwc_xpg5  __getwchar_xpg5 __getwc_xpg5L  __ungetwc_xpg5s  sx  __fputws_xpg5 }  __fputwc_xpg5   __fgetws_xpg5     __fgetwc_xpg5.  long long3off64_t ftello64@j . fseeko64  3 3 fsetpos64  3 fgetpos64   FILE tmpfile64 freopen64A   AK fopen64u F P 3off_t ftello64z u fseeko64  3 3 fsetpos64   fgetpos64    %/4 freopen64j * 9 >joy~ fopen64 t tmpfile64j../../gettext-runtime/intl/gettext.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o gettext.o ../../gettext-runtime/intl/gettext.c -W0,-xp.XAKgoyLJt_uMU\$6.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLJt_uMU$6.;backend;raw;cd;DBG_GEN 5.2.7\SWAP{pU=1=ixunsigned1nls_uint32libintl_gettext8Umsgid7charint libintl_dcgettext   int32_tunsigned shortuint16_tunsigned charuint8_t  __pthread_mutex_flag1 # __pthread_mutex_flag2)# __pthread_mutex_ceiling)# __pthread_mutex_type # __pthread_mutex_magic #long )  __pthread_mutex_pad#1uint32_t ` __pthread_ownerpid# __pthread_lockword#unsigned long long`upad64_t __pthread_mutex_lock64# __pthread_mutex_lock32"# __pthread_mutex_owner64v#_pthread_mutexZ __pthread_mutex_flags7# __pthread_mutex_lock# __pthread_mutex_datav#pthread_mutex_t )  __pthread_cond_flagp# __pthread_cond_type # __pthread_cond_magic #_pthread_cond- __pthread_cond_flags# __pthread_cond_datav#pthread_cond_t_pthread_rwlock@ __pthread_rwlock_readers# __pthread_rwlock_type # __pthread_rwlock_magic # __pthread_rwlock_mutexZ# __pthread_rwlock_readercv-# __pthread_rwlock_writercv-#0B pthread_rwlock_unlockI  pthread_rwlock_wrlockr  pthread_rwlock_rdlock  pthread_rwlock_destroy void_pthread_rwlockattr __pthread_rwlockattrp#  pthread_rwlock_initL   _pthread_mutexattr __pthread_mutexattrp#L pthread_mutexattr_settype   pthread_cond_wait pthread_cond_signal pthread_cond_broadcastJ pthread_cond_destroyr  _pthread_condattr __pthread_condattrp#w   pthread_cond_init r pthread_mutex_unlock pthread_mutex_lock4 pthread_mutex_destroy]  L b g pthread_mutex_init ] l pthread_mutexattr_destroy pthread_mutexattr_init 1pthread_tpthread_self  v * _once S __pthread_once_pad #* X pthread_once S [  1size_t  tm$D tm_sec# tm_min# tm_hour# tm_mday# tm_mon# tm_year# tm_wday# tm_yday# tm_isdst#  D I __wcsftime_xpg5  N wchar_t      __wcstok_xpg5  wint_t __putwchar_xpg5  __FILE  _cnt# _ptr# _base# _flag# _file# __orientation1# __ionolock1#  __seekable1#  __extendedfd1#  __xf_nocheck1#  __filler1#   __putwc_xpg5  __getwchar_xpg5  __getwc_xpg5 R  __ungetwc_xpg5 y y~ __fputws_xpg5   __fputwc_xpg5    __fgetws_xpg5     __fgetwc_xpg5 4 long long9off64_t ftello64Fp 4 fseeko64  9 9 fsetpos64  9 fgetpos64  FILE tmpfile64  freopen64G   GQ fopen64{ L V9off_t ftello64 { fseeko64  9 9 fsetpos64   fgetpos64&  &+5: freopen64p 0 ? Dpu fopen64 z tmpfile64 mkstemp64  mkstemp64 `rlim64_t rlimit64 = rlim_cur# rlim_max#  getrlimit64f  = f setrlimit64  k`rlim_t rlimit  rlim_cur# rlim_max# getrlimit64   setrlimit64)  ) __posix_ctime_r[ .  [`__posix_asctime_r e j1../../gettext-runtime/intl/loadmsgcat.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o loadmsgcat.o ../../gettext-runtime/intl/loadmsgcat.c -W0,-xp.XAKgoyLJt_uMUc7.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLJt_uMUc7.;backend;raw;cd;DBG_GEN 5.2.7]mknodU^^r_path_mode _devintcharemunsigned longwmode_twdev_tSWAP{8Uixunsignednls_uint32 get_sysdep_segment_value@hU/* 9namee*e4 _nl_load_domainpU domain_file  domainbinding  lock fd^ size st data  use_mmap^ domain revision^ nullentry nullentrylen    to_read_ read_ptr ` s h h nb j    o t t  n_sysdep_strings    n_sysdep_segments sysdep_segments( sysdep_segment_values7 orig_sysdep_tabA trans_sysdep_tabK n_inmem_sysdep_strings memneed mem  inmem_orig_sysdep_tabP inmem_trans_sysdep_tabP inmem_hash_tabU i j    name_ namelen    valid^ needsd T 8 8 sysdep_string need p      sysdepref    k0 s p Q Q valid^E   h  h  sysdep_string I pP z X  X  X  D  D  sysdeprefW Q Q Q D ( ( sysdep_string o static_segments*v p4y inmem_tab_entryP ( ( (    segsize sysdepref n 'O C0 C0 msgid> hash_val idx incre void  ( long (  loaded_l10nfile filename #decided^#data #next # successor # ee  binding next #dirname #codeset #domainname # unsigned short uint16_tunsigned char uint8_t __pthread_mutex_flag1 #__pthread_mutex_flag2* #__pthread_mutex_ceiling* #__pthread_mutex_type #__pthread_mutex_magic #*    __pthread_mutex_pad #uint32_tY__pthread_ownerpid #__pthread_lockword #unsigned long longYupad64_t__pthread_mutex_lock64 #__pthread_mutex_lock32#__pthread_mutex_owner64o#_pthread_mutexS__pthread_mutex_flags8 #__pthread_mutex_lock~#__pthread_mutex_datao#pthread_mutex_t4recmutexS#guardS#initialized^#0igl_recursive_lock_tsize_t  Yino_twnlink_t uid_t gid_t  long longoff_t time_ttimespec utv_sec8#tv_nsec #Etimestruc_t  blksize_tblkcnt_te   stat st_dev#st_pad1#st_ino#st_mode#st_nlink#st_uid# st_gid#$st_rdev#(st_pad2#,st_size,#4st_atimu#<st_mtimu#Dst_ctimu#Lst_blksize#Tst_blocks#Xst_fstype#`st_pad4#pmo_file_header0 magic#revision#nstrings#orig_tab_offset# trans_tab_offset#hash_tab_size#hash_tab_offset#n_sysdep_segments#sysdep_segments_offset# n_sysdep_strings#$orig_sysdep_tab_offset#(trans_sysdep_tab_offset#,e% string_descflength#offset#4f4pezsysdep_string_desclength#pointer#e/libiconv_t  converted_domain Dencoding#conv#conv_tab#^int32_t* h __pthread_cond_flagW#__pthread_cond_type #__pthread_cond_magic #_pthread_cond__pthread_cond_flagsh#__pthread_cond_datao#pthread_cond_t_pthread_rwlock@__pthread_rwlock_readersI#__pthread_rwlock_type #__pthread_rwlock_magic #__pthread_rwlock_mutexS#__pthread_rwlock_readercv# __pthread_rwlock_writercv#0)pthread_rwlock_texpression_operator varnumlnotmultdividemoduleplusminusless_thangreater_than less_or_equal greater_or_equal equal not_equal landlorqmopexpression nargs^#operation#val+# +  Lnumw#args#Lloaded_domaindata*#use_mmap^#mmap_size#must_swap^# malloced/#nstrings#orig_tabk#trans_tabu#n_sysdep_strings# orig_sysdep_tab#$trans_sysdep_tab#(hash_size#,hash_tab#0must_swap_hash_tab^#4conversionsD#8nconversions#<conversions_lock#@pluralQ#npluralsw#Vesysdep_segment#length#offset##e-2<FeZu segment_pairsegsize#sysdepref#u sysdep_string offset#segments#uue%u/e9eCMRwlibintl_gettext_extract_pluralHW\elibintl_hash_stringwe_nl_find_msg    ^_nl_msg_cat_cntr^ilibintl_recursive_lock_unlock_multithreaded^r.libintl_recursive_lock_lock_multithreaded^.libintl_thread_in_use^)pthread_rwlock_unlock^pthread_rwlock_wrlock^%pthread_rwlock_rdlock^Npthread_rwlock_destroy^x_pthread_rwlockattr__pthread_rwlockattrp/#}pthread_rwlock_init^x_pthread_mutexattr*__pthread_mutexattrp/#pthread_mutexattr_settype^a*^akpthread_cond_wait^fppthread_cond_signal^apthread_cond_broadcast^apthread_cond_destroy^aa_pthread_condattrS__pthread_condattrp/#SXpthread_cond_init^]pthread_mutex_unlock^kpthread_mutex_lock^kpthread_mutex_destroy^kk pthread_mutex_init^Bpthread_mutexattr_destroy^o*pthread_mutexattr_init^*pthread_tpthread_selfo  _once __pthread_once_pad#pthread_once^+   +  5 : tm$ tm_sec^#tm_min^#tm_hour^#tm_mday^# tm_mon^#tm_year^#tm_wday^#tm_yday^#tm_isdst^# D   __wcsftime_xpg5!0 ?  wchar_t!)! 3!8!+ B!__wcstok_xpg5)!w!.!=!G! wint_t__putwchar_xpg5w!!w! __FILE"_cnt^#_ptr!#_base!#_flag # _file # __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#  !__putwc_xpg5w!"w!"__getwchar_xpg5w!__getwc_xpg5w!""__ungetwc_xpg5w!#w!" ##!!#__fputws_xpg5^Q##&#__fputwc_xpg5w!w#w!")!!#__fgetws_xpg5)!#w#^|#__fgetwc_xpg5w!#"!off64_tftello64###fseeko64^"$!#^"$fsetpos64^N$!#'$fgetpos64^u$!#N$!FILEu$tmpfile64$e$e$freopen64$$$$$e$e$fopen64$%$$!ftello64,(%%fseeko64^N%!#^N%fsetpos64^z%!#S%!#N$fgetpos64^%z%%e%%e%%$freopen64$%%%%e%%e%&fopen64$.&% &tmpfile64$ caddr_tmmap64A&&A&^^^getpagesizes2^&^getpagesizes2^&^munmap^& mmap64A& 'A&^^^__posix_ttyname_r^O'^ __posix_getlogin_r^z' ^lockf64^'^^e'truncate64^''tell64#'^^ssize_t 'pwrite64')('' pread64'X(')(lseek64#}(^#^ftruncate64^(^e(truncate64^((tell64,(^read' )')(  )pwrite64'?)')pread64'i)')(lseek64,)^,^lockf64^)^^ftruncate64^)^close^)^e)strlen*)/ **memcpy/L**#*mkstemp64^i* mkstemp64^* Yrlim64_trlimit64*rlim_cur*#rlim_max*#*getrlimit64^*^***setrlimit64^+^*Yrlim_trlimit]+rlim_cur+#rlim_max+#,+getrlimit64^+^]+,++setrlimit64^+^+malloc/+free+/abort__builtin_alloca/,e,e,attropen64^N,, ,^eN,openat64^,^S,^e,creat64^,,we,open64^,,^e,e,attropen64^-,,^e-openat64^A-^-^eA-creat64^k-F-wek-open64^-p-^^e-_xmknod^---wwe---lstat64^.--e. .-stat64^:...fstat64^Z.^-eZ.fstatat64^.^_.-^e. . Yino64_t . blkcnt64_te.  . stat64 0st_dev#st_pad1.#st_ino.#st_mode#st_nlink#st_uid# st_gid#$st_rdev#(st_pad2.#,st_size##4st_atimu#<st_mtimu#Dst_ctimu#Lst_blksize#Tst_blocks.#Xst_fstype.#`st_pad4.#p.fstatat64^Q0^. 0^eQ0V0 0lstat64^0[0`0e00 0stat64^000fstat64^0^ 0 0__posix_ctime_r  10 D  11 __posix_asctime_r H111^ ___errnoH1!fstat64o1x1"fstat!open6411"open#mmap641"mmap-|../../gettext-runtime/intl/textdomain.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o textdomain.o ../../gettext-runtime/intl/textdomain.c -W0,-xp.XAKgoyLKt_uM0u7.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLKt_uM0u7.;backend;raw;cd;DBG_GEN 5.2.7mSWAP{UE9Eixunsigned9nls_uint32libintl_textdomainCUdomainnameBnew_domainDold_domainEchar int libintl_thread_in_useint32_tunsigned shortuint16_tunsigned char8uint8_t  __pthread_mutex_flag1)# __pthread_mutex_flag2I# __pthread_mutex_ceilingI# __pthread_mutex_type)# __pthread_mutex_magic)#long I 3 __pthread_mutex_pad#9uint32_t  __pthread_ownerpid3# __pthread_lockword3#unsigned long longupad64_t  __pthread_mutex_lock64# __pthread_mutex_lock32B# __pthread_mutex_owner64#_pthread_mutexz __pthread_mutex_flagsW# __pthread_mutex_lock# __pthread_mutex_data# pthread_mutex_t I  __pthread_cond_flag# __pthread_cond_type)# __pthread_cond_magic)#_pthread_condM __pthread_cond_flags# __pthread_cond_data#pthread_cond_t_pthread_rwlock@; __pthread_rwlock_readers # __pthread_rwlock_type)# __pthread_rwlock_magic)# __pthread_rwlock_mutexz# __pthread_rwlock_readercvM# __pthread_rwlock_writercvM#0bpthread_rwlock_unlocki;pthread_rwlock_wrlock;pthread_rwlock_rdlock;pthread_rwlock_destroy;;void_pthread_rwlockattr1 __pthread_rwlockattrp# 1 6 pthread_rwlock_initl ; _pthread_mutexattr __pthread_mutexattrp#l pthread_mutexattr_settype     pthread_cond_wait   pthread_cond_signal@  pthread_cond_broadcastj  pthread_cond_destroy   _pthread_condattr __pthread_condattrp#   pthread_cond_init   pthread_mutex_unlock.  pthread_mutex_lockT  pthread_mutex_destroy}   l   pthread_mutex_init }  pthread_mutexattr_destroy  pthread_mutexattr_init  9pthread_t pthread_self   J _once s __pthread_once_pad9 #J x pthread_once s {  9size_t   tm$d tm_sec# tm_min# tm_hour# tm_mday# tm_mon# tm_year# tm_wday# tm_yday# tm_isdst# d i __wcsftime_xpg5     n wchar_t      __wcstok_xpg5     wint_t__putwchar_xpg5 . 8__FILE  _cnt# _ptr.# _base.# _flag8# _file8# __orientation9# __ionolock9#  __seekable9#  __extendedfd9#  __xf_nocheck9#  __filler9#  3__putwc_xpg5 9  __getwchar_xpg5 __getwc_xpg5 r__ungetwc_xpg5   3__fputws_xpg5__fputwc_xpg5   __fgetws_xpg5 3__fgetwc_xpg5 T3long longYoff64_tftello64fTfseeko64Y Yfsetpos64Yfgetpos64 3FILE   tmpfile64 , 6freopen64g1; g qfopen64lv3Yoff_tftello64fseeko64Y Yfsetpos64fgetpos64F FK UZfreopen64P_d  fopen64 tmpfile64 strdup  strcmp8 mkstemp64Umkstemp64rrlim64_t rlimit64  rlim_curr# rlim_maxr#getrlimit64 setrlimit64 rlim_t rlimit I rlim_cur # rlim_max #getrlimit64rI rsetrlimit64w __posix_ctime_r __posix_asctime_rfree$abort3../../gettext-runtime/intl/dcigettext.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o dcigettext.o ../../gettext-runtime/intl/dcigettext.c -W0,-xp.XAKgoyLKt_uMEO8.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLKt_uMEO8.;backend;raw;cd;DBG_GEN 5.2.7|oSWAP{8UE9Eixunsigned9nls_uint32intVint32_tunsigned shortkuint16_tunsigned charuint8_tJ__pthread_mutex_flag1}#__pthread_mutex_flag2#__pthread_mutex_ceiling#__pthread_mutex_type}#__pthread_mutex_magic}#longc J__pthread_mutex_padR#9uint32_t__pthread_ownerpid#__pthread_lockword#unsigned long longupad64_t ___pthread_mutex_lock64c#__pthread_mutex_lock32#__pthread_mutex_owner64# _pthread_mutex__pthread_mutex_flags#__pthread_mutex_lock#__pthread_mutex_data#_pthread_mutex_t JR__pthread_cond_flag#__pthread_cond_type}#__pthread_cond_magic}# _pthread_cond__pthread_cond_flags#__pthread_cond_data#Rpthread_cond_t _pthread_rwlock@__pthread_rwlock_readers]#__pthread_rwlock_type}#__pthread_rwlock_magic}#__pthread_rwlock_mutex#__pthread_rwlock_readercv# __pthread_rwlock_writercv#0pthread_rwlock_t tree_lockd transcmp@UV;Hp1Rp2 s1  s2  resultVvoid;C;McharW_Wi;s} J loaded_l10nfilefilenamen#decidedV#datax#next}# successor#W9size_tW JW N appended #ptr% #known_translation_t domainnamed#categoryV#counterV#domain}# translation#translation_length #msgid* #N  N  W  Jlibintl_nl_default_default_domain ?|WE libintl_nl_current_default_domainJ D`W  Jlibintl_nl_default_dirname Od_nl_state_lock plural_evalU  1 pexp n pp<xarg .x$leftarg 3!!! ! !rightarg :$pboolarg funsigned longexpression_operator varnumlnotmultdividemoduleplusminusless_thangreater_than less_or_equal greater_or_equal equal not_equal landlorqmop expression nargsV#operation #val #  J , num #args # , libintl_dcigettext Udomainnamemsgid1 msgid2Vplural nVcategory domain} binding categorynameX categoryvalueb dirnamel xdomainname single_locale retval retlen  saved_errnoV searchN  foundpv domainname_len  compareV_  dirname_len t path_max u resolved_dirnamev retw`XXppp cpXXXbbb cntVpX|X|X| msgid_len  size  newpq new_domainname logfilename]_nl_log_untranslatedVWWWWW J bindingSnext#dirname#codeset#domainname# WSW]WgN qW{WWWW_nl_find_msg} 0+U`}domain_filexdomainbindingy emsgidzVconvertzjlengthp{ domain&~ nstringsE act  result resultlen n "} D"} D" lenE hash_valE idxE incrE D" =" =" nstrED""D"" top  bottom Q""]""]"" cmp_valV#+#+#+ encoding0 nconversions  convd i $'$'$'@%' new_conversions$&p' nullentryF nullentrylen GD&p'P&p'P&p' charsetstr:Vd&p'p&p'p&p' len [ charset\ outcharsetD]&p'&S'&S' tmp'+'+'+ lock(*(*(* freememI freemem_size  inbufS outbufI malloc_countV transmem_listndummy1W#dummy2 #dummy1W#dummy2 #(\*(U*(U* newmemn inptrx inleft  outptr outleft W` Wo; string_desclengthE#offsetE#~~W sysdep_string_desclength #pointer#EW&ylibiconv_t  converted_domain encoding+#conv0#conv_tabA#F  loaded_domain&datat#use_mmapV#mmap_size #must_swapV# mallocedy#nstringsE#orig_tab#trans_tab#n_sysdep_stringsE# orig_sysdep_tab #$trans_sysdep_tab#(hash_sizeE#,hash_tab!#0must_swap_hash_tabV#4conversions#8nconversions #<conversions_lock#@plural#nplurals #W+W5W?Ntransmem_block_tXWs plural_lookup~0++U9}domain| n| >translation} translation_len} domaindata& index  pHW9WC category_to_name+r,UVcategory retvalWW guess_category_value,C-UVcategorycategoryname language locale language_default locale_defaultedVWWWWW get_output_charset;P-!.Udomainbinding:V-.x-.x-. output_charset_cacheH output_charset_cachedVIx------ valueM------ len Q value_copyRWW stpcpyt0..U8dests=srcs W8 mempcpy~..Uyydest}src}  n}; enable_secureV rooty;y;;V tsearchy.  W. libintl_hash_string _ 3 libintl_nl_domain_bindingsX< _nl_load_domain }W W _nl_find_domain}   W !_nl_locale_name_default W!W)!_nl_locale_name_posix.!a!V$!Wa!!_nl_language_preferences_defaultf!!libintl_thread_in_useVpthread_rwlock_unlockV!!pthread_rwlock_wrlockV "!pthread_rwlock_rdlockV4"!pthread_rwlock_destroyV^"!"! _pthread_rwlockattr"__pthread_rwlockattrpy#c""""pthread_rwlock_initV"^"" _pthread_mutexattr#__pthread_mutexattrpy#"pthread_mutexattr_settypeVG##VR"G#_"Q#pthread_cond_waitV#L#V#pthread_cond_signalV#G#pthread_cond_broadcastV#G#pthread_cond_destroyV#G#"G# _pthread_condattr9$__pthread_condattrpy#$9$">$pthread_cond_initVr$#C$pthread_mutex_unlockV$Q#pthread_mutex_lockV$Q#pthread_mutex_destroyV$Q#"Q#"$"$pthread_mutex_initV(%$$pthread_mutexattr_destroyVU%#pthread_mutexattr_initV%#9pthread_t!pthread_self% % J _once %__pthread_once_pad%#%#%pthread_onceV&%%J"&J&" & tm$ &tm_secV#tm_minV#tm_hourV#tm_mdayV# tm_monV#tm_yearV#tm_wdayV#tm_ydayV#tm_isdstV# *&&"&__wcsftime_xpg5 '& %&&wchar_t'"'J'"'&"('__wcstok_xpg5']''#'-'Jwint_t __putwchar_xpg5]'']' __FILE i(_cntV#_ptrI#_baseI#_flag# _file# $__orientation9# $__ionolock9#  $__seekable9#  $__extendedfd9#  $__xf_nocheck9#  $__filler9#  '__putwc_xpg5]'(]'i(!__getwchar_xpg5]'__getwc_xpg5]'(i(__ungetwc_xpg5]'(]'i(J("('")__fputws_xpg5V2)()__fputwc_xpg5]'X)]'i("'")__fgetws_xpg5')X)V])__fgetwc_xpg5]')i('long long)off64_tftello64)))fseeko64V*))V)*fsetpos64V<*)*)fgetpos64Vc*)<*'FILE c*!tmpfile64n*W*W*freopen64n****n*W*W*fopen64n****')off_tftello64*"+*fseeko64VH+))V)H+fsetpos64Vt+)M+")"<*fgetpos64V+t+y+W+"+W+"+"n*freopen64n*++++W+"+W+"+fopen64n*(,+,!tmpfile64n*;W@,E,libiconv ,;,J,jO,jW,W,libiconv_open0,,,W,!locale_charset,__posix_ttyname_rV-V9__posix_getlogin_rV:-Vlockf64V_-VV)W_-truncate64V-d-)tell64)-VVssize_t;-pwrite64----9);pread64-.--9)lseek64)=.V)Vftruncate64Va.V)Wa.truncate64V.f.)tell64*.V;.pwrite64-.-.9)pread64-/--9)lseek64*,/V*Vlockf64VQ/VV)Juid_t!getuidQ/Jgid_t!getgidm/!geteuidQ/!getegidm/ftruncate64V/V)W/strdup//W/W/strstr&0/0W&0strchrO0+0VWO0strlen s0T0Ws0W}0strcspn 0x00W0W0strcmpV000"y;0"0memcpyy1009getcwd119mkstemp64VN1mkstemp64Vk1rlim64_t rlimit641rlim_curk1#rlim_maxk1#z1getrlimit64V1V1z11setrlimit64V2V1rlim_t rlimitB2rlim_cur2#rlim_max2#2getrlimit64Vk2VB22k2setrlimit64V2Vp2reallocy2y9mallocy29W2getenv22 free 3ycallocy*399%abortV&___errno53__builtin_allocayo39Jo3__posix_ctime_r3t3*&3"3"'__posix_asctime_r33p ../../gettext-runtime/intl/plural-exp.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o plural-exp.o ../../gettext-runtime/intl/plural-exp.c -W0,-xp.XAKgoyLLt_uMkG9.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLLt_uMkG9.;backend;raw;cd;DBG_GEN 5.2.76~intexpression_operatorvarnumlnotmultdividemoduleplusminusless_thangreater_than less_or_equal greater_or_equal equal not_equal landlorqmopunsigned longexpression$nargs#operation#valB#long$ B ) cnum#args1#  plvarc#  plone|( libintl_gettext_germanic_plural1libintl_gettext_extract_pluralf.0Unullentrycpluralpd npluralspe.0././ plurali nplurals j//0//0// endpr ns argstchar     parse_argsIcp#res$#voidIlibintl_gettextparse~Q ~ strstrmkstemp64mkstemp64unsigned long longrlim64_trlimit64Crlim_cur#rlim_max#getrlimit64lC lsetrlimit64qrlim_trlimitrlim_cur#rlim_max#getrlimit64 setrlimit64/ )/__posix_ctime_ra4tm$tm_sec#tm_min#tm_hour#tm_mday# tm_mon#tm_year#tm_wday#tm_yday#tm_isdst# a__posix_asctime_r8   8 = G strtoulB L ../../gettext-runtime/intl/localcharset.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o localcharset.o ../../gettext-runtime/intl/localcharset.c -W0,-xp.XAKgoyLLt_uMUR9.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLLt_uMUR9.;backend;raw;cd;DBG_GEN 5.2.7mknod 0H0Uddx_path_mode _devintcharksunsigned long}mode_t}dev_tget_charset_aliasesyP05Ucpz a04 m04 m04dirbasefile_name 0l1dir_lenbase_lenadd_slashd l14 14 14fdd 14 14 14fp 14 14 14res_ptrres_size 14 14 14cdbuf1)buf2:l1l2old_res_ptrkkkkkunsignedsize_tunsigned char __FILE _cntd# _ptr0# _base0# _flag# _file# __orientation#  __ionolock#   __seekable#   __extendedfd#   __xf_nocheck#   __filler#  5FILElong k3:!2 k3K!2locale_charseti55Ucodesetjaliaseskkkkkcharset_aliasestkklibintl_relocate#nl_langinfoBd__posix_ttyname_rdqd__posix_getlogin_rddlong longlockf64dddktruncate64doff64_ttell64# ddssize_tvoid1 9 pwrite64# n # > 1 pread64#  # n lseek64 ddftruncate64d dk truncate64d  off_ttell64 9 d1 9 pwrite64# n # > pread64#  # n lseek64  d dlockf64d ddftruncate64d dclosed dmkstemp64d< mkstemp64dY unsigned long longY rlim64_t rlimit64 rlim_curo # rlim_maxo #~ getrlimit64d d ~  setrlimit64d d Y rlim_t rlimitF rlim_cur # rlim_max # getrlimit64do dF  o setrlimit64d dt 1 realloc   malloc  k getenv  free  k strlen8  k= B strcpyk 8 G kk ku strcmpd p z  1   memcpy    5ftello64  5fseeko64d" d"fsetpos64dN 'fgetpos64du Ntmpfile64kkfreopen64kkfopen645ftello64 fseeko64d> dk>fdopengdC__filbufd fsetpos64d  Nfgetpos64dungetcdd  kfscanfd. k.3k=Bfreopen64x8GLkx}kfopen64fclosed tmpfile64kkattropen64d dk openat64dQd%dkQcreat64d{V}k{open64ddkkattropen64ddkopenat64dddkcreat64d=}k=open64dgBddkl_xmknoddgq}}k ! !Y ino_t}nlink_t!uid_t!gid_t !!!time_t timespec@ tv_sec# tv_nsec!#timestruc_t!blksize_tblkcnt_t k! ! ! stat st_dev# st_pad1# st_ino# st_mode# st_nlink# st_uid# st_gid#$ st_rdev#( st_pad2#, st_size #4 st_atim@#< st_mtim@#D st_ctim@#L st_blksizeR#T st_blocksb#X st_fstypeq#` st_pad4#plstat64dkstat64dfstat64d1dk1fstatat64dgd6dkg ! !Y ino64_t !!blkcnt64_t k! ! ! stat64 st_dev# st_pad1q# st_ino# st_mode# st_nlink# st_uid# st_gid#$ st_rdev#( st_pad2#, st_size#4 st_atim@#< st_mtim@#D st_ctim@#L st_blksizeR#T st_blocks#X st_fstype#` st_pad4#pfstatat64d(dldk(-lstat64d\27k\astat64dfkfstat64dd!__posix_ctime_r tm$ z tm_secd# tm_mind# tm_hourd# tm_mdayd# tm_mond# tm_yeard# tm_wdayd# tm_ydayd# tm_isdstd# z__posix_asctime_ropen64openO../../gettext-runtime/intl/threadlib.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o threadlib.o ../../gettext-runtime/intl/threadlib.c -W0,-xp.XAKgoyLLt_uMEb9.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLLt_uMEb9.;backend;raw;cd;DBG_GEN 5.2.7Xdummy_thread_func%66UNFNarg$voidFlibintl_thread_in_use+ 66Utested,result-&66066066thread(1066\66\66retvalN9intunsigned pthread_tchar8 mkstemp64b @ mkstemp64 @unsigned long long rlim64_t rlimit64 rlim_cur# rlim_max# getrlimit64   setrlimit64.   rlim_t rlimitl rlim_cur.# rlim_max.#; getrlimit64  l; setrlimit64  abortN pthread_join   _pthread_attr0 __pthread_attrpN#05NP N?N pthread_create  : P Ulong __posix_ctime_r@  @ tm$^ tm_sec# tm_min# tm_hour# tm_mday# tm_mon# tm_year# tm_wday# tm_yday# tm_isdst# ^c@__posix_asctime_r@ h m V ../../gettext-runtime/intl/lock.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o lock.o ../../gettext-runtime/intl/lock.c -W0,-xp.XAKgoyLLt_uM0k9.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLLt_uM0k9.;backend;raw;cd;DBG_GEN 5.2.7_libintl_recursive_lock_init_multithreaded<6j7Uclock;attributes=err>intunsigned shortuint16_tunsigned charuint8_th__pthread_mutex_flag1#__pthread_mutex_flag2#__pthread_mutex_ceiling#__pthread_mutex_type#__pthread_mutex_magic#long  h__pthread_mutex_padp#unsigneduint32_t__pthread_ownerpid#__pthread_lockword#unsigned long longupad64_t __pthread_mutex_lock64#__pthread_mutex_lock32#__pthread_mutex_owner64# _pthread_mutex__pthread_mutex_flags#__pthread_mutex_lock##__pthread_mutex_data#pthread_mutex_t4Irecmutex#guard#initialized#0gl_recursive_lock_t Ivoid h _pthread_mutexattr__pthread_mutexattrpp#upthread_mutexattr_tlibintl_recursive_lock_lock_multithreadedXp7&8UNclockWv787878err[libintl_recursive_lock_unlock_multithreadedr08b8Uclockqlibintl_recursive_lock_destroy_multithreadedzp88Uclockyerr{  " h _once K__pthread_once_pad#"pthread_once_tKfresh_once`libintl_once_singlethreaded89Uonce_controlfirstbyte Kchar int32_t  hv __pthread_cond_flag #__pthread_cond_type#__pthread_cond_magic# _pthread_cond __pthread_cond_flags #__pthread_cond_data#v pthread_cond_t _pthread_rwlock@ __pthread_rwlock_readers#__pthread_rwlock_type#__pthread_rwlock_magic#__pthread_rwlock_mutex#__pthread_rwlock_readercv # __pthread_rwlock_writercv #0 pthread_rwlock_unlock  pthread_rwlock_wrlock  pthread_rwlock_rdlock3  pthread_rwlock_destroy]   _pthread_rwlockattr __pthread_rwlockattrpp#b  pthread_rwlock_init ]  upthread_mutexattr_settype   v   pthread_cond_waitL   pthread_cond_signals  pthread_cond_broadcast  pthread_cond_destroy   _pthread_condattr __pthread_condattrpp#  pthread_cond_init9   pthread_mutex_unlocka  pthread_mutex_lock  pthread_mutex_destroy   u  pthread_mutex_init   pthread_mutexattr_destroy pthread_mutexattr_initF pthread_tpthread_selfF " qpthread_onceltmkstemp64mkstemp64rlim64_t rlimit64rlim_cur#rlim_max# getrlimit64C Csetrlimit64qHrlim_t rlimitrlim_curq#rlim_maxq# ~getrlimit64~ setrlimit64h __posix_ctime_r8  tm$tm_sec#tm_min#tm_hour#tm_mday# tm_mon#tm_year#tm_wday#tm_yday#tm_isdst# 8 __posix_asctime_ri!../../gettext-runtime/intl/relocatable.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o relocatable.o ../../gettext-runtime/intl/relocatable.c -W0,-xp.XAKgoyLMt_uMku9.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLMt_uMku9.;backend;raw;cd;DBG_GEN 5.2.7set_this_relocation_prefixj 9:Uorig_prefix_arghcurr_prefix_argi &99W99W99memoryqchar libintl_set_relocation_prefix:5:U49orig_prefix_argCcurr_prefix_arg 4> libintl_relocate@:s;U=8 GpathnameF:h;:h;:h;:h;:::: result:h;:h;:h;:h; pathname_tailQ result8BLunsigned Vsize_tcurr_prefix_lenb^curr_prefix]orig_prefix_lenb[orig_prefixZlibiconv_set_relocation_prefix&long&.&8=inttm$tm_secG#tm_minG#tm_hourG#tm_mdayG# tm_monG#tm_yearG#tm_wdayG#tm_ydayG#tm_isdstG# N__wcsftime_xpg5b(3bBwchar_t(3&=B.L__wcstok_xpg538GQ &wint_t__putwchar_xpg5unsigned char__FILE_cntG#_ptr#_base#_flag# _file# __orientationV# __ionolockV#  __seekableV#  __extendedfdV#  __xf_nocheckV#  __fillerV#  __putwc_xpg5__getwchar_xpg5__getwc_xpg5 __ungetwc_xpg5- &- 2 < __fputws_xpg5Gl 7 A __fputwc_xpg5 3< __fgetws_xpg53  G __fgetwc_xpg5   strncmpG!   V! strlenbE & J O strcpyx E T x  strcmpG }  void     memcpy    Vmkstemp64G mkstemp64G* unsigned long long * rlim64_trlimit64 rlim_cur@ #rlim_max@ #O getrlimit64G G O  setrlimit64G G * rlim_trlimit rlim_cur #rlim_max # getrlimit64G@ G  @ setrlimit64Gn GE &n __posix_ctime_r s N  __posix_asctime_r   malloc  Vlong long off64_tftello64 4  fseeko64GZ <  G Z fsetpos64G < _  fgetpos64G <  FILE tmpfile64   freopen64      fopen64 ? off_tftello64Dl?fseeko64G<  G fsetpos64G< <  fgetpos64G freopen64 449CHfopen64 r>Mtmpfile64 "../../gettext-runtime/intl/langprefs.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o langprefs.o ../../gettext-runtime/intl/langprefs.c -W0,-xp.XAKgoyLMt_uME59.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLMt_uME59.;backend;raw;cd;DBG_GEN 5.2.7_nl_language_preferences_default;;UPcharCKCintmkstemp64Z~Umkstemp64ZUunsigned long longrlim64_t rlimit64 rlim_cur# rlim_max#getrlimit64ZZsetrlimit64ZJZ!rlim_t rlimit rlim_curJ# rlim_maxJ#Wgetrlimit64ZZWsetrlimit64ZZlong__posix_ctime_rUU tm$ tm_secZ# tm_minZ# tm_hourZ# tm_mdayZ# tm_monZ# tm_yearZ# tm_wdayZ# tm_ydayZ# tm_isdstZ#   U __posix_asctime_rUQ#../../gettext-runtime/intl/localename.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o localename.o ../../gettext-runtime/intl/localename.c -W0,-xp.XAKgoyLMt_uMED_.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLMt_uMED_.;backend;raw;cd;DBG_GEN 5.2.7SWAP{;;UE9Eixunsigned9nls_uint32_nl_locale_name_thread_unsafe, ;;Ucategory+ categoryname+  char int _nl_locale_name_thread <<UA<category Kcategoryname   < F_nl_locale_name_posix <><Ucategory categoryname    _nl_locale_name_environ @<<U<7category Fcategoryname  retvalP  7 A K _nl_locale_name_default <<U _nl_locale_name =]=Ucategory  categoryname  retval    int32_tunsigned short'uint16_tunsigned charHuint8_t  __pthread_mutex_flag19# __pthread_mutex_flag2Y# __pthread_mutex_ceilingY# __pthread_mutex_type9# __pthread_mutex_magic9#longY C __pthread_mutex_pad#9uint32_t  __pthread_ownerpidC# __pthread_lockwordC#unsigned long longupad64_t __pthread_mutex_lock64# __pthread_mutex_lock32R# __pthread_mutex_owner64#_pthread_mutex __pthread_mutex_flagsg# __pthread_mutex_lock# __pthread_mutex_data#pthread_mutex_tY  __pthread_cond_flag# __pthread_cond_type9# __pthread_cond_magic9#_pthread_cond] __pthread_cond_flags# __pthread_cond_data# pthread_cond_t_pthread_rwlock@K __pthread_rwlock_readers# __pthread_rwlock_type9# __pthread_rwlock_magic9# __pthread_rwlock_mutex# __pthread_rwlock_readercv] # __pthread_rwlock_writercv] #0 r pthread_rwlock_unlocky K pthread_rwlock_wrlock K pthread_rwlock_rdlock K pthread_rwlock_destroy K K void _pthread_rwlockattrA __pthread_rwlockattrp # A F pthread_rwlock_init|  K _pthread_mutexattr __pthread_mutexattrp # | pthread_mutexattr_settype      pthread_cond_wait)   pthread_cond_signalP  pthread_cond_broadcastz  pthread_cond_destroy   _pthread_condattr __pthread_condattrp #  pthread_cond_init   pthread_mutex_unlock>  pthread_mutex_lockd  pthread_mutex_destroy   |  pthread_mutex_init   pthread_mutexattr_destroy  pthread_mutexattr_init# 9pthread_tpthread_self# Z_once  __pthread_once_padI# Z pthread_once mkstemp64mkstemp64rlim64_trlimit646 rlim_cur# rlim_max# getrlimit64_6 _setrlimit64drlim_trlimit rlim_cur# rlim_max# getrlimit64 setrlimit64" "__posix_ctime_rT'tm$ tm_sec# tm_min# tm_hour# tm_mday# tm_mon# tm_year# tm_wday# tm_yday# tm_isdst# T __posix_asctime_r+ +getenvO0 O9size_t fkT uz__wcsftime_xpg5YTYpwchar_t   O__wcstok_xpg5wint_t __putwchar_xpg5? H__FILE  _cnt# _ptr?# _base?# _flagH# _fileH# __orientation9# __ionolock9#  __seekable9#  __extendedfd9#  __xf_nocheck9#  __filler9#  D__putwc_xpg5J __getwchar_xpg5__getwc_xpg5 __ungetwc_xpg5   D__fputws_xpg5__fputwc_xpg5 __fgetws_xpg5D__fgetwc_xpg5e  Dlong longjoff64_t ftello64wefseeko64jj fsetpos64 jfgetpos64DFILE tmpfile64% = Gfreopen64%xBL% x fopen64%} Djoff_t ftello64fseeko64jj fsetpos64+fgetpos64W+0 W\ fk%freopen64%apu  fopen64%tmpfile64%$../../gettext-runtime/intl/log.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o log.o ../../gettext-runtime/intl/log.c -W0,-xp.XAKgoyLMt_uMkO_.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLMt_uMkO_.;backend;raw;cd;DBG_GEN 5.2.7print_escaped*`=>UO_stream)qstr) {str_end)intunsigned charVunsigned__FILET_cntO#_ptrg#_baseg#_flagV# _fileV# __orientationl# __ionolockl#  __seekablel#  __extendedfdl#  __xf_nocheckl#  __fillerl#  xFILETchar dl dvd last_logfilename= last_logfile_>unsigned short uint16_t Vuint8_t __pthread_mutex_flag1#__pthread_mutex_flag2#__pthread_mutex_ceiling#__pthread_mutex_type#__pthread_mutex_magic#long  __pthread_mutex_pad# luint32_t __pthread_ownerpid#__pthread_lockword#unsigned long long upad64_t__pthread_mutex_lock64#__pthread_mutex_lock32#__pthread_mutex_owner64-#_pthread_mutex__pthread_mutex_flags#__pthread_mutex_lock<#__pthread_mutex_data-# pthread_mutex_t lock?_nl_log_untranslated_lockedD >%@UlogfilenameBdomainnameB msgid1Cmsgid2COpluralC logfile_E separator&F d d d  d d!_nl_log_untranslated|0@@Ulogfilenamezdomainnamez msgid1{msgid2{Oplural{ d d d dlibintl_thread_in_useO Oint32_t   w __pthread_cond_flag #__pthread_cond_type#__pthread_cond_magic#_pthread_cond __pthread_cond_flags #__pthread_cond_data-# w pthread_cond_t_pthread_rwlock@ __pthread_rwlock_readers#__pthread_rwlock_type#__pthread_rwlock_magic#__pthread_rwlock_mutex#__pthread_rwlock_readercv # __pthread_rwlock_writercv #0 pthread_rwlock_unlockO  pthread_rwlock_wrlockO  pthread_rwlock_rdlockO4  pthread_rwlock_destroyO^   voidc _pthread_rwlockattr __pthread_rwlockattrpk # p   pthread_rwlock_initO ^  _pthread_mutexattr __pthread_mutexattrpk # pthread_mutexattr_settypeOT  Ow T ^ pthread_cond_waitO Y c pthread_cond_signalO T pthread_cond_broadcastO T pthread_cond_destroyO T T _pthread_condattrF __pthread_condattrpk #  F K pthread_cond_initO  P pthread_mutex_unlockO ^ pthread_mutex_lockO ^ pthread_mutex_destroyO ^ ^  pthread_mutex_initO5 pthread_mutexattr_destroyOb pthread_mutexattr_initO lpthread_tpthread_self - _once __pthread_once_pad#pthread_onceO dstrchrG#O dG lsize_tstrlenQxL d}strcpyx d dstrcmpOmkstemp64Omkstemp64O rlim64_trlimit64Zrlim_cur#rlim_max#'getrlimit64OOZ 'setrlimit64OO rlim_trlimitrlim_cur#rlim_max#getrlimit64OO setrlimit64OFO F__posix_ctime_rxKtm$tm_secO#tm_minO#tm_hourO#tm_mdayO# tm_monO#tm_yearO#tm_wdayO#tm_ydayO#tm_isdstO# x__posix_asctime_rO mallock ilfree}k abortxlong long off64_tftello64xfseeko64OO fsetpos64Ofgetpos64OBtmpfile64_ dU d_freopen64_Zd_ d dfopen64_x off_tftello64fseeko64OO fsetpos64OCfgetpos64OoCHputcOO dfputsO dfprintfO d d_freopen64_=  d=B dLQfopen64_{GVfcloseOtmpfile64_fopen64fopen%%../../gettext-runtime/intl/intl-compat.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o intl-compat.o ../../gettext-runtime/intl/intl-compat.c -W0,-xp.XAKgoyLNt_uMkR\$.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLNt_uMkR$.;backend;raw;cd;DBG_GEN 5.2.7SWAP{@@UI=Iixunsigned=nls_uint32gettext@@ AUmsgid?chardgettextHA.AUdomainnameGmsgidG dcgettextP0ARAU[`domainnameOjmsgidO ocategoryO[eintngettextX`AAUmsgid1Wmsgid2W nWunsigned longdngettextaAAUSXdomainname_bmsgid1` lmsgid2`n`S]gdcngettextkAAUdomainnamehmsgid1i msgid2iniocategoryjtextdomainsA BUDIdomainnamerDbindtextdomain{B.BUdomainnamezdirnamez bind_textdomain_codeset0BNBU domainnamecodeset  ) libintl_bind_textdomain_codesetk $ .ku libintl_bindtextdomain p z libintl_textdomain  libintl_dcngettext6     o6@J libintl_dngettext ; E O  libintl_ngettext    libintl_dcgettext   o  libintl_dgettextJ   J libintl_gettextw O oint32_tunsigned short uint16_tunsigned char uint8_t d __pthread_mutex_flag1 # __pthread_mutex_flag2 # __pthread_mutex_ceiling # __pthread_mutex_type # __pthread_mutex_magic #long } d   __pthread_mutex_padl #=uint32_t  __pthread_ownerpid # __pthread_lockword #unsigned long long upad64_ty __pthread_mutex_lock64} # __pthread_mutex_lock32 # __pthread_mutex_owner64 #_pthread_mutex __pthread_mutex_flags # __pthread_mutex_lock # __pthread_mutex_data #y pthread_mutex_t  d  l __pthread_cond_flag # __pthread_cond_type # __pthread_cond_magic #_pthread_cond __pthread_cond_flags # __pthread_cond_data #l pthread_cond_t_pthread_rwlock@ __pthread_rwlock_readersw # __pthread_rwlock_type # __pthread_rwlock_magic # __pthread_rwlock_mutex # __pthread_rwlock_readercv # __pthread_rwlock_writercv #0 pthread_rwlock_unlocko pthread_rwlock_wrlocko pthread_rwlock_rdlocko) pthread_rwlock_destroyoS  voidX_pthread_rwlockattr __pthread_rwlockattrp`#e pthread_rwlock_inito S _pthread_mutexattr __pthread_mutexattrp`# pthread_mutexattr_settypeoI  ol Iy S pthread_cond_waito N X pthread_cond_signalo I pthread_cond_broadcasto I pthread_cond_destroyo II_pthread_condattr; __pthread_condattrp`#;@ pthread_cond_initot  E pthread_mutex_unlocko S pthread_mutex_locko S pthread_mutex_destroyo SS pthread_mutex_inito*   pthread_mutexattr_destroyoW  pthread_mutexattr_inito =pthread_tpthread_self  d _once  __pthread_once_pad# pthread_onceo   mkstemp64o0  mkstemp64oM  rlim64_trlimit64 rlim_curM# rlim_maxM#\ getrlimit64o o \ setrlimit64o o  rlim_trlimit$ rlim_cur# rlim_max# getrlimit64oM o $M setrlimit64o{ o Rd { __posix_ctime_r  tm$F tm_seco# tm_mino# tm_houro# tm_mdayo# tm_mono# tm_yearo# tm_wdayo# tm_ydayo# tm_isdsto# FK __posix_asctime_r P Ud =size_td  __wcsftime_xpg5    wchar_td  __wcstok_xpg5D   d wint_t __putwchar_xpg5Dt D __FILE U _cnto# _ptrt# _baset# _flag # _file # __orientation=# __ionolock=#  __seekable=#  __extendedfd=#  __xf_nocheck=#  __filler=#  y __putwc_xpg5D D U__getwchar_xpg5D __getwc_xpg5D U __ungetwc_xpg5D D Ud y __fputws_xpg5o   __fputwc_xpg5DD D U __fgetws_xpg5y D o I __fgetwc_xpg5D Uylong longoff64_t ftello64  fseeko64o   o fsetpos64o(   fgetpos64oO  (yFILE Otmpfile64Zr| freopen64Z w  Z fopen64Z  yoff_t ftello64  fseeko64o4   o4 fsetpos64o`  9( fgetpos64o ` eZ freopen64Z    fopen64Z  tmpfile64Z '../../gettext-runtime/intl/dcgettext.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o dcgettext.o ../../gettext-runtime/intl/dcgettext.c -W0,-xp.XAKgoyLJt_uM0p6.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLJt_uM0p6.;backend;raw;cd;DBG_GEN 5.2.7SWAP{PBBUB6Bixunsigned6nls_uint32libintl_dcgettext0BBUdomainname/msgid/ category/charintunsigned long libintl_dcigettextM      int32_tunsigned short[uint16_tunsigned char|uint8_t : __pthread_mutex_flag1m# __pthread_mutex_flag2# __pthread_mutex_ceiling# __pthread_mutex_typem# __pthread_mutex_magicm#long S: w __pthread_mutex_padB#6uint32_t  __pthread_ownerpidw# __pthread_lockwordw#unsigned long longupad64_tO __pthread_mutex_lock64S# __pthread_mutex_lock32# __pthread_mutex_owner64#_pthread_mutex __pthread_mutex_flags# __pthread_mutex_lock# __pthread_mutex_data#Opthread_mutex_t : B __pthread_cond_flag# __pthread_cond_typem# __pthread_cond_magicm#_pthread_cond __pthread_cond_flags# __pthread_cond_data#Bpthread_cond_t_pthread_rwlock@ __pthread_rwlock_readersM# __pthread_rwlock_typem# __pthread_rwlock_magicm# __pthread_rwlock_mutex# __pthread_rwlock_readercv# __pthread_rwlock_writercv#0 pthread_rwlock_unlock  pthread_rwlock_wrlock  pthread_rwlock_rdlock  pthread_rwlock_destroy) void. _pthread_rwlockattru __pthread_rwlockattrp6 #; u z pthread_rwlock_init )  _pthread_mutexattr __pthread_mutexattrp6 # pthread_mutexattr_settype B O) pthread_cond_wait] $ . pthread_cond_signal  pthread_cond_broadcast  pthread_cond_destroy   _pthread_condattr __pthread_condattrp6 #   pthread_cond_initJ  pthread_mutex_unlockr ) pthread_mutex_lock ) pthread_mutex_destroy ) )    pthread_mutex_init pthread_mutexattr_destroy- pthread_mutexattr_initW 6pthread_tpthread_selfW   :_once  __pthread_once_pad} #  pthread_once mkstemp64  mkstemp64# rlim64_trlimit64e rlim_cur# # rlim_max# #2 getrlimit64  e 2  setrlimit64  rlim_trlimit rlim_cur # rlim_max # getrlimit64#   # setrlimit64Q  (:Q __posix_ctime_r V tm$ tm_sec# tm_min# tm_hour# tm_mday# tm_mon# tm_year# tm_wday# tm_yday# tm_isdst# ! __posix_asctime_rZ & +:Z6size_t:qv __wcsftime_xpg5d _ d { wchar_t:Z __wcstok_xpg5   :wint_t __putwchar_xpg5J |__FILE + _cnt# _ptrJ# _baseJ# _flag|# _file|# __orientation6# __ionolock6#  __seekable6#  __extendedfd6#  __xf_nocheck6#  __filler6#  O __putwc_xpg5U  +__getwchar_xpg5 __getwc_xpg5 + __ungetwc_xpg5  +:O __fputws_xpg5   __fputwc_xpg5  + __fgetws_xpg5O    __fgetwc_xpg5p +Olong longuoff64_t ftello64 p fseeko64  u u fsetpos64  u fgetpos64%  OFILE %tmpfile640HR freopen640 M W 0 fopen640  Ouoff_t ftello64  fseeko64   u u  fsetpos646   fgetpos64b 6 ;bgqv0 freopen640 l {  fopen640  tmpfile640(../../gettext-runtime/intl/finddomain.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o finddomain.o ../../gettext-runtime/intl/finddomain.c -W0,-xp.XAKgoyLJt_uMEJ7.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLJt_uMEJ7.;backend;raw;cd;DBG_GEN 5.2.7SWAP{BBUE9Eixunsigned9nls_uint32_nl_find_domain?Cdomainbinding>retval7@language>AmodifierHBterritoryRCcodeset\Dnormalized_codesetfEalias_valuepFmaskGlock XCPDCPDCPDcntfEFEFEFcntchar  intvoid % - Ulong 7U < loaded_l10nfilefilename#decided#data2#next7# successorD#        < binding9next#dirname#codeset#domainname#  9  C  M  W  a  kint32_tunsigned shortuint16_tunsigned charuint8_tb__pthread_mutex_flag1#__pthread_mutex_flag2#__pthread_mutex_ceiling#__pthread_mutex_type#__pthread_mutex_magic# s <__pthread_mutex_padb#9uint32_t__pthread_ownerpid#__pthread_lockword#unsigned long longupad64_to__pthread_mutex_lock64s#__pthread_mutex_lock32#__pthread_mutex_owner64# _pthread_mutex__pthread_mutex_flags#__pthread_mutex_lock #__pthread_mutex_data#opthread_mutex_t  <b __pthread_cond_flag#__pthread_cond_type#__pthread_cond_magic# _pthread_cond __pthread_cond_flags #__pthread_cond_data#b pthread_cond_t _pthread_rwlock@ __pthread_rwlock_readersu#__pthread_rwlock_type#__pthread_rwlock_magic#__pthread_rwlock_mutex#__pthread_rwlock_readercv # __pthread_rwlock_writercv #0 pthread_rwlock_t_nl_loaded_domains75_nl_load_domain 7        ( -  7 < _nl_explode_name   # 2 A   _nl_expand_alias   7        _nl_make_l10nflist7^   9      libintl_thread_in_use pthread_rwlock_unlock } pthread_rwlock_wrlock } pthread_rwlock_rdlock } pthread_rwlock_destroy' } } % _pthread_rwlockattrk __pthread_rwlockattrp, # 1 k p pthread_rwlock_init ' u _pthread_mutexattr __pthread_mutexattrp, # pthread_mutexattr_settype  b  opthread_cond_waitS$pthread_cond_signalzpthread_cond_broadcastpthread_cond_destroy _pthread_condattr__pthread_condattrp, #   pthread_cond_init@pthread_mutex_unlockhpthread_mutex_lockpthread_mutex_destroy pthread_mutex_initpthread_mutexattr_destroy# pthread_mutexattr_initM 9pthread_tpthread_selfM   < _once __pthread_once_pads#  pthread_once <9size_t <  tm$tm_sec#tm_min#tm_hour#tm_mday# tm_mon#tm_year#tm_wday#tm_yday#tm_isdst#  __wcsftime_xpg5wchar_t  <  __wcstok_xpg58<wint_t __putwchar_xpg58h8  __FILE I_cnt#_ptrh#_baseh#_flag# _file# __orientation9# __ionolock9#  __seekable9#  __extendedfd9#  __xf_nocheck9#  __filler9#  m__putwc_xpg58s8I__getwchar_xpg58__getwc_xpg58I__ungetwc_xpg588I <  m__fputws_xpg5__fputwc_xpg5888I__fgetws_xpg5m8=__fgetwc_xpg58I__posix_ttyname_r9__posix_getlogin_rlong longlockf64  truncate64Goff64_t tell64Gossize_t % }pwrite64oo9 %pread64oo9lseek64GGftruncate64*  *truncate64W/off_t tell64W} % }pwrite64oo9pread64oo9lseek64WWlockf64&ftruncate64J  JstrdupnO  nstrlensmkstemp64mkstemp64rlim64_t rlimit64 rlim_cur#rlim_max# getrlimit647  7setrlimit64e<rlim_t rlimit rlim_cure#rlim_maxe# rgetrlimit64 r setrlimit64free, abort < __posix_ctime_rK  KP__posix_asctime_rUZ mftello64Gfseeko64  fsetpos64 fgetpos64#mFILE #tmpfile64.  F  Pfreopen64.KU.    fopen64. mftello64Wfseeko64  fsetpos64(fgetpos64T(-  TY  ch.freopen64.^mr    fopen64.tmpfile64.k)../../gettext-runtime/intl/hash-string.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o hash-string.o ../../gettext-runtime/intl/hash-string.c -W0,-xp.XAKgoyLJt_uMkT7.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLJt_uMkT7.;backend;raw;cd;DBG_GEN 5.2.7libintl_hash_string!@FFUstr_param hval"g"str#unsigned longchar)../../gettext-runtime/intl/localealias.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o localealias.o ../../gettext-runtime/intl/localealias.c -W0,-xp.XAKgoyLKt_uMkl7.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLKt_uMkl7.;backend;raw;cd;DBG_GEN 5.2.7YSWAP{FGUH<Hixunsigned<nls_uint32unsigned shortYuint16_tunsigned charzuint8_t8__pthread_mutex_flag1k#__pthread_mutex_flag2#__pthread_mutex_ceiling#__pthread_mutex_typek#__pthread_mutex_magick#longQ 8u__pthread_mutex_pad@#<uint32_t__pthread_ownerpidu#__pthread_lockwordu#unsigned long longupad64_t M__pthread_mutex_lock64Q#__pthread_mutex_lock32#__pthread_mutex_owner64# _pthread_mutex__pthread_mutex_flags#__pthread_mutex_lock#__pthread_mutex_data#Mpthread_mutex_t lock}0 _nl_expand_aliasGHUname locale_alias_path retvalL resultV added[^GH^GH^GH itemGHGnHGnH startmchar alias_mapLalias#value#Q<size_thread_alias_fileHNU[  fname fname_len fp  full_fname  added[ aliasfile вaINxINxINbuf alias value cp complete_line  JTN3JTN3JTNKTN1KTN1KTNLTNalias_len[=value_len[>`LMLMLMnew_size[Jnew_pool MLMMMMMi[S intz __FILE _cnt #_ptr #_base #_flagz# _filez# __orientation<# __ionolock<#  __seekable<#  __extendedfd<#  __xf_nocheck<#  __filler<#   FILE   8  8extend_alias_tableNlOU / new_size[new_mapLalias_comparepOOU w | map1 map2 w  maxmap[ nmap[ mapL string_space_max[ string_space_act[ string_space  ( libintl_relocate- V # libintl_thread_in_use  int32_t 8 __pthread_cond_flag #__pthread_cond_typek#__pthread_cond_magick# _pthread_cond@ __pthread_cond_flags #__pthread_cond_data# pthread_cond_t _pthread_rwlock@.__pthread_rwlock_readersu #__pthread_rwlock_typek#__pthread_rwlock_magick#__pthread_rwlock_mutex#__pthread_rwlock_readercv@ # __pthread_rwlock_writercv@ #0U pthread_rwlock_unlock \.pthread_rwlock_wrlock .pthread_rwlock_rdlock .pthread_rwlock_destroy ..void _pthread_rwlockattr$__pthread_rwlockattrp#$)pthread_rwlock_init _. _pthread_mutexattr__pthread_mutexattrp#_pthread_mutexattr_settype   Mpthread_cond_wait  pthread_cond_signal 3pthread_cond_broadcast ]pthread_cond_destroy  _pthread_condattr__pthread_condattrp#pthread_cond_init pthread_mutex_unlock !pthread_mutex_lock Gpthread_mutex_destroy p_uzpthread_mutex_init ppthread_mutexattr_destroy pthread_mutexattr_init <pthread_tpthread_self = 8 _once f__pthread_once_pad,#=kpthread_once fn88 tm$Jtm_sec #tm_min #tm_hour #tm_mday # tm_mon #tm_year #tm_wday #tm_yday #tm_isdst # JO__wcsftime_xpg5[[Twchar_t8__wcstok_xpg58wint_t __putwchar_xpg5 __putwc_xpg5>__getwchar_xpg5__getwc_xpg5w__ungetwc_xpg58 __fputws_xpg5 __fputwc_xpg5__fgetws_xpg58 __fgetwc_xpg5YYcstrcasecmp ^hstrchr  strlen[memcpy<mkstemp64 2 mkstemp64 O rlim64_t rlimit64 rlim_curO#rlim_maxO#^getrlimit64  ^setrlimit64  rlim_t rlimit &rlim_cur#rlim_max#getrlimit64 O &Osetrlimit64 } Trealloc< qsort<< . bsearchb<<. abort__builtin_alloca<8__posix_ctime_r   __posix_asctime_r __fsetlocking '  long long,off64_t ftello649c'fseeko64 , ,fsetpos64 ,fgetpos64 tmpfile64 freopen64 * *4fopen64 ^/9 ,off_t ftello64c^fseeko64 , feof ,fsetpos64 fgetpos64 ! fgets N! &NS]b freopen64 Xglfopen64 fclose tmpfile64 !fopen64"fopen +../../gettext-runtime/intl/l10nflist.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o l10nflist.o ../../gettext-runtime/intl/l10nflist.c -W0,-xp.XAKgoyLKt_uM047.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLKt_uM047.;backend;raw;cd;DBG_GEN 5.2.7Aargz_count__^OOUargz]len] count_OOOOOOpart_lenbunsignedsize_tchar  argz_stringify__xPVPUMMargzwlenw RsepwPTPPLPPLPpart_len{ intargz_next__`PPUMMargzargz_len entry popPHQURRx _nl_make_l10nflistPQVUZ>l10nfile_listdirlist dirlist_lenRmasklanguageterritorycodeset normalized_codeset$modifier(#filename,Rdo_allocate0abs_filenameMlastpretvalZcpMdirlist_countentriescntRSTS TS TS TS TcompareRBUVmUVmUVUVUVUVU@VU@V dirMA >voidH P xlong Zx_loaded_l10nfilefilenameC#decidedR#dataU#nextZ# successorg# Z       _nl_normalize_codeset\VLXUcodeset[name_len[ len] only_digitR^ retvalM_ wpM` cnta  stpcpyPXXUMA MdestF src  A mkstemp64Rh Mmkstemp64R Munsigned long long rlim64_trlimit64 rlim_cur #rlim_max # getrlimit64R R   setrlimit64R4 R  rlim_trlimitr rlim_cur4 #rlim_max4 # A getrlimit64R Rr A setrlimit64R R Hmalloc  free  _ __posix_ctime_rM.  Mtm$ tm_secR#tm_minR#tm_hourR#tm_mdayR# tm_monR#tm_yearR#tm_wdayR#tm_ydayR#tm_isdstR# .  M__posix_asctime_rM   tolowerR R strchrMI % R I strlenm N  m  w strcmpR r |  H  memcpy   @-../../gettext-runtime/intl/explodename.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o explodename.o ../../gettext-runtime/intl/explodename.c -W0,-xp.XAKgoyLKt_uMED8.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLKt_uMED8.;backend;raw;cd;DBG_GEN 5.2.7I_nl_find_language/XHYUUM_name.charMMZ_nl_explode_namelanguage9 Mmodifier9\territory:kcodeset:znormalized_codeset;cpU=mask->intM49MCHMRWMafMpuMunsignedM _nl_normalize_codeset  M strchrU  -MM strcmp-)   mkstemp64-F U mkstemp64-c Uunsigned long long crlim64_t rlimit64 rlim_cury# rlim_maxy# getrlimit64- -  setrlimit64- -  crlim_t rlimitP rlim_cur# rlim_max# getrlimit64-y - Py setrlimit64- - ~long __posix_ctime_rU  U tm$z tm_sec-# tm_min-# tm_hour-# tm_mday-# tm_mon-# tm_year-# tm_wday-# tm_yday-# tm_isdst-# zU __posix_asctime_rU  voidfree '.../../gettext-runtime/intl/dcngettext.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o dcngettext.o ../../gettext-runtime/intl/dcngettext.c -W0,-xp.XAKgoyLKt_uM0Y8.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLKt_uM0Y8.;backend;raw;cd;DBG_GEN 5.2.7uSWAP{[\UE9Eixunsigned9nls_uint32libintl_dcngettext2 \L\Udomainname/msgid10 msgid20n0category1charunsigned longint&0 libintl_dcigettexty ! + 5   int32_tunsigned shortuint16_tunsigned charuint8_t f __pthread_mutex_flag1# __pthread_mutex_flag2# __pthread_mutex_ceiling# __pthread_mutex_type# __pthread_mutex_magic#long f  __pthread_mutex_padn#9uint32_t  __pthread_ownerpid# __pthread_lockword#unsigned long longupad64_t{ __pthread_mutex_lock64# __pthread_mutex_lock32# __pthread_mutex_owner64#_pthread_mutex __pthread_mutex_flags# __pthread_mutex_lock# __pthread_mutex_data#{pthread_mutex_t f n __pthread_cond_flag# __pthread_cond_type# __pthread_cond_magic#_pthread_cond __pthread_cond_flags# __pthread_cond_data#npthread_cond_t_pthread_rwlock@ __pthread_rwlock_readersy# __pthread_rwlock_type# __pthread_rwlock_magic# __pthread_rwlock_mutex# __pthread_rwlock_readercv# __pthread_rwlock_writercv#0 pthread_rwlock_unlock  pthread_rwlock_wrlock  pthread_rwlock_rdlock+  pthread_rwlock_destroyU voidZ _pthread_rwlockattr __pthread_rwlockattrpb #g   pthread_rwlock_init U _pthread_mutexattr __pthread_mutexattrpb # pthread_mutexattr_settypeK  nK {U pthread_cond_wait P Z pthread_cond_signal K pthread_cond_broadcast K pthread_cond_destroy K K _pthread_condattr= __pthread_condattrpb # = B pthread_cond_initv  G pthread_mutex_unlock U pthread_mutex_lock U pthread_mutex_destroy U U    pthread_mutex_init, pthread_mutexattr_destroyY  pthread_mutexattr_init  9pthread_tpthread_self   f_once  __pthread_once_pad #  pthread_once mkstemp642  mkstemp64O rlim64_trlimit64 rlim_curO # rlim_maxO #^ getrlimit64  ^  setrlimit64  rlim_trlimit& rlim_cur # rlim_max # getrlimit64O  & O setrlimit64}  Tf} __posix_ctime_r  tm$H tm_sec# tm_min# tm_hour# tm_mday# tm_mon# tm_year# tm_wday# tm_yday# tm_isdst# HM __posix_asctime_r R Wf9size_tf __wcsftime_xpg5    wchar_tf __wcstok_xpg5F   fwint_t __putwchar_xpg5Fv F__FILE W _cnt# _ptrv# _basev# _flag# _file# __orientation9# __ionolock9#  __seekable9#  __extendedfd9#  __xf_nocheck9#  __filler9#  { __putwc_xpg5F F W__getwchar_xpg5F __getwc_xpg5F W __ungetwc_xpg5F F Wf{ __fputws_xpg5    __fputwc_xpg5FF F W __fgetws_xpg5{ F  K __fgetwc_xpg5F W{long longoff64_t ftello64  fseeko64    fsetpos64*   fgetpos64Q  *{FILE Qtmpfile64\t~ freopen64\ y  \ fopen64\  {off_t ftello64  fseeko646   6 fsetpos64b  ;* fgetpos64 b g\ freopen64\    fopen64\  tmpfile64\ 0/../../gettext-runtime/intl/dngettext.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o dngettext.o ../../gettext-runtime/intl/dngettext.c -W0,-xp.XAKgoyLLt_uMkk8.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLLt_uMkk8.;backend;raw;cd;DBG_GEN 5.2.7SWAP{P\\UB6Bixunsigned6nls_uint32libintl_dngettext4\\Udomainname2msgid13 msgid23n3charunsigned longint libintl_dcngettext]     int32_tunsigned shortkuint16_tunsigned charuint8_t J __pthread_mutex_flag1}# __pthread_mutex_flag2# __pthread_mutex_ceiling# __pthread_mutex_type}# __pthread_mutex_magic}#long cJ  __pthread_mutex_padR#6uint32_t  __pthread_ownerpid# __pthread_lockword#unsigned long longupad64_t_ __pthread_mutex_lock64c# __pthread_mutex_lock32# __pthread_mutex_owner64#_pthread_mutex __pthread_mutex_flags# __pthread_mutex_lock# __pthread_mutex_data#_pthread_mutex_t J R __pthread_cond_flag# __pthread_cond_type}# __pthread_cond_magic}#_pthread_cond __pthread_cond_flags# __pthread_cond_data#Rpthread_cond_t_pthread_rwlock@ __pthread_rwlock_readers]# __pthread_rwlock_type}# __pthread_rwlock_magic}# __pthread_rwlock_mutex# __pthread_rwlock_readercv# __pthread_rwlock_writercv#0 pthread_rwlock_unlock  pthread_rwlock_wrlock  pthread_rwlock_rdlock  pthread_rwlock_destroy9 void> _pthread_rwlockattr __pthread_rwlockattrpF #K   pthread_rwlock_init 9 _pthread_mutexattr __pthread_mutexattrpF # pthread_mutexattr_settype/ R/ _9 pthread_cond_waitm 4 > pthread_cond_signal / pthread_cond_broadcast / pthread_cond_destroy / / _pthread_condattr! __pthread_condattrpF # ! & pthread_cond_initZ + pthread_mutex_unlock 9 pthread_mutex_lock 9 pthread_mutex_destroy 9 9    pthread_mutex_init pthread_mutexattr_destroy= pthread_mutexattr_initg 6pthread_tpthread_selfg   J_once  __pthread_once_pad #  pthread_once mkstemp64  mkstemp643 rlim64_trlimit64u rlim_cur3 # rlim_max3 #B getrlimit64  u B  setrlimit64  rlim_trlimit  rlim_cur # rlim_max # getrlimit643   3 setrlimit64a  8Ja __posix_ctime_r f tm$, tm_sec# tm_min# tm_hour# tm_mday# tm_mon# tm_year# tm_wday# tm_yday# tm_isdst# ,1 __posix_asctime_rj 6 ;Jj6size_tJ __wcsftime_xpg5t o t  wchar_tJj __wcstok_xpg5*   Jwint_t __putwchar_xpg5*Z *__FILE ; _cnt# _ptrZ# _baseZ# _flag# _file# __orientation6# __ionolock6#  __seekable6#  __extendedfd6#  __xf_nocheck6#  __filler6#  _ __putwc_xpg5*e * ;__getwchar_xpg5* __getwc_xpg5* ; __ungetwc_xpg5* * ;J_ __fputws_xpg5   __fputwc_xpg5** * ; __fgetws_xpg5_ *  / __fgetwc_xpg5* ;_long longoff64_t ftello64  fseeko64    fsetpos64   fgetpos645  _FILE 5tmpfile64@Xb freopen64@ ] g @ fopen64@  _off_t ftello64  fseeko64    fsetpos64F   fgetpos64r F Krw@ freopen64@ |   fopen64@  tmpfile64@B0../../gettext-runtime/intl/ngettext.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o ngettext.o ../../gettext-runtime/intl/ngettext.c -W0,-xp.XAKgoyLLt_uMkw8.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLLt_uMkw8.;backend;raw;cd;DBG_GEN 5.2.7SWAP{\\U?3?ixunsigned3nls_uint32libintl_ngettext:](]Umsgid19msgid29 n9charunsigned longint libintl_dcngettext:     int32_tunsigned shortHuint16_tunsigned chariuint8_t ' __pthread_mutex_flag1Z# __pthread_mutex_flag2z# __pthread_mutex_ceilingz# __pthread_mutex_typeZ# __pthread_mutex_magicZ#long z@' d __pthread_mutex_pad/#3uint32_t  __pthread_ownerpidd# __pthread_lockwordd#unsigned long longupad64_t< __pthread_mutex_lock64@# __pthread_mutex_lock32s# __pthread_mutex_owner64#_pthread_mutex __pthread_mutex_flags# __pthread_mutex_lock# __pthread_mutex_data#<pthread_mutex_t z' / __pthread_cond_flag# __pthread_cond_typeZ# __pthread_cond_magicZ#_pthread_cond~ __pthread_cond_flags# __pthread_cond_data#/pthread_cond_t_pthread_rwlock@l __pthread_rwlock_readers:# __pthread_rwlock_typeZ# __pthread_rwlock_magicZ# __pthread_rwlock_mutex# __pthread_rwlock_readercv~# __pthread_rwlock_writercv~#0 pthread_rwlock_unlock l pthread_rwlock_wrlock l pthread_rwlock_rdlock l pthread_rwlock_destroy llvoid _pthread_rwlockattrb __pthread_rwlockattrp# #( b g pthread_rwlock_init  l _pthread_mutexattr __pthread_mutexattrp# # pthread_mutexattr_settype / < pthread_cond_waitJ   pthread_cond_signalq pthread_cond_broadcast pthread_cond_destroy  _pthread_condattr __pthread_condattrp# #   pthread_cond_init7  pthread_mutex_unlock_  pthread_mutex_lock  pthread_mutex_destroy      pthread_mutex_init pthread_mutexattr_destroy pthread_mutexattr_initD 3pthread_tpthread_selfD   { '_once  __pthread_once_padj #{  pthread_once ' 3size_t'  tm$ tm_sec# tm_min# tm_hour# tm_mday# tm_mon# tm_year# tm_wday# tm_yday# tm_isdst#    __wcsftime_xpg5  wchar_t  '    __wcstok_xpg5 / 'wint_t __putwchar_xpg5/_ /i__FILE @ _cnt# _ptr_# _base_# _flagi# _filei# __orientation3# __ionolock3#  __seekable3#  __extendedfd3#  __xf_nocheck3#  __filler3#  d __putwc_xpg5/j / @__getwchar_xpg5/ __getwc_xpg5/ @ __ungetwc_xpg5/ / @'d __fputws_xpg5    __fputwc_xpg5// / @  __fgetws_xpg5 d /  4 __fgetwc_xpg5/ @dlong longoff64_t ftello64  fseeko64    fsetpos64   fgetpos64:  dFILE :tmpfile64E]g freopen64E b l E fopen64E  doff_t ftello64  fseeko64    fsetpos64K  $ fgetpos64w K Pw|E freopen64E    fopen64E  tmpfile64E mkstemp64/  mkstemp64L rlim64_t rlimit64  rlim_curL# rlim_maxL#[ getrlimit64  [ setrlimit64  rlim_t rlimit # rlim_cur# rlim_max# getrlimit64L  #L setrlimit64z  Q'z __posix_ctime_r   __posix_asctime_r  f1../../gettext-runtime/intl/plural.c /var/tmp/gettext-0.18.1.1/gettext-tools/intl /opt/sunstudio12.1/prod/bin/cc -xc99=all -c -DLOCALEDIR='"/usr/local/share/locale"' -DLOCALE_ALIAS_PATH='"/usr/local/share/locale"' -DLIBDIR='"/usr/local/lib"' -DBUILDING_LIBINTL -DBUILDING_DLL -DIN_LIBINTL -DENABLE_RELOCATABLE='1' -DIN_LIBRARY -DINSTALLDIR='"/usr/local/lib"' -DNO_XMALLOC -Dset_relocation_prefix='libintl_set_relocation_prefix' -Drelocate='libintl_relocate' -DDEPENDS_ON_LIBICONV='1' -DHAVE_CONFIG_H -I. -I../../gettext-runtime/intl -I.. -D_REENTRANT -I/usr/local/include -g -o plural.o ../../gettext-runtime/intl/plural.c -W0,-xp.XAKgoyLLt_uMU88.Xa;g;R=Sun C 5.10 SunOS_i386 Patch 142363-02 2009/09/21;G=.XAKgoyLLt_uMU88.;backend;raw;cd;DBG_GEN 5.2.7!new_expC0] ^UKvvnargsA}opA argsBivDnewpKEintexpression_operator:varnumlnotmultdividemoduleplusminusless_thangreater_than less_or_equal greater_or_equal equal not_equal landlorqmopunsigned longlong K i P  num:# argsX# expression nargsv# operation}# vali#Knew_exp_0`^.^UK}op_new_exp_1f0^V^UKW}opeKrighte argsWg Kh Pnew_exp_2p`^^UK}opnKleftn Krightoargsq K Pnew_exp_3{^^UKS}opyKbexpy KtbranchzKfbranchzargsS| K d Punsigned chardyytype_uint8uPyytranslatePyytranslateuPyyr1B  P yyr1 Bu2FPyyr27I 2k P yyr2ZIuPyydefactRn  PyydefactRnsigned charyytype_int8 PyydefgotoZ 3 Pyydefgoto"ZL`PyypactQb޲ L Pyypactvb޲Pyypgotoj  Pyypgotoju Pyytablet7 7, P6yytable t7C W PyycheckH ~ C 7 P6yycheckn ~u Pyystos   Pyystos yydestruct^^U? L yymsg|vyytype|  yyvaluep|char? G YYSTYPE num:# op}# expK#Q YYSTYPE libintl_gettextparse_hUv  arg__gettextcharv__gettextlval __gettextnerrsvyystatevyynvyyresultvyyerrstatusvyytokenvyyssa yyss yyssp yyvsa yyvs yyvsp yystacksizeyyval yylenv_a_a_ayysize `ayyss1 >yyptrT?H``H``H``yynewbytesCH``H``H``yyiC`^a`^a`^ayynewbytesD`%a`%a`%ayyiDCvoid short yytype_int16  P  Punsignedsize_tyyallocT yyss # yyvs #*libintl_gettext_free_exp0iiUKexp__gettextlexilUv= lvalGpexp expQresultvjl j,l j,l jjn:? =B? L__gettexterror m%mUstr~? ? ? ? libintl_dgettextmkstemp64vmkstemp64vunsigned long longrlim64_t rlimit64h rlim_cur&# rlim_max&#5getrlimit64vvh5setrlimit64vvrlim_t rlimit rlim_cur# rlim_max#getrlimit64v&v&setrlimit64vTv+PT__posix_ctime_rY tm$ tm_secv# tm_minv# tm_hourv# tm_mdayv# tm_monv# tm_yearv# tm_wdayv# tm_ydayv# tm_isdstv# $__posix_asctime_r]).malloc wfree 3./alloc.c /var/tmp/sudo-1.8.2/common /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./alloc.c -W0,-xp.XAKgoyLB4WgO0mQ.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLB4WgO0mQ.;backend;raw;cd;DBG_GEN 5.3.0emallocN0mmUsizeMptrOvoidunsignedsize_temalloc2_mnU)nmemb^size^ ptr`erealloctnfoUiptrssizes erealloc3pojpUptrnmemb sizeestrduppppU"srcdstlencharestrndupqqUsrcmaxlen dstleneasprintfàqrU  retfmt ...len ap# intva_listevasprintf rrU retformat #argslen  efreerrUptr libintl_dgettext   errorx.   . vasprintf _  3 _ strlen d memcpy    mkstemp64   mkstemp64  unsigned long longrlim64_trlimit64Crlim_cur#rlim_max# getrlimit64 l  Cl setrlimit64   qrlim_trlimitrlim_cur#rlim_max# getrlimit64    setrlimit64 /   reallocO   malloci  free} unsigned char}__FILEo_cnt #_ptr#_base#_flag}# _file}# __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#  long longtoff64_t ftello64 o fseeko64   t t fsetpos64   t fgetpos64 )   FILE) tmpfile644 L V freopen644  Q [ 4   fopen644  toff_t ftello64  fseeko64   t t fsetpos64 :   fgetpos64 \   \ f freopen644  a k 4   fopen644  tmpfile644 4./atobool.c /var/tmp/sudo-1.8.2/common /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./atobool.c -W0,-xp.XAKgoyLB4WgOkwQ.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLB4WgOkwQ.;backend;raw;cd;DBG_GEN 5.3.0atobool-rtUstr,intcharstrcasecmpmkstemp64mkstemp64-unsigned long long -rlim64_t rlimit64 rlim_curC# rlim_maxC#Rgetrlimit64Rsetrlimit64 -rlim_t rlimit rlim_cur# rlim_max#getrlimit64CCsetrlimit64qHunsigned charqunsigned __FILEo _cnt# _ptr# _base# _flagq# _fileq# __orientation#  __ionolock#   __seekable#   __extendedfd#   __xf_nocheck#   __filler#  long long toff64_tftello64ofseeko64ttfsetpos64tfgetpos64) FILE) tmpfile644LVfreopen644Q[4fopen644 toff_tftello64fseeko64ttfsetpos64:fgetpos64\\ffreopen644ak4fopen644 tmpfile6444./fileops.c /var/tmp/sudo-1.8.2/common /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./fileops.c -W0,-xp.XAKgoyLB4WgO00Q.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLB4WgO00Q.;backend;raw;cd;DBG_GEN 5.3.0mknodt&uU_path_mode _devintcharunsigned longmode_tdev_ttouch>0uuU^fd=^path= tvp= times?longctime_tcsuseconds_t timeval tv_seck# tv_usecx#  clock_fileWvvU#fdVlockitV opXsudo_parselnvxU^fp len cp^ bufunsigned charunsigned __FILE _cnt# _ptr# _base# _flag# _file# __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#  FILEsize_tcattropen64openat64**creat64T/Topen64~Y~attropen64openat64creat64open64@E_xmknody@Jy c  cunsigned long longino_tnlink_tcuid_tcgid_t c clong longoff_t timespec6 tv_seck# tv_nsecc#timestruc_tcblksize_tblkcnt_t x c c  c stat st_dev# st_pad1# st_ino# st_mode# st_nlink# st_uid# st_gid#$ st_rdev#( st_pad2#, st_size#4 st_atim6#< st_mtim6#D st_ctim6#L st_blksizeH#T st_blocksX#X st_fstypeg#` st_pad4x#plstat64~stat64fstat64  fstatat64N  N c i cino64_t c coff64_tblkcnt64_t  c c c stat64 st_dev# st_pad1X # st_inoi # st_mode# st_nlink# st_uid# st_gid#$ st_rdev#( st_pad2w #, st_size #4 st_atim6#< st_mtim6#D st_ctim6#L st_blksizeH#T st_blocks #X st_fstype #` st_pad4 #p fstatat64 S   lstat64G "  G stat64p L  fstat64  lockf64  truncate64  tell64  ssize_tvoid  pwrite64 G    pread64 v  G lseek64   ftruncate64  truncate64  tell64   pwrite64 ;   pread64 e  G lseek64 lockf64 ftruncate64  strchr^   strlen ftello64 A fseeko64lAlfsetpos64Aqfgetpos64Atmpfile64freopen64  fopen64Aftello64bAfseeko64Afsetpos64Afgetpos64Afgets^^Afreopen6444>fopen64h9Ctmpfile64{utimesfutimesatlockf64lockf5./fmt_string.c /var/tmp/sudo-1.8.2/common /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./fmt_string.c -W0,-xp.XAKgoyLB4WgOU6Q.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLB4WgOU6Q.;backend;raw;cd;DBG_GEN 5.3.0fmt_string0xxUvar/$val/ var_len51val_len52cp3str3charunsigned)size_tB strlen5f Gvoidffs memcpyn n x )int mkstemp64  mkstemp64 unsigned long longrlim64_t rlimit64: rlim_cur# rlim_max# getrlimit64c  :c setrlimit64  hrlim_t rlimit rlim_cur# rlim_max# getrlimit64   setrlimit64&   mallocn@ )unsigned char@ __FILE2 _cnt# _ptrQ# _baseQ# _flag@# _file@# __orientation)#  __ionolock)#   __seekable)#   __extendedfd)#   __xf_nocheck)#   __filler)#  Vlong long7off64_t ftello64Dn 2V fseeko64 n 7 7 fsetpos64 n 7 fgetpos64 n VFILEtmpfile64 freopen64J   JT fopen64~ O YV7off_t ftello64 ~ fseeko64 n 7 7 fsetpos64 n  fgetpos64 n ) freopen64Z $ . Zd fopen64 _ itmpfile646./lbuf.c /var/tmp/sudo-1.8.2/common /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./lbuf.c -W0,-xp.XAKgoyLB4WgOEAR.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLB4WgOEAR.;backend;raw;cd;DBG_GEN 5.3.0lbuf_init6x0yUlbuf4output4 indent5continuation5cols5charint  lbuf output # buf# continuation# indent# len# size# cols# lbuf_destroyB0yqyUlbufAlbuf_append_quotedMyM|UlbufLsetL fmtL...L apN lenO cpP sP voidva_listlbuf_appendP|}U:lbuf?fmt ... ap len s :lbuf_println}U8lbufline len cp save i have contlen@~ \~\~ ep needlbuf_printUlbuf cp ep lenunsignedereallocefreememrchrlong longlockf64BBtruncate64oGoff64_ttell64ossize_tpwrite64pread64 lseek64o.oftruncate64RRtruncate64Woff_ttell64pwrite64pread64lseek64)lockf64Nftruncate64rr|strpbrkwstrchrmemchrsize_tstrlen .  . memcpy\ 3 mkstemp64y mkstemp64 unsigned long long rlim64_t rlimit64 rlim_cur # rlim_max # getrlimit64    setrlimit64E   rlim_t rlimit rlim_curE # rlim_maxE #R getrlimit64  R  setrlimit64  unsigned char __FILE _cnt# _ptr # _base # _flag # _file # __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#   ftello64o   fseeko64   fsetpos64D   fgetpos64k  D  FILEk tmpfile64v   freopen64v    v   fopen64v     ftello64  fseeko64D  D fsetpos64p  I fgetpos64  D   freopen64v    v   fopen64v   tmpfile64v 7./list.c /var/tmp/sudo-1.8.2/common /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./list.c -W0,-xp.XAKgoyLC4WgO0JR.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLC4WgO0JR.;backend;raw;cd;DBG_GEN 5.3.0tq_pop6*Uvh5h+7last8voidlist_protoprev#next#list_head_proto+first#last# list2tqM0UvhLvlL h+NlO list_appendgԂUvl1fvl2f l1hl2itailj tq_appendw:Upvhvvlv h+xlytailz tq_remove@Uvhvl h+lcharint mkstemp64  mkstemp64 unsigned long long rlim64_t rlimit64rrlim_cur0#rlim_max0#? getrlimit64  r? setrlimit64   rlim_t rlimitrlim_cur#rlim_max# getrlimit640  0 setrlimit64^  5unsigned char^unsigned __FILE\_cnt#_ptro#_baseo#_flag^# _file^# __orientationt# __ionolockt#  __seekablet#  __extendedfdt#  __xf_nocheckt#  __fillert#  long long aoff64_t ftello64n \ fseeko64  a a fsetpos64  a fgetpos64   FILEtmpfile64!9C freopen64!t > H !t~ fopen64! y  aoff_t ftello64  fseeko64  a a fsetpos64'   fgetpos64I  IS freopen64! N X ! fopen64!  tmpfile64! 8./setgroups.c /var/tmp/sudo-1.8.2/common /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./setgroups.c -W0,-xp.XAKgoyLC4WgOEVR.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLC4WgOEVR.;backend;raw;cd;DBG_GEN 5.3.0 sudo_setgroups)Ungids(gids( maxgids*rval*intlonggid_tlong long lockf64<   char<D truncate64q I  off64_t tell64q ssize_tvoidunsigned pwrite64     pread64     lseek64qD  q  ftruncate64h  <h truncate64 m  off_t tell64  sysconf  setgroups   pwrite647     pread64a     lseek64    lockf64    ftruncate64  < mkstemp64  mkstemp64 unsigned long longrlim64_t rlimit64f rlim_cur$# rlim_max$#3 getrlimit64  f3 setrlimit64  rlim_t rlimit rlim_cur# rlim_max# getrlimit64$  $ setrlimit64R  )unsigned charR __FILED _cnt# _ptrc# _basec# _flagR# _fileR# __orientation#  __ionolock#   __seekable#   __extendedfd#   __xf_nocheck#   __filler#  h ftello64qe Dh fseeko64 e    fsetpos64 e   fgetpos64 e hFILEtmpfile64<< freopen64A   <A<K fopen64u F Ph ftello64 u fseeko64 e    fsetpos64 e  fgetpos64 e < < freopen64E   <E <O fopen64y J T tmpfile64z 9./term.c /var/tmp/sudo-1.8.2/common /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./term.c -W0,-xp.XAKgoyLC4WgO0bR.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLC4WgO0bR.;backend;raw;cd;DBG_GEN 5.3.0term_restoreG<UfdFflushF -τ-τ-flagsIintterm_noechoT@UfdSterm_raweUlfddisigd termfunsignedltcflag_tunsigned charcc_tlong  termios$ c_iflagx# c_oflagx# c_cflagx# c_lflagx# c_cc#term_cbreak|ULfd{term_copyUsrcdst tt term_killCD term_eraseBchangedAoterm@term@ tcsetattr?tcgetattrf?voidf fsmemcpynnxlcharmkstemp64mkstemp64unsigned long longrlim64_t rlimit64@ rlim_cur# rlim_max# getrlimit64i@ isetrlimit64nrlim_t rlimit rlim_cur# rlim_max#getrlimit64 setrlimit64, __FILE  _cnt# _ptr,# _base,# _flag# _file# __orientationl# __ionolockl#  __seekablel#  __extendedfdl#  __xf_nocheckl#  __fillerl#  1long longoff64_tftello64I 1fseeko64tI tfsetpos64Iyfgetpos64I1FILEtmpfile64  freopen64% % /fopen64Y*41off_tftello64^Yfseeko64I fsetpos64Ifgetpos64I   freopen645   5 ? fopen64i : D tmpfile64s:./zero_bytes.c /var/tmp/sudo-1.8.2/common /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./zero_bytes.c -W0,-xp.XAKgoyLC4WgOEiR.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLC4WgOEiR.;backend;raw;cd;DBG_GEN 5.3.0zero_bytesψUvn pepvoidunsignedsize_tcharintunsigned char __FILE _cnt # _ptr%# _base%# _flag# _file# __orientation#  __ionolock#   __seekable#   __extendedfd#   __xf_nocheck#   __filler#  *long long off64_t ftello64B * fseeko64 m B   m fsetpos64  B r  fgetpos64  B *FILEtmpfile64 freopen64   ( fopen64R # -* off_t ftello64W R fseeko64  B    fsetpos64  B  fgetpos64  B  freopen64.   .8 fopen64b 3 =tmpfile64);./getgrouplist.c /var/tmp/sudo-1.8.2/compat /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./getgrouplist.c -W0,-xp.XAKgoyL\$3WgOEGP.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyL$3WgOEGP.;backend;raw;cd;DBG_GEN 5.3.0AgetgrouplistYЈIUKK_nameXlbasegidX xgroupsX}ngroupspXiKZngroupsKZgrpsizeK[rvalK\grp]intcharRZlongdgid_tlKR group gr_name# gr_passwd# gr_gidl# gr_mem#  getgrent setgrent endgrentR R strcmpK@ mkstemp64K] mkstemp64Kzunsigned long longzrlim64_t rlimit64 rlim_cur# rlim_max# getrlimit64KK setrlimit64K)Kzrlim_t rlimitg rlim_cur)# rlim_max)#6 getrlimit64KKg6 setrlimit64KKunsigned charunsigned __FILE _cntK# _ptr# _base# _flag# _file# __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#  long longoff64_t ftello64 fseeko64K#K# fsetpos64KO( fgetpos64KvOFILEv tmpfile64RR freopen64RR fopen64off_t ftello64 5 fseeko64K[K[ fsetpos64K` fgetpos64KORR freopen64RR fopen64 tmpfile64n]<./memrchr.c /var/tmp/sudo-1.8.2/compat /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./memrchr.c -W0,-xp.XAKgoyLA4WgOEtP.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLA4WgOEtP.;backend;raw;cd;DBG_GEN 5.3.0memrchrPUsc ncpvoidintunsignedsize_tunsigned char __FILE _cnt# _ptr# _base# _flag# _file# __orientation#  __ionolock#   __seekable#   __extendedfd#   __xf_nocheck#   __filler#  long longoff64_t ftello64 5  fseeko64` 5  ` fsetpos64 5 e fgetpos64 5 FILEtmpfile64char freopen64   # fopen64M  (off_t ftello64Rz M fseeko64 5   fsetpos64 5  fgetpos64 5  freopen64)   )3 fopen64] . 8tmpfile64+=./mktemp.c /var/tmp/sudo-1.8.2/compat /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./mktemp.c -W0,-xp.XAKgoyLA4WgOU2P.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLA4WgOU2P.;backend;raw;cd;DBG_GEN 5.3.0mknodU_path_mode _devintcharunsigned longmode_tdev_tseed_randomEUD seedDF tvwGunsignedlongPtime_tPsuseconds_t timeval tv_secX# tv_usece#get_randomTUD initializedU,mktemp_internalaUpath`slen` mode` startb cpb epb tempcharsc rDd triesDd fde mkstemps>Upathslen mkdtemp@UEpathlong long lockf64wEw truncate64|EEoff64_t tell64ssize_tvoid pwrite64DE pread64FDE lseek64k ftruncate64E truncate64EEoff_t tell64 pwrite64DE pread64ADE lseek64f lockf64EPpid_tgetpid ftruncate64EsrandomDrandomP mkstemp64 mkstemp64,unsigned long long,rlim64_t rlimit64 rlim_curB# rlim_maxB#Q getrlimit64Q setrlimit64,rlim_t rlimit rlim_cur# rlim_max# getrlimit64BB setrlimit64pGunsigned charp __FILEb _cnt# _ptr# _base# _flagp# _filep# __orientationD# __ionolockD#  __seekableD#  __extendedfdD#  __xf_nocheckD#  __fillerD#   ftello64 b  fseeko64  EE fsetpos64   E fgetpos64   FILE tmpfile64 $ . freopen64 _ ) 3  _ i fopen64  d n  ftello64  fseeko64  EE fsetpos64   fgetpos64(   ( 2 freopen64 c - 7  c m fopen64  h r tmpfile64   attropen64    openat64   creat64B  B open64l G l v attropen64 q {  openat64   creat64   open64.  3 _xmknodg . 8 g P P,ino_tnlink_tPuid_tPgid_tP P timespec tv_secX# tv_nsecP# timestruc_t Pblksize_tEblkcnt_t7PP HP stati st_dev# st_pad1q # st_ino # st_mode# st_nlink # st_uid # st_gid #$ st_rdev#( st_pad2 #, st_size#4 st_atim #< st_mtim #D st_ctim #L st_blksize#T st_blocks#X st_fstype&#` st_pad47#pH lstat64l i stat64i fstat64i fstatat64 i P (P,ino64_tPGPEblkcnt64_tiPP zP stat64 st_dev# st_pad1# st_ino(# st_mode# st_nlink # st_uid # st_gid #$ st_rdev#( st_pad26#, st_size#4 st_atim #< st_mtim #D st_ctim #L st_blksize#T st_blocksG#X st_fstypeX#` st_pad4i#pz fstatat64 lstat64 stat64! fstat64AA mkdiriFw gettimeofdayinopen64openGl>./snprintf.c /var/tmp/sudo-1.8.2/compat /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./snprintf.c -W0,-xp.XAKgoyLA4WgOUAQ.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLA4WgOUAQ.;backend;raw;cd;DBG_GEN 5.3.0o__ultoaU val endp #base#octzero xdigscp sval*charunsigned longintlong__uqtoa U val endp#base#octzero xdigscp svalunsigned long longlong longxxxprintfmU#strpstrsize #allocfmt0apfmt ch#n#cp flags#ret#width#prec#signulvaluqvalbase#dprec#fieldsz#realsz#size# xdigs  buf ox str  estr blanksHzeroesX@99/DDDDDpcendp#cY__222t c4GOOp kkkkkkkkp-tendp7tӠۡۡt tkkkpAtendpKt9ke?e?et tk/xxxxxpUxendp_xbԣbԣbt x//Ϥ/Ϥ////pi|endps|/'''֥E֥E֥t |/BBBBBWWWħcccccp}endp~VȦVȦVt ħħħpendp   ++t (((44444pendpO{W{W{***t pendpt ///pendp/(((֬F֬F֬t />>>>>SSS_____pendpzRĭRĭRt pendpݮ   ''t  unsigned size_t void va_list D *C  *  *  *   ( 2 < F P Z d n x              vasprintfU#UstrZfmt ap U asprintfRU#strfmt ...ret#ap  memchr# strlen4mkstemp64#Q mkstemp64#n  rlim64_trlimit64rlim_curn#rlim_maxn#}getrlimit64## }setrlimit64## rlim_trlimitErlim_cur#rlim_max#getrlimit64#n#E nsetrlimit64##sreallocmallocfreeabortunsigned char__FILE_cnt##_ptr#_base#_flag# _file# __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#    off64_tftello64 fseeko64#A# Afsetpos64#mFfgetpos64#m FILEtmpfile64  freopen64  fopen64&  off_tftello64+S&fseeko64#y# yfsetpos64#~fgetpos64#m  freopen64   fopen646tmpfile64?./getprogname.c /var/tmp/sudo-1.8.2/compat /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./getprogname.c -W0,-xp.XAKgoyLA4WgOUQQ.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLA4WgOUQQ.;backend;raw;cd;DBG_GEN 5.3.0<charv~prognamehsetprogname`ֱUnamebasevvgetprogname,Uvv#intv strrchr4Y ( -vYvc strcmp- ^ hunsigned charunsigned __FILE _cnt-# _ptr# _base# _flag# _file# __orientation#  __ionolock#   __seekable#   __extendedfd#   __xf_nocheck#   __filler#  long longoff64_t ftello64  fseeko64-   - fsetpos64-   fgetpos64-D  FILEDtmpfile64Ovgvq freopen64O l v Ovv fopen64O  off_t ftello64  fseeko64-)   -) fsetpos64-U  . fgetpos64-w  vwv freopen64O |  Ovv fopen64O  tmpfile64Od .../include/usr/include/iso/usr/include/usr/include/sysconversation.csudo_plugin.hstdarg_iso.hstdio_impl.hstdio_iso.htypes.hresource.hPP>!P 4P IP UP \PgP tP }PP P P P P P P P P Q Q #Q 7Q S >S @SFSNS aS iS S S S S S AT +  ./usr/include/sys../include/usr/include/usr/include/isoexec.cstat_impl.htypes.hsudo.hsignal.hselect.hmissing.hstdio_impl.hstdio_iso.hstat.htime_impl.hresource.htime.hPTVTsT TTT TT T T T T T U 1U ?U FU PUVUdU rU yU U U U U U UU U U V  V V )V :VWV ^V fV V VgVV VVV V V WWW 2W FW PW\WcW jWzW |W W W WW WWuWW W X *X 9X RXmX XX X X XX X X Y Y !Y 1Y AY QY aY qYYY Y Y YY Y Z Z 7Z TZ qZ Z Z Z  [ [ ![ A[ I[ S[ X[ r[ [ [ [ [ [ [ \  \\ <\ W\ _\ i\ p\\ \ \ \\ \ \ \ ]  ]] ]  ]9] E] S] X] `] h] v] ] ] ] ] ] ]}]] ^^^ %^ -^ 7^ A^ D^ N^ T^ t^ ~^ ^ ^ ^ ^^ ^ ^ ^ _!_ 8_ @_ Q_ r_ _ _ _ _ __ _ __ ` ` ` 2` H`P` W` ``f`t` |` ` ` ` ` ` ` ` ` a  a a #a 1a};a@alNaPaVaea na xa a a aaaa aaa a  b b ;b Cb Yb nb b b b bb 7& ./usr/include/sys../include/usr/include/usr/include/isoexec_pty.cstat_impl.htypes.hsudo_plugin_int.hsudo_plugin.hselect.hsignal.hmissing.hsudo.htime.htermios.hstat.htime_impl.hstdio_impl.hstdio_iso.hresource.hbbb bbb  cc  c#c{ C{Q{ X{ `{ w{ { {{ { { { { {{ | | '| 9|| | | | | |} B} J} x} } ~ ~ ~  ~ *~ 0~ J~v~ ~ ~ ~ ~ ~ ~~ ~   < Q Y c h       " ( B D L j p    Ȁ      (|9A H _ v    ˁ      & 1 B LW d     k  H P X \ f l      ă Ѓփރ+ :D nx     „ τ ߄    &@ U n |     Ʌ Ӆ ܅   ./usr/include/sys/usr/include/usr/include/isoget_pty.cstat_impl.htypes.hresource.hstdio_impl.hstdio_iso.hstat.htime_impl.h# 06M X d u     Ć Ն      $= V h |   ./usr/include/net/usr/include/sys/usr/include/netinet/usr/include/usr/include/isonet_ifs.cif.htypes.hsocket_impl.hint_types.hin.hbyteorder.hstdio_impl.hstdio_iso.hresource.h  ȇ Ї    @ HV X c q x   ͈  # ( 4 <L ^ x É ȉ щ+ H e l u{   Ԋ ڊ  / L P Y `o}   d ./usr/include/sys/usr/include/usr/include/iso../includeload_plugins.cstat_impl.htypes.hsudo_plugin_int.hstdio_impl.hstdio_iso.hsudo_plugin.hstat.htime_impl.hresource.hË Ћ֋   ! (D}    ƌ ٌ 5 8 G ] s |   ^%Ѝ ߍ      * 6 B K U fo  Ŏ Ԏ  $ 0^   ˏ Џ ۏ    3 8R ]     Ր ܐ    ._ d o z     đ ϑ ޑ       "7B ` d r   Q  ./usr/include/sys../include/usr/include/usr/include/isoparse_args.ctypes.hlbuf.hpwd.hresource.hstdio_impl.hstdio_iso.hɒВ גޒ    *= E Lp x     ˓ ד   / ; E L W \ l x         Ĕ Ԕ        " ( 3 8 C S _ f m t |        ʕ Е ە          5 W a h r |       Ė Ж ז ޖ  ȗW d q    ɘ ՘        %7 > K X r ~     Ǚ ә    % ? Kl x    ֚  ! - J U `h m   ԛ  , A r  |y՜ ݜ       ) 6 < BQ k ~  Н ޝ  x  '. 7 CL U ^ g p ƞڞ   ' 0 9 B K T ] dz  ʟ  ~ & 2 @C] k pv}        8Y z  ݡ   @ a   Ģ   'H i  ̣    * 6  ./usr/include/sys../include/usr/include/usr/include/isosudo.cstat_impl.htypes.hsudo_plugin_int.hsudo_plugin.hsudo.hselect.hpwd.hresource.hstdarg_iso.hpriv.hstdio_impl.hstdio_iso.hstat.htime_impl.h@Fc py    ɤ Ӥ    , >a t   åߥ  ' 2 @ Z`   Φ ٦  |$9 Sm y  ǧ    * 6J S }     Шt|    # .= J ` t| \q  Ѫ   & E ` o    ë ˫ ٫    ! < O ` y | Ь֬ݬ    ; L Va t   ­ ˭ ݭ, 5|GM `is     Ю ۮ  & : T l   . _      M a {   0 J bx   в    , ]    Ƴֳ    `    ! - 4 > S     & 5 A H R g  ɶ ж      > O T\ z     ַ      A J Y `      ø      . = I P Z o     ڹ     " $ + 0 ? X g y   κ к  x   * 9 E L V k       L j     ڼ     - 9 @ J _  ½ Ƚ н       3 ] f x    ̾ Ծ  ~k~ ſ ؿ   3 8 Rc w     h(   ' 4 = @FMa w | %    * 5 P j p~       / 4B P k         &- 4 ; K P_ r   ~     ~$1 D ^ l p  f    &= PV      5 @ N `cq        5 8tw        % + @ @ N  ./usr/include/sys/usr/include/usr/include/isosudo_edit.cstat_impl.htypes.hsudo.hstat.htime_impl.htime.hstdio_impl.hstdio_iso.hresource.hPVs ;         # 6> @U\p      ! 5 R _ |     z   7 U {      ,L x         5 }      0 e z       # ( 7 a     z / Z v    ,> S k     " 2C U ] e m u }        : Vg v     4 ? P X x b x     B b m      ; C l  z    " X    2 V~qx w ./usr/include/sys../include/usr/include/iso/usr/includetgetpass.cstat_impl.htypes.hsignal.hselect.hmissing.hsignal_iso.hstat.htime_impl.hresource.hstdio_impl.hstdio_iso.h      "7 U o |       $ . 8r |           4 I ^ s        0 < G ] x x         & 9 D Uj |   {}       &9 S c }           ? N Z t          * 2 @FL S Y a i s           }  ( 0 H L S Z \ tg     }  ) 06S a p  ./usr/include/sys/usr/include/usr/include/isottysize.ctermios.htypes.hresource.hstdio_impl.hstdio_iso.h6     N X < ./usr/include/sys/usr/include/usr/include/isoutmp.cstat_impl.htypes.hutmpx.hutmp.htime.hstat.htime_impl.hstdio_impl.hstdio_iso.hresource.h`f         ( 06DM V`ck ~           09C Me n s {         % . @IPh q      # 1 D K Q  ../../gettext-runtime/intl/usr/include/iso/usr/include/sysbindtextdom.cgettextP.hgmo.hstddef_iso.htypes.hint_types.htime_iso.hwchar_iso.hstdio_impl.hstdio_iso.hresource.h`f         $ : B D LS Xviu            $ +4@ I Q `i        $6 J R X o w          * 2 8> G T^       ! 2 @ H R Z dl w      8 ../../gettext-runtime/intl/usr/include/sys/usr/include/isodgettext.cgettextP.hgmo.htypes.hint_types.hresource.htime_iso.hstddef_iso.hwchar_iso.hstdio_impl.hstdio.hstdio_iso.hC PV3k , ../../gettext-runtime/intl/usr/include/sys/usr/include/isogettext.cgettextP.hgmo.htypes.hint_types.hstdlib_iso.htime_iso.hwchar_iso.hstdio_impl.hstdio_iso.hresource.hpv 8 F ../../gettext-runtime/intl/usr/include/sys/usr/local/include/usr/include/isoloadmsgcat.cstat_impl.htypes.hgettextP.hgmo.hloadinfo.hlock.hint_types.hstat.htime_impl.hiconv.hplural-exp.htime_iso.hwchar_iso.hstdio_impl.hstdio_iso.hresource.h 3 @Fv      $ 4 @ P \ l x           , 8 H T d i           $ 0 @ E u              !q             ( 8 = m y             I U d p           % 1 @ L \ h x        1 = L X h t            ( 4 D P ` l |            , < H X d t           $ 4 @ P \ l q          , < H X ]           ( 4 9Q\c py         P X         8 < D V h s        # 2 > [ h  L  ] ot      O 0  r5        U     h + 6 8VT-_ l K9        $  0  E  Q  i s       k  z      "  $  8 B  D rS X  c  h _ $   c      B        KV s      l (CDQp~  ~'C Y p     * 0kO^ m |      } 4 ? Te v  }   ?G U _  ../../gettext-runtime/intl/usr/include/sys/usr/include/isotextdomain.cgettextP.hgmo.htypes.hint_types.hstdlib_iso.htime_iso.hwchar_iso.hstdio_impl.hstdio_iso.hresource.h    ? J T it      % ../../gettext-runtime/intl/usr/include/sys/usr/local/include/usr/include/isodcigettext.cgettextP.hgmo.htypes.hint_types.hloadinfo.heval-plural.hplural-exp.hiconv.htime_iso.hwchar_iso.hstdio_impl.hstdio_iso.hresource.h3 @FL R        y4 <R x     6 <L\p          _!%$: p   )1 9 @ F L R-      v   +2 ;NZ m         4s       ) A Li p   2: G Lsbj p |       " + Un      ! MX`     ) 4  D  O  \  e  n }        !  ! ! #!" " " " 4" =" D" K" Q" ]"h"" " " " " "s""#L# ## ####$  $ $ $ H$ `$ d$zl$ $ $$ $$ $ % 1% 8%z@%% %% %%% %% & & $&D&P&d& p&& & && &&&&  ' ' 5' ;' X'p'z' '' '' ' ($( /( 4( >( i(t(( ((( ( ((( ( (( ) )5) ;) @) M) y) )) ) ) )) ) ) ) ) * -* <* B* J*U* \*q* * * * * * *+ +"+ (+ 0+6+ ?+X+ f+m+s+ +++ ++r++ ++ +, , , ,, ,%, (,1, 4,=, @, I, L,X,Rg,1m, ,, ,, , , ,, ,, - - -(- 0- 8->- P-V- i- x- - - - - - - - - -. ..0.6. . . .. . a ../../gettext-runtime/intl/usr/include/sys/usr/include/isoplural-exp.cplural-exp.hresource.htime_iso.h.../ / */ 0/9/ ^/ e/ / / / // / // / / / 0  0 0  ../../gettext-runtime/intl/usr/include/sys/usr/include/isolocalcharset.cstat_impl.htypes.hstdio_impl.hstdio_iso.hresource.hstat.htime_impl.htime_iso.h 0&0C0 P0Y0a0 m0v00 0 00 0 1 1 $1 81 @1 N1 l1t1 1 1 1 11 11 11 1 t2 |2 2 2 2 203 D3 L3 T3 \3 l3 3 3 3 3 3 3 3 34 &4 .454 @4 Q4 T4 }4 4 4 4 4 44 4444 55%5-5 65>5 N5{5 5 5{5 5 5 5 5  ../../gettext-runtime/intl/usr/include/sys/usr/include/isothreadlib.ctypes.hresource.htime_iso.h66% 6  6&6.06N6 \6q6 v6 6 6 6 } ../../gettext-runtime/intl/usr/include/sys/usr/include/isolock.clock.htypes.hint_types.hresource.htime_iso.h666 6 6 6 6 6 6 7 7 %7 07 A7 I7 T7 ^7 e7 p7v777 7 7 7 7 7 7 78 8 8 !8 0868A8 L8 ]8 p8v88 8 8 8 8 8 8 888 88 99  ../../gettext-runtime/intl/usr/include/iso/usr/include/sysrelocatable.cstddef_iso.htime_iso.hwchar_iso.hstdio_impl.hresource.hstdio.hstdio_iso.h 9&9W9j9 }9 9 99 9 9 9 9 99 :::#:3:@:F:: :::: ::; (;0;H; ^; h;n; x ../../gettext-runtime/intl/usr/include/sys/usr/include/isolangprefs.cresource.htime_iso.h;;; Y ../../gettext-runtime/intl/usr/include/sys/usr/include/isolocalename.cgettextP.hgmo.htypes.hint_types.hresource.htime_iso.hstddef_iso.hwchar_iso.hstdio_impl.hstdio.hstdio_iso.h;;; ;;; << <  <&<9< @<F<X< l< t< < < < < < << <<<>=== != ,= ?= G= P= X=  ../../gettext-runtime/intl/usr/include/usr/include/iso/usr/include/syslog.cstdio_impl.hstdio_iso.htypes.hint_types.hresource.htime_iso.hstdio.h`=c=*q= }= = = = = == = =t >>  >&>K>U> _> o> y> > >> > > > > > > ? ? 9? J? R?c? w? ~? ? ? ? ? ? @@ #@ 0@3@]@ {@ @ < ../../gettext-runtime/intl/usr/include/sys/usr/include/isointl-compat.cgettextP.hgmo.htypes.hint_types.hresource.htime_iso.hstddef_iso.hwchar_iso.hstdio_impl.hstdio.hstdio_iso.h@@@ @@A AA)A 0A6AMA `AfA}A AAA AAA AAB BB)B 0B6BIB 9 ../../gettext-runtime/intl/usr/include/sys/usr/include/isodcgettext.cgettextP.hgmo.htypes.hint_types.hresource.htime_iso.hstddef_iso.hwchar_iso.hstdio_impl.hstdio.hstdio_iso.hPBVBB BB0B  ../../gettext-runtime/intl/usr/include/sys/usr/include/isofinddomain.cgettextP.hgmo.hloadinfo.htypes.hint_types.hstdio_iso.htime_iso.hwchar_iso.hstdio_impl.hstdio.hresource.hBBB CC1CmC C CC C C C C D D )D ,DzBD PDaD iDzD D DD D DD7E aE iE pE {E E EE E E E E{F  F F#F 1F 7F < ../../gettext-runtime/intlhash-string.c@FFF"LFSF _F hF F F F F FxF F  ../../gettext-runtime/intl/usr/include/sys/usr/include/isolocalealias.cgettextP.hgmo.htypes.hint_types.hstdio_iso.hstdio_impl.htime_iso.hwchar_iso.hresource.hstdio.hFFG GGGIG SG ^GdG nGG GG G GG GG G H H$H /H KHVH nHsHH H H HHHI I5I=I LIZIaI xII II I I I  J3J LJ wJ J JJ JJ K K1K JK uK K KKK K K L L )L 0L HL `L LL L L L MM QM M}MM MM M2N BN MN TN_N |NN NNN N N N NN!O =O EO PO XO `O gO pOvOO ../../gettext-runtime/intl/usr/include/iso/usr/include/sysl10nflist.cstring_iso.hloadinfo.hresource.htime_iso.hOOO O O O O O{OO PPP P (P 4P  I P h  ~ É ԉ ؉~   m&-2 ; A x ./usr/include/sys/usr/include/usr/include/isomemrchr.ctypes.hstdio_impl.hstdio_iso.hPYa j      ./usr/include/sys/usr/include/usr/include/isomktemp.cstat_impl.htypes.htime.hresource.hstdio_impl.hstdio_iso.hstat.htime_impl.hъ '5   ыߋ   1:_ j w      Ό~  +~>@ Y o x |     uō ؍   !6 @av    ./usr/include/sys/usr/include/iso/usr/includesnprintf.ctypes.hstdarg_iso.hresource.hstdio_impl.hstdio_iso.h Ď ׎      & C Q Y `v     ʏ ӏ ۏ X *  DJ^    ܐ   8 \ h  ő ۑ  $ : N ` h   Ē^$ 07 IR?X _ g n      ȓ Г  / D         Ǖ ϕ      : < DM P X `   ʖ Ж ז    ~> DO T[ r        ŗ ̗      , @ T d & . 6= DO p{    ͙ ԙ ݙ š ɚ К        > G Og r ~       ̛      ɜԜ     ' E p     Ğ ͞ ֞ ݞ  ~4: C L W `  kx  Ϥ ڤ  /B /> 9 @ H V \ Ѱ !' D D J | ./usr/include/usr/include/sys/usr/include/isogetprogname.cstdio_impl.htypes.hstdio_iso.h`    ű ѱ ,   DD%.?  : ; @ ' ID I: ;  4I : ;  $> &II :  I8  I: I8 5I.? < ' D I.? < ' ID .? < ' ID  DD%.?  : ; @ ' D I: ;  4I : ;  $> &II I: . : ; @ ' D  .? < ' D  I .? < ' ID .? < ' ID  :  I8  I8  DD%. : ; @ ' ID I: ;  $> &III: .?  : ; @ ' ID   4I : ;   :  I8 D ' D  : I !I/  :  I!II .?  : ; @ ' D 4I : ; . : ;@ ' ID I: ; . : ;@ ' D .?  : ;@ ' D .?  : ;@ ' ID 4I?  : ;  .? < ' D  I!.? < ' ID "#5I$.? < ' ID % I8 &'.<  DD%. : ; @ ' ID I: ;  $> &III: I  !I/ 4I : ;  .?  : ; @ ' D   :  I8 ' ID I' D ' ID  :  : . : ;@ ' D .?  : ;@ ' ID I: ; 4I : ; D .?  : ;@ ' D . : ;@ ' ID I !I/  . : ;@ ' D  .? < ' ID !.? < ' D "#.? < ' D $5I%.? < ' ID & I8 '(.<  DD%. : ; @ ' ID I: ;  $> &III: .?  : ; @ ' ID  4I : ;  .? < ' ID  I   :  I8  I8 .? < ' ID I !I/ .<  DD%.?  : ; @ ' ID I: ;  4I : ;  D D $> II: I  !I/  :  I8  :  : &I.? < ' ID I.? < ' D  I8 .? < ' ID .? < ' ID  DD%. : ; @ ' ID I: ;  $> &III: 4I?  : ;  4I : ;   :  I8 I8 .?  : ; @ ' ID ' ID I' D ' ID  : I !I/ I !I/.? < ' ID .? < ' D .? < ' ID .<  DD%$> &II  I8 I!I 4I : ;  I  !I/ .?  : ; @ ' ID  I: ;   4I : ; I: . : ;@ ' ID I: ; .?  : ;@ ' D ' ID I : . : ;@ ' D .? < ' D ' ID .? < ' ID 4I?  : ;  .? < ' ID  I8  DD%. : ; @ ' ID I: ;  $> &III: .?  6 : ; @ ' ID  4I : ;   :  I8 ' ID  I' D ' ID  : I !I/  : . : ;@ ' D 4I : ; . : ;@ ' ID I: ; I !I/ .?  : ;@ ' ID .?  : ;@ ' D 4I?  : ;  .? < ' ID  .? < ' D !.? < ' ID " : #( $ I8 %&.< ' DD%. : ; @ ' ID I: ;  $> &III: . : ; @ ' D  4I : ;  .?  : ; @ ' ID   I8  : I !I/I !I/ .? < ' ID I5I.? < ' D  I8 .? < ' ID .<  DD%. : ; @ ' ID I: ;  $> &III: .?  : ; @ ' ID  4I : ;  D ' D  :  I8 I !I/  :  : I !I/. : ;@ ' ID I: ; 4I : ; . : ;@ ' D .?  : ;@ ' ID 5I.? < ' ID I.? < ' D 4I?  : ;  .? < ' ID I8 !".<  DD%.?  : ; @ ' D I: ;  4I : ;  $> I :  I8 .? < ' ID  I &I I:  I8 .? < ' ID  DD%. : ; @ ' ID I: ;  $> &III: . : ; @ ' D  4I : ;  I  !I/  :  I8 I !I/ : I.?  : ; @ ' ID .? < ' ID I.? < ' D .? < ' ID  I8 .? < ' ID  DD%. : ; @ ID I: ;  $> I: . : ; @ ' D 4I : ;    &I I I  !I/  :  I8 .?  : ;@ ' ID I: ; .? < ' ID  :  : .? < ' ID I7I' D  I8 .? < ' D .? < ' D  DD%. : ; @ ID I: ;  $> I: .?  : ; @ ' ID I&I .? < ' ID  I  :  I8 I !I/  :  : 7I.? < ' ID ' D  I8  DD%. : ; @ ID I: ;  $> I: .?  : ; @ ' ID I&I .? < ' ID  I  :  I8 I !I/  :  : 7I.? < ' ID ' D  I8 .? < ' ID  DD%. : ; @ ' ID I: ;  $> &III: . : ; @ ID  . : ;@ ' ID  I: ; .?  : ;@ ' D  4I : ; I !I/  :  I8  :  :  : ( .? < ' D I.? < ' ID 4I?  : ; .? < ' ID 7I' D  I8 .? < ' D  .? < ID !".< # DD%. : ; @ ID I: ;  $> I: .?  : ; @ ' ID 4I : ;  I &I .? < ' ID  :  I8 I !I/  :  : .? < ' ID I7I' D  I8 .? < ' D .? < ' D  DD%. : ; @ ID I: ;  $> I:  :  I8 I  !I/  :   :  4I : ; . : ;@ ' ID I: ; &II  4I?  : ; . : ; @ ' ID  4I : ;   : ( .?  : ;@ ' ID .? < ' D I I' ID .? < ' ID  .? < ' D !.? < ' ID "7I#' D $ I8 %.? < ' D &.? < ID '.? < ' ID  DD%$>  : (  :  I8 II  !I/  :  &I 4I : ;  4I?  : ;  .?  : ; @ ' D I: ;   .? < ' ID II: 7I.? < ' ID  DD%. : ; @ ' ID I: ;  $> &III: 4I : ;    :  I8 I8 I !I/ .?  : ;@ ' ID 4I : ; .? < ' ID I.? < ' D 7I.? < ' ID .<  DD%. : ; @ ' ID I: ;  $> I.?  : ; @ ' ID 4I : ;    I: .? < ' ID  I  :  I8 &I.? < ' D 7I' ID .? < ' ID  DD%.?  : ;@ ' ID I: ; 4I : ; $> I:  :  I8 I  !I/  :   :  I &I.? < ' ID I7I.? < ' ID ' D .? < ' ID  DD%. : ; @ ' D I: ;   4I : ;  $> &II .?  : ; @ ' D  .?  : ;@ ' ID  I: ; 4I : ; I: .? < ' D I7I :  I8 .? < ' ID  I8 .? < ' ID  DD%.?  : ; @ ' ID $> &II.? < ' ID II:  :  I8 7I .? < ' ID  DD%. : ; @ ID I: ;  $> I: .?  : ;@ ' ID I: ; &I I 4I : ; .?  : ;@ ' ID  :  I8 I !I/  :  : .? < ' ID I7I.? < ' ID ' D  I8  DD%. : ; @ ' D I: ;  $> I :  I8  I8 I: &I 4I : ;   :  I !I/  : .?  : ; @ ' D .? < ' ID .? < ' ID I7I' D .? < ' D .? < ' D .<  DD%. : ; @ ID I: ;  $> I: .?  : ; @ ' ID I&I .? < ' ID  I  :  I8 I !I/  :  : 7I.? < ' ID ' D  I8  DD%. : ; @ ID I: ;  $> I: .?  : ; @ ' ID I&I .? < ' ID  I  :  I8 I !I/  :  : 7I.? < ' ID ' D  I8  DD%. : ; @ ID I: ;  $> I: .?  : ; @ ' ID 4I : ;    &I I I  !I/  :  I8  :  : .? < ' D I.? < ' ID .? < ' ID 7I' D  I8 .? < ' D  DD%.?  : ; @ ' ID I: ;  4I : ;  $> &II DD%. : ; @ ID I: ;  $> I:  :  I8 I  !I/  :   :  4I : ;  .?  : ; @ ' ID  &II . : ; @ ' ID 4I : ;  I8 I !I/. : ;@ ' ID I: ; .? < ' ID I.? < ' ID 7I' D ' ID .? < ' D  .? < ' D !".<  DD%. : ; @ ' ID I: ;  4I : ;   $> I: &I I . : ; @ ' D  .?  : ; @ ' ID  4I : ; I !I/  :  I8 .?  : ;@ ' ID I: ; . : ;@ ' ID .? < ' ID I.? < ' D 7I.? < ' ID  DD%. : ; @ ' ID I: ;  $> I&I.?  : ; @ ' ID 4I : ;  .? < ' ID  I I:  :  I8 7I.? < ' D  DD%. : ; @ ID I: ;  $> I: .?  : ; @ ' ID I&I .? < ' ID  I  :  I8 I !I/  :  : 7I.? < ' ID ' D  I8  DD%. : ; @ ID I: ;  $> I: .?  : ; @ ' ID I&I .? < ' ID  I  :  I8 I !I/  :  : 7I.? < ' ID ' D  I8  DD%. : ; @ ID I: ;  $> I: .?  : ; @ ' ID I&I .? < ' ID  I  :  I8 I !I/  :  : 7I.? < ' ID ' D  I8 .? < ' ID  DD%. : ; @ ' ID I: ;  4I : ;  $>  : ( I I  !I/  :  I8  : &II: I!I4I : ; I !I/. : ;@ ' D I: ;  : .?  : ;@ ' ID  D D .?  : ; @ ' D .? < ' ID I7I.? < ' D  DD%.?  : ; @ ' ID I: ;  4I : ;  $> II: &I  .?  : ; @ ' D  .? < ' ID  I .? < ' D  :  I8  I8 .? < ' ID  DD%.?  : ; @ ' ID I: ;  $> &II.? < ' ID I I:  :  I8 I8 .? < ' ID  DD%. : ; @ ' ID I: ;  $> &III: .?  : ; @ ' ID  4I : ;   :  I8 I  !I/  I8 I !I/.? < ' ID I.? < ' ID .<  DD%.?  : ; @ ' ID I: ;  4I : ;  $> I&II: .? < ' ID  I  :  I8 I8 .? < ' ID  DD%.?  : ; @ ' D I: ;  $> &II' ID I  :  I8 ' ID 4I : ;  I: . : ; @ ' D  .? < ' ID .? < ' D  I8 .? < ' ID  DD%.?  : ; @ ' ID I: ;  4I : ;  $> I  I8 .?  : ; @ ' D  .? < ' ID  I I:  : &I I8 .? < ' ID  DD%.?  : ; @ ' ID I: ;  4I : ;  $> I: &II .? < ' ID  I  :  I8 I8 .? < ' ID  DD%.?  : ; @ ' ID I: ;   4I : ;  $> I: I  !I/  :  I8 4I?  : ;  &II.? < ' ID I I8 .? < ' ID  DD%.?  : ; @ ' D I: ;  4I : ;  $> 5III:  :  I8 I8 .? < ' ID  I&I.? < ' ID  DD%.?  : ; @ ' ID I: ;  4I : ;  $> &III:  :  I8 .? < ' ID .? < ' D .? < ' ID I I8  DD%.?  : ; @ ' ID I: ;  4I : ;  $> I&II:  :  I8 I8 .? < ' ID  I.? < ' ID  DD%. : ; @ ' ID I: ;  $> &III: . : ; @ ' D  4I : ;   :  I8 .?  : ; @ ' ID  .? < ' ID I.? < ' ID .? < ' D  I8 I !I/ .<  DD%. : ; @ ' ID I: ;  4I : ;  $> I4I : ;   I: &I I  !I/ .?  : ;@ ' ID I: ; .? < ' ID I :  I8 .? < ' D .? < ' D  I8 .? < ' ID  DD%$> &II4I : ;  .?  : ; @ ' D I: ;  .?  : ; @ ' ID .? < ' ID  I  :  I8 I8 I: .? < ' ID 5! sudo_conversation+_sudo_printf<! errorFerrorxwarningwarningx Gmy_execvesave_signals;restore_signalsssudo_execve handler pipe_nonblock signal_pipe6 /cleanuppty_setup suspend_parent terminate_childbperform_ionfork_ptypty_closefd_set_iobseMget_ptywget_net_ifs4ىanoexec_pathsudo_load_plugins:qnparse_argsDusagetgetpass_flags 2Gmainexec_setup)run_commandsudo_debugpolicy_pluginio_plugins user_details1runas_groupLrunas_userflist_userdebug_levelsudo_edit<uOtgetpassztty_presentaskpass_pathh4 get_ttysize-%Outmp_loginutmp_logoutM;5libintl_bindtextdomainlibintl_bind_textdomain_codeset#MUPlibintl_dgettext" jNlibintl_gettext7~1>_nl_load_domain _nl_msg_cat_cntr%G1Vlibintl_textdomainx3 libintl_nl_default_default_domainO libintl_nl_current_default_domain libintl_nl_default_dirname _nl_state_lock6 libintl_dcigettext_nl_find_msg_ libintl_nl_domain_bindingsUUt libintl_gettext_germanic_plurallibintl_gettext_extract_plural!Klocale_charset(Slibintl_thread_in_use1# libintl_recursive_lock_init_multithreadedlibintl_recursive_lock_lock_multithreadedNlibintl_recursive_lock_unlock_multithreadedlibintl_recursive_lock_destroy_multithreadedlibintl_once_singlethreadedE>4libintl_set_relocation_prefixHlibintl_relocate3C _nl_language_preferences_defaultIV_nl_locale_name_thread_unsafe_nl_locale_name_threadP_nl_locale_name_posix_nl_locale_name_environU_nl_locale_name_default_nl_locale_name'`+_nl_log_untranslatedgv)Zgettextdgettextdcgettextvngettextdngettextqdcngettext textdomainNbindtextdomainbind_textdomain_codeset$Slibintl_dcgettext"V_nl_find_domain&libintl_hash_string#<_nl_expand_alias?W _nl_make_l10nflist(_nl_normalize_codeset#-d_nl_explode_name%+Vlibintl_dcngettext$/ Slibintl_dngettext#> Plibintl_ngettextD&5 libintl_gettextparseYlibintl_gettext_free_expG jemallocemalloc2)ereallocierealloc3estrdup'estrndupeasprintf1evasprintfefreeRnatobool7oYtouchlock_file#sudo_parselnpjtfmt_stringcrhlbuf_initlbuf_destroylbuf_append_quotedlbuf_append8lbuf_printQ)htq_pop0list2tqlist_appendtq_appendptq_remove! rsudo_setgroupsw~ hterm_restoreterm_noechoterm_rawterm_cbreakLterm_copyterm_killterm_erasewtzero_bytesy-ygetgrouplistrnmemrchr'mkstempsmkdtemp)Kvasprintf_asprintf.setprognamegetprogname! sudo_conv_messagesudo_conv_replyva_list__FILEFILEoff64_tssize_toff_tsize_tMrlim64_t\rlimit64rlim_trlimitt! 8va_listrlim64_trlimit64Drlim_tQrlimit__FILEoff64_tFILE<off_t .mode_t;dev_tuid_tgid_tcommand_detailsGcommand_statussigset_t sigaction]sigaction_topid_t{signal_statefd_set fd_set$ sigforward ssize_to sigforward_list(off64_tWoff_t,__FILEFILEino_tnlink_ttime_ttimespecLtimestruc_t^blksize_tnblkcnt_tstatino64_tblkcnt64_tstat64rlim64_t,rlimit64rlim_trlimitK suseconds_t] timeval6 /6mode_tCdev_t,uid_tgeneric_plugin=sudo_conv_messagesudo_conv_replysudo_conv_tsudo_printf_tpolicy_pluginEio_pluginio_plugin_1_0| plugin_container' A sigset_t= z sigaction sigaction_t*pid_tio_bufferfd_set'fd_set9command_status+gid_tcommand_detailstime_tsuseconds_ttimevalwinsizeW ino_tc nlink_t off_t timespec timestruc_t blksize_t blkcnt_t!stat"ino64_t#off64_t+#blkcnt64_t^#stat64%ssize_t(size_t)__FILEc+FILE-rlim64_t-rlimit64'.rlim_t4.rlimit0e4mode_tAdev_tsize_tuid_toff64_tssize_toff_tUrlim64_tdrlimit64rlim_trlimit __FILE FILE ino_t nlink_t+ gid_tH time_tU timespec timestruc_t blksize_t blkcnt_t statino64_tblkcnt64_t stat64wDcaddr_t}sa_family_tsockaddr,uint_t9ifr_ppaflagsuint32_tifr_dnld_reqsifr_fddi_stats%ifr_netmapents{ifr_fddi_gen_structifreq;eifconfin_port_tuint8_tuint16_t6kin_addrsockaddr_insize_tC off64_tk ssize_tS off_tI __FILEFILErlim64_trlimit64rlim_trlimitى>mode_tKdev_tCplugin_infoplugin_info_list__FILEFILE)generic_pluginlsudo_conv_messagesudo_conv_replysudo_conv_t?sudo_printf_tpolicy_plugino io_plugin io_plugin_1_0 plugin_container@ plugin_container_list ino_t nlink_t uid_t gid_t off_t time_t timespecF timestruc_tX blksize_th blkcnt_t statvoff64_tssize_t|size_trlim64_trlimit64:rlim_tGrlimitOino64_tnblkcnt64_tstat64qsudo_settingssize_tlbufD uid_tP gid_t\ passwd~ off64_t ssize_t off_t rlim64_t rlimit64rlim_t%rlimit__FILEtFILEb 2.mode_t;dev_t(generic_pluginksudo_conv_messagesudo_conv_replysudo_conv_t>sudo_printf_tpolicy_pluginnio_pluginio_plugin_1_0 plugin_containerG uid_tS gid_t command_details " sigset_t< user_detailssize_tpasswdrlim_trlimitcommand_statuskva_listplugin_container_listupriv_op"off64_t:"ssize_t"#off_t'__FILEF)FILE+rlim64_t+rlimit64,ino_t,nlink_t -time_t-timespecJ-timestruc_t\-blksize_tl-blkcnt_t-stat}/ino64_t/blkcnt64_t/stat64`8mode_tEdev_tuid_tgid_tcommand_details ssize_trino_t~nlink_toff_ttime_ttimespectimestruc_tblksize_tblkcnt_tFstatg suseconds_ty timevalC off64_tHsize_t __FILEFILEDrlim64_tSrlimit64rlim_trlimittino64_tblkcnt64_tstat64u6mode_tCdev_tosigset_tsigactionNsigaction_txpid_t4size_tAssize_tsig_atomic_tV ino_tb nlink_tp uid_t| gid_t off_t time_t timespec timestruc_t blksize_t blkcnt_tB stat"ino64_tAoff64_tOblkcnt64_tstat64rlim64_trlimit64Rrlim_t_rlimit!__FILEFILEh4 Mwinsizeoff64_t&ssize_t"off_trlim64_trlimit64rlim_t*rlimit__FILEFILE%.mode_t;dev_tpid_texit_status5time_tBsuseconds_tTtimevalutmpxbsudo_utmp_tsize_tino_tnlink_tuid_tgid_toff_ttimespec timestruc_t- blksize_t= blkcnt_tn statN ino64_tm off64_t{ blkcnt64_t stat64Tssize_ts__FILEFILErlim64_trlimit640rlim_t=rlimit;Hnls_uint32bindingsize_t;int32_t[uint16_t{uint8_t9 ] uint32_tl upad64_t 5 _pthread_mutex pthread_mutex_t ( _pthread_condw pthread_cond_t _pthread_rwlock! _pthread_rwlockattr _pthread_mutexattr_pthread_condattr=pthread_tt_oncetmwint_tP__FILEoff64_t&FILEoff_trlim64_trlimit64rlim_trlimitMU?nls_uint32 int32_t+uint16_tKuint8_tY5uint32_tDupad64_t _pthread_mutex|pthread_mutex_t_pthread_condOpthread_cond_td_pthread_rwlock_pthread_rwlockattrn _pthread_mutexattr _pthread_condattr pthread_tL _once rlim64_t rlimit64z rlim_t rlimitAtm"size_twint_t __FILE@off64_tFILEzoff_t j=nls_uint32int32_t uint16_t)uint8_t7uint32_t"vupad64_t_pthread_mutexZpthread_mutex_t_pthread_cond-pthread_cond_tB_pthread_rwlock_pthread_rwlockattrL _pthread_mutexattrw _pthread_condattr pthread_t* _once size_t tm wint_t__FILEFoff64_tFILEoff_trlim64_t rlimit64rlim_trlimit~1mode_tdev_tnls_uint32( loaded_l10nfile binding uint16_t* uint8_t8 uint32_toupad64_t~_pthread_mutexSpthread_mutex_tigl_recursive_lock_tsize_tino_tnlink_tuid_tgid_t,off_t8time_tEtimespecutimestruc_tblksize_tblkcnt_tstatmo_file_header4string_descsysdep_string_desclibiconv_tconverted_domainIint32_th_pthread_condpthread_cond_t)_pthread_rwlockpthread_rwlock_texpression_operator+expressionVloaded_domainsysdep_segmentusegment_pairsysdep_string}_pthread_rwlockattr_pthread_mutexattr_pthread_condattrpthread_t_onceD tmw!wint_t!__FILE#off64_tu$FILEA&caddr_t'ssize_t*rlim64_t*rlimit64+rlim_t,+rlimit.ino64_t.blkcnt64_t.stat64G1Enls_uint32 int32_t)uint16_tIuint8_tW3uint32_tBupad64_t _pthread_mutexzpthread_mutex_t_pthread_condMpthread_cond_tb_pthread_rwlock_pthread_rwlockattrl _pthread_mutexattr _pthread_condattr pthread_tJ _once size_t tm wint_t3__FILEfoff64_t FILEoff_trrlim64_trlimit64 rlim_trlimitx3Enls_uint32]int32_t}uint16_tuint8_tcuint32_tupad64_t__pthread_mutexpthread_mutex_tR_pthread_condpthread_cond_t_pthread_rwlockpthread_rwlock_tloaded_l10nfile size_t* N known_translation_t expression_operator expressionbinding~string_descsysdep_string_desc0libiconv_tFconverted_domainloaded_domainXtransmem_block_tc"_pthread_rwlockattr"_pthread_mutexattr$_pthread_condattr%pthread_t%_once*&tm]'wint_t'__FILE)off64_tc*FILE*off_t-ssize_tQ/uid_tm/gid_tk1rlim64_tz1rlimit642rlim_t2rlimitUt expression_operatorBexpressionparse_argsrlim64_trlimit64rlim_trlimitatm7mode_tdev_tsize_t5__FILEFILEoff64_t# ssize_t off_to rlim64_t~ rlimit64 rlim_t rlimitino_tnlink_tuid_tgid_ttime_ttimespec@timestruc_tRblksize_tbblkcnt_tstatino64_tblkcnt64_tstat64tme(pthread_trlim64_trlimit64.rlim_t;rlimit_pthread_attrtm1# uint16_tuint8_tuint32_tupad64_t#_pthread_mutexpthread_mutex_tIgl_recursive_lock_tu_pthread_mutexattrpthread_mutexattr_t"_onceKpthread_once_tint32_t v _pthread_cond pthread_cond_t _pthread_rwlockb _pthread_rwlockattr _pthread_condattrFpthread_trlim64_trlimit64qrlim_t~rlimit8tm>4bsize_tNtmwint_t__FILE@ rlim64_tO rlimit64 rlim_t rlimit off64_t FILEDoff_tECrlim64_trlimit64Jrlim_tWrlimittmIEnls_uint32int32_t9uint16_tYuint8_tgCuint32_tRupad64_t_pthread_mutexpthread_mutex_t _pthread_cond] pthread_cond_tr _pthread_rwlock _pthread_rwlockattr| _pthread_mutexattr _pthread_condattr#pthread_tZ_oncerlim64_trlimit64rlim_trlimitTtmYsize_twint_tD__FILEwoff64_tFILEoff_t`x__FILETFILEuint16_tuint8_tuint32_t-upad64_t<_pthread_mutexpthread_mutex_tint32_t w _pthread_cond pthread_cond_t _pthread_rwlockp _pthread_rwlockattr _pthread_mutexattr _pthread_condattrpthread_t_onceQsize_trlim64_t'rlimit64rlim_trlimitxtmoff64_toff_tgv)Inls_uint32w int32_t uint16_t uint8_t } uint32_t  upad64_t y _pthread_mutex pthread_mutex_t l _pthread_cond pthread_cond_t _pthread_rwlocke_pthread_rwlockattr_pthread_mutexattr_pthread_condattrpthread_t_onceMrlim64_t\rlimit64rlim_trlimittmsize_tDwint_ty__FILEoff64_tOFILEoff_tBnls_uint32Mint32_tmuint16_tuint8_tSwuint32_tupad64_tO_pthread_mutexpthread_mutex_tB_pthread_condpthread_cond_t_pthread_rwlock; _pthread_rwlockattr _pthread_mutexattr _pthread_condattrW pthread_t _once# rlim64_t2 rlimit64 rlim_t rlimittmdsize_twint_tO__FILEoff64_t%FILEoff_tEnls_uint32Uloaded_l10nfilebindinguint32_tuint16_tuint8_tsuint32_tupad64_t o_pthread_mutexpthread_mutex_t b _pthread_cond pthread_cond_t _pthread_rwlock pthread_rwlock_t1 _pthread_rwlockattr _pthread_mutexattr_pthread_condattrMpthread_t_oncesize_ttm8wint_tm__FILEGoff64_tossize_tWoff_trlim64_trlimit64erlim_trrlimit#FILE<Hnls_uint32kuint16_tuint8_tQuuint32_tupad64_tM_pthread_mutexpthread_mutex_talias_map[size_t __FILE FILEu int32_t _pthread_cond@ pthread_cond_tU _pthread_rwlock_pthread_rwlockattr__pthread_mutexattr_pthread_condattrpthread_t=_oncetmwint_tOrlim64_t^rlimit64rlim_trlimit9off64_tcoff_tdW size_txloaded_l10nfile rlim64_t rlimit644 rlim_tA rlimit. tmE-yrlim64_trlimit64rlim_trlimittm+Enls_uint32yint32_tuint16_tuint8_tuint32_tupad64_t{_pthread_mutexpthread_mutex_tn_pthread_condpthread_cond_t_pthread_rwlockg _pthread_rwlockattr _pthread_mutexattr _pthread_condattr pthread_t _onceO rlim64_t^ rlimit64 rlim_t rlimittmsize_tFwint_t{__FILEoff64_tQFILEoff_t/ Bnls_uint32]int32_t}uint16_tuint8_tcuint32_tupad64_t__pthread_mutexpthread_mutex_tR_pthread_condpthread_cond_t_pthread_rwlockK _pthread_rwlockattr _pthread_mutexattr _pthread_condattrg pthread_t _once3 rlim64_tB rlimit64 rlim_t rlimittmtsize_t*wint_t___FILEoff64_t5FILEoff_t> ?nls_uint32:int32_tZuint16_tzuint8_t@duint32_tsupad64_t<_pthread_mutexpthread_mutex_t/_pthread_cond~pthread_cond_t_pthread_rwlock( _pthread_rwlockattr _pthread_mutexattr _pthread_condattrD pthread_t{ _once size_t tm/wint_td__FILEoff64_t:FILEoff_tLrlim64_t[rlimit64rlim_trlimit&5}expression_operatoriexpressionuyytype_uint8yytype_int8Q YYSTYPE YYSTYPE yytype_int16size_t*yyalloc&rlim64_t5rlimit64rlim_trlimittmG size_t#va_listrlim64_trlimit64rlim_trlimit__FILEoff64_t) FILE off_thRCrlim64_tRrlimit64rlim_trlimit__FILEoff64_t)FILEoff_toYmode_tdev_tktime_txsuseconds_ttimeval__FILEFILEsize_tino_tnlink_tuid_tgid_toff_ttimespec6timestruc_tHblksize_tXblkcnt_tstati ino64_t off64_t blkcnt64_t stat64 ssize_tspj5size_trlim64_trlimit64rlim_trlimitV__FILEDoff64_tFILEoff_trlbufva_listooff64_tssize_toff_t size_t rlim64_t rlimit64E rlim_tR rlimit __FILEk FILE)list_protolist_head_proto0rlim64_t?rlimit64rlim_trlimit__FILEnoff64_tFILEoff_t~ gid_tqoff64_tssize_toff_t$rlim64_t3rlimit64rlim_trlimith__FILEFILE~ xtcflag_tcc_ttermiosrlim64_t rlimit64rlim_trlimit1__FILEoff64_tFILE^off_tCwsize_t*__FILEoff64_tFILEWoff_t|y-lgid_tgrouprlim64_trlimit64)rlim_t6rlimit__FILEoff64_tvFILE off_tCrsize_t__FILE off64_tFILERoff_tKmode_tdev_tXtime_tesuseconds_twtimevaloff64_tssize_toff_tpid_tBrlim64_tQrlimit64rlim_trlimit__FILE FILE ino_t nlink_t uid_t gid_t timespec timestruc_tblksize_tblkcnt_tHstat(ino64_tGblkcnt64_tzstat64Ksize_tva_listnrlim64_t}rlimit64rlim_trlimit __FILEoff64_tFILE+off_t8__FILEoff64_tDFILEoff_t! Z_warninga mknodfork_cmnd^ handle_signals forward_signals| schedule_signal6 /mknodLlog_ttyinP log_stdin log_ttyout] log_stdout log_stderrk check_foreground6io_buf_newdeliver_signaljsend_statushandle_sigchldSexec_monitor:flush_outputexec_pty;sync_ttysize sigwinchNsafe_closeemknod+ىmknod|sudo_read_confBqusage_errusage_outpusage_exclhelpv 2mknod1 fix_fds fill_group_list get_user_groupsget_user_info6command_info_to_detailsedisable_coredumpsdisable_executepolicy_openlpolicy_closepolicy_show_versionpolicy_checkpolicy_listopolicy_validatepolicy_invalidatepolicy_init_sessionFiolog_open9iolog_closeiolog_show_version(mknodQswitch_user?umknod}sudo_askpassgetlnOhandlerF%mknodGutmp_setidutmp_settimeutmp_fill.;SWAPYset_binding_valuesMU SWAP jSWAP>~1mknodSWAPget_sysdep_segment_valueG1SWAPx3SWAPtranscmp plural_eval}plural_lookupMcategory_to_nameguess_category_valueget_output_charsetstpcpyBmempcpy0mknodget_charset_aliases$ dummy_thread_func->4set_this_relocation_prefixISWAP@`print_escaped:_nl_log_untranslated_lockedgv)SWAP SWAPSWAPT<SWAPrread_alias_file extend_alias_table/ alias_compareWW argz_count__argz_stringify__Yargz_next__pop stpcpy$-_nl_find_language+SWAP/  SWAP>  SWAP&5new_expnew_exp_0new_exp_1hnew_exp_2new_exp_3 yydestruct__gettextlexV__gettexterroroYnmknodrDlbuf_printlnKlmknodseed_randomget_randommktemp_internal4Kp__ultoa2__uqtoaxxxprintfB saved_signalssaved_signals sigfwd_list6 /hio_fds}pipelinettymodeiobufsttyblockchild_pgrpchildppgrptty_initialized foreground8slavenameىpil2q%sudo_settingsRsudo_settings 2ycorelimit=uaskpassbufbufpasssigno~1lockx3tree_locklockfreememfreemem_sizeoutput_charset_cache:output_charset_cachedenable_secureroot"Ut hplvarplone"charset_aliases$testedresult1# efresh_onceV>4ocurr_prefix_lencurr_prefixorig_prefix_lenorig_prefix=`last_logfilenamelast_logfile'lock.lock _nl_loaded_domains<locklocale_alias_pathaliasfile maxmap nmap map string_space_max string_space_act string_space&5yytranslateyytranslateyyr1yyr1Fyyr2kyyr2yydefactyydefact yydefgoto3yydefgoto`yypactyypactyypgotoyypgoto yytable, yytableW yycheck yycheck yystos yystosoY{buf-~ changedotermterminitialized$Kblankszeroesprogname.interp.SUNW_cap.hash.dynsym.dynstr.SUNW_version.rel.got.rel.data.rel.bss.rel.plt.text.init.fini.rodata.rodata1.dynamic.bssf.picdata.symtab.strtab.annotate.comment.debug_info.debug_line.debug_abbrev.debug_pubnames.debug_typenames.debug_funcnames.debug_varnames.debug_loc.shstrtab o    !"'')o>>7 B??@ B??J B ? ?(S BH?H?8 WDD \OOcbh44nPPv;PDllllNppl3 o.,5;C7y CW c)@j.3x=F ̾"- 7070701000296fe000081ed0000000000000000000000014e816e1100020258000000b500010002ffffffffffffffff0000001e00000000root/usr/local/bin/sudoreplayELF$44 ("!44ol< /usr/lib/ld.so.1  !"%&'()*,-./023458:;<=>@DFHJMNOPRSTUWXYZ\]`acdeilmopqrtvwxz|}#$+1679?ABCEGIKLQV[^_bfghjknsuy{~ T#p + 3 $9V _ dpru nhf#$@#"Ⱥ"!,#5.!;`!Kp!RnP$ts v *o  !P! #5 0#$* 6!BHdTj@ t}k  $ `!`s< \!"u " `%{ q ̺$/Hf8#?ZbĹ}!P#P"ĸ@q 0$ȹ0!@p #n 0H  +p"2"<n E!L !c(eR m z#`$-#wh n !# t!$k:  "!#)$?@$ IjQ$]#n "tzP5! 4 p "@k: :  ^ 0  8@!$ws u!u #!$"9P AI`F S!^z4fHk-   !@t 0"Hro d w? p#$%0X DX^l"tȜ zlV,x@"`#u  # &|A"H,MHn0#x8$  "k  ` `"$p$" m .XAKgoyLK4WgOUsY.OtherTableyylenstrlenereallocctime.XAKgoyLK4WgOUsY.yyDayNumber_xmknod_exiteasprintf.XAKgoyLK4WgOUsY.yyYear__fpstartyysindex.XAKgoyLK4WgOUsY.yyDayOrdinalfputs__rem64lstat64.XAKgoyLK4WgOUsY.yyHaveRelatoi.XAKgoyLC4WgO0bR.changed.XAKgoyLK4WgOUsY.yyHaveZonesetlocalevfprintfyyvsplibintl_gettextstrtod.XAKgoyLK4WgOUsY.yyMeridianfgetsterm_restoresetprogname__iobstrtok__1cG__CrunMdo_exit_code6F_v_yydebugstrtolgetprogname.XBKgoyLK4WgOUsY.Convert.DaysInMonth.XAKgoyLK4WgOEtY.session_diryyvs_DYNAMICmemchryystacksizesigemptysetyyssp.XAKgoyLK4WgOUsY.yyRelMonthyylhslocaltime_environwarningx_startyychar_GLOBAL_OFFSET_TABLE_.XAKgoyLK4WgOUsY.yyTimezonefflushefree_edatayytablefopen64isattyterm_rawregerror_fini__fsrestrndup.XAKgoyLC4WgO0bR.otermyyrindexgetpid.XAKgoyLK4WgOUsY.yyHaveDayyycheck.XAKgoyLK4WgOEtY.stack_topsnprintf_lib_version__fsr_init_valueclosedirterm_eraseyysslimwrite__longdouble_usedestrduptcsetattr.XAKgoyLK4WgOEtY.node_stacklibintl_textdomainerealloc3emalloc__xtolnanosleepemalloc2fcloselibintl_bindtextdomainyyerrflag__ctypeterm_kill__urem64yynerrsgetlinestrchr.XAKgoyLK4WgOEtY.io_fds.XAKgoyLK4WgOEtY.io_fnames.XAKgoyLK4WgOUsY.yyDSTmodestrerror__div64errorxyylvalregexecerrno_etextopendir.XAKgoyLC4WgO0bR.termtcgetattryydgotosearch_exprlibintl_dgettextfcntlyyvalget_date.XAKgoyLK4WgOUsY.yyDayatexitstrcspnyyparse___Argv.XAKgoyLK4WgOUsY.yyRelSecondsabortstrncmp.XBKgoyLA4WgOUAQ.xxxprintf.blanksgetoptstrftimeterm_copy_get_exit_frame_monitortoloweroptargevasprintflocaleconv.XAKgoyLK4WgOUsY.yyHaveTimeyydefred.XBKgoyLA4WgOUAQ.xxxprintf.zeroescleanupmemsetoptind_PROCEDURE_LINKAGE_TABLE_strlcatterm_noechogzgets.XAKgoyLK4WgOUsY.yyInputzero_bytesstrtoul__flsbuf.XAKgoyLK4WgOUsY.TimezoneTable.XAKgoyLA4WgOUQQ.prognamereplay_filterregcomp_init.XAKgoyLK4WgOUsY.yyMonthyygindex.XAKgoyLK4WgOUsY.MonthDayTable.XAKgoyLK4WgOUsY.UnitsTable.XAKgoyLK4WgOUsY.yyHourgzreadterm_cbreakstrlcpy.XAKgoyLK4WgOUsY.yyHaveDate.XAKgoyLK4WgOUsY.yyMinutesmemcpy_end.XBKgoyLI4WgOUCX.get_timestr.bufreaddir64__environ_lock.XAKgoyLK4WgOUsY.yySeconds.XAKgoyLK4WgOUsY.MilitaryTablegmtimesigactionwarningstrcmpselectyyssstrrchr__udiv64gzopen64get_timestrlibrt.so.1SUNW_0.7libc.so.1SUNW_1.19SUNWprivate_1.1libz.solibintl.so.8libiconv.so.2/usr/local/lib  (=  ' y1 qN ; "^n  | 0 $z(,04s8<@DH[LSPT!X\`dHhilp;tZx7|,<wNWXm>}eĶpȶ̶жԶKضܶ$aD_v@QDrT``lptj*5%%h%h%h%h% h %h(%h0%h8p%h@`% hHP%$hP@%(hX0%,h` %0hh%4hp%8hx%<h%@h%Dh%Hh%Lh%Ph%Th%Xhp%\h`%`hP%dh@%hh0%lh %ph%th%xh%|h%h%h%h%h %h(%h0%h8p%h@`%hHP%hP@%hX0%h` %hh%hp%hx%h%h%Ķh%ȶh%̶h%жh%Զh%ضhp%ܶh`%hP%h@%h0%h %h%h%h%h%h%h%h%@h %Dh(%Th0%`h8p%lh@`%phHP%thP@%hX0%h` %hhjjRt+h!tt PEu TRU RPw"PjURQt`|$уȸ D$td$у`tƒ 3fd$f T$tfd$f L$l$YZ]UEEÐUE |E ;E|E;~E9#E|E~ EUȍ+ȋE ȍ+ȋEEE|E ~ EE uEUȍ+ȋE ȍ+ȋEE}E|E ~ EbE uEEP ȍ+ȋE ȍ+ȋEEEw$p'EÐ&&<&U]E}E؉EEE}EE(Ed}ElEE=} EdEEƒu0EdƒuEƒu E EEE=|8E=.E|&E E |EHEEU ;~E/E HEEE;E}EUUE@EE;E|EE;E}2EƒUmEE@EE;E|΋] ‹ÉE`ȍ+ȋEEjjE PEPEPEPEE} ECEEEE$tE$u!jEP@ t E-EEEE]ÐU]ujEPy@@‰EjE PZ@@‰Eu +uM+M  ƉEE]uÐU]EEjEPEEU+PB‹؋ ‹‹UЉUE  E EE HEEi: U‰EEPEPEE]ÐU]E uEjEP5EE@lEX؋E ÉEE EE @E]MUEjjjj@PBPAPEPC PEP(PEPEE]ÐUEEE@tGE@tE@jP]UBE@EE@uhEPCthEP-uE^hEPthEPuEjEPu E;jEPu!E@.uEUBEEE@Et9Ej@PEP_ uE@E@Em6E@PEPuE@E@E6E EE@s0EE@tHE@PEPuE@E@EE EE@uhEPbuE EE@tHE@PEP(uE@E@EVE EE@ujEPHEEE@suuUUBEE@tEE@PEPuE@E@EE EE@uUUsB EE@tFE@PEP6uE@E@EdE EE@uE@utE@t[EE@tGE@PEPuE@E@EE EE@uEEEEEE@t?E@.tE@UBE@E E@EE@EE@uUBEtW0EE@tCE@PEPuE@E@EE EE@uEEÐU@d@t&d@dd@uڡd@EEuE-t E+QE-t E+uOE-u EEEԉEءd@dd@u* EdEСd@dE@EEEԋEԉE̋Ẽt\UMЍDУdEġd@dE@EEEȋEȉEEudHdE؃} أE؃t E E EԉEEEEdEСd@dE@EEEԋEԉE̋Ẽu E.ucUE;sEUBE@EdEġd@dE@EEEȋEȉEEuE.tUBdHdjEP4EE(tdEԡd@dE@ElEdEԡd@dE@EEu EE6E(u E@EE)uEHE܋E܃EÐU]u}E@kEE @kEEU p+rEE+Ed؋Ed++EdEd+؋M+M +ЍM+Ћ++э‰E]EU @+BЋȍ+ȋEU @+Bȍ+ȋEU @+BEE]u}ÐUDEdjEP'jEP)EEt?UBEЋBEԋBE؋B E܋BEBEBEBEB EEЉEjEPqEEuEEt EPEP/<E EE@ t EEEEE|-E=Q#EE;EuEEEEEjE;r lt=EfBPjh|tjPRtjP8EEEEEE EstjPtjPEEEEEE EE]>>(>8>H>DX>>>8?t??@,@H@d@@@@$ATAAAAABDE+E EE]hWYWXXUEEEEEuE@uUE PBPEUE @PBP}EqUE @PBPUEIUE @ PBP-E!UE @PBPEUE @PBPEUE jjjj@PBP EEtAEt9UjjhPBPEPPhj Eu EEEEEE U@;BE-E U@;BEE@Hw$^E@t!Eu E EEEE@EEEEEô\\p]]H] ]$^<^\UPEEEEEEEhxEPEEu%jh\!ЋEPRr EPEPEPg t2EPEPEPN tEPEPEP5 uhEP*ЋM jEPE؋E؃uIj:EPE܋E܃u+U܈BE@E܋E܉Ej:EPE܋E܃uU܈BE@E܋E܉Ej:EPE܋E܃uU܈BE@E܋E܉Ej:EPiE܋E܃uU܈BE@E܋E܉EhEPЋM EEhEPЋM EEԡ$tEP$PKujP/UDE܋E@9E@E@/ E@E@E@/E@E@E@/u|E@ lupE@ oudE@ guXE@ uLE@EE@EE@EE@EE@EE@EEEE"jEPЋMܸD E܉EjEP? ЋEPEPEPEPRh菾E@tEPhrEPEPẖ] EjEP蘾EEEÐUjEP謿EEu jh\ЋEPRj hEP\Py ``@=rNEPhjh `/\`@``\jEPEEE@.u+E@tE@.uE@u:``ڋEjjPhP \P\\~`؋\;r(NEjjPEPhj^dP\PHu4|%=u"jjEPEPE P\Pe`\XdP\Pu1|%=@ujjEPEPE P\PjEP荽EEtjEP落EEÐU EE Ph$uEt=EEjEPEP襼 t jhAЋEPRjP jjEPEPEPPEEÐU(]EE jPEEEEUER ӋEPEEEt EEE܋UjEPjjEPBPlEEtjEPEPI EEuqEtEN>EME @5E X5E @ E XE<} t tjEP)]ÐU,E䡌Ej EPEP蛻 EEv EUPE@EE@t E@EE@uj EPEP6 E"uE=tLE=tBE|:E=0E@.t,jE PٷPE PEPط t?EEXE@.u EjE P荷E؋EE؉EࡨE졬EE@tFE@0EEuE]E ]웋E@EE@uE@EEXE@t E@EE@uj EPEP譹 E"u EuEUPE EEU ]Et @E 0Ejh/U2PSEPJ Et @E 0EjhT2PSEP Et jjf]ÐU]jh蛶1PS誶jjjhojP褸jj]UjjEt脸ЋEPR舸UEEEPE Pj jjjEP苴ÐUEEEPE Pje jjijEPKÐUE EEPEPj% UE EEPEPj UE}0h@P買E t5hh訷h@P芷EPE Ph@蕷 Et UUBEEE]ÐU]ZUwCڍEEEPE PEP( EEu!(0PRPjEEE]ÐU]ZUBڋEPE PEP>( EEu!(0PR蝰Pj2EEE]ÐU]ZUBڋEtjEP<]U]ZUGBڋH@t^EE t ETETE EELPEPEP$ t EH@EE]ÐU ]ZUAڋH@u!LPEPt EgXLj$PRۭ XP ⷋXP XPhTEP^ uH@EEE]ÐU0]ZUԸ@ڋH@u%LPEPt ELj$PEP EEE%?E؋E܃E܋E%EE t EEEPhTEPu uH@E EE]ÐU ]ZU?ڋH@u%LPEPt EXLj$PR' XBXBXP XP XP XP XPhTEPv u>XP\PXP`PH@E EE]ÐU0]ZUԸ>ڍEPEPt E,EPhTE Pά t EEE]U ]EEEE EE;EsUBE@EE;Er]U ]ZU>EE@EE @EEtEuXEEtEPEPzEjEPuEEEEu EEEMMU+UEPRQǫ u E~jEPɧEEtEE@ tE@ tCEEEEPEP辧EEu E'EE[EUPE UPEEE]U]ZU<ڋE E,E s EHEE0UBEE0E=v2EHEE +ƒ0UBE +E EEEHEE ƒ0UBE EEuEHEE0UBEEEuًEtE@0tEHE0UB]EHEEUUBEEEu/蛥%E } g吃 tԋEEE]ÐU]uZU;ڋEEhP@;UE r&UjEPEPEPEPREj;lEU ;AQsHEHElP@PRUE PRȋtp@‹ƋUBEExP@;UE s`EHElP@PRUE PR蒨ȋtp@‹ƋUBlP@PRUE PRmEU EU EUEHElP@PRUEPRFȋtp@‹ƋUBlP@PRUEPR!EU􋓈ME;Bu;JuEHEUM #P#Htp@ƋUBEU EU ME ;Bu;JuEtE@0tEHE0UBEHEMU #H#PыEUBEU EU ME ;Bu;Ju-迢%E }  吃 tԋEEE]uÐU84Z<+8EP@ỦEЋEEEEEtUE jE P藢hEhPhuEhd5E@hE thE Hd DždEEE@EEt)E%t!E@EE@EEtE%uߋE+EEEPE쉅`EE\`;\ h;dr EEh;dE EE UE PBP@XXu(jhP>E@EEEh+PX‰hXE HdEXP`@hB`@`h@h`;\sh;dEEEEEuE@EEEEEEۋE@EE@E Eۃu EԐEEȐE@EE`EE`\\|듋E؉EEE뀐+ErE@EE`E@E`\\*u?E@EEEE} DžX EXXEEE0 w3UUMЍDЉEE@EE@EE0 v͋E}Dž` E``EE E{EUUMЍDЉEE@EE@EE0 v͋EEGE@E%EEE EpEE@UBEEEE6EEE tPEP@ỦEЋEEE̋U;AQ}E̋UẺUи-EEt1E@\EE\LLPwE@t1E@XEEXDDH.E@TEET@@HHPPEԋEԃ}E؉EԸ-EE E t!UME@PHEE^EtE@UPEE;E@tEU@fPEEE@UPEEEEE t EP@ỦEЋEEEt1E@\EE\LLPwE@t1E@XEEXDDH.E@TEET@@HHPPEE'E@EԋEEEEE߃EExE@EE쉅\EE\XXu EE܃|IEPjEP蒞 \\t\+EEE;E~E܉EE܉EjEPEE~EEE t EP@ỦEЋEEEt1E@\EE\LLPwE@t1E@XEEXDDH.E@TEET@@HHPPEE CE EE t EP@ỦEЋEEEt1E@\EE\LLPwE@t1E@XEEXDDH.E@TEET@@HHPPEEEt5E tM̋E;Bu;Ju Eԃt EEEۋE܉EċEă| E%EEEE tIM̋E;Bu;JuE܃t&UEPREPEPŰEPRE7EԃuE܃t$UjEPREPEPEPEE+EEEupEEUBEEJuD}v0}K-}.*} #띐*+&눃-."qNЃ dQWȸ bny`% &p ', )~ 0* * + 0a 04 8 y`nH( j` j e -Tj 8gP E`fO Q@T W`U bp\E m^f zPc ynl y`n  yHn\$Դ($<(d(%y`n\yȺn\y`n\y`n\@y !z )2;DȪMЪVت_h}m rx~̵Եy`n8\y`nX\ Tp   $   pru h*4f=[#a$i@#q"Ⱥ!#!`!p!P$s %v o 2 !7P!> \d#k5 w0$ !T@ !k  *$ 18N`j!q`s< w\~!"u " `%{ q ̺$Hf#Ĺ!!*7HP#Q\dP"jĸ|@q 0$ȹ0!@p n 0H  p""n ! !( R  ##`$#,4wh  !<#C[ vt!$k: "#$@$r j$# "P5!  'p> E"@k: M:  U] {0  8@!$ws ! \#$"P `F !  4f' HI k- Q X _  y ! @t 0"ro d w? p# $ 0X1  X  " Ȝ  l7 V@ ,_ { x @" `# u #  | " , H 0# + F 8 e l "k  v ` } `"  $ p$ " m sudoreplaycrti.scrt1.ocrt1.s__get_exit_frame_monitor_ptr__do_exit_code_ptrfsr.strap_tablevalues-Xa.cDdata.dataBbss.bssDrodata.rodatagetdate.cyyerrorToSecondsConvertDSTcorrectRelativeDateRelativeMonthLookupWordyylexdifftmyygrowstacksudoreplay.c_xmknodhelpusagelist_sessionsopen_io_fdparse_timingcheck_inputdelayparse_exprmatch_exprlist_sessionfind_sessionserror.c_warningtimestr.c.L26.L31Dpicdata.picdataalloc.c.L24.L25.L34.L55.L64.L92.L125.L134term.czero_bytes.cgetline.csnprintf.c__ultoa__uqtoa.L_cseg0.L_cseg1.L_cseg2.L_cseg3.L_cseg4.L_cseg5.L_cseg6xxxprintf.L237.L603.L614.L680getprogname.ccrtn.s_END__START_.XAKgoyLK4WgOUsY.OtherTableyylenstrlenereallocctime.XAKgoyLK4WgOUsY.yyDayNumber_exiteasprintf.XAKgoyLK4WgOUsY.yyYear__fpstartyysindex.XAKgoyLK4WgOUsY.yyDayOrdinalfputs__rem64lstat64.XAKgoyLK4WgOUsY.yyHaveRelatoi.XAKgoyLC4WgO0bR.changed.XAKgoyLK4WgOUsY.yyHaveZonesetlocalevfprintfyyvsplibintl_gettextstrtod.XAKgoyLK4WgOUsY.yyMeridianfgetsterm_restoresetprogname__iobstrtok__1cG__CrunMdo_exit_code6F_v_yydebugstrtolgetprogname.XBKgoyLK4WgOUsY.Convert.DaysInMonth.XAKgoyLK4WgOEtY.session_diryyvs_DYNAMICmemchryystacksizesigemptysetyyssp.XAKgoyLK4WgOUsY.yyRelMonthyylhslocaltime_environwarningx_startyychar_GLOBAL_OFFSET_TABLE_.XAKgoyLK4WgOUsY.yyTimezonefflushefree_edatayytablefopen64isattyterm_rawregerror_fini__fsrestrndup.XAKgoyLC4WgO0bR.otermyyrindexgetpid.XAKgoyLK4WgOUsY.yyHaveDayyycheck.XAKgoyLK4WgOEtY.stack_topsnprintf_lib_version__fsr_init_valueclosedirterm_eraseyysslimwrite__longdouble_usedestrduptcsetattr.XAKgoyLK4WgOEtY.node_stacklibintl_textdomainerealloc3emalloc__xtolnanosleepemalloc2fcloselibintl_bindtextdomainyyerrflag__ctypeterm_kill__urem64yynerrsgetlinestrchr.XAKgoyLK4WgOEtY.io_fds.XAKgoyLK4WgOEtY.io_fnames.XAKgoyLK4WgOUsY.yyDSTmodestrerror__div64errorxyylvalregexecerrno_etextopendir.XAKgoyLC4WgO0bR.termtcgetattryydgotosearch_exprlibintl_dgettextfcntlyyvalget_date.XAKgoyLK4WgOUsY.yyDayatexitstrcspnyyparse___Argv.XAKgoyLK4WgOUsY.yyRelSecondsabortstrncmp.XBKgoyLA4WgOUAQ.xxxprintf.blanksgetoptstrftimeterm_copy_get_exit_frame_monitortoloweroptargevasprintflocaleconv.XAKgoyLK4WgOUsY.yyHaveTimeyydefred.XBKgoyLA4WgOUAQ.xxxprintf.zeroescleanupmemsetoptind_PROCEDURE_LINKAGE_TABLE_strlcatterm_noechogzgets.XAKgoyLK4WgOUsY.yyInputzero_bytesstrtoul__flsbuf.XAKgoyLK4WgOUsY.TimezoneTable.XAKgoyLA4WgOUQQ.prognamereplay_filterregcomp_init.XAKgoyLK4WgOUsY.yyMonthyygindex.XAKgoyLK4WgOUsY.MonthDayTable.XAKgoyLK4WgOUsY.UnitsTable.XAKgoyLK4WgOUsY.yyHourgzreadterm_cbreakstrlcpy.XAKgoyLK4WgOUsY.yyHaveDate.XAKgoyLK4WgOUsY.yyMinutesmemcpy_end.XBKgoyLI4WgOUCX.get_timestr.bufreaddir64__environ_lock.XAKgoyLK4WgOUsY.yySeconds.XAKgoyLK4WgOUsY.MilitaryTablegmtimesigactionstrcmpselectyyssstrrchr__udiv64gzopen64get_timestranotate anotate0 ,($$i%anotateh d`g'p'p'&t'&x'<&DWGWG>[G>_G(>cG8>gGH>kGDoGX>sG>wG>{G8?Gt?G?G@G,@GH@Gd@G@G@G@G$AGTAGAGAGAGAGBGDGJulian?i@_DSTMODEDSTonDSToffDSTmaybe DSTMODE0  DSTcorrecti).*UStartfFuturef StartDayjFutureDaykRelativeDatex0**U StarttDayOrdinalt DayNumberttm ynowz tm$ tm_sec# tm_min# tm_hour# tm_mday# tm_mon# tm_year# tm_wday# tm_yday# tm_isdst#  RelativeMonth*+U8 StartRelMonth tm MonthYearLookupWord+0U buffpqtp iabbrev yylex0!4UZ cp buffZ  Count sign k difftm?04J5U  a= b= ay@byAdaysBget_dateTP5q8U pRtm Ugmt Ugmtbuf UStartVtodWnowXtimezoneYC yygrowstack8:U- newsizeinewss- newvsh  Z Number# Meridian# 2 YYSTYPE Z yyparse:WGU yymyynyystateC yystacksize  yyvsh  yysslim-  yyss-  yylvalZ  yyvalZ  yyvsph  yyssp-  yychar yyerrflag~( yynerrs} yydebug|yyRelSecondscyyRelMonthbyyMeridianayyYear`hyySeconds_yyMonth^lyyMinutes]|yyHour\xyyDay[pyyTimezoneZ`yyHaveZoneYyyHaveTimeXyyHaveRelWyyHaveDayVyyHaveDateUyyDayNumberTyyDayOrdinalSyyDSTmodeRtyyInputQdtolowerunsigned char unsigned __FILE _cnt# _ptr# _base# _flag# _file# __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#  long long off64_tftello64  fseeko648  8fsetpos64d = fgetpos64 d FILE tmpfile64  freopen64  fopen64  off_tftello64"Jfseeko64p  pfsetpos64 ufgetpos64 d  freopen64  fopen64-tmpfile64 @ JstrncmpyEO y size_tstrlen~  strcmpvoid memsetmkstemp64+mkstemp64Hunsigned long long Hrlim64_t rlimit64  rlim_cur^# rlim_max^# mgetrlimit64m setrlimit64 Hrlim_t rlimit 5 rlim_cur# rlim_max# getrlimit64^5 ^setrlimit64c time localtime  gmtime reallocmalloc.freeB abort../sudoreplay.c /var/tmp/sudo-1.8.2/plugins/sudoers /opt/solstudio12.2/prod/bin/cc -c -I../../include -I../.. -I. -I../.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDOERS='"/usr/local/etc/sudoers"' -DSUDOERS_UID='0' -DSUDOERS_GID='0' -DSUDOERS_MODE='0440' -DLOCALEDIR='"/usr/local/share/locale"' ./sudoreplay.c -W0,-xp.XAKgoyLK4WgOEtY.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLK4WgOEtY.;backend;raw;cd;DBG_GEN 5.3.0mknodH(HUWWk_path_mode _devintchar^funsigned longpmode_tpdev_tunsignedreplay_filtern^ session_dir^long    io_fnames  main0H2TUWWargcargv chW idxW plenW nreadyW interactiveW listonlyW id user pattern tty decimal path buf cp ep seconds to_wait speed max_wait lfile fdsw sa len nbytes nread off nwritten^^ ^ ^doubleunsigned char__FILE_cntW#_ptr#_base#_flag# _file# __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#  FILE  fd_set fds_bits#fd_set #W_handler#_sigaction&# h __sigbitsW#hsigset_t W sigaction sa_flagsW#_funcptr+#sa_mask#sa_resv#sigaction_tsize_tWssize_tdelay@TTUsecstsrtsrvalWtime_ttimespec tv_sec#tv_nsec#open_io_fdTZUUW- pathWlen 2 suffix| fdp^- void7 ? gzFile io_fd| f#gD #v? #Q parse_expr`U^\UW?  headpargv sn? newsn? or^not^type^avh _regex_ext_tD  re_nsub#re_comp? #re_cflagsW#re_erroff# re_len#re_scS #X regex_t h cmdre #tstamp#cwd#tty#user#pattern#runas_group#runas_user#expr? #ptr? #search_node next? #type^#negated^#or^#pad^#u #? match_exprbp\^UW ? heada2 loga sn? cmatchedWdrcWd\^\^\^\h^\T^\T^]^]^]^buf7 log_info2 cwd#user#runas_user#runas_group# tty#cmd#tstamp# ^J list_session^FcUWlogfilere userttyfpbufcmdcwdidbufidstrcpli bufsizecwdsizecmdsizervalW ^^ ^ find_sessionsPceUWdirre userttyd#dpsbqsdlenlenWpathbuf^^^ dd_fdW#dd_locW#dd_sizeW#dd_buf# DIR unsigned long long(ino_tlong longJoff_tunsigned short ^ dirent d_ino>#d_offW#d_reclenc#d_nameu#   pnlink_tuid_tgid_t  timestruc_t blksize_tJblkcnt_t ^`   q statst_dev#st_pad1#st_ino>#st_mode#st_nlink#st_uid# st_gid#$st_rdev#(st_pad2 #,st_sizeW#4st_atim#<st_mtim#Dst_ctim#Lst_blksize0#Tst_blocks@#Xst_fstypeO#`st_pad4`#p ^list_sessions(eYfUWHWargc&argv& Mpattern&Wuser&atty'rebuf )re)^H^R^\check_inputB`fgU%WttyfdA%speedA fdsrCnreadyWDpausedWDtv<Ech^FnGsuseconds_ttimevalktv_sec#tv_usec*#parse_timingwgjUW[`bufqjdecimalq oidxq%secondsqtnbytesqulpxlydzfractzcp{ep{^[^eWusagejjUWfatalhelpjkU cleanupk=kUWsigno!7 "zero_bytes##$term_restoreW:#W#W$term_rawW[#W#W$get_timestr##W^$get_date# Q   io_fds stack_topWĹ ?   node_stackȹsearch_expr? $^#"warningE#(%^E"errorxk#W#J%^k"error#W#p%$emalloc2? ##$emalloc? #^$getline###^"setprogname*# ^*&getprogname/h$sigemptysetWm#Im$sigactionW#W#r#w$killW##W^^$libintl_bindtextdomain##^$libintl_textdomain3#^3$libintl_gettext`#8lconv0decimal_point#thousands_sep#grouping#int_curr_symbol# currency_symbol#mon_decimal_point#mon_thousands_sep#mon_grouping#positive_sign# negative_sign#$int_frac_digits^#(frac_digits^#)p_cs_precedes^#*p_sep_by_space^#+n_cs_precedes^#,n_sep_by_space^#-p_sign_posn^#.n_sign_posn^#/`&localeconv^$setlocaleC#W#^C^M$gzopen64D x#H#R$gzgets#? ##W$gzreadW#? #? #X ^$regerror#W###X ^^Wregoff_t  rm_sp#rm_ep#rm_so#rm_eo# rm_ssW#rm_esW#'$regexecW## ###WX ^$regcompW###W(ino64_tJoff64_t ^ dirent64 jd_ino#d_off#d_reclenc#d_name #j$readdir64_rW##j#o$readdir64_rW###$alphasort64W ##^ o'W'W($scandir64W`#####/$readdir64j}#$closedirW#$readdir64#$alphasort64W##^'W'W$scandir64WK####^K$opendir#p#P$getdents64W#W##^^$attropen64W###W%^$openat64W #W##W%^ $creat64W0 # #p^0 $open64WZ #5 #W%^Z ^d $attropen64W #_ #i #W%^ $openat64W #W# #W%^ $creat64W # #p^ $open64W!# #W%$fcntlW;!#W#W%$lockf64W`!#W#W#J^`!$truncate64W!#e!#J$tell64!#W7 !$pwrite64!##!##J7 $pread64 "##!##J$lseek640"#W##W$ftruncate64WT"#W#J7 T"$write"##Y"#^"$truncate64W"#"#J$tell64W"#W$read"##!#7 "$pwrite64###"##J$pread64I###!##J$lseek64Wn##W#W#W$lockf64W##W#W#Jpid_t&getpid#$ftruncate64W##W#J^#$strlcat$####^$$strlcpy1$##$#^1$$strchrZ$#6$#W^Z$$strtok$##_$^$^$$strncmpW$#$#$#^$$strlen$#$$strerror$#W^$^%$strcspn0%#%# %^0%^:%$strcmpWc%#5%#?%7 c%$memcpy? %#? #h%#$isattyW%#W$mkstemp64W%#$mkstemp64W%#^%$strtoulp&#%##W^&$strtolB&#&##W^B&$strtodk&#G&#"free&#? "exit&#W^&$atoiW&#&$ftello64&#&$fseeko64W'#&#J#WJ'$fsetpos64W-'#&#'J$fgetpos64WT'#&#-'&tmpfile64^g'^q'$freopen64'#l'#v'#^'^'$fopen64'#'#'$ftello64W'#'$fseeko64W(#&#J#W(^'($getoptWU(#W#"(#,(^U($snprintfW(###Z(%J($fsetpos64W(#&#($fgetpos64W(#&#-'^($putsW(#(^($printfW)#(%^)$fprintfWF)#&# )%^F)^P)$freopen64)#K)#U)#^)^)$fopen64)#)#)$fflushW)#&$fcloseW)#&&tmpfile64(rlim64_trlimit64>*rlim_cur)#rlim_max)# *$getrlimit64Wg*#W#>* *g*$setrlimit64W*#W#l*(rlim_trlimit*rlim_cur*#rlim_max*#*$getrlimit64W*#W#***$setrlimit64W*+#W#+W^/+$_xmknodWc+#*+#4+#p#p^c+q$lstat64W+#h+#m+^+$stat64W+#+#m+$fstat64W+#W#m+^+$fstatat64W,#W#+#m+#W^,  ,,  =, Jblkcnt64_t ^_,   p, stat64-st_dev#st_pad1,#st_ino#st_mode#st_nlink#st_uid# st_gid#$st_rdev#(st_pad2,,#,st_size#4st_atim#<st_mtim#Dst_ctim#Lst_blksize0#Tst_blocks=,#Xst_fstypeN,#`st_pad4_,#pp,$fstatat64W-#W#,#-#W^-$lstat64W-#-#-^-$stat64W.#-#-$fstat64W7.#W#-<$selectWo.#W#7.#7.#7.#<.o.$nanosleepW.#t.#y.(lstat64..)lstat(fopen64..)fopen*readdir64.)readdir( 0../../src/error.c /var/tmp/sudo-1.8.2/plugins/sudoers /opt/solstudio12.2/prod/bin/cc -c -I../../include -I../.. -I. -I../.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDOERS='"/usr/local/etc/sudoers"' -DSUDOERS_UID='0' -DSUDOERS_GID='0' -DSUDOERS_MODE='0440' -DLOCALEDIR='"/usr/local/share/locale"' ../../src/error.c -W0,-xp.XAKgoyLK4WgOUWY.Xa;g;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLK4WgOUWY.;backend;raw;cd;DBG_GEN 5.3.0!error%@kzkUiieval$}fmt$ ...$ap&intcharpxvoid va_listerrorx0kkUieval/fmt/ .../ap1pwarning;kkUOTfmt:...: ap<pOwarningxDklUfmtC...C apEp _warningMlmUiuse_errnoLfmtL apLserrnoiNp cleanup5 ip5p?p libintl_dgettextIw : Dpwgetprogname| strerrorI i mkstemp64i I mkstemp64i Iunsigned long long rlim64_trlimit64Drlim_cur#rlim_max# getrlimit64im i Dm setrlimit64i i r rlim_trlimitrlim_cur#rlim_max# getrlimit64i i  setrlimit64i0 i  exitD iunsigned charDunsigned__FILEB_cnti#_ptrU#_baseU#_flagD# _fileD# __orientationZ# __ionolockZ#  __seekableZ#  __extendedfdZ#  __xf_nocheckZ#  __fillerZ#  flong long Goff64_t ftello64T~ Bf fseeko64i ~ G iG fsetpos64i ~ G fgetpos64i ~  fFILEtmpfile64pp) freopen64Z $ . pZpd fopen64 _ if Goff_t ftello64  fseeko64i ~ G i __flsbufi i ~G fsetpos64i. ~  fgetpos64iP ~ pP fputsix U ~px vfprintfi ~ } p p freopen64 p p fopen64 tmpfile64-./timestr.c /var/tmp/sudo-1.8.2/plugins/sudoers /opt/solstudio12.2/prod/bin/cc -c -I../../include -I../.. -I. -I../.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -D_PATH_SUDOERS='"/usr/local/etc/sudoers"' -DSUDOERS_UID='0' -DSUDOERS_GID='0' -DSUDOERS_MODE='0440' -DLOCALEDIR='"/usr/local/share/locale"' -KPIC -DPIC ./timestr.c -W0,-xp.XAKgoyLI4WgOUCX.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLI4WgOUCX.;backend;raw;cd;DBG_GEN 5.3.0"get_timestr)mmUtstamp(log_year( s*buf,Htimeptrh-charlongtime_tint  tm$h tm_sec# tm_min# tm_hour# tm_mday# tm_mon# tm_year# tm_wday# tm_yday# tm_isdst#  mkstemp64  mkstemp64 unsigned long longrlim64_t rlimit64 rlim_cur# rlim_max# getrlimit64(  ( setrlimit64V  -rlim_t rlimit rlim_curV# rlim_maxV#c getrlimit64  c setrlimit64  unsigned charunsigned __FILE _cnt# _ptr# _base# _flag# _file# __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#   long longoff64_t ftello64%   fseeko64P %  P fsetpos64| % U fgetpos64 % | FILEtmpfile64 freopen64     fopen645   off_t ftello64:b 5 fseeko64 %   fsetpos64 %  fgetpos64 % | freopen64    fopen64E  tmpfile64size_tjt strftime] X ] o y localtimeh ctime  !./alloc.c /var/tmp/sudo-1.8.2/common /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./alloc.c -W0,-xp.XAKgoyLB4WgO0mQ.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLB4WgO0mQ.;backend;raw;cd;DBG_GEN 5.3.0$emallocNnnUsizeMptrOvoidunsignedsize_temalloc2_nvoU)nmemb^size^ ptr`ereallocto6pUiptrssizes erealloc3@p:qUptrnmemb sizeestrdup@qqU"srcdstlencharestrndupqarUsrcmaxlen dstleneasprintfprrU  retfmt ...len ap# intva_listevasprintfr_sU retformat #argslen  efree`ssUptr libintl_dgettext   errorx.   . vasprintf _  3 _ strlen d memcpy    mkstemp64   mkstemp64  unsigned long longrlim64_trlimit64Crlim_cur#rlim_max# getrlimit64 l  Cl setrlimit64   qrlim_trlimitrlim_cur#rlim_max# getrlimit64    setrlimit64 /   reallocO   malloci  free} unsigned char}__FILEo_cnt #_ptr#_base#_flag}# _file}# __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#  long longtoff64_t ftello64 o fseeko64   t t fsetpos64   t fgetpos64 )   FILE) tmpfile644 L V freopen644  Q [ 4   fopen644  toff_t ftello64  fseeko64   t t fsetpos64 :   fgetpos64 \   \ f freopen644  a k 4   fopen644  tmpfile644 z "./term.c /var/tmp/sudo-1.8.2/common /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./term.c -W0,-xp.XAKgoyLC4WgO0bR.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLC4WgO0bR.;backend;raw;cd;DBG_GEN 5.3.0E'term_restoreGs>>t ߗߗߗpendpߗؖؖؖt ߗpdd[[[pendp*[V/V/Vttt ppppendpfיfיft  unsigned size_t void va_list D *C  *  *  *   ( 2 < F P Z d n x              vasprintf`U#UstrZfmt ap U asprintfU#strfmt ...ret#ap  memchr# strlen4mkstemp64#Q mkstemp64#n  rlim64_trlimit64rlim_curn#rlim_maxn#}getrlimit64## }setrlimit64## rlim_trlimitErlim_cur#rlim_max#getrlimit64#n#E nsetrlimit64##sreallocmallocfreeabortunsigned char__FILE_cnt##_ptr#_base#_flag# _file# __orientation# __ionolock#  __seekable#  __extendedfd#  __xf_nocheck#  __filler#    off64_tftello64 fseeko64#A# Afsetpos64#mFfgetpos64#m FILEtmpfile64  freopen64  fopen64&  off_tftello64+S&fseeko64#y# yfsetpos64#~fgetpos64#m  freopen64   fopen646tmpfile64 ./getprogname.c /var/tmp/sudo-1.8.2/compat /opt/solstudio12.2/prod/bin/cc -c -I../include -I.. -I.. -I/usr/local/include -L/usr/local/lib -I/usr/local/include -I/usr/local/include -g -D__EXTENSIONS__ -KPIC -DPIC ./getprogname.c -W0,-xp.XAKgoyLA4WgOUQQ.Xa;g;P;R=Sun C 5.11 SunOS_i386 145355-01 2010/10/11;G=.XAKgoyLA4WgOUQQ.;backend;raw;cd;DBG_GEN 5.3.04charv~prognameXsetprognameUnamebasevvgetprogname,ŜUvv#intv strrchr4Y ( -vYvc strcmp- ^ hunsigned charunsigned __FILE _cnt-# _ptr# _base# _flag# _file# __orientation#  __ionolock#   __seekable#   __extendedfd#   __xf_nocheck#   __filler#  long longoff64_t ftello64  fseeko64-   - fsetpos64-   fgetpos64-D  FILEDtmpfile64Ovgvq freopen64O l v Ovv fopen64O  off_t ftello64  fseeko64-)   -) fsetpos64-U  . fgetpos64-w  vwv freopen64O |  Ovv fopen64O  tmpfile64O ./usr/include/sys/usr/include/iso/usr/includegetdate.cy.tab.cgetdate.ytypes.htime_iso.hstdio_impl.hstdio_iso.hstdlib_iso.hresource.h%%% &&&& 4& <& L& X& & & & & & & '  ' ' ' T' \'nk'''' ' ' ' ' ' ' ''(i( x( ( ( ( ( ( ( ) 1) X) d) m) ) ) ) ))) ) #* 0*9*?* P* * * * *** + + 7+ E+ V++ +++ + +~,;, E, T, , , ,, , , , ,, - - )- 4- H-`- k- |-w- - - - -}-. . (. @. K. \.}p.. . . . . . .}.// 2/ =/ L/}`// / / / /}//  0 $0 +0|>0I0 Q0 e0 }0 0 0}00 000 0 1?1 Q1 q1 1 11 1  2 L2 W2 _2 k2 2 2 2 3 3~[3f3 q3 3 3 3 3 3 3 3 3 3 4  4 4 4 04?4M4 [4 4<5 P5V5^5 l5 }5 55 55 5 5 66 &6 /6 @6 P6 \6 g6 o6 y6 6 6 6 6 6 6 6 6 6 6 67 (7 F7 7 7 77 7 77 8 )8 D8 M8l8 888 8 8 8 8 8 89 9 N9 V9 \9 d9 r9 9 9 9 9 9 9 9 9 : : ": 2: <: L: c: z: : : ::: : : : : : :; ; @; ;; ; ; ; < < <c< q< x< <<< < < = = (= P= k= p= = = = == = == = = > >w> > #> (> 3> 8> C> H> S> X>e> o> y> > > > > > > > > > > > 2? 8? E? R? _? l? t? ? ? ? ? ? ? ?@  @ @ @ '@ ,@ 9@ C@ H@R@ _@ d@ n@ {@ @ @ @ @@ @ @ @ @ @ @ A A A$A 1A @A OA TA aA nA }A A A A A A A A A A A A A  B B B(B 4B G HG OG .> ./usr/include/sys/usr/include/usr/include/iso../../include/usr/local/includesudoreplay.cstat_impl.htypes.hstdio_impl.hstdio_iso.hselect.hsignal.hmissing.htime_impl.hzlib.hregex.hdirent.hdirent.hstat.htime.hlocale_iso.hresource.hHH#H 0HKHYH wH HHH H I I 8I @I JI PIZI I I I I I I I JxBJ HJ MJTJ \J fJ J J J J J K K =K DK iK uK KXK L.L #L +L TL \L hLqL /M cM uM MM M 'N 0NCN bN N N}NN N  O O :O DO NOO O O  P P )P :P KP UP aP tP P P P P P P PP P Q Q ,Q =Q WQiQQQ Q Q QR 0R HR ^RmR tRR R R R RR RS %S /S 4S >S SS oS S S S S S ScSkS5T T @TFTWT \T hT T T T T T T TTU U2U UU`UiUyU U U U U U U U V  V V #V (V 0V 8V GV jV V V V V V V W W  W (W SW XW `W hW W W W W W W X X ;X HX PX XX X X X X X X X X X X Y Y Y )Y CY TY iY YY;ZJZ TZ ^Z hZ rZ {Z Z Z Z Z [ ([:[ S[ ^[ [ [[ [ [ [ [[[ [ \ "\ +\ E\ V\ p\y\\ \ \ \ \ \ \ \ \ ]  ] B] H] j] p] ] ]] ] ] ^ !^$^ 9^ <^ Q^ T^[h^'t^ ^S^/^ ^^^ _ _ +_ 3_ Q_ X_ _ __ _ _ _ ` ` ` 5` <` N` T` m` t` ` ` ` ` ` ` ` ` a  a-a 4aNa Xb bb lb vb b b b b bb bb c c &c -c;c Ac PcYcjc rc cc c c c c  d )dYd `dd d d de 4eLe ye elee e eeeee e f 3fTf `fifpfff f f f g g g %g -g 4g ~ I~ P~ X~ l~ x~ ~ ~ ~~ ~ ; D L T [ b i p w             A S z     ~Ł    " 3 > D L U \ e lu |    Ă ܂   ΃ փ ރ    + D O h }   r y           " . 6 @ H Y a h q| V ] d m p y ^ e ƈ̈ ׈   0 T ] d l t }    ~     6G ( p    ߐ Óߗ       ` ћכ    | ./usr/include/usr/include/sys/usr/include/isogetprogname.cstdio_impl.htypes.hstdio_iso.h1 J T Z u  ,  DD%$> &II !I/ 4I?  : ;  I !I/ 4I?  : ; I I:  :  I8 I!I4I : ; . : ;@ ' ID I: ; . : ;@ ID  : ( .?  : ;@ ID D D  : .?  : ;@ ' ID 4I : ;  .? < ' ID I I8 .? < ' ID .? < ' D  .? < ' D  DD%. : ; @ ' ID I: ;  $> &III: 4I?  : ;  4I : ;  I  !I/ .?  6 : ; @ ' ID  I !I/ :  I8  I8 D ' D  :  : . : ;@ ' D I: ; 4I : ; . : ;@ ' ID  <    . : ;@ ' D .?  : ;@ ' D !5I".? < ' D #I$.? < ' ID %&.? < ' ID '' ID ().< * DD%.?  : ; @ ' D I: ;  4I : ;  $> &II I: . : ; @ ' D  .? < ' D  I .? < ' ID .? < ' ID  :  I8  I8  DD%.?  : ; @ ' ID I: ;  4I : ;  $> II: I  !I/  :  I8 .? < ' ID  I&I I8 .? < ' ID .? < ' ID  DD%.?  : ; @ ' ID I: ;  4I : ;  $> II: &I  .?  : ; @ ' D  .? < ' ID  I .? < ' D  :  I8  I8 .? < ' ID  DD%.?  : ; @ ' ID I: ;   4I : ;  $> I: I  !I/  :  I8 4I?  : ;  &II.? < ' ID I I8 .? < ' ID  DD%.?  : ; @ ' D I: ;  4I : ;  $> 5III:  :  I8 I8 .? < ' ID  I&I.? < ' ID  DD%.?  : ; @ ' ID I: ;  4I : ;  $> I: I :  I8 I8 &I .? < ' ID  I.? < ' ID  DD%. : ; @ ' ID I: ;  4I : ;  $> I4I : ;   I: &I I  !I/ .?  : ;@ ' ID I: ; .? < ' ID I :  I8 .? < ' D .? < ' D  I8 .? < ' ID  DD%$> &II4I : ;  .?  : ; @ ' D I: ;  .?  : ; @ ' ID .? < ' ID  I  :  I8 I8 I: .? < ' ID O*yylhsUyylenyydefredyydgotoyysindex yyrindex7yygindexgyytableyycheck get_datem yyparse yystacksize yyvs yysslim!yyss6yylvalMyyvalcyyvspyyysspyycharyyerrflagyynerrsyydebugEO.replay_filter"maincleanupsearch_expr<?F, errorerrorxwarningYwarningxkPget_timestr\Y jemallocemalloc2)ereallocierealloc3estrdup'estrndupeasprintf1evasprintfefreewino_tWoff_tdirentnlink_tuid_tgid_ttimestruc_t0blksize_t@blkcnt_tqstat*suseconds_t<timeval`lconvregoff_t'ino64_toff64_tdirent64#pid_t)rlim64_t *rlimit64*rlim_t*rlimit=,blkcnt64_tp,stat64t?F, va_listrlim64_trlimit64rlim_trlimitf__FILEToff64_tFILEoff_tkPtime_ttmrlim64_trlimit64Vrlim_tcrlimit __FILEoff64_tFILE:off_t]size_t\Y size_t#va_listrlim64_trlimit64rlim_trlimit__FILEoff64_t) FILE off_t # characters, *not* spaces. You cannot just cut and paste! # # If you edit syslog.conf you need to send syslogd a HUP signal. # Ie: kill -HUP process_id # # Syslogd will not create new log files for you, you must first # create the file before syslogd will log to it. Eg. # 'touch /var/log/sudo' # This logs successful and failed sudo attempts to the file /var/log/auth # If your system has the authpriv syslog facility, use authpriv.debug auth.debug /var/log/auth # To log to a remote machine, use something like the following, # where "loghost" is the name of the remote machine. # If your system has the authpriv syslog facility, use authpriv.debug auth.debug @loghost 0707010002970e000081a40000000000000000000000014e816e1100000adc000000b500010002ffffffffffffffff0000002600000000root/usr/local/share/doc/sudo/HISTORYA Brief History of Sudo: The Early Years Sudo was first conceived and implemented by Bob Coggeshall and Cliff Spencer around 1980 at the Department of Computer Science at SUNY/Buffalo. It ran on a VAX-11/750 running 4.1BSD. An updated version, credited to Phil Betchel, Cliff Spencer, Gretchen Phillips, John LoVerso and Don Gworek, was posted to the net.sources Usenet newsgroup in December of 1985. Sudo at CU-Boulder In the Summer of 1986, Garth Snyder released an enhanced version of sudo. For the next 5 years, sudo was fed and watered by a handful of folks at CU-Boulder, including Bob Coggeshall, Bob Manchek, and Trent Hein. Root Group Sudo In 1991, Dave Hieb and Jeff Nieusma wrote a new version of sudo with an enhanced sudoers format under contract to a consulting firm called "The Root Group". This version was later released under the GNU public license. CU Sudo In 1994, after maintaining sudo informally within CU-Boulder for some time, Todd C. Miller made a public release of "CU sudo" (version 1.3) with bug fixes and support for more operating systems. The "CU" was added to differentiate it from the "official" version from "The Root Group". In 1995, a new parser for the sudoers file was contributed by Chris Jepeway. The new parser was a proper grammar (unlike the old one) and could work with both sudo and visudo (previously they had slightly different parsers). In 1996, Todd, who had been maintaining sudo for several years in his spare time, moved distribution of sudo from a CU-Boulder ftp site to his domain, courtesan.com. Just Plain Sudo In 1999, the "CU" prefix was dropped from the name since there had been no formal release of sudo from "The Root Group" since 1991 (the original authors now work elsewhere). As of version 1.6, Sudo no longer contains any of the original "Root Group" code and is available under an ISC-style license. In 2001, the sudo web site, ftp site and mailing lists were moved from courtesan.com to the sudo.ws domain (sudo.org was already taken). LDAP Integration In 2003, Nationwide Mutual Insurance Company contributed code written by Aaron Spangler to store the sudoers data in LDAP. These changes were incorporated into Sudo 1.6.8. New Parser In 2005, Todd rewrote the sudoers parser to better support the features that had been added in the past ten years. This new parser removes some limitations of the previous one, removes ordering constraints and adds support for including multiple sudoers files. Quest Sponsorship In 2010, Quest Software began sponsoring Sudo development by hiring Todd to work on Sudo as part of his full-time job. Present Day Sudo, in its current form, is maintained by: Todd C. Miller Todd continues to enhance sudo and fix bugs. 07070100029715000081a40000000000000000000000014e816e110000049e000000b500010002ffffffffffffffff0000002900000000root/usr/local/share/doc/sudo/sample.pam#%PAM-1.0 # Sample /etc/pam.d/sudo file for RedHat 9 / Fedora Core. # For other Linux distributions you may want to # use /etc/pam.d/sshd or /etc/pam.d/su as a guide. # # There are two basic ways to configure PAM, either via pam_stack # or by explicitly specifying the various methods to use. # # Here we use pam_stack auth required pam_stack.so service=system-auth account required pam_stack.so service=system-auth password required pam_stack.so service=system-auth session required pam_stack.so service=system-auth # # Alternately, you can specify the authentication method directly. # Here we use pam_unix for normal password authentication. #auth required pam_env.so #auth sufficient pam_unix.so #account required pam_unix.so #password required pam_cracklib.so retry=3 type= #password required pam_unix.so nullok use_authtok md5 shadow #session required pam_limits.so #session required pam_unix.so # # Another option is to use SMB for authentication. #auth required pam_env.so #auth sufficient pam_smb_auth.so #account required pam_smb_auth.so #password required pam_smb_auth.so #session required pam_limits.so 0707010002971c000081ed0000000000000000000000014e816e1100000eb6000000b500010002ffffffffffffffff0000002b00000000root/usr/local/share/doc/sudo/sudoers2ldif#!/usr/bin/env perl use strict; # # Converts a sudoers file to LDIF format in prepration for loading into # the LDAP server. # # BUGS: # Does not yet handle multiple lines with : in them # Does not yet remove quotation marks from options # Does not yet escape + at the beginning of a dn # Does not yet handle line wraps correctly # Does not yet handle multiple roles with same name (needs tiebreaker) # # CAVEATS: # Sudoers entries can have multiple RunAs entries that override former ones, # with LDAP sudoRunAs{Group,User} applies to all commands in a sudoRole my %RA; my %UA; my %HA; my %CA; my $base=$ENV{SUDOERS_BASE} or die "$0: Container SUDOERS_BASE undefined\n"; my @options=(); my $did_defaults=0; my $order = 0; # parse sudoers one line at a time while (<>){ # remove comment s/#.*//; # line continuation $_.=<> while s/\\\s*$//s; # cleanup newline chomp; # ignore blank lines next if /^\s*$/; if (/^Defaults\s+/i) { my $opt=$'; $opt=~s/\s+$//; # remove trailing whitespace push @options,$opt; } elsif (/^(\S+)\s+(.+)=\s*(.*)/) { # Aliases or Definitions my ($p1,$p2,$p3)=($1,$2,$3); $p2=~s/\s+$//; # remove trailing whitespace $p3=~s/\s+$//; # remove trailing whitespace if ($p1 eq "User_Alias") { $UA{$p2}=$p3; } elsif ($p1 eq "Runas_Alias") { $RA{$p2}=$p3; } elsif ($p1 eq "Host_Alias") { $HA{$p2}=$p3; } elsif ($p1 eq "Cmnd_Alias") { $CA{$p2}=$p3; } else { if (!$did_defaults++){ # do this once print "dn: cn=defaults,$base\n"; print "objectClass: top\n"; print "objectClass: sudoRole\n"; print "cn: defaults\n"; print "description: Default sudoOption's go here\n"; print "sudoOption: $_\n" foreach @options; printf "sudoOrder: %d\n", ++$order; print "\n"; } # Definition my @users=split /\s*,\s*/,$p1; my @hosts=split /\s*,\s*/,$p2; my @cmds= split /\s*,\s*/,$p3; @options=(); print "dn: cn=$users[0],$base\n"; print "objectClass: top\n"; print "objectClass: sudoRole\n"; print "cn: $users[0]\n"; # will clobber options print "sudoUser: $_\n" foreach expand(\%UA,@users); print "sudoHost: $_\n" foreach expand(\%HA,@hosts); foreach (@cmds) { if (s/^\(([^\)]+)\)\s*//) { my @runas = split(/:\s*/, $1); if (defined($runas[0])) { print "sudoRunAsUser: $_\n" foreach expand(\%RA, split(/,\s*/, $runas[0])); } if (defined($runas[1])) { print "sudoRunAsGroup: $_\n" foreach expand(\%RA, split(/,\s*/, $runas[1])); } } } print "sudoCommand: $_\n" foreach expand(\%CA,@cmds); print "sudoOption: $_\n" foreach @options; printf "sudoOrder: %d\n", ++$order; print "\n"; } } else { print "parse error: $_\n"; } } # # recursively expand hash elements sub expand{ my $ref=shift; my @a=(); # preen the line a little foreach (@_){ # if NOPASSWD: directive found, mark entire entry as not requiring s/NOPASSWD:\s*// && push @options,"!authenticate"; s/PASSWD:\s*// && push @options,"authenticate"; s/NOEXEC:\s*// && push @options,"noexec"; s/EXEC:\s*// && push @options,"!noexec"; s/SETENV:\s*// && push @options,"setenv"; s/NOSETENV:\s*// && push @options,"!setenv"; s/LOG_INPUT:\s*// && push @options,"log_input"; s/NOLOG_INPUT:\s*// && push @options,"!log_input"; s/LOG_OUTPUT:\s*// && push @options,"log_output"; s/NOLOG_OUTPUT:\s*// && push @options,"!log_output"; s/\w+://; # silently remove other directives s/\s+$//; # right trim } # do the expanding push @a,$ref->{$_} ? expand($ref,split /\s*,\s*/,$ref->{$_}):$_ foreach @_; @a; } 0707010002970d000081a40000000000000000000000014e816e11000b62a1000000b500010002ffffffffffffffff0000002800000000root/usr/local/share/doc/sudo/ChangeLog2011-08-17 Todd C. Miller * plugins/sudoers/po/sudoers.pot: Regen pot files [3682e51af1d0] [tip] <1.8> * Makefile.in: Fix logic inversion in pot file up to date check. [343dbbca9422] <1.8> * doc/sudo.cat, doc/sudo.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/visudo.cat, doc/visudo.man.in: regen docs [96234478bde2] <1.8> 2011-08-15 Todd C. Miller * configure, configure.in: Add caching for gettext() checks. [4039d21424c3] <1.8> * configure, configure.in: Better handling of libintl header and library mismatch. [cc9faee8e486] <1.8> 2011-08-14 Todd C. Miller * NEWS: sync [73649a44d934] <1.8> 2011-08-13 Todd C. Miller * Also check sudoers gid if sudoers is group writable. [3d345347f6ac] <1.8> * NEWS: Update for 1.8.2 final [441c22fea363] <1.8> 2011-08-12 Todd C. Miller * configure, configure.in: If dlopen is present but libtool doesn't find it, error out since it probably means that libtool doesn't support the system. [6fc7c0de4f6d] <1.8> * configure args on the command line should override builtin defaults. Disable NLS for non-Linux/Solaris unless explicitly enabled. [0ef165f892c2] <1.8> * Fix loop that calls authenticate(). If there was an error message from authenticate(), display it. [f0686011ff2e] <1.8> 2011-08-11 Todd C. Miller * configure, configure.in: Update to autoconf 2.68 and libtool 2.4 [00df5f3647e1] <1.8> * Fix typo; OPT should be OTP [31da1f989740] <1.8> * Rename libsudoers convenience library to libparsesudoers to avoid libtool confusion. [e9ae9d611dd5] <1.8> 2011-08-10 Todd C. Miller * Add Danish sudoers translation from translationproject.org [fa9cd9758249] <1.8> * Add dedicated callback function for runas_default sudoers setting that only sets runas_pw if no runas user or group was specified by the user. [3fb4b18525de] <1.8> 2011-08-09 Todd C. Miller * Update Finish, Polish, Russian and Ukrainian translations from translationproject.org. [0fcd8f6aff0a] <1.8> * Makefile.in: Go back to using a callback for runas_default to keep runas_pw in sync. This is needed to make per-entry runas_default settings work with LDAP-based sudoers. Instead of declaring it a callback in def_data.in, sudo and testsudoers poke sudo_defs_table[] which is a bit naughty, but avoids requiring stub functions in visudo and the tests. [4e8e70832f06] <1.8> 2011-08-05 Todd C. Miller * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot: Regen pot files [ca5c58c599a6] <1.8> * Makefile.in: Add check for out of date message catalogs when doing "make dist". [36414e5c762b] <1.8> 2011-08-02 Todd C. Miller * configure, configure.in: Make sure compiler supports static-libgcc before using it. [6c98e8809291] <1.8> 2011-08-01 Todd C. Miller * Link libsudo_noexec.la with LDLDFLAGS for -static-libgcc [a0a3a3fa6470] <1.8> 2011-07-30 Todd C. Miller * Add new Russian sudo translation from translationproject.org and rebuild the other translation files. [e953d7d1ca6d] <1.8> 2011-07-29 Todd C. Miller * Update Finish and Polish translations from translationproject.org [17e408d73c85] <1.8> * Go back to escaping the command args for "sudo -i" and "sudo -s" before calling the plugin. Otherwise, spaces in the command args are not treated properly. The sudoers plugin will unescape non- spaces to make matching easier. [f666191a4e80] <1.8> 2011-07-28 Todd C. Miller * Fix some potential problems found by the clang static analyzer, none serious. [c1ab4b940980] <1.8> * Updated Ukranian and Chinese (simplified) po files from translationproject.org [792a66672715] <1.8> 2011-07-27 Todd C. Miller * Updated Polish translation from translationproject.org [5f434cc04482] <1.8> * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot: Rebuild pot files [639230dbd741] <1.8> * Don't try to audit failure if the runas user does not exist. We don't have the user's command at this point so there is nothing to audit. Add a NULL check in audit_success() and audit_failure() just to be on the safe side. [2bfb96a32b00] <1.8> * Add -g to CFLAG for PIE builds. [e4c94977ca4e] <1.8> 2011-07-25 Todd C. Miller * Remove fallback to per-group lookup when matching groups in sudoers. The sudo front-end will now use getgrouplist() to get the user's list of groups if getgroups() fails or returns zero groups so we always have a list of the user's groups. For systems with mbr_check_membership() which support more that NGROUPS_MAX groups (Mac OS X), skip the call to getgroups() and use getgrouplist() so we get all the groups. [168d6d4a386b] <1.8> 2011-07-22 Todd C. Miller * Fix setgroups() fallback code on EINVAL. [dd1310945ab3] <1.8> * Fix two PERM_INITIAL cases that were still using user_gids. [d497d0d47a23] <1.8> * Add Polish sudo message catalog [1a0aa3f9f179] <1.8> * user_group is no longer used, remove it [379185a76094] <1.8> 2011-07-21 Todd C. Miller * Add Polish translation from translationproject.org [2e7cdfe4ef41] <1.8> * Add a wrapper for setgroups() that trims off extra groups and retries if setgroups() fails. Also add some missing addrefs for PERM_USER and PERM_FULL_USER. [bacb4170a510] <1.8> * configure, configure.in: Instead of keeping separate groups and gids arrays, create struct group_info and use it to store both, along with a count for each. Cache group info on a per-user basis using getgrouplist() to get the groups. We no longer need special to special case the user or list user for user_in_group() and thus no longer need to reset the groups list when listing another user. [f1d8962821a0] <1.8> * Don't rely on NULL since we don't include a header for it. [ed46286f848b] <1.8> * Fix typo [a38b8fbb0e70] <1.8> * Do not shadow global sudo_mode with a local variable in set_cmnd() [8e462ebafea4] <1.8> 2011-07-17 Todd C. Miller * bash 2.x doesd not support the -l flag and exits with an error if it is specified so use --login instead. This causes an error with bash 1.x (which uses -login instead) but this version is hopefully less used than 2.x. [73020a67b9d5] <1.8> * Add Polish translation from translationproject.org [8cac0da9ffb1] <1.8> 2011-07-13 Todd C. Miller * Make error strings translatable. [d1ff594f27b5] <1.8> * Only run configure with --with-pam-login for RHEL 5 and above. [2f1a0ff5230e] <1.8> * Fix typo in summary [1e1d7dcae9ab] <1.8> 2011-07-11 Todd C. Miller * Add missing logwrap.c [abcd28c194d2] <1.8> * Split out log file word wrap code into its own file and add unit tests. Fixes an off-by one in the word wrap when the log line length matches loglinelen. [0ae1c7aa9ef1] <1.8> 2011-07-05 Todd C. Miller * For SuSE, only use /usr/lib64 as libexec if generating 64-bit binaries. [4448fa1c639f] <1.8> * Fix build error when --without-noexec configure option is used. [f6bfd748ae45] <1.8> * configure, configure.in: Disable noexec for AIX < 5. LDR_PRELOAD is only available in AIX 5.3 and above. [9d957ae1840d] <1.8> 2011-07-03 Todd C. Miller * NEWS, doc/UPGRADE: Document group lookup change and possible side effects. [fe4b2d2701b2] <1.8> 2011-07-01 Todd C. Miller * Resolve the list of gids passed in from the sudo frontend (the result of getgroups()) to names and store both the group names and ids in the sudo_user struct. When matching groups in the sudoers file, match based on the names in the groups list first and only do a gid-based match when we absolutely have to. By matching on the group name (as it is listed in sudoers) instead of id (which we would have to resolve) we save a lot of group lookups for sudoers files with a lot of groups in them. [c10d208bd7e5] <1.8> 2011-06-29 Todd C. Miller * NEWS: Update for 1.8.2rc5 [f6a3aa2edf7a] <1.8> 2011-06-26 Todd C. Miller * Workaround for "sudo -i command" and newer versions of bash which don't go into login mode when -c is specified unless -l is too. [381e74d35006] <1.8> 2011-06-23 Todd C. Miller * Rewrite logfile word wrapping code to be more straight-forward and actually wrap at the correct place. [8a7862d6a82f] <1.8> 2011-06-22 Todd C. Miller * NEWS: Fix typo [2456ad2ad3e3] <1.8> * NEWS: Mention use_pty bug fix [f4eab5193452] <1.8> * Set use_pty=true in command details when use_pty is set in sudoers. From Ludwig Nussel [abaafc5793d9] <1.8> 2011-06-20 Todd C. Miller * Sync Chinese (simplified) PO files from translationproject.org [a4cf84dd9ddf] <1.8> 2011-06-18 Todd C. Miller * Add Danish translation from translationproject.org and add missing Basque mo files. [672b88adcc34] <1.8> * Makefile.in, configure, configure.in: No longer need to specify LINGUAS in configure, "make install-nls" now just installs all the .mo files it finds. [c226a39ece48] <1.8> 2011-06-17 Todd C. Miller * Build CONTRIBUTORS from newly-added contributors.pod [b8871dd293ff] <1.8> * Rework the wording in the leading paragraph [d8b081dedeb3] <1.8> 2011-06-16 Todd C. Miller * Add a CONTRIBUTORS file with the names of folks who have contributed code or patches to sudo since I started maintaining it (plus the original authors). [8b064e8996af] <1.8> 2011-06-13 Todd C. Miller * Preserve SHELL variable for "sudo -s". Otherwise we can end up with a situation where the SHELL variable and the actual shell being run do not match. [8f5bb61a8b76] <1.8> 2011-06-10 Todd C. Miller * configure, configure.in: Only enable Solaris project support when setproject() is present in libproject. [bf370ff3c194] <1.8> * Explicitly set mode and owner of /etc/sudoers instead of relying on "cp -p" to work in the postinstall script. On AIX 6.1 at least the postinstall script runs before the final file permissions are set. [7a4a87405349] <1.8> * Refer the user to the "Command Environment" section in description of sudo's -i option. [1a063eaf9670] <1.8> * Fix typo [442c50370c44] <1.8> * If there is no old dependency for an object file, use the MANIFEST to find its source. [d95c77ad283f] <1.8> * Remove dependency for getgrouplist.lo as we don't ship that source file. [bbede77e6256] <1.8> * Do not declare yyparse() static as the actual function generated by yacc is extern. [8e615bd15a4c] <1.8> * Makefile.in: Remove locale files in "make uninstall" [9791be90d5ac] <1.8> 2011-06-06 Todd C. Miller * configure.in: Add Basque translation and sync Finish and Ukranian translations. [64af34789164] <1.8> * NEWS: Update PAM change to reflect latest checkin. [657cddf2077a] <1.8> * configure, configure.in: FreeBSD no longer needs the main sudo binary to link with -lpam now that plug-ins are loaded with RTLD_GLOBAL. [573a6f4b29af] <1.8> * Load plugins with RTLD_GLOBAL instead of RTLD_LOCAL. This fixes problems with pam modules not having access to symbols provided by libpam on some platforms. Affects FreeBSD and SLES 10 at least. [4ec864fdba46] <1.8> * Makefile.in: Move xgettext invocation out of update-po target into update-pot [421ac1a073ea] <1.8> 2011-06-04 Todd C. Miller * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot: Regenerate .pot files for 1.8.2rc2 [d2a891e3d3dd] <1.8> * Makefile.in: Move nls targets to the top level Makefile so the paths in the pot file are saner [6c256cb77f78] <1.8> * NEWS: Update 1.8.2 news [17bd04278b04] <1.8> * Add compiled version of sudo Finish translation [ff9d20a02aa0] <1.8> * Update MANIFEST with .po and .mo files Rebuild sudoers fi and uk .mo files [60c4f3b3829c] <1.8> * configure, configure.in: Add Finish translation from translationproject.org [ade788a35521] <1.8> * The group named by exempt_group should not have a % prefix. [1f74c691c1e1] <1.8> * Fix typo; "Defaults group_plugin" not "Defaults sudo_plugin" [58d36c0e76f9] <1.8> * Fix compressed io log corruption in background mode by using _exit() instead of exit() to avoid flushing buffers twice. Improved background mode support. When not allocating a pty, the command is run in its own process group. This prevents write access to the tty. When running in a pty, stdin is not hooked up and we never read from /dev/tty, which results in similar behavior. [fe50d6a5c5b9] <1.8> 2011-05-31 Todd C. Miller * Clean up regress files Generate proper dependencies for regress objs in compat [264196584549] <1.8> * Add missing dependency for check_fill.o. [c41f4e6ff078] <1.8> 2011-05-30 Todd C. Miller * INSTALL, configure, configure.in: Add support for --enable-nls[=location] [0ea8e7bd1739] <1.8> 2011-05-28 Todd C. Miller * Include gettext.h [fe8bab6403c6] <1.8> * Quiet gcc warnings. [aa16d09710a7] <1.8> * configure, configure.in: Don't install .mo files if gettext was not found. [c6b233e829aa] <1.8> 2011-05-27 Todd C. Miller * Always allocate a pty when running a command in the background but call setsid() after forking to make sure we don't end up with a controlling tty. [77c6b2923714] <1.8> * Add missing space between command name and the first command line argument. [d0a36b9c0f38] <1.8> * Quiet a compiler warning on some platforms. [654e76cf0574] <1.8> * README file that directs people to translationproject.org [5545e9a5ae37] <1.8> * Sync translations with TP [b054ce577022] <1.8> * Makefile.in: Add 'sync-po' target to top-level Makefile to rsync the po files from translationproject.org. [87a5011b0410] <1.8> * install nls files from install target [a3feba9ef323] <1.8> * Makefile.in: Include .mo files in sudo binary packags. [bc3ee7e7fb44] <1.8> * configure, configure.in: Add simplified chinese translation [c22e6842c766] <1.8> 2011-05-26 Todd C. Miller * configure, configure.in: Add ukranian translation [0bb9e6437f0f] <1.8> * refer to siglist.c, not ./siglist.c since not all makes will treat foo and ./foo the same. [909051ff6061] <1.8> * Set def_preserve_groups before searching for the command when the -P flag is specified. [08e9378f50e4] <1.8> * Makefile.in: Add dependency for siglist.lo in compat. This is a generated file so "make depend" needs to depend on it. [e6c0daf36af0] <1.8> * More dependency fixes. [7fed03624689] <1.8> * Fix a few dependencies. [7cb86c721961] <1.8> * Place compiled mo files in the src dir, not the build dir. When installing compiled mo files, display a status message. [b87aa18a9968] <1.8> 2011-05-25 Todd C. Miller * Tivoli Directory Server requires that seconds be present in a timestamp, even though RFC 4517 states that they are optional. [47ebf110ea7a] <1.8> * Add missing bit of copyright [d05d28a91bc4] <1.8> * Mention cycle detection warnings [ee8231aa1aed] <1.8> * When checking aliases, also check the contents of the alias in case there are problems with an alias that is referenced inside another. Replace the self reference check with real alias cycle detection. [abcfe1bc95d8] <1.8> * Set errno to ELOOP in alias_find() if there is a cycle. Set errno to ENOENT in alias_find() and alias_remove() if the entry could not be found. [e73d169f4e9b] <1.8> * Increment alias_seqno before calls to alias_remove_recursive() to avoid false positives with the alias loop detection. Fixes spurious warnings about unused aliases when they are nested. [ac094820ef19] <1.8> * add mkdep.pl [3721e9654ba6] <1.8> * Add dependency on convenience libs to binaries [8a4db8226dfe] <1.8> * Makefile.in: mkdep.pl only works when run from the src dir [2480427a0680] <1.8> * Makefile.in: Auto-generate Makefile dependencies with a perl script. [ef5f56907d97] <1.8> 2011-05-23 Todd C. Miller * If the user specifies a runas group via sudo's -g option that matches the runas user's group in the passwd database and that group is not denied in the Runas_Spec, allow it. Thus, if user root's gid in /etc/passwd is 0, then "sudo -u root -g root id" is allow even if no groups are present in the Runas_Spec. [942e1e7c5090] <1.8> 2011-05-22 Todd C. Miller * NEWS: Mention what is new in 1.8.2 (for now) [d44b26eceee5] <1.8> * Add dependencies on gettext.h [32c61c6af852] <1.8> * Fix install-nls target with HP-UX sh when gettext is not present. [3441cece9638] <1.8> * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in: Regen for sudo 1.8.2 [9ea124b542cc] <1.8> 2011-05-20 Todd C. Miller * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot: regenerate .pot files for lbuf changes [a8a9cc62c3a5] <1.8> * configure, configure.in: Add missing "checking" message for gettext when using the cache. [4136bc346576] <1.8> * Add primitive format string support to the lbuf code to make translations simpler. [22fc74618d09] <1.8> * configure, configure.in, plugins/sudoers/po/sudoers.pot, src/po/sudo.pot: Bump version to 1.8.2 [999de1ac5b3e] <1.8> * Add message catalog template files for sudo and the sudoers module. [6afad75e7afa] <1.8> * configure.in: Add gettext.h convenience header. This is similar to but distinct from the one included with the gettext package. [5ae5a86e0d06] <1.8> * configure, configure.in: Add checks for nroff -c and -Tascii flags [580c21905280] <1.8> * configure, configure.in: Add check for HP bundled C Compiler (which cannot create shared libs) [34f616cbb0f3] <1.8> * Fix C format warnings. [f20a43a817f0] <1.8> * Add __printflike [76bf8a4bf075] <1.8> * Translate help / usage strings. [16c5b7902d4c] <1.8> * Set --msgid-bugs-address to the bugzilla url [3e3cfa7b4ceb] <1.8> * INSTALL, Makefile.in, README, configure, configure.in: Add scaffolding to update .po files and install .mo files. [a51e60b35e47] <1.8> * Minor warning/error cleanup [593144ac87ff] <1.8> * configure.in: Emulate ngettext for the non-nls case [7cdf82de4dee] <1.8> * Do not mark untranslatable strings for translation [088271ed02d0] <1.8> * Use ROOT_UID not 0. [f901fa2fdaf2] <1.8> * Minor warning/error message cleanup [b99c7ef46236] <1.8> * cannot -> "unable to" in warning/error messages can't -> "unable to" in warning/error messages [5119140fabc7] <1.8> * configure, configure.in: FreeBSD needs the main sudo executable to link with -lpam when loading dynaic pam modules for some reason. [738b6778a505] <1.8> * We don't want to translate debugging messages. [357a575c2dfd] <1.8> * configure, configure.in: Add calls to bindtextdomain() and textdomain() Currently there are two domains, one for the sudo front-end and one for the sudoers plugin and its associated utilities. [907f39439d80] <1.8> * configure, configure.in: Fix caching of libc gettext check. [e229c21f412f] <1.8> * Mark defaults descriptions for translation [65e03d1f8203] <1.8> * NEWS: Update for sudo 1.8.1p2 [89c31f2aa11e] <1.8> * Quiet compiler warning when SELinux is enabled. [51b1d7c8aa86] <1.8> * dd missing includes of libintl.h. [25662143d36d] <1.8> * Fix gettext marker. [7618856ba5de] <1.8> * Include libint.h where needed. [cc256b297b9d] <1.8> * Prepare sudoers module messages for translation. [1b7f0bbaa55f] <1.8> * Only check gid of sudoers file if it is group-readable. [f3cae943f35a] <1.8> * For AIX, keep calling authenticate() until reenter reaches 0. [e412676bac73] <1.8> * configure, configure.in: Cache the status of the initial gettext() check. [c32281768c0f] <1.8> * INSTALL, configure, configure.in: Add --disable-nls flag and improve checks for gettext. [b39674c1e538] <1.8> * configure, configure.in: When building with gcc on HP-UX, use -march=1.1 to produce portable binaries on a pa-risc2 host. Previously, the +Dportable option was used for the HP-UX C compiler but gcc always produced native binaries. [41351c23ad41] <1.8> * Prepare sudo front end messages for translation. [7807d6f74dac] <1.8> * configure, configure.in: Add initial scaffolding to support localization via gettext() [cdbbff7e6376] <1.8> 2011-05-19 Todd C. Miller * doc/license.pod: update copyright year [d681661f03cc] <1.8> * INSTALL, README: No need to include version number at the top of these files. [7e11f673f773] <1.8> * README: This is sudo 1.8.1 not 1.8.0 [4d674f230d8a] <1.8> 2011-05-04 Todd C. Miller * Don't let the fnmatch/glob macros expand the function prototype. [d449e9a8f447] <1.8> 2011-05-03 Todd C. Miller * Resolve namespace collisions on HP-UX ia64 and possibly others by adding a rpl_ prefix to our fnmatch and glob replacements and #defining rpl_foo to foo in the header files. [d23889375b21] <1.8> 2011-04-29 Todd C. Miller * Split ALL, ROLE and TYPE into their own actions. Since you can only have #ifdefs inside of braces, ROLE and TYPE use a naughty goto in the non-SELinux case. This is safe because the actions are in one big switch() statement. [0bd9b7e37ab1] <1.8> * Fix regexp for matching a CIDR-style IPv4 netmask. From Marc Espie. [8dec97b359e0] <1.8> * askpass moved from sudoers to sudo.conf in sudo 1.8.0 [1001d87d82ed] <1.8> * Remove obsolete warning about runas_default and ordering. Move syslog facility and priority lists into the section where the relevant options are described. [1286b9624021] <1.8> 2011-04-26 Todd C. Miller * Fix SIA support; we no longer have access to the real argc and argv so allocate space for a fake one and use the argv passed to the plugin with "sudo" for argv[0]. [7c11eeffb91c] <1.8> * Remove useless realloc when trying to get the buffer size right. [58128e7f4e28] <1.8> * Be explicit when setting euid to 0 before call to setreuid(0, 0) [95769a564ab8] <1.8> 2011-04-18 Todd C. Miller * NEWS: sudo 1.8.1p1 updates [de3d688b5bb1] <1.8> * configure, configure.in: Need to do checks for krb5_verify_user, krb5_init_secure_context and krb5_get_init_creds_opt_alloc regardless of whether or notkrb5-config is present. [456c4a9cd5d6] <1.8> 2011-04-15 Todd C. Miller * Work around weird AIX saved uid semantics on setuid() and setreuid(). On AIX, setuid() will only set the saved uid if the euid is already 0. [5d0a69e9d181] <1.8> 2011-04-14 Todd C. Miller * update copyright year [fa8da6d55783] <1.8> * Treat a missing includedir like an empty one and do not return an error. [5fd9fe004728] <1.8> 2011-04-12 Todd C. Miller * Fix ARCH setting in cross-compile Solaris packages. [8ce40940f6c9] <1.8> * Fix aix version setting. [02a9e25d46ba] <1.8> * Remove extraneous parens in LDAP filter when sudoers_search_filter is enabled that causes a search error. From Matthew Thomas. [b67be9b51ec6] <1.8> 2011-04-11 Todd C. Miller * Correct sizeof() to fix test failure. [a11b89fd13f9] <1.8> * "install" target should depend on "install-dirs". Fixes "make -j" problem and closes bz #487. From Chris Coleman. [06ab0558f848] <1.8> 2011-04-09 Todd C. Miller * .hgtags: Added tag SUDO_1_8_1 for changeset 0ed6281995f0 [543d41a163e9] <1.8> * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in: Regen man pages for 1.8.1 [0ed6281995f0] [SUDO_1_8_1] <1.8> 2011-04-07 Todd C. Miller * Add HAVE_RFC1938_SKEYCHALLENGE [c0d7eb39799d] <1.8> 2011-04-06 Todd C. Miller * Mention plugin loading and libgcc changes [b74929cba37c] <1.8> * Load plugins after parsing arguments and potentially printing the version. That way, an error loading or initializing a plugin doesn't break "sudo -h" or "sudo -V". [c1ecb5979cf0] <1.8> * Makefile.in: When using a sub-shell to invoke the sub-make, exec make instead of running it inside the shell to avoid an extra process. [9439f016c993] <1.8> * Stop testing unspecified behavior in fnmatch Make glob test more portable [87a91d76fbff] <1.8> * No need to add current dir to include path and having it breaks the test programs that expect to get the system glob.h and fnmatch.h [3ae7f9e7b710] <1.8> * configure, configure.in: Fix and document --with-plugindir; partially from Diego Elio Petteno [0220a0c2606f] <1.8> * Fix fnmatch and glob tests to not use hard-coded flag values in the input file. Link test programs with libreplace so we get our replacement verions as needed. [66bab80241e0] <1.8> * Makefile.in: If make in a subdir fails, fail the target in the upper level Makefile too. Adapted from a patch from Diego Elio Petteno [bc35b7813507] <1.8> * configure, configure.in: Add check for NetBSD-style 4-argument skeychallenge() as Gentoo also has this. Adapted from a patch from Diego Elio Petteno [bb6228f484b9] <1.8> * Make SUDOERS_LDFLAGS reference $(LDFLAGS) instead of using @LDFLAGS@ directly. [47e6d5fadc6d] <1.8> * configure, configure.in: Fix warnings when -without-skey, --without-opie, --without-kerb4, --without-kerb5 or --without-SecurID were specified. [1b75035dd129] <1.8> * Add plugins/sudoers/sudoers_version.h [1d470c6033ca] <1.8> * configure, configure.in: Back out the --with-libpath addition to SUDOERS_LDFLAGS since that now include LDFLAGS in the sudoers Makefile.in. Add missing settng of @LDFLAGS@ in plugin Makefile.in files. [dd237f43aa12] <1.8> 2011-04-05 Todd C. Miller * Mention %#gid support in User_List and Runas_List [37e259b9181b] <1.8> * Keep track of sudoers grammar version and report it in the -V output. [0e0b891dd8a4] <1.8> * Add multiple inclusion guard [ec6884f51ea8] <1.8> * configure, configure.in: The --with-libpath option now adds to SUDOERS_LDFLAGS as well as LDFLAGS. Remove old -static hack for HP-UX < 9. Add LTLDFLAGS and set it to -Wc,-static-libgcc if not using GNU ld so we don't have a dependency on the shared libgcc in sudoers.so. [28d03f3eb0d2] <1.8> * Fix typo; from Petr Uzel [d19b9bd92bd3] <1.8> 2011-04-01 Todd C. Miller * In dump-only mode, use "root" as the default username instead of "nobody" as the latter may not be available on all systems. [b304111616dd] <1.8> 2011-03-31 Todd C. Miller * Remove NewArgv/NewArgc, they are no longer needed. [c0a36a42a68c] <1.8> * Fix setting of user_args [529e79ea95d1] <1.8> * Add '!' token to lex tracing [aef295d428e7] <1.8> * Use group bin in test, not wheel as most systems have the bin group but the same is no longer true of wheel. [350347f09c1a] <1.8> * Avoid using pre or post increment in a parameter to a ctype(3) function as it might be a macro that causes the increment to happen more than once. [8a94ebdd53b8] <1.8> 2011-03-30 Todd C. Miller * Strip off the beta or release candidate version when building AIX packages. [00ad950764e2] <1.8> * configure, configure.in: We need to include OSDEFS in CFLAGS when doing the utmp/utmpx structure checks for glibc which only has __e_termination visible when _GNU_SOURCE is *not* defined. [1d58420a4a4a] <1.8> * getuserattr(user, ...) will fall back to the "default" entry automatically, there's no need to check "default" manually. [cefffa82967d] <1.8> * Document parser changes. [5038238f60eb] <1.8> 2011-03-29 Todd C. Miller * Makefile.in: If there is an existing sudoers file, only install if it passes a syntax check. [b1e4c9c56fe0] <1.8> * Add runasgroup support to testsudoers [30838590e9de] <1.8> * For "make check", keep going even if a test fails. [d3a72f67227e] <1.8> * More useful exit codes: * 0 - parsed OK and command matched. * 1 - parse error * 2 - command not matched * 3 - command denied [59301e0769cd] <1.8> * Document %#gid, and %:#nonunix_gid syntax. [39ee15af58e9] <1.8> * Add support to user_in_group() for treating group names that begin with a '#' as gids. [0eb19980cf5f] <1.8> * configure, configure.in: Add explicit check for struct utmpx.ut_exit.e_termination and struct utmpx.ut_exit.__e_termination. HP-UX uses the latter. Only update ut_exit if we detect one or the other. [ab5b665fc04b] <1.8> 2011-03-28 Todd C. Miller * Add back missing #include of config.h [9c82bec81018] <1.8> * Avoid a NULL deref on unrecognized escapes. Collapse %% -> % like strftime() does. [1ae630470f8a] <1.8> * Quote first argument to AC_DEFUN(); from Elan Ruusamae [c467e9e3b399] <1.8> 2011-03-27 Todd C. Miller * add new sudoers tests [05f2a0924acc] <1.8> * Add test for a newline in the middle of a string when no line continuation character is used. [24b79be5822b] <1.8> * Use bitwise AND instead of modulus to check for length being odd. A newline in the middle of a string is an error unless a line continuation character is used. [65c468599688] <1.8> * Move lexer globals initialization into init_lexer. [07a1171a1853] <1.8> * Fix a potential crash when a non-regular file is present in an includedir. Fixes bz #452 [5057cb9516e4] <1.8> * On some Linux systems, "uname -p" contains detailed processor info so check "uname -m" first and then "uname -p" if needed. Recognize PLD Linux. [56226c84a060] <1.8> 2011-03-25 Todd C. Miller * Don't need all sudoers.h here. [43b6ae5999c5] <1.8> * Print sudo version early, in case policy plugin init fails. [620f2d0ec4b1] <1.8> 2011-03-24 Todd C. Miller * Update to match change in input. [69540f84721d] <1.8> * Make an empty group or netgroup a syntax error. [4b85bddc494e] <1.8> * An empty group or netgroup should be a syntax error. [6ec796972eff] <1.8> * Check that uids work in per-user and per-runas Defaults Check that uids and gids work in a Command_Spec [68cf62353420] <1.8> * Test empty string in User_Alias and Command_Spec [017d487c31be] <1.8> * Allow a group ID in the User_Spec. [37e0bf69c8d8] <1.8> * Return an error for the empty string when a word is expected. Allow an ID for per-user or per-runas Defaults. [4c9020779582] <1.8> 2011-03-23 Todd C. Miller * Fix printing "User_Alias FOO = ALL" [97c9fd7caeb7] <1.8> 2011-03-22 Todd C. Miller * Better error message about invalid -C argument [2301e7a3835b] <1.8> * fix typo [c5acde62a309] <1.8> * Fix placement of equal size ('=') in user specification summary. [4d0ffef77ae4] <1.8> 2011-03-21 Todd C. Miller * update to match sudoers regress [0efb8dc9092a] <1.8> * Restore ability to define TRACELEXER and have trace output go to stderr. [441c8b372217] <1.8> * Restore old behavior of setting sawspace = TRUE for command line args when a line continuation character is hit to avoid causing problems for existing sudoers files. [963ded6ce070] <1.8> * Add test for line continuation and aliases [5703d11a3c46] <1.8> * Make test output line up nicely for parse vs. toke [15321ce2d7d9] <1.8> * plugins/sudoers/regress/testsudoers/test1.ok, plugins/sudoers/regress/testsudoers/test2.out, plugins/sudoers/regress/testsudoers/test2.sh, plugins/sudoers/regress/testsudoers/test3.ok, plugins/sudoers/regress/testsudoers/test3.sh, plugins/sudoers/regress/visudo/test1.ok, plugins/sudoers/regress/visudo/test1.sh: Move parser tests to sudoers directory and test the tokenizer output too. [111c1ccda334] <1.8> * If we match a rule anchored to the beginning of a line after parsing a line continuation character, return an ERROR token. It would be nicer to use REJECT instead but that substantially slows down the lexer. [67e54b14aa9d] <1.8> * Move LEXTRACE macro to toke.h so we can use it in yyerror(). [e6e04037deed] <1.8> * Make lex tracing settable at run-time in testsudoers via the -t flag. Trace output goes to stderr. Will be used by regress tests to check lexer. [a973f43cc0c2] <1.8> * Allow whitespace after the modifier in a Defaults entry. E.g. "Defaults: username set_home" [bf876c9fc5bb] <1.8> 2011-03-18 Todd C. Miller * Don't set CC when cross-compiling. [d3c33dcb02f2] <1.8> * Credit Matthew Thomas for the sudoers_search_filter changes. [2209b80664af] <1.8> * Add the .sym files to the MANIFEST [bb452b28a009] <1.8> * Update for sudo 1.8.1 beta [700d42d80e00] <1.8> * user_shell -> run_shell to avoid confusion with the user's SHELL variable. [451b96d5f97e] <1.8> * Save the controlling tty process group before suspending in pty mode. Previously, we assumed that the child pgrp == child pid (which is usually, but not always, the case). [b0841d861191] <1.8> * Add support for sudoers_search_filter setting in ldap.conf. This can be used to restrict the set of records returned by the LDAP query. [70c5f496e2b3] <1.8> 2011-03-17 Todd C. Miller * configure, configure.in: Remove the hack to disable -g in CFLAGS unless --with-devel [9459839f50ba] <1.8> * The '@' character does not normally need to be quoted. [e66c4c64e514] <1.8> * We normaly transition from GOTDEFS to STARTDEFS on whitespace, but if that whitespace is followed by a comma, we want to treat it as part of a list and not transition. [52ae2df9959d] <1.8> * Add check for whitespace when a User_List is used for a per-user Defaults entry. [44a4db95be86] <1.8> * Expand quoted name checks to cover recent fixes. [bd494b5c2bed] <1.8> * Fix parsing of double-quoted names in Defaults and Aliases which was broken in 601d97ea8792. [dfdd58c3eb3b] <1.8> * toke_util.c lives in $(srcdir) not $(devdir) [94f8f024782e] <1.8> 2011-03-16 Todd C. Miller * configure, configure.in: Update version to 1.8.1 [531a7d520f18] <1.8> * Document major changes in 1.8.1 and add upgrade notes. [116821646140] <1.8> * Be careful not to deref user_stat if it is NULL. This cannot currently happen in sudo but might in other programs using the parser. [d72a9c7151c4] <1.8> * configure will not add -O2 to CFLAGS if it is already defined to add -O2 to the CFLAGS we pass in when PIE is being used. [2c7fe82be93d] <1.8> * Warn about the dangers of log_input and mention iolog_file and iolog_dir in the log_input and log_output descriptions. [edc6aa59aa45] <1.8> * sync with git version [b121cf739c77] <1.8> * It seems that h comes after i [99ad15015f05] <1.8> * Move log_input and log_output to their proper, sorted, location. Document set_utmp and utmp_runas. [216ce8b0ae1a] <1.8> * Save the controlling tty process group before suspending so we can restore it when we resume. Fixes job control problems on Linux caused by the previous attemp to fix resuming a shell when I/O logging not enabled. [dfe038f733be] <1.8> * Fix printing of the remainder after a newline. Fixes "sudo -l" output corruption that could occur in some cases. [ab2f0a629e0d] <1.8> * Add support for ut_exit [7039ec6a73fa] <1.8> * Add support for controlling whether utmp is updated and which user is listed in the entry. [1b008ce71eab] <1.8> * Fix typo; tupple vs. tuple [67bb5c67ae3d] <1.8> * For legacy utmp, strip the /dev/ prefix before trying to determine slot since the ttys file does not include the /dev/ prefix. [8f597114381d] <1.8> * Add check for _PATH_UTMP [fe7e2456f017] <1.8> * Adapt check_iolog_path to sessid changes [3016201869b6] <1.8> * Redo utmp handling. If no getutent()/getutxent() is available, assume a ttyslot-based utmp. If getttyent() is available, use that directly instead of ttyslot() so we don't have to do the stdin dup2 dance. [817490c7c20e] <1.8> * Move utmp handling into utmp.c [e4729d9259e9] <1.8> * Update copyright years. [1065afc00233] <1.8> 2011-03-11 Todd C. Miller * Add "user_shell" boolean as a way to indicate to the plugin that the -s flag was given. [6e8bc49b7ea7] <1.8> * Move sessid out of sudo_user. [00d67d5ba894] <1.8> * Log the TSID even if it is not a simple session ID. [490cf0adae29] <1.8> * Document noexec in sample.sudo.conf and add back noexec_file section in sudoers with a note that it is deprecated. [c7a2d8d0c563] <1.8> * Fix running commands as non-root on systems where setreuid() changes the saved uid based on the effective uid we are changing to. [f3b27db56ba6] <1.8> 2011-03-10 Todd C. Miller * Move noexec path into sudo.conf now that sudo itself handles noexec. Currently can be configured in sudoers too but is now undocumented and will be removed in a future release. [9c5f64709994] <1.8> * Document "Path noexec ..." in sudo.conf. No longer document noexec_file in sudoers, it will be removed in a future release. [959fa6b5217b] <1.8> * Move noexec handling to sudo front-end where it is documented as being. [ef6cd4a40c61] <1.8> * Add support for disabling exec via solaris privileges. Includes preparation for moving noexec support out of sudoers and into front end as documented. [d9c05ba9a24f] <1.8> * Only export the symbols corresponding to the plugin structs. [cb07af1d9b39] <1.8> * Install plugins manually instead of using libtool. This works around a problem on AIX where libtool will install a .a file containing the .so file instead of the .so file itself. [1ccf5af58c05] <1.8> * Makefile.in: Move check into its own rule since some versions of make will run both targets as the default rule. [7159f37eb552] <1.8> * Update to libtool 2.2.10 [9e49773b32b7] <1.8> * In handle_signals(), restart the read() on EINTR to make sure we keep up with the signal pipe. Don't return -1 on EAGAIN, it just means we have emptied the pipe. [dc2926097b2d] <1.8> * Reorder functions to quiet a compiler warning. [5201367e5db4] <1.8> * Use the Sun Studio C compiler on Solaris if possible [b8d43b423fb9] <1.8> 2011-03-08 Todd C. Miller * Fix default setting of osversion variable. [e12905851be5] <1.8> * Make two login_class entris consistent. [0671d7b204be] <1.8> * Add support for adding a utmp entry when allocating a new pty. Requires the BSD login(3) or SYSV/POSIX getutent()/getutxent(). Currently only creates a new entry if the existing tty has a utmp entry. [40ff30099e79] <1.8> * Avoid pulling in headers we don't need on Linux For getutx?id(), call setutx?ent() first and always call endutx?ent(). [b86f7a13aae9] <1.8> * Add some more libs to SUDOERS_LIBS instead of relying on them to be pulled in by SUDO_LIBS. [bcbd16ec56c6] <1.8> * Fix return value of "sudo -l command" when command is not allowed, broken in [c7097ea22111]. The default return value is now TRUE and a bad: label is used when permission is denied. Also fixed missing permissions restoration on certain errors. On error()/errorx(), the password and group files are now closed before returning. [757c941a47b2] <1.8> 2011-03-07 Todd C. Miller * Fix passing of login class back to sudo front end. [5e649de6b7f5] <1.8> * Add --osversion flag to specify OS instead of running "pp --probeonly" [8a03943ac5e8] <1.8> * Fix expr usage w/ GNU expr [bdecfa1f54fc] <1.8> 2011-03-06 Todd C. Miller * Fix exit value for validate and list mode. [6f8b20199935] <1.8> * Fix non-interactive mode with sudoers plugin. [cf5aca4fcbcf] <1.8> 2011-03-05 Todd C. Miller * sudoreplay can now find IDs other than %{seq} and display the session. [60396b417633] <1.8> * Add support for replaying sessions when iolog_file is set to something other than %{seq}. [1cd2baa74d56] <1.8> 2011-03-04 Todd C. Miller * If we are killed by a signal, display the name of the signal that got us. [1b38c4d42282] <1.8> * Move libs used for authentication from SUDO_LIBS to SUDOERS_LIBS where they belong. [78e97a921104] <1.8> * Fix bug in skey/opie check that could cause a shell warning. [f20229a04f30] <1.8> * No longer need sudo_getepw() stubs. [795631ac7db0] <1.8> 2011-03-03 Todd C. Miller * Fix exit value of "sudo -l command" in sudoers module. [4a05d6019b3d] <1.8> 2011-03-02 Todd C. Miller * Use fgets() not fgetln() for portability. [1f2050745096] <1.8> * Don't use the beta or release candidate version as the rpm release. [a5b049477646] <1.8> 2011-02-25 Todd C. Miller * Makefile.in: Adjust ChangeLog rule now that 1.8 is branched [a994ac361e44] <1.8> * .hgtags: Added tag SUDO_1_8_0 for changeset f6530d56f6ae [99a2b3801419] <1.8> 2011-02-25 Todd C. Miller * configure, configure.in: version 1.8.0 [f6530d56f6ae] [SUDO_1_8_0] * NEWS: update sudo 1.8 section [f2ee2cf95d18] 2011-02-23 Todd C. Miller * plugins/sudoers/regress/testsudoers/test2.sh: fix test description [cd5730fa9f09] * plugins/sudoers/regress/testsudoers/test2.out, plugins/sudoers/regress/testsudoers/test2.sh, plugins/sudoers/regress/visudo/test2.out, plugins/sudoers/regress/visudo/test2.sh: convert test2 to use testsudoers [b5ec3f0b69f1] * include/sudo_plugin.h, src/sudo_plugin_int.h: Move struct generic_plugin to sudo_plugin_int.h [6f7bc629329c] * plugins/sudoers/gram.c, plugins/sudoers/gram.y, plugins/sudoers/parse.c, plugins/sudoers/parse.h, plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: Allow sudoers file name, mode, uid and gid to be specified in the settings list. The sudo front end does not currently set these but may in the future. [22f38a0fda2a] 2011-02-21 Todd C. Miller * configure, configure.in, doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in: 1.8.0rc1 [5d4588b9c057] * doc/sudo.pod, doc/sudoreplay.pod, doc/visudo.pod, plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c, src/parse_args.c, src/sudo.h: add help text to sudo, visudo and sudoreplay for the -h option [52e7378d8476] 2011-02-19 Todd C. Miller * compat/snprintf.c: avoid using "howmany" for a parameter name since it is a select- related macro [a14d565401a1] * doc/sudoers.pod: mention group_plugin when describing nonunix_group [e0d1d0034b17] * doc/sudo_plugin.pod: Add missing period at end of sentence [6744d7e9056d] * Makefile.in, doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in, plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in: add localstatedir; closes bug 471 [7aefcab85088] * config.h.in, configure, configure.in, plugins/sudoers/sudoreplay.c, src/exec.c, src/exec_pty.c: The howmany macro lives in sys/sysmacros.h on SVR5 systems Closes Bug 470 [927ed6740f32] * configure.in: add missing AH_TEMPLATE for ENV_RESET [16300010c986] * src/exec.c: SVR5 systems return non-zero for success on socketpair(), check for -1 instead. Closes Bug 469 [4d276494bf8e] 2011-02-16 Todd C. Miller * configure, configure.in: 1.8.0b5 [d611cd5d73d3] * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in: regen [85e96eeaed82] * doc/sudo.pod: Document that a sudo.conf file with no Pligin lines uses the default sudoers plugins. [88bd52da977f] * src/load_plugins.c: If sudo.conf contains no Plugin lines, use the default sudoers policy and I/O plugins. [fd8f4cb811ab] 2011-02-14 Todd C. Miller * plugins/sudoers/sudo_nss.c: Avoid printing empty "Runas and Command-specific defaults for user" line. [2dd330fe4f8b] * common/lbuf.c: Truncate the buffer at buf.len before printing in the non-wordwrap case. [901e9833f80d] * common/lbuf.c: Remove extra newline when the tty width is very small or unavailable [245c05506c0e] 2011-02-11 Todd C. Miller * plugins/sudoers/alias.c: Remove unneeded variable. [2c086d30b796] 2011-02-09 Todd C. Miller * configure, configure.in: Prefer getutxid over getutid [3f3322e9c93e] * plugins/sudoers/boottime.c: Include utmp.h / utmpx.h before missing.h as apparently including it afterwards causes a compilation problem on GNU Hurd. [a528029ae962] 2011-02-07 Todd C. Miller * plugins/sudoers/sudoreplay.c, plugins/sudoers/toke_util.c: #include "foo.h", not for local includes. [f65ec693998e] * src/parse_args.c: remove bogus XXX [9136c17d53ce] * compat/mksiglist.c: Fix typo [1a3bb7b455c9] * compat/glob.c, plugins/sudoers/ldap.c, plugins/sudoers/logging.c, plugins/sudoers/match.c: return foo not return(foo) [5c9e0647359a] 2011-02-06 Todd C. Miller * src/exec.c: Remove duplicate FD_SET of signal_pipe[0] [3096527d2215] 2011-02-05 Todd C. Miller * compat/mksiglist.c: Use "missing.h" not in generated code. [d8e09cffbe09] 2011-02-04 Todd C. Miller * aclocal.m4, configure: fix --with-iologdir=no [a89699cb5f5f] * aclocal.m4, configure: fix typo that broke --with-iologdir [91b54eb22403] 2011-02-03 Todd C. Miller * configure, configure.in, doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in: Bump version to 1.8.0b4 [e2b7f2cdc02e] * NEWS: sync [decf5a0a8a33] * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod: Attempt to clarify how users and groups interact in Runas_Specs [e6fb3a2dbd77] * plugins/sudoers/regress/visudo/test2.out, plugins/sudoers/regress/visudo/test2.sh: Add test for quoted group that contains escaped double quotes [44596c48c629] * src/exec.c, src/exec_pty.c: Pass SIGUSR1/SIGUSR2 through to the child. [c3108a827b01] * src/exec_pty.c, src/sudo_exec.h: Use special values SIGCONT_FG and SIGCONT_BG instead of SIGUSR1 and SIGUSR2 to indicate whether the child should be continued in the foreground or background. [35ca47cc6785] * src/exec.c: Use pid_t not int and check the return value of kill() [36ae7d37d7f9] 2011-02-02 Todd C. Miller * src/exec_pty.c: Remove obsolete comment [baebef4919f6] * src/exec.c: In non-pty mode before continuing the child, make it the foreground pgrp if possible. Fixes resuming a shell. [fef5b1d02ddb] * src/exec_pty.c: If we get a signal other than SIGCHLD in the monitor, pass it directly to the child. [b3ecb28163a0] * src/exec.c, src/exec_pty.c, src/sudo.h: Save signal state before changing handlers and restore before we execute the command. [faf7475dc4bf] 2011-02-01 Todd C. Miller * plugins/sudoers/iolog.c: Use a char array to map a number to a base36 digit. [257576c51f8b] * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod: Be clear about what versions of sudo support new LDAP attributes. Fix up some formatting of attribute names. Minor other tweaks. [39f65df71f65] 2011-01-31 Todd C. Miller * plugins/sudoers/toke.c, plugins/sudoers/toke.l: match quoted strings the same way whether in a Defaults line or as a user/group/netgroup name. Fixes escaped double quotes in quoted user/group/netgroup names. [601d97ea8792] * plugins/sudoers/Makefile.in: 'make check' depends on visudo and testsudoers [127c5a24df8f] * plugins/sudoers/sudoers2ldif: Add sudoOrder attribute to each entry Parse LOG_{INPUT,OUTPUT} tags [9029163a58c3] 2011-01-30 Todd C. Miller * doc/UPGRADE: Mention LDAP attribute compatibility status. [2c3595aaec63] 2011-01-28 Todd C. Miller * README.LDAP: Mention phpQLAdmin [9304c9064fbe] * INSTALL, NEWS, config.h.in, configure, configure.in, doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c: Add --disable-env-reset configure option. [8a753aa13a46] * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod: Document that sudoers_locale also affects logging and email. [998d6ac11277] * NEWS, config.h.in, configure, configure.in, plugins/sudoers/logging.c: Do logging and email sending in the locale specified by the "sudoers_locale" setting ("C" by default). Email send by sudo includes MIME headers when the sudoers locale is not "C". [cb7e55408400] 2011-01-27 Todd C. Miller * plugins/sudoers/check.c: Fix indentation [65ae7e92b9e4] 2011-01-25 Todd C. Miller * NEWS, src/parse_args.c, src/sudo.c: Perform command escaping for "sudo -s" and "sudo -i" after validating sudoers so the sudoers entries don't need to have all the backslashes. [4e168c103f4b] 2011-01-24 Todd C. Miller * plugins/sudoers/logging.c: Prepend "list " to the command logged when "sudo -l command" is used to make it clear that the command was listed, not run. [f392a6056cd6] * plugins/sudoers/parse.c: cosmetic change [7c0951dbc2dd] * common/aix.c, common/alloc.c, common/fileops.c, common/fmt_string.c, common/list.c, common/term.c, compat/fnmatch.c, compat/getcwd.c, compat/glob.c, compat/isblank.c, compat/memrchr.c, compat/mktemp.c, compat/nanosleep.c, compat/regress/glob/globtest.c, compat/snprintf.c, compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c, compat/utimes.c, plugins/sample/sample_plugin.c, plugins/sample_group/getgrent.c, plugins/sample_group/plugin_test.c, plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c, plugins/sudoers/bsm_audit.c, plugins/sudoers/check.c, plugins/sudoers/defaults.c, plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c, plugins/sudoers/gram.c, plugins/sudoers/gram.y, plugins/sudoers/iolog.c, plugins/sudoers/ldap.c, plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c, plugins/sudoers/parse.c, plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c, plugins/sudoers/toke.c, plugins/sudoers/toke.l, plugins/sudoers/toke_util.c, plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c, src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c, src/sudo_noexec.c, src/tgetpass.c: standardize on "return foo;" rather than "return(foo);" or "return (foo);" [32d76c5aaf8c] * plugins/sudoers/sudoers.c: Do not reject sudoers file just because it is root-writable. [0febc579185b] 2011-01-21 Todd C. Miller * NEWS: sync [1ab03f8278ff] * plugins/sudoers/sudo_nss.c: For "sudo -U user -l" if user is not authorized on the host, say so. [289afe6dd15c] * plugins/sudoers/ldap.c: In sudo_ldap_lookup(), always do the initial sudoers check as the invoking user. If we are listing another user's privs we will do a separate lookup using list_pw later. [e52bc15de76d] 2011-01-20 Todd C. Miller * MANIFEST: add parser fill tests [4f65140d3515] * compat/regress/glob/globtest.c, compat/regress/glob/globtest.in: Don't test features not supported by the bundled glob() [8ec7ace11949] * Makefile.in, aclocal.m4, common/Makefile.in, common/term.c, compat/Makefile.in, configure.in, doc/LICENSE, doc/Makefile.in, doc/sudo_plugin.man.in, doc/sudo_plugin.pod, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod, doc/sudoers.man.in, doc/sudoers.pod, include/Makefile.in, plugins/sample/Makefile.in, plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in, plugins/sudoers/check.c, plugins/sudoers/defaults.c, plugins/sudoers/gram.c, plugins/sudoers/gram.y, plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c, plugins/sudoers/ldap.c, plugins/sudoers/match.c, plugins/sudoers/pwutil.c, plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c, plugins/sudoers/toke.c, plugins/sudoers/toke.l, plugins/sudoers/toke_util.c, src/Makefile.in, zlib/Makefile.in: Update copyright year to 2011 [ac1b45cb1809] * plugins/sudoers/sudo_nss.c: When listing, use separate lbufs for the defaults and the privileges and only print something if the number of privileges is non-zero. Fixes extraneous Defaults output for "sudo -U unauthorized_user -l". [d0854d39f8ef] * plugins/sudoers/ldap.c: Stash pointer to user group vector in LDAP handle and only reuse the query if it has not changed. We always allocate a new buffer when we reset the group vector so a simple pointer check is sufficient. [88861d4eba69] * plugins/sudoers/sudo_nss.c: Check initgroups() return value. [3bdaf58408a7] * plugins/sudoers/Makefile.in, plugins/sudoers/regress/parser/check_fill.c: Add tests for the fill functions in toke_util.c [bca587ab4956] 2011-01-19 Todd C. Miller * plugins/sudoers/regress/iolog_path/check_iolog_path.c: fix copyright year [e2038cdaf055] * NEWS: sync [56ca5d5eaebe] 2011-01-18 Todd C. Miller * common/term.c: Clear, don't set, OPOST in c_oflag as was intended in 506ad5ae9b4e. [b91f266624ec] 2011-01-14 Todd C. Miller * mkpkg, sudo.pp: Add Requires line for audit-libs >= 1.4 for RHEL5+ [6c02f976171b] * pp: sync with git version [d301c32d5865] 2011-01-13 Todd C. Miller * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod: fix typo [39353f92976f] 2011-01-12 Todd C. Miller * NEWS: Update for sudo 1.7.4p5 [b444da76901f] * doc/schema.OpenLDAP, doc/schema.iPlanet: Add sudoNotBefore and sudoNotAfter attributes as optional attributes to the sudoRole object class. From Andreas Mueller [dacfad7e7a95] 2011-01-11 Todd C. Miller * NEWS: Mention "sudo -g group" password check fix. [1eb8fb14e53b] * plugins/sudoers/sudoers.c: Fix "sudo -g" support in the sudoers module. [07d1b0ce530e] * plugins/sudoers/check.c: If the user is running sudo as himself but as a different group we need to prompt for a password. [caf1fcc9a117] 2011-01-10 Todd C. Miller * NEWS, config.h.in, configure, configure.in, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod, plugins/sudoers/ldap.c: Add support for TIMEOUT in ldap.conf, mapping to the OpenLDAP LDAP_OPT_TIMEOUT. There is no corresponding option for mozilla- derived LDAP SDKs but we can pass the timeout parameter to ldap_search_ext_s() or ldap_search_st() when possible. [5537049991f7] * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in: regen [5b361c3c4324] * NEWS, doc/sudoers.ldap.pod, plugins/sudoers/ldap.c: Add NETWORK_TIMEOUT as an alias for BIND_TIMELIMIT for compatibility with OpenLDAP ldap.conf files. [e97843bd16fb] * plugins/sudoers/pwutil.c: If user has no supplementary groups, fall back on checking the group file expliticly. [5223ad4eb690] 2011-01-08 Todd C. Miller * plugins/sudoers/toke.h, plugins/sudoers/toke_util.c: constify [6e132a4cca61] * plugins/sudoers/toke.c, plugins/sudoers/toke.h, plugins/sudoers/toke.l: Move fill macro to toke.h [623d430798cf] * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/toke.c, plugins/sudoers/toke.h, plugins/sudoers/toke.l, plugins/sudoers/toke_util.c: Split tokenizer utility functions out into toke_util.c [89a97bd51618] * plugins/sudoers/gram.c, plugins/sudoers/gram.y, plugins/sudoers/toke.c, plugins/sudoers/toke.l: ANSIfy [ca0eba1dfaa9] 2011-01-07 Todd C. Miller * MANIFEST: sync [a43f94064bb3] * plugins/sudoers/Makefile.in: Add visudo tests to check target [8c82fb4ed40f] * compat/Makefile.in, compat/regress/fnmatch/fnm_test.c, compat/regress/fnmatch/fnm_test.in, compat/regress/glob/files, compat/regress/glob/globtest.c, compat/regress/glob/globtest.in: Add my regress tests for fnmatch() and glob() from OpenBSD. [6e8c1f211723] * plugins/sudoers/regress/testsudoers/test1.sh, plugins/sudoers/regress/visudo/test1.ok, plugins/sudoers/regress/visudo/test1.sh: Add regress test for command tags using visudo -c [18b0ef207c0f] * plugins/sudoers/Makefile.in, plugins/sudoers/regress/testsudoers/test1.ok, plugins/sudoers/regress/testsudoers/test1.sh: Add support for regress tests using testsudoers [1fa94bd2671b] * plugins/sudoers/testsudoers.c: Need to set user_name explicitly due to internal changes made when converting sudoers to a plugin. [1fa54e86a364] 2011-01-06 Todd C. Miller * MANIFEST, Makefile.in, common/Makefile.in, compat/Makefile.in, doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in, plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in, plugins/sudoers/regress/iolog_path/check_iolog_path.c, plugins/sudoers/regress/iolog_path/data, src/Makefile.in, zlib/Makefile.in: Add regression tests for iolog_path() [afa4b416e559] * Makefile.in, common/Makefile.in, compat/Makefile.in, doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in, plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in, zlib/Makefile.in: Add support for "make Makefile" to regenerate Makefile from Makefile.in [98bd2dda3294] * plugins/sudoers/iolog_path.c: Quiest a bogus compiler warning. [5ff932a7ad67] 2011-01-05 Todd C. Miller * plugins/sudoers/iolog_path.c: Protect call to setlocale() with HAVE_SETLOCALE [2c29ee3ccc81] 2011-01-04 Todd C. Miller * MANIFEST: mkstemps.c was renamed mktemp.c [ae299c3b1827] * NEWS: Update from 1.7 branch [20817d79717b] * Makefile.in: Use "mv -f" when regenerating ChangeLog [c163635206c6] * plugins/sudoers/match.c: Fix NULL dereference with "sudo -g group" when the sudoers rule has no runas user or group listed. Fixes RedHat bug Bug 667103. [41a6a1243d9e] 2011-01-03 Todd C. Miller * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Correct the default sudo.conf example [4e791698cad1] 2010-12-31 Todd C. Miller * plugins/sudoers/iolog_path.c: Reset slashp if we allocate a new buffer for strftime() [e491daa4203b] * plugins/sudoers/iolog_path.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: Add extra out parameter to expand_iolog_path() to allow the caller to split the path into dir and file components if needed. [88346bc5ae39] 2010-12-30 Todd C. Miller * plugins/sudoers/iolog.c: mkdir_iopath() returns size_t now that it uses strlcpy() and not snprintf() [3c4c64d265eb] * plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c: Trim leading slashes from iolog_file and trailing slashes from iolog_dir [a803b51f8948] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod, plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: Pass a single I/O log file name in command_details instead of separate dir + file parameters. [d672a3e46e80] * plugins/sudoers/sudoreplay.c: change an error() to errorx() [8013dcfdd69d] * plugins/sudoers/iolog.c: Add missing cwd line to I/O log info file that got dropped when iolog_deserialize_info() was added [7cf84f208423] 2010-12-29 Todd C. Miller * plugins/sudoers/iolog.c: Avoid relying on globals filled in by the sudoers policy module for the sudoers I/O log module. The I/O log open function now pulls the bits it needs out of user_info and command_info. [c02f6951b0cc] * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: If no iolog file is specified by the policy plugin, use io_nextid() to determine the next file in the sequence. [faa1130b1020] 2010-12-28 Todd C. Miller * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Document iolog_compress in command_info [58895c7d12f5] * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c: Add support for the iolog_compress variable in command_info. [36f13a2fd1c1] * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c: Add sigsetjmp() calls to all plugin entry points just to be safe. [3fa482355bc4] * src/sudo.c, src/sudo.h: Don't need iolog variables in struct command_details, they are for the I/O log plugins to handle. [5111579ffd9d] 2010-12-27 Todd C. Miller * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod: Document use of mkdtemp() for iolog path teplates [5db6101408a9] * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in: regen [1ee11fd6d4eb] * doc/sudo_plugin.pod, doc/sudoers.pod: Document iolog_file and supported escape sequences for sudoers. Clarify that iolog_file can contain directories. [da611dedcbdb] * compat/Makefile.in, configure, configure.in: Fix building of mkstemps/mkdtemp replacements. [793a5e303122] * compat/mkstemps.c, compat/mktemp.c, config.h.in, configure, configure.in, include/missing.h: Provide mkdtemp() for systems without it. [b0527dfa965c] * plugins/sudoers/iolog_path.c: Fix typo [277f6c514cba] * plugins/sudoers/iolog.c: Only use mkdtemp() if the path ends in at least 6 Xs since otherwise glibc mkdtemp() returns EINVAL. [2e7323b05579] * plugins/sudoers/Makefile.in, plugins/sudoers/def_data.c, plugins/sudoers/def_data.h, plugins/sudoers/def_data.in, plugins/sudoers/defaults.c, plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c, plugins/sudoers/plugin_error.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: Allow sudoers to specify the iolog file in addition to the iolog dir. Add escape sequence support to iolog file and dir: sequence number, user, group, runas_user, runas_group, hostname and command in addition to any escape sequence recognized by strftime(3). [75cd32ee0435] * plugins/sudoers/iolog.c: Add missing sigsetjmp() call in I/O plugin open function. Fixes a crash when the I/O plugin calls error(), errorx() or log_error(). [1a6718bd817d] 2010-12-21 Todd C. Miller * doc/sudo_plugin.pod, plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c: Give the policy module fine-grained control over what the I/O plugin logs. [d29784fd2a66] * common/term.c: Clear OPOST from c_oflag like we used to. Fixes screen-based editors such as vi. [506ad5ae9b4e] * doc/sudoers.pod: Clarify umask option description. From Reuben Thomas. [1294ac84222b] 2010-12-20 Todd C. Miller * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c: Pick last match in LDAP sudoers too [fbfd8e85703b] * doc/sudo_plugin.pod: Document iolog_file, iolog_dir and use_pty [26120a59c20e] * plugins/sample/sample_plugin.c, plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c: Adapt plugins to version I/O logging ABI 1.1 [880dd64bc1e8] * src/exec.c, src/sudo.h: Add use_pty command_info flag for policies to indicate that a pty should be allocated even if no I/O logging is performed. [e7b167f8a6e5] * src/sudo.c: Add remaining plugin convenience functions [ffeaf96da031] * include/sudo_plugin.h, src/sudo.c, src/sudo.h, src/sudo_plugin_int.h: Change I/O log API to pass in command info to the I/O log open function. Add iolog_file and iolog_dir parameters to command info. This allows the policy plugin to specify the I/O log pathname. Add convenience functions for calling plugin functions that handle ABI backwards compatibility. [9b81dce76ce5] * compat/dlopen.c: Remove useless cast [7cecce969739] 2010-12-17 Todd C. Miller * configure, configure.in: Bump version to 1.8.0b3 [1dc9f040aae0] 2010-12-13 Todd C. Miller * configure.in: Remove extraneous newline [71c94551eea5] 2010-12-10 Todd C. Miller * doc/sudoers.pod, plugins/sudoers/def_data.c, plugins/sudoers/def_data.h, plugins/sudoers/def_data.in, plugins/sudoers/defaults.c, plugins/sudoers/iolog.c: Make I/O log dir configurable. [99b576667a38] * aclocal.m4, configure, configure.in, doc/sudoers.pod: Rename io_logdir to iolog_dir [0731662acc8d] 2010-12-07 Todd C. Miller * pp: Add missing '*' that prevented the generic ELF case from matching. [be77ca26bfb2] * pp: If file(1) can't identify the ELF binary type, try readelf(1). [38a18d32a9e3] 2010-11-30 Todd C. Miller * plugins/sudoers/auth/kerb4.c, plugins/sudoers/check.c, plugins/sudoers/env.c, plugins/sudoers/pwutil.c, plugins/sudoers/sudoers.c, src/sudo.c: Use %u to print uid/gid, not %lu and adjust casts to match. [03c43b8749cf] * doc/sudoers.ldap.pod: Clarify ordering of entries and attributes. [924e2a6bb603] * doc/sudoers.ldap.pod: Fix typo and editing goof. [79dc7ccd85a8] * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet, doc/sudoers.ldap.pod: Merge in ordered LDAP entry support from Andreas Mueller. [ea5885989bad] * plugins/sudoers/ldap.c: Make sure we don't dereference a NULL handle. [1a9f9ee15371] 2010-11-24 Todd C. Miller * pp: Add support for RHEL 6 file modes that include a trailing dot on files with an SELinux security context [dc09be959547] 2010-11-23 Todd C. Miller * src/sudo.c: exec_setup() does not need to setuid(0), the Ubuntu issue was in the sudoers module. [d6dd99fc6062] * plugins/sudoers/sudoers.c: create_admin_success_flag() should use restore_perms() rather than set_perms() to restore the uid. [eba7a91c1f57] * src/sudo.c: In exec_setup() call setuid(0) to make certain the subsequent uid and gid changes will succeed. Fixes a problem on Ubuntu. [c5d32abf0645] * src/sudo_edit.c: Error out if we cannot change to root's uid so we catch the failure early. [7a2e7f8f2c80] 2010-11-22 Todd C. Miller * doc/sudoers.pod: fix typo; from Michael T Hunter [a574a9d0db5b] * plugins/sudoers/match.c: In sudoedit mode, assume command line arguments are paths and pass FNM_PATHNAME to fnmatch(). [ce0abff8ce9f] 2010-11-20 Todd C. Miller * configure, configure.in: Add workaround for an error in sys/types.h on HP-UX 11.23 when large file support is enabled. Defining _XOPEN_SOURCE_EXTENDED avoids the broken bits of the header file. [e337217f097a] * aclocal.m4: Fix SUDO_MAILDIR usage of AC_LANG_PROGRAM [fbbcee28961f] * sudo.pp: For Tru64, strip off beta version. [eeccd762df5e] * MANIFEST, plugins/sudoers/testsudoers.c, plugins/sudoers/tsgetgrpw.c, plugins/sudoers/tsgetgrpw.h: Avoid conflicts with system definitions in grp.h and pwd.h [b219ffe1da09] * zlib/gzguts.h: Include stdio.h after zlib.h, not before. We need the large file defines to come first. [21d6df39790f] 2010-11-19 Todd C. Miller * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in: regen [3ff8750d0aac] * Makefile.in: Don't clean ChangeLog [ab0d30d289d4] * plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c: Add prototype for cleanup() [75626fd3769a] 2010-11-18 Todd C. Miller * plugins/sudoers/group_plugin.c: Avoid deferencing group_plugin if it is NULL in group_plugin_query(). This should not happen. [4f2933c8da7e] * plugins/sudoers/group_plugin.c: group plugin init function return TRUE when successful [198024477030] 2010-11-17 Todd C. Miller * plugins/sudoers/ldap.c: Enlarge the array of entry wrappers int blocks of 100 entries to save on allocation time. From Andreas Mueller [375c916bb03b] * plugins/sudoers/ldap.c: Add back call to sudo_ldap_timefilter() in sudo_ldap_build_pass2() that was mistakenly dropped. [1555f5bc132d] 2010-11-16 Todd C. Miller * doc/TROUBLESHOOTING: Mention that sudo needs "ar" to build. [65582ace2d09] * configure, configure.in: Fail with a more useful error if "ar" is not found. [d1cb83719c17] 2010-11-14 Todd C. Miller * plugins/sudoers/ldap.c: Merge in ordered LDAP entry support from Andreas Mueller and add local changes from the 1.7 branch. [bca29e461618] 2010-11-12 Todd C. Miller * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet, doc/sudoers.ldap.pod, plugins/sudoers/ldap.c: Add timed entry support from Andreas Mueller. [e18d1df46a8d] * plugins/sudoers/group_plugin.c: Don't try to unload if group_plugin is NULL. Don't call dlclose() if group_handle is NULL [de2273da37d5] * plugins/sudoers/sudoers.h: It is now plugin_cleanup(), not cleanup() [da62a4e1a78c] * plugins/sudoers/logging.c, plugins/sudoers/sudoers.c: Call plugin_cleanup(), not cleanup() [e800ad8b33ad] 2010-11-11 Todd C. Miller * plugins/sudoers/ldap.c: Use efree() not free() and remove malloc.h include since we never directly call malloc() or free(). [107fffd134bb] 2010-11-09 Todd C. Miller * sudo.pp: set PSTAMP for Solaris and move the backend-specific bits to their own %if [xxx] %endif blocks in %set. [a94ebe8920c1] * pp: sync with git repo [75ff509696b4] * configure, configure.in: Only substitute file zlib files when using the builtin zlib [6c8145b2deb4] * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in, plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in, zlib/Makefile.in: Give up on using VPATH to find sources as it is implemented inconsistenly in different versions of make. [60517c69aaee] * plugins/sudoers/Makefile.in, plugins/sudoers/getdate.c, plugins/sudoers/gram.c, plugins/sudoers/toke.c: Include config.h before any other includes to make sure we get the right value for _FILE_OFFSET_BITS. [8fb007ca832e] * MANIFEST: Add zlib [04a3e23dfaa9] * zlib/Makefile.in: Add missing targets [40e45a177168] * src/Makefile.in: g/c unused $(GENERATED) [c8758068c1bc] 2010-11-08 Todd C. Miller * plugins/sudoers/group_plugin.c: Zero out group_plugin on unload just to be safe. [0b10f4d101ca] * plugins/sudoers/group_plugin.c: Unload group plugin if its init function fails. [6552cdac4b7c] * src/sudo.c: Only chdir to cwd if it is different from the current cwd or there is a new root (chroot). [b8203e875e84] * configure, configure.in, doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/visudo.cat, doc/visudo.man.in: Bump version to 1.8.0b2 [6dadeb75a878] 2010-10-28 Todd C. Miller * INSTALL: Better --enable-zlib description [e0da54fa59a6] * mkpkg: Use system zlib on Linux Let configure decide on Solaris For all others, use builtin zlib [3d52eddb523c] * zlib/zconf.h.in: Add large file support. [bec01215270d] * config.h.in: Add large file support. [244e95b034ec] * Makefile.in, configure, configure.in, doc/LICENSE, doc/license.pod, zlib/Makefile.in, zlib/adler32.c, zlib/compress.c, zlib/crc32.c, zlib/crc32.h, zlib/deflate.c, zlib/deflate.h, zlib/gzclose.c, zlib/gzguts.h, zlib/gzlib.c, zlib/gzread.c, zlib/gzwrite.c, zlib/infback.c, zlib/inffast.c, zlib/inffast.h, zlib/inffixed.h, zlib/inflate.c, zlib/inflate.h, zlib/inftrees.c, zlib/inftrees.h, zlib/trees.c, zlib/trees.h, zlib/uncompr.c, zlib/zconf.h.in, zlib/zlib.h, zlib/zutil.c, zlib/zutil.h: Add local copy of zlib for systems that lack it. [7542ca465c5a] 2010-10-15 Todd C. Miller * src/exec.c: If perform_io() fails, kill the child before exiting so it doesn't complain about connection reset. We can get an I/O error if, for example, and we get EIO reading from stdin. [e59a05fa729f] 2010-10-12 Todd C. Miller * plugins/sudoers/sudoers.c, src/sudo.c: Fix complilation on systems with set_auth_parameters() Sprinkle volatile to quiet warnings from gcc 2.8.0 [a34c2b924ba7] * compat/dlfcn.h, compat/dlopen.c: Avoid potential namespace issues with dlopen() emulation. [aedfababd6ca] * MANIFEST: sync [6afb97e6d308] * plugins/sudoers/interfaces.c: Use INADDR_NONE instead of casting -1 to in_addr_t (which may not exist). [ddfca5af1a36] * Makefile.in: Mark ChangeLog as PHONY Don't overwrite ChangeLog if we can't run hg [e9d04bfa4505] * configure, configure.in: HP-UX 10.20 libc has an incompatible getline [2e7bc202e78d] * plugins/sudoers/visudo.c: Quiet an HP-UX compiler warning. [55b9d587ac8c] * configure, configure.in: Check for vi even with --with-editor specified; the sample plugin needs it. [94dfc3643f76] 2010-10-11 Todd C. Miller * compat/dlopen.c: Fix remaining syntax errors. [9d729b5b577e] * src/Makefile.in: sudo binary depends on the libtool-generated libs [9e6148406adb] * plugins/sudoers/group_plugin.c, src/load_plugins.c: Use HAVE_DLOPEN instead of HAVE_DLFCN_H when determining whether to include the local or system dlfcn.h [68cfe4c1089b] * pp: Don't use run_as_superuser=false on HP-UX [532242370b09] * src/net_ifs.c: Use memset() instead of zero_bytes() since we don't include sudoers.h [a187c18c2472] * plugins/sudoers/interfaces.c: Fix pasto; AF_INET not AF_INET6 [2d2e9d7dc6f9] * compat/dlopen.c: Actually call shl_load() [ed8153b8a3cd] * pp: Update from git repo. Debian: version numbers now compliant with policy section 5.6.12 HP-UX: minimal changes needed to work on HP-UX 10.20 [ecf2692bceeb] * configure, configure.in: Fix dlopen() detection for systems where dlopen() is in a separate library. [fa6b175582b6] * plugins/sudoers/auth/pam.c: If pam_acct_mgmt() returns PAM_AUTH_ERR print a (hopefully) more useful message and return AUTH_FATAL so sudo does not keep trying to validate the user. [1be8857e5291] * src/preload.c: sudo_preload_table is an array [b7704e72a9da] * compat/dlopen.c: Quiet a compiler warning and fix sudo_preload_table external definition. [8234987664cc] * compat/dlfcn.h: Fix multiple inclusion guard in dlfcn.h and fix dlerror() prototype. [8bab6a4053cc] * plugins/sudoers/group_plugin.c: Make this compile correctly when no dlopen is available. [57643879bd2b] 2010-10-07 Todd C. Miller * plugins/sudoers/check.c: Having a timestamp file defined is no longer indicative of tty tickets being enabled. Check def_tty_tickets directly. [efcc11ad157f] * src/exec_pty.c, src/sudo.h, src/ttysize.c: Fix TCGETWINSZ compat. [da3a8b17cf7a] 2010-10-02 Todd C. Miller * src/exec_pty.c, src/ttysize.c: Prefer newer TIOCGWINSZ ioctl to old TIOCGSIZE [926492dd10a6] 2010-10-01 Todd C. Miller * plugins/sudoers/sudoers.c, src/sudo.c: Move set_project() from sudoers module into sudo proper. [beabafac03b4] * configure, configure.in: Fix typo and regenerate [4a3caf4234f3] * plugins/sudoers/ldap.c: When iterating over returned LDAP entries, keep looking at remaining matches even if we have a positive match. This catches negative matches that may exist in other entries and more closely match the sudoers file behavior. [f47db6e609b0] * pp: Add support for multiple package instances on Solaris. [7f2a8b942545] * src/exec.c: Add missing signal_pipe[0] to fdsr for the non-pty case. [79d01e11b19c] * mkpkg: Add --with-project for Solaris [ffa4c2bb93f7] * README: Need ar and ranlib too [5c2f679172ef] 2010-09-27 Todd C. Miller * plugins/sudoers/env.c: Preserve ODMDIR environment variable by default on AIX. [bd47cb1e804f] 2010-09-26 Todd C. Miller * Makefile.in, compat/Makefile.in, compat/dlfcn.h, compat/dlopen.c, config.h.in, configure, configure.in, plugins/sample/Makefile.in, plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in, plugins/sudoers/group_plugin.c, plugins/sudoers/plugin_error.c, plugins/sudoers/sudoers.c, src/Makefile.in, src/load_plugins.c, src/preload.c: Add dlopen() emulation for systems without it. For HP-UX 10, emulate using shl_load(). For others, link sudoers plugin statically and use a lookup table to emulate dlsym(). [e92edfb3c642] 2010-09-24 Todd C. Miller * compat/fnmatch.c, compat/glob.c, compat/mksiglist.c, compat/nanosleep.c, compat/utimes.c: When including compat headers, use the compat dir as part of the path so we are sure to get the correct header. [6c2a45da6af5] 2010-09-21 Todd C. Miller * plugins/sudoers/linux_audit.c: Ignore ECONNREFUSED from audit_log_user_command() which will occur if auditd is not running. [d314fe4c8d03] 2010-09-17 Todd C. Miller * pp: Sync with git version [1c0357744222] 2010-09-16 Todd C. Miller * common/fileops.c, plugins/sudoers/defaults.c: Cast isblank argument to unsigned char. [c822dbb3ca54] 2010-09-14 Todd C. Miller * INSTALL, config.h.in, configure, configure.in, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c: Implement --with-umask-override configure flag. [863e3047df22] * plugins/sudoers/env.c: Take MODE_LOGIN_SHELL into account when initially setting reset_home instead of special-casing it later. [5d6b16480fd6] * plugins/sudoers/sudoers.c: In login mode, make a copy of the runas user's pw_shell for NewArgv[0] because 1) we modify it and 2) it will runas_pw gets freed before exec. [1d1ccb568dfa] * plugins/sudoers/env.c: Reset HOME for "sudo -i" even if HOME was listed in env_keep. [c1c1c65a2d63] * src/sudo.c: Use SIG_SETMASK when resetting signal mask instead of SIG_UNBLOCK. [7443454e5f88] * src/sudo.c: Reset signal mask at sudo startup time; we need to be able to rely on normal signal delivery to control the child process. [95800163ff94] 2010-09-13 Todd C. Miller * install-sh: Use sed instead of expr to split a flag from its argument. Fixes a problem with expr interpreting its arguments as a flag when they start with a dash. [736065e14301] * common/lbuf.c: Do not need sys/time.h after all [91f6f668ccda] * common/lbuf.c: Include sys/time.h for utimes() and struct timeval. No longer need ioctl.h or termios.h [2d75273d3213] * compat/snprintf.c: Quiet bogus compiler warnings. [fe252e1968f5] * include/missing.h: Declare innetgr() for HP-UX which is missing a declaration. Declare domainname() for HP-UX and Solaris which are missing a declaration. [b37c50751138] * plugins/sudoers/bsm_audit.c: Use __sun for consistency with the rest of the sources. [6b086b61ccb6] * plugins/sudoers/group_plugin.c: Quiet a bogus compiler warning. [ebc069842c4a] * plugins/sudoers/pwutil.c: Don't try to delref a NULL group. [f6ff0838be21] * common/alloc.c, common/lbuf.c: Include memory.h on systems that need it. [4e676da81c6f] 2010-09-11 Todd C. Miller * src/exec.c: Quiet gcc warnings on glibc systems that use warn_unused_result for write(2). [0532da0b7cf7] * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod: sudo_plugin is in section 8; from Ted Percival [b4506a0de87e] * plugins/sudoers/Makefile.in: testsudoers depends on libsudoers.la, not sudoreplay [cdb1cc3bf06a] 2010-09-10 Todd C. Miller * src/exec.c: Read as many signals on the signal pipe as we can before returning. [b181671da047] * src/exec.c, src/exec_pty.c, src/sudo_exec.h: Instead of using a array to store received signals, open a pipe and have the signal handler write the signal number to one end and select() on the other end. This makes it possible to handle signals similar to I/O without race conditions. [ee84d65c16b6] 2010-09-09 Todd C. Miller * doc/visudo.pod, plugins/sudoers/visudo.c: Make "visudo -c -f -" check the standard input. [195a3d2a9a26] * doc/sudoers.pod: set_home and always_set_home have an effect if HOME is present in the env_keep list. [159d0b9dc5c8] * plugins/sudoers/env.c: Make -H flag work when HOME is listed in env_keep. Also makes "set_home" and "always_set_home" override override HOME in env_keep. [a3e5b966193f] 2010-09-08 Todd C. Miller * plugins/sudoers/Makefile.in, plugins/sudoers/interfaces.c, plugins/sudoers/interfaces.h, plugins/sudoers/match.c, plugins/sudoers/sudoers.c, plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c, src/net_ifs.c: Convert sudoers plugin to use interface list passed in settings. [87d9b5f4f586] * doc/sudo_plugin.pod, src/Makefile.in, src/net_ifs.c, src/parse_args.c, src/sudo.h: Query local network interfaces in the main sudo driver and pass to the plugin as "network_addrs" in the settings list. [7f35bcfe77a7] * plugins/sudoers/bsm_audit.c: Solaris BSM audit return EINVAL when auditing is not enabled, whereas OpenBSM returns ENOSYS. [411b980ec58b] 2010-09-07 Todd C. Miller * compat/fnmatch.c: missing.h should come before most local includes [53921a7b8b5b] * plugins/sudoers/sudoreplay.c: missing.h should come before most local includes [e9abb0db1aac] * plugins/sudoers/sudoers.h: Make local includes consistent; use double quotes for local includes except for generated ones where we use angle brackets. [09de4faa9547] * plugins/sudoers/sudoers.c: Always fill in NewArgv for audit code. [7c3aca60519f] * plugins/sudoers/toke.c, plugins/sudoers/toke.l: Add missing LOG_INPUT/LOG_OUTPUT support in the lexer. [007cf6560f92] * common/alloc.c, common/atobool.c, common/fileops.c, common/fmt_string.c, common/lbuf.c, common/list.c, common/term.c, common/zero_bytes.c, compat/closefrom.c, compat/fnmatch.c, compat/getcwd.c, compat/getgrouplist.c, compat/getline.c, compat/getprogname.c, compat/glob.c, compat/isblank.c, compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c, compat/nanosleep.c, compat/setenv.c, compat/snprintf.c, compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c, compat/unsetenv.c, compat/utimes.c, include/compat.h, plugins/sample/sample_plugin.c, plugins/sample_group/getgrent.c, plugins/sample_group/plugin_test.c, plugins/sample_group/sample_group.c, plugins/sudoers/audit.c, plugins/sudoers/auth/afs.c, plugins/sudoers/boottime.c, plugins/sudoers/getdate.c, plugins/sudoers/getdate.y, plugins/sudoers/linux_audit.c, plugins/sudoers/match.c, plugins/sudoers/plugin_error.c, plugins/sudoers/sudoreplay.c, plugins/sudoers/timestr.c, src/error.c, src/sesh.c, src/sudo.h, src/sudo_noexec.c, src/ttysize.c: Make local includes consistent; use double quotes for local includes except for generated ones where we use angle brackets. Also g/c unused compat.h. [e57070dc8f04] 2010-09-06 Todd C. Miller * plugins/sudoers/match.c: When matching the runas user and runas group (-u and -g command line options), keep track of runas group and runas user matches separately. Only return a positive match if we have a match for both runas user and runas group (if specified). [815219e04cc8] 2010-09-04 Todd C. Miller * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c: Add support for multiple URI lines by joining the contents and passing the result to ldap_initialize. [a47cae3b72e8] * plugins/sudoers/ldap.c, plugins/sudoers/parse.c: Do not return -1 on error from the display functions; the caller expects a return value >= 0. [101456a7dd00] * plugins/sudoers/sudoers.c: Do not set both MODE_EDIT and MODE_RUN [8faa36694d54] 2010-09-03 Todd C. Miller * include/missing.h: Move includes to the top of the file. [a51436798e8c] 2010-08-30 Todd C. Miller * plugins/sudoers/Makefile.in: Add missing definition of timedir [458a749c2c5e] * compat/fnmatch.c, compat/getprogname.c, compat/isblank.c, compat/mksiglist.c, compat/strsignal.c, plugins/sudoers/plugin_error.c, src/error.c, src/sudo_noexec.c: Add #include of sys/types.h for .c files that include missing.h to be sure that size_t and ssize_t are defined. [08e3132dbf4f] * plugins/sudoers/Makefile.in: Install sudoers file from the build dir not hte src dir. [ca89e962dbf4] 2010-08-26 Todd C. Miller * plugins/sudoers/set_perms.c: If runas_pw changes, reset the stashed runas aux group vector. Otherwise, if runas_default is set in a per-command Defaults statement, the command runs with root's aux group vector (i.e. the one that was used when locating the command). [24f9107cedd2] * plugins/sudoers/Makefile.in: Add target to generate sudoers file Remove generated sudoers file as part of distclean [fb7422e90f03] 2010-08-24 Todd C. Miller * src/exec.c: When not logging I/O install a handler for SIGCONT and deliver it to the command upon resume. Fixes bugzilla #431 [495dce52a5aa] 2010-08-21 Todd C. Miller * plugins/sudoers/sudoers.h: g/c unused auth_pw extern definition [40eb7477ba17] * plugins/sudoers/check.c, plugins/sudoers/sudoers.c: Move get_auth() into check.c where it is actually used. [e31db0ce3a61] 2010-08-20 Todd C. Miller * common/lbuf.c: Convert a remaining puts() and putchar() to use the output function. [d69e363a506b] * plugins/sudoers/plugin_error.c: Plug memory leak [68895469ea8d] 2010-08-18 Todd C. Miller * plugins/sudoers/env.c: Set dupcheck to TRUE when setting new HOME value if !env_reset but always_set_home is true. Prevents a duplicate HOME in the environment (old value plus the new one) introduced in f421f8827340. [9ca19183794f] * configure, configure.in, plugins/sudoers/sudoers, plugins/sudoers/sudoers.in: Substitute sysconfdir in the installed sudoers file to get the correct path for sudoers.d. [86072b6cd55d] 2010-08-17 Todd C. Miller * src/get_pty.c: Fix typo that prevented compilation on Irix; Friedrich Haubensak [b48be51b65fc] 2010-08-16 Todd C. Miller * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c, common/atobool.c, common/fileops.c, common/fmt_string.c, common/lbuf.c, common/list.c, common/term.c, common/zero_bytes.c, compat/Makefile.in, compat/closefrom.c, compat/fnmatch.c, compat/getcwd.c, compat/getgrouplist.c, compat/getline.c, compat/getprogname.c, compat/glob.c, compat/isblank.c, compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c, compat/nanosleep.c, compat/setenv.c, compat/snprintf.c, compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c, compat/unsetenv.c, compat/utimes.c, include/compat.h, include/missing.h, plugins/sample/sample_plugin.c, plugins/sample_group/getgrent.c, plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in, plugins/sudoers/audit.c, plugins/sudoers/boottime.c, plugins/sudoers/getdate.c, plugins/sudoers/getdate.y, plugins/sudoers/linux_audit.c, plugins/sudoers/plugin_error.c, plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c, plugins/sudoers/timestr.c, src/Makefile.in, src/error.c, src/sesh.c, src/sudo.h, src/sudo_noexec.c, src/ttysize.c: Merge compat.h and missing.h into missing.h [572909ae9716] 2010-08-14 Todd C. Miller * plugins/sudoers/auth/pam.c: If the user hits ^C while a password is being read, error out before reading any further passwords in the pam conversation function. Otherwise, if multiple PAM auth methods are required, the user will have to hit ^C for each one. [23782631748c] 2010-08-12 Todd C. Miller * plugins/sudoers/check.c: Update comment [a5296cb3a20a] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Document sudo_conv_t function and sudo_printf_t return values. [745c0017814c] * src/conversation.c: Make _sudo_printf return the number of characters printed on success like printf(3). [8eeefe8d7e77] 2010-08-10 Todd C. Miller * plugins/sudoers/sudoers.c: sudoers.h includes sudo_plugin.h for us [cabe68e07807] * common/Makefile.in, common/gettime.c, compat/mkstemps.c, plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/sudo.h, src/sudo_edit.c: Use gettimeofday() directly instead of via the gettime() wrapper. [7490426c99ae] * common/gettime.c, compat/snprintf.c, compat/strcasecmp.c, compat/strerror.c, config.h.in, configure, configure.in, include/compat.h, include/missing.h, plugins/sudoers/logging.c, plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c, src/sudo.c: Remove some obsolete configure tests, ancient Unix systems are no longer supported. [2be6218c3a36] 2010-08-07 Todd C. Miller * sudo.pp: Set pp_kit_version and strip off patch level [aacfda1b676d] * sudo.pp: Better handling of versions with a patchlevel. For rpm and deb, use the patchlevel+1 as the release. For AIX, use the patchlevel as the 4th version number. For the rest, just leave the patchlevel in the version string. [638bd35f2346] 2010-08-06 Todd C. Miller * plugins/sudoers/auth/sudo_auth.c: For non-standalone auth methods, stop reading the password if the user enters ^C at the prompt. [82c2911bb264] * configure, configure.in, plugins/sudoers/Makefile.in, plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/pwutil.c: No need to look up shadow password unless we are doing password- style authentication. This moves the shadow password lookup to the auth functions that need it. [ba9e3eba2b72] * plugins/sudoers/sudoers.c: Retain final passwd/group refs until the policy close() function. Note that this doesn't get called in all cases so putting this in a cleanup function is probably better. [bbe214cb4119] * plugins/sudoers/check.c: Fix mismerge [395115f89dd6] * plugins/sudoers/check.c: When removing/resetting the timestamp file ignore the tty ticket contents. [b709f5667a0b] * plugins/sudoers/sudoers.c: delref sudo_user.pw, runas_pw and runas_gr immediately before we return. [4d67d15dfd3b] 2010-08-04 Todd C. Miller * plugins/sudoers/check.c, plugins/sudoers/ldap.c, plugins/sudoers/match.c, plugins/sudoers/pwutil.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: Reference count cached passwd and group structs. The cache holds one reference itself and another is added by sudo_getgr{gid,nam} and sudo_getpw{uid,nam}. The final ref on the runas and user passwd and group structs are persistent for now. [e544685523c3] * doc/UPGRADE: fix typo [e32f2d35e6c9] 2010-08-03 Todd C. Miller * plugins/sudoers/check.c: Do not produce a warning for "sudo -k" if the ticket file does not exist. [1598f6061b75] * plugins/sudoers/pwutil.c: Instead of caching struct passwd and struct group in the red-black tree, store a struct cache_item which includes both the key and datum. This allows us to user the actual name that was looked up as the key instead of the contents of struct passwd or struct group. This matters because the name in the database may not match what we looked up, due either to case folding or truncation (historically at 8 characters). Also mark the disabled calls to sudo_freepwcache() and sudo_freegrcache() as broken since we use cached data for things like set_perms() and the logging functions. Fixing this would require making a copy of the structs for user and runas or adding a reference count (better). [225d4a22f60e] * plugins/sudoers/Makefile.in: Fix path to mkinstalldirs [b4968379b12d] * plugins/sudoers/check.c, plugins/sudoers/logging.c, plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c, src/exec_pty.c, src/get_pty.c, src/tgetpass.c: Quiet gcc warnings on glibc systems that use warn_unused_result for write(2) and others. [c99f138960e0] 2010-08-02 Todd C. Miller * plugins/sudoers/toke.c, plugins/sudoers/toke.l: Add %option noinput [72b9cd49b4f1] * aclocal.m4, configure, configure.in: Add cross-compile defaults for remaining AC_TRY_RUN usage. Also add back getgroups() check since AC_FUNC_GETGROUPS defaults to "no" when cross-compiling. [e385c176d0ee] 2010-07-31 Todd C. Miller * aclocal.m4, compat/snprintf.c, config.h.in, configure, configure.in: Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT and AC_CHECK_SIZEOF([long int]) instead of rolling our own. [cf3e60d9c440] 2010-07-29 Todd C. Miller * pp: Update to latest version [32f93be33961] 2010-07-28 Todd C. Miller * sudo.pp: Let pp determine pp_aix_version itself. [7cf0245d84ed] * INSTALL, config.h.in, configure, configure.in, mkpkg, plugins/sudoers/sudoers.c: Add support for Ubuntu admin flag file and enable it when building Ubuntu packages. [00e27cff2dfb] * plugins/sudoers/sudoers, sudo.pp: Add commented out SuSE-like targetpw settings [4605d47b7413] * configure, configure.in: Only try to use +DAportable for non-GCC on hppa [75d0f284ccf7] * configure, configure.in: Prevent configure from adding the -g flag unless in devel mode [b1fd3f8d45c0] 2010-07-27 Todd C. Miller * sudo.pp: Go back to sudo-flavor to match existing packages and only use an underscore for those that need it. [d737069d1e1c] * sudo.pp: Use sudo_$flavor instead of sudo-$flavor since that causes the least amount of trouble for the various package managers. [71f547af35fc] * mkpkg: Fix handling of the ldap flavor Remove destdir unless --debug was specified Make distclean before running configure if there is a Makefile present [6316f08de7d3] * sudo.pp: Add back include file. [195627bf68b8] * mkpkg: Pass extra args on to configure on HP-UX, if we don't have the HP C compiler, disable zlib to prevent gcc from finding it in /usr/local/lib. [473efa0e2bac] * mkpkg: Use the HP ANSI C compiler on HP-UX if possible [fb249b6b175d] * plugins/sudoers/sudoreplay.c: Some getline() implementations (FreeBSD 8.0) do not ignore the length pointer when the line pointer is NULL as they should. [2410a1a3543c] * plugins/sudoers/sudoreplay.c: Don't need to check for *cp being non-zero, isdigit() will do that. [7df11ea8a487] * plugins/sudoers/sudoreplay.c: Add setlocale() so the command line arguments that use floating point work in different locales. Since sudo now logs the timing data in the C locale we must Parse the seconds in the timing file manually instead of using strtod(). Furthermore, sudo 1.7.3 logged the number of seconds with the user's locale so if the decimal point is not '.' try using the locale-specific version. [4d385765f23b] * src/exec.c: Do I/O logging in the C locale so the floating point numbers in the timing file are not locale-dependent. [5961cec044ec] * plugins/sudoers/sudoreplay.c: Use errorx() not error() for thingsthat don't set errno. [0fe5e692af84] 2010-07-26 Todd C. Miller * pp: Better support for 1.2.3 style versions in Tru64 kits [997c549bb777] * sudo.pp: Add Tru64 kit support [e273a954f981] * pp: Remove apparently unnecessary use of sudo [be8840d85125] * Makefile.in, plugins/sudoers/Makefile.in: Create timedir as part of install-dirs target. [c736bc2fb14f] * src/exec_pty.c: Handle ENXIO from read/write which can occur when reading/writing a pty that has gone away. [fa2e8059879f] * plugins/sudoers/pwutil.c: sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL [3a045475d5ee] * mkpkg: platform is a pp flag not a variable [12eba39a47c1] * Makefile.in, mkpkg, sudo.pp: Add simple arg parsing for mkpkg so we can set debug, flavor or platform. [ada839fe252d] * pp: Make rpm backend work on AIX 5.x [549a76d11393] 2010-07-25 Todd C. Miller * plugins/sudoers/sudoers: Add commented out Defaults entry for log_output [7e67d7588900] 2010-07-23 Todd C. Miller * doc/Makefile.in: Remove sudo docdir completely [dce8e82878ef] * doc/sample.sudo.conf: Add sample sudo.conf [aafdba3fc411] 2010-07-22 Todd C. Miller * plugins/sudoers/Makefile.in: Add PACKAGE_TARNAME for docdir [930c92b8f8f0] 2010-07-23 Todd C. Miller * src/Makefile.in: Pass install-sh -b~ here too. [c3f5eb446c38] * plugins/sample/Makefile.in, plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in: Install binary files with -b~ to make a backup. Fixes "text file busy" error on HP-UX during install. [81f306f54f8c] * install-sh: "mv -f" on HP-UX doesn't unlink the destination first so add an explicit rm before moving the temporary into place. [fb719a79582d] * configure, configure.in: Some more ${foo} -> $(foo) conversion for consistent Makefiles. [0aa098770074] * doc/Makefile.in, plugins/sudoers/Makefile.in: Install sudoers2ldif in the doc dir [33ac3b53d7f5] 2010-07-22 Todd C. Miller * pathnames.h.in: Add missing include of maillock.h for Solaris [5a58883be23a] * NEWS, configure, configure.in, doc/TROUBLESHOOTING, doc/UPGRADE, doc/sample.syslog.conf, doc/sudoers.cat: Change the default syslog facility from local2 to authpriv (or auth if the operating system doesn't support authpriv). [3b70ba514f49] * Makefile.in, sudo.pp: Install sudoers as /etc/sudoers on RPM and debian systems where the package manager will not replace a user-modified configuration file. This fixes upgrades from the vendor sudo packages. [d886b6d60b5b] * pp: RPM: use %config(noreplace) instead of %config for volatile This results in the new file being installed with a .rpmnew suffix instead of the file being replaced and the old one renamed with a .rpmsave suffix. [58be2119f8e8] 2010-07-21 Todd C. Miller * compat/mkstemps.c, plugins/sudoers/boottime.c: Include time.h for struct timeval [ddf8b04f0276] * src/exec_pty.c: The return value of strsignal() may be const and should be treated as const regardless. [620074ae1e77] * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod: Mention that 127.0.0.1 will not match, nor will localhost unless that is the actual host name. [8b574122eb8f] * MANIFEST, NEWS, README, WHATSNEW, doc/Makefile.in, doc/UPGRADE: Rename WHATSNEW -> NEWS [d1a2c8c47d89] * pp: Updated pp with latest patches [98e16b9b8f62] * WHATSNEW: Sync with 1.7.4 [65ac4dafeef7] * doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/sudoers: Add commented out line to add HOME to env_keep and add a warning to the note about the HOME change in UPGRADE. [0d6a775bb6c8] 2010-07-20 Todd C. Miller * plugins/sudoers/sudoreplay.c: Add LINE_MAX define for those without it. [446d9dbe7859] * INSTALL, WHATSNEW, config.h.in, configure, configure.in, doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c: The tty_tickets option is now on by default. [a01c48206d80] * WHATSNEW: Mention that AIX authdb support has been fixed. [87bd7f4eba6a] * common/aix.c: setauthdb() only sets the "old" registry if it was set by a previous call to setauthdb(). To restore the original value, passing NULL (or an empty string) to setauthdb() is sufficient. [470da190a254] 2010-07-19 Todd C. Miller * WHATSNEW, doc/UPGRADE, doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/env.c: Reset HOME when env_reset is enabled unless it is in env_keep [f421f8827340] * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod: The default for set_logname has been "true" for some time now. [f489da5674c3] * plugins/sudoers/boottime.c: Add missing include of time.h [624d7014932f] * plugins/sudoers/logging.c: Fix check for dup2() return value. [140ea2d50d20] * plugins/sudoers/env.c: Add PYTHONUSERBASE to initial_badenv_table [3149aae5b12c] * plugins/sudoers/visudo.c: Treat an unknown defaults entry as a parse error. [b3ebad73efb2] * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c: Check return value of setdefs() but don't stop setting defaults if we hit an unknown one. [945e752239ab] * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in, doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod, pathnames.h.in, plugins/sudoers/env.c: If env_reset is enabled, set the MAIL environment variable based on the target user unless MAIL is explicitly preserved in sudoers. [a1b03e2e0e96] 2010-07-17 Todd C. Miller * pp: decode debian code names [8741280d9960] * WHATSNEW: fix typo [a8a19451110b] 2010-07-16 Todd C. Miller * WHATSNEW: Merge with 1.7.4 [9348fa7e15b8] * src/sudo.c: Restore RLIMIT_NPROC after the uid switch if it appears that runas_setup() did not do it for us. Fixes a bash script problem on SuSE with RLIMIT_NPROC set to RLIM_INFINITY. [786fb272e5fd] 2010-07-15 Todd C. Miller * mkpkg, pp, sudo.pp: Restore the dot removal in the os version reported by polypkg. Adapt mkpkg and sudo.pp to the change. [dcafdd53b88f] 2010-07-16 Todd C. Miller * INSTALL: document --with-pam-login [ea93e4c6873c] * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod: The tag is NOSETENV, not UNSETENV. From Petr Uzel. [2ac90d8de36e] 2010-07-15 Todd C. Miller * sudo.pp: Include flavor in solaris package name [e605f6364c9f] * mkpkg: Older shells don't support IFS= so set explictly to space, tab, newline. [7773960bc8a0] * mkpkg: Use '=' not '==' in test [c99d42bc48e6] * mkpkg: Fix typo that prevented debian from matching [84421078fcb7] * mkpkg: Add missing prefix setting for debian [6466f23de4aa] * sudo.pp: Use tab indents to reduce the chance of problem with <<- Fix the debian %set section, pp does not set pp_deb_distro Uncomment %sudo line in sudoers for debian Uncomment some env_keep lines for RHEL, SLES and debian to more closely match the vendor sudoers files. Add /etc/pam.d to %files Remove the /etc/sudo-ldap.conf symlink on debian for ldap flavor [c5b49feb1a0c] * plugins/sudoers/sudoers: Add commented out env_keep entries, sample Aliases and a %sudo line for debian. [387719e52d0f] * configure, configure.in: Move zlib check later on in the script to avoid a strange shell problem on SLES11. [1a3153bb1291] * configure.in: Remove check for egrep; configure has its own [a3b9d98cb5d2] 2010-07-14 Todd C. Miller * mkpkg: Enable zlib for linux distros [8fa51a1405a4] * mkpkg: Add ldap flavor to default build [97644f5a555f] * mkpkg, sudo.pp: Simplify rpm linux distro settings [b9dcf10cdf20] * aclocal.m4, configure, configure.in, doc/UPGRADE, doc/sudoers.cat: Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo. [2c549c1acde9] * Makefile.in: Fix ChangeLog creation from build dir [3d0c7904f173] * plugins/sudoers/sudoers.c: Handle getcwd() failure. [aef7bef87394] * doc/Makefile.in, mkpkg, sudo.pp: Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR environment variable. [be6ed611b7a8] * sudo.pp: Create sudo group on debian [6ed6c032042e] * mkpkg, sudo.pp: Add debian 4/5/6 and use the dot when doing version matches [6bcb664d1f4f] * aclocal.m4, configure: Use a loop when searching for mv, sendmail and sh [d5e9369f8d13] * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod: Remove spurious "and"; from debian [a21e6f7c5b99] * aclocal.m4, configure, configure.in, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod, doc/visudo.cat, doc/visudo.man.in, doc/visudo.pod: Substitute the value of EDITOR into the sudoers and visudo manuals. [cd79e587dd7f] 2010-07-13 Todd C. Miller * mkpkg, pp, sudo.pp: Initial support for debian 4.0 [ac6707915fa8] * mkpkg: Some platforms need -fPIE instead of -fpie [fd6be19e5bc2] * plugins/sudoers/auth/pam.c: Only set PAM_RHOST for Solaris, where it is needed to avoid a bug. On Linux it causes a DNS lookup via libaudit. [1e10105ade5b] * MANIFEST: Update MANIFEST to match packaging changes [ef86ee557b5b] * sudo.psf: We now use pp to generate HP-UX packages [f7aa8da7844e] * INSTALL.binary, plugins/sudoers/Makefile.binary.in: Remove vestiges of old binary package bits. [afffd005452f] * INSTALL, Makefile.in, common/Makefile.in, compat/Makefile.in, doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in, plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in: install-man -> install-doc [99b5fa05567c] * Makefile.in, doc/Makefile.in, include/Makefile.in, mkpkg, plugins/sudoers/Makefile.in, pp, src/Makefile.in, sudo.pp: Use http://rc.quest.com/topics/polypkg/ for packaging [5ca8eb75b223] * install-sh: Just ignore the -c option, it is the default Add support for -d option [a8b6b0a131e8] 2010-07-12 Todd C. Miller * pathnames.h.in, plugins/sudoers/env.c, plugins/sudoers/logging.c: Use _PATH_STDPATH instead of _PATH_DEFPATH [137fa911908e] * plugins/sudoers/Makefile.in, src/Makefile.in: Do not strip binaries. [20166e287176] * INSTALL, configure, configure.in: Add --insults=disabled configure option to allow people to build in insult support but have the insults disabled unless explicitly enabled in sudoers. [523b8c552e90] * compat/mkstemps.c: Add prototype for gettime() [275eee40473b] * config.h.in, configure, configure.in, plugins/sudoers/auth/pam.c, plugins/sudoers/env.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: Add support for a sudo-i pam.d file to be used for "sudo -i". Adapted from a RedHat patch. [06d34f16520b] 2010-07-09 Todd C. Miller * include/missing.h: Fix mkstemps() prototype [2421841e815b] * MANIFEST, compat/Makefile.in, compat/mkstemp.c, compat/mkstemps.c, config.h.in, configure, configure.in, include/missing.h, src/sudo_edit.c: Use mkstemps() instead of mkstemp() in sudoedit. This allows sudoedit to preserve the file extension (if any) which may be used by the editor (like emacs) to choose the editing mode. [d33172d2c086] 2010-07-08 Todd C. Miller * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod, plugins/sudoers/ldap.c: TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you should avoid disabling TLS_CHECKPEER is possible. [196622436212] 2010-07-07 Todd C. Miller * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Make sudo_plugin format a bit more like a man page [048d596e32da] * plugins/sudoers/toke.c, plugins/sudoers/toke.l: Add suport for negated user/host/command lists in a Defaults entry. E.g. Defaults:!baduser noexec [d41112cf0342] * Makefile.in, common/Makefile.in, compat/Makefile.in, doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in, plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in: Add uninstall target [fea66ebf136a] * common/Makefile.in, compat/Makefile.in: Remove unused AR, SED and RANLIB variables [2ff9928bfdb3] * Makefile.in: Do not install sample plugins [5443b87bd1c3] 2010-07-06 Todd C. Miller * MANIFEST, aclocal.m4, compat/setenv.c, compat/unsetenv.c, configure, configure.in, plugins/sudoers/env.c: Now that sudoers is a dynamically loaded module we cannot override the libc environment functions because the symbols may already have been resolved via libc. Remove getenv/putenv/setenv/unsetenv replacements from sudoers and add replacements for setenv/unsetenv for systems that lack them. [3f2b43cb8851] * configure, configure.in, plugins/sudoers/Makefile.in: Link testsudoers with -ldl when needed [f79606f9fcd7] * plugins/sample_group/plugin_test.c: Remove unused time.h and add limits.h for PATH_MAX [3f5d0074d621] * doc/sudoers.ldap.pod: Fix typo. [bc855fd57397] 2010-07-05 Todd C. Miller * plugins/sample_group/plugin_test.c: Do not depend on strlcpy/strlcat [6e7e2b5af051] * plugins/sample_group/plugin_test.c: Standalone test driver for sudoers group plugin. [eb1235fc3b8e] 2010-07-02 Todd C. Miller * plugins/sudoers/group_plugin.c, src/load_plugins.c: Use RTLD_LAZY instead of RTLD_NOW; was using RTLD_NOW as a debugging aid. [2a34e616229b] * plugins/sample_group/sample_group.c: Fix style nit in function declarations [ab87c7c76bf9] * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod: Document group_plugin syntax. [ed1faf72ddcb] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Document the sudoers group plugin. [f19a62dc8cfc] * INSTALL, MANIFEST, Makefile.in, config.h.in, configure, configure.in, doc/LICENSE, doc/license.pod, include/sudo_plugin.h, plugins/sample_group/Makefile.in, plugins/sample_group/getgrent.c, plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in, plugins/sudoers/def_data.c, plugins/sudoers/def_data.h, plugins/sudoers/def_data.in, plugins/sudoers/group_plugin.c, plugins/sudoers/match.c, plugins/sudoers/nonunix.h, plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c, plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c, src/sudo.c: Replace built-in non-unix group support with a sudoers group plugin. Include a sample plugin that can read Unix-format group files. [8fc58ce0b1a8] * configure, configure.in, src/load_plugins.c: Add a trailing slash to _PATH_SUDO_PLUGIN_DIR to simplify usage. [5c491dddb8ef] 2010-07-01 Todd C. Miller * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod: Move sudoers-specific bits out of sudo(8) and into sudoers(5) [e8a5a5830cfe] * aclocal.m4, configure, configure.in: Substitute @io_logdir@ for the sudoers I/O log directory. [21a75ca7b0ab] 2010-06-29 Todd C. Miller * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c, common/atobool.c, common/fileops.c, common/fmt_string.c, common/lbuf.c, common/term.c, compat/fnmatch.c, compat/getcwd.c, compat/getgrouplist.c, compat/getline.c, compat/glob.c, compat/snprintf.c, config.h.in, configure, configure.in, include/fileops.h, plugins/sample/sample_plugin.c, plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/boottime.c, plugins/sudoers/check.c, plugins/sudoers/defaults.c, plugins/sudoers/env.c, plugins/sudoers/find_path.c, plugins/sudoers/getdate.c, plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c, plugins/sudoers/goodpath.c, plugins/sudoers/gram.c, plugins/sudoers/gram.y, plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c, plugins/sudoers/ldap.c, plugins/sudoers/logging.c, plugins/sudoers/match.c, plugins/sudoers/parse.c, plugins/sudoers/pwutil.c, plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c, plugins/sudoers/toke.c, plugins/sudoers/toke.l, plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c, src/Makefile.in, src/aix.c, src/conversation.c, src/exec.c, src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c, src/sudo.c, src/sudo.h, src/sudo_edit.c, src/tgetpass.c: Set usrinfo for AIX Set adminstrative domain for the process when looking up user's password or group info and when preparing for execve(). Include strings.h even if string.h exists since they may define different things. Fixes warnings on AIX and others. [cf8b93e872c9] * Makefile.in: Add a separate all target for AIX make which was using the entire LHS (not just the first entry) of the first target as the implicit target. [a45b980a01ef] * plugins/sudoers/env.c: Do not rely on env.env_len when unsetting a variable, just use the NULL terminator. [ca6eb239c829] * plugins/sudoers/env.c: In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008 [7046ba7caa4e] 2010-06-25 Todd C. Miller * plugins/sudoers/vasgroups.c: Use warningx() instead of log_error() since the latter is not available to visudo or testsudoers. This does mean that they don't end up in syslog. [152b7c50f426] * plugins/sudoers/sudoers.c: Defer call to sudo_nonunix_groupcheck_cleanup() until after we have closed the sudoers sources. From Quest sudo. [c1cd573bab94] * plugins/sudoers/pwutil.c: Ignore case when matching user/group names in the cache. From Quest sudo. [2aa4ecc7d7f5] 2010-06-24 Todd C. Miller * config.h.in, configure, configure.in, src/selinux.c: Add check for setkeycreatecon() when --with-selinux is specified. [affae247b4e0] * configure, configure.in: Error out if libaudit.h is missing or ununable when --with-linux- audit was specified [d82e743fac04] * doc/HISTORY, doc/history.pod: Add =head3 entries, mostly for the html version [ee93112d0308] 2010-06-22 Todd C. Miller * doc/HISTORY, doc/history.pod: Mention when LDAP was incorporate. [2923dc17f79c] 2010-06-21 Todd C. Miller * configure, configure.in: Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is not covered by _ALL_SOURCE. [c92fd69809d0] 2010-06-18 Todd C. Miller * plugins/sudoers/iolog.c: Add a cast to quiet a compiler warning. [a200e07ee1bc] * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y: Quiet a compiler warning. [c9acfc927cea] * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c: Call set_fqdn() after sudoers has parsed instead of inline as a callback. [5f4e5d075f2d] * WHATSNEW, plugins/sudoers/sudoers.c: Do not call set_fqdn() until sudoers parses (where is gets run as a callback). [09040fca6d40] * WHATSNEW: mention the change in tty ticket behavior when there is no tty [575a1fd98f05] * plugins/sudoers/check.c: Do not update tty ticket if there is no tty. [63f9c33ce6a7] * doc/LICENSE, doc/license.pod: Update copyright year [0722ab5d404b] * doc/Makefile.in: Do not rely on BSD make's $> [936a86398bd9] * configure, configure.in: Set timedir to /var/db/sudo for darwin to match Apple sudo's location [d5b9b03096f1] 2010-06-16 Todd C. Miller * plugins/sudoers/sudoers.h: Add stub declarations for struct stat and struct timeval [f6d90551a4fd] * MANIFEST: Remove compat/sigaction.c [d0ed6d9a770e] * config.h.in, configure, configure.in, plugins/sudoers/defaults.c, plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c: Check for zlib.h in addition to libz. [6e191b4a6065] * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h, src/sudo_exec.h: Move functions and symbols shared between exec.c and exec_pty.c into sudo_exec.h. [14ae63403544] * doc/Makefile.in: Comment out rules to build .man.in and .cat files unless --with- devel [3cf7e5606a85] * doc/Makefile.in: Comment out rules to build .man.in and .cat files unless --with- devel [d30495b0e29e] * src/parse_args.c: Quote any non-alphanumeric characters other than '_' or '-' when passing a command to be run via the shell for the -s and -i options. [d633f74fe2d9] * doc/Makefile.in: Add back .man suffix [6e63b60a2739] * INSTALL, MANIFEST, WHATSNEW, config.h.in, configure, configure.in, plugins/sudoers/Makefile.in, plugins/sudoers/audit.c, plugins/sudoers/bsm_audit.c, plugins/sudoers/linux_audit.c, plugins/sudoers/linux_audit.h, plugins/sudoers/logging.h, src/selinux.c: Add Linux audit support. [5a2f445e0bd4] 2010-06-15 Todd C. Miller * plugins/sudoers/iolog.c: Remove an XXX [a170cbe651d1] * doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod, plugins/sudoers/sudoreplay.c: Add -f (filter) option to sudoreplay to allow certain streams to be replayed and others ignored. [62e51b432ea1] * src/load_plugins.c, src/parse_args.c, src/sudo.c, src/sudo.h, src/tgetpass.c: Fix -A flag when askpass is specified in sudo.conf or if sudo doesn't need to read a password. [2e401e4a00e3] * src/exec.c, src/exec_pty.c, src/parse_args.c, src/sudo.c, src/sudo.h, src/sudo_edit.c, src/tgetpass.c: Clean up some XXXs [689f0b002d3d] * WHATSNEW, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod, plugins/sudoers/ldap.c: Add support for multiple sudoers_base entries in ldap.conf. From Joachim Henke [e3e4a3c2bd5b] * config.h.in, configure, configure.in, plugins/sudoers/logging.c, src/exec_pty.c: remove setsid check, we require a POSIX system [cc73cb9e22c0] * plugins/sudoers/logging.c, src/exec_pty.c, src/selinux.c, src/sudo.c, src/tgetpass.c: Check for dup2() failure. [5d46d66794f5] * config.h.in, configure, configure.in: Remove dup2() check, it is not optional. [5f1d56de4384] 2010-06-14 Todd C. Miller * WHATSNEW: sync with sudo 1.7.3 [88e5c0bd6d59] * INSTALL: SunOS does not ship with an ANSI compiler [f13c85c67069] * INSTALL: Update OS specific notes. Delete some really ancient ones and move older ones to the end of the list. [59ce592c4c52] * README: Sudo can be downloaded from the web site too Mention "OS dependent notes" section in INSTALL [191871538984] * src/exec_pty.c, src/selinux.c: Call selinux_restore_tty() as part of cleanup() so it gets called from error()/errorx() [bb017da6b6da] * MANIFEST, doc/PORTING: Remove obsolete porting guide [321e35591344] * plugins/sudoers/interfaces.h, plugins/sudoers/match.c: Move union sudo_in_addr_un into interfaces.h [b2c8b19ee094] * doc/Makefile.in: Remove useless circular dependencies [5682181b59cf] * plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c: Convert to ANSI C function declarations [a4f76927d034] * common/alloc.c, common/fileops.c, common/gettime.c, common/list.c, common/zero_bytes.c, compat/charclass.h, compat/closefrom.c, compat/fnmatch.c, compat/glob.c, compat/isblank.c, compat/memrchr.c, compat/mkstemp.c, compat/nanosleep.c, compat/snprintf.c, compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c, compat/strlcpy.c, compat/timespec.h, compat/utime.h, compat/utimes.c, doc/HISTORY, doc/history.pod, doc/license.pod, include/alloc.h, include/error.h, include/lbuf.h, include/list.h, include/missing.h, pathnames.h.in, plugins/sudoers/alias.c, plugins/sudoers/audit.c, plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/boottime.c, plugins/sudoers/bsm_audit.c, plugins/sudoers/bsm_audit.h, plugins/sudoers/defaults.c, plugins/sudoers/defaults.h, plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c, plugins/sudoers/goodpath.c, plugins/sudoers/gram.y, plugins/sudoers/interfaces.c, plugins/sudoers/interfaces.h, plugins/sudoers/logging.c, plugins/sudoers/logging.h, plugins/sudoers/match.c, plugins/sudoers/parse.h, plugins/sudoers/plugin_error.c, plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c, plugins/sudoers/redblack.h, plugins/sudoers/sudo_nss.h, plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c, plugins/sudoers/toke.l, plugins/sudoers/visudo.c, src/aix.c, src/conversation.c, src/error.c, src/load_plugins.c, src/parse_args.c, src/sesh.c, src/sudo.h, src/sudo_noexec.c, src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c: Update copyright year [26ac7991f7d8] * doc/Makefile.in: Fix commented DEVDOCS when not in devel mode. [e0a97eaf3793] * plugins/sudoers/match.c: Quiet a compiler warning. [b2a17ebd5d38] * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y: Quiet a compiler warning. [687843bc593d] * plugins/sudoers/ldap.c, plugins/sudoers/sudoers.h: Make all functions in ldap.c static [b2111e89eeba] * doc/schema.ActiveDirectory: Updates from Alain Roy to provide better examples for importing the schema and to fix problems caused by Windows validating attributes which have not yet been added before committing the changes. [69f4c5ccaf89] 2010-06-11 Todd C. Miller * configure, configure.in, doc/Makefile.in, doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in: Leave rules to build .man.in and .cat files uncommented but only make them part of the "all" rule in devel mode. Generate .cat files directly from .man.in instead of .man using default values in configure.in [c3054a44f6a5] * configure, configure.in: Bump sudo version to 1.8.0b1 [8f79c85135e1] * configure, configure.in, src/sudo.c, src/sudo_usage.h.in: Print configure args with verbose version information. [1ce690660ed2] * TODO, plugins/sudoers/visudo.c: Remove tfd from struct sudoersfile; it is not used. Add prev pointer to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE. Use tq_append to append sudoers entries to the tail queue. [1743f9a286e4] 2010-06-10 Todd C. Miller * WHATSNEW: Describe tty timestamp improvements [e214e863a313] * plugins/sudoers/toke.c, plugins/sudoers/toke.l: A comment character may not be part of a command line argument unless it is quoted with a backslash. Fixes parsing of: testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441 [ea2e990f85ed] * doc/sudoers.pod: Make this read a little bit better when passwd_timeout is 0. [39d362757f31] * doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod: Attempt to handle a default password prompt timeout of zero more gracefully. [ea47d43acf5b] * plugins/sudoers/toke.c, plugins/sudoers/toke.l: Do not override value of keepopen global, instead restore it to the value we pushed onto the stack when popping. [fe282e5a3402] * plugins/sudoers/Makefile.in: Add dependency for utility programs on libreplace and libcommon [2339aba64928] * compat/sigaction.c, config.h.in, configure.in, include/compat.h, plugins/sudoers/logging.c, plugins/sudoers/mon_systrace.c, src/exec.c, src/exec_pty.c, src/tgetpass.c: Remove sigaction emulation Use SA_INTERRUPT in sa_flags [7dd61f1bd8d2] * MANIFEST, config.h.in, configure, configure.in, include/missing.h: We don't use getgrouplist() at the moment so there's no need to provide a compat version. [1597536fbada] * TODO: sync with reality [9e1a874e7885] * include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c, src/conversation.c, src/sudo.h, src/tgetpass.c: Fix visiblepw sudoers option; the plugin API portion still needs documenting [60b6933ef5e0] * src/sudo.c: Print sudo version as well. [987ed459b459] * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c: Use sudo_printf for I/O log version Clarify policy plugin version string [5a58b7e8c80b] * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y, plugins/sudoers/ldap.c, plugins/sudoers/sudoreplay.c: Silence some compiler warnings [afb1eba90915] * src/load_plugins.c, src/tgetpass.c: Store askpass path in a global instead of uses setenv() which many systems lack. [b440bcc0e660] 2010-06-09 Todd C. Miller * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod, plugins/sudoers/check.c, plugins/sudoers/def_data.c, plugins/sudoers/def_data.h, plugins/sudoers/def_data.in, plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/load_plugins.c, src/parse_args.c, src/tgetpass.c: Move askpass path specification from sudoers to sudo.conf. [5507ab867c26] * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h: Use a flag bit in struct command_details for selinux instead of a separate field. [c59ca4acded9] * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h: Implement background mode. If I/O logging we use pipes instead of a pty. [c07a4b356cbd] * compat/mksiglist.c, compat/strsignal.c, include/compat.h, src/exec.c, src/exec_pty.c, src/tgetpass.c: Move compat definition of NSIG to compat.h [ab0385467f25] * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Mention plugins in the sudo manual and add some missing path substitution in the sudo_plugin manual. [570f831f47a3] * src/Makefile.in: Set _PATH_SUDO_CONF based on $(sysconfdir) [fde51869cf07] * common/lbuf.c, common/term.c, config.h.in, configure, configure.in, src/exec.c, src/exec_pty.c, src/ttysize.c: Require POSIX termios to build sudo [9ec6b41f3f95] * src/tgetpass.c: Ignore SIGPIPE for "sudo -S" [7ad27fde0c06] * src/tgetpass.c: Fix uninitialized variable in TGP_ECHO case and print a newline if the user interrupted password input. [ce19204d8dd4] * src/tgetpass.c: Make TGP_ECHO override TGP_MASK and don't try to restore the terminal if we didn't modify it. [a7e11abfe7e4] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod, include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c, src/conversation.c, src/sudo.h, src/tgetpass.c: Add SUDO_CONV_PROMPT_MASK define which corresponds to the "pwfeedback" sudoers option. Do not disable echo if TGP_ECHO is set. [e0550590cabe] * src/exec_pty.c: Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl [762448182fe3] 2010-06-08 Todd C. Miller * src/exec.c, src/exec_pty.c, src/selinux.c, src/sudo.c, src/sudo.h: Add selinux_enabled flag into struct command_details and set it in command_info_to_details(). Return an error from selinux_setup() instead of exiting. Call selinux_setup() from exec_setup(). [011bea23a5a0] 2010-06-09 Todd C. Miller * src/exec_pty.c: Remove commented out copy of old sudo_execve() function. [9c5e21380472] 2010-06-08 Todd C. Miller * plugins/sudoers/sudoers.c: Fix setting selinux type on command line. [814b20a0b3be] * plugins/sudoers/iolog.c: In sudoers_io_close(), skip NULL io_fds[] elements. [4011ff7d4daf] * include/compat.h: No longer need NGROUPS_MAX define [cae4c49d7077] * compat/nanosleep.c, config.h.in, configure, configure.in, include/compat.h, plugins/sudoers/check.c, plugins/sudoers/iolog.c, plugins/sudoers/visudo.c, src/sudo_edit.c: Replace timerfoo macros with timevalfoo since the timer macros are known to be busted on some systems. [4f97d79f2d41] * src/exec_pty.c: Remove duplicate call to selinux_setup(). [82bd52764e21] * plugins/sudoers/auth/pam.c: If pam_open_session() fails, pass its status to pam_end. [1d8de4cf8ff3] * plugins/sudoers/toke.c, plugins/sudoers/toke.l: If a file in a #includedir has improper permissions or owner just skip it. This prevents packages that incorrectly install a file into /etc/sudoers.d from breaking sudo so easily. Syntax errors in #includedir files still result in a parse error (for now). [ade99a4549a4] * WHATSNEW, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/def_data.c, plugins/sudoers/def_data.h, plugins/sudoers/def_data.in, plugins/sudoers/iolog.c: Add use_pty sudoers option to force use of a pty even when not logging I/O. [b280a8972a79] * plugins/sudoers/env.c, plugins/sudoers/sudoers.h: Make env_init() void as it never fails. [d3890e55daa7] * plugins/sudoers/env.c: No longer use _NSGetEnviron so don't need crt_externs.h [9b4e0e139881] * plugins/sudoers/env.c: Remove unused VNULL define [a42cacb263e3] 2010-06-07 Todd C. Miller * plugins/sudoers/iolog.c: Add #define for maximum session id [9e18c17a28c2] * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h: Split exec.c into exec.c and exec_pty.c [d52376327332] * MANIFEST: Sync with source file moves. [4a62c6c9e846] * src/Makefile.in, src/get_pty.c, src/pty.c: Rename pty.c -> get_pty.c [5696a12bd29b] 2010-06-06 Todd C. Miller * plugins/sudoers/iolog.c: Only use I/O input log file if def_log_input is set and output file if def_log_output is set. [d866992f1681] 2010-06-04 Todd C. Miller * compat/strsignal.c: Update copyright year [a96f2593fd4e] * src/pty.c: uid -> ttyuid [c3454d74ebcb] * plugins/sudoers/sudoers.c: For sudoedit, make a local copy of editor string si become part of argv. If no editor environment variable, split def_editor on ':' since it may be a colon-delimited path. [2ee298506a6e] * src/sudo_edit.c: Remove unneeded endpwent()/endgrent() [623f6743d101] * doc/Makefile.in: Use value of nroff from configure [b2ce649125ab] * src/exec.c: Add missing const to I/O log action function [d764a3955e04] * plugins/sudoers/check.c: Update copyright year and fix whitespace [e648c35b16be] * configure, configure.in: Fix typo [8e0bdfc47da4] * plugins/sudoers/iolog.c: Remove redundant tty signal blocking in log function. [f17f575dabd4] 2010-06-03 Todd C. Miller * plugins/sudoers/iolog.c: Place static keyword where it belongs [b01aec7c86b4] * plugins/sudoers/logging.c: Always use a printf format string for send_mail() [13b1ada644c9] * common/atobool.c, plugins/sudoers/ldap.c: Extend atobool() so we can use it in the LDAP code. [73f8e6807044] * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod: Sudo now stashes tty ctime for tty_tickets on Solaris too. [e82df13ad3fd] * plugins/sudoers/boottime.c: Fix dummy version of get_boottime() [01d69c06013b] 2010-06-02 Todd C. Miller * plugins/sudoers/check.c: Enable tty_is_devpts() support for Solaris with the "devices" filesystem. [237c6b25fa84] * src/exec.c: Unbreak the non-io logging case. [4822b9f709fb] * src/conversation.c, src/sudo.c, src/sudo_plugin_int.h: Fix symbol name conflict with sudo_printf. [0d44eab0a8f6] * plugins/sudoers/auth/pam.c: Fix OpenPAM detection for newer versions. [1b2abed232d8] * plugins/sudoers/vasgroups.c: Sync with Quest sudo git repo [f1d98b3cba02] * aclocal.m4, configure, configure.in: HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check Add missing template for ENV_DEBUG Adapted from Quest sudo [695dbd7b28f4] * README.LDAP: Fix typos; from Quest Sudo [4eba9da33b8e] 2010-06-01 Todd C. Miller * plugins/sudoers/Makefile.in: Add back -I$(top_srcdir); we need it for including compat/foo.h since we cannot rely on "foo.h" being found relative to the source file when the cwd is different. [bbf24695f325] * src/exec.c: Fix a bug where we could treat EAGAIN as a permanent error. Also set cstat if perform_io() returns an error. [200475c4326f] * common/alloc.c, plugins/sudoers/boottime.c, plugins/sudoers/sudoers.c: Add casts to quiet compiler warnings. [85eb1c336697] * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c: Fix typo in ternary operator usage. [6492ac1450e2] 2010-05-30 Todd C. Miller * INSTALL, configure, configure.in: Add --enable-warnings and fix typo in SUDO_IO_LOGDIR [92121d693b30] * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod, doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod: Update docs to match sudoers I/O logging changes [18d651989e49] * INSTALL, WHATSNEW, aclocal.m4, configure, configure.in, pathnames.h.in, plugins/sudoers/def_data.c, plugins/sudoers/def_data.h, plugins/sudoers/def_data.in, plugins/sudoers/defaults.c, plugins/sudoers/gram.c, plugins/sudoers/gram.h, plugins/sudoers/gram.y, plugins/sudoers/iolog.c, plugins/sudoers/parse.c, plugins/sudoers/parse.h, plugins/sudoers/sudoers.c, plugins/sudoers/sudoreplay.c: Break sudoers transcript feature up into log_input and log_output. [db3c1248d2ad] * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c: Use setprogname() as needed. [6beee63a4553] * plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c: Adapt sudoreplay to iolog changes. [581f52c05f0f] 2010-05-29 Todd C. Miller * plugins/sudoers/iolog.c: Log all input and output into separate files and store a number on each timing file line to indicate which file the data is in. [fb460c5273dd] * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: Make sudoers_io functions static to iolog.c [b2df3cc3eecb] 2010-05-28 Todd C. Miller * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, src/parse_args.c, src/sudo_usage.h.in: Completely remove the -L flag from the sudo front end. [3d220030b720] * plugins/sudoers/sudoreplay.c: Fix EAGAIN handling when writing to stdout. [4766d77cea49] * plugins/sudoers/sudoers.c: Eliminate unused variables [83bd711e79c4] * plugins/sudoers/sudoers.c, src/exec.c, src/sudo.c: Re-enable cleanup functions in sudoers plugin and sudo driver for error()/errorx(). [43093f937dd8] * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/defaults.c, plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c, plugins/sudoers/parse.c, plugins/sudoers/sudoers.c, plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c: Use sudo_printf to display verbose version information. [435cc9f8d4a2] * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in: Minor Makefile cleanup: fix a typo, change the removal order in the clean targets, and remove a superfluous include path for the sudoers plugin. [6e3b2d6b4437] * plugins/sudoers/env.c: Handle duplicate variables in the environment. For unsetenv(), keep looking even after remove the first instance. For sudo_putenv(), check for and remove dupes after we replace an existing value. [c1bbb88d0435] 2010-05-27 Todd C. Miller * plugins/sudoers/Makefile.in: Use explicit path to source file instead of $< for files that live in devdir and top_srcdir. [358ab7f6cc64] * plugins/sudoers/Makefile.in: Add explicit rules to compile gram.c and toke.c for HP-UX Pevent ending LIBSUDOERS_OBJS with a backslash [481a5c96d47e] * plugins/sudoers/Makefile.in, src/Makefile.in: Link libcommon before libreplace since libcommon may use functions only present in libreplace. [1847c496ff5b] * common/Makefile.in: Move code common to sudo and the sudoers plugin to a convenience library, libcommon. Removes the need to make links in the sudoers plugin dir and reduces re-compilation of duplicate object files. [4c8986352937] * Makefile.in, common/alloc.c, common/atobool.c, common/fileops.c, common/fmt_string.c, common/gettime.c, common/lbuf.c, common/list.c, common/term.c, common/zero_bytes.c, configure, configure.in, plugins/sample/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in, src/alloc.c, src/atobool.c, src/fileops.c, src/fmt_string.c, src/gettime.c, src/lbuf.c, src/list.c, src/term.c, src/zero_bytes.c: Move code common to sudo and the sudoers plugin to a convenience library, libcommon. Removes the need to make links in the sudoers plugin dir and reduces re-compilation of duplicate object files. [1d1d98bd55b9] * src/exec.c, src/sudo.c, src/sudo.h: Rename script_execve to sudo_execve and rename script_foo in exec.c [a35ec80de96a] * MANIFEST, src/Makefile.in, src/exec.c, src/script.c: rename script.c exec.c and fix up the MANIFEST file [36bc3bff9578] * src/script.c, src/sudo.c, src/sudo.h: Rename script_setup() to pty_setup() and call from script_execve() directly. [899b0fb2a14d] * configure, configure.in: bump version to 1.8.0a2 [0b1c1ca9d4e5] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Document init_session [b5324785a406] * plugins/sudoers/auth/API, plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h: Clean up the sudoers auth API a bit and update the docs. [c40fd4cb6e68] * include/sudo_plugin.h, plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/script.c, src/sudo.c: Add init_session function to struct policy_plugin that gets called before the uid/gid/etc changes. A struct passwd pointer is passed in,which may be NULL if the user does not exist in the passwd database.The sudoers module uses init_session to open the pam session as needed. [d71723320ee8] 2010-05-26 Todd C. Miller * plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: Add open/close session to sudo auth, only used by PAM. This allows us to open (and close) the PAM session from sudoers. [2665e2920d0d] * plugins/sudoers/Makefile.in: Add explicit rule to build getdate.o for HP-UX make. [7f049e989956] * plugins/sudoers/Makefile.in: Back out most of change 45e406ebdea2. Create dummy .l.c and .y.c rules as an alternate way to prevent HP-UX make (and others) from trying to rebuild the parser in non-dev mode. [f84badad98c5] * plugins/sudoers/sudoers.c: Re-enable PATH_MAX check for command [40d8a50da136] * Makefile.in: For distclean, clean the main directory last since the subdirs need to be able to run libtool to clean things. [8949a9861634] * compat/Makefile.in: Fix generation of mksiglist.h [b7cdc9b36650] * src/script.c: Now that we defer sending cstat until the end of script_child() we cannot reuse cstat when reading command status from parent. [25c882643466] 2010-05-25 Todd C. Miller * configure, configure.in, doc/sudo.man.in, doc/sudo.man.pl, doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in: Use numeric registers to handle conditionals instead of trying to do it all with text processing. [478079c3fd4b] * doc/sudoers.pod: Document per-command SELinux settings [13840d566805] * plugins/sudoers/sudoers.c: Repair "sudo -l -U username" [10a0dcdf2ddf] * plugins/sudoers/sudoers.c: Set selinux role and type in command details. [8ae6d35a126d] * src/script.c, src/selinux.c, src/sudo.h: Rework SELinux support. [83279cc94bf2] 2010-05-24 Todd C. Miller * src/script.c, src/selinux.c, src/sudo.h: Make SELinux support compile again. Needs more work to be complete. [3d3addebcf82] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/parse_args.c, src/script.c, src/selinux.c, src/sudo.c, src/sudo.h: Bring back closefrom settings. [b1c6257d4bbb] * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: If running a command or sudoedit in transcript mode, call io_nextid() before log_allowed() so the session id is logged. [c42f3ae40150] * configure, configure.in: Use mandoc(1) if nroff(1) is not present. [daad4bbd04af] * doc/Makefile.in: Use the --file argument to config.status instead of setting CONFIG_FILES in the environment. [c89411a8bf70] * plugins/sudoers/Makefile.in: We cannot conditionally update gram.h or the dependency ordering gets messed up in devel mode. [c938953231d9] 2010-05-21 Todd C. Miller * Makefile.in, compat/Makefile.in, configure, configure.in, doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in: Substitute @SHELL@ into Makefiles [36aa6a095335] * config.sub: Fix typo [16d294d26b58] * config.guess, config.sub, configure, configure.in: Update to autoconf 2.65 [4fa6ea8caea3] * Makefile.in: Fix libtool target (space vs. tabs) [755cf3892618] * config.h.in, plugins/sudoers/logging.h, plugins/sudoers/visudo.c: Remove use of RETSIGTYPE; all modern systems have signal handlers that return void. [42b4e3aee668] * Makefile.in, aclocal.m4, acsite.m4, configure, configure.in, ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4, plugins/sample/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in: Update to libtool-2.2.6b. I haven't made any local modifications this time, which should be OK since we install sudo_noexec.so by hand now. [6f79ced593bb] * compat/Makefile.in, plugins/sample/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in: Use libtool to clean objects [1581057d6472] * include/Makefile.in: Install sudo_plugin.h as part of "make install" and make other install targets callable from the top-level Makefile [aaaeb027d774] * configure, configure.in: regen with autoupdate to eliminate AC_TRY_LINK [5d5541c230f5] * Makefile.in, compat/Makefile.in, configure, configure.in, doc/Makefile.in, plugins/sample/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in: Install sudo_plugin.h as part of "make install" and make other install targets callable from the top-level Makefile [b258b8401b1c] * plugins/sample/sample_plugin.c: The sample plugin doesn't support being run with no args so return a usage error in this case. [473b3cf965be] * plugins/sudoers/iolog.c: Set close on exec flag for descriptors used for I/O logging so they are not present in the command being run. [2c7e8708df76] * plugins/sudoers/tsgetgrpw.c: Set close on exec flag in private versions of setpwent() and setgrent(). [64fef78cb833] * src/script.c: Close the I/O pipes aftering dup2()ing them to std{in,out,err}. Fixes extra fds being present in the command when it is part of a pipeline. [060451617713] * plugins/sudoers/sudoers.c: Set user_tty to "unknown" if there is no tty, like sudo 1.7 does (it is used when logging). Note that user_ttypath will still be NULL if there is no tty. [31b69a6ecda7] * src/script.c, src/sudo.h: Cosmetic changes: add comments, remove orphaned prototype and make a global static. [f7851af0143e] 2010-05-20 Todd C. Miller * src/script.c: Move check for maxfd == -1 to flush_output where it belongs. [b826a95b4491] * src/script.c: Break out of select loop if all the fds we want to select on are -1. [f5b387024238] * src/sudo.c: Avoid possible malloc(0) if plugin returns an empty groups list. [9765a8fe5ce7] * src/sudo.c: Add debugging info when calling plugin close function [95a273c7ff66] * src/script.c: Avoid closing stdin/stdout/stderr when we are piping output. [330e76423caf] * src/script.c: When execve() of the command fails, it is possible to receive SIGCHLD before we've read the error status from the pipe. Re-order things such that we send the final status at the very end and prefer error status over wait status. [b0dcf825244f] 2010-05-19 Todd C. Miller * plugins/sudoers/auth/sudo_auth.c: Fix compilation for non PAM/BSD auth/AIX auth [e382b39d2e4f] 2010-05-18 Todd C. Miller * src/script.c: Additional checks to make sure we don't close /dev/tty by mistake. When flushing, sleep in select as long as we have buffers that need to be written out. [8139cbd3dd54] * src/script.c: Now that we can use pipes for stdin/stdout/stderr there is no longer a need to error out when there is no tty. We just need to make sure we don't try to use the tty fd if it is -1. [666621635d26] 2010-05-17 Todd C. Miller * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod, include/sudo_plugin.h, plugins/sample/sample_plugin.c, plugins/sudoers/iolog.c, plugins/sudoers/sudoers.h, src/sudo.c: Add argc and argv to I/O logger open function. [0d7faa007d27] * doc/sudo_plugin.man.in, doc/sudo_plugin.pod, include/sudo_plugin.h, plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c, src/parse_args.c, src/sudo.c, src/sudo_edit.c: Remove check_sudoedit function pointer in struct sudo_policy. Instead, sudo will set sudoedit=true in the settings array. The plugin should check for this and modify argv_out as appropriate in check_policy. [c0328e3276b8] 2010-05-16 Todd C. Miller * plugins/sample/sample_plugin.c, src/sudo.c, src/sudo.h, src/sudo_edit.c: If plugin sets "sudoedit=true" in the command info, enable sudoedit mode even if not invoked as sudoedit. This allows a plugin to enable sudoedit when the user runs an editor. [96d67b99e42e] 2010-05-15 Todd C. Miller * plugins/sudoers/Makefile.in: gram.h must not depend on gram.y if we want to avoid unnecessary rebuilding of targets dependent on gram.h when gram.y changes. [9db4b767fdca] * plugins/sample/sample_plugin.c: Refactor common bits of check_policy and check_edit [ac4d366a04cf] * plugins/sample/sample_plugin.c: Add sudoedit support [a1a6cc4c0cef] 2010-05-14 Todd C. Miller * plugins/sudoers/Makefile.in: Rely more on VPATH; fixes a dependency issue with the parser. [45e406ebdea2] * include/compat.h: Fix typo introduced in last commit [3ccb0f853d11] * include/compat.h: Emulate seteuid using setreuid() or setresuid() as needed. There are still a few places that call seteuid() directly. [36e8efa3a99d] * src/parse_args.c, src/sudo_edit.c: Attempt to fix building on systems that only have setuid. [8e9ba4083318] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Clarify sudoedit a tad. [d39dfaa14ade] 2010-05-13 Todd C. Miller * src/sudo_edit.c: Fix compilation on HP-UX [f6e47843d139] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Document sudoedit [4cbf5196d993] * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo.h, src/sudo_edit.c: Change how we handle the sudoedit argv. We now require that there be a "--" in argv to separate the editor and any command line arguments from the files to be edited. [20623d549a3c] * include/sudo_plugin.h, plugins/sample/sample_plugin.c, plugins/sudoers/Makefile.in, plugins/sudoers/gettime.c, plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c, src/Makefile.in, src/gettime.c, src/parse_args.c, src/sudo.c, src/sudo.h, src/sudo_edit.c: Work in progress support for sudoedit. The actual interface used by the plugin for sudoedit is likely to change. [c31262a31997] * plugins/sudoers/find_path.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c: Make find_path() a little more generic by not checking def_foo variables inside it. Instead, pass in ignore_dot as a function argument. [9c23101a094d] * plugins/sudoers/env.c: Add version of getenv(3) that uses our own environ pointer. [0e3783e63534] 2010-05-12 Todd C. Miller * src/script.c: Avoid a potential race condition if SIGCHLD is received immediately before we call select(). [99adc5ea7f0a] * plugins/sudoers/sudoers.c: Call env_init() before we open the sudoers sources as those may call our setenv() replacement. [5f82601f5ab0] * plugins/sudoers/env.c: Initialize env_len in env_init() [7ae02b3029b5] 2010-05-11 Todd C. Miller * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod: Document time stamp shortcomings under SECURITY NOTES Use "time stamp" instead of timestamp. [2b86120815b2] * doc/Makefile.in: Make sed substitution of mansectsu and mansectform global. [94588632dba0] * plugins/sudoers/check.c: If the tty lives on a devpts filesystem, stash the ctime in the tty ticket file, as it is not updated when the tty is written to. This helps us determine when a tty has been reused without the user authenticating again with sudo. [0e62a31bceb0] * src/tgetpass.c: Fix pasto in mulitple signal fix and use _NSIG not NSIG since that is what our compat checks set. [df50f0a040c9] * configure, configure.in: Add check for whether sudo need to link with -ldl to get dlopen(). This is a bit of a hack that will get reworked when libtool is updated. [63bdcf579533] * plugins/sudoers/check.c: Fix timestamp removal with -k/-K [6b4639fef973] * plugins/sudoers/Makefile.in: audit.c is now private to the sudoers plugin [1974f342ae0b] * configure, configure.in: Link with -lpthread on HP-UX since a plugin may be linked with -lpthread and dlopen() will fail if the shared object has a dependency on -lpthread but the main program is not linked with it. [d42139391263] * config.h.in, configure, configure.in, plugins/sudoers/set_perms.c: Add separate test for getresuid() since HP-UX has setresuid() but no getresuid(). [910fe727a374] * doc/Makefile.in: Remove errant backslash [dd5464257c69] * src/script.c: Fix SIGPIPE handling. Now that we use may use pipes for stdin/stdout we need to pass any SIGPIPE we receive to the running command. [3f6b1991f4fd] * src/script.c: Also start the command in the background if stdin is not a tty. [d93bc33a3740] 2010-05-10 Todd C. Miller * plugins/sudoers/sudoreplay.c, src/script.c, src/sudo.h, src/term.c: No need to use pseudo-cbreak mode now that we use pipes when stdout is not a tty. Instead, check whether stdin is a tty and if not, delay setting the tty to raw mode until the command tries to access it itself (and receives SIGTTIN or SIGTTOU). [e68315cf8c6b] * src/tgetpass.c: Use an array for signals received instead of a single variable so we don't lose any when there are multiple different signals. [2ac726dac864] * src/tgetpass.c: Do signal setup after turning off echo, not before. If we are using a tty but are not the foreground pgrp this will generate SIGTTOU so we want the default action to be taken (suspend process). [bebb6209c795] 2010-05-07 Todd C. Miller * src/script.c: Flush the iobufs on suspend or child exit using the same logic as the main event loop. [c627feee1035] * src/script.c: Free memory after we are done with it. [8db9b611b45a] 2010-05-06 Todd C. Miller * doc/HISTORY: Quest now sponsors Sudo development [6cc490083bc7] 2010-05-05 Todd C. Miller * doc/Makefile.in: Install sudo_plugin man page. [c253729790b2] * src/script.c: Go back to reseting io_buffer offset and length (and now also the EOF handling) in the loop we do the FD_SET, not after we drain the buffer after write() since we don't know what order reads and writes will occur in. [5f38bfa8497f] * MANIFEST: audit files moved to sudoers plugin directory [b1ead182428e] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Document plugin_printf and new logging functions. [fe9430b60ab5] * src/script.c: Add support for logging stdin when it is not a tty. There is still a bug where "cat | sudo cat" has problems because both cat and sudo are trying to read from the tty. [04c9c59fcfba] * include/sudo_plugin.h, plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c, src/script.c: Add separate I/O logging functions for tty in/out and stdin/stdout/stderr. NOTE: stdin logging does not currently work and is disabled for now. [a36dfd4ca935] 2010-05-04 Todd C. Miller * include/sudo_plugin.h, plugins/sample/sample_plugin.c, plugins/sudoers/iolog.c, plugins/sudoers/ldap.c, plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/conversation.c, src/sudo.c, src/sudo_plugin_int.h: Add pointer to a printf like function to plugin open functon. This can be used instead of the conversation function to display info and error messages. [98734eea8ef1] * Makefile.in: Stop if make in a subdir fails [228bb3ad2dbc] * src/script.c: Only set user's tty to blocking mode when doing the final flush. Flush pipes as well as pty master when the process is done. [20ff67218666] 2010-05-03 Todd C. Miller * plugins/sudoers/ldap.c: Use print_error() when displaying ldap config info in debugging mode. [d142e0cacb22] * compat/Makefile.in, compat/strdup.c, compat/strndup.c: No longer need strdup() or strndup() replacements. [df53697174ec] * plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c, plugins/sudoers/sudoers.h: Add print_error() function that uses the conversation function to print a variable number of error strings and use it in log_error(). [b1fa2861b575] * src/script.c, src/sudo.h, src/term.c: Do not need the opost flag to term_copy() now that we use pipes for stdout/stderr when they are not a tty. [f42811f70a19] * src/script.c: Use pipes to the sudo process if stdout or stderr is not a tty. Still needs some polishing and a decision as to whether it is desirable to add additonal entry points for logging stdout/stderr/stdin when they are not ttys. That would allow a replay program to keep things separate and to know whether the terminal needs to be in raw mode at replay time. [1a945e0ab2da] 2010-04-30 Todd C. Miller * plugins/sudoers/Makefile.in, plugins/sudoers/audit.c, plugins/sudoers/bsm_audit.c, plugins/sudoers/bsm_audit.h, src/audit.c, src/bsm_audit.c, src/bsm_audit.h: Move audit sources into the sudoers plugin dir; the driver does not use them. [50ec36422cd0] * compat/getline.c, compat/mksiglist.c, compat/nanosleep.c, compat/strdup.c, compat/strndup.c, plugins/sample/sample_plugin.c, plugins/sudoers/boottime.c, plugins/sudoers/getdate.c, plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c, plugins/sudoers/timestr.c, plugins/sudoers/vasgroups.c, src/alloc.c, src/atobool.c, src/audit.c, src/lbuf.c, src/list.c, src/sesh.c, src/term.c, src/ttysize.c: Use angle brackets when including headers that can only be found when an -I flag is specified. The files in the compat dir could get away with double quotes here but I've converted all the source files to use angle brackets for consistency. [9e30a8fc6d4b] * plugins/sudoers/Makefile.in: Add missing -I$(top_srcdir) to CPPFLAGS so includes in the compat dir can be found when building outside the source tree. [1150934b79dd] * plugins/sudoers/Makefile.in: Clean up links in distclean [78595028be8b] * plugins/sudoers/Makefile.in: Hack around VPATH semantic differences by symlinking files we need from ../../src into the current directory and build those. A better fix would be to either make a .a or .la file with those files in it or simply use a single, flat, Makefile instead of per-subdirs Makefiles. [892c332d3f05] * plugins/sudoers/Makefile.in, src/Makefile.in, src/fmt_string.c: fmt_string is used by the sudoers plugin too so do not include sudo.h (which is not really needed here anyway) [231c35e3941f] * compat/Makefile.in, plugins/sample/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in: Fix building with non-BSD versions of make such as GNU make. Requires VPATH support, which should be in any non-neolithic make. [dc174f135919] * configure, configure.in, plugins/sudoers/Makefile.in, plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c, src/Makefile.in: Re-enable bsm audit. Currently auditing is done within the sudoers plugin itself. If possible, this should really be done in the main driver but we don't presently have the needed data to do that. This will be re-evaluated when Linux audit support is added. [1d05a3236bfe] * compat/Makefile.in, plugins/sample/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in: Remove extraneous $srcdir and use more .c.lo and .c.o rules instead of explicit rules in the dependency. [88f80efd25f0] * plugins/sudoers/visudo.c: Fix mismerge; alias_remove_recursive() now returns int [6257a4849641] 2010-04-29 Todd C. Miller * plugins/sudoers/visudo.c: Fix a crash when checking a sudoers file that has aliases that reference themselves. Based on a diff from David Wood. [545d194484a7] * src/script.c: Print signal info after restoring the tty mode, not before. [a68618e67435] * src/script.c: Defer call to alarm() until after we fork the child. Pass correct pid to terminate_child() If the command exits due to signal, set alive to false like we do when it exits normally. Add missing check for errpipe[0] != -1 before using it in FD_ISSET [22f0a1549391] 2010-04-28 Todd C. Miller * plugins/sudoers/boottime.c: Use 1/0 instead of TRUE/FALSE so we don't need sudoers.h [0e627170c6e8] 2010-04-27 Todd C. Miller * src/Makefile.in: Simplify dependencies by using .c.o and .c.lo rules. [6abcaef5d1ac] * configure, configure.in, plugins/sudoers/Makefile.in, src/Makefile.in: Substitute in @PROGS@ into src/Makefile to add sesh [cc46d3b6208f] 2010-04-26 Todd C. Miller * plugins/sudoers/sudoers.c: Add back calls to log_denial() if sudoers does not allow the command. [9783316207f0] * plugins/sudoers/sudoers.c: Pass in correct pwflag for list and validate. [973dd56d4b81] * plugins/sudoers/env.c: Add missing check for NULL in validate_env_vars [1d6eb6957824] * src/Makefile.in: Add sudo_noexec.la to "all" target, otherwise it only gets built at install time. [644a9694d2ef] * plugins/sudoers/sudoers.c: Only set sudo_user.env_vars if the env_add list is empty. [fccdf6f0e0e2] * plugins/sudoers/sudoers.c: Set sudo_user.env_vars so that environment variables specified on the command line get logged correctly. [9b51012c491e] * plugins/sudoers/env.c, plugins/sudoers/logging.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: Re-enable environment files and setting environment variables on the command line. [5662d5645dbd] 2010-04-24 Todd C. Miller * plugins/sudoers/check.c: Fix typo in last commit (ifndef vs ifdef) Make sure we pass ctime() a pointer to time_t as tv_sec in struct timeval may be long. [4de0c46e788e] * plugins/sudoers/check.c: Don't stash ctime in on-disk tty ticket info for now; on many (most?) systems the ctime is updated when the tty is written to. Once I have a better idea of what systems do not update ctime on ttys (and have a way to test for this) the ctime stash will be conditionally re-enabled. [a90eeec0f648] 2010-04-23 Todd C. Miller * MANIFEST, Makefile.in: Add back "dist" target, this time using a MANIFEST file [29277c05499f] * Makefile.in: Remove Makefile in distclean target [83d695f4f450] * Makefile.in, src/Makefile.in: Update clean and cleandir targets [ad7b2afeb9c1] * include/fileops.h, plugins/sudoers/sudoers.h, src/fileops.c, src/sudo.h: Move fileops.c defines and prototypes to filesops.h [4545e9b6892d] * plugins/sudoers/check.c: Lock the tty timestamp when writing. We shouldn't have to lock when reading since the file is updated via a single write system call. [0c7276f02696] 2010-04-22 Todd C. Miller * plugins/sudoers/alias.c, plugins/sudoers/check.c, plugins/sudoers/defaults.c, plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c, plugins/sudoers/gettime.c, plugins/sudoers/goodpath.c, plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c, plugins/sudoers/ldap.c, plugins/sudoers/logging.c, plugins/sudoers/match.c, plugins/sudoers/nonunix.h, plugins/sudoers/parse.c, plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c, plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c, plugins/sudoers/tsgetgrpw.c, plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c: Convert to ANSI C function declarations [9c45def57cf7] * plugins/sudoers/sudoers.h: Remove extraneous bits and classify by source file. [e8ea9f109ebb] * include/compat.h: Add timercmp macro for systems without it [d3bf87b1d08e] * plugins/sudoers/boottime.c, plugins/sudoers/check.c, plugins/sudoers/sudoers.h: get_boottime() now fills in a timeval struct [3573c3f44e11] * plugins/sudoers/check.c: Store info from stat(2)ing the tty in the tty ticket when tty tickets are in use. On most systems, this closes the loophole whereby a user can log out of a tty, log back in and still have the timestamp be valid. [53380f9f5242] * config.h.in, configure.in: Add timespec2timeval and use it when getting ctime/mtime [4cb7f7caec2c] 2010-04-20 Todd C. Miller * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c: Convert perm setting to push/pop model; still needs some work Use the stashed runas groups instead of using getgrouplist() Reset perms to the initial value on error [09c072ebde8b] * config.h.in, configure.in: fix ctim_get and mtim_get macros [58773dc1e360] * config.h.in, configure, configure.in, include/compat.h, plugins/sudoers/check.c, plugins/sudoers/gettime.c, plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/fileops.c: Use timeval directly instead of converting to timespec when dealing with file times and time of day. [a0ce1ae00a67] * plugins/sudoers/Makefile.in: Don't like sudoreplay with libsudoers.la due to a yacc symbol conflict. [f1a59cc63a15] 2010-04-18 Todd C. Miller * configure, configure.in: Darwin >= 9.x has real setreuid(2) [7ec942a64275] 2010-04-17 Todd C. Miller * plugins/sudoers/env.c, plugins/sudoers/sudoers.h: Ansify env.c [f58551bad10a] * plugins/sudoers/env.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: Remove remaining references to the environ pointer. [96faa530816a] 2010-04-16 Todd C. Miller * config.h.in, configure, configure.in, plugins/sudoers/env.c: Don't change the environ directly in the sudoers plugin [6db48ed3f7e0] 2010-04-15 Todd C. Miller * plugins/sudoers/sudoers.c: Fix typo [4aa452b07f8f] * plugins/sudoers/alias.c: Fix use after free in error message when a duplicate alias exists. [ce1d2812ee34] 2010-04-14 Todd C. Miller * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod, src/parse_args.c: Add a "noninteractive" boolean to the settings passed in to the plugin's open function that is set when the user specifies the -n flag. [68f8d9d6d4d0] * config.h.in, configure, configure.in, plugins/sudoers/env.c: Add workaround for the lack of the environ pointer on Mac OS X in dlopen()ed modules. Use of environ in the sudoers plugin should ultimately be removed but this will do for the moment. [80c61647434f] * plugins/sudoers/visudo.c: Set errorfile to the sudoers path if we set parse_error manually. This prevents a NULL dereference in printf() when checking a sudoers file in strict mode when alias errors are present. [45e249ca99f7] * plugins/sudoers/sudoers.c: Main sudo no longer print "unable to execute" on exec failure so do it here. [50aaf62b43b5] 2010-04-13 Todd C. Miller * src/script.c: Use a pipe to pass back errno to the parent if execve() fails. If we get an error in script_child(), kill the command and exit. [dc3bf870f91b] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod, src/parse_args.c, src/sudo.c: Handle plugin's open function returning -2 (usage error). [aadf900c1de8] * src/script.c: If execve() fails, leave it to the plugin to print an error string. [e25748f2d5b9] * src/script.c: If execve fails in logging mode, pass the errno directly to the grandparent on the backchannel and exit. The immediate parent will get SIGCHLD and try to report that status but its parent will no longer be listening. It would probably be cleaner to pass this over a pipe in script_child(). [cb122acc81a8] * plugins/sudoers/sudoers.c: Don't override rval with results of check_user() unless it failed. [46fb7e87ac7d] 2010-04-12 Todd C. Miller * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod: Fix typo [ccd0b693f3da] * src/parse_args.c: NULL-terminate env_add [2c534368a0c3] 2010-04-11 Todd C. Miller * src/sudo.c: Call the I/O log open function before the I/O version function. [e88bf898990b] * plugins/sudoers/iolog.c: Remove io_conv and just use sudo_conv [a280052468eb] * plugins/sudoers/set_perms.c: Fix set/restore perms for systems w/o setresuid [4160517f6666] 2010-04-10 Todd C. Miller * plugins/sudoers/check.c, plugins/sudoers/logging.c, plugins/sudoers/parse.c, plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: Primitive set/restore permissions. Will be replaced by a push/pop model. [aae102290866] * src/script.c: Only need to take action on SIGCHLD in parent if no I/O logger. If there is an I/O logger we will receive ECONNRESET or EPIPE when we try to read from the socketpair. [e1e4560401f6] 2010-04-09 Todd C. Miller * compat/memrchr.c, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/find_path.c: Merge fb4d571495fa from the 1.7 branch to trunk. [c8fb424ad4d2] 2010-04-08 Todd C. Miller * src/script.c: Don't set SA_RESTART when registering SIGALRM handler. Do set SA_RESTART when registering SIGWINCH handler. [173472b76525] * doc/Makefile.in: Add dev targets for *.man.in and *.cat that don't specfify the $(srcdir) prefix. [b62f425da2e4] * src/script.c: If log_input or log_output returns false, terminate the command. [074f4c0c34a0] * src/script.c: Better signal handling. Instead of using a single variable to store the received signal, use an array so we can't lose a signal when multiple are sent. Fix process termination by SIGALRM in non-I/O logger mode. Fix relaying terminal signals to the child in non-I/O logger mode. [7a4723aca99d] * src/script.c: Fix a race between when we get the child pid in the parent and when the child process exits. The problem exhibited as a hang after a short-lived process, e.g. "sudo id" when no IO logger was enabled. [80bcc0aca70b] 2010-04-07 Todd C. Miller * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod: Add a note about the security implications of the fast_glob option. [c37a92ab7c93] 2010-04-06 Todd C. Miller * config.h.in, configure, configure.in: Fix up some AC_DEFINE descriptions and regen config.h.in [f4655adc0db3] 2010-04-05 Todd C. Miller * include/missing.h: No longer check for strdup or strndup for LIBOBJ replacement. [fdc764ee8109] * src/script.c: Avoid installing signal handlers that are io-logger specific. Fixes job control when no io logger is enabled. [0853dd0906d4] * doc/Makefile.in: Only regen man pages from pod when configured with --with-devel [ab1995f8103d] 2010-04-04 Todd C. Miller * Makefile, Makefile.in, configure, configure.in: Top-level Makefile.in. Nothing is currently substituted but this is needed for separate build dirs. [e80873cbd201] * compat/Makefile.in, doc/Makefile.in, plugins/sample/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in: Fix out-of-tree builds [59a35bef07b8] * Merge [386b848047e9] * doc/Makefile.in: We always install sudoreplay in 1.8 [ce52ba6617c9] 2010-04-03 Todd C. Miller * compat/siglist.in: SIGPOLL is sometimes the same as SIGIO (like on HP-UX) [6d69e1b05faf] 2010-04-02 Todd C. Miller * configure, configure.in: No need to provide strdup() or strndup(), sudo uses estrdup() and estrndup() [57ec23b72958] 2010-04-04 Todd C. Miller * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c: Free str after using it in the version method. Use sudo_conv, not io_conv since we don't have the IO conversation function pointer in the I/O version method anymore now that io_open is delayed. [f2ed132adeb0] 2010-04-02 Todd C. Miller * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h, compat/siglist.in: Add license to mksiglist.c and note that the bits from pdksh are public domain [d8121a2467e8] * compat/Makefile.in: Fix LIBOBJDIR vs. srcdir wrt the siglist bits [164160148421] * plugins/sudoers/Makefile.in: Add sudoreplay testsudoers and visudo to clean target [138a17e51c0c] * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h, compat/siglist.in, compat/strsignal.c, configure, configure.in, include/missing.h, src/script.c: Create our own sys_siglist for systems without it for use by strsignal() [2e5da011ebc3] * compat/Makefile.in: Remove duplicate $(LIBOBJDIR) [adf9abc9432f] 2010-04-01 Todd C. Miller * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo_edit.c: Main sudo should not block signals; the plugin should do this in check_policy. [3f3736a7c5ed] 2010-03-31 Todd C. Miller * src/script.c: Fix a sizeof(ptr) vs. sizeof(*ptr) [aa1bcf5afcce] * src/script.c: Unlike most operating systems, HP-UX select() is not interrupted by SIGCHLD when the signal is registered with SA_RESTART. If we clear SA_RESTART when calling sigaction() for SIGCHLD we get the expected behavior and the code in the select() loops already handles EINTR correctly. [9eba0115e35a] * compat/getprogname.c: progname should be const [130228f062b7] * plugins/sudoers/Makefile.in: Move --tag=disable-static to when we link sudoers.la, not when we install. [ceb5e6c3b78b] * src/load_plugins.c: Load the sudoers I/O plugin by default too now that it is hooked up. [ea38befd0742] 2010-03-30 Todd C. Miller * src/pty.c: It looks like AIX doesn't need to push STREAMS modules for ptys. [22da618ba0a1] 2010-03-28 Todd C. Miller * src/parse_args.c, src/sudo.c: Delay calling the I/O plugin open function until the policy plugin returns success. [f3297c325b48] 2010-03-27 Todd C. Miller * plugins/sudoers/Makefile.in, plugins/sudoers/iolog.c, plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: Add back io logging (transcript) support. Currently, the open function runs too early and it is not possible to use the io module independently of the policy module. [9bd932f66226] * plugins/sudoers/set_perms.c: Comment out dead code; will be removed when set_perms is rewritten. [af7a995284f8] 2010-03-23 Todd C. Miller * plugins/sudoers/sudoers.c: Fix off by one error when allocating user_groups. [6281fcf9c3bb] 2010-03-22 Todd C. Miller * configure, configure.in, plugins/sudoers/Makefile.in: Add REPLAY_LIBS for sudoreplay and add -lrt to it on Solaris. [fbce3e9eda3a] * plugins/sudoers/sudoers.c: Fix typo in preserve groups case [1fd72024fb5a] * plugins/sudoers/sudoers.c: In command_info it is "runas_groups" not "groups". [5c64dce4f285] * src/sudo.c: Fix iteration over runas_groups list. [b3c45a0cd643] * configure, configure.in, plugins/sudoers/env.c, plugins/sudoers/match.c, src/script.c: Merge 5177a284b9ff 549f8f7c2463 88f3181692fe from 1.7 branch. [a8108a0776c2] * compat/getgrouplist.c: getgrouplist(3) for those without it [4ab4d21e3b16] * plugins/sudoers/sudoers.c: Set preserve_groups or groups list in command_info [1266119ad654] * src/sudo.c: Fix setting of groups list [e75315e40bd4] * config.h.in, configure, configure.in, include/compat.h, include/missing.h: Add checks for getgrset and getgrouplist and use replacement getgrouplist if the system doesn't support it. [a62b8ba50863] * src/parse_args.c: Pass in preserve_groups when the -P flag is specified as per the design [7420c5d15474] * plugins/sudoers/sudoers.c: Check preserve_groups and ignore_ticket args with atobool instead of assuming they are true if present. [71c905702697] 2010-03-21 Todd C. Miller * plugins/sudoers/Makefile.in, plugins/sudoers/error.c, plugins/sudoers/plugin_error.c: Rename plugin-specific error.c to plugin_error.c Wire up visudo, sudoreplay and testsudoers in the build [9d581d5fa4d4] * src/Makefile.in, src/term.c: term.c does not needto include sudo.h [f6683cdcd2dd] * TODO, doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Document the -2 return in the check_policy section too [e9cb4c34bbcf] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/parse_args.c, src/sudo.c, src/sudo.h: Fix the -s and -i flags and add support for the "implied_shell" option. If the user does not specify a command, sudo will now pass in the path to the user's shell and set impied_shell=true. The plugin can them either check the command normally or return -2 to cause sudo to print a usage message and exit. [bf889c38f229] 2010-03-19 Todd C. Miller * config.h.in, configure, configure.in, src/load_plugins.c: Bring back SUDOERS_PLUGIN but add .dylib -> .so conversion for Darwin where libraries end in .dylib but modules end in .so [2c56aaa38e21] * plugins/sudoers/parse.c: Better prefix determination now that we can't rely on len==0 to tell the beginning on an entry. [622bf18179e9] * plugins/sudoers/ldap.c: display_bound_defaults() stub should return 0, not 1 since it is a count, not a boolean. [0327a6c3d55d] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Document progname in settings [42031d56a2e3] * compat/getprogname.c, include/compat.h, plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c, src/parse_args.c, src/sudo.c: Rewrite compat/getprogname.c and add setprogname(). The progname is now passed to the plugin via the settings array. [25d8663e6006] * configure, configure.in, plugins/sudoers/Makefile.in: Fix --with-ldap [b64b633f426d] * plugins/sudoers/sudo_nss.c: Add missing whitespace for Runas and Command-specific defaults [65f4ddf5545e] * plugins/sudoers/ldap.c, plugins/sudoers/parse.c, plugins/sudoers/sudo_nss.c: Use embedded newlines in lbuf instead of multiple calls to lbuf_print. [eed3af9cc3e1] * src/lbuf.c: Add support for embedded newlines. [e11f79b18deb] 2010-03-18 Todd C. Miller * compat/getprogname.c: If system doesn't support getprogname or __programe and we are building a shared object don't bother with Argc/Argv, just return "sudo" [aebde9062be7] * config.h.in, configure, configure.in, src/load_plugins.c: Hard-code sudoers.so instead of using SUDOERS_PLUGIN since libtool appears to always install a shared object with the .so suffix. [f9bbd0c0e9d3] * compat/Makefile.in, configure, configure.in, plugins/sample/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in: Play more nicely with libtool and let it build libreplace (was libmissing) for us. [a4c6ebb2495c] * include/missing.h: Include stdarg.h for va_list rather than requiring all consumers of missing.h to include stdarg.h themselves. [37382df948de] * include/lbuf.h, plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/check.c, plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c, src/parse_args.c: Pass in output function to lbuf_init() instead of writing to stdout. A side effect is that the usage info can now go to stderr as it should. [6d261261a072] 2010-03-17 Todd C. Miller * include/lbuf.h, plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c, src/parse_args.c, src/sudo.c: Use number of tty columns that is passed in user_info instead of getting it directly in the lbuf code. [8a16635c2638] * plugins/sudoers/alias.c, plugins/sudoers/auth/dce.c, plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/check.c, plugins/sudoers/defaults.c, plugins/sudoers/defaults.h, plugins/sudoers/env.c, plugins/sudoers/getdate.c, plugins/sudoers/getdate.y, plugins/sudoers/gram.c, plugins/sudoers/gram.y, plugins/sudoers/interfaces.h, plugins/sudoers/logging.c, plugins/sudoers/logging.h, plugins/sudoers/match.c, plugins/sudoers/mon_systrace.h, plugins/sudoers/parse.c, plugins/sudoers/parse.h, plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c, plugins/sudoers/redblack.h, plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.h, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c, plugins/sudoers/toke.c, plugins/sudoers/toke.l, plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c: Kill __P in sudoers [63601e6cb171] * config.h.in, configure, configure.in, src/load_plugins.c: Set the sudoers plugin name in configure so we get the extension right. [edad89924cd1] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Document lines/cols in user_info [a808872394f3] * src/Makefile.in, src/sudo.c, src/sudo.h, src/ttysize.c: Add tty size to user info [23f3d27e77a7] * src/script.c: Use TIOCGSIZE/TIOCSSIZE instead of TIOCGWINSZ/TIOCSWINSZ [a2208dd09051] 2010-03-16 Todd C. Miller * plugins/sudoers/sudoers.c: Kill dead code Add missing sigsetjmp in sudo_policy_invalidate Error out if we fail to lookup the user's name that is passed in [e4e3728ed482] * plugins/sudoers/error.c: Pass the error value back via siglongjmp. [667b8ad575ce] * plugins/sudoers/check.c: Use conversation function for lecture. [1ab4719f509b] * plugins/sudoers/check.c: Don't update ticket file if verify_user returns FALSE. [2bbc46a39a2b] 2010-03-15 Todd C. Miller * plugins/sudoers/sudoers.c, src/sudo.c: Wire up invalidate and validate methods for sudoers [c0630c7bca47] * plugins/sudoers/check.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h: Add support for -k flag with a command. [edad239b098b] * src/parse_args.c: Allow -k to be specified with a command. [43a45add9974] * plugins/sudoers/sudoers.c: Wire up policy_list [27cc35699eca] * plugins/sudoers/error.c: Add newline at the end of message and space after the colon in warning message [5a591aa8e744] * plugins/sudoers/auth/sudo_auth.c: Add missing newline after pass password warning [337dba3870a7] * plugins/sudoers/sudoers.c: Set user_groups and user_ngroups based on user_info [61bee85128c8] * plugins/sudoers/error.c: Make this compile [7041c441e1c8] * plugins/sudoers/error.c, plugins/sudoers/sudoers.c: Make _warning in error.c use the conversation function and remove commented out warning/warningx in sudoers.c. [7c9b09024b63] * plugins/sudoers/logging.c: Use siglongjmp() in log_error for fatal errors [b50e26f1c73f] * plugins/sample/Makefile.in, plugins/sudoers/Makefile.in: Quiet a libtool warning [b2331fb006bc] * Makefile: Build sudoers plugin [5cdf06e66978] * plugins/sudoers/gram.c, plugins/sudoers/gram.y: Use warningx in yyerror() so the conversation function gets used when built as part of sudoers. [85f964215eef] 2010-03-14 Todd C. Miller * plugins/sudoers/auth/pam.c: Rename sudo_conv to conversation to avoid a namespace conflict. [1ad359d36be9] * plugins/sudoers/Makefile.in, plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/check.c, plugins/sudoers/defaults.c, plugins/sudoers/env.c, plugins/sudoers/error.c, plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c, plugins/sudoers/goodpath.c, plugins/sudoers/gram.c, plugins/sudoers/gram.y, plugins/sudoers/interfaces.c, plugins/sudoers/ldap.c, plugins/sudoers/logging.c, plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c, plugins/sudoers/parse.c, plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c, plugins/sudoers/toke.c, plugins/sudoers/tsgetgrpw.c, plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c: Initial bits of sudoers plugin; still needs work. [af2a2c59a952] * config.h.in: Add HAVE_STRDUP and HAVE_STRNDUP [50a3c0dd510f] * compat/Makefile.in, configure, configure.in: Build libmissing in two flavors (one PIC one non-PIC) and link with the appropriate one. [b62f411a4c18] * Makefile, compat/fnmatch.c, compat/glob.c, compat/nanosleep.c, compat/utimes.c, plugins/sample/Makefile.in, src/Makefile.in: Build libmissing in two flavors (one PIC one non-PIC) and link with the appropriate one. [e1e04972b5fe] 2010-03-13 Todd C. Miller * include/missing.h: Add strdup and strndup and fix strsignal [c159babe2896] 2010-03-12 Todd C. Miller * compat/strdup.c, compat/strndup.c, configure, configure.in, plugins/sample/Makefile.in, src/Makefile.in: Add strdup and strndup to compat [25c9fd399a4d] * plugins/sample/sample_plugin.c: Need to include compat.h before missing.h [c94f7aad380f] * compat/strsignal.c: Must check HAVE_DECL_SYS_SIGLIST == 1 (not just if defined) since if it doesn't exist configure will set it to 0. [384580566389] * compat/glob.c: Fix botched ANSI C coversion of globexp2() [4a344b8cbe49] * configure, configure.in: Remove redundant getgroups check [0b16ec210c81] * configure, configure.in, src/lbuf.c, src/script.c, src/term.c: Require either termios or termio, no more sgtty. [9b2fa2f17a1c] * compat/strsignal.c, config.h.in, configure, configure.in: Change the sys_siglist check to use AC_CHECK_DECLS and also check for _sys_siglist and__sys_siglist [2e078fed2408] 2010-03-11 Todd C. Miller * configure, configure.in, src/Makefile.in: Change SUDO_LDFLAGS to SUDOERS_LDFLAGS and add SUDOERS_OBJS. We now use SUDO_OBJS for the main driver as part of OBJS. [9ae4a80a5ade] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Mention in the conversation function section that a newline is not implicit. [04a233b6c491] * include/compat.h: Add definition of WCOREDUMP for systems without it. This is known to work on AIX and SunOS 4, but may be incorrect on other systems that lack WCOREDUMP. [c85b3ce6b77d] 2010-03-09 Todd C. Miller * plugins/sample/sample_plugin.c, src/conversation.c: conversation function no longer puts a newline at the end of info or error messages. [c534cae1ac4a] 2010-03-07 Todd C. Miller * src/script.c: Use parent process group id instead of parent process id when checking foreground status and suspending parent. Fixes an issue when running commands under /usr/bin/time and others. [564f528c3bb7] 2010-03-06 Todd C. Miller * aclocal.m4: transcript option is now --with not --enable [0646fac4cf93] * plugins/sample/sample_plugin.c: Add support to -u and -g flags Check fmt_string retval Add timeout for debugging purposes [cfefa4fa60b5] * src/script.c, src/sudo.c: Wire up SIGALRM handler Set close on exec flag for child side of the socketpair Fix signal handling when not doing I/O logging [379581ec7272] * src/sudo.c: g/c unused SIGCHLD handler [0afa03912dce] * src/fmt_string.c, src/parse_args.c, src/sudo.c: Don't use emalloc() in fmt_string(); we want to be able to use it from a plugin. [ade64d368147] * include/list.h: tq_remove not list_remove [0e0e1fd5c31c] * configure, configure.in: AUTH_OBJS should contain .lo files not .o files. [c64c82c9d5a2] 2010-03-05 Todd C. Miller * src/parse_args.c: Simplify conversion of command line args to name=value pairs. [75ab127c6a94] * plugins/sample/sample_plugin.c: Handle NULL reply from conversation function [6ce09b6cb204] * compat/getline.c: Don't depend on emalloc/erealloc [73df09e2109f] * plugins/sample/Makefile.in: Use $(OBJS) instead of sample_plugin.lo [2d995db9aa99] * plugins/sample/sample_plugin.c: runas_user is in settings not user_info [7ee12068bc57] * src/parse_args.c: Fix a mismatch between sudo_settings and settings_pairs that causes some settings to get the wrong values. [b1bc6d81a65f] 2010-03-04 Todd C. Miller * src/Makefile.in, src/aix.c, src/alloc.c, src/atobool.c, src/error.c, src/fileops.c, src/lbuf.c, src/list.c, src/pty.c, src/sesh.c, src/sudo.c, src/sudo_edit.c, src/term.c, src/zero_bytes.c: Convert to ANSI C [d03b6e4a3b75] * src/load_plugins.c: Fix strlcpy() return value check. [7cd66999a374] * INSTALL, configure, configure.in: No longer need to substitute in script.o and pty.o; I/O logging support is always built. [45250024c5dc] 2010-02-28 Todd C. Miller * src/script.c: Add fallback to /bin/sh when execve() fails with ENOEXEC. [7684a15a1352] * include/alloc.h, src/alloc.c: Add estrndup() [47621c83bed9] 2010-02-27 Todd C. Miller * src/script.c, src/sudo.c: Refactor script_execve() a bit so that it can be used in non-script mode. Needs more cleanup. [f09e022d547c] * src/sudo.c: Ignore empty entries in command_info list [1eea9a8de21c] * include/list.h, src/list.c: Add tq_remove [40908a617cb2] * src/conversation.c: Pass timeout to tgetpass() [9e66c918b771] * Makefile: Add ChangeLog target [da4a39150838] * README, WHATSNEW: Bump version and update things slightly for sudo 1.8.0 [4b73cc45e2d4] * configure, configure.in: Sudo now requires an ANSI/ISO C compiler [1e51f72e6964] * src/alloc.c, src/audit.c, src/error.c, src/lbuf.c, src/sudo_noexec.c: Convert to ANSI C [5cbd315dbde8] * include/alloc.h, include/compat.h, include/error.h, include/lbuf.h, include/list.h, include/missing.h: Convert to ANSI C [3f5016ff64f4] * compat/charclass.h, compat/closefrom.c, compat/fnmatch.c, compat/fnmatch.h, compat/getcwd.c, compat/getline.c, compat/getprogname.c, compat/glob.c, compat/glob.h, compat/isblank.c, compat/memrchr.c, compat/mkstemp.c, compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c, compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c, compat/utime.h, compat/utimes.c: Convert to ANSI C [0d635c85461c] 2010-02-24 Todd C. Miller * src/sudo.c, src/tgetpass.c: Make user_details extern so tgetpass can get at the uid and gid. Set uid/gid to user before executing askpass program. Check environment for SUDO_ASKPASS and use that if set. TODO: a way for the policy to set the askpass program itself [d33606396176] * src/sudo.c: No longer need sudo_usage.h in sudo.c [063e2946c382] * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.man.in, doc/sudo_plugin.pod, src/Makefile.in, src/parse_args.c, src/sudo_usage.h.in: Document -D level command line flag which maps to the debug_level setting. [61f1e2ab3ac1] * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Document debug_level in plugin doc. Still need to document the -D flag in sudo itself. [8c62daea3e9b] 2010-02-21 Todd C. Miller * plugins/sample/sample_plugin.c: include missing,h for vasprintf [92503de49b39] * doc/Makefile.in, doc/plugin.pod, doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod: Rename plugin.pod -> sudo_plugin.pod and wire into Makefile [14cfb4775238] * plugins/sample/sample_plugin.c: Need to include limits.h [bda7f74343d2] * compat/glob.c: No more sudo_getpw* [232e52907634] * plugins/sample/Makefile.in, src/Makefile.in: Add missing compat bits [4843dd000e08] * compat/closefrom.c, compat/mkstemp.c, plugins/sample/Makefile.in: compat files should not include sudo.h wire up compat in sample plugin [a175b8185e0f] * Makefile, configure, configure.in, doc/Makefile.in, src/Makefile.in: Fix up compat dependencies. Fix distclean target in doc/Makefile.in [57e49bc20857] * configure, configure.in: Fix typo [333655e3d5fe] * plugins/sample/sample_plugin.c: Log input and output to temp files for proof of concept. [ae1dfc34f7d6] * Makefile, configure, configure.in, doc/Makefile.in: Add doc Makefile.in and wire it up [6a310443c87d] * src/script.c: Handle SIGSTOP in addition to SIGTSTP. Fixes a problem with suspending a shell with the "suspend" builtint. [3d65f182819a] * src/script.c: In child, handle parent side of the pipe going away. [a29c14d78cd9] * src/script.c: No longer need to check for explicit death of the child (process #2) since if it dies we will get EPIPE from the socketpair. Fix a sizeof() that was causing a spurious error. Convert SCRIPT_DEBUG to sudo_debug. [24c55dd4ff60] * src/sudo.c: Make sudo_debug do a single vfprintf() which will result in a single write call on most systems. Avoids problems with interleaved debug printf from different processes. Also remove an extraneous error case since recv() can't return a short read and add some more XXX. [b37a8533ef1e] 2010-02-20 Todd C. Miller * src/script.c: Fix uninitialized variable. [e012a0a30890] * src/Makefile.in: Fix sudo install target [1417fa4b4ab9] * src/parse_args.c, src/sudo.c, src/sudo.h: Wire up debug_level [144fab289c73] * src/Makefile.in: Fix dependencies [5170940af2ce] * configure, configure.in: Fix setting of plugin dir [144eda170a72] * Makefile: add clean targets [d53f6f6f5c3a] * src/atobool.c: Add missing source for sudo front end [42487de9c489] * plugins/sample/Makefile.in, plugins/sample/sample_plugin.c: Sample plugin demonstrating the sudo plugin API [f1fd62d7644f] * Makefile, configure, configure.in, install-sh, pathnames.h.in, plugins/sudoers/install-sh, src/Makefile.in, src/conversation.c, src/fileops.c, src/fmt_string.c, src/load_plugins.c, src/parse_args.c, src/pty.c, src/script.c, src/sudo.c, src/sudo.h, src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c, sudo_usage.h.in: Modular sudo front-end which loads policy and I/O plugins that do most the actual work. Currently relies on dynamic loading using dlopen(). See doc/plugin.pod for the plugin API. [924f6eb2fbba] * doc/plugin.pod, include/sudo_plugin.h: Sudo plugin API [374ccbbd24ae] * compat/fnmatch.c, compat/glob.c, compat/nanosleep.c, compat/utimes.c, plugins/sudoers/check.c, plugins/sudoers/gettime.c, plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c, src/fileops.c, src/sudo_edit.c: Replace emul/include.h with compat/include.h to match new source tree layout. [7eccd10449a1] * src/lbuf.c: Include missing.h for memrchr() proto [03abd63a8a33] * HISTORY, LICENSE, Makefile.binary.in, Makefile.in, PORTING, TROUBLESHOOTING, UPGRADE, aix.c, aixcrypt.exp, alias.c, alloc.c, alloc.h, audit.c, auth/API, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, boottime.c, bsm_audit.c, bsm_audit.h, check.c, closefrom.c, compat.h, compat/charclass.h, compat/closefrom.c, compat/fnmatch.c, compat/fnmatch.h, compat/getcwd.c, compat/getline.c, compat/getprogname.c, compat/glob.c, compat/glob.h, compat/isblank.c, compat/memrchr.c, compat/mkstemp.c, compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c, compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c, compat/timespec.h, compat/utime.h, compat/utimes.c, def_data.c, def_data.h, def_data.in, defaults.c, defaults.h, doc/HISTORY, doc/LICENSE, doc/PORTING, doc/TROUBLESHOOTING, doc/UPGRADE, doc/history.pod, doc/license.pod, doc/sample.pam, doc/sample.sudoers, doc/sample.syslog.conf, doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet, doc/sudo.cat, doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod, doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod, doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoers.pod, doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod, doc/visudo.cat, doc/visudo.man.in, doc/visudo.pod, emul/charclass.h, emul/fnmatch.h, emul/glob.h, emul/timespec.h, emul/utime.h, env.c, error.c, error.h, fileops.c, find_path.c, fnmatch.c, getcwd.c, getdate.c, getdate.y, getline.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c, gram.c, gram.h, gram.y, history.pod, include/alloc.h, include/compat.h, include/error.h, include/lbuf.h, include/list.h, include/missing.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, install-sh, insults.h, interfaces.c, interfaces.h, isblank.c, lbuf.c, lbuf.h, ldap.c, license.pod, list.c, list.h, logging.c, logging.h, match.c, memrchr.c, missing.h, mkdefaults, mkstemp.c, mon_systrace.c, mon_systrace.h, nanosleep.c, nonunix.h, parse.c, parse.h, plugins/sudoers/Makefile.binary.in, plugins/sudoers/Makefile.in, plugins/sudoers/aixcrypt.exp, plugins/sudoers/alias.c, plugins/sudoers/auth/API, plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/boottime.c, plugins/sudoers/check.c, plugins/sudoers/def_data.c, plugins/sudoers/def_data.h, plugins/sudoers/def_data.in, plugins/sudoers/defaults.c, plugins/sudoers/defaults.h, plugins/sudoers/env.c, plugins/sudoers/find_path.c, plugins/sudoers/getdate.c, plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c, plugins/sudoers/gettime.c, plugins/sudoers/goodpath.c, plugins/sudoers/gram.c, plugins/sudoers/gram.h, plugins/sudoers/gram.y, plugins/sudoers/ins_2001.h, plugins/sudoers/ins_classic.h, plugins/sudoers/ins_csops.h, plugins/sudoers/ins_goons.h, plugins/sudoers/install-sh, plugins/sudoers/insults.h, plugins/sudoers/interfaces.c, plugins/sudoers/interfaces.h, plugins/sudoers/ldap.c, plugins/sudoers/logging.c, plugins/sudoers/logging.h, plugins/sudoers/match.c, plugins/sudoers/mkdefaults, plugins/sudoers/mon_systrace.c, plugins/sudoers/mon_systrace.h, plugins/sudoers/nonunix.h, plugins/sudoers/parse.c, plugins/sudoers/parse.h, plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c, plugins/sudoers/redblack.h, plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c, plugins/sudoers/sudo_nss.h, plugins/sudoers/sudoers, plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, plugins/sudoers/sudoers2ldif, plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c, plugins/sudoers/toke.c, plugins/sudoers/toke.l, plugins/sudoers/tsgetgrpw.c, plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c, pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers, sample.syslog.conf, schema.ActiveDirectory, schema.OpenLDAP, schema.iPlanet, script.c, selinux.c, sesh.c, set_perms.c, sigaction.c, snprintf.c, src/aix.c, src/alloc.c, src/audit.c, src/bsm_audit.c, src/bsm_audit.h, src/error.c, src/fileops.c, src/lbuf.c, src/list.c, src/pty.c, src/script.c, src/selinux.c, src/sesh.c, src/sudo_edit.c, src/sudo_noexec.c, src/term.c, src/tgetpass.c, src/zero_bytes.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.man.pl, sudo.pod, sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudoers, sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.man.pl, sudoers.pod, sudoers2ldif, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l, tsgetgrpw.c, utimes.c, vasgroups.c, visudo.c, visudo.cat, visudo.man.in, visudo.pod, zero_bytes.c: Rework source layout in preparation for modular sudo. [7fc1978c6ad5] 2010-02-13 Todd C. Miller * Avoid a duplicate fclose() of the sudoers file. [5dba851088c1] * Fix size arg when realloc()ing include stack. From Daniel Kopecek [0a2935061e33] * Use setrlimit64(), if available, instead of setrlimit() when setting AIX resource limits since rlim_t is 32bits. [353db89bac61] * Fix use after free when sending error messages. From Timo Juhani Lindfors [e50dbd902382] * ChangeLog, Makefile.in: Generate the ChangeLog as part of "make dist" instead of having it in the repo. [251b70964673] 2010-01-17 Todd C. Miller * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, closefrom.c, compat.h, configure.in, defaults.c, defaults.h, emul/charclass.h, emul/timespec.h, env.c, error.c, error.h, fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h, isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c, logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c, mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in, pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers, sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c, sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod, sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in, sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod, sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod, term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l, utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c: Remove CVS $Sudo$ tags. [de683a8b31f5] 2010-01-18 convert-repo * .hgtags: update tags [9b7aa44ae436] 2009-12-26 Todd C. Miller * sudo_usage.h.in: make this match sudoers SYNOPSIS [c74ba66944c2] * lbuf.c, parse.c: Print a newline between Runas and Command-specific defaults in sudo -l. [b5bdfcc9ce4b] * term.c: Use SET and CLR macros in term_raw [50ca42609d6c] * sudoreplay.c: Set stdin to non-blocking mode early instead of in check_input. Use term_raw instead of term_cbreak since the data we get has already been expanded via OPOST. [51c47e803d62] 2009-12-23 Todd C. Miller * script.c, term.c: Enable/disable all postprocessing instead of just nl->crnl processing since things like tab expansion matter too. However, if stdout is a tty leave postprocessing on in the pty since we run into problems doing it only on the real stdout with .e.g nvi. [62666e309673] 2009-12-19 Todd C. Miller * check.c: If tty_tickets is enabled and there is no tty, prompt for a password. Do not lecture user for "sudo -k command" if user has a timestamp. [5880200c5f6b] * INSTALL: Document missing options: --with-efence and --with-bsm-audit [d83afcdf9ff3] * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat, visudo.man.in, visudo.pod: username -> user name groupname -> group name hostname -> host name [10c85646f45d] * INSTALL, README.LDAP, sudoers.pod: filename -> file name like the rest of the docs [1ef8ab5a9018] 2009-12-17 Todd C. Miller * parse.c: Fix printing of entries with multiple host entries on a single line. [226ceaf91d8d] 2009-12-14 Todd C. Miller * sudoers.pod: Mention that targetpw affects the timestamp file name. [a26e22e4f72e] * def_data.c, def_data.h, def_data.in, defaults.c, script.c, sudoers.pod: Add compress_transcript option. [6e94f8cb9dfb] 2009-12-13 Todd C. Miller * configure, configure.in: bump to 1.7.3b2 [906d7e347d15] * pwutil.c, set_perms.c, sudo.c, sudo_nss.c: Better split of membership vs. traditional group check in user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails. [6ebc55d4716b] 2009-12-12 Todd C. Miller * pwutil.c: Fix pasto and add default return value. [7973b5e4599c] * check.c, match.c, pwutil.c, sudo.h: refactor group member checking into user_in_group() [48ca8c2eddf8] * check.c, config.h.in, configure, configure.in, match.c, sudo.c, sudo.h: Add support for mbr_check_membership() as present in darwin. [5501aed02b9f] 2009-12-10 Todd C. Miller * match.c: Rename label to be accurate [3af17dd960f7] * Makefile.in, boottime.c, check.c, config.h.in, configure, configure.in, sudo.h: Treat timestamp files from before we booted as old. Idea from and Apple patch. [5c96e484c05a] 2009-12-09 Todd C. Miller * sudo.c, sudo.pod, sudo_usage.h.in: Allow the -u flag to be used in conjunction with the -v flag as per older versions of sudo. [591e9fc13c1a] * logging.c: fix typo in last commit [4fd0c692dcf0] 2009-12-08 Todd C. Miller * logging.c: Convert fmt_first and fmt_confd into macros. [32e870158b29] * sudoers.pod: timeouts can be floats now [89de639a9679] * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c, defaults.h, mkdefaults: Add support for floating point timeout values (e.g. 2.5 minutes). [210ffa291733] 2009-12-07 Todd C. Miller * sudo.pod: The -L flag will be removed in sudo 1.7.4 [ffd026084333] 2009-12-06 Todd C. Miller * sudoreplay.c: Fix a bug due to order of operators. [938d34464283] 2009-11-23 Todd C. Miller * match.c: cmnd_matches() already deals with negation so _cmndlist_matches() does not need to do so itself. Fixes a bug with negated entries in a Cmnd_List. [71c845f6ce73] 2009-11-22 Todd C. Miller * sudo.c: Don't exit() from open_sudoers, just return NULL for all errors. [8cfa832f972a] * script.c: Can't rely on the shell sending us SIGCONT when transitioning from backgroup to foreground process. [3c6c5b6cb4b3] * toke.c, toke.l: Add missing extern def for parse_error [45b7b59d03b7] 2009-11-21 Todd C. Miller * toke.c, toke.l: Avoid a parse error when #includedir doesn't find any files. Closes bug #375 [1ce1b850e9e6] * Makefile.in: Include sudo.man.pl and sudoers.man.pl in the distribution tarball. [6a22e32da108] 2009-11-15 Todd C. Miller * script.c: Start command out in foreground mode if stdout is a tty. Works around issues with some curses-based programs that don't handle tcsetattr getting interrupted by a signal. Still allows us to avoid hogging the tty if the command is part of a pipeline. [1c32f2b94769] * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c: Use a socketpair to pass signals from parent to child. Child will now pass command status change info back via the socketpair. This allows the parent to distinguish between signals it has been sent directly and signals the command has received. It also means the parent can once again print the signal notifications to the tty so all writes to the pty master occur in the parent. The command is now always started in background mode with tty signals handled by the parent. [c6790b82986d] 2009-11-04 Todd C. Miller * configure, configure.in: Fix a few typos in the descriptions; from Jeff Makey Only do the check for krb5_get_init_creds_opt_free() taking two arguments if we find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false positive when using our own krb5_get_init_creds_opt_free which takes only a single argument. [845a9ff6f93d] 2009-11-03 Todd C. Miller * configure, configure.in: Remove a spurious comma in the kerb5 bits. [3433eab083db] * auth/kerb5.c: Call krb5_get_init_creds_opt_init() in our emulated krb5_get_init_creds_opt_alloc() for MIT kerberos. [7ffb40bf43e9] 2009-11-01 Todd C. Miller * config.h.in: Add HAVE_ZLIB [9297bde61ecc] * script.c: Need to ignore SIGTT{IN,OU} in child when running the command in the background. Also some minor cleanup. [dc208d982319] 2009-10-31 Todd C. Miller * script.c: Instead of calling sigsuspend when waiting for SIGUSR[12] from parent, install the signal handlers w/o SA_RESTART and let them interrupt waitpid(). [759c7d18203b] * script.c: Pass along SIGHUP and SIGTERM from parent to child. [035b0e254568] * script.c: Close unused bits of script_fds in processes that don't need them. Restore default SIGCONT handler in child. [e037378ab0c1] * script.c: Update foreground/background status in SIGCONT handler in parent process. [3f7f91333264] 2009-10-25 Todd C. Miller * script.c: Defer setting terminal into raw mode until just before we fork() and only do it if sudo is the foreground process. If we get SIGTT{IN,OU} and sudo is already in the foreground be sure to set raw mode before continuing the child. [1102ef40832c] 2009-10-24 Todd C. Miller * script.c: Fix handling of SIGTTOU/SIGTTIN in program being run. We now only give the command the controlling tty if the main sudo process is the foreground process. [cf3a91cb5682] * script.c: Don't bother with sudo_waitpid() here for now. [9086de480c2d] * script.c: fix non-zlib case [a258bff0f9a6] 2009-10-23 Todd C. Miller * script.c: Remove non-wroking code that crept into rev 1.55 [2802dd55cff5] 2009-10-22 Todd C. Miller * INSTALL, configure, configure.in, script.c, sudoreplay.c: First pass at zlib support for transcript data files [5d10260807da] * Makefile.in: remove vestiges of ZLDFLAGS [1fa0caf1c0fb] * script.c: Add missing variable declaration for when TIOCSCTTY is not defined. Need to include sys/termio.h for TIOCSCTTY on some systems. [ee7f41ac2709] * script.c: when resuming command, send SIGCONT to its pgrp not just pid [5cd63c1d565b] * selinux.c: remove unused variable [df67df4be228] * script.c: include selinux.h for is_selinux_enabled() proto [85ebaa880cc1] * script.c: Don't use log_error() in the child process. [def65fe2a433] * script.c: Do I/O in parent instead of child since the parent can have both /dev/tty as well as the pty fds open. The child just sets things up and waits for its grandchild and writes the signal description to the pty master if the command was killed by a signal. [95e473208982] 2009-10-18 Todd C. Miller * missing.h, sudo.h: Move two struct forward declarations from sudo.h to missing.h [90ad28294a8c] * script.c: Make comment at the top of script_exec() match reality. [c5042d27dbe0] * sudo.c: if neither stdin nor stdout is a tty, check stderr [c532ff20c8d8] * Makefile.in: Add back dependecy of gram.h on gram.y [c58382b7fcca] * script.c: Make transcript mode work as long as we can figure out our tty, even if it is not stdin. We'd like to use /dev/tty but that won't be valid after the setsid(). [7b8bba8d99e7] 2009-10-17 Todd C. Miller * config.h.in, configure, configure.in, pty.c: Add support for IRIX-style dynamic ptys [bedc9bac44c1] * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c: Move alloc.c protos into alloc.h [b6a90649617d] * missing.h: Move prototypes for missing libc functions to missing.h [dda9ae1ccaf8] * Makefile.in, sudo.h, sudoreplay.c: Move prototypes for missing libc functions to missing.h [7483166b577b] 2009-10-16 Todd C. Miller * config.h.in, configure, configure.in: Disable transcript support if no tcsetpgrp until we support older BSD-style job control. [27ac1d8163df] * configure, configure.in, pty.c, script.c: Break out pty code into pty.c [e85509b25d41] * compat.h, config.h.in, configure, configure.in: add killpg macro if no killpg function [3a125f4a51f0] * config.h.in, configure, configure.in, script.c: Push ptem and ldterm for STERAMS-based systems when allocating a pty. [36bb39b30ff2] 2009-10-15 Todd C. Miller * script.c: Sprinkle some more O_NOCTTY and call grantpt() before unlockpt() [d94bd5c9bf4e] * script.c: Call tcgetpgrp() in the parent, not the child and have the child spin until it is granted. Fixes a race on darwin. [6e8d435339ce] * script.c: Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just reopen slave. [0bdc63c019ca] 2009-10-14 Todd C. Miller * script.c: In script mode, if the command is killed by a signal, print the signal description as well as a core dump notification like the shell does. [9df61738df07] * Makefile.in, config.h.in, configure, configure.in, strsignal.c, sudo.h: Add check for strsignal() and a simple implementation if it is not there but sys_siglist is [61421a188ef4] * script.c: Add missing WUNTRACED and store the signal that stopped the grandchild in suspended, not signo. [df65042b200e] * script.c: g/c unused code [40d8cb5c9203] * script.c: Associate the grandchild's pgrp with the tty instead of the child's and just get suspend notifications via SIGCHLD instead of directly. This fixes a hang with programs that try to set terminal attributes and is more consistent with how the shell handles things. [6865abff7e94] 2009-10-12 Todd C. Miller * script.c: Move setpgid() of child into the parent side of the fork() where it belongs. [3defa782777c] 2009-10-11 Todd C. Miller * script.c: fix typo [b6a612b3622c] * script.c: Run command in its own pgrp (like the shell does) for easier signalling. No need to relay SIGINT or SIGQUIT to parent, just send to grandchild. Don't want grandchild stopped events in the child (only termination). Flush output after suspending grandchild before signalling parent. [db556bf2176f] * script.c: Back out revision 1.34; the problem lies elsewhere. [85f590a03275] * script.c: Don't set stdout to blocking mode when flushing remaining output. It can cause us to hang when trying to exit. Need to investigate why. [6f803a3e33ca] * script.c: Handle SIGTTOU and remove some debugging. [52d17279053e] * term.c: Back out revision 1.10 as the signal that interrupts us may be SIGTTOU or SIGTTIN which the caller must handle. [7e2fa9107975] * script.c: Apparently we need to send SIGSTOP to the command as well as ourself when we get SIGTSTP, the kernel doesn't automatically stop the process for us. [1a936e9309c4] * script.c: Use an extra process to act as the glue bewteen the sessions associated with the user's controlling tty (what the shell uses) and the tty that sudo is using to do its logging. Basically, this means that if we get, e.g. SIGTSTP from the process sudo is running, we relay the signal to the parent so it's shell can do the job control. [6dd296988060] * term.c: Handle getting/setting terminal attributes when the fd is in non- blocking mode. [ae5ae535ea7b] 2009-10-07 Todd C. Miller * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod: Add support for pausing and changing the speed in interactive mode. [72a2063780a7] * script.c: Already define O_NOCTTY in compat.h, don't need it here [b5d80ed3e5ce] 2009-10-06 Todd C. Miller * sudoreplay.c: Add missing protos [c4cb4e7f4d8a] 2009-09-30 Todd C. Miller * sudo_edit.c: Always update the stashed mtime of the temp file instead of using what we have for the original because the time resolution of the filesystem the temporary is on may not match that of the filesystem that holds the original. Should fix bz #371 found by Philippe Levan. [c86ca4bec60c] * sudoreplay.c: Use cbreak mode instead of raw mode and add signal handlers to restore the tty on interrupt. [84dd283da41c] * script.c, sudo.h, term.c: Retain NL to NLCR conversion on the real tty and skip it on the pty we allocate. That way, if stdout is not a pty there are no extra carriage returns. [32e4f570414e] * script.c: Fix log_output(); just pass in a string and a length. [ca980cc0a3fb] 2009-09-28 Todd C. Miller * script.c: do not use errno when complaining out lack of a tty [8f9b8c55ab8e] 2009-09-27 Todd C. Miller * Makefile.in, sudoreplay.c, term.c: Instead of messing with line endings, just set terminal to raw mode in sudoreplay. [90943fa87acb] * term.c: When copying the terminal attributes to the pty, be sure not to set ONLCR. This prevents extra carriage returns from ending up in the script output file. [e6b5475ac2aa] * script.c: Convert a do {} while into a while [e461310d2c77] * Makefile.in: Use if then instead of test && when installing binaries that may not exist. [ad4f9490d971] * script.c: Add O_NOCTTY when opening a tty device. Explicitly disconnect from old tty before associatng with new one. [0e0ca634b80c] * script.c, selinux.c, sudo.c, sudo.h: First cut at refactoring some of the selinux code so it can be used in conjunction with sudo's transcript support. [779b0d8f9d29] 2009-09-26 Todd C. Miller * aclocal.m4, configure, configure.in: Fix default case of transcript_enabled being unset. [f8aa96186e6b] * script.c, sudoreplay.c: Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR [2844a7a851fa] * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c: Hook up --disable-transcript and --enable-transcript=DIR [b3fa7e6b2480] 2009-09-25 Todd C. Miller * aclocal.m4, configure, configure.in, pathnames.h.in: _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable- transcript=DIR option to specify the directory [b0bb76d43cda] * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in: regen [c7a8a0a9027c] * configure, configure.in, sudoers.man.pl, sudoers.pod: Substitute in default value for secure_path [c8f9ac6dbf93] * sudo.pod: Mention that the password must be followed by a newline with the -S option. [2fc589a3ee7e] 2009-09-20 Todd C. Miller * script.c: Go back to dropping out of the select() loop when the process dies; Linux ptys apparently don't behave the same as BSD in regards to select(). No need to flush remaining output to the transcript, only to stdout. Add back code to check the master pty for additional data when we exit the main select loop. [abed9a9cbc6b] 2009-09-19 Todd C. Miller * Makefile.in: Add getline.o to COMMON_OBJS [04ef7643cbc2] * Makefile.in: sudoreplay depends on libsudo.a [142bd0472631] * Makefile.in: More pwutil.o into COMMON_OBJS [4a016b933629] * pwutil.c, testsudoers.c, tsgetgrpw.c: Remove my_* redirection in pwutil.c for testsudoers and just use the normal libc get{pw,gr}* names. [9b76d637d86b] * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod: More time and date examples [c6ee0175ec56] * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c: Move nanosleep() emulation into its own file Check librt.a for nanosleep if we don't find it in libc [4da0cc26aad7] * Makefile.in, configure, configure.in: Build libsudo with the common bits and link things against that. [2b53bc0b081a] * script.c: Fix final flush. [6da287d833da] * script.c: Keep reading from the pty master -> log file until read returns <= 0. Do our best to write everything to stdout when flushing any remaining bits. [2a45d4ae280c] * sudoreplay.c: Use unbuffered I/O when writing to stdout and make sure we write the entire buffer. [f39ef9844a47] 2009-09-18 Todd C. Miller * sudoreplay.c: Only use max_wait if it is non-zero [f6c10604d2e8] * getdate.c, getdate.y, getline.c: Need compat.h here [5d6722e225a0] * sudoreplay.c: Fix nanosleep emulation [34e5e5d72a76] * script.c: Fix comment after #endif [bd1347718b25] * sudoreplay.c: Add protos for missing libc bits [644f496427a2] * configure, configure.in: add missing line continuation char [db13c0d402cd] * config.h.in, configure, configure.in, getline.c: Implement getline() in terms of fgetln() if we have it. [3ab786eaadc5] * sudoreplay.c: Print year when formatting log line [90be669e3443] * sudoreplay.pod: Document cwd, attempt to document time/date formats. [6290fb9b65c6] * sudoreplay.c: Fix getline return value check. [d696d6657261] * Makefile.in, config.h.in, configure, configure.in, getline.c, sudoreplay.c: Use getline() if the system has it, else use provide our own for sudoreplay. [afca1d6fbe5e] * script.c: Refactor code to update output and timing files. [361491332b1a] 2009-09-17 Todd C. Miller * sudoreplay.c: Make sudo_getln() behave more like glibc getline. [40c9f2ea29e6] * script.c: When flushing remaining output, also update timing file. [5a9a5a627549] * sudoreplay.c: Use get_timestr() and make the -l output look like the regular sudo log. [452ba9d436c9] * logging.c, sudo.h, timestr.c: Make get_timestr() take a time_t so we can use it properly in sudoreplay. [82e67cc53c9c] * script.c: Create session dir earlier now that we update the seq number early. [797fe8d6dc61] 2009-09-16 Todd C. Miller * sudoreplay.c: Use fromdate and todate as the keywords instead of from and to; the short forms will still be accepted. [d14d9b116df4] * sudoreplay.c: Fix reading long liensin sudo_getln() [58dadd74118c] * script.c, sudoreplay.c: Log the cwd in the script log file. Add sudo_getln() to read arbitrarily long lines. [faceb802ab8f] * Makefile.in, logging.c, sudo.h, timestr.c: Move get_timestr() into its own source file so sudoreplay can use it. [99b054bfa20a] 2009-09-15 Todd C. Miller * sudoreplay.c: Add to and from perdicates (date ranges); needs documentation [1d629174dcf4] 2009-09-14 Todd C. Miller * Makefile.in, getdate.c, getdate.y: Fix warning and add generated getdate.c [b877a86b5a03] * Makefile.in, getdate.y: Add getdate.y to be used for sudoreplay date parsing. [b8e26fbb7a40] 2009-09-13 Todd C. Miller * sudoreplay.c: Check more than just the first character of a predicate [4fe53728adb1] * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod: Add examples, sort predicates [70f8075cbccc] * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod: Implement search expressions in sudoreplay similar in concept to what find or tcpdump uses. TODO: date ranges [f7ce4fb4cf3a] 2009-09-07 Todd C. Miller * script.c: Remove vhangup as it was hanging up the wrong tty. Should really vhangup in the child after it as set its tty. [2eed9df73010] * sudoers.pod: Fix cut at documenting transcript support. [e6c533a5568a] * logging.c: ID= -> TSID= for transcript ID [1bf755a35333] 2009-09-06 Todd C. Miller * sudoers.pod: Move fast_glob description to where it belongs in sorted order [5901cfb0d25f] * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y, parse.c, parse.h, sudo.c: Rename script -> transcript [e06cf823122c] 2009-09-03 Todd C. Miller * compat.h: Add timeradd and timersub for those without them [929f8aa06c2b] * script.c: Sanity check sessid before using it. [aa8ca5211d43] * sudo.c: Only set the session id if we are running a command or editing a file. [7205d717c098] * script.c: Actually. qsort is fine since most versions fal back to a cheaper sort when the number of elements to sort is small (like in our case). [d11c7cd352fe] * config.h.in, configure, configure.in, script.c: Check for dup2 and use dup instead if we don't have it. [98bd89830f8a] * script.c, sudo.c, sudo.h: Move the code to dup2 the script fds to low numbered descriptors into script_duplow() and fix the fd sorting. [9453fdc5fba6] * script.c, sudo.c, sudo.h: Move script_setup() back to immediately before we drop privs and call the new script_nextid() in its place, which will set sudo_user.sessid for the logging functions. [8434d0c8ff08] 2009-09-01 Todd C. Miller * Makefile.in: Install sudoreplay [6acf2cdb4d3f] * sudoreplay.c: remove unused variable [2316360bb992] 2009-08-30 Todd C. Miller * logging.c, script.c, sudo.c, sudo.h: Log the session ID, if there is one. Currently logs ID=XXXXXX, perhaps should be SESSIONID or SESSID. [53976905b0a6] * Makefile.in, configure, configure.in, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod: Add sudoreplay docs [da4f14f0e64c] * sudoreplay.c: add -V (version) flag [b5e743639ee3] * sudoreplay.c: Hook up max_wait. [2ec5697a92ba] * script.c, sudoreplay.c: Use base36 number for the ID and store script files with paths like /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6 (2,176,782,336) unique IDs. [6aab019d07aa] 2009-08-23 Todd C. Miller * config.h.in, configure.in: Add check for regcomp [44c3ebd7ff34] * sudoreplay.c: Add support for selecting by pattern and tty when listing. [66189f840c52] 2009-08-17 Todd C. Miller * sudoreplay.c: The beginnings of a list mode. [8d0150b4a52c] 2009-08-16 Todd C. Miller * Makefile.in: fix pasto [616b4640b8a8] * Makefile.in, config.h.in, configure.in: Add scaffolding for building sudoreplay [a32958505dbe] * sudoreplay.c: include error.h first arg to nanotime is const [fe5a7bb31bc5] * sudoreplay.c: Initial cut at sudoreplay; replay a sudo session. [f149fba372bd] 2009-08-08 Todd C. Miller * script.c: Fix wait() usage and use correct wait status. [f4745ed7ad05] * sudo.c, sudo.h, tgetpass.c: Add protos for term_* to sudo.h [14fe1abd7e7b] * script.c: Fix detection of the child process exiting. Since the child is in its own session we should only ever get SIGCHLD for that process but better safe than sorry. [7edfdadd8505] * config.h.in: Add UNIX98 pty support. [82f4b53a0e8f] * configure, configure.in, script.c: Add UNIX98 pty support. [795b8bb0a3a1] 2009-08-07 Todd C. Miller * term.c: For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC if it is defined. [40f8b83baf69] * auth/pam.c: Set PAM_RUSER and PAM_RHOST early so they can be used during authentication. Based on a patch from Jamie Beverly. [3d567b453a6a] * match.c: Close dir before returning if strlcpy() reports overflow. From Martynas Venckus. [6a82f96473e5] * config.h.in, configure, configure.in, script.c: On Linux, the openpty proto libes in pty.h [98643a018d1c] * script.c: Call vhangup on exit if the system has it Use setpgrp() if no setsid() [3a9e13149829] 2009-08-06 Todd C. Miller * config.h.in, configure, configure.in: Add checks for revoke and vhangup if we don't have openpty [fcb04572e994] * script.c: Session logging guts that got forgotten in the previous commit. [c2af08a63ea9] * Makefile.in, aclocal.m4, compat.h, config.h.in, configure, configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c, tgetpass.c: First cut at session logging for sudo. Still need to write get_pty() for Unix 98 and old-style BSD ptys. Also needs documentation and general cleanup. [77e3f5e25738] 2009-08-05 Todd C. Miller * sudo.c, sudo_edit.c: Fix a bug introduced with def_closefrom. The value of def_closefrom already includes the +1. [7291c136300d] 2009-07-29 Todd C. Miller * Makefile.in: Generate sudo distributions with pax in ustar mode. No longer need to use a temp file or have the source dir name match the version. [9778177a8272] 2009-07-18 Todd C. Miller * toke.c, toke.l: Fix expansion of %h in #include names. Fixes bugzilla 363 [6e346879ba24] 2009-07-12 Todd C. Miller * mkdefaults: If no arg assume def_data.in [c1dd28c0e675] * README, WHATSNEW: Update for 1.7.2 [f5ad45f69f05] [SUDO_1_7_2] * ChangeLog: sync [6283549396ff] 2009-06-30 Todd C. Miller * sudoers.cat, sudoers.man.in, sudoers.pod: Add missing single quotes around a colon in Runas_Spec definition. From Elias Benali. [ccc6ee4fca83] 2009-06-29 Todd C. Miller * sudo.man.in, sudoers.man.in: regen [546e75304ebf] * redblack.c: In rbrepair, re-color the root or the first non-block node we find to be black. Re-coloring the root is probably not needed but won't hurt. [34d01ebe241b] * sudo.cat, sudoers.cat: regen [bebf5a39f54f] 2009-06-26 Todd C. Miller * redblack.c: When repairing the tree, don't touch the root node. [9841f0d5d789] 2009-06-25 Todd C. Miller * set_perms.c: Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID. Reported by Josef Schmid. [ed044b1eb879] 2009-06-23 Todd C. Miller * sudoers.pod: Document that we accept env_pam-style environment files [e3b545456352] * env.c: Adapt to accept pam_env-style /etc/environment which allows shell- style lines such as: export EDITOR="/usr/bin/vi" [752eb75bf007] * sudoers.pod: Make it clear that env_delete only works when !env_reset. From Lo??c Minier [3bd3f8e351ba] 2009-06-15 Todd C. Miller * sudo.pod, sudoers.pod: Add non-unix group bits, adapted from Quest [8ce427de8dea] * Makefile.in: build the .cat page in the current working dir, not the src dir [00e87a307674] * env.c: Return EINVAL in setenv() if var is NULL or the empty string to match glibc behavior. [23fd7c247142] 2009-06-13 Todd C. Miller * configure, configure.in: Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE [fedd4a3e2a85] 2009-06-11 Todd C. Miller * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in: regen [7b9f461a40b3] 2009-06-09 Todd C. Miller * INSTALL: Document --with-libvas and --with-libvas-rpath [a071e6d96c89] 2009-05-29 Todd C. Miller * ldap.c, sudoers.ldap.pod: For netscape-derived LDAP SDKs the cert and key paths may be a directory or a file. However, version 5.0 of the SDK only seems to support using a directory. If ldapssl_clientauth_init fails and the cert or key paths look like they could be files, strip off the last path element and try again. [ac4e49d83043] * Makefile.in: Add non-Unix group .o to COMMON_OBJS and substitute in path to flex. [4547cc1a335f] 2009-05-27 Todd C. Miller * configure, configure.in, match.c, sudo.c, vasgroups.c: Update non-Unix group support from Quest, as reworked by me. [1abafce29dc6] * toke.c: regen [01bfca9148b7] * toke.l: Add support for escaped hex chars in names, e.g. \x20 for space. [3c7be8e58a39] 2009-05-25 Todd C. Miller * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c, auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c, fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c, logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c, set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h, sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c, tgetpass.c, toke.l, visudo.c: Update copyright years. [e615f676c764] 2009-05-24 Todd C. Miller * interfaces.c, lbuf.c: Minor fixes for Minix-3 [898c510d23f9] 2009-05-22 Todd C. Miller * set_perms.c: Handle getgroups() returning 0. Also add missing check for HAVE_GETGROUPS. [d73b958f9ffd] 2009-05-19 Todd C. Miller * Makefile.in, config.h.in, configure, configure.in, sudo.c, version.h, visudo.c: Replace version.h with PACKAGE_VERSION set via AC_INIT in configure. [5050579a264d] 2009-05-18 Todd C. Miller * set_perms.c: Remove group setting code in setusercontext case, we will do it ourselves later on in runas_setup. Set the gid after initgroups/setgroups is called, since on Mac OS X it seems to change the egid. [09dc21d8b42d] 2009-05-17 Todd C. Miller * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c, vasgroups.c: Initial bits of non-unix group support using Quest Authentication Services [1eecab0ff27e] * toke.c, toke.l: Accept %:foo as a non-Unix group [4c4b5dd899a6] * toke.c, toke.l: Allow user/group to be double quoted in the case of non-Unix groups which contain spaces. [47a3d568b7e8] 2009-05-11 Todd C. Miller * match.c: Don't allow the user to specify the default runas user if their sudoers entry only allows them to run as a group. [4d726177227c] 2009-05-10 Todd C. Miller * sudo.c: Must call audit_success before we change uids. [04a9e6ce6e55] * logging.c, set_perms.c, sudo.h, testsudoers.c: Add option for set_perm to not exit on failure and use this in the logging routines. [833dce7b7f42] * parse.c: In -l mode, if the user is only allowed to run as a group, display the user's name, not root's before the allowed group. [ef92ff99d265] * sudo.c: Fix -g mode, broken by rev 1.503 which had the side effect of setting the runas user to root unilaterally. [50a2f7df4385] 2009-05-08 Todd C. Miller * fileops.c: When unlocking a file with fcntl, use F_SETLK, not F_SETLKW. [30fbe832dcf3] * pwutil.c: Only cache by the method we fetched for pwd and grp lookups. Previously we cached both by namd and id but this can cause problems for entries that share the same id. Also add more info in the error message in case the insert fails (which should now be impossible). [ef95a4f0bab5] 2009-04-30 Todd C. Miller * sudoers.pod: Add a clarification from Nick Sieger [1eadad329561] 2009-04-25 Todd C. Miller * env.c: Inline the setting of the environment string. [9515d11c6295] 2009-04-24 Todd C. Miller * env.c: setenv(3) in Linux treats a NUL value as the empty string setenv(3) in BSD doesn't return an error if the name has '=' in it, it just treats the '=' as end of string. [941260bf94d2] 2009-04-22 Todd C. Miller * toke.c, toke.l: Not all systems have d_namlen [e377b18d8e2d] 2009-04-20 Todd C. Miller * sudoers.pod: Fix up some pod2html issues. [823a1f10ab60] 2009-04-19 Todd C. Miller * interfaces.c: Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from Quest Software. [73de36653131] * sudoers.pod: Ignore files ending in '~' in sudo.d (emacs backup files) [7871fad702db] * toke.c, toke.l: Ignore files ending in '~' in sudo.d (emacs backup files) [53fded2a469f] 2009-04-18 Todd C. Miller * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l: For #includedir, ignore any file containing a dot [a7daa1bce6c2] * Makefile.in, version.h: Bump version [ef60f14ffc44] * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l, visudo.c: Implement #includedir directive. Files in an includedir are not edited by visudo unless they contain a syntax error. [3923d85a6c79] * ChangeLog: sync [8741ed61a78b] [SUDO_1_7_1] * WHATSNEW: Forgot umask_override [7c86a21a5504] * ChangeLog, TODO: sync [57339ca6bccf] 2009-04-16 Todd C. Miller * visudo.c: Rewind stream if we fdopen sudoers since it may not be at the beginning. Set the keepopen flag on already-open files too so the lexer doesn't close them out from under us. [61292d819aff] * visudo.c: Print the proper file name when there is a parse error in an include file. [b0e85d4aedde] 2009-04-11 Todd C. Miller * WHATSNEW: Sync [997e5d485ea3] 2009-04-10 Todd C. Miller * configure, configure.in: Fix a warning when --without-ldap is specified. [d91fd9481b30] 2009-04-05 Todd C. Miller * alias.c, parse.h, visudo.c: Store aliases that we remove during check_aliases in a freelist and free them at the end so we don't leak memory. [805e2272f6a3] 2009-03-28 Todd C. Miller * visudo.c: Check aliases in -c mode too. [9199e188d9f2] * alias.c, parse.h, visudo.c: Make alias_remove return the alias struct instead of freeing it directly. Fixes a use after free in alias_remove_recursive, the only consumer. [a04b61804800] * alias.c, match.c, parse.c, parse.h, visudo.c: Rename find_alias -> alias_find for consistency. [48b0a82924f3] 2009-03-27 Todd C. Miller * visudo.c: When checking for unused aliases, recurse if the alias points to another alias. [2d4d1a7f3a41] 2009-03-16 Todd C. Miller * ldap.c: Back out rev 1.105 for now. Real ldapux_client.conf support will be done later after some refactoring. [8ad72e69b277] 2009-03-14 Todd C. Miller * ldap.c: Treat ldap_hostport the same as "host" for ldapux. [3281dcc66da8] * configure, configure.in: Only check for ldap_sasl_interactive_bind_s if we can find sasl.h. Fixes compilation with ldapux. [ca1ed585ef0e] 2009-03-12 Todd C. Miller * fileops.c: fix char subscript [41e51f080d00] 2009-03-11 Todd C. Miller * Makefile.in: remove errant carriage returns [e9e258a31c7b] * audit.c, env.c: fix K&R compilation [d182e8920f13] * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in: regen [791a5cbf04e5] 2009-03-10 Todd C. Miller * config.h.in: Add missing HAVE_BSM_AUDIT [49ad1bb96f04] * WHATSNEW: Add 1.7.1 features [f107f1604c61] * INSTALL: Mention --with-netsvc [d1e90d147795] * sudoers.ldap.pod: Document netsvc.conf support [e78f8abce6af] * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c, sudo_nss.h: Add support for AIX netsvc.conf (like nsswitch.conf). [1df56a84dee5] 2009-03-08 Todd C. Miller * config.h.in, configure, configure.in, env.c: Add --enable-env-debug flag to enable environment sanity checks. [128cdd8832e7] * sudoers.ldap.pod, sudoers.pod: Work around some pod2html issue. [e733b9609bd2] 2009-03-07 Todd C. Miller * env.c: Only sync environ for putenv, setenv, and unsetenv. We need to make sure that sudo_putenv and sudo_setenv only modify env.envp, not environ. [be3ac732243c] 2009-03-02 Todd C. Miller * env.c: Really fix UNSETENV_VOID [08ab7e882507] * env.c: Fix unsetenv when UNSETENV_VOID [d3038b3f2f15] * aclocal.m4, configure: Fix SUDO_FUNC_PUTENV_CONST [de35569c572b] * ldap.c: tivoli-based ldap does not have ldapssl_err2string [c63fd90d5e99] * configure: regen [f38f1ee828ad] 2009-03-01 Todd C. Miller * config.h.in, configure, configure.in, ldap.c: Add support for Tivoli-based LDAP start TLS as seen in AIX. Untested. [8f8771829f85] * env.c: Add sanity checks for setenv/unsetenv [adbd1d95856b] * Makefile.in: Include bsm_audit.h in the tarball [4a4aa02b2c32] * Makefile.in, version.h: bump version for sudo 1.7.1 [362c71d21595] * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in, env.c, ldap.c, sudo.h: Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and provide our own setenv/unsetenv/putenv that operates on own env pointer. Make sync_env() inline in setenv/unsetenv/putenv functions. [276edcd23032] 2009-02-25 Todd C. Miller * sudo.c: Make "sudoedit -h" work as expected [2bcbbb45d389] * auth/pam.c: Make sure def_prompt is always defined. This is a workaround for pam configs that prompt for a password in the session but don't have an auth line. A better fix is to expand the sudo prompt earlier and set def_prompt to that when initializing. [ee073c04aec3] * sudo.pod: Mention that the helper for -A may be graphical. [b64a940c4082] * TROUBLESHOOTING: Document what happens if there is no tty. [313d58a856a5] * sudo.c: cosmetic changes [894f5e3b0c3e] * term.c: Fix term_restore [6c6315ff14bc] * sudo.c: Fix "sudo -k" with no other args [59e94dc419c6] 2009-02-24 Todd C. Miller * check.c, sudo.c, sudo.pod, sudo_usage.h.in: Allow the -k flag to be specified in conjunction with a command or another option that may require authentication. [5960ff20355d] 2009-02-23 Todd C. Miller * configure, configure.in: Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes' [e86ab69c4a57] * Makefile.in: Parallel make fix. From Diego E. 'Flameeyes' [1289d7ee27db] 2009-02-21 Todd C. Miller * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod: Implement umask_override [8b87a3f7c5aa] * toke.c: regen [79d7ca9ac873] * sudoers.pod, toke.l, visudo.c: Implement %h escape in sudoers include filenames. [a7f288dd64f0] * audit.c: Need to include compat.h [c0dc07ce2f70] * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c: Make audit_success and audit_failure generic functions in preparation for integrating linux audit support. [7df020a8fd6f] * term.c: remove duplicate include [1dfcd01a7e46] 2009-02-20 Todd C. Miller * bsm_audit.c: Add missing include [fb56e08c37ee] * sudo.c: May need to update the runas user after parsing command-based defaults. [246f130d7802] 2009-02-18 Todd C. Miller * glob.c: Add missing pair of braces introduced with character class support. [0e2afa2e03e9] 2009-02-15 Todd C. Miller * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c: Rename pwstars to pwfeedback [a9f85a57ebac] 2009-02-11 Todd C. Miller * bsm_audit.c, bsm_audit.h: Add const to make MacOS happy. [4274432d6627] * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure, configure.in, sudo.c: Add bsm audit support from Christian S.J. Peron [bef61cd8693d] * term.c: This is new code, no DARPA notice. [ec6ad09b9c23] 2009-02-10 Todd C. Miller * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod: Rename simple_glob -> fast_glob [68d9ed803cc1] * match.c: g/c unused var [693fa0464eb6] * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod: Add simple_glob option to use fnmatch() instead of glob(). This is useful when you need to specify patterns that reference network file systems. [77ba634f6949] * tgetpass.c: add term_* proto [520f5149d073] * sudoers.pod: mention glob() [ddaab8e03c52] 2009-02-09 Todd C. Miller * tgetpass.c: Delete any pwstars we wrote after the user hits return. That way there is no record on screen as to the user's password length. [fae25cda762b] 2009-02-08 Todd C. Miller * term.c: Move terminal setting bits from tgetpass.c to term.c [03d43325ee99] * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c: Add pwstars sudoers option that causes sudo to print a star every time the user presses a key. [7aab417e184d] 2009-02-03 Todd C. Miller * Makefile.in: Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in. [64f70e879816] 2009-01-27 Todd C. Miller * ldap.c: For ldap_search_ext_s() the sizelimit param should be 0, not -1, to indicate no limit. From Mark Janssen. [e2c5732d54f5] 2009-01-17 Todd C. Miller * toke.c, toke.l: Comments that begin with #- should not be parsed as uids. [a72a50f12f41] 2009-01-09 Todd C. Miller * sudo.c: Do not try to set the close on exec flag if we didn't actually open sudoers. [ece3ca256904] 2008-12-19 Todd C. Miller * ChangeLog: regen [e11f0e4c1bdd] [SUDO_1_7_0] 2008-12-14 Todd C. Miller * TODO: sync [5b8954462bb3] 2008-12-09 Todd C. Miller * auth/pam.c: Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the password prompt. [8563601cb3de] * configure, configure.in: Don't try to build sudo_noexec.so on HP-UX with the bundled compiler as it cannot generate shared objects. [6d4262ef9669] * emul/charclass.h, glob.c, lbuf.c, tgetpass.c: K&R compilation fixes [77921678d17c] * parse.c: Use tq_foreach_fwd when checking pseudo-commands to make it clear that we are not short-circuiting on last match. When pwcheck is 'all', initialize nopass to TRUE and override it with the first non- TRUE entry. [96b209f4778f] 2008-12-08 Todd C. Miller * parse.c: Do not short circuit pseudo commands when we get a match since, depending on the settings, we may need to examine all commands for tags. [fdbaf89d6f35] 2008-12-03 Todd C. Miller * sudoers.cat, sudoers.man.in: regen [1ecce7c1b841] * sudoers.pod: hostnames may also contain wildcards [82b76695601c] * Makefile.in: remove stamp-* files and linux core files in clean target [22003f091467] 2008-12-02 Todd C. Miller * auth/sudo_auth.h, config.h.in, configure, configure.in: Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX [6905bede8410] 2008-11-26 Todd C. Miller * configure, configure.in: correctly enable SIA on Digital UNIX [a51881d13995] * TODO: checkpoint [af0fe8d94d42] * ChangeLog: sync [831f623cf99c] 2008-11-25 Todd C. Miller * check.c, sudo.h, tgetpass.c: Even if neither stdin nor stdout are ttys we may still have /dev/tty available to us. [20f306ba883b] 2008-11-24 Todd C. Miller * sudoers.cat, sudoers.man.in: regen [76d97c4c318f] * sudoers.pod: fix typos; Markus Lude [bff8bc1e2066] * ChangeLog: sync [f108552531cd] * toke.c: regen [de828413c67e] * toke.l: Fix matching of a line that only consists of a comment char [09c953d8d5ca] 2008-11-22 Todd C. Miller * auth/pam.c: MacOS pam will retry conversation function if it fails so just treat ^C as an empty password. [d056058930bc] * visudo.c: When checking for alias use, also check defaults bindings. [2647f82c7dbd] * redblack.c: unused var [b7ff71c17c18] * redblack.c: Replace my rbdelete with Emin's version (which actually works ;-) [21b133dd0c72] 2008-11-19 Todd C. Miller * testsudoers.c: malloc debugging [0fb446fa3279] * visudo.c: malloc options in devel mode for visudo too [98d06c6afeef] 2008-11-18 Todd C. Miller * sudo.c: fix compilation on non-C99; from Theo [7c304e16c536] * visudo.c: fix check_aliases [83f30a3b1765] * alias.c: when destroying an alias, free the correct data pointer [6e1a8bd86c01] * auth/sudo_auth.h: add proto for aixauth_cleanup; from Dale King [eba94ffc8f63] 2008-11-15 Todd C. Miller * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat, visudo.man.in: regen [409fa57fff83] * sudo.pod, sudoers.pod, visudo.pod: standardize on the term 'option' for command line options (not flag) [228caefc2e36] 2008-11-14 Todd C. Miller * INSTALL: Add note on configuring HP-UX pam [f7674a581baf] 2008-11-11 Todd C. Miller * check.c, sudo.c: Move tty checks into check_user() so we only do them if we actually need a password. [7d997d7106d6] * sudo.c: Don't error out if no tty or askpass unless we actually need to authenticate. [9f23b83ed66c] 2008-11-10 Todd C. Miller * ChangeLog: regen [23f9aef32da6] * pathnames.h.in, sudo.c: s/overriden/overridden/; from Tobias Stoeckmann [9f7459a8fac5] 2008-11-09 Todd C. Miller * WHATSNEW, visudo.c: check sudoers owner and mode in strict mode [a3468c5ac1c4] * gram.c, toke.c: regen [7d6b515a5443] * sudo.man.in, sudoers.man.in, visudo.man.in: Update copyright years. [52d340cb8cba] * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h, closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c, gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c, interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h, parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod, testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c, visudo.pod, zero_bytes.c: Update copyright years. [b4e6bf2beafa] * emul/charclass.h, fnmatch.c, glob.c: add my copyright [28681385014a] 2008-11-08 Todd C. Miller * toke.c, toke.l: The loop in fill_cmnd() was going one byte too far past the end, resulting in a NUL being written immediately after the buffer end. [a5a49d603cd7] * UPGRADE, WHATSNEW: add sections on tgetpass changes [2e6929b6a102] * tgetpass.c: Treat EOF w/o newline as an error. [aa02b1db9240] 2008-11-07 Todd C. Miller * parse.c: Fix "sudo -v" when NOPASSWD is set. [f4914711ea80] * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h: No longer treat an empty password at the prompt as special. To quit out of sudo you now need to hit ^C at the password prompt. [980f760ad419] * sudoers.cat, sudoers.man.in: regen [6ca21a2cd869] * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod: Sudo will now refuse to run if no tty is present unless the new visiblepw sudoers flag is set. [0cc56943252e] 2008-11-06 Todd C. Miller * aix.c: just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not defined [24fc6f712d5c] * aix.c: fix fallback value for RLIM_SAVED_MAX [e09e04e1af89] * auth/aix_auth.c, auth/sudo_auth.h: Move clearing of AUTHSTATE into aixauth_cleanup. [e14ae7bd259c] * auth/aix_auth.c, env.c: Unset AUTHSTATE after calling authenticate() as it may not be correct for the user we are running the command as. [d14f68f1b0ab] * isblank.c: Add isblank() function for systems without it. Needed for POSIX character class matching in fnmatch.c and glob.c. [16cba30b283f] 2008-11-05 Todd C. Miller * TROUBLESHOOTING: expound on sudo and cd [8e0fa9033637] 2008-11-04 Todd C. Miller * ChangeLog: regen [40cf320a10fc] * sudoers.cat, sudoers.man.in: regen [7cac761ae2c6] * sudoers.pod: mention defauts parse order [4e2ce86d1394] 2008-11-03 Todd C. Miller * Makefile.in, aclocal.m4, compat.h, configure: Add isblank() function for systems without it. Needed for POSIX character class matching in fnmatch.c and glob.c. [a1ab55da8424] * Makefile.in: add emul/charclass.h to HDRS [7e8a019dcaa4] 2008-11-02 Todd C. Miller * TODO: checkpoint [afeb9bc1baed] * defaults.c, parse.c, testsudoers.c, visudo.c: Move update_defaults into defaults.c and call it properly from visudo and testsudoers. [f4dbb369461f] * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c, tsgetgrpw.c: use zero_bytes() instead of memset() for consistency [4cee0465f4a8] * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c, visudo.c: Zero out sigaction_t before use in case it has non-standard entries. [120092225459] * match.c: quiet gcc [098a1df49b23] * match.c: Short circuit glob() checks if basename(pattern) != basename(command). Refactor code that checks for a command in a directory and use it in the glob case if the resolved pattern ends in a '/'. [3c46fd317acb] 2008-11-01 Todd C. Miller * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c: Defer setting runas defaults until after runaspw/gr is setup. [12e75ee49c0c] 2008-10-29 Todd C. Miller * match.c, sudo.c, testsudoers.c: Use MAXHOSTNAMELEN+1 when allocating host/domain name since some systems do not include space for the NUL in the size. Also manually NUL-terminate buffer from gethostname() since POSIX is wishy-washy on this. [7266ab3296a3] 2008-10-26 Todd C. Miller * sudo.c, sudoers.pod: When setting the umask, use the union of the user's umask and the default value set in sudoers so that we never lower the user's umask when running a command. [4e804b004e38] * sudo.c: Don't try to read from a zero-length sudoers file. Remove the bogus Solaris work-around for EAGAIN. Since we now use fgetc() it should not be a problem. [bb8e5f68d944] 2008-10-25 Todd C. Miller * parse.c: In update_defaults() check the return value of user*_matches against ALLOW so we don't inadvertantly match on UNSPEC. [4e422fa1527e] 2008-10-24 Todd C. Miller * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in: regen man pages; no more hyphenation [15de4fe2fe01] * sudo.c: Don't error out on a zero-length sudoers file. With the advent of #include the user could create a situation where sudo is unusable. [6eb461319fa5] 2008-10-23 Todd C. Miller * auth/kerb5.c, config.h.in, configure, configure.in: Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at all. Add configure tests to handle all the cases. [4b554a98470d] 2008-10-08 Todd C. Miller * sudo.pod: resort ENVIRONMENT [f4f20f40653e] * sudoers.pod: document sudoers_locale [0bffd2dbe806] * sudo.pod, sudo_edit.c: add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL or EDITOR [0ef8cb248cee] * toke.c, toke.l: In fill_cmnd(), collapse any escaped sudo-specific characters. Allows character classes to be used in pathnames. [5685244c8e44] 2008-10-03 Todd C. Miller * lbuf.c: fix typo in non-C89 function declaration [99a7113b3a05] * sudoers.pod: Mention POSIX characters classes now that out fnmatch() and glob() support them. [9c916f1230c3] * sample.sudoers, sudoers.pod: Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is locale agnostic. [a60a62bec244] * parse.h: use __signed char if we are going to assign a negative value since on Power, char is unsigned by default [2877b319df17] * config.h.in, configure, configure.in: Add tests for __signed char and signed char. [5eb874fdf1d4] * aix.c: Fix AIX limit setting. getuserattr() returns values in disk blocks rather than bytes. The default hard stack size in newer AIX is RLIM_SAVED_MAX. From Dale King. [3db67415ecc3] 2008-09-26 Todd C. Miller * emul/charclass.h, fnmatch.c, glob.c: Add character class support to included glob(3) and fnmatch(3). [6b5b4ad77899] 2008-09-16 Todd C. Miller * emul/fnmatch.h: Remove UCB advertising clause and some compatibility defines. [2ade7bee74e1] 2008-09-14 Todd C. Miller * sudo_edit.c: Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself or sudo. This allows one to set EDITOR to sudoedit without getting into an infinite loop of sudoedit running itself until the path gets too big. [aa49ab68f82d] * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c: Add sudoers_locale Defaults option to override the default sudoers locale of "C". [0639886a35bf] 2008-09-13 Todd C. Miller * sudo.c: Set locale to system default except for during sudoers parse. [016dd2736728] 2008-09-12 Todd C. Miller * match.c: Redo change in 1.34 to use pointer arithmetic. [f9e7b63bb450] 2008-09-11 Todd C. Miller * match.c: Fix a dereference (read) of a freed pointer. Reported by Patrick Williams. [69877b633753] 2008-08-23 Todd C. Miller * sudo.c: Set locale to "C" to avoid interpretation issues with character ranges in sudoers. May want to make the locale a sudoers option in the future. [098a95de1746] 2008-08-20 Todd C. Miller * config.h.in: we no longer use setproctitle [c7f20fb747ea] * sudo.h: remove #if 1 [a368ee6816c6] * LICENSE, mkstemp.c: Use my replacement mkstemp() from the mktemp package. [d07c2beb0f9e] 2008-07-12 Todd C. Miller * gram.c: regen with yacc skeleton bug fixed [24784571cbb8] * sudoers.pod: Remove duplicate "as root". From Martin Toft. [97241acfee5e] 2008-07-02 Todd C. Miller * pwutil.c, sudo.c, sudo.h, testsudoers.c: Flesh out the fake passwd entry used for running commands as a uid not listed in the passwd database. Fixes an issue with some PAM modules. [a6648227f3f2] 2008-07-01 Todd C. Miller * sudo.c: Error out in -i mode if the user has no shell. This can happen when running commands as a uid with no password entry. [0c174bef36ff] 2008-06-26 Todd C. Miller * toke.c, toke.l: Better fix for line continuation inside double quotes. Now accepts whitespace between the backslash and the newline like the main lexer. [64efcdf86d31] 2008-06-25 Todd C. Miller * toke.c, toke.l: Fix line continuation in strings. It was only being honored if preceded by whitespace. [96c21271a3e4] 2008-06-22 Todd C. Miller * config.h.in, configure, configure.in, logging.c: Replace the double fork with a fork + daemonize. [328505441e67] 2008-06-21 Todd C. Miller * env.c, sudo.c: The -i flag should imply env_reset. This got broken in sudo 1.6.9. [3caedfeaec87] * logging.c, sudo.c, sudo_edit.c, visudo.c: Change how the mailer is waited for. Instead of having a SIGCHLD handler, use the double fork trick to orphan the child that opens the pipe to sendmail. Fixes a problem running su on some Linux distros. [b59ce60a393d] 2008-06-20 Todd C. Miller * configure, configure.in: Fix configure test for dirfd() on Linux where DIR is opaque. [b8f729cdfecc] 2008-06-17 Todd C. Miller * tgetpass.c: Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has this problem we'll need to revisit this again. [c17fee8ad530] 2008-06-11 Todd C. Miller * logging.c: Ignore SIGPIPE instead of blocking it when piping to the mailer. If we only block the signal it may be delivered later when we unblock. Also, there is no need to block SIGCHLD since we no longer do the double fork. The normal SIGCHLD handler is sufficient. [e94a49e992e5] 2008-06-08 Todd C. Miller * configure, configure.in: Add description for NO_PAM_SESSION, from a redhat patch. [b9e4c939ec09] 2008-06-06 Todd C. Miller * sudo.cat, sudo.man.in, sudo.pod: Fix typos in -i usage [2d7ce5de0235] 2008-05-18 Todd C. Miller * configure, configure.in: Redo the test for dgettext() in a way that hopefully will work around the libintl_dgettext() undefined problem. [d27beb0cf85e] 2008-05-11 Todd C. Miller * schema.ActiveDirectory: change filename in comment [733da4ee9ac5] 2008-05-10 Todd C. Miller * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod: Reference schema.ActiveDirectory [d6aec537800e] 2008-05-09 Todd C. Miller * schema.OpenLDAP, schema.iPlanet: Mark sudoRunAs as deprecated. [00c50df807af] * schema.ActiveDirectory: add sudoRunAsUser and sudoRunAsGroup [19bcce6f72fb] * schema.ActiveDirectory: Active Directory schema by Chantal Paradis and Eric Paquet [06a09c92c6a5] 2008-05-08 Todd C. Miller * parse.c: remove an XXX that was fixed [b88038062fa2] * ChangeLog: sync [8fc27c17270e] * parse.c: Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This fixes a problem where the tag value printed was influenced by defaults set in the first pass through the parser. [588ccd630367] 2008-05-04 Todd C. Miller * Makefile.in, sudo.psf: No point in packaging the TODO file [9590248fffe1] * ChangeLog: sync [152acf4c6813] 2008-05-03 Todd C. Miller * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c, sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod: Add env_file Defaults option that is similar to /etc/environment on some systems. [1daf53d51e18] 2008-05-02 Todd C. Miller * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in, version.h, visudo.cat, visudo.man.in: change version to 1.7.0 [d41d126b9bd8] * UPGRADE: initial valgrind pass done [c59c3876d8ca] 2008-04-23 Todd C. Miller * ldap.c: Fix typo/think in sudo_ldap_read_secret() when storing the secret. [830d246c09b0] 2008-04-11 Todd C. Miller * ldap.c: define LDAPS_PORT if the system headers do not [247b12325701] 2008-04-10 Todd C. Miller * gram.c, gram.y: Fix another memory leak in init_parser(). [7bba47deba11] * configure, configure.in: There was a missing space before the ldap libs in SUDO_LIBS for some configurations. [7524cfc93759] * alias.c, gram.c, gram.y, toke.c, toke.l: Clean up some memory leaks pointed out by valgrind. [a965866ece1a] 2008-04-07 Todd C. Miller * sudo.c: fix "sudo -s" broken by mode/flags breakout [acffe984d408] * configure, configure.in: remove duplicate check for dgettext [58145529133c] 2008-04-05 Todd C. Miller * aix.c: Fall back to default stanza if no user-specific limit is found. [7b8cb29123ee] 2008-04-02 Todd C. Miller * snprintf.c: include stdint.h if present [f0ec38529306] * snprintf.c: Use LLONG_MAX, not the old QUAD_MAX [01041ce508fb] 2008-04-01 Todd C. Miller * sudoers.ldap.pod: fix cut and pasto [34240fdef5ab] 2008-03-31 Todd C. Miller * pwutil.c: Add #ifdef PURITY [ce1b571ad526] 2008-03-30 Todd C. Miller * auth/bsdauth.c: remove useless cast [494f8a862e1d] 2008-03-27 Todd C. Miller * ChangeLog: sync [f5c97ffaabcc] * TODO: sync [96ff1c44c182] * sudo.h: Split MODE_* defines into primary and flags. [c02ee3027cb9] 2008-03-26 Todd C. Miller * aix.c: It turns out the logic for getting AIX limits is more convoluted than I realized and differs depending on whether the soft and/or hard limits are defined. [cf8d3f85d395] 2008-03-23 Todd C. Miller * Makefile.in, configure, configure.in: Back out AIX-specific change to set the sudo_noexec path to the .a file, we do really want to use the .so file. Since libtool doesn't do that correctly, just install the .so file ourselves in the Makefile. [05c6f33177d9] * install-sh: If the file given to install is a path, only use the basename of the file when building the destination path. [695ba4e429ce] 2008-03-18 Todd C. Miller * sudo.c: parse_args() cleanup: Sort command line options in the getopt() switch The -U option requires a parameter Normalize a few ISSET calls Split mode into mode and flags and retire the now-obsolete excl variable [0d156835f861] * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in: Add -n (non-interactive) flag. [e3e50400d32d] * sudo.c: Move version printing, etc. into a separate function. [18c91b476e2c] * sudo.c: Don't try to cleanup nsswitch if it has not been initialized. [aeb1ca1b399d] 2008-03-17 Todd C. Miller * logging.c: Block SIGPIPE in send_mail() so sudo is not killed by a problem executing the mailer. [f130e7924cca] 2008-03-14 Todd C. Miller * configure, configure.in: AIX shared libs end in .a, not .so. [a5deb07020d8] 2008-03-13 Todd C. Miller * env.c: Preserve HOME by default too. Matches documentation and previous behavior. [c16f17f1047c] 2008-03-12 Todd C. Miller * sudo.c: Use getopt() to parse the command line. We need to be able to intersperse env variables and options yet still honor "--"" which complicates things slightly. [60f271ce5c16] 2008-03-06 Todd C. Miller * ChangeLog: sync [685e67964eda] * acsite.m4, configure, ltmain.sh: update to libtool-1.5.26 [4c9a8c3d3b40] * config.guess, config.sub: update from libtool-1.5.26 distribution [c6641aef2527] * aix.c, sudo.h: attempt to fix compilation errors on AIX [edb13e5b2184] * Makefile.in: fix typo in last commit [25ba7f7ceae4] * Makefile.in: Add WHATSNEW file to the distribution [213f4115de8f] * visudo.c: use warningx instead of fprintf(stderr, ...) [a3494b8ccb19] * list.c: add DEBUG to list2tq [115d24a3000c] * ChangeLog, TODO: sync [60e6f4d1fac0] * WHATSNEW: mention mailfrom [e2498f9e18d6] * Makefile.in, aix.c, config.h.in, configure, configure.in, set_perms.c, sudo.h: Add aix_setlimits() to set resource limits on AIX using a combination of getuserattr() and setrlimit(). Currently untested. [9b1441fd89ca] 2008-03-05 Todd C. Miller * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat, sudoers.man.in, sudoers.pod: Add mailfrom Defaults option that sets the value of the From: field in the warning/error mail. If unset the login name of the invoking user is used. [029b9f05d3d9] * defaults.c: store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable [a90e407d5e00] * gram.c, gram.y: When adding a default, only call list2tq() once to do the list to tq conversion. It is not legal to call list2tq multiple times on the same list since list2tq consumes and modifies the list argument. [fbc25d245c4a] * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod: comment out XXXs for now [595a1d43309d] * WHATSNEW: mention askpass [b993e0837c22] 2008-03-04 Todd C. Miller * sudo.c: Error out if both -A and -S are specified Error out if -A is specified but no askpass is configured [24f1df2638f6] * configure, configure.in: we are not going to ship a sudo-specific askpass [61949e7a3943] 2008-03-03 Todd C. Miller * sudo.h: fix definition of TGP_ASKPASS [0447c57ba4c3] * def_data.c, def_data.in: make askpass boolean-capable [e0885893a325] * INSTALL: document --with-askpass [c76e15ba97cf] * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat, sudoers.man.in, visudo.cat: regen [8d16242980b7] 2008-03-02 Todd C. Miller * sudo.pod, sudo_usage.h.in, sudoers.pod: document -A and askpass [02c07505a78c] * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c, def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h, sudo_usage.h.in, tgetpass.c: Add support for running a helper program to read the password when no tty is present (or when specified with the -A flag). TODO: docs. [05780f5f71fd] * def_data.c, def_data.in: add missing printf format to SELinux role and type strings [2b32774715e7] 2008-02-27 Todd C. Miller * INSTALL, configure, configure.in: Disable use of gss_krb5_ccache_name() by default and add --enable-gss-krb5-ccache-name configure option to enable it. It seems that gss_krb5_ccache_name() doesn't work properly with some combinations of Heimdal and OpenLDAP. [f61ebd3b19bd] 2008-02-22 Todd C. Miller * selinux.c: Ignore setexeccon() failing in permissive mode. Also add a call to setkeycreatecon() (though this is probably insufficient). From Dan Walsh. [52564fc1c069] * auth/pam.c: Only set std_prompt for the PAM_PROMPT_* cases. The conversation function may be called for non-password reading purposes so we must be careful not to use def_prompt in cases where it may not be set. [29d88ca575ba] 2008-02-20 Todd C. Miller * selinux.c: Don't free the new tty context, we need to keep it around when we restore the tty context after the command completes [5b4bd39b6ea8] 2008-02-19 Todd C. Miller * selinux.c: s/newrole/sudo/ [21b8a96ff8df] * sudo.man.pl, sudo.pod: Only put login_cap(3) in SEE ALSO section if we have login.conf support [05250ddff2c0] 2008-02-18 Todd C. Miller * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in: regen [301e5c5ccdbe] * sudoers.pod: Substitute in comment characters for lines partaining to login.conf, BSD auth and SELinux and only enable them if pertinent. [c1c98fa163ce] * sudoers.man.pl: Substitute in comment characters for lines partaining to login.conf, BSD auth and SELinux and only enable them if pertinent. [6c88f30b878a] * sudo.pod: Substitute in comment characters for lines partaining to login.conf, BSD auth and SELinux and only enable them if pertinent. [acdbdfd24e1d] * sudo.man.pl: Substitute in comment characters for lines partaining to login.conf, BSD auth and SELinux and only enable them if pertinent. [0c56d4750ac3] * Makefile.in, configure, configure.in: Substitute in comment characters for lines partaining to login.conf, BSD auth and SELinux and only enable them if pertinent. [9a02bd6a6658] * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod: Remove the =cut on the first line (above the copyright notice) to quiet pod2man. Also remove the hackery in the FILES section and just deal with the fact that there will a newline between each pathname. [2ac1ab191835] 2008-02-17 Todd C. Miller * Makefile.in: run sudo.man.pl when generating sudo.man.in [859727369168] * configure, configure.in, sudo.man.pl: comment out SELinux manual bits unless --with-selinux was specified [97ff4212b649] * sudoers.pod: document role and type defaults for SELinux [870f303366b3] * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in: Document "sudo -ll" and make "sudo -l -l" be equivalent. [3ce6dc429ea3] 2008-02-15 Todd C. Miller * configure, configure.in: Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on Debian GNU/kFreeBSD. [c4efa567a328] 2008-02-13 Todd C. Miller * auth/kerb5.c: Avoid Heimdal'isms introduced in the rev 1.32 rewrite of verify_krb_v5_tgt() [f80538e5a6fa] * logging.c, logging.h, sudo.c: Remove dependence on VALIDATE_NOT_OK in logging functions. Split log_auth() into log_allowed() and log_denial() Replace mail_auth() with should_mail() and a call to send_mail() [58aac9997557] 2008-02-10 Todd C. Miller * ldap.c: Add debugging so we can tell if the krb5 ccache is accessible [c679322527bb] * INSTALL: mention --with-selinux [9efbe0b52194] 2008-02-09 Todd C. Miller * configure: regen [467a834f867c] * selinux.c: add Sudo tag [d004ee669bed] * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod, testsudoers.c, toke.c, toke.l: Add support for SELinux RBAC. Sudoers entries may specify a role and type. There are also role and type defaults that may be used. To make sure a transition occurs, when using RBAC commands are executed via the new sesh binary. Based on initial changes from Dan Walsh. [1d4abfe2c004] * sesh.c: Add support for SELinux RBAC. Sudoers entries may specify a role and type. There are also role and type defaults that may be used. To make sure a transition occurs, when using RBAC commands are executed via the new sesh binary. Based on initial changes from Dan Walsh. [1e3b395ce049] * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h, pathnames.h.in, selinux.c: Add support for SELinux RBAC. Sudoers entries may specify a role and type. There are also role and type defaults that may be used. To make sure a transition occurs, when using RBAC commands are executed via the new sesh binary. Based on initial changes from Dan Walsh. [6b421948286e] 2008-02-08 Todd C. Miller * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c: Add long list (sudo -ll) support for printing verbose LDAP and sudoers file entries. Still need to update manual. [2875be37935c] 2008-02-03 Todd C. Miller * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h: Unify the -l output for file and ldap based sudoers and use lbufs for both. The ldap output does not currently include options that cannot be represented as tags. This will be remedied in a long list output mode to come. [b2e429456596] 2008-01-27 Todd C. Miller * set_perms.c: Use a specific error message for errno == EAGAIN when setuid() et al fails. On Linux systems setuid() will fail with errno set to EAGAIN if changing to the new uid would result in a resource limit violation. [08d0aecd9f03] * sudo.c: Unlimit nproc on Linux systems where calling the setuid() family of syscalls causes the nroc resource limit to be checked. The limits will be reset by pam_limits.so when PAM is used. In the non-PAM case the nproc limit will remain unlimited but there doesn't seem to be a way around that other than having sudo parse /etc/security/limits.conf directly. [df024b415a8d] * env.c, sudo.c, sudo.pod: Only read /etc/environment on Linux and AIX [90669e2aefdb] 2008-01-23 Todd C. Miller * configure, configure.in: Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent ldap.conf and ldap.secret paths from going into config.h. Avoid single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED since in some versions of bash they will end up literally in the resulting define. [25390f3ef10a] 2008-01-21 Todd C. Miller * README.LDAP: mention --with-nsswitch=no [c509df927263] * configure, configure.in: ldap_ssl.h depends on ldap.h being included first [d96d90e9b21f] * config.h.in, configure, configure.in, ldap.c: Include ldap_ssl.h if we can find it. Needed for the ldapssl_set_strength defines on HP-UX at least. [9e530470948a] * sudoers.ldap.pod: sync [b9d101f4673a] * TODO: sync [2ce951b2ecd0] * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in: regen [b61d793987e0] * Makefile.in: Use 78n line length when formatting cat pages. [761bee9d5759] * README.LDAP: Remove redundant info that is now in sudoers.ldap.pod [01828dcce59e] 2008-01-20 Todd C. Miller * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod: Reorganize the first section a bit. Substitute the proper path for /etc/sudoers. [11ae165e065d] * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod: Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move schema into EXAMPLES [ab6509d1dde7] * configure, configure.in: Substitute values for ldap.conf, ldap.secret and nsswitch.conf into sudoers.ldap.man. [6e689972f465] * configure, configure.in: substitute for sudoers.ldap.man [5a4a25766dee] * Makefile.in: Fix cut & pasto introduced when adding sudoers.ldap man page. [a7b069af8894] * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod: Fill in some of the missing pieces. Still needs some reorganization and editing. [5e7331722166] 2008-01-19 Todd C. Miller * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod: Beginnings of a sudoers.ldap man page. Currently, much of the information is adapted from README.LDAP. [aad28c8a922d] 2008-01-18 Todd C. Miller * pwutil.c: When copying gr_mem we must guarantee that the storage space for gr_mem is properly aligned. The simplest way to do this is to simply store gr_mem directly after struct group. This is not a problem for gr_passwd or gr_name as they are simple strings. [af58fc76f1ed] * ldap.c: Fix a typo/thinko in one of the calls to sudo_ldap_check_user_netgroup(). From Marco van Wieringen. [70b2eb8097f5] 2008-01-17 Todd C. Miller * config.h.in, configure, configure.in, ldap.c: include in ldap.c if available [34346206ef16] 2008-01-16 Todd C. Miller * gram.c, gram.y: Make sure we define SIZE_MAX for yacc's skeleton.c [d8a45c7a3c42] * tgetpass.c: Use TCSAFLUSH when restoring terminal settings (and echo) to guarantee that any pending output is discarded [549a184479e5] 2008-01-15 Todd C. Miller * sudoers: no longer need to specify SETENV when user has sudo ALL [3051b41f8032] * testsudoers.c: sync user_args size calculation with sudo.c Add -g group option, renaming old -g to -G Add set_runasgr() and set_runaspw() and use them [0850325180f0] * sudo.c, sudo.h: Make set_runaspw static void [5d44d7a340ce] * testsudoers.c, visudo.c: g/c set_runaspw stub [79ebb5e2cc38] * configure, configure.in: Don't add -llber twice. [4356d302eef4] 2008-01-14 Todd C. Miller * ldap.c: fix typo [249cecc557e9] 2008-01-13 Todd C. Miller * gram.c: regen [2f94ea375b67] * configure, configure.in: Fix check that determines whether -llber is required. [6afa99523379] * README.LDAP, config.h.in, configure, configure.in, ldap.c: For netscape-based LDAP, use ldapssl_set_strength() to implement the checkpeer ldap.conf option. [16ae24d73795] * auth/kerb5.c: Delay krb5_cc_initialize() until we actually need to use the cred cache, which is what krb5_verify_user() does. Better cleanup on failure. [d12e5f1695b8] 2008-01-12 Todd C. Miller * auth/kerb5.c: Rewrite verify_krb_v5_tgt() based on what heimdal's krb5_verify_user() does. [05b5815f86c9] 2008-01-09 Todd C. Miller * gram.c: The U suffix on constants is an ANSI feature [c6dfce3167f1] * configure, configure.in: Add check for ber_set_option() in -llber [43d0c0566074] 2008-01-07 Todd C. Miller * README.LDAP: default if no nsswitch.conf is files only [c13001d9c998] 2008-01-06 Todd C. Miller * README.LDAP: don't tell people to mail aaron about LDAP stuff [8165ec1ef0c6] * README.LDAP: timelimit and bind_timelimit [44f74cbed167] * ChangeLog: sync [aba1a0ab02bd] * ldap.c: Move ldap.secret reading into a separate function. [1948acc9f7a4] * check.c: user_runas -> runas_pw [334490fc2bae] 2008-01-05 Todd C. Miller * TODO: sync [c7b165cc47c6] * check.c, sudo.pod, sudoers.pod: Add and document the %p escape in the password prompt. Based on a patch from Patrick Schoenfeld. [3972d4f31ffa] * ldap.c: Check strlcpy() return values. [9b42f3ae8ff1] * ldap.c: refactor ldap binding code into sudo_ldap_bind_s() [cb0c66a4d955] * README.LDAP: Make it clear that host and uri can take multiple parameters. URI is now supported for more than just openldap nsswitch.conf does't accept "compat" [f610dea656d6] * sudo.c: comment cleanup and update (c) year [6cd69c810ca5] * parse.c, sudo_nss.c: Move display_privs() and display_cmnd() from parse.c to sudo_nss.c. This should make it possible to build an LDAP-only sudo binary. [61c3f27066a0] * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h: Improve chaining of multiple sudoers sources by passing in the previous return value to the next in the chain [2c0b722b1b2d] * gram.y: Free up parser data structures in sudo_file_close(). [2251531d4519] * gram.c, parse.c: Free up parser data structures in sudo_file_close(). [8371f130f401] * ldap.c: Parse uri ourself if no ldap_initialize() is present Use ldap_create() instead of deprecated ldap_init() Use ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s() [85d3825b1953] * config.h.in, configure, configure.in: Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from CFLAGS [240524512bc5] 2008-01-04 Todd C. Miller * config.h.in, configure, configure.in: add check for ldap_create [3089badd73b8] 2008-01-03 Todd C. Miller * config.h.in, configure, configure.in, ldap.c: Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's dn using the mechanism appropriate for the LDAP SDK in use. Use ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them. [6deeca3d00cc] * lbuf.c: include unistd.h [8419ed0bae7f] * config.h.in, configure.in: fix typo in mtim_getnsec [2d5f21230a60] 2008-01-02 Todd C. Miller * config.h.in, configure, configure.in: add check for st__tim in struct stat as used by SCO [587060ea2a89] * ldap.c: use ldap_search_ext_s instead of deprecated ldap_search_s [5fc44fe3b44c] * Makefile.in, TODO, sudo.cat, sudo.man.in: add sudo_nss.h to HDRS [86f01a70ff29] * ldap.c: Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and ldap_rdn2str(). [aa217002cfae] 2008-01-01 Todd C. Miller * ldap.c: Use ldap_get_values_len()/ldap_value_free_len() instead of the deprecated ldap_get_values()/ldap_value_free(). [e22dceb85e57] * ChangeLog: sync [adad27b36107] * TODO: sync [c449eb47e0ef] * gettime.c, sudo.c: Remove some already fixed XXXs [532788d0e6da] * ldap.c: Same return value as non-existent sudoers if LDAP was unable to connect. [5819810e8e4e] * sudo.pod: mention /etc/environment [ea8e6102f853] * README.LDAP, UPGRADE, WHATSNEW: Update to reflect recent developments. [ed1fb026fe77] * sudo.c: Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output. [55b68a58260d] * ldap.c: When building up a query don't list groups in the aux group vector that are the same as the passwd file group. On most systems the first gid in the group vector is the same as the passwd entry gid. [4bb51e297e0d] * env.c, ldap.c: Define LDAPNOINIT before calling ldap_init(), etc. to disable user ldaprc and system defaults that could affect how LDAP works. [ce5036440db2] * INSTALL, configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c, sudo_nss.h: Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users to specify nsswitch.conf path or disable it. If --with-nsswitch=no but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf- file and --with-ldap-secret-file [ea5d7704381f] * parse.c: Honor def_ignore_local_sudoers [f38e1121fae1] 2007-12-31 Todd C. Miller * ldap.c: no longer need to check def_ignore_local_sudoers here [fce2a72f96fb] * parse.c: Refactor group vector resetting into a function and also call it from display_cmnd. Stop after the first sucessful match in display_cmnd. Print a newline between each display_privs method. [981b37b5adff] * parse.c: fix double free introduced in rev 1.218 [c574b02d8747] * ldap.c: belt and suspenders; zero out result after freeing it [7732988d4620] * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c: Refactor line reading into a separate function, sudo_parseln(), which removes comments, leading/trailing whitespace and newlines. May want to rethink the use of sudo_parseln() for /etc/ldap.secret [61d9068f0645] * parse.c, sudo.c: Make the inability to read the sudoers file a non-fatal error if there are other sudoers sources available. sudoers_file_lookup now returns "not OK" if sudoers was not present [643babf597a8] * ldap.c: make it clear that the global options are from LDAP [9ff950349463] * logging.c: allocate proper amount of space for error string [8bebb7d46d19] * sudo_nss.c, sudo_nss.h: actual sudo nss code [5bd7d52d7738] * ldap.c, parse.c, sudo.c, sudo.h: nss-ify display_privs and display_cmnd. [cccfdd3253f2] * defaults.c, parse.c, testsudoers.c, visudo.c: move update_defaults() to parse.c [ace144b958a9] * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h: Use nsswitch to hide some sudoers vs. ldap implementation details and reduce the number of #ifdef LDAP TODO: fix display routines and error handling [6225edde89a6] 2007-12-28 Todd C. Miller * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h: First cut at nsswitch.conf support. Further reorganizaton and related changes are forthcoming. [717f59d0790b] 2007-12-21 Todd C. Miller * env.c, pathnames.h.in, sudo.c, sudo.h: Add support for reading and /etc/environment file. Still needs to be documented and should probably only applies to OSes that have it (AIX and Linux, maybe others). [15d3edae27e4] * ldap.c: include limits.h [e19875ef0f82] 2007-12-20 Todd C. Miller * WHATSNEW: reword LDAP SASL [7ec3c4ec31b5] 2007-12-19 Todd C. Miller * TODO: sync [87c5a7aea7bf] * README.LDAP: Add an example sudoRole, clarify netscape vs. openldap a bit more [6f96c0ca8107] * README.LDAP: Be clear on what is OpenLDAP vs. Netscape-derived [a33c8314dec5] * config.h.in, configure, configure.in, ldap.c: Use ldapssl_init() for ldaps support instead of trying to do it manually with ldap_init() + ldapssl_install_routines(). Use tls_cert and tls_key for cert7.db and key3.db respectively. Don't print debugging info for options that are not set. Add warning if start_tls specified when not supported. [abb62dc7e4a3] * ldap.c: fix compilation on solaris [03d449684e80] * Makefile.in: add missing .h and .c files for missing lib objs [8b37825bdfc7] 2007-12-18 Todd C. Miller * ldap.c: fix LDAP_OPT_NETWORK_TIMEOUT setting [226eba89c0ad] * ldap.c: fix compilation on Solaris [917d47639eb6] 2007-12-17 Todd C. Miller * configure, configure.in: fix typo [009d5c81b225] * README.LDAP: try to clear up which variables are for OpenLDAP and which are for netscape-derived SDKs [f8d9823ee73c] * config.h.in, configure, configure.in, ldap.c: Add support for "ssl on" in both netscape and openldap flavors. Only the OpenLDAP flavor has been tested. [952745829ec5] * logging.c, sudo.c, sudo.h: Call cleanup() before exit in log_error() instead of calling sudo_ldap_close() directly. ldap_conn can now be static to sudo.c [da02d1b67a2c] * sudo.c: ld -> ldap_conn [01afa6d927cc] 2007-12-16 Todd C. Miller * logging.c, sudo.c, sudo.h: Better ldap cleanup. [25b9abe2d617] * ldap.c: Distinguish between LDAP conf settings that are connection-specific (which take an ld pointer) and those that are default settings (which do not). [d48dc6c9c3b4] 2007-12-14 Todd C. Miller * ldap.c: Improved warnings on error. [c8dce7b4feb4] * ldap.c: Make ldap config table driven and set the config *after* we open the connection. [d9698b5a2681] 2007-12-13 Todd C. Miller * ldap.c: fix LDAP_OPT_X_CONNECT_TIMEOUT compat define [598c6df06660] * configure, configure.in: some operating systems need to link with -lkrb5support when using krb5 [8896365dde9e] 2007-12-10 Todd C. Miller * WHATSNEW: minor update [acfeeb7f4886] * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in: regen [a3c6699674f9] 2007-12-08 Todd C. Miller * ChangeLog, TODO: sync [138e99b925ee] * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif: add -g support for LDAP [8fc27dbe9287] 2007-12-03 Todd C. Miller * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in: The -i and -s flags can now take an optional command. [6afec104ee77] 2007-12-02 Todd C. Miller * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod, sudoers.pod: Add passprompt_override flag to sudoers that will cause the prompt to be overridden in all cases. This flag is also set when the user specifies the -p flag. [e4c5402131a6] * sudo.c: Move setting of login class until after sudoers has been parsed. Set NewArgv[0] for -i after runas_pw has been set. [62a48c8c56fa] * configure, configure.in: Move the dgettext check. [5fd8a4712d1c] 2007-12-01 Todd C. Miller * auth/pam.c, config.h.in, configure, configure.in: Add basic support for looking up the string "Password: " in the PAM localized text db. This allows us to determine whether the PAM prompt is the default "Password: " one even if it has been localized. TODO: concatenate non-std PAM prompts and user-specified sudo prompts. [81c25a415d41] 2007-11-27 Todd C. Miller * Makefile.in, config.h.in, configure, configure.in, parse.c, set_perms.c, sudo.c, sudo.h: Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was insufficient. [1cce6ec1a91e] * acsite.m4, configure, interfaces.c, memrchr.c: Fix typos; Martynas Venckus [be1233cca11a] 2007-11-26 Todd C. Miller * set_perms.c: Don't assume runas_pw is set; it may not be in the -g case. [aa11bd2193ac] 2007-11-25 Todd C. Miller * logging.c, set_perms.c: Set aux group vector for PERM_RUNAS and restore group vector for PERM_ROOT if we previously changed it. Stash the runas group vector so we don't have to call initgroups more than once. Also add no-op check to check_perms. [53837fc755f7] 2007-11-21 Todd C. Miller * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y, ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h, pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c, visudo.cat, visudo.man.in: Add support for runas groups. This allows the user to run a command with a different effective group. If the -g option is specified without -u the command will be run as the current user (only the group will change). the -g and -u options may be used together. TODO: implement runas group for ldap improve runas group documentation add testsudoers