@@ -45,14 +45,14 @@ static void tag_dtor(zval *zv)
45
45
free (Z_PTR_P (zv));
46
46
}
47
47
48
- static int php_ini_on_update_tags (zend_ini_entry *entry, zend_string *new_value, void *mh_arg1, void *mh_arg2, void *mh_arg3, int stage, int type )
48
+ static zend_result php_ini_on_update_tags (zend_ini_entry *entry, zend_string *new_value, void *mh_arg1, void *mh_arg2, void *mh_arg3, int stage, bool is_session )
49
49
{
50
50
url_adapt_state_ex_t *ctx;
51
51
char *key;
52
52
char *tmp;
53
53
char *lasts = NULL ;
54
54
55
- if (type ) {
55
+ if (is_session ) {
56
56
ctx = &BG (url_adapt_session_ex);
57
57
} else {
58
58
ctx = &BG (url_adapt_output_ex);
@@ -102,22 +102,22 @@ static int php_ini_on_update_tags(zend_ini_entry *entry, zend_string *new_value,
102
102
103
103
static PHP_INI_MH (OnUpdateSessionTags)
104
104
{
105
- return php_ini_on_update_tags (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, 1 );
105
+ return php_ini_on_update_tags (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, /* is_session */ true );
106
106
}
107
107
108
108
static PHP_INI_MH (OnUpdateOutputTags)
109
109
{
110
- return php_ini_on_update_tags (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, 0 );
110
+ return php_ini_on_update_tags (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, /* is_session */ false );
111
111
}
112
112
113
- static int php_ini_on_update_hosts (zend_ini_entry *entry, zend_string *new_value, void *mh_arg1, void *mh_arg2, void *mh_arg3, int stage, int type )
113
+ static zend_result php_ini_on_update_hosts (zend_ini_entry *entry, zend_string *new_value, void *mh_arg1, void *mh_arg2, void *mh_arg3, int stage, bool is_session )
114
114
{
115
115
HashTable *hosts;
116
116
char *key;
117
117
char *tmp;
118
118
char *lasts = NULL ;
119
119
120
- if (type ) {
120
+ if (is_session ) {
121
121
hosts = &BG (url_adapt_session_hosts_ht);
122
122
} else {
123
123
hosts = &BG (url_adapt_output_hosts_ht);
@@ -152,12 +152,12 @@ static int php_ini_on_update_hosts(zend_ini_entry *entry, zend_string *new_value
152
152
153
153
static PHP_INI_MH (OnUpdateSessionHosts)
154
154
{
155
- return php_ini_on_update_hosts (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, 1 );
155
+ return php_ini_on_update_hosts (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, /* is_session */ true );
156
156
}
157
157
158
158
static PHP_INI_MH (OnUpdateOutputHosts)
159
159
{
160
- return php_ini_on_update_hosts (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, 0 );
160
+ return php_ini_on_update_hosts (entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage, /* is_session */ false );
161
161
}
162
162
163
163
/* FIXME: OnUpdate*Hosts cannot set default to $_SERVER['HTTP_HOST'] at startup */
@@ -349,7 +349,7 @@ static inline void passthru(STD_PARA)
349
349
}
350
350
351
351
352
- static int check_http_host (char *target)
352
+ static zend_result check_http_host (char *target)
353
353
{
354
354
zval *host, *tmp;
355
355
zend_string *host_tmp;
@@ -375,7 +375,7 @@ static int check_http_host(char *target)
375
375
return FAILURE;
376
376
}
377
377
378
- static int check_host_whitelist (url_adapt_state_ex_t *ctx)
378
+ static zend_result check_host_whitelist (url_adapt_state_ex_t *ctx)
379
379
{
380
380
php_url *url_parts = NULL ;
381
381
HashTable *allowed_hosts = ctx->type ? &BG (url_adapt_session_hosts_ht) : &BG (url_adapt_output_hosts_ht);
@@ -583,7 +583,7 @@ stop:
583
583
}
584
584
585
585
586
- PHPAPI char *php_url_scanner_adapt_single_url (const char *url, size_t urllen, const char *name, const char *value, size_t *newlen, int encode)
586
+ PHPAPI char *php_url_scanner_adapt_single_url (const char *url, size_t urllen, const char *name, const char *value, size_t *newlen, bool encode)
587
587
{
588
588
char *result;
589
589
smart_str surl = {0 };
@@ -647,26 +647,24 @@ static char *url_adapt_ext(const char *src, size_t srclen, size_t *newlen, bool
647
647
return retval;
648
648
}
649
649
650
- static int php_url_scanner_ex_activate (int type )
650
+ static void php_url_scanner_ex_activate (bool is_session )
651
651
{
652
652
url_adapt_state_ex_t *ctx;
653
653
654
- if (type ) {
654
+ if (is_session ) {
655
655
ctx = &BG (url_adapt_session_ex);
656
656
} else {
657
657
ctx = &BG (url_adapt_output_ex);
658
658
}
659
659
660
660
memset (ctx, 0 , XtOffsetOf (url_adapt_state_ex_t , tags));
661
-
662
- return SUCCESS;
663
661
}
664
662
665
- static int php_url_scanner_ex_deactivate (int type )
663
+ static void php_url_scanner_ex_deactivate (bool is_session )
666
664
{
667
665
url_adapt_state_ex_t *ctx;
668
666
669
- if (type ) {
667
+ if (is_session ) {
670
668
ctx = &BG (url_adapt_session_ex);
671
669
} else {
672
670
ctx = &BG (url_adapt_output_ex);
@@ -677,16 +675,14 @@ static int php_url_scanner_ex_deactivate(int type)
677
675
smart_str_free (&ctx->tag );
678
676
smart_str_free (&ctx->arg );
679
677
smart_str_free (&ctx->attr_val );
680
-
681
- return SUCCESS;
682
678
}
683
679
684
- static inline void php_url_scanner_session_handler_impl (char *output, size_t output_len, char **handled_output, size_t *handled_output_len, int mode, int type )
680
+ static inline void php_url_scanner_session_handler_impl (char *output, size_t output_len, char **handled_output, size_t *handled_output_len, int mode, bool is_session )
685
681
{
686
682
size_t len;
687
683
url_adapt_state_ex_t *url_state;
688
684
689
- if (type ) {
685
+ if (is_session ) {
690
686
url_state = &BG (url_adapt_session_ex);
691
687
} else {
692
688
url_state = &BG (url_adapt_output_ex);
@@ -720,15 +716,15 @@ static inline void php_url_scanner_session_handler_impl(char *output, size_t out
720
716
721
717
static void php_url_scanner_session_handler (char *output, size_t output_len, char **handled_output, size_t *handled_output_len, int mode)
722
718
{
723
- php_url_scanner_session_handler_impl (output, output_len, handled_output, handled_output_len, mode, 1 );
719
+ php_url_scanner_session_handler_impl (output, output_len, handled_output, handled_output_len, mode, /* is_session */ true );
724
720
}
725
721
726
722
static void php_url_scanner_output_handler (char *output, size_t output_len, char **handled_output, size_t *handled_output_len, int mode)
727
723
{
728
- php_url_scanner_session_handler_impl (output, output_len, handled_output, handled_output_len, mode, 0 );
724
+ php_url_scanner_session_handler_impl (output, output_len, handled_output, handled_output_len, mode, /* is_session */ false );
729
725
}
730
726
731
- static inline int php_url_scanner_add_var_impl (const char *name, size_t name_len, const char *value, size_t value_len, int encode, int type )
727
+ static inline void php_url_scanner_add_var_impl (const char *name, size_t name_len, const char *value, size_t value_len, bool encode, bool is_session )
732
728
{
733
729
smart_str sname = {0 };
734
730
smart_str svalue = {0 };
@@ -739,7 +735,7 @@ static inline int php_url_scanner_add_var_impl(const char *name, size_t name_len
739
735
php_output_handler_func_t handler;
740
736
bool should_start = false ;
741
737
742
- if (type ) {
738
+ if (is_session ) {
743
739
url_state = &BG (url_adapt_session_ex);
744
740
handler = php_url_scanner_session_handler;
745
741
} else {
@@ -748,10 +744,10 @@ static inline int php_url_scanner_add_var_impl(const char *name, size_t name_len
748
744
}
749
745
750
746
if (!url_state->active ) {
751
- php_url_scanner_ex_activate (type );
747
+ php_url_scanner_ex_activate (is_session );
752
748
should_start = true ;
753
749
url_state->active = 1 ;
754
- url_state->type = type ;
750
+ url_state->type = is_session ;
755
751
}
756
752
757
753
if (url_state->url_app .s && ZSTR_LEN (url_state->url_app .s ) != 0 ) {
@@ -792,27 +788,27 @@ static inline int php_url_scanner_add_var_impl(const char *name, size_t name_len
792
788
if (should_start) {
793
789
php_output_start_internal (ZEND_STRL (" URL-Rewriter" ), handler, 0 , PHP_OUTPUT_HANDLER_STDFLAGS);
794
790
}
795
-
796
- return SUCCESS;
797
791
}
798
792
799
793
800
- PHPAPI int php_url_scanner_add_session_var (const char *name, size_t name_len, const char *value, size_t value_len, int encode)
794
+ PHPAPI zend_result php_url_scanner_add_session_var (const char *name, size_t name_len, const char *value, size_t value_len, bool encode)
801
795
{
802
- return php_url_scanner_add_var_impl (name, name_len, value, value_len, encode, 1 );
796
+ php_url_scanner_add_var_impl (name, name_len, value, value_len, encode, /* is_session */ true );
797
+ return SUCCESS;
803
798
}
804
799
805
800
806
- PHPAPI int php_url_scanner_add_var (const char *name, size_t name_len, const char *value, size_t value_len, int encode)
801
+ PHPAPI zend_result php_url_scanner_add_var (const char *name, size_t name_len, const char *value, size_t value_len, bool encode)
807
802
{
808
- return php_url_scanner_add_var_impl (name, name_len, value, value_len, encode, 0 );
803
+ php_url_scanner_add_var_impl (name, name_len, value, value_len, encode, /* is_session */ false );
804
+ return SUCCESS;
809
805
}
810
806
811
807
812
- static inline void php_url_scanner_reset_vars_impl (int type ) {
808
+ static inline void php_url_scanner_reset_vars_impl (bool is_session ) {
813
809
url_adapt_state_ex_t *url_state;
814
810
815
- if (type ) {
811
+ if (is_session ) {
816
812
url_state = &BG (url_adapt_session_ex);
817
813
} else {
818
814
url_state = &BG (url_adapt_output_ex);
@@ -827,21 +823,21 @@ static inline void php_url_scanner_reset_vars_impl(int type) {
827
823
}
828
824
829
825
830
- PHPAPI int php_url_scanner_reset_session_vars (void )
826
+ PHPAPI zend_result php_url_scanner_reset_session_vars (void )
831
827
{
832
- php_url_scanner_reset_vars_impl (1 );
828
+ php_url_scanner_reset_vars_impl (true );
833
829
return SUCCESS;
834
830
}
835
831
836
832
837
- PHPAPI int php_url_scanner_reset_vars (void )
833
+ PHPAPI zend_result php_url_scanner_reset_vars (void )
838
834
{
839
- php_url_scanner_reset_vars_impl (0 );
835
+ php_url_scanner_reset_vars_impl (false );
840
836
return SUCCESS;
841
837
}
842
838
843
839
844
- static inline int php_url_scanner_reset_var_impl (zend_string *name, int encode, int type )
840
+ static inline zend_result php_url_scanner_reset_var_impl (zend_string *name, int encode, bool is_session )
845
841
{
846
842
char *start, *end, *limit;
847
843
size_t separator_len;
@@ -854,7 +850,7 @@ static inline int php_url_scanner_reset_var_impl(zend_string *name, int encode,
854
850
bool sep_removed = 0 ;
855
851
url_adapt_state_ex_t *url_state;
856
852
857
- if (type ) {
853
+ if (is_session ) {
858
854
url_state = &BG (url_adapt_session_ex);
859
855
} else {
860
856
url_state = &BG (url_adapt_output_ex);
@@ -911,7 +907,7 @@ static inline int php_url_scanner_reset_var_impl(zend_string *name, int encode,
911
907
}
912
908
/* Remove all when this is the only rewrite var */
913
909
if (ZSTR_LEN (url_state->url_app .s ) == end - start) {
914
- php_url_scanner_reset_vars_impl (type );
910
+ php_url_scanner_reset_vars_impl (is_session );
915
911
goto finish;
916
912
}
917
913
/* Check preceding separator */
@@ -933,7 +929,7 @@ static inline int php_url_scanner_reset_var_impl(zend_string *name, int encode,
933
929
if (!start) {
934
930
/* Should not happen */
935
931
ret = FAILURE;
936
- php_url_scanner_reset_vars_impl (type );
932
+ php_url_scanner_reset_vars_impl (is_session );
937
933
goto finish;
938
934
}
939
935
/* Get end of form var */
@@ -961,15 +957,15 @@ finish:
961
957
}
962
958
963
959
964
- PHPAPI int php_url_scanner_reset_session_var (zend_string *name, int encode)
960
+ PHPAPI zend_result php_url_scanner_reset_session_var (zend_string *name, int encode)
965
961
{
966
- return php_url_scanner_reset_var_impl (name, encode, 1 );
962
+ return php_url_scanner_reset_var_impl (name, encode, /* is_session */ true );
967
963
}
968
964
969
965
970
- PHPAPI int php_url_scanner_reset_var (zend_string *name, int encode)
966
+ PHPAPI zend_result php_url_scanner_reset_var (zend_string *name, int encode)
971
967
{
972
- return php_url_scanner_reset_var_impl (name, encode, 0 );
968
+ return php_url_scanner_reset_var_impl (name, encode, /* is_session */ false );
973
969
}
974
970
975
971
@@ -1000,7 +996,7 @@ PHP_RINIT_FUNCTION(url_scanner)
1000
996
PHP_RSHUTDOWN_FUNCTION (url_scanner)
1001
997
{
1002
998
if (BG (url_adapt_session_ex).active ) {
1003
- php_url_scanner_ex_deactivate (1 );
999
+ php_url_scanner_ex_deactivate (true );
1004
1000
BG (url_adapt_session_ex).active = 0 ;
1005
1001
BG (url_adapt_session_ex).tag_type = 0 ;
1006
1002
BG (url_adapt_session_ex).attr_type = 0 ;
@@ -1009,7 +1005,7 @@ PHP_RSHUTDOWN_FUNCTION(url_scanner)
1009
1005
smart_str_free (&BG (url_adapt_session_ex).url_app );
1010
1006
1011
1007
if (BG (url_adapt_output_ex).active ) {
1012
- php_url_scanner_ex_deactivate (0 );
1008
+ php_url_scanner_ex_deactivate (false );
1013
1009
BG (url_adapt_output_ex).active = 0 ;
1014
1010
BG (url_adapt_output_ex).tag_type = 0 ;
1015
1011
BG (url_adapt_output_ex).attr_type = 0 ;
0 commit comments