File: worklog

package info (click to toggle)
ezbounce 0.99.12-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 712 kB
  • ctags: 776
  • sloc: cpp: 7,243; makefile: 182; sh: 153; ansic: 102
file content (189 lines) | stat: -rw-r--r-- 7,094 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
					      S
+ = Added a feature
- = Fixed a bug
* = Changed something
^ = Hmm...

Friday 03-02-01
+ Documentation updates
+ Added the man page that karl sent.. oh long time ago.
  It still needs a little work.
... Released 0.99.12
  Lots more work can be done...

Wednesday 02-28-01
+ Added support for UnReal IRCD '*' and '^' channel
  user modes.
^ Tried to change conn id allocation, so that it would use
  any holes in the sequence instead of always incrementing. Couldn't
  think of a way right now to do it w/o eventually walking the whole
  list of conns at some point. In fact, many times. Will look into this
  later.

Saturday 02-24-01
* Changed auto-detach crap. There is now just one
  set 'enable-auto-detach' variable. You must /quote
  ezb quit.

Tuesday 01-30-01
+ Added anti-idle thingy for detached connections
* Revised some of the timer code
* Admin needs password now to reattach

Sunday 01-14-01
- Fixed unused parameter warnings on some compilers


Saturday 01-13-01
+ Added further handlers for POLLERR/POLLHUP. I'm not sure this 
   will totally cure the poll() infinite loop problems though.
- oops, select()-based socket code was crashing.
- fixed that..
- 0.99.11 released

Sunday 12-24-00
- Applied Karl's mdidentd return code fix patch

Thursday 11-23-00
+ Added select() implementation for pollsocket system. In some ways it
   is actually cleaner. How stable is it.. we will see.
+ Added --use-select option to configure to force use of select() for 
   socket code
^ Found an exploit against 0.85.2 involving a buffer overflow in the 
   nickname storage. Recent versions are not affected, because a limit
   on nickname length is enforced, rather than a flat out my_strdup 
   on the whole string obtained from the user.
* Increased listen() backlog to 20.
+ Now sends ERROR string after being killed and detaching.
  

Tuesday 10-31-00
- Fixed null pointer dereferences in timer code.
- Released 0.99.10

Friday 10-13-00
- Fixed random permissions occurring on pid file (added fchmod call)

Thursday 10-12-00
^ Released 0.99.9

Monday 10-09-00
- Fixed compile issues under RedHat 7/GCC 2.9x

Sunday 09-10-00
^ Welp, a month hiatus isn't very productive but time has been
   against me lately. But here goes..
* Outgoing DCC Proxying now done with real sender ip being used
^ dccpipe constructor assumes ip and port are in host order. is this
   the right thing?

Wednesday 08-09-00
* Changed timer system from itimer based to a simple system
   that adjust the poll() wait time so we get the right checks
   done very 30 seconds.
* alarm() is back for DNS timeouts (still doesn't do jack 
   on glibc(?) tho)

Sunday 08-06-00
^ ... tested again finally and it works. Gotta decide what to do
   tho.
* Cleaned up some old cruft in conn.cpp. 

   

Wednesday 08-02-00
^ Well, incoming DCC Proxying seemed to work. Outgoing didn't.
   Found that we never called bind() when connecting to sender.
^ Well I was wrong. Bind() is not needed at all. Just need to know
   where we're connecting to do. And that is where the problem lies..
   Turns out mIRC is setting its local host to global ip by /whois'ing
   itself and not using LAN Ip. This is reflected in the CTCP DCC commands,
   from where we extract the senders ip and port.
* Fixed several possible crashes in dcc.cpp. Call close_all() and you must
   exit.
^ Handling of POLLERR & POLLHUP: poor. It seems to occur on connect errors,
   and we can apparently do a recv_test() to find out why. 
* Wrote a handler for this in dcc.cpp: However, a recv_test() would also be 
    nice
^ Noticed DCC being killed in 5 seconds due to time out: recheck timer code.
   Something is screwy somewhere.
^ Need to decide on DCC proxying, if to use the real IP address of the 
   sender or the one he provides in CTCP DCC? The latter would give users more
   flexibility... not sure what do to
^ After realizing the true problem behind the proxy issue, i tested again and...

   

Tuesday 08-01-00
^ Hmm... odd DCC Proxying issues. A basic test from my lan failed. I don't
   know if its this new code, or if the code was originally fucked.
   100% CPU usage in one stage of the process. Investigating........ 

Saturday 07-29-00
+ Half assed solution for DCC time outs.
^ This timer system is not the best thing. It works
   for now and I'll leave it in. A better solution is to
   control the timeout value for the poll() call to make sure
   that every 30 seconds we do the needed checks.
   Right now I want to make a release. It's been way too long.
+ Fixed a bug in list_iter postfix increment/decrement.
   Basically wouldn't work if there was no previous or next item.
* Removed unnecessary "dumping logs" message.
^ Released 0.99.8

Friday 07-28-00
+ further documentation updates (config files)
* Now using set/getitimer for all timer needs
+ New timer code in server.cpp; alarm_handler() sets
   flags which are checked by check_timers()
^ Well, alarm() interferes with itimers. So I got rid of all 
   alarm() calls...
   and also I noticed alarm() has never really interrupted
   DNS lookups on glibc
   In any case, an alarm is delivered every 30 seconds so the
   DNS lookup will be interrupted eventually.

Wednesday 07-26-00
+ Added the checks for poll() and #errors about not having it
- Fixed potential null pointer de-reference in conn:kill()
- Fixed another null pointer dereference for 'write' command
* Moved conn::msg_xxxx cruft to messages.h
^ Tested several DCC events and combinations. Seems to work
   fine, MD5Sums check out.
  
Tuesday 07-25-00

+ Added the auto-away thing to detach.
+ Updated the documentation in README. Documenting all the 
  config options is what remains. Need to check sample.conf..

Monday 07-24-00

* Changed logfile searching and sending to unlimited.
* Storing results in conn::loglist of type obj_set<char> *
^ Should I make an string list class or something.. to 
    use in managing the locked logfile list as well as
    the search result list.. Maybe later.
+ Wrote pollsocket::compress() -- it could be better though..
- Fixed being able to set log options w/o specifing c,p or a.
* Changed several simple member functions to have a const property.
^ pollsocket::~pollsocket(): num_pfds is decreased in some cases but 
    sizeof allocated memory remains the same.. investigate! 

Sunday 07-23-00

+ Added "auto-connect-server" option to connect automagically 
    upon registration.
* Moved conn command handler to its own function to facilitate
    new auto-connect-server option.
* gettok() call to obtain value for do_set_command() now uses
    get_rest argument.
* Eliminated conn::get_client()
    Replacement is conn::addr(); data to be stored permanently in 	
    user.fulladdr and not recalculated everytime.
    (id: %d) syntax becomes obsolete under above system
- Fixed incorrect use of htons() in many places. Should have used
    ntohs() when decoding sin.sin_port. Didn't seem to matter on i386
    machines though.
* Redid detach/reattach ruleset issue. Store result of 
    getsockname(client->fd) port and user's ip in a local_saddr and