/[mod_czs]/mod_czs.c
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /mod_czs.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by dpavlin, Wed Aug 9 07:13:10 2000 UTC revision 1.7 by dpavlin, Wed Aug 9 20:34:29 2000 UTC
# Line 50  static int czs_handler(request_rec *r) { Line 50  static int czs_handler(request_rec *r) {
50                  ap_log_reason("file permissions deny server access", r->filename, r);                  ap_log_reason("file permissions deny server access", r->filename, r);
51                  return FORBIDDEN;                      return FORBIDDEN;    
52          }          }
53    #ifdef DEBUG
54          if(r->args != 0 || do_czs) {          if(r->args != 0 || do_czs) {
55                  ap_table_setn(r->headers_out, "X-czs_filename", r->filename);                  ap_table_setn(r->headers_out, "X-czs_filename", r->filename);
56                  if (r->args != 0) {                  if (r->args != 0) {
57                          ap_table_setn(r->headers_out, "X-czs_args", r->args);                          ap_table_setn(r->headers_out, "X-czs_args", r->args);
58                  }                  }
59          }          }
60    #endif
         r->content_type = "text/html";  /* hm? */  
61    
62          ap_soft_timeout("send", r);          ap_soft_timeout("send", r);
63          ap_send_http_header(r);          ap_send_http_header(r);
# Line 70  static int czs_handler(request_rec *r) { Line 70  static int czs_handler(request_rec *r) {
70    
71  #ifdef TEST_QUERYSTRING  #ifdef TEST_QUERYSTRING
72          if(r->args == 0 && !do_czs) {          if(r->args == 0 && !do_czs) {
73    #else
74            if(!do_czs) {
75    #endif
76                  ap_send_fd(in, r);                  ap_send_fd(in, r);
77          } else {          } else {
78  #endif  
79          while(fgets(buffer,MAX_STRING_LEN,in)) {                  while(fgets(buffer,MAX_STRING_LEN,in)) {
80                  for(i=0; i<MAX_STRING_LEN && buffer[i]; i++) {                          for(i=0; i<MAX_STRING_LEN && buffer[i]; i++) {
81                          switch ( buffer[i] ) {                                  switch ( buffer[i] ) {
82                          case '¹': buffer[i]='s'; break;                                  case '¹': buffer[i]='s'; break;
83                          case 'ð': buffer[i]='d'; break;                                  case 'ð': buffer[i]='d'; break;
84                          case 'è': buffer[i]='c'; break;                                  case 'è': buffer[i]='c'; break;
85                          case 'æ': buffer[i]='c'; break;                                  case 'æ': buffer[i]='c'; break;
86                          case '¾': buffer[i]='z'; break;                                  case '¾': buffer[i]='z'; break;
87                          case '©': buffer[i]='S'; break;                                  case '©': buffer[i]='S'; break;
88                          case 'Ð': buffer[i]='D'; break;                                  case 'Ð': buffer[i]='D'; break;
89                          case 'È': buffer[i]='C'; break;                                  case 'È': buffer[i]='C'; break;
90                          case 'Æ': buffer[i]='C'; break;                                  case 'Æ': buffer[i]='C'; break;
91                          case '®': buffer[i]='Z'; break;                                  case '®': buffer[i]='Z'; break;
92                                    }
93                          }                          }
94                            ap_rprintf(r,"%s",buffer);
95                  }                  }
                 ap_rprintf(r,"%s",buffer);  
         }  
 #ifdef TEST_QUERYSTRING  
96          }          }
 #endif  
97    
98          ap_kill_timeout(r);          ap_kill_timeout(r);
99          ap_pfclose(r->pool, in);          ap_pfclose(r->pool, in);
# Line 102  static int czs_handler(request_rec *r) { Line 103  static int czs_handler(request_rec *r) {
103  int translate_path(request_rec *r) {  int translate_path(request_rec *r) {
104          char *uri = r->uri;          char *uri = r->uri;
105          request_rec *subr;          request_rec *subr;
106            do_czs=0;
107    
108          if (uri[0]=='/' && uri[1]=='_' && uri[2]=='/') {          if (uri[0]=='/' && uri[1]=='c' && uri[2]=='z' && uri[3]=='s') {
109  #if 0  #if 0
110                  ap_table_setn(r->headers_out, "Location", ap_pstrcat(r->pool, uri+2, "?czs", NULL));                  ap_table_setn(r->headers_out, "Location", ap_pstrcat(r->pool, uri+2, "?czs", NULL));
111                  return REDIRECT;                  return REDIRECT;
112  #endif  #endif
113                  subr = (request_rec *) ap_sub_req_lookup_uri(r->uri+2, r);                  subr = (request_rec *) ap_sub_req_lookup_uri(r->uri+4, r);
114                  r->filename=ap_pstrdup(r->pool, subr->filename);                  r->filename=ap_pstrdup(r->pool, subr->filename);
115                  ap_destroy_sub_req(subr);                  ap_destroy_sub_req(subr);
116                  do_czs=1;                  do_czs=1;

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.26