Re: Re[4]: Your bug report (about wapbox crash)
Function wap_dispatch_datagram, in wap/wap,c, does not (B (Bhandle case wtp_unpack_wdp_datagram returning NULL, (B (Bwhich indeed would cause a list assertion error. (B (B (BIf this is indeed true, we have a truncated datagram having (B (Blength less than wtp minimum, or, course, a datagram looking (B (Blike one. Strange, but strange things do happen. (B (B (BHave you still the crash problem ? (B (B (BAarno (B (B (BOn 20.11.2003, at 10:16, Anton Vinogradov wrote: (B (B (B$B'1'b'Z'S'V'd'c'd'S'e'p(B (B$B'#'Q'c(B, Aarno (BSyv$B'%(Bnen, (B (B (BThursday, November 20, 2003, 12:01:02 PM, you wrote:wtp (B (BAS> And access log and store log, too, if you can. As I said, the (Bproblem (B (BAS> happens before wapbox log anything else. (B (Bok, no problem. (B (BIt could take couple of days to collect these errors. (B (B (Bbtw, whether the store-log is used in wap-gateway? (B (B (B (B (B (B-- (B (BBest regards, Anton (B (B Mail: [EMAIL PROTECTED] (B (B Phone: 766-0187 (B (B ICQ: 10652905 (B (B (B
Re: Anyone working on CPA SMSC module?
Phuah Yee Keat wrote: I was previously just a user of Kannel (such a great project!), and now am dwelving into developing a new smsc module, for our local telco support in Malaysia. The standard's (or just a spec) name is CPA (Content Provider Architecture). Its a http-get type interface with a session-based login, so I can't use smsc_http.c. I have started some work on it already, but bumped into a couple of questions while scanning thru smsc_xxx.c source codes. This is just a mail to check whether anyone is working on it? I will ask lotsa questions on my next mail! ;^) the group is not aware of such specific development conducted by a person. So go ahead and ask. Stipe mailto:[EMAIL PROTECTED] --- Wapme Systems AG Münsterstr. 248 40470 Düsseldorf, NRW, Germany phone: +49.211.74845.0 fax: +49.211.74845.299 mailto:[EMAIL PROTECTED] http://www.wapme-systems.de/ --- -BEGIN PGP PUBLIC KEY BLOCK- Version: GnuPG v1.2.2 (Cygwin) mIsEP6mcYwEEAMDnUiUwrbb+xwTFWN6TxF2+XZu7/alwJMeCwMBRvXtPZqfjpPhS OkBpU0F4TrVuugz1HINTSaJTYq10AzDQXp5NkyWgckqW79nPAWuOX0dicbJk+cN2 nM2TI4KaxUDe6u8hghNEnH/i2lXsUu9apnP/iixzV81VC2je3uc9hZpnAAYptEVT dGlwZSBUb2xqIChUZWNobm9sb2d5IENlbnRlciAmIFJlc2VhcmNoIExhYikgPHRv bGpAd2FwbWUtc3lzdGVtcy5kZT6ItAQTAQIAHgUCP6mcYwIbAwYLCQgHAwIDFQID AxYCAQIeAQIXgAAKCRABV0w1BqPYRuSqA/wPzsQxao2YePENCtgRTrO86U6zg3sl OcS6CJFI4FZP5h/xD3GRsNH1+MPSvZlomDdpFnr547DGz/Kq9MXuQwVvlVig5yWZ K5dtKp1r5YLhxJQBhfirZbRFFnYmf19f18J8OoS28tuFVftDl1AIwJS3HLyBTv6H g2HyLAEKQIp30Q== =aYCI -END PGP PUBLIC KEY BLOCK-
[PATCH] Naive approach to HTTP-timeouts
Hi everybody, attached is a patch that implements a rather naive HTTP-timeout solution. Problem: The current http-module will not disconnect clients, thus resources (e.g. sockets) are not reclaimed. Approach of the solution: * each new client registers itself in a dictionary of active clients upon creation. * the server thread checks after a certain timeout each client in the dictionary whether or not the connection has been timed out. * 2 kinds of timeout are supported: (1) CONNECTION: the time between creation of the client and the first input. (2) IDLE: the time between subsequent data transfers. * clients that are waiting for an answer (e.g. clients in the request_is_being_handled and sending_reply state) are not disconnected. * each data transfer resets the client's timestamp. * the configuration of the timeout-values is done in the http.h file, which I know is not a very sane approach. Please have a look at the patch. If anyone comes up with a better solution or finds errors/mistakes: I am happy to learn :))). Mit freundlichen Gruessen/Best regards David Schmitz Softwareentwicklung - Wapme Systems AG Vogelsanger Weg 80 40470 Düsseldorf Tel.: + 49 -211-7 48 45 - 2708 Fax: + 49 -211-80-6-06-2801 E-Mail: [EMAIL PROTECTED] Internet: http://www.wapme-systems.de Index: gwlib/http.c === RCS file: /home/cvs/gateway/gwlib/http.c,v retrieving revision 1.211 diff -u -p -b -r1.211 http.c --- gwlib/http.c15 Nov 2003 13:14:23 - 1.211 +++ gwlib/http.c24 Nov 2003 10:34:18 - @@ -95,11 +95,13 @@ /* - * Default port to connect to for HTTP connections. +* Default port to connect to for HTTP connections. */ enum { HTTP_PORT = 80, HTTPS_PORT = 443 }; +static Dict *active_clients; +static Mutex *active_clients_lock; /* * Status of this module. @@ -174,7 +176,6 @@ static int parse_http_version(Octstr *ve return 1; } - /*** * Proxy support. */ @@ -1693,6 +1694,15 @@ static void client_shutdown(void) fdset_destroy(client_fdset); } +Octstr *pointer_to_octstr(void *p) { +Octstr *tmp_oct; +char *tmp = (char *) gw_malloc(sizeof(char) * 255); +sprintf(tmp, %ld, p); +tmp_oct = octstr_create(tmp); +gw_free(tmp); +return tmp_oct; +}; + /*** * HTTP server interface. @@ -1710,7 +1720,8 @@ struct HTTPClient { reading_request_line, reading_request, request_is_being_handled, -sending_reply +sending_reply, +to_be_destroyed } state; int method; /* HTTP_METHOD_ value */ Octstr *url; @@ -1718,11 +1729,17 @@ struct HTTPClient { int persistent_conn; unsigned long conn_time; /* store time for timeouting */ HTTPEntity *request; +Counter *ref_counter; }; - +/* + * creates a new HTTPClient. + * Furthermore the client is registered in the active-clients dictionary. + */ static HTTPClient *client_create(int port, Connection *conn, Octstr *ip) { +Octstr *key; + HTTPClient *p; #ifdef HAVE_LIBSSL @@ -1743,18 +1760,29 @@ static HTTPClient *client_create(int por p-persistent_conn = 1; p-conn_time = time(NULL); p-request = NULL; +p-ref_counter = counter_create(); + +key = pointer_to_octstr(p); +dict_put(active_clients, key, p); +octstr_destroy(key); return p; } - -static void client_destroy(void *client) -{ +/* + * frees resources allocated for a client. + */ +static void client_no_lock_destroy(void *client) { HTTPClient *p; if (client == NULL) return; - p = client; + +if (counter_value(p-ref_counter) 0) { +debug(, 0, Cannot kill client! Client %p is still referenced., client); +return; +}; + debug(gwlib.http, 0, HTTP: Destroying HTTPClient area %p., p); gw_assert_allocated(p, __FILE__, __LINE__, __func__); debug(gwlib.http, 0, HTTP: Destroying HTTPClient for `%s'., @@ -1763,17 +1791,41 @@ static void client_destroy(void *client) octstr_destroy(p-ip); octstr_destroy(p-url); entity_destroy(p-request); +counter_destroy(p-ref_counter); gw_free(p); -} +p = NULL; +}; +/* + * destroys the client and removes it from the active-clients-dictionary. + */ +static void client_destroy(void *client) { +Octstr *key; +mutex_lock(active_clients_lock); +key = pointer_to_octstr(client); +if (dict_remove(active_clients, key) == NULL) { +octstr_destroy(key); +mutex_unlock(active_clients_lock); +return; +}; +octstr_destroy(key); +client_no_lock_destroy(client); +mutex_unlock(active_clients_lock); +}; static void client_reset(HTTPClient *p) { +Octstr *key; +key =
Re: [PATCH] Naive approach to HTTP-timeouts
Hi, David. Current kannel http implementation doesn't free sockets for client-server part too (I mean conn_pool dictionary). This part even more important for WAP than server's part of http library. I've made patch some time ago to clean timeouted connection for this part of library. It works fine for me. David Schmitz wrote: Hi everybody, attached is a patch that implements a rather naive HTTP-timeout solution. Problem: The current http-module will not disconnect clients, thus resources (e.g. sockets) are not reclaimed. Approach of the solution: * each new client registers itself in a dictionary of active clients upon creation. * the server thread checks after a certain timeout each client in the dictionary whether or not the connection has been timed out. * 2 kinds of timeout are supported: (1) CONNECTION: the time between creation of the client and the first input. (2) IDLE: the time between subsequent data transfers. * clients that are waiting for an answer (e.g. clients in the request_is_being_handled and sending_reply state) are not disconnected. * each data transfer resets the client's timestamp. * the configuration of the timeout-values is done in the http.h file, which I know is not a very sane approach. Please have a look at the patch. If anyone comes up with a better solution or finds errors/mistakes: I am happy to learn :))). Mit freundlichen Gruessen/Best regards David Schmitz Softwareentwicklung -- Vjacheslav Chekushinmailto:[EMAIL PROTECTED] Latvian Mobile Phone Companyhttp://www.lmt.lv conn_pool.patch.gz Description: GNU Zip compressed data
Re: [PATCH] Naive approach to HTTP-timeouts
Hi Slava, I would vote -1 for your patch. I see no need to start yet another thread only to watch timedout connections (threads are limited resources). David's patch (though only for http-server part) avoid it gracefully... David your patch has one problem (what I can see right now): please add cleanup for appropriate clients into port_remove function; otherwise callback function will be called for those clients, wich call port_put function then and we have panic, because port just doesn't exists in the dictionary anymore. On Monday 24 November 2003 13:52, Vjacheslav Chekushin wrote: Hi, David. Current kannel http implementation doesn't free sockets for client-server part too (I mean conn_pool dictionary). This part even more important for WAP than server's part of http library. I've made patch some time ago to clean timeouted connection for this part of library. It works fine for me. David Schmitz wrote: Hi everybody, attached is a patch that implements a rather naive HTTP-timeout solution. Problem: The current http-module will not disconnect clients, thus resources (e.g. sockets) are not reclaimed. Approach of the solution: * each new client registers itself in a dictionary of active clients upon creation. * the server thread checks after a certain timeout each client in the dictionary whether or not the connection has been timed out. * 2 kinds of timeout are supported: (1) CONNECTION: the time between creation of the client and the first input. (2) IDLE: the time between subsequent data transfers. * clients that are waiting for an answer (e.g. clients in the request_is_being_handled and sending_reply state) are not disconnected. * each data transfer resets the client's timestamp. * the configuration of the timeout-values is done in the http.h file, which I know is not a very sane approach. Please have a look at the patch. If anyone comes up with a better solution or finds errors/mistakes: I am happy to learn :))). Mit freundlichen Gruessen/Best regards David Schmitz Softwareentwicklung -- Best regards / Mit besten Grüßen aus Düsseldorf Dipl.-Ing. Alexander Malysh ___ Centrium GmbH Vogelsanger Weg 80 40470 Düsseldorf Fon: +49 (0211) 74 84 51 80 Fax: +49 (0211) 277 49 109 email: [EMAIL PROTECTED] web: www.centrium.de msn: [EMAIL PROTECTED] icq: 98063111 ___ Please avoid sending me Word, Excel or PowerPoint attachments. See http://www.fsf.org/philosophy/no-word-attachments.html
Re: [PATCH] Naive approach to HTTP-timeouts
Hi, Alexander, I agree with you about yet another thread. But sockets are limited resources too. Now sockets from conn_pool (client part of http library) _never_ released after use (see conn_pool_put function). David patch cleans sockets only for server part of http library, and it is good, but what about sockets at client part? From http.c: /* XXX re-implement socket pools, with idle connection killing to save sockets */ - it is about client part. This means that either with new thread or without, but this part must be patched too. I post my patch with goal to remind about the problem. It is not problem for me to patch sources on my side by myself ;) And about David's patch: in function pointer_to_octstr() +char *tmp = (char *) gw_malloc(sizeof(char) * 255); +sprintf(tmp, %ld, p); +tmp_oct = octstr_create(tmp); +gw_free(tmp); can be changed to use octstr_format() Alexander Malysh wrote: Hi Slava, I would vote -1 for your patch. I see no need to start yet another thread only to watch timedout connections (threads are limited resources). David's patch (though only for http-server part) avoid it gracefully... David your patch has one problem (what I can see right now): please add cleanup for appropriate clients into port_remove function; otherwise callback function will be called for those clients, wich call port_put function then and we have panic, because port just doesn't exists in the dictionary anymore. On Monday 24 November 2003 13:52, Vjacheslav Chekushin wrote: -- Vjacheslav Chekushinmailto:[EMAIL PROTECTED] Latvian Mobile Phone Companyhttp://www.lmt.lv
Re: [PATCH] Naive approach to HTTP-timeouts
hi again, yep, that's a good idea to remember all us on our todo list ;) Slava, why not just modify your patch in order to not use yet another thread? as I can see, you have done the most work for it, simple kill the thread and put function call to another appropriate place should do the trick? that will have also advantages for you, no need to patch kannel ;) On Monday 24 November 2003 15:53, Vjacheslav Chekushin wrote: Hi, Alexander, I agree with you about yet another thread. But sockets are limited resources too. Now sockets from conn_pool (client part of http library) _never_ released after use (see conn_pool_put function). David patch cleans sockets only for server part of http library, and it is good, but what about sockets at client part? From http.c: /* XXX re-implement socket pools, with idle connection killing to save sockets */ - it is about client part. This means that either with new thread or without, but this part must be patched too. I post my patch with goal to remind about the problem. It is not problem for me to patch sources on my side by myself ;) And about David's patch: in function pointer_to_octstr() +char *tmp = (char *) gw_malloc(sizeof(char) * 255); +sprintf(tmp, %ld, p); +tmp_oct = octstr_create(tmp); +gw_free(tmp); can be changed to use octstr_format() Alexander Malysh wrote: Hi Slava, I would vote -1 for your patch. I see no need to start yet another thread only to watch timedout connections (threads are limited resources). David's patch (though only for http-server part) avoid it gracefully... David your patch has one problem (what I can see right now): please add cleanup for appropriate clients into port_remove function; otherwise callback function will be called for those clients, wich call port_put function then and we have panic, because port just doesn't exists in the dictionary anymore. On Monday 24 November 2003 13:52, Vjacheslav Chekushin wrote: -- Best regards / Mit besten Grüßen aus Düsseldorf Dipl.-Ing. Alexander Malysh ___ Centrium GmbH Vogelsanger Weg 80 40470 Düsseldorf Fon: +49 (0211) 74 84 51 80 Fax: +49 (0211) 277 49 109 email: [EMAIL PROTECTED] web: www.centrium.de msn: [EMAIL PROTECTED] icq: 98063111 ___ Please avoid sending me Word, Excel or PowerPoint attachments. See http://www.fsf.org/philosophy/no-word-attachments.html
Re: [PATCH] Naive approach to HTTP-timeouts
Hi Slava, And about David's patch: in function pointer_to_octstr() +char *tmp = (char *) gw_malloc(sizeof(char) * 255); +sprintf(tmp, %ld, p); +tmp_oct = octstr_create(tmp); +gw_free(tmp); can be changed to use octstr_format() oops, talk about reinventing the wheel! Thank you, David -- Mit freundlichen Gruessen/Best regards David Schmitz Softwareentwicklung - Wapme Systems AG Vogelsanger Weg 80 40470 Düsseldorf Tel.: + 49 -211-7 48 45 - 2708 Fax: + 49 -211-80-6-06-2801 E-Mail: [EMAIL PROTECTED] Internet: http://www.wapme-systems.de
Re: [PATCH] custom access-log format
Hi Stipe Perfect timing - we have such an item on our current to do lists. Looks good - compiles and works with brief testing on our dev box. Nisan At 04:47 PM 2003/11/24, Stipe Tolj wrote: Hi list, the attached patches is a feature add in terms of customizing the access-log format for bearerbox. This will allow to use custom format access-log lines using escape codes (commonly known from the sms-service groups). Here are the changes: * gw/bb_alog.c: handles the custom bearerbox access-log formating * gw/bb_smscconn.c: moved log_sms() to gw/bb_alog.c:bb_alog_sms() * gw/bearerbox.h: added bb_alog_ prototypes * gw/[sms|wap]box.c: harmonized access-log config directive reading * gwlib/accesslog.[ch]: alog_open() changed to indicate if markers should be written to access-log file. If no markers are set, then the default timestamp prefix is not written, allowing users to individually set the timestamp in their custom access-log format. * gwlib/cfg.def: added config directives 'access-log-time' to indicate if localtime or gmt should be used within access-log, 'access-log-format' holding the escape code formated line to log, 'access-log-clean' (boolean) indicating if standard markers shoould be avoided and hence the access-log should be clean. Which means you can use this core group for bearerbox in your configuration: group = core admin-port = 13000 smsbox-port = 13001 admin-password = bar ... access-log = /var/log/kannel/access.log access-log-clean = yes #access-log-time = gmt access-log-format = %t %l [SMSC:%i] [SVC:%n] [ACT:%A] [BINF:%B] [from:%p] [to:%P] [flags:%m:%c:%M:%C:%d] [msg:%L:%b] [udh:%U:%u] ... store-file = /var/log/kannel/kannel.store which would cause bearerbox to log in our default access-log style. Please try and have a vote on it. If no vetos occur, I'll commit this to cvs. Stipe mailto:[EMAIL PROTECTED] --- Wapme Systems AG Münsterstr. 248 40470 Düsseldorf, NRW, Germany phone: +49.211.74845.0 fax: +49.211.74845.299 mailto:[EMAIL PROTECTED] http://www.wapme-systems.de/ --- -BEGIN PGP PUBLIC KEY BLOCK- Version: GnuPG v1.2.2 (Cygwin) mIsEP6mcYwEEAMDnUiUwrbb+xwTFWN6TxF2+XZu7/alwJMeCwMBRvXtPZqfjpPhS OkBpU0F4TrVuugz1HINTSaJTYq10AzDQXp5NkyWgckqW79nPAWuOX0dicbJk+cN2 nM2TI4KaxUDe6u8hghNEnH/i2lXsUu9apnP/iixzV81VC2je3uc9hZpnAAYptEVT dGlwZSBUb2xqIChUZWNobm9sb2d5IENlbnRlciAmIFJlc2VhcmNoIExhYikgPHRv bGpAd2FwbWUtc3lzdGVtcy5kZT6ItAQTAQIAHgUCP6mcYwIbAwYLCQgHAwIDFQID AxYCAQIeAQIXgAAKCRABV0w1BqPYRuSqA/wPzsQxao2YePENCtgRTrO86U6zg3sl OcS6CJFI4FZP5h/xD3GRsNH1+MPSvZlomDdpFnr547DGz/Kq9MXuQwVvlVig5yWZ K5dtKp1r5YLhxJQBhfirZbRFFnYmf19f18J8OoS28tuFVftDl1AIwJS3HLyBTv6H g2HyLAEKQIp30Q== =aYCI -END PGP PUBLIC KEY BLOCK-
WBXML library
Hello list, I think it will be interesting to use WBXML library created in http://sourceforge.net/projects/wbxmllib. Is it possible ? This project has created a tool that converts xml to wbxml . Using this library will enable Kannel to make all kind of provisioning (SI,SL, WAP2.0 OTA, Nokia/Ericsson OTA ,and many more look at: http://wbxmllib.sourceforge.net/ ). Also joining efforts between open source projects could benefit both of them. Thanks Marc
Re: Messages stuck in store
On 23.11.2003, at 21:34, Alex Kinch wrote: Just a quick update.. I saw a stuck message earlier. At the same time, I telnetted to port 1 (fake) on the box in question. It dumped out the stuck message on my connection to fake, which is a bit strange - even though it had a proper smscid in the message. So what it looks like is that if an SMPP connection is down, it sends it to the fake SMSC. Very strange! Any thoughts? I'll set up a test SMSC next week and see if I can replicate it. Alex The routing dumps messages to ANY SMSC which has the smsc name in the allowed list. so if you have smsc1 : allowed-smsc = smsc1 smsc2 : allowed-smsc = smsc2 smsc3: nothing defined then smsc3 can still receive messages which are tagged smsc1 and smsc2 and your fake-smsc is probably one like this. x-tad-smallerAndreas Fink Global Networks Switzerland AG -- Tel: +41-61-333 Fax: +41-61-334 Mobile: +41-79-2457333 Global Networks, Inc. Clarastrasse 3, 4058 Basel, Switzerland Web: http://www.global-networks.ch/ [EMAIL PROTECTED] -- /x-tad-smaller
RE: [PATCH] custom access-log format
Hi! Works great for me! +1 /S -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Stipe Tolj Sent: den 24 november 2003 15:47 To: Kannel Devel Subject: [PATCH] custom access-log format Hi list, the attached patches is a feature add in terms of customizing the access-log format for bearerbox. This will allow to use custom format access-log lines using escape codes (commonly known from the sms-service groups). Here are the changes: * gw/bb_alog.c: handles the custom bearerbox access-log formating * gw/bb_smscconn.c: moved log_sms() to gw/bb_alog.c:bb_alog_sms() * gw/bearerbox.h: added bb_alog_ prototypes * gw/[sms|wap]box.c: harmonized access-log config directive reading * gwlib/accesslog.[ch]: alog_open() changed to indicate if markers should be written to access-log file. If no markers are set, then the default timestamp prefix is not written, allowing users to individually set the timestamp in their custom access-log format. * gwlib/cfg.def: added config directives 'access-log-time' to indicate if localtime or gmt should be used within access-log, 'access-log-format' holding the escape code formated line to log, 'access-log-clean' (boolean) indicating if standard markers shoould be avoided and hence the access-log should be clean. Which means you can use this core group for bearerbox in your configuration: group = core admin-port = 13000 smsbox-port = 13001 admin-password = bar ... access-log = /var/log/kannel/access.log access-log-clean = yes #access-log-time = gmt access-log-format = %t %l [SMSC:%i] [SVC:%n] [ACT:%A] [BINF:%B] [from:%p] [to:%P] [flags:%m:%c:%M:%C:%d] [msg:%L:%b] [udh:%U:%u] ... store-file = /var/log/kannel/kannel.store which would cause bearerbox to log in our default access-log style. Please try and have a vote on it. If no vetos occur, I'll commit this to cvs. Stipe mailto:[EMAIL PROTECTED] --- Wapme Systems AG Münsterstr. 248 40470 Düsseldorf, NRW, Germany phone: +49.211.74845.0 fax: +49.211.74845.299 mailto:[EMAIL PROTECTED] http://www.wapme-systems.de/ --- -BEGIN PGP PUBLIC KEY BLOCK- Version: GnuPG v1.2.2 (Cygwin) mIsEP6mcYwEEAMDnUiUwrbb+xwTFWN6TxF2+XZu7/alwJMeCwMBRvXtPZqfjpPhS OkBpU0F4TrVuugz1HINTSaJTYq10AzDQXp5NkyWgckqW79nPAWuOX0dicbJk+cN2 nM2TI4KaxUDe6u8hghNEnH/i2lXsUu9apnP/iixzV81VC2je3uc9hZpnAAYptEVT dGlwZSBUb2xqIChUZWNobm9sb2d5IENlbnRlciAmIFJlc2VhcmNoIExhYikgPHRv bGpAd2FwbWUtc3lzdGVtcy5kZT6ItAQTAQIAHgUCP6mcYwIbAwYLCQgHAwIDFQID AxYCAQIeAQIXgAAKCRABV0w1BqPYRuSqA/wPzsQxao2YePENCtgRTrO86U6zg3sl OcS6CJFI4FZP5h/xD3GRsNH1+MPSvZlomDdpFnr547DGz/Kq9MXuQwVvlVig5yWZ K5dtKp1r5YLhxJQBhfirZbRFFnYmf19f18J8OoS28tuFVftDl1AIwJS3HLyBTv6H g2HyLAEKQIp30Q== =aYCI -END PGP PUBLIC KEY BLOCK-
Re: microsoft sql server 2000
On 21.11.2003, at 14:54, Karathanasis Dimitris wrote: x-tad-biggerHi.!!! Is there a way to use dlr storage in sql server?/x-tad-bigger installing MySQL on your Windows 2000 would be faster. Note: there is absolutely no reason why anyone should access the DLR database directly. Its internal storage of Kannel and doesn't mean anything else to anyone else. x-tad-smallerAndreas Fink Global Networks Switzerland AG -- Tel: +41-61-333 Fax: +41-61-334 Mobile: +41-79-2457333 Global Networks, Inc. Clarastrasse 3, 4058 Basel, Switzerland Web: http://www.global-networks.ch/ [EMAIL PROTECTED] -- /x-tad-smaller
Re: [PATCH] custom access-log format
thanks for testing. commited to cvs. Stipe mailto:[EMAIL PROTECTED] --- Wapme Systems AG Münsterstr. 248 40470 Düsseldorf, NRW, Germany phone: +49.211.74845.0 fax: +49.211.74845.299 mailto:[EMAIL PROTECTED] http://www.wapme-systems.de/ --- -BEGIN PGP PUBLIC KEY BLOCK- Version: GnuPG v1.2.2 (Cygwin) mIsEP6mcYwEEAMDnUiUwrbb+xwTFWN6TxF2+XZu7/alwJMeCwMBRvXtPZqfjpPhS OkBpU0F4TrVuugz1HINTSaJTYq10AzDQXp5NkyWgckqW79nPAWuOX0dicbJk+cN2 nM2TI4KaxUDe6u8hghNEnH/i2lXsUu9apnP/iixzV81VC2je3uc9hZpnAAYptEVT dGlwZSBUb2xqIChUZWNobm9sb2d5IENlbnRlciAmIFJlc2VhcmNoIExhYikgPHRv bGpAd2FwbWUtc3lzdGVtcy5kZT6ItAQTAQIAHgUCP6mcYwIbAwYLCQgHAwIDFQID AxYCAQIeAQIXgAAKCRABV0w1BqPYRuSqA/wPzsQxao2YePENCtgRTrO86U6zg3sl OcS6CJFI4FZP5h/xD3GRsNH1+MPSvZlomDdpFnr547DGz/Kq9MXuQwVvlVig5yWZ K5dtKp1r5YLhxJQBhfirZbRFFnYmf19f18J8OoS28tuFVftDl1AIwJS3HLyBTv6H g2HyLAEKQIp30Q== =aYCI -END PGP PUBLIC KEY BLOCK-