base
This commit is contained in:
+219
@@ -0,0 +1,219 @@
|
||||
/*
|
||||
* Copyright (C) 1998,1999,2000,2001 Nikos Mavroyanopoulos
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Library General Public License as published
|
||||
* by the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <libdefs.h>
|
||||
#include <mcrypt_modules.h>
|
||||
#include <stdlib.h>
|
||||
#include "arcfour.h"
|
||||
|
||||
#define _mcrypt_set_key arcfour_LTX__mcrypt_set_key
|
||||
#define _mcrypt_encrypt arcfour_LTX__mcrypt_encrypt
|
||||
#define _mcrypt_decrypt arcfour_LTX__mcrypt_decrypt
|
||||
#define _mcrypt_get_size arcfour_LTX__mcrypt_get_size
|
||||
#define _mcrypt_get_block_size arcfour_LTX__mcrypt_get_block_size
|
||||
#define _is_block_algorithm arcfour_LTX__is_block_algorithm
|
||||
#define _mcrypt_get_key_size arcfour_LTX__mcrypt_get_key_size
|
||||
#define _mcrypt_get_algo_iv_size arcfour_LTX__mcrypt_get_algo_iv_size
|
||||
#define _mcrypt_get_supported_key_sizes arcfour_LTX__mcrypt_get_supported_key_sizes
|
||||
#define _mcrypt_get_algorithms_name arcfour_LTX__mcrypt_get_algorithms_name
|
||||
#define _mcrypt_self_test arcfour_LTX__mcrypt_self_test
|
||||
#define _mcrypt_algorithm_version arcfour_LTX__mcrypt_algorithm_version
|
||||
|
||||
#define swap_byte(x,y) tmp = (x); (x) = (y); (y) = tmp
|
||||
|
||||
/* #define USE_IV */
|
||||
/* IV was an mcrypt extension */
|
||||
|
||||
void _mcrypt_encrypt(arcfour_key * key, byte * buffer_ptr, int buffer_len);
|
||||
|
||||
/* key is the state that should be allocated by the caller */
|
||||
#define STATE key->state
|
||||
#define I key->i
|
||||
#define J key->j
|
||||
WIN32DLL_DEFINE
|
||||
int _mcrypt_set_key(arcfour_key * key, byte * key_data, int key_len,
|
||||
char *IV, int iv_len)
|
||||
{
|
||||
register int tmp, j, i;
|
||||
byte *state = STATE;
|
||||
int ivindex;
|
||||
|
||||
for (i = 0; i < 256; i++)
|
||||
state[i] = i;
|
||||
|
||||
I = 0;
|
||||
J = 0;
|
||||
ivindex = 0;
|
||||
|
||||
for (j = i = 0; i < 256; i++) {
|
||||
j += state[i] + key_data[i % key_len];
|
||||
#ifdef USE_IV
|
||||
if (iv_len > 0 && IV != NULL)
|
||||
j += IV[ivindex];
|
||||
#endif
|
||||
j &= 0xff;
|
||||
swap_byte(state[i], state[j]);
|
||||
#ifdef USE_IV
|
||||
if (iv_len > 0)
|
||||
ivindex = (ivindex + 1) % iv_len;
|
||||
#endif
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE
|
||||
void _mcrypt_encrypt(arcfour_key * key, byte * buffer_ptr,
|
||||
int buffer_len)
|
||||
{
|
||||
register int tmp;
|
||||
register int counter;
|
||||
register int i = I, j = J;
|
||||
byte *state = STATE;
|
||||
|
||||
|
||||
for (counter = 0; counter < buffer_len; counter++) {
|
||||
i++;
|
||||
i &= 0xff;
|
||||
j += state[i];
|
||||
j &= 0xff;
|
||||
|
||||
/* swap state[i] and state[j] */
|
||||
swap_byte(state[i], state[j]);
|
||||
buffer_ptr[counter] ^= state[(state[i] + tmp) & 0xff];
|
||||
}
|
||||
J = j;
|
||||
I = i;
|
||||
}
|
||||
|
||||
/* this is the same with mcrypt_encrypt */
|
||||
WIN32DLL_DEFINE
|
||||
void _mcrypt_decrypt(arcfour_key * key, byte * buffer_ptr,
|
||||
int buffer_len)
|
||||
{
|
||||
_mcrypt_encrypt(key, buffer_ptr, buffer_len);
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE int _mcrypt_get_size()
|
||||
{
|
||||
return sizeof(arcfour_key);
|
||||
}
|
||||
WIN32DLL_DEFINE int _mcrypt_get_block_size()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
WIN32DLL_DEFINE int _mcrypt_get_algo_iv_size()
|
||||
{
|
||||
#ifdef USE_IV
|
||||
return 32;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
WIN32DLL_DEFINE int _is_block_algorithm()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
WIN32DLL_DEFINE int _mcrypt_get_key_size()
|
||||
{
|
||||
return 256;
|
||||
}
|
||||
WIN32DLL_DEFINE const int *_mcrypt_get_supported_key_sizes(int *len)
|
||||
{
|
||||
*len = 0;
|
||||
return NULL;
|
||||
}
|
||||
WIN32DLL_DEFINE const char *_mcrypt_get_algorithms_name()
|
||||
{
|
||||
return "RC4";
|
||||
}
|
||||
|
||||
#define CIPHER "3abaa03a286e24c4196d292ab72934d6854c3eee"
|
||||
|
||||
WIN32DLL_DEFINE int _mcrypt_self_test()
|
||||
{
|
||||
char *keyword;
|
||||
unsigned char plaintext[20];
|
||||
unsigned char ciphertext[20];
|
||||
int blocksize = 20, j;
|
||||
void *key;
|
||||
unsigned char cipher_tmp[200];
|
||||
|
||||
keyword = calloc(1, _mcrypt_get_key_size());
|
||||
if (keyword == NULL)
|
||||
return -1;
|
||||
|
||||
for (j = 0; j < _mcrypt_get_key_size(); j++) {
|
||||
keyword[j] = ((j * 2 + 10) % 256);
|
||||
}
|
||||
|
||||
for (j = 0; j < blocksize; j++) {
|
||||
plaintext[j] = j % 256;
|
||||
}
|
||||
key = malloc(_mcrypt_get_size());
|
||||
if (key == NULL)
|
||||
return -1;
|
||||
|
||||
memcpy(ciphertext, plaintext, blocksize);
|
||||
|
||||
_mcrypt_set_key(key, (void *) keyword, _mcrypt_get_key_size(),
|
||||
NULL, 0);
|
||||
_mcrypt_encrypt(key, (void *) ciphertext, blocksize);
|
||||
|
||||
for (j = 0; j < blocksize; j++) {
|
||||
sprintf(&((char *) cipher_tmp)[2 * j], "%.2x",
|
||||
ciphertext[j]);
|
||||
}
|
||||
|
||||
if (strcmp((char *) cipher_tmp, CIPHER) != 0) {
|
||||
printf("failed compatibility\n");
|
||||
printf("Expected: %s\nGot: %s\n", CIPHER,
|
||||
(char *) cipher_tmp);
|
||||
free(keyword);
|
||||
free(key);
|
||||
return -1;
|
||||
}
|
||||
|
||||
_mcrypt_set_key(key, (void *) keyword, _mcrypt_get_key_size(),
|
||||
NULL, 0);
|
||||
_mcrypt_decrypt(key, (void *) ciphertext, blocksize);
|
||||
|
||||
free(keyword);
|
||||
free(key);
|
||||
if (strcmp(ciphertext, plaintext) != 0) {
|
||||
printf("failed internally\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
WIN32DLL_DEFINE word32 _mcrypt_algorithm_version()
|
||||
{
|
||||
return 20020610;
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
# ifdef USE_LTDL
|
||||
WIN32DLL_DEFINE int main (void)
|
||||
{
|
||||
/* empty main function to avoid linker error (see cygwin FAQ) */
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
+53
@@ -0,0 +1,53 @@
|
||||
/*================================================================
|
||||
** Copyright 2000, Clark Cooper
|
||||
** All rights reserved.
|
||||
**
|
||||
** This is free software. You are permitted to copy, distribute, or modify
|
||||
** it under the terms of the MIT/X license (contained in the COPYING file
|
||||
** with this distribution.)
|
||||
**
|
||||
*/
|
||||
|
||||
#ifndef MACCONFIG_H
|
||||
#define MACCONFIG_H
|
||||
|
||||
|
||||
/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
|
||||
#define BYTEORDER 4321
|
||||
|
||||
/* Define to 1 if you have the `bcopy' function. */
|
||||
#undef HAVE_BCOPY
|
||||
|
||||
/* Define to 1 if you have the `memmove' function. */
|
||||
#define HAVE_MEMMOVE
|
||||
|
||||
/* Define to 1 if you have a working `mmap' system call. */
|
||||
#undef HAVE_MMAP
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* whether byteorder is bigendian */
|
||||
#define WORDS_BIGENDIAN
|
||||
|
||||
/* Define to specify how much context to retain around the current parse
|
||||
point. */
|
||||
#undef XML_CONTEXT_BYTES
|
||||
|
||||
/* Define to make parameter entity parsing functionality available. */
|
||||
#define XML_DTD
|
||||
|
||||
/* Define to make XML Namespaces functionality available. */
|
||||
#define XML_NS
|
||||
|
||||
/* Define to empty if `const' does not conform to ANSI C. */
|
||||
#undef const
|
||||
|
||||
/* Define to `long' if <sys/types.h> does not define. */
|
||||
#define off_t long
|
||||
|
||||
/* Define to `unsigned' if <sys/types.h> does not define. */
|
||||
#undef size_t
|
||||
|
||||
|
||||
#endif /* ifndef MACCONFIG_H */
|
||||
+427
@@ -0,0 +1,427 @@
|
||||
/*
|
||||
Basic HTTP and WebDAV methods
|
||||
Copyright (C) 1999-2005, Joe Orton <joe@manyfish.co.uk>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA
|
||||
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h> /* for struct stat */
|
||||
|
||||
#ifdef HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#endif
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#ifdef HAVE_STDLIB_H
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
#include "ne_request.h"
|
||||
#include "ne_alloc.h"
|
||||
#include "ne_utils.h"
|
||||
#include "ne_basic.h"
|
||||
#include "ne_207.h"
|
||||
|
||||
#ifdef NE_HAVE_DAV
|
||||
#include "ne_uri.h"
|
||||
#include "ne_locks.h"
|
||||
#endif
|
||||
|
||||
#include "ne_dates.h"
|
||||
#include "ne_i18n.h"
|
||||
|
||||
int ne_getmodtime(ne_session *sess, const char *uri, time_t *modtime)
|
||||
{
|
||||
ne_request *req = ne_request_create(sess, "HEAD", uri);
|
||||
const char *value;
|
||||
int ret;
|
||||
|
||||
ret = ne_request_dispatch(req);
|
||||
|
||||
value = ne_get_response_header(req, "Last-Modified");
|
||||
|
||||
if (ret == NE_OK && ne_get_status(req)->klass != 2) {
|
||||
*modtime = -1;
|
||||
ret = NE_ERROR;
|
||||
} else if (value) {
|
||||
*modtime = ne_httpdate_parse(value);
|
||||
}
|
||||
|
||||
ne_request_destroy(req);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* PUT's from fd to URI */
|
||||
int ne_put(ne_session *sess, const char *uri, int fd)
|
||||
{
|
||||
ne_request *req;
|
||||
struct stat st;
|
||||
int ret;
|
||||
|
||||
if (fstat(fd, &st)) {
|
||||
int errnum = errno;
|
||||
char buf[200];
|
||||
|
||||
ne_set_error(sess, _("Could not determine file size: %s"),
|
||||
ne_strerror(errnum, buf, sizeof buf));
|
||||
return NE_ERROR;
|
||||
}
|
||||
|
||||
req = ne_request_create(sess, "PUT", uri);
|
||||
|
||||
#ifdef NE_HAVE_DAV
|
||||
ne_lock_using_resource(req, uri, 0);
|
||||
ne_lock_using_parent(req, uri);
|
||||
#endif
|
||||
|
||||
ne_set_request_body_fd(req, fd, 0, st.st_size);
|
||||
|
||||
ret = ne_request_dispatch(req);
|
||||
|
||||
if (ret == NE_OK && ne_get_status(req)->klass != 2)
|
||||
ret = NE_ERROR;
|
||||
|
||||
ne_request_destroy(req);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Dispatch a GET request REQ, writing the response body to FD fd. If
|
||||
* RANGE is non-NULL, then it is the value of the Range request
|
||||
* header, e.g. "bytes=1-5". Returns an NE_* error code. */
|
||||
static int dispatch_to_fd(ne_request *req, int fd, const char *range)
|
||||
{
|
||||
ne_session *const sess = ne_get_session(req);
|
||||
const ne_status *const st = ne_get_status(req);
|
||||
int ret;
|
||||
|
||||
do {
|
||||
const char *value;
|
||||
|
||||
ret = ne_begin_request(req);
|
||||
if (ret != NE_OK) break;
|
||||
|
||||
value = ne_get_response_header(req, "Content-Range");
|
||||
|
||||
/* For a 206 response, check that a Content-Range header is
|
||||
* given which matches the Range request header. */
|
||||
if (range && st->code == 206
|
||||
&& (value == NULL || strncmp(value, "bytes ", 6) != 0
|
||||
|| strcmp(range + 6, value + 6))) {
|
||||
ne_set_error(sess, _("Response did not include requested range"));
|
||||
return NE_ERROR;
|
||||
}
|
||||
|
||||
if ((range && st->code == 206) || (!range && st->klass == 2)) {
|
||||
ret = ne_read_response_to_fd(req, fd);
|
||||
} else {
|
||||
ret = ne_discard_response(req);
|
||||
}
|
||||
|
||||
if (ret == NE_OK) ret = ne_end_request(req);
|
||||
} while (ret == NE_RETRY);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ne_get_range(ne_session *sess, const char *uri,
|
||||
ne_content_range *range, int fd)
|
||||
{
|
||||
ne_request *req = ne_request_create(sess, "GET", uri);
|
||||
const ne_status *status;
|
||||
int ret;
|
||||
char brange[64];
|
||||
|
||||
if (range->end == -1) {
|
||||
ne_snprintf(brange, sizeof brange, "bytes=%" NE_FMT_OFF_T "-",
|
||||
range->start);
|
||||
}
|
||||
else {
|
||||
ne_snprintf(brange, sizeof brange,
|
||||
"bytes=%" NE_FMT_OFF_T "-%" NE_FMT_OFF_T,
|
||||
range->start, range->end);
|
||||
}
|
||||
|
||||
ne_add_request_header(req, "Range", brange);
|
||||
ne_add_request_header(req, "Accept-Ranges", "bytes");
|
||||
|
||||
ret = dispatch_to_fd(req, fd, brange);
|
||||
|
||||
status = ne_get_status(req);
|
||||
|
||||
if (ret == NE_OK && status->code == 416) {
|
||||
/* connection is terminated too early with Apache/1.3, so we check
|
||||
* this even if ret == NE_ERROR... */
|
||||
ne_set_error(sess, _("Range is not satisfiable"));
|
||||
ret = NE_ERROR;
|
||||
}
|
||||
else if (ret == NE_OK) {
|
||||
if (status->klass == 2 && status->code != 206) {
|
||||
ne_set_error(sess, _("Resource does not support ranged GETs."));
|
||||
ret = NE_ERROR;
|
||||
}
|
||||
else if (status->klass != 2) {
|
||||
ret = NE_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
ne_request_destroy(req);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/* Get to given fd */
|
||||
int ne_get(ne_session *sess, const char *uri, int fd)
|
||||
{
|
||||
ne_request *req = ne_request_create(sess, "GET", uri);
|
||||
int ret;
|
||||
|
||||
ret = dispatch_to_fd(req, fd, NULL);
|
||||
|
||||
if (ret == NE_OK && ne_get_status(req)->klass != 2) {
|
||||
ret = NE_ERROR;
|
||||
}
|
||||
|
||||
ne_request_destroy(req);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/* Get to given fd */
|
||||
int ne_post(ne_session *sess, const char *uri, int fd, const char *buffer)
|
||||
{
|
||||
ne_request *req = ne_request_create(sess, "POST", uri);
|
||||
int ret;
|
||||
|
||||
ne_set_request_body_buffer(req, buffer, strlen(buffer));
|
||||
|
||||
ret = dispatch_to_fd(req, fd, NULL);
|
||||
|
||||
if (ret == NE_OK && ne_get_status(req)->klass != 2) {
|
||||
ret = NE_ERROR;
|
||||
}
|
||||
|
||||
ne_request_destroy(req);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ne_get_content_type(ne_request *req, ne_content_type *ct)
|
||||
{
|
||||
const char *value;
|
||||
char *sep, *stype;
|
||||
|
||||
value = ne_get_response_header(req, "Content-Type");
|
||||
if (value == NULL || strchr(value, '/') == NULL) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
ct->type = ct->value = ne_strdup(value);
|
||||
|
||||
stype = strchr(ct->value, '/');
|
||||
*stype++ = '\0';
|
||||
ct->charset = NULL;
|
||||
|
||||
sep = strchr(stype, ';');
|
||||
|
||||
if (sep) {
|
||||
char *tok;
|
||||
|
||||
/* Look for the charset parameter: */
|
||||
*sep++ = '\0';
|
||||
do {
|
||||
tok = ne_qtoken(&sep, ';', "\"\'");
|
||||
if (tok) {
|
||||
tok = strstr(tok, "charset=");
|
||||
if (tok)
|
||||
ct->charset = ne_shave(tok+8, "\"\'");
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
} while (sep != NULL);
|
||||
}
|
||||
|
||||
/* set subtype, losing any trailing whitespace */
|
||||
ct->subtype = ne_shave(stype, " \t");
|
||||
|
||||
if (ct->charset == NULL && strcasecmp(ct->type, "text") == 0) {
|
||||
/* 3023§3.1: text/xml without charset implies us-ascii. */
|
||||
if (strcasecmp(ct->subtype, "xml") == 0)
|
||||
ct->charset = "us-ascii";
|
||||
/* 2616§3.7.1: subtypes of text/ default to charset ISO-8859-1. */
|
||||
else
|
||||
ct->charset = "ISO-8859-1";
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void parse_dav_header(const char *value, ne_server_capabilities *caps)
|
||||
{
|
||||
char *tokens = ne_strdup(value), *pnt = tokens;
|
||||
|
||||
do {
|
||||
char *tok = ne_qtoken(&pnt, ',', "\"'");
|
||||
if (!tok) break;
|
||||
|
||||
tok = ne_shave(tok, " \r\t\n");
|
||||
|
||||
if (strcmp(tok, "1") == 0) {
|
||||
caps->dav_class1 = 1;
|
||||
} else if (strcmp(tok, "2") == 0) {
|
||||
caps->dav_class2 = 1;
|
||||
} else if (strcmp(tok, "<http://apache.org/dav/propset/fs/1>") == 0) {
|
||||
caps->dav_executable = 1;
|
||||
}
|
||||
} while (pnt != NULL);
|
||||
|
||||
ne_free(tokens);
|
||||
}
|
||||
|
||||
int ne_options(ne_session *sess, const char *uri, ne_server_capabilities *caps)
|
||||
{
|
||||
ne_request *req = ne_request_create(sess, "OPTIONS", uri);
|
||||
int ret = ne_request_dispatch(req);
|
||||
const char *header = ne_get_response_header(req, "DAV");
|
||||
|
||||
if (header) parse_dav_header(header, caps);
|
||||
|
||||
if (ret == NE_OK && ne_get_status(req)->klass != 2) {
|
||||
ret = NE_ERROR;
|
||||
}
|
||||
|
||||
ne_request_destroy(req);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef NE_HAVE_DAV
|
||||
|
||||
void ne_add_depth_header(ne_request *req, int depth)
|
||||
{
|
||||
const char *value;
|
||||
switch(depth) {
|
||||
case NE_DEPTH_ZERO:
|
||||
value = "0";
|
||||
break;
|
||||
case NE_DEPTH_ONE:
|
||||
value = "1";
|
||||
break;
|
||||
default:
|
||||
value = "infinity";
|
||||
break;
|
||||
}
|
||||
ne_add_request_header(req, "Depth", value);
|
||||
}
|
||||
|
||||
static int copy_or_move(ne_session *sess, int is_move, int overwrite,
|
||||
int depth, const char *src, const char *dest)
|
||||
{
|
||||
ne_request *req = ne_request_create( sess, is_move?"MOVE":"COPY", src );
|
||||
|
||||
/* 2518 S8.9.2 says only use Depth: infinity with MOVE. */
|
||||
if (!is_move) {
|
||||
ne_add_depth_header(req, depth);
|
||||
}
|
||||
|
||||
#ifdef NE_HAVE_DAV
|
||||
if (is_move) {
|
||||
ne_lock_using_resource(req, src, NE_DEPTH_INFINITE);
|
||||
}
|
||||
ne_lock_using_resource(req, dest, NE_DEPTH_INFINITE);
|
||||
/* And we need to be able to add members to the destination's parent */
|
||||
ne_lock_using_parent(req, dest);
|
||||
#endif
|
||||
|
||||
ne_print_request_header(req, "Destination", "%s://%s%s",
|
||||
ne_get_scheme(sess),
|
||||
ne_get_server_hostport(sess), dest);
|
||||
|
||||
ne_add_request_header(req, "Overwrite", overwrite?"T":"F");
|
||||
|
||||
return ne_simple_request(sess, req);
|
||||
}
|
||||
|
||||
int ne_copy(ne_session *sess, int overwrite, int depth,
|
||||
const char *src, const char *dest)
|
||||
{
|
||||
return copy_or_move(sess, 0, overwrite, depth, src, dest);
|
||||
}
|
||||
|
||||
int ne_move(ne_session *sess, int overwrite,
|
||||
const char *src, const char *dest)
|
||||
{
|
||||
return copy_or_move(sess, 1, overwrite, 0, src, dest);
|
||||
}
|
||||
|
||||
/* Deletes the specified resource. (and in only two lines of code!) */
|
||||
int ne_delete(ne_session *sess, const char *uri)
|
||||
{
|
||||
ne_request *req = ne_request_create(sess, "DELETE", uri);
|
||||
|
||||
#ifdef NE_HAVE_DAV
|
||||
ne_lock_using_resource(req, uri, NE_DEPTH_INFINITE);
|
||||
ne_lock_using_parent(req, uri);
|
||||
#endif
|
||||
|
||||
/* joe: I asked on the DAV WG list about whether we might get a
|
||||
* 207 error back from a DELETE... conclusion, you shouldn't if
|
||||
* you don't send the Depth header, since we might be an HTTP/1.1
|
||||
* client and a 2xx response indicates success to them. But
|
||||
* it's all a bit unclear. In any case, DAV servers today do
|
||||
* return 207 to DELETE even if we don't send the Depth header.
|
||||
* So we handle 207 errors appropriately. */
|
||||
|
||||
return ne_simple_request(sess, req);
|
||||
}
|
||||
|
||||
int ne_mkcol(ne_session *sess, const char *uri)
|
||||
{
|
||||
ne_request *req;
|
||||
char *real_uri;
|
||||
int ret;
|
||||
|
||||
if (ne_path_has_trailing_slash(uri)) {
|
||||
real_uri = ne_strdup(uri);
|
||||
} else {
|
||||
real_uri = ne_concat(uri, "/", NULL);
|
||||
}
|
||||
|
||||
req = ne_request_create(sess, "MKCOL", real_uri);
|
||||
|
||||
#ifdef NE_HAVE_DAV
|
||||
ne_lock_using_resource(req, real_uri, 0);
|
||||
ne_lock_using_parent(req, real_uri);
|
||||
#endif
|
||||
|
||||
ret = ne_simple_request(sess, req);
|
||||
|
||||
ne_free(real_uri);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endif /* NE_HAVE_DAV */
|
||||
+527
@@ -0,0 +1,527 @@
|
||||
# Makefile.in generated by automake 1.7.2 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ../..
|
||||
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
target_triplet = @target@
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
EXTRA_ALGOS = @EXTRA_ALGOS@
|
||||
EXTRA_OBJECTS = @EXTRA_OBJECTS@
|
||||
INCLTDL = @INCLTDL@
|
||||
INSTALL_ALGORITHM_MODULES = @INSTALL_ALGORITHM_MODULES@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_MODE_MODULES = @INSTALL_MODE_MODULES@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBLTDL = @LIBLTDL@
|
||||
LIBLTDL_DIR = @LIBLTDL_DIR@
|
||||
LIBMCRYPT_CFLAGS = @LIBMCRYPT_CFLAGS@
|
||||
LIBMCRYPT_CURRENT_INTERFACE_IMPLEMENTATION_NUMBER = @LIBMCRYPT_CURRENT_INTERFACE_IMPLEMENTATION_NUMBER@
|
||||
LIBMCRYPT_LIBS = @LIBMCRYPT_LIBS@
|
||||
LIBMCRYPT_MAJOR_VERSION = @LIBMCRYPT_MAJOR_VERSION@
|
||||
LIBMCRYPT_MICRO_VERSION = @LIBMCRYPT_MICRO_VERSION@
|
||||
LIBMCRYPT_MINOR_VERSION = @LIBMCRYPT_MINOR_VERSION@
|
||||
LIBMCRYPT_MOST_RECENT_INTERFACE = @LIBMCRYPT_MOST_RECENT_INTERFACE@
|
||||
LIBMCRYPT_OLDEST_INTERFACE = @LIBMCRYPT_OLDEST_INTERFACE@
|
||||
LIBMCRYPT_VERSION = @LIBMCRYPT_VERSION@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIBTOOL_DEPS = @LIBTOOL_DEPS@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_AGE = @LT_AGE@
|
||||
LT_CURRENT = @LT_CURRENT@
|
||||
LT_REVISION = @LT_REVISION@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NOINSTALL_ALGORITHM_MODULES = @NOINSTALL_ALGORITHM_MODULES@
|
||||
NOINSTALL_MODE_MODULES = @NOINSTALL_MODE_MODULES@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
RANLIB = @RANLIB@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
subdirs = @subdirs@
|
||||
sysconfdir = @sysconfdir@
|
||||
target = @target@
|
||||
target_alias = @target_alias@
|
||||
target_cpu = @target_cpu@
|
||||
target_os = @target_os@
|
||||
target_vendor = @target_vendor@
|
||||
INCLUDES = -I. -I../.. $(INCLTDL) -I../../lib
|
||||
|
||||
EXTRA_DIST = ofb.h cfb.h nofb.h cbc.h ecb.h stream.h ncfb.h ctr.h
|
||||
pkglib_LTLIBRARIES = @INSTALL_MODE_MODULES@
|
||||
|
||||
EXTRA_LTLIBRARIES = ofb.la cfb.la nofb.la cbc.la ecb.la stream.la ncfb.la \
|
||||
ctr.la
|
||||
|
||||
noinst_LTLIBRARIES = @NOINSTALL_MODE_MODULES@
|
||||
|
||||
ofb_la_SOURCES = ofb.c
|
||||
ofb_la_LDFLAGS = -module -avoid-version -rpath $(pkglibdir)
|
||||
ctr_la_SOURCES = ctr.c
|
||||
ctr_la_LDFLAGS = -module -avoid-version -rpath $(pkglibdir)
|
||||
cfb_la_SOURCES = cfb.c
|
||||
cfb_la_LDFLAGS = -module -avoid-version -rpath $(pkglibdir)
|
||||
ncfb_la_SOURCES = ncfb.c
|
||||
ncfb_la_LDFLAGS = -module -avoid-version -rpath $(pkglibdir)
|
||||
nofb_la_SOURCES = nofb.c
|
||||
nofb_la_LDFLAGS = -module -avoid-version -rpath $(pkglibdir)
|
||||
ecb_la_SOURCES = ecb.c
|
||||
ecb_la_LDFLAGS = -module -avoid-version -rpath $(pkglibdir)
|
||||
cbc_la_SOURCES = cbc.c
|
||||
cbc_la_LDFLAGS = -module -avoid-version -rpath $(pkglibdir)
|
||||
stream_la_SOURCES = stream.c
|
||||
stream_la_LDFLAGS = -module -avoid-version -rpath $(pkglibdir)
|
||||
subdir = modules/modes
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkglib_LTLIBRARIES)
|
||||
|
||||
cbc_la_LIBADD =
|
||||
am_cbc_la_OBJECTS = cbc.lo
|
||||
cbc_la_OBJECTS = $(am_cbc_la_OBJECTS)
|
||||
cfb_la_LIBADD =
|
||||
am_cfb_la_OBJECTS = cfb.lo
|
||||
cfb_la_OBJECTS = $(am_cfb_la_OBJECTS)
|
||||
ctr_la_LIBADD =
|
||||
am_ctr_la_OBJECTS = ctr.lo
|
||||
ctr_la_OBJECTS = $(am_ctr_la_OBJECTS)
|
||||
ecb_la_LIBADD =
|
||||
am_ecb_la_OBJECTS = ecb.lo
|
||||
ecb_la_OBJECTS = $(am_ecb_la_OBJECTS)
|
||||
ncfb_la_LIBADD =
|
||||
am_ncfb_la_OBJECTS = ncfb.lo
|
||||
ncfb_la_OBJECTS = $(am_ncfb_la_OBJECTS)
|
||||
nofb_la_LIBADD =
|
||||
am_nofb_la_OBJECTS = nofb.lo
|
||||
nofb_la_OBJECTS = $(am_nofb_la_OBJECTS)
|
||||
ofb_la_LIBADD =
|
||||
am_ofb_la_OBJECTS = ofb.lo
|
||||
ofb_la_OBJECTS = $(am_ofb_la_OBJECTS)
|
||||
stream_la_LIBADD =
|
||||
am_stream_la_OBJECTS = stream.lo
|
||||
stream_la_OBJECTS = $(am_stream_la_OBJECTS)
|
||||
|
||||
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/cbc.Plo ./$(DEPDIR)/cfb.Plo \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/ctr.Plo ./$(DEPDIR)/ecb.Plo \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/ncfb.Plo ./$(DEPDIR)/nofb.Plo \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/ofb.Plo ./$(DEPDIR)/stream.Plo
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
|
||||
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
DIST_SOURCES = $(cbc_la_SOURCES) $(cfb_la_SOURCES) $(ctr_la_SOURCES) \
|
||||
$(ecb_la_SOURCES) $(ncfb_la_SOURCES) $(nofb_la_SOURCES) \
|
||||
$(ofb_la_SOURCES) $(stream_la_SOURCES)
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
SOURCES = $(cbc_la_SOURCES) $(cfb_la_SOURCES) $(ctr_la_SOURCES) $(ecb_la_SOURCES) $(ncfb_la_SOURCES) $(nofb_la_SOURCES) $(ofb_la_SOURCES) $(stream_la_SOURCES)
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign modules/modes/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
|
||||
clean-noinstLTLIBRARIES:
|
||||
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
|
||||
@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
|
||||
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
||||
test "$$dir" = "$$p" && dir=.; \
|
||||
echo "rm -f \"$${dir}/so_locations\""; \
|
||||
rm -f "$${dir}/so_locations"; \
|
||||
done
|
||||
pkglibLTLIBRARIES_INSTALL = $(INSTALL)
|
||||
install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir)
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(pkglibdir)/$$f"; \
|
||||
$(LIBTOOL) --mode=install $(pkglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(pkglibdir)/$$f; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-pkglibLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
p="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(pkglibdir)/$$p"; \
|
||||
$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(pkglibdir)/$$p; \
|
||||
done
|
||||
|
||||
clean-pkglibLTLIBRARIES:
|
||||
-test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
|
||||
@list='$(pkglib_LTLIBRARIES)'; for p in $$list; do \
|
||||
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
||||
test "$$dir" = "$$p" && dir=.; \
|
||||
echo "rm -f \"$${dir}/so_locations\""; \
|
||||
rm -f "$${dir}/so_locations"; \
|
||||
done
|
||||
cbc.la: $(cbc_la_OBJECTS) $(cbc_la_DEPENDENCIES)
|
||||
$(LINK) $(cbc_la_LDFLAGS) $(cbc_la_OBJECTS) $(cbc_la_LIBADD) $(LIBS)
|
||||
cfb.la: $(cfb_la_OBJECTS) $(cfb_la_DEPENDENCIES)
|
||||
$(LINK) $(cfb_la_LDFLAGS) $(cfb_la_OBJECTS) $(cfb_la_LIBADD) $(LIBS)
|
||||
ctr.la: $(ctr_la_OBJECTS) $(ctr_la_DEPENDENCIES)
|
||||
$(LINK) $(ctr_la_LDFLAGS) $(ctr_la_OBJECTS) $(ctr_la_LIBADD) $(LIBS)
|
||||
ecb.la: $(ecb_la_OBJECTS) $(ecb_la_DEPENDENCIES)
|
||||
$(LINK) $(ecb_la_LDFLAGS) $(ecb_la_OBJECTS) $(ecb_la_LIBADD) $(LIBS)
|
||||
ncfb.la: $(ncfb_la_OBJECTS) $(ncfb_la_DEPENDENCIES)
|
||||
$(LINK) $(ncfb_la_LDFLAGS) $(ncfb_la_OBJECTS) $(ncfb_la_LIBADD) $(LIBS)
|
||||
nofb.la: $(nofb_la_OBJECTS) $(nofb_la_DEPENDENCIES)
|
||||
$(LINK) $(nofb_la_LDFLAGS) $(nofb_la_OBJECTS) $(nofb_la_LIBADD) $(LIBS)
|
||||
ofb.la: $(ofb_la_OBJECTS) $(ofb_la_DEPENDENCIES)
|
||||
$(LINK) $(ofb_la_LDFLAGS) $(ofb_la_OBJECTS) $(ofb_la_LIBADD) $(LIBS)
|
||||
stream.la: $(stream_la_OBJECTS) $(stream_la_DEPENDENCIES)
|
||||
$(LINK) $(stream_la_LDFLAGS) $(stream_la_OBJECTS) $(stream_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT) core *.core
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cbc.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfb.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ctr.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecb.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ncfb.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nofb.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ofb.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream.Plo@am__quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf ./$(DEPDIR)
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
|
||||
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
|
||||
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||
@am__fastdepCC_TRUE@ fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||
@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
|
||||
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
|
||||
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||
@am__fastdepCC_TRUE@ fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||
@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
|
||||
@am__fastdepCC_TRUE@ then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
|
||||
@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
|
||||
@am__fastdepCC_TRUE@ fi
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
uninstall-info-am:
|
||||
|
||||
ETAGS = etags
|
||||
ETAGSFLAGS =
|
||||
|
||||
CTAGS = ctags
|
||||
CTAGSFLAGS =
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|
||||
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ../..
|
||||
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LTLIBRARIES)
|
||||
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir)
|
||||
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
|
||||
clean-pkglibLTLIBRARIES mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
distclean-am: clean-am distclean-compile distclean-depend \
|
||||
distclean-generic distclean-libtool distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-exec-am: install-pkglibLTLIBRARIES
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-info-am uninstall-pkglibLTLIBRARIES
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-libtool clean-noinstLTLIBRARIES clean-pkglibLTLIBRARIES \
|
||||
ctags distclean distclean-compile distclean-depend \
|
||||
distclean-generic distclean-libtool distclean-tags distdir dvi \
|
||||
dvi-am info info-am install install-am install-data \
|
||||
install-data-am install-exec install-exec-am install-info \
|
||||
install-info-am install-man install-pkglibLTLIBRARIES \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \
|
||||
pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am \
|
||||
uninstall-pkglibLTLIBRARIES
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
|
||||
See the file COPYING for copying permission.
|
||||
*/
|
||||
|
||||
/* 0x80 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||
/* 0x84 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||
/* 0x88 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||
/* 0x8C */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||
/* 0x90 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||
/* 0x94 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||
/* 0x98 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||
/* 0x9C */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||
/* 0xA0 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||
/* 0xA4 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||
/* 0xA8 */ BT_OTHER, BT_OTHER, BT_NMSTRT, BT_OTHER,
|
||||
/* 0xAC */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||
/* 0xB0 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||
/* 0xB4 */ BT_OTHER, BT_NMSTRT, BT_OTHER, BT_NAME,
|
||||
/* 0xB8 */ BT_OTHER, BT_OTHER, BT_NMSTRT, BT_OTHER,
|
||||
/* 0xBC */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||
/* 0xC0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||
/* 0xC4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||
/* 0xC8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||
/* 0xCC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||
/* 0xD0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||
/* 0xD4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER,
|
||||
/* 0xD8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||
/* 0xDC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||
/* 0xE0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||
/* 0xE4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||
/* 0xE8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||
/* 0xEC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||
/* 0xF0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||
/* 0xF4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER,
|
||||
/* 0xF8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||
/* 0xFC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||
Reference in New Issue
Block a user