Skip to content

Commit

Permalink
Migrating the source from sourceforge to github
Browse files Browse the repository at this point in the history
  • Loading branch information
rafaelsteil committed Jun 30, 2011
1 parent 2bbec7a commit fdf99b5
Show file tree
Hide file tree
Showing 141 changed files with 10,658 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
README.html
Makefile
config.cache
config.log
config.status
src/*.o
libcgi.a
libcgi.so
86 changes: 86 additions & 0 deletions Makefile.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@

prefix = @prefix@
exec_prefix = @exec_prefix@

SHAREDOPT = -shared
LIBDIR = $(prefix)/lib
INCDIR = $(prefix)/include
MANDIR = $(prefix)/man/man3
SHELL = /bin/sh
EXTRA_LIBS =

INCS = -Isrc
FLAGS = -Wall -fpic

OBJS = src/error.o src/cgi.o src/session.o src/base64.o src/md5.o \
src/string.o src/general.o src/list.o src/cookie.o

.c.o: $(CC) $(FLAGS) -c $<

all: $(OBJS) src/libcgi.so

@echo ""
@echo ""
@echo ""
@echo "+---------------------------------------+"
@echo "| Thanks for using LibCGI |"
@echo "+---------------------------------------+"
@echo "| LibCGI is getting better because |"
@echo "| people like you are using it. So, if |"
@echo "| LibCGI is helping you in some way, |"
@echo "| please help us to improve it, sending |"
@echo "| suggestions, bug reports, bug fixes, |"
@echo "| and specially improvment code. |"
@echo "| You can subscribe to the mailing list |"
@echo "| or send a mail to the author. |"
@echo "+---------------------------------------+"
@echo ""


shared: src/libcgi.so
cp src/libcgi.so $(LIBDIR)

src/libcgi.a: $(OBJS)
$(AR) rc src/libcgi.a $(OBJS)

src/libcgi.so: src/libcgi.a
$(CC) $(SHAREDOPT) -o src/libcgi.so $(OBJS) $(EXTRA_LIBS)

install:
cp src/libcgi.a $(LIBDIR)
cp src/libcgi.so $(LIBDIR)
cp src/cgi.h $(INCDIR)
cp src/session.h $(INCDIR)


src/error.o: src/error.c src/error.h
src/cgi.o: src/cgi.c src/cgi.h
src/session.o: src/session.c src/session.h
src/base64.o: src/base64.c
src/md5.o: src/md5.c
src/string.o: src/string.c
src/cookie.o: src/cookie.c
src/general.o: src/general.c
src/list.o: src/list.c

clean:
find src/ -name *.*o -exec rm -f {} \;
find src/ -name *.a -exec rm -f {} \;

uninstall: clean
rm -f $(LIBDIR)/libcgi.*
rm -f $(INCDIR)/cgi.h
rm -f $(INCDIR)/session.h
rm -f $(MANDIR)/libcgi*

install_man:
cp doc/man/man3/libcgi_base64.3 $(MANDIR)
cp doc/man/man3/libcgi_cgi.3 $(MANDIR)
cp doc/man/man3/libcgi_general.3 $(MANDIR)
cp doc/man/man3/libcgi_string.3 $(MANDIR)
cp doc/man/man3/libcgi_session.3 $(MANDIR)
cp doc/man/man3/libcgi_cookie.3 $(MANDIR)

284 changes: 284 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,284 @@
Introduction
------------
LibCGI is a simple to use yet powerful library written from scratch to assist in the making of CGI appliactions in C. It has support for string manipulation, linked lists, cookies, sessions, GET and POST methods and more.

It was my first Open Source project, somewhere back in the 2000s and somethings. Originally it was hosted at Sourceforge.

Building
--------
* Type _./configure_ and then _make_
* To clean, type _make clean_
* To remove library files, type _make uninstall_
* At the _examples/_ directory you'll find some code to start with

TODO
----
Well, I am keeping this TODO list here for historical (and funny) reasons. Nowadays I don't have any plans to enhance or change anything.

- Template Engine
- Mime functions
- Encrypted session
- Memory Management functions
- Code speed ups
- Other miscelaneous functions
- Win32 port? ( who wants it? )

Changelog
---------
__Vesion 1.0__
_Thanks to James Marjie, Mitch, Tamas Sarlos, Luis Figueiredo, Oliver Schlag and Sverre H. Huseby_

2003/06/03

* Fixed a possible memory problem in htmlentities() function

2003/08/19

* Changed md5 suport. No external libs needed anymore

2003/09/05

* Renamed list_* functions to slist_* ( 's' of 'single' )

2003/09/10

* Some quick fixes to fs functions

2003/12/05

* Moved to va_copy() instead direct variable reference copy
* Removed hard-coded program names from Makefile.in ( gcc and ar )

2003/12/15

* Fixed many CRLF issues ( were just LF instead CRLF )
* Some header files reorganization
* Fixed the examples ( deprecated things )

__Version 0.8.2__
_Thanks to Tonu Samuel_

2003/01/10

* Fixed some pointer manipulation bugs in list.c and cgi.c

__Version 0.8.1__
_Thanks to Oliver Schlag, Tommy, Diogo Gonzaga, Robert Csok_

2002/12/27

* Some changes in the documentation
* New source tree
* Added make_string function

2002/12/26

* Added md5 function
* Added recvline function

2002/12/06

* Fixed a small string check bug in explode() function

2002/10/28

* Now compiles well under Solaris
* getline() function is no longer necessary. Implemented my own way to read from session files.

__Version 0.8.0__
_Thanks to Hao Yu, Rainer Huobert, Zentara, Dennis Reichel, Tony Hansen, Jakub Skopal_

2002/10/19

* Rewritten process_data() function.

2002/07/15

* Added addslashes() function to cgi.c ( was missing )

2002/07/04

* Fixed Makefile to correctly include error.o when compiling libcgi.a
* Fixed process_data() function to prevent bad-formed %xx data

2002/09/21

* Fixed pointer manipulation problems in base64.c
* Added support to C++

2002/07/02

* Fixed many warnings messages

__Version 0.7.5__
2002/06/29

* Fixed a bug in cgi_session_start()
* Added cgi_session_save_path() function
* Added cgi_session_cookie_name() function

2002/06/14

* Fixed cgi_cookie_add() to correctly handle cookie expiration times

2002/06/13

* Revised session manipulation functions
* Code cleanups

2002/06/11

* Rewritten strpos() function.
* Added strnpos() function

2002/06/09

* Updated explode() function
* New examples

2002/06/08

* Updated htmlentities() function
* Added str_base64_encode() and str_base64_decode() functions

2002/06/06

* Fixed a small bug in cgi_unescape_special_chars()
* Fixed process_data() function to handle %xx ( hexa chars ) correctly
* New cgi_include() function

__Version 0.7.4__
_Thanks to Andre 'pXd'_

2002/06/05

* Release with know bugs
* Fixed a memory leak at process_data() function
* Fixed an incorrect parser when there was only one parameter in the URL
* Droped redundante calls to sizeof() when using malloc()

2002/05/12

* Code cleanups
* Dropped some documentation
* Examples revised and updated

__Version 0.7.3__
2002/04/14

* Code revision
* header files rewritten
* Added cgi_send_header() function

__Version 0.7.2__
_Special thanks to Erik Jansson and Robert Csok_

2002/03/25

* Due to a little bug, cgi_include() was dropped to its original version

2002/03/22

* Examples revised

2002/03/21

* Added str_nreplace() function
* Changed replace() to str_replace()
* Added stripnslashes() function
* Documentation updated

2002/03/20

* New documentation
* Added cgi_ to many function names
* Added addnslashes() function

2002/03/13

* Added htmlentities() function

2002/03/12

* Fixed another bug at process_data() function that caused
more than necessary characters to be copied

2002/03/11

* Fixed a memory leak in cgi_process_form() function
* Changed init_hex_table() function to use memset() insted for() loop to fill the array

2002/03/10

* Fixed a format bug in cgi_include() function
* Fixed a bug in process_data() function that
caused some characters to be incorrectly handled
* Improved cgi_include() function performance

2002/03/04

* Added ltrim(), rtrim() and trim() functions

__Version 0.7.1__
2002/01

* A bug in sess_file_rewrite() that caused application to crash was fixed

__Version 0.7__
_Special thanks to ZE bennyben_

2002/01

* Session support major updates
* Some memory leaks and String manipulation bugs fixed
* Removed debug() funciont and #define's relacted
* Added libcgi_error() for internal error handling
* Source code tree modified
* Header files better written
* More examples
* Documentation updated

__Version 0.1 update 6__
_Special thanks to Marcio Kuchma_

2001/12/17

* pt_BR documentation, Makefile rewritten, minor improvements

__Version 0.1 update 5__
2001/11/14

* A friend told me about a paper that describes ways to crack session id's.. I know that my session support ( file session.c ) is really unstable...

2001/11/12

* Modified strpos() function. Now you can specify the number of the characters to match

__Version 0.1 update 4__
2001/11/10

* Finished the script to process XML documentation

2001/11/10

* Changed Makefile. Now it shows the make options

__Version 0.1 update 3__
2001/11/06

* Added file() function

__Version 0.1 update 2__
2001/01/11

* Finished documentation in XML format

__Version 0.1 update 1__
2001/10

* Makefile fixed. Now it's more simple

__Version 0.1__
2001/10

* First non-oficial release
6 changes: 6 additions & 0 deletions autogen.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

for i in `/usr/bin/which autoconf`; do
$i
done

Loading

0 comments on commit fdf99b5

Please sign in to comment.