00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00027 #ifndef __MSG_H
00028 #define __MSG_H
00029
00030 #include <syslog.h>
00031 #include <security/pam_ext.h>
00032
00034 #define m2s(s) str(s)
00035 #define str(s) #s
00036
00038 #define PAM_KMUX_MSG_O_ELE element
00039 #define PMA_KMUX_MSG_O_DBG debug
00040 #define PAM_KMUX_MSG_O_DB database
00041 #define PAM_KMUX_MSG_O_TYPE type
00042 #define PAM_KMUX_MSG_O_PORT port
00043 #define PAM_KMUX_MSG_O_TO timeout
00044 #define PAM_KMUX_MSG_O_HOST host
00045 #define PAM_KMUX_MSG_O_USER user
00046 #define PAM_KMUX_MSG_O_PW password
00047 #define PAM_KMUX_MSG_O_TAB table
00048 #define PAM_KMUX_MSG_O_PWCOL password_column
00049 #define PAM_KMUX_MSG_O_USERCOL user_column
00050 #define PAM_KMUX_MSG_O_PWTYPE password_type
00051 #define PAM_KMUX_MSG_O_AUTQY auth_query
00052 #define PAM_KMUX_MSG_O_PWQY password_query
00053 #define PAM_KMUX_MSG_O_SSLMODE sslmode
00054
00055 #define PAM_KMUX_MSG_O_PAMOD PAM_KMUX_MSG_O_ELE PAM_KMUX_MSG_O_DBG
00056
00057 #define PAM_KMUX_MSG_O_MOD PAM_KMUX_MSG_O_DB PAM_KMUX_MSG_O_TYPE PAM_KMUX_MSG_O_PORT \
00058 PAM_KMUX_MSG_O_TO PAM_KMUX_MSG_O_HOST PAM_KMUX_MSG_O_USER PAM_KMUX_MSG_O_PW \
00059 PAM_KMUX_MSG_O_TAB PAM_KMUX_MSG_O_PWCOL PAM_KMUX_MSG_O_USERCOL PAM_KMUX_MSG_O_PWTYPE \
00060 PAM_KMUX_MSG_O_AUTQY PAM_KMUX_MSG_O_PWQY PAM_KMUX_MSG_O_SSLMODE
00061
00063 #define PAM_KMUX_MSG_O_PW_CLEAR "CLEAR"
00064 #define PAM_KMUX_MSG_O_PW_MD5 "MD5"
00065 #define PAM_KMUX_MSG_O_PW_CRYPT "CRYPT"
00066 #define PAM_KMUX_MSG_O_PW_CRYPT_MD5 "CRYPT_MD5"
00067 #define PAM_KMUX_MSG_O_PW_SHA1 "SHA1"
00068 #define PAM_KMUX_MSG_O_PW_T9 "T9"
00069 #define PAM_KMUX_MSG_O_PW_T9_MD5 "T9_MD5"
00070 #define PAM_KMUX_MSG_O_UNDEF "UNDEFINED"
00071
00073 #define PAM_KMUX_MSG_O_DB_FIREBIRD "FIREBIRD"
00074 #define PAM_KMUX_MSG_O_DB_MYSQL "MYSQL"
00075 #define PAM_KMUX_MSG_O_DB_POSTGRES "POSTGRES"
00076 #define PAM_KMUX_MSG_O_DB_UNDEF "UNDEFINED"
00077
00079 #define PAM_KMUX_MSG_COMBUILD_ERR "something went wrong trying to build command"
00080 #define PAM_KMUX_MSG_COMBUILD_SUCC "successfully builded command"
00081 #define PAM_KMUX_MSG_FETCHRES_ERR "can not fetch result"
00082 #define PAM_KMUX_MSG_FETCHRES_SUCC "successfully fetched result"
00083 #define PAM_KMUX_MSG_GETTOK "successfully fetched authtok"
00084 #define PAM_KMUX_MSG_PW_INP "user defined password"
00085 #define PAM_KMUX_MSG_PW_COMP_SUCC "passwords are equal"
00086 #define PAM_KMUX_MSG_PW_COMP_ERR "passwords are not equal"
00087 #define PAM_KMUX_MSG_RES_ERR "result invalid"
00088 #define PAM_KMUX_MSG_QY_ERR "something went wrong trying to execute query"
00089 #define PAM_KMUX_MSG_QY_SUCC "successfully executed query"
00090 #define PAM_KMUX_MSG_CHARDET "character detected"
00091 #define PAM_KMUX_MSG_HASH_ERR "hashify password fails"
00092 #define PAM_KMUX_MSG_HASH_SUCC "successfully hashified password"
00093 #define PAM_KMUX_MSG_HASH_SPEC "specified hash"
00094
00096 #define PAM_KMUX_MSG_DB_CONN_NULL "connection is null"
00097 #define PAM_KMUX_MSG_DB_CONN_TRY "trying to establish a connection to database"
00098 #define PAM_KMUX_MSG_DB_CONN_ERR "can not establish connection to database"
00099 #define PAM_KMUX_MSG_DB_CONN_SUCC "successfully connected to database"
00100 #define PAM_KMUX_MSG_DB_OPT_ERR "can not set options for database"
00101 #define PAM_KMUX_MSG_DB_DCONN "close connection to database"
00102 #define PAM_KMUX_MSG_DB_DCONN_TRY "trying close connection to database"
00103 #define PAM_KMUX_MSG_DB_DCONN_ERR "can not close connection to database"
00104 #define PAM_KMUX_MSG_DB_DCONN_SUCC "successfully closed connection to database"
00105
00107 #define PAM_KMUX_MSG_CONFFILE_TRY "trying to load configuration file"
00108 #define PAM_KMUX_MSG_CONFFILE_ERR "can not load configuration file"
00109 #define PAM_KMUX_MSG_CONFFILE_SUCC "successfully loaded configuration file"
00110 #define PAM_KMUX_MSG_CONFFILE_INVAL "malformed configuration file"
00111 #define PAM_KMUX_MSG_CONFPARSE_ERR "error while trying to pare configuration file"
00112
00114 #define PAM_KMUX_MSG_PW_ENC_TRY "try to encrypt password"
00115 #define PAM_KMUX_MSG_PW_ENC_ERR "password encryption fails"
00116 #define PAM_KMUX_MSG_PW_ENC_SUCC "successfully encrypted password"
00117
00119
00120 #define PAM_KMUX_MSG_F_EXEC_PARAM_ERR "something went wrong trying to run exec param"
00121 #define PAM_KMUX_MSG_F_EXEC_PARAM_SUCC "successfully run exec param"
00122
00123 #define PAM_KMUX_MSG_F_BACKEND_AUTH "something went wrong trying to run backend_authenticate"
00124
00125 #define PAM_KMUX_MSG_F_STARTER_LOOP "staring loop over all databases"
00126
00127 #define PAM_KMUX_MSG_F_PARSE_OPTIONS "parsing module options specified in pam stack"
00128
00130 #define PAM_KMUX_DBG pam_syslog(pamh, (int)pamod_options.debug, "[%s,%d,%s]\n", __FILE__, __LINE__, __func__)
00131
00133 #define logopts log_options(options)
00134 #ifdef EXTENDED_DEBUG
00135 #define logdbg(...) if ( pamod_options.debug == LG_DEBUG ) { \
00136 PAM_KMUX_DBG; \
00137 pam_syslog(pamod_options.pamh, LG_DEBUG, __VA_ARGS__); \
00138 }
00139
00140 #else
00141
00142 #define logdbg(...) if ( pamod_options.debug == LG_DEBUG ) \
00143 pam_syslog(pamod_options.pamh, LG_DEBUG, __VA_ARGS__)
00144 #endif
00145
00146 #define loginfo(...) pam_syslog(pamod_options.pamh, LG_INFO, __VA_ARGS__)
00147 #define logerr(...) pam_syslog(pamod_options.pamh, LG_ERR, __VA_ARGS__ )
00148 #endif