/**************************************************************************** mod_dav_pgsql (DASL) for apache 2.X CopyRight(C) 2005 SolutionBox Inc. All Rights reserved. CopyRight(C) 2006 Netomi Inc. All Rights reserved. Author : elenoa lazyfake (elenoa@solutionbox.co.kr) $Id: share.h,v 1.6 2007/03/19 08:43:12 elenoa Exp $ Redistribution and use in source and binary forms, with or with out modification, are not permitted in outside of SolutionBox Inc. ****************************************************************************/ #ifndef __SHARE_ACCOUNT_H__ #define __SHARE_ACCOUNT_H__ #define MaxSizeOfSvcID 33 #define MaxSizeOfUserID 256 #define MaxSizeOfUserPassword 256 #define MaxSizeOfUserSeq 40 #define MaxSizeOfUserTranID 40 #define KEY_LENGTH 24 #define MaxSizeOfUserIV (KEY_LENGTH + 2) #define MaxSizeOfUserPK (KEY_LENGTH + 2) #define MaxSizeOfUserAuthUri 256 #define MaxSizeOfUserAuthAddr 256 #define MaxSizeOfUserAuthMode 10 #define MaxSizeOfPermittedReferer 4096 #ifdef __CLASSIFIED_TRAFFIC_MANAGE__ #define MAX_CLASS 4 #endif // __CLASSIFIED_TRAFFIC_MANAGE__ struct account_cache { //flag // DBÁ¶È¸ °á°ú¿¡¼­ ÇØ´ç ¼­ºñ½º°¡ ¾ø´Ù¸é nFlag¸¦ '1'·Î ¼³Á¤ int nFlag; // 0 or 1 '0'À̸é Á¤»ó 1ÀÌ¸é ºñÁ¤»ó /* authorized related */ char id[MaxSizeOfUserID]; char svc_id[MaxSizeOfSvcID]; char pass[MaxSizeOfUserPassword]; char seq[MaxSizeOfUserSeq]; char tran_id[MaxSizeOfUserTranID]; char iv[MaxSizeOfUserIV]; char pk[MaxSizeOfUserPK]; /*uri ignore case : 1 - ignore case, 0 - Not ignore case */ int is_ignorecase; /* authenticate related - user identify */ char auth_uri[MaxSizeOfUserAuthUri]; char auth_addr[MaxSizeOfUserAuthAddr]; short auth_port; int auth_timeout; /* billing related - for SP */ char bill_uri[MaxSizeOfUserAuthUri]; char bill_addr[MaxSizeOfUserAuthAddr]; short bill_port; int bill_timeout; /* auth and bill mode */ char mode[MaxSizeOfUserAuthMode]; /* traffic control value */ int tc_percent; int tc_session; /* Elenoa: 2007. 5. 9: add referer check */ char permitted_referer[MaxSizeOfPermittedReferer]; char permitted_extend[MaxSizeOfPermittedReferer]; }; /* account cache */ int dav_initialize_shared_account_cache(dav_repos_server_conf *dsc, server_rec *s, apr_pool_t *p); void dav_cleanup_shared_account_cache(); struct account_cache * dav_shared_ac_get_by_vol(const char * volume_name); struct account_cache * dav_shared_ac_get_by_vol_not_timeout(const char * volume_name); struct account_cache * dav_shared_ac_get_by_tranid(char *tranid); // NEW 2012-03-20 ³ë°æ¹Î // °¢ ¼­ºñ½ºº° uri ¿¡ ´ëÇÑ ´ë¼Ò¹®ÀÚ ±¸ºÐ, ¹«½Ã ¿©ºÎ¸¦ ¹ÝȯÇÑ´Ù. // ÇØ´ç ¹Ýȯ°ªÀº RCDB t_sms_sp_svc_product Å×À̺í uri_ignore_case ÇʵåÀÇ ¼³Á¤°ªÀ» È®ÀÎÇÏ¿© ´ÙÀ½°ú °°ÀÌ ¹Ýȯó¸®ÇÑ´Ù. // 0 : ´ë¼Ò¹®ÀÚ ±¸ºÐ ( ¾ç¹æÇâ Default ) // 1 : ´ë¼Ò¹®ÀÚ ¹«½Ã // -1 : ¿À·ù ¹ß»ý. int dav_shared_is_uri_ignore_case(const dav_resource * resource); int dav_shared_is_uri_ignore_case_by_tranid(char *tranid); int dav_shared_is_uri_ignore_case_by_svcname(const char * svcname); int dav_shared_ac_check_referer(struct account_cache *ac, request_rec *r); #endif // __SHARE_ACCOUNT_H__