Your message dated Sun, 2 Apr 2006 21:44:16 +0200
with message-id <[EMAIL PROTECTED]>
and subject line thy removed
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: thy
Version: 0.9.4-1.1
Severity: wishlist
Tags: patch

Hi,

as I store my file names as UTF-8, I need thy to add the appropirate
meta header to the directory indexes. Attached is a script that does
that in a configurable way. Info-Documentation updated.

Greetings from DebConf, Helsinki,
Joachim

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.10.otto
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)

Versions of packages thy depends on:
ii  libc6                       2.3.2.ds1-22 GNU C Library: Shared libraries an
ii  libgnutls11                 1.0.16-13.1  GNU TLS library - runtime library
ii  zlib1g                      1:1.2.2-8    compression library - runtime

thy recommends no packages.

-- no debconf information
diff -ru thy-0.9.4/debian/changelog thy-0.9.4-my/debian/changelog
--- thy-0.9.4/debian/changelog  2005-07-14 16:53:49.789977936 +0300
+++ thy-0.9.4-my/debian/changelog       2005-07-14 15:31:16.589978792 +0300
@@ -1,3 +1,9 @@
+thy (0.9.4-1.1) UNRELEASED; urgency=low
+
+  * Added FileEncoding support
+
+ -- Joachim Breitner <[EMAIL PROTECTED]>  Thu, 14 Jul 2005 15:31:09 +0300
+
 thy (0.9.4-1) unstable; urgency=high
 
   * The `Some Other Level' release.
diff -ru thy-0.9.4/doc/thy.texi thy-0.9.4-my/doc/thy.texi
--- thy-0.9.4/doc/thy.texi      2004-10-30 15:06:24.000000000 +0300
+++ thy-0.9.4-my/doc/thy.texi   2005-07-14 15:51:43.104520240 +0300
@@ -534,6 +534,14 @@
 Default is @file{/var/www}.
 @end display
 
[EMAIL PROTECTED],STRING,fileencoding,f,ENCODING}
[EMAIL PROTECTED]
[EMAIL PROTECTED] specifies the character encoding that is used for
+filename.
+
+Default is @samp{iso-8859-1}
[EMAIL PROTECTED] display
+
 @cfgopt{ErrorDoc,PAIR,errordoc,e,CODE=PATH}
 @display
 Set the error-document for @samp{CODE} the file specified with
diff -ru thy-0.9.4/src/cfg_grammar.y thy-0.9.4-my/src/cfg_grammar.y
--- thy-0.9.4/src/cfg_grammar.y 2004-10-30 15:06:24.000000000 +0300
+++ thy-0.9.4-my/src/cfg_grammar.y      2005-07-14 16:51:41.717447920 +0300
@@ -54,7 +54,7 @@
 %token COMMENT ERROR
 
 %token T_BOOL_OFF T_BOOL_ON
-%token T_DOCUMENTROOT T_LISTEN T_DEFAULT_TYPE T_TIMEOUT
+%token T_DOCUMENTROOT T_LISTEN T_DEFAULT_TYPE T_TIMEOUT T_FILEENCODING
 %token T_USERDIR T_UID T_PIDFILE T_IPV4 T_IPV6 T_MAP T_INDEXES
 %token T_CGIEXTS T_ERRORDOC T_CGIDIRS T_ADDENV T_ADDHANDLER
 %token T_ADDMETHOD T_ADDHEADER T_ADDTYPE T_GZIP T_TYPE
@@ -106,6 +106,8 @@
 
                | T_DOCUMENTROOT T_STRING { add_arg ("-w", $2); }
 
+               | T_FILEENCODING T_STRING { add_arg ("-f", $2); }
+
                | T_LISTEN T_STRING { add_arg ("-l", $2); }
                | T_IPV4 { bhl_list_append_string (conffile_list, "-4"); }
                | T_IPV6 { bhl_list_append_string (conffile_list, "-6"); }
diff -ru thy-0.9.4/src/cfg_lexer.l thy-0.9.4-my/src/cfg_lexer.l
--- thy-0.9.4/src/cfg_lexer.l   2004-10-30 15:06:24.000000000 +0300
+++ thy-0.9.4-my/src/cfg_lexer.l        2005-07-14 16:27:23.861075776 +0300
@@ -82,6 +82,7 @@
 MaxKeepAliveRequests   { return T_MAXKEEPALIVEREQUESTS; }
 
 DocumentRoot   { return T_DOCUMENTROOT; }
+FileEncoding   { return T_FILEENCODING; }
 Listen         { return T_LISTEN; }
 DefaultType    { return T_DEFAULT_TYPE; }
 Timeout                { return T_TIMEOUT; }
diff -ru thy-0.9.4/src/config.c thy-0.9.4-my/src/config.c
--- thy-0.9.4/src/config.c      2004-10-30 15:06:24.000000000 +0300
+++ thy-0.9.4-my/src/config.c   2005-07-14 16:27:42.595227752 +0300
@@ -145,6 +145,7 @@
   {"unmap", 'F', NULL, OPTION_HIDDEN, "Globalise subsequent options", 1},
   {"alias", 'A', "SOURCE=DEST", 0, "Add a new alias", 1},
   {"cache-control", 'X', "FIELD=VALUE", 0, "Change cache control options", 1},
+  {"fileencoding", 'f', "ENCODING", 0, "Character encoding of the filenames", 
1},
   {0, 0, 0, 0, NULL, 0}
 };
 static error_t _config_parse_opt (int key, char *arg,
@@ -1396,6 +1397,9 @@
       if (wl > 1 && map_cfg->webroot[wl - 1] == '/')
        map_cfg->webroot[wl - 1] = '\0';
       break;
+    case 'f':
+      map_cfg->fileencoding = bhc_strdup (arg);
+    break;
     case 't':
       subopts = arg;
       while (*subopts != '\0')
@@ -1489,6 +1493,7 @@
   thy_default_config.webroot = _THY_WEBROOT;
   thy_default_config.default_type = _THY_DEFTYPE;
   thy_default_config.userdir = _THY_USERDIR;
+  thy_default_config.fileencoding = _THY_FILEENCODING;
 
   thy_default_config.options.userdir = THY_BOOL_TRUE;
   thy_default_config.options.vhosting = THY_BOOL_FALSE;
@@ -1744,6 +1749,8 @@
        cfg->default_type = map->config->default_type;
       if (map->config->userdir)
        cfg->userdir = map->config->userdir;
+      if (map->config->fileencoding)
+       cfg->fileencoding = map->config->fileencoding;
       for (j = HTTP_STATUS_100; j < HTTP_STATUS_UNKNOWN; j++)
        {
          if (map->config->http_status[j])
diff -ru thy-0.9.4/src/dirindex.c thy-0.9.4-my/src/dirindex.c
--- thy-0.9.4/src/dirindex.c    2004-10-30 15:06:24.000000000 +0300
+++ thy-0.9.4-my/src/dirindex.c 2005-07-14 15:30:48.313277504 +0300
@@ -148,11 +148,12 @@
  *
  * @param path is the path to index.
  * @param url is the URL we do the indexing for.
+ * @param fileencoding is the configures encoding for filenames
  *
  * @returns The directory index, or NULL on error.
  */
 char *
-directory_index (const char *path, const char *url)
+directory_index (const char *path, const char *url, const char *fileencoding)
 {
   struct dirent **namelist;
   struct stat st;
@@ -260,6 +261,7 @@
            "Transitional//EN\">"
            "\n"
            "<html>\n<head>\n <title>Directory listing of %s</title>\n"
+           " <meta http-equiv=\"Content-Type\" content=\"text/html; 
charset=%s\">\n"
            " <meta name=\"generator\" content=\"%s\">\n"
            "</head>\n<body bgcolor=\"#ffffff\" text=\"#000000\">\n"
            "<h2>Index of %s</h2>\n<table width=\"100%%\">\n"
@@ -268,7 +270,7 @@
            "%s"
            "</table>\n<hr noshade>\nIndex generated %s by %s\n"
            "</body>\n</html>\n",
-           hurl, thy_servername (NULL), hurl, (d_dirs) ? h_dirs : "",
+           hurl, fileencoding, thy_servername (NULL), hurl, (d_dirs) ? h_dirs 
: "",
            (d_files) ? h_files : "",  t, servername);
 
   free (hurl);
diff -ru thy-0.9.4/src/dirindex.h thy-0.9.4-my/src/dirindex.h
--- thy-0.9.4/src/dirindex.h    2004-10-30 15:06:24.000000000 +0300
+++ thy-0.9.4-my/src/dirindex.h 2005-07-14 15:31:01.839221248 +0300
@@ -25,6 +25,6 @@
 #ifndef _THY_DIRINDEX_H
 #define _THY_DIRINDEX_H 1 /**< dirindex.h multi-inclusion guard. */
 
-char *directory_index (const char *path, const char *url);
+char *directory_index (const char *path, const char *url, const char 
*fileencoding);
 
 #endif /* !_THY_DIRINDEX_H */
diff -ru thy-0.9.4/src/session.c thy-0.9.4-my/src/session.c
--- thy-0.9.4/src/session.c     2004-10-30 15:06:24.000000000 +0300
+++ thy-0.9.4-my/src/session.c  2005-07-14 16:01:25.027054568 +0300
@@ -505,12 +505,14 @@
                                          session->conntime,
                                          config->timeout)) == NULL)
     di = directory_index (session->request->resolved,
-                         session->request->url);
+                         session->request->url,
+                         map_config->fileencoding);
   else
     {
       if (buf.st_mtime > csession->conntime)
        di = directory_index (session->request->resolved,
-                             session->request->url);
+                             session->request->url,
+                             map_config->fileencoding);
       else
        di = bhc_strdup (csession->body.buffer);
     }
diff -ru thy-0.9.4/src/thy.h thy-0.9.4-my/src/thy.h
--- thy-0.9.4/src/thy.h 2004-10-30 15:06:24.000000000 +0300
+++ thy-0.9.4-my/src/thy.h      2005-07-14 15:56:25.549582064 +0300
@@ -83,6 +83,7 @@
                                        version. */
 #define _THY_WORKER_PROTOCOL_VERSION 1 /**< Worker protocol
                                          version. */
+#define _THY_FILEENCODING "iso-8859-1" /**< Default Filename Encoding */
 
 #ifndef __DOXYGEN__
 #if SIZEOF_SIZE_T == 4
diff -ru thy-0.9.4/src/types.h thy-0.9.4-my/src/types.h
--- thy-0.9.4/src/types.h       2004-10-30 15:06:24.000000000 +0300
+++ thy-0.9.4-my/src/types.h    2005-07-14 16:01:04.488176952 +0300
@@ -482,6 +482,8 @@
   char *http_status[HTTP_STATUS_UNKNOWN]; /**< HTTP status code to
                                             error document mapping
                                             table. */
+  
+  char *fileencoding; /**< Fileencoding of file names */
 
   /** Options settable via -o.
    */

--- End Message ---
--- Begin Message ---
thy has been removed from Debian because it is unmaintained upstream
and buggy.
-- 
Martin Michlmayr
http://www.cyrius.com/

--- End Message ---

Reply via email to