From f734c058260bddb0ed8be0afc1823fd0b17b9ff6 Mon Sep 17 00:00:00 2001 From: Per Cederqvist <ceder@lysator.liu.se> Date: Mon, 20 May 1991 22:01:39 +0000 Subject: [PATCH] Initial RCS checkin. --- src/server/ChangeLog | 790 ++++++++++++++++++++++++++++++ src/server/FileList | 126 +++++ src/server/Magics | 15 + src/server/To-do | 30 ++ src/server/call-switch.awk | 54 ++ src/server/com-h.awk | 21 + src/server/fnc-def-init.awk | 23 + src/server/fncdef.txt | 69 +++ src/server/prot-a-parse-arg-c.awk | 107 ++++ src/server/prot-a-parse-arg-h.awk | 12 + src/server/version.incl | 1 + 11 files changed, 1248 insertions(+) create mode 100644 src/server/ChangeLog create mode 100644 src/server/FileList create mode 100644 src/server/Magics create mode 100644 src/server/To-do create mode 100644 src/server/call-switch.awk create mode 100644 src/server/com-h.awk create mode 100644 src/server/fnc-def-init.awk create mode 100644 src/server/fncdef.txt create mode 100644 src/server/prot-a-parse-arg-c.awk create mode 100644 src/server/prot-a-parse-arg-h.awk create mode 100644 src/server/version.incl diff --git a/src/server/ChangeLog b/src/server/ChangeLog new file mode 100644 index 000000000..ea449a945 --- /dev/null +++ b/src/server/ChangeLog @@ -0,0 +1,790 @@ +Sat May 18 04:22:06 1991 Per Cederqvist (ceder at nanny) + + * Installerade och startade diskomd 0.29.1. + + * Div. bugfixar i diskomd och simple-cache.c. + +Fri May 17 06:00:00 1991 Per Cederqvist (ceder at nanny) + + * Installerade diskomd 0.29 som ramkomd. + +Wed May 8 04:43:50 1991 Thomas Bellman (Bellman@nanny) + + * conference.c (set_super_conf): Fixed bug that made it impossible + to set the super-conf to zero. + + +Mon May 6 09:34:00 1991 Per Cederqvist (ceder at nanny) + + * Anv{nder funktionerna i memory.h s} l}ng m|jligt i st{llet f|r + smalloc/sfree. + + * Nu har servern tv} kopior av namnet p} varje m|te. Dels en som + alltid ligger i minnet (name_list i ramkomd, small_conf_arr i + diskomd), dels en som bara {r inladdad ibland (i diskomd), + conf_arr. + +Fri May 3 14:49:19 1991 Per Cederqvist (ceder at nanny) + + * 0.28 installerad. + + * Anv{nder traverse_connections |verallt d{r man g}r igenom alla + uppkopplingar. + + * Ny fil: internal-connections.[hc] (i brist p} b{ttre namn). + Inneh}ller new_client(), kill_client(), get_conn_by_number() och + traverse_connections(). I forts{ttningen skall man inte anv{nda + sig av f{ltet (Connection *)->next, utan i st{llet anv{nda + traverse_connections() och get_conn_by_number(). + + * Nytt anrop: who_am_i som ger en Session_no. + +Thu May 2 17:24:50 1991 Per Cederqvist (ceder at nanny) + + * St{ngde av TIME_SYNC i ram-cache.c. Nu kanske n}gon orkar l{sa + log-filerna igen... + + * Nu kollas flaggan kill_me i Connection i _alla_ uppkopplingar + efter varje anrop, s} nu b|r disconnect fungera. + +Mon Apr 29 19:02:12 1991 Per Cederqvist (ceder at nanny) + + * Namnbyte i Who_info och Connection: session resp. client_no + heter numera session_no.fff + + * Ett nytt asynkront meddelande: logout. (Pers_no & Session_no). + + * Tv} nya anrop: get_session_info och disconnect. + +Mon Apr 22 14:32:19 1991 Per Cederqvist (ceder at nanny) + + * version 0.27.2 installerad. + + * Nu skickas sessionsnummer med n{r man g|r 'pepsi' och + 'change_what_i_am_doing'. + +Sat Apr 6 11:47:47 1991 Per Cederqvist (ceder at nanny) + + * version 0.27.1 installerad. + +Sun Mar 24 18:49:56 1991 Per Cederqvist (ceder at nanny) + + * parser.c: lookup_name(): Nu tas alla '-' bort - |kad + QZ-kom-kompatibilitet! F|r tillf{llet g|rs det bara om SERVER {r + definierad (f|r att inte riskera att f|rst|ra kod i klienten). + +Tue Mar 19 20:27:45 1991 Peter Eriksson (pen at nanny) + + * connections.c: logout_client() om CONN_MAGIC_FREE, skriver + nu i logfilen, och g|r return omeddelbart - snabbfix f|r + att servern inte ska krascha s} ofta.. + + * version 0.26 installerad + +Mon Mar 18 11:28:46 1991 Peter Eriksson (pen at nanny) + + * config.c: DEFAULT_CLIENT_SERVICE_NAME = lyskom-client + IN_CLIENT_PORT = 4896 + + * version 0.24 installerad + +Mon Mar 18 09:12:59 1991 Peter Eriksson (pen at nanny) + + * connections.c: mux_handle_packet(): mux->parse.string nollst{lls + nu efter att den har tilldelats till cp->hostname... + + * version 0.23 installerad + +Mon Mar 18 01:56:50 1991 Per Cederqvist (ceder at nanny) + + * send_message: ny funktion och asynkront meddelande. Ers{tter + broadcast. Broadcast finns kvar f|r bak}tkompatibilitet. + +Sun Mar 17 23:49:28 1991 Per Cederqvist (ceder at nanny) + + * mux.c: mux_flush(): om uppkopplingen var av typ MUX_TYPE_CLIENT + s} gjordes inte isc_flush. + +Sun Mar 17 03:50:23 1991 Peter Eriksson (pen at nanny) + + * connections.c: logout_client(), snabb fix f|r ett + problem som medf|rde att mux_close() anropas tv} + g}nger n}nstans (tror jag), och cp->mux var d} + NULL andra g}ngen... + + * Version 0.21 installerad + +Sat Mar 16 00:03:29 1991 Per Cederqvist (ceder at nanny) + + * Simpelt mux-protokoll implementerat. + + * change_name(): Nu kan man byta namn fr}n "foo" till "foo". + + * Version 0.20 installerad + +Tue Mar 12 02:16:12 1991 Peter Eriksson (pen at nanny) + + * server version 0.19 installerad.... BUG fixad i ISCLIB + som har medf|rt att en buffert vart |verskriven... + + * server version 0.18 installerad. (magiska nummer inf|rda + {ven i Connection och Mux strukturerna) + +Mon Mar 11 21:23:02 1991 Peter Eriksson (pen at nanny) + + * ram-smalloc.c/smalloc.c: Magiskt nummer inf|rt... + +Mon Mar 11 19:49:10 1991 Per Cederqvist (ceder at nanny) + + * dbck anpassat till nya formatet. "dbck -g" garbar i text-filen. + +Mon Mar 11 01:48:34 1991 Peter Eriksson (pen at nanny) + + * 0.17 installerad och ig}ngsatt. + +Sun Mar 10 21:23:50 1991 Peter Eriksson (pen at nanny) + + * connections.c: bugfix i new_client():setup av all_conn...-listan + +Sat Mar 9 15:25:09 1991 Peter Eriksson (pen at nanny) + + * Buffring av meddelanden g|rs nu i Mux-rutinerna. + +Sat Mar 9 05:52:34 1991 Per Cederqvist (ceder at nanny) + + * 0.16 installerad och ig}ngsatt. + +Sat Mar 9 03:25:25 1991 Peter Eriksson (pen at nanny) + + * Allt f{rdigt f|r MUX-hantering. Nu fattas bara ett + riktigt protokoll, samt buffring av utdata i Mux_client + strukturen. Major rewrite av det mesta som hade med + isc_ att g|ra. + +Thu Mar 7 03:16:00 1991 Peter Eriksson (pen at nanny) + + * Nu g}r servern genom kompilatorn, med allt fixat till + ISC. Jag har dock inte provk|rt... + +Wed Mar 6 23:08:16 1991 Per Cederqvist (ceder at nanny) + + * P} grund av Isc-ombyggnaden har jag inte kunnat provk|ra. + + * prot-a.c: prot_a_parse_packet(): Om man skrev n}got som matchade + regexpen "A[ \t\n]*\([0-9]+\)[^H].*" n{r man loggade in s} sattes + username till "\1H\{\}\1". + + * text.c: get_text(): Nu kan man (troligtvis) h{mta en "tom" text + utan att f} felet KOM_INDEX_OUT_OF_RANGE. + +Tue Mar 5 19:17:50 1991 Per Cederqvist (ceder at nanny) + + * ram-smalloc.c: rewrote tmp_alloc and free_tmp. Reason: a spurios + "rm ram-smalloc.c"... + +Sun Mar 3 22:16:34 1991 Per Cederqvist (ceder at nanny) + + * isc-serverinfo.[hc]: Uppsnyggad. Anv{nder inte l{ngre n}got som + {r lyskom-specifikt. F|ljd{ndringar i connections.c, dit en del + saker blev flyttade. Inge hj{lpte mig v{lja vad som skulle bort. + + * N{r n}gon f|rs|ker logga in, men servern {r full, sker nu + f|ljande: + + * Den som kopplar upp f}r texten "%% No connections left.\n". + + * Alla andra f}r det asynkrona meddelandet 11 + (ay_rejected_connection) (inga argument). + +Sat Mar 2 18:47:37 1991 Per Cederqvist (ceder at nanny) + + * i_am_on_obsolete skickas inte l{ngre. + + * broadcast tar nu en str{ng, inte ett textnummer. Skrev broadcast + och funktioner f|r det asynkrona meddelandet broadcast. + +Sat Mar 2 01:13:29 1991 Lars Willf|r (willfor at nanny) + + * Fixade en bug i set_permitted_submitters som gjorde att man inte + kunde s{tta till}tna inl{ggsskrivare till 0 (vem som helst). + +Tue Feb 19 00:52:03 1991 Per Cederqvist (ceder at nanny) + + * Bytte versionsnummer till 0.13. + + * conference.c: set_etc_motd(): Ett |verfl|digt semikolon gjorde + att det inte gick att s{tta etc_motd. + +Sun Feb 17 06:44:46 1991 Thomas Bellman (bellman at nanny) + + * isc-server.c: isc_flush(): Provar att stoppa redan n{r man n}tt + upp till maxgr{nsen MAXQUEUEDSIZE, och inte v{nta tills man + |verskrider den. + +Fri Feb 15 23:39:46 1991 Per Cederqvist (ceder at nanny) + + * De tv} {ndringarna nedan fungerade inte, s} jag }terst{llde allt. + + * Om /etc/nologin existerar skickar servern str{ngen + "%% No logins allowed." vid uppkoppling. Om fildeskriptorerna {r + slut skickas str{ngen "%% No connections left." + + * isc_getnextevent(): Nu returneras en ny uppkoppling {ven i + fallet ISC_EVENT_REJECT. Anroparen m}ste nu anropa + isc_logoutclient p} en s}dan uppkoppling innan isc_getnextevent + anropas n{sta g}ng. + +Sun Feb 10 10:04:24 1991 Per Cederqvist (ceder at nanny) + + * convert.c och convert-cache.c konverterade databasen. Filerna + f}r vara kvar ett tag till, tills vi ser att allt verkligen + fungerar. + + * Inge och jag skrev om ram-cache.c, ram-output.c och ram-parse.c. + Nu sparas textmassan i en s{rskild fil. Dessutom sparas + klockslag som time_t, inte som struct tm. Dessa tv} }tg{rder + ledde till _stora_ hastighetsvinster - ca en faktor 2. + + [ndringar i cached_delete_text(), cached_get_text(), + cached_create_text(), init_cache(), fparse_text_stat(), + foutput_text_stat(), foutput_time() och fparse_time(). + + * server/ram-output2.c heter numera server/ram-output.c + + * server/services.h heter numera server/internal-services.h + (include/services.h {r of|r{ndrad). + +Fri Feb 8 20:24:59 1991 Per Cederqvist (ceder at nanny) + + * cache.h: Ny funktion: cached_conf_exist(Conf_no). + + * cache.h: cached_get_name anv{nds inte! Det {r nu borttaget. + +Tue Feb 5 21:17:42 1991 Per Cederqvist (ceder at nanny) + + * Info om hur l}ng tid de olika delarna av synkningen tog lagras + om TIME_SYNC {r definierad i ram-cache.c. + + * Nu kan man l{sa motd_of_lyskom {ven om man inte {r inloggad. + +Tue Feb 5 02:58:34 1991 Peter Eriksson (pen at nanny) + + * isc-server.c/iscserver.h: Max queue size implementerad. + Statistik / client lagras i Isc_clientinfo. + +Tue Feb 5 00:51:44 1991 Per Cederqvist (ceder at nanny) + + * db/ramkomd-logg flyttad till etc/ramkomd-logg. + + * etc/pid: process-id skrivs i denna fil. + +Fri Feb 1 23:19:04 1991 Per Cederqvist (ceder at nanny) + + * 0.10 installerad och startad. + + * get_map fungerade inte om man f|rs|kte h{mta en delmap d{r alla + texter man ville ha var raderaded. 90-120 == 547689541. + (unsigned). R{ttat, men fr}gan {r hur m}nga liknande buggar det + finns... + +Tue Jan 22 10:14:28 1991 Lars Willf|r (willfor at nanny) + + * [ndrade lite #include-rader s} att make depend ska fungera. + Kommenterade bort '#include "CloseFileDescriptors"' ur logII.c. + +Fri Jan 18 10:33:58 1991 Per Cederqvist (ceder at nanny) + + * Nytt asynkront meddelande: ay_login. S{nds n{r n}gon loggar in. + Nu s{nds inte ay_i_am_on n{r man loggar in l{ngre. + +Thu Jan 17 14:43:14 1991 Per Cederqvist (ceder at nanny) + + * 0.09 installerad. + + * ram-cache.c: Om TIME_SYNC {r definierad loggas information om + hur l}ng tid varje syncning tar. + + * Inge:s funktioner f|r att spara databasen n{stan dubbelt s} + snabbt som vanligt testade och inlagda. + +Mon Jan 14 11:45:26 1991 Per Cederqvist (ceder at nanny) + + * forced_leave_conf(): Ny funktion som anropas n{r n}gon uttr{der + ur ett m|te (av n}gon orsak). Den skickar ett asynkront + meddelande till alla uppkopplingar d{r personen i fr}ga {r + inloggad och ber{ttar att han inte l{ngre {r med i m|tet. Det + asynkrona meddelandet heter "ay_leave_conf". + +Sun Jan 13 20:26:29 1991 Inge Wallin (inge at nanny) + + * Stoppat ner filerna ../*.h i det nyskapade directoryt ../include + samt fixat samtliga h- och c-filer i serverdirectoryt att + inkludera <foo.h> i st{llet f|r "../foo.h". Dessutom lagt till + -I../include i Makefile. + +Sun Jan 13 11:27:31 1991 Per Cederqvist (ceder at nanny) + + * membership.c: get_memberhip(): Om n}gon f|rs|ker h{mta en + medlemsskapslista f|r en person den {r organisat|r f|r utan att + h{mta de l{sta texterna s} s{tts read_texts till NULL. Bug! Fixat. + + * do_delete_text(): L{nken fr}n f|rfattaren till texten + (created_texts) s{tts till noll n{r texten tas bort. + +Fri Jan 11 13:37:00 1991 Per Cederqvist (ceder at nanny) + + * create_text(): Nu kan en text inte vara kommentar/fotnot till + samma text mer {n en g}ng. + +Thu Jan 10 21:42:16 1991 Thomas Bellman (bellman at nanny) + + * connections.c: call_function(): Variabeln 'status' tilldelades + v{rdet FALSE, fast den var av typen Success. + +Thu Jan 10 20:40:46 1991 Peter Eriksson (pen at nanny) + + * Added feature: rwhod support. (rwhod.c / connections.c) + +Thu Jan 10 12:40:33 1991 Per Cederqvist (ceder at nanny) + + * ram-output.c: foutput_membership() och ram-parse.c: + fparse_membership(): Om no_of_read != 0 och read_texts == NULL s} + s{tts no_of_read till 0 och ett meddelande loggas. + + * ram-parse.c: fparse_person(): en liten minnesl{cka tillt{ppt. + L|senordet lagrades dubbelt i servern. Eftersom fparse_person + bara anv{nds vid uppstart s} p}verkas inte storleken s} + mycket... + +Wed Jan 9 16:53:56 1991 Per Cederqvist (ceder at nanny) + + * mark_as_read(): adjust_read anropas alltid. F|rut kunde det + h{nda att read_texts blev o{ndlig om en text raderades innan man + l{ste den. Nu ska det inte bli s}. (Men det finns fortfarande + minst en bugg kvar n}gonstans i mark_as_read). + +Mon Jan 7 11:00:37 1991 Per Cederqvist (ceder at nanny) + + * mark_as_read(): Nu protesterar servern om man f|rs|ker markera + en text med lokalt nummer 0. + +Mon Jan 7 09:05:24 1991 Peter Eriksson (pen at nanny) + + * connections.c&isc-server.c: ISC_EVENT_REJECT + +Sun Jan 6 16:13:49 1991 Per Cederqvist (ceder at nanny) + + * text-garb.c: garb_text() loggar nu hur m}nga texter + den har tagit bort efter varje runda. + +Sun Jan 6 16:20:59 1991 Peter Eriksson (pen at nanny) + + * missing-ansi.c: skapade 'strerror()' + connections.c: {ndrade i toploop() s} fel skrivs ut som + text ist{llet f|r som siffror. + isc-server.c: ditto i isc_flush(). + +Sat Jan 5 16:20:04 1991 Peter Eriksson (pen at nanny) + + * connections.c: fexists(): nollst{llning av 'errno'. + skriv ut event->msg om den {r satt vid + ISC_EVENT_ERROR. + isc-server.c: isc_getnextevent(): s{tt isc_ei->msg till + en beskrivande text vid ISC_EVENT_ERROR. + +Sat Jan 5 04:13:01 1991 Per Cederqvist (ceder at nanny) + + * La in en close i isc_logoutclient. Nu ska v{l f|rbindelserna + kopplas ner ordentligt, hoppas jag. + +Fri Jan 4 21:14:36 1991 Per Cederqvist (ceder at nanny) + + * Version 0.07 tagen i drift. + +Fri Jan 4 20:13:40 1991 Peter Eriksson (pen at nanny) + + * isc-server.c: non-blocking writes och transmit queue funkar nu. + +Fri Jan 4 12:02:03 1991 Per Cederqvist (ceder at nanny) + + * create_text returnerar numera KOM_ILL_MISC om man f|rs|ker med + samma mottagare mer {n en g}ng. + + * add_recipient klarar nu {ven av att addera en cc_recpt. + +Fri Jan 4 11:57:48 1991 Peter Eriksson (pen at nanny) + + * printf.c: Ansifikation... + isc-server.c: isc_printf(), isc_putc(), isc_write() & isc_flush() + anv{nder nu alla en per-klient s{ndbuffer. + Dock anv{nds blocking-writes fortfarande... + prot-a-*.c & ram-*.c: Anv{nder nu isc-rutinerna f|r utmatning + ist{llet f|r stdio. + + +Sun Dec 16 21:55:19 1990 Thomas Bellman (bellman at nanny) + + * services.c: pepsi(), change_what_i_am_doing(): Man b|r nog s{tta + alla f{lt till n}got vettigt i infostrukturen som man skickar + till async_i_am_on()... Speciellt str{ngar som anv{ndarnamnet. + +Sat Dec 15 11:04:45 1990 Per Cederqvist (ceder at nanny) + + * prot-a-send-async.c, async.h: i_am_on skall naturligtvis skicka + en hel Who_info. Nu g|rs det. F|r att inte elisp-klienten skall + sluta fungera har numera i_am_on nummer 6. Gamla i_am_on, nummer + 2, finns fortfarande kvar, men kommer att tas bort om n}gon + m}nad eller s} n{r alla elisp-klienter som anv{nder gamla + i_am_on har f|rsvunnit. + +Fri Dec 14 22:15:11 1990 Per Cederqvist (ceder at nanny) + + * send-async.c: Nu t}l servern att det finns klienter som inte har + hunnit ber{tta vilket protokoll de anv{nder. Denna bugg har + orsakat ett antal omstarter... + +Mon Dec 10 05:32:01 1990 Thomas Bellman (bellman at nanny) + + * ramkomdc: chdir() till /usr/lyskom/etc innan man dumpar core. + Kommer antagligen inte att funka... + +Mon Dec 10 05:31:33 1990 Peter Eriksson (pen at nanny) + + * isc-server.c: non-blocking writes. (FNDELAY). + +Wed Dec 5 17:44:27 1990 Per Cederqvist (ceder at nanny) + + * ram-cache.c: {ndrade konstanten MAX_TEXT fr}n 9999 till 15000. + R{ttade en bugg i cached_create_text(). F|rut s} kollade den om + next_text_num var == MAX_TEXT, och sa i s} fall ifr}n, MEN + r{knade upp next_text_num. Text nummer (MAX_TEXT+1) kunde allts} + skapas... + +Sun Dec 2 18:06:01 1990 Per Cederqvist (ceder at nanny) + + * ram-output.c: foutput_time() + ram-parse.c: fparse_time() + Tidpunkter sparas numera i GMT. P} s} s{tt slipper man ta reda + p} vilken tidszon man k|r i. + +Thu Nov 29 14:43:27 1990 Per Cederqvist (ceder at nanny) + + * Jag {ndrade i typen Isc_clientinfo och tog bort en hel del som + jag i st{llet la i Connection (som jag skapade). Protokoll A + isolerat till typen Prot_a. Nu tror jag att allt som {r + protokoll-specifikt {r isolerat, s} l}ngt det g}r. Arbetet med + att implementera protokoll B b|rjar nu... + +Wed Nov 28 07:57:48 1990 Per Cederqvist (ceder at nanny) + + * [ven f|r de asynkrona meddelandena {r nu protokoll A isolerat. + +Tue Nov 27 14:39:12 1990 Peter Eriksson (pen at nanny) + + * kill -USR2 g|r fork()&abort() s} man kan f} ut en core av en + exekverande server utan att d|da den. + + * ramkomd.c - sighandler_quit - exit(1) -> abort(). + +Mon Nov 26 21:15:13 1990 Per Cederqvist (ceder at nanny) + + * Isc_clientinfo-structuren har ett nytt f{lt: u_char protocol. + + * F|rberedde f|r protokoll B genom att isolera protokoll A. Nu + ligger allt protkoll-A-specifikt i filerna prot-a-output.[hc], + prot-a-parse-arg-[hc].awk, prot-a-parse.[hc] och prot-a.[hc]. + Observera dock att jag inte {r helt klar {n: jag har inte gjort + n}got }t asynkrona meddelanden. + +Sun Nov 25 14:17:47 1990 Peter Eriksson (pen at nanny) + + * isc-cache.c&prot-a-output.c: fflush()+write(fileno()) -> fwrite(). + Borde snabba upp lite. + +Sun Nov 25 03:08:24 1990 Per Cederqvist (ceder at nanny) + + * services.c: mark_text(): Nu g}r det att markera texter! + [ndringar i manipulate.c:text_read_access - man f}r alltid l{sa + texter som man har markerat. Dessutom n}gra nya funktioner i + manipulate.c f|r att hantera markeringar. + + * services.c: set_conf_type(): Det {r inte till}tet att ha ett + m|te/en person som {r secret men inte rd_prot. + +Sat Nov 24 14:19:53 1990 Per Cederqvist (ceder at nanny) + + * kom_get_unread_confs ger vilka m|ten en viss person har ol{sta + inl{gg i. + +Sat Nov 24 09:33:32 1990 Peter Eriksson (pen at nanny) + + * MAX_NO_CONNECTIONS satt till 14 om __sequent__. + [14(max_no_clients)+1(portnum)+3(stdio)+1(databas)+1(reject)] + + * Nya kommandoradsoptioner: -D{databas-path}, -p{portnum}. + + * DATAFILE, BACKUPFILE -> datafile, backupfile (variabla pga + support av olika databasdir). + +Thu Nov 22 08:06:06 1990 Peter Eriksson (pen at nanny) + + * Hackade in -SIGUSR1/-SIGHUP/-SIGQUIT (sync, sync&die, sync&die-fast) + + * MAX_NO_OF_CONNECTIONS - funktionalitet + + * Check av /etc/nologin f|r utesp{rr av anv{ndare + +Wed Nov 21 10:16:28 1990 Per Cederqvist (ceder at nanny) + + * end-of-atomic: Nu anropas garb-text() om servern {r idle. + + * ram-cache.c: traverse_text och cached_get_garb_nice skrivna. + + * isc-server.c: Nu anv{nds SO_DONTLINGER, SO_REUSEADDR och + SO_KEEPALIVE p} socketen. + + * MAX_NO_OF_CONNECTIONS {r 15 om __sequent__ {r definierat, annars + 32. + + * config.c: USERNAME_LEN {ndard fr}n 32 till 128 f|r att f} plats + med ett maskinnamn ocks}. + + * Makefile: /bin/sed fattar inte heller \{n\}, precis som GNU-sed, + s} jag skrev om Makefilen utan den. + +Sun Nov 11 15:36:51 1990 Per Cederqvist (ceder at nanny) + + * cached_set_garb_nice och cached_get_garb_nice. + +Fri Nov 9 14:58:54 1990 Per Cederqvist (ceder at nanny) + + * server/cache.c och server/flurp.c (vad {r det?): + '#include "../ldb/ldb.h"' bortkommenterat f|r att kunna g|ra + make depend. + + * Makefilen: -L bortkommenterad fr}n LIBS. + +Fri Nov 2 00:55:32 1990 Peter Eriksson (pen at lave) + + * isc_server.c: isc_gethostname() - fixade s} att den returnerade + IP-nummret (som en String) som de ska enligt specen... + +Thu Nov 1 01:38:44 1990 Per Cederqvist (ceder at lave) + + * manipulate.c: do_sub_comment() och do_sub_foootnote klarade inte + av att f} NULL som text-status. Det fick dom fr}n do_delete_text... + + * manipulate.c: do_sub_recpt(): om conf_c var NULL s} gick det }t + skogen. Om conf_no inte existerade gick det }t samma h}ll. + +Sat Oct 20 14:35:59 1990 Per Cederqvist (ceder at lave) + + * Efter ett gott r}d fr}n Lars Aronsson s} har jag lagt till + funktionerna get_person_stat_old, get_conf_stat_old och + who_is_on_old. De har samma nummer som de gamla get_person_stat + et c. P} s} s{tt {r den nya servern kompatibel med gamla + klienter. + + * Who_info inneh}ller nu tv} nya f{lt: connection, som {r ett + l|pnummer som r{knas upp med ett f|r varje ny connection till + klienten, och username, som {r userid@host f|r just den h{r + uppkopplingen. (Om personen samtidigt {r inloggad fr}n en annan + maskin kan man inte se det med Who_info_old). + + * get_person_stat och get_conf_stat skall numera inte ha n}gon + mask. De skickar alltid med namnet. + +Fri Oct 19 20:42:32 1990 Per Cederqvist (ceder at lave) + + * L{nkning sker nu med -lresolv, s} att servern fr}gar nameservers + om namnet p} maskiner n{r den bara lyckas f} ip-nummret. + +Sun Oct 14 05:00:23 1990 Per Cederqvist (ceder at lave) + + * isc-server.c: isc_readmsg(): Det inl{sta meddelandet avslutades + med ett '\0', som aldrig anv{nds i servern. Det {r ju i och f|r + sig inte s} farligt, men problemet var att nollan lades utanf|r + det allokerade utrymmet om det kom f|r mycket data p} en g}ng... + Nu l{ggs aldrig n}gon '\0':a in. + +Thu Sep 13 20:38:22 1990 Per Cederqvist (ceder at laila) + + * isc-output.c: output_conference(): + [ven conf-type |verf|rs nu. Det var aldrig meningen att ta bort + den... + +Sat Sep 1 01:22:53 1990 Per Cederqvist (ceder at lave) + + * Nu fungerar {ndringarna, i alla fall delvis. + +Tue Aug 28 14:08:33 1990 Per Cederqvist (ceder at lave) + + * [ndringen av formaten f|r Text_status och tider ska vara klara nu. + +Sun Aug 26 16:23:40 1990 Per Cederqvist (ceder at lage) + + * P}b|rjade {ndring av formatet f|r |verf|ring av Text_status. I + forts{ttningen kommer {ven no_of_chars att |verf|ras. + + * P}b|rjade {ndring av formatet f|r en time_t. I forts{ttningen + kommer alla klockslag att |verf|ras som en struct tm. Serverns + lokala tid kommer att |verf|ras. Just nu {r {ndringen genomf|rd + p} n}gra, men inte alla st{llen. + +Tue Aug 21 19:46:50 1990 Per Cederqvist (ceder at lave) + + * get_text() tar nu h{nsyn till first_char och end_char. + + * get_members() testad. + + * Tog bort Template f|r att f|rhindra att n}gon {ndrar i den av + misstag. + +Sun Aug 12 17:17:44 1990 Per Cederqvist (ceder at lave) + + * get_members() tittar ox}, men den {r inte testad. T}get g}r + snart, och jag vill hinna {ta middag f|rst... Vi ses om 14 dar! + + * get_created_texts() tittar p} 'first' och 'len'. + + * En hel massa sm}buggar, bl a i mark_as_read(), r{ttade. + + * get_created_texts() och get_members() skrivna. Dom tittar _inte_ + p} 'first' och 'no_of_*' {n. + + * get_membership() tittar nu p} 'first' och 'no_of_confs'. + +Sat Aug 11 02:13:15 1990 Per Cederqvist (ceder at lave) + + * services.c: create_text(): Det {r nu till}tet att ha ett loc_no + som misc_item. Det ignoreras, oberoende av var det tr{ffas p}. + +Thu Aug 9 05:13:44 1990 Thomas Bellman (bellman at laila) + + * Make depend utg}r fr}n Makefile och inte fr}n Template. Man kan + allts} {ndra direkt i Makefile. + + * get_membership() skriven, men gl|mmer titta p} parametrarna + 'first' och 'no_of_confs'. Det {r inte testat heller... + +Sat Aug 4 01:41:41 1990 Thomas Bellman (bellman at lave) + + * manipulate.c: text_read_access(): Nu kan man inte l{sa + texter utan att vara inloggad. ]t minstone enligt + k{llkoden. Den server som k|r har fortfarande det gapande + s{kerhetsh}let. + +Tue Jul 24 04:40:32 1990 Per Cederqvist (ceder at lave) + + * F|rb{ttrad felhantering n{r f|r l}nga str{ngar kommer till + servern. Nu trunkerar isc-parse.c str{ngen till den maximala + l{nged +1 och l}ter services.c uppt{cka att str{ngen {r f|r l}ng + och protestera. F|rut skrev isc-parse.c '%% LysKOM protocol + error.' och det var nog lite v{l h}rt... + +Mon Jul 23 23:44:49 1990 Per Cederqvist (ceder at lave) + + * En b{ttre version av unique_name(), som inte alltid svara TRUE, + {r implementerad. + + * Asynkrona meddelanden {r implementerade. + +Fri Jul 13 00:11:48 1990 Per Cederqvist (ceder at lave) + + * services.h kan inte sl{ngas l{ngre. Fast nuf|rtiden s} {r den + ganska liten... + +Wed Jun 27 07:42:59 1990 Thomas Bellman (bellman at lave) + + * services.h kan sl{ngas. Filen har ersatts av + kom:/services.h, som numera kan anv{ndas b}de i serverdelen + och klientdelen. Filerna 'services.c' och 'manipulate.c' {r + {ndrade till att inkludera "../services.h" i st{llet. + Flaggan SERVER definieras i Makefilen. + +Wed Jun 6 04:31:02 1990 Per Cederqvist (ceder at laila) + + * end-of-atomic.[hc]: Funktion som skall anropas efter varje + atomiskt anrop. + +Wed May 30 18:47:42 1990 Linus Tolke (linus at lave) + + * cache.c rivet lite (cached_create_person, + mark_conferens_as_changed.) + + * cache.[hc] {ndrade i definitionen av cached_lookup_name s} att + den skall st{mma med -----------------------------------------\ + dvs char * -> String | + | +Fri May 25 07:32:18 1990 Per Cederqvist (ceder at lave) | + | + * manipulate.[hc]: Ny fil som inneh}ller hj{lpfunktioner till | + services.c. Skall endast anv{ndas av services.c. | + | + * log.[hc]: Funktioner f|r att skriva till log-fil. | + | +Wed May 23 18:30:26 1990 Per Cederqvist (ceder at lave) | + | + * cache.[hc], services.[hc]: Nu anv{nds String |verallt, och <--/ + char * inte alls. Det {r nog mycket i cache.[hc] som inte funkar + l{ngre... + + +Tue May 22 22:01:19 1990 Per Cederqvist (ceder at laila) + + * 2kom/server/services.h skapad. H{r ligger saker som t ex cachen m}ste + komma }t, men som klienterna inte ska komma }t. Det som bara + klienterna ska komma }t ligger fortfarande i 2kom/services.h + +Wed May 9 21:25:13 1990 Linus Tolke (linus at laila) + + * Rev infinitesimalt i cache.[hc]. mark_person_as changed fungerar + kanske. + +Tue May 8 23:19:37 1990 Per Cederqvist (ceder at lage) + + * Slog ihop cache.[ch] och unprot.[ch] till cache.[ch]. + unprot.[ch] finns kvar ett tag till, men inneh}ller bara skr{p. + +Mon May 7 16:23:28 1990 Per Cederqvist (ceder at lage) + + * server.[hc] heter numera lyskomd.[hc] i god UNIX-anda. + +Sat May 5 20:53:21 1990 Per Cederqvist (ceder at lave) + + * unprot.[hc]: Tog bort en massa funktionsstubbar som aldrig + kommer att avn{ndas. S}g till att .h och .c inneh}ller samma + funktioner. unprot.c g}r nu igenom kompilatorn! + +Thu May 3 18:54:46 1990 Per Cederqvist (ceder at lage) + + * unprot.c: Jag skriver in en kommentar "/****/" f|re + de funktioner som jag verkligen anv{nder. + +Tue Apr 24 03:34:14 1990 Per Cederqvist (ceder at lage) + + * smalloc.[hc]: Ny fkn srealloc. + + * server.h: Nytt f{lt i Connection: Person * person. + +Sat Apr 21 13:22:26 1990 Per Cederqvist (ceder at lave) + + * Ny Makefile, som regenerar sig sj{lv automagiskt. (make depend) + + * server.h: La till f{ltet ena_level i typen Connection. + +Wed Apr 18 01:35:49 1990 Per Cederqvist (ceder at lage) + + * services.c: get_marks har nu ingen parameter. Man kan bara titta + p} sina egna markeringar. + + * unprot.c: Tog bort unprot_change_what_i_am_doing + + * Flyttade minneshanteringen till smalloc.c + + * cache.c: La till ett anrop: get_name. + +Tue Apr 17 23:54:52 1990 Per Cederqvist (ceder at lage) + + * services.{ch}: {ndrade anropet av create_text + diff --git a/src/server/FileList b/src/server/FileList new file mode 100644 index 000000000..d08e0d917 --- /dev/null +++ b/src/server/FileList @@ -0,0 +1,126 @@ +This is a list of all files in the server directory. + +Atomic calls +------------ +* services.h +* manipulate.h +* admin.c +* admin.h +* conference.c +* membership.c +* person.c +* session.c +* text.c + +* version.incl + Inkluderas av admin.c. Inneh}ller versionsnummret multiplicerat med 100. + I b-server blir det en str{ng. + +* parser.c@ +* parser.h@ + Matchar namn. Samma fil som anv{nds i tty-klienten. Ska bort till b-server. + + +Data cache +---------- +* cache.c +* cache.h + H{r skulle det ha legat en fungerande cache om inte mud funnits... + +Highest level of I/O +-------------------- +* async.h +* send-async.c +* send-async.h +* call-switch.incl +* com-h.awk +* com.h +* connections.c +* connections.h +* end-of-atomic.c +* end-of-atomic.h +* fnc-def-init.awk +* fnc-def-init.incl +* fncdef-no-str-limit.txt +* fncdef.txt +* isc-parse.c +* isc-parse.h + +Low-level I/O +------------- +* isc-server.c +* isc-server.h +* printf.c + +Awk scripts +----------- +* call-switch.awk + +Misc +---- +* config.c +* kom-types.c +* kom-errno.c@ +* log.c +* log.h +* minmax.h +* missing-ansi.c +* smalloc.c +* smalloc.h +* std-disclaimer.h + +Dbck +---- +* dbck +* dbck-cache.c +* dbck.c +* misc-parser.c@ +* misc-parser.h@ + +Non-sources +----------- +* ChangeLog +* FileList +* Makefile +* TAGS +* To-do + +Main +---- +* lyskomd.c +* lyskomd.h +* text-garb.c +* text-garb.h + +Protocol A +---------- +* prot-a-output.c +* prot-a-output.h +* prot-a-parse-arg-c.awk +* prot-a-parse-arg-h.awk +* prot-a-parse-arg.c +* prot-a-parse-arg.h +* prot-a-parse.c +* prot-a-parse.h +* prot-a-send-async.c +* prot-a-send-async.h +* prot-a.c +* prot-a.h + +String packet +------------- +* s-collat-tables.c@ +* s-string.c@ + +Ramkomd +------- +* ram-cache.c +* ram-output.c +* ram-output.h +* ram-output2.c +* ram-parse.c +* ram-parse.h +* ram-smalloc.c +* ramkomd +* ramkomd.c + diff --git a/src/server/Magics b/src/server/Magics new file mode 100644 index 000000000..8eda7faeb --- /dev/null +++ b/src/server/Magics @@ -0,0 +1,15 @@ +SMALLOC: + alloc = 0x12FE56A0 + free = 0xCA348E63 + +Connection: + alloc = 0x18F4AE74 + free = 0x67A7B144 + +Mux: + alloc = 0x56AE17DB + free = 0xF24A6BE7 + +ISC: + alloc = 0x12F54ACE + free = 0xEE47A37F diff --git a/src/server/To-do b/src/server/To-do new file mode 100644 index 000000000..9576fc38a --- /dev/null +++ b/src/server/To-do @@ -0,0 +1,30 @@ +Borde ha en skedjuler f|r sync&garb. Sync&garb borde returnera antalet +millisekunder tills de skall bli anropade igen. Det minsta av dessa +v{rden borde vara timeout till isc_getnextevent. + +----------------- + +membership.c : adjust_read() har l|ss. (Suck. Vilka l|ss? Jag minns +inte nu. D{remot s} b|rjar det ju dyka upp rapporter om att folk f}r +l{sa samma inl{gg flera g}nger, s} det st{mmer nog... /ceder) + +----------------- + +log() borde se ut s} h{r: + +void +log ( Severity sev + char *format; + ...) + +enum severity { + MSG, + ERR, + FATAL +} + +typedef enum severity Severity; + +Om log() f}r FATAL s} {r det samma sak som restart_lyskom(). Om log f}r f|r m}nga ERR f|r snabbt (eller f|r m}nga likadana?) s} startas lyskom om. + +-------------------- \ No newline at end of file diff --git a/src/server/call-switch.awk b/src/server/call-switch.awk new file mode 100644 index 000000000..0fbbad0de --- /dev/null +++ b/src/server/call-switch.awk @@ -0,0 +1,54 @@ +BEGIN { + printf("/* Don't edit this file - it is generated automatically"); + printf(" from\n call-switch.awk and fncdef.txt */\n"); + printf("\tswitch(client->function)\n\t{\n"); +} +$1 != "#" { + printf("\tcase call_fnc_%s:\n\t ", $2); + if ( $1 == "success" ) + printf("status = %s(", $2); + else + printf("res->number = %s(", $2); + + num=0; + string=0; + c_string=0; + for ( i = 3; i <= NF; i++) + { + if ( i != 3 ) + printf(", "); + if ( $i == ":" ) + { + printf("&res->%s", $(i+1)); + break; + } + if ( $i == "num" ) + printf("client->num%d", num++); + else if ( $i == "string" ) + printf("client->string%d", string++); + else if ( $i == "c_string" ) + printf("client->c_string%d", c_string++); + else if ( $i == "priv_bits" ) + printf("client->priv_bits"); + else if ( $i == "conf_type" ) + printf("client->conf_type"); + else if ( $i == "c_local_text_no_p" ) + printf("client->c_local_text_no_p"); + else if ( $i == "c_misc_info_p" ) + printf("client->c_misc_info_p"); + else + printf("\n#error in file server/fncdef.txt\n"); + } + + printf(");\n"); + if ( $1 == "number" ) + { + if ( $2 == "get_time" ) + printf("\t status = OK;\n"); + else + printf("\t status = (res->number != 0) ? OK : FAILURE;\n"); + } + + printf("\t break;\n\n"); +} +END { printf("\t}\n"); } diff --git a/src/server/com-h.awk b/src/server/com-h.awk new file mode 100644 index 000000000..28b293939 --- /dev/null +++ b/src/server/com-h.awk @@ -0,0 +1,21 @@ +BEGIN { + printf("/*\n"); + printf(" * Don't edit this file! It is generated from fncdef.txt\n"); + printf(" * and com-h.awk.\n"); + printf(" */\n\n"); + printf("enum call_header {"); + cnt = 0; +} +$1 == "#" { + next; +} +cnt > 0 { + printf(","); +} +{ + printf("\n call_fnc_%-20s = %d", $2, cnt++); +} +END { printf("\n};\n\n"); + printf("typedef enum call_header Call_header;\n"); +} + diff --git a/src/server/fnc-def-init.awk b/src/server/fnc-def-init.awk new file mode 100644 index 000000000..870499fd1 --- /dev/null +++ b/src/server/fnc-def-init.awk @@ -0,0 +1,23 @@ +BEGIN { + printf("/* Don't edit this file - it is generated automatically"); + printf(" from\n fnc-def-init.awk and fncdef.txt */\n\n"); + printed_flg=0; +} +printed_flg==1 { + printf(",\n"); +} +$1 != "#" { + printf(" {"); + + if ( $(NF-1) == ":" ) + printf("%7s,", $NF); + else + printf("%7s,", $1); + + printf("prot_a_parse_arg_%s}", $2); + + printed_flg=1; +} +END { + printf("\n"); +} diff --git a/src/server/fncdef.txt b/src/server/fncdef.txt new file mode 100644 index 000000000..ea099caba --- /dev/null +++ b/src/server/fncdef.txt @@ -0,0 +1,69 @@ +# +# This file is used to describe the functions in services.c. All +# functions that are reachable from the clients are listed here, together +# with their argument and return types. +# +# NEVER alter any functions that have been in use for a while! Add +# new/modified functions last on this list! +# +# Functions that are reachable when using protocal A: +# +# (Functions whose name end in _old are obsolete and should not be used.) +# +success login num c_string (PWD_LEN) +success logout +success pepsi num +success change_name num c_string (CONF_NAME_LEN) +success change_what_i_am_doing string (WHAT_DO_LEN) +number create_person c_string (CONF_NAME_LEN) c_string (PWD_LEN) +success get_person_stat_old num num : person +success set_priv_bits num priv_bits +success set_passwd num c_string (PWD_LEN) c_string (PWD_LEN) +success query_read_texts num num : membership +number create_conf c_string (CONF_NAME_LEN) conf_type +success delete_conf num +success lookup_name c_string (CONF_NAME_LEN) : conf_list +success get_conf_stat_old num num : conference +success add_member num num num num +success sub_member num num +success set_presentation num num +success set_etc_motd num num +success set_supervisor num num +success set_permitted_submitters num num +success set_super_conf num num +success set_conf_type num conf_type +success set_garb_nice num num +success get_marks : mark_list +success mark_text num num +success get_text num num num : string +success get_text_stat num : text_stat +success mark_as_read num num c_local_text_no_p +number create_text string (TEXT_LEN) num c_misc_info_p +success delete_text num +success add_recipient num num num +success sub_recipient num num +success add_comment num num +success sub_comment num num +success get_map num num num : text_list +success get_time : time_date +success get_info : info +success add_footnote num num +success sub_footnote num num +success who_is_on_old : who_info_list_old +success set_unread num num +success set_motd_of_lyskom num +success enable num +success sync +success shutdown num +success broadcast c_string (BROADCAST_LEN) +success get_membership num num num num : membership_list +success get_created_texts num num num : text_list +success get_members num num num : member_list +success get_person_stat num : person +success get_conf_stat num : conference +success who_is_on : who_info_list +success get_unread_confs num : conf_no_list +success send_message num c_string (BROADCAST_LEN) +success get_session_info num : session_info +success disconnect num +success who_am_i : session_no diff --git a/src/server/prot-a-parse-arg-c.awk b/src/server/prot-a-parse-arg-c.awk new file mode 100644 index 000000000..112bf036e --- /dev/null +++ b/src/server/prot-a-parse-arg-c.awk @@ -0,0 +1,107 @@ +BEGIN { + printf("/* Don't edit this file - it is generated automatically"); + printf(" from\n prot-a-parse-arg-c.awk and fncdef.txt */\n\n"); + printf("#include <setjmp.h>\n"); + printf("#include <kom-types.h>\n"); + printf("#include \"com.h\"\n"); + printf("#include \"isc.h\"\n"); + printf("#include \"connections.h\"\n"); + printf("#include \"isc-parse.h\"\n"); + printf("#include \"smalloc.h\"\n"); + printf("#include \"prot-a.h\"\n"); + printf("#include \"prot-a-parse.h\"\n"); + printf("#include \"prot-a-parse-arg.h\"\n"); + printf("#include <config.h>\n\n"); +} +$1 != "#" { + printf("void\nprot_a_parse_arg_%s(Connection *client)\n{\n", $2); + printf(" switch( client->fnc_parse_pos )\n"); + printf(" {\n"); + num=0; + string=0; + c_string=0; + for ( i = 3; i <= NF; i++) + { + if ( $i == ":" ) + break; + + printf(" case %d:\n", i - 3); + if ( $i == "num" ) + printf("\tclient->num%d = prot_a_parse_long(client);\n", num++); + else if ( $i == "c_string" ) + printf("\tprot_a_parse_string(client, &client->c_string%d, %s);\n", + c_string++, $(++i)); + else if ( $i == "string" ) + printf("\tprot_a_parse_string(client, &client->string%d, %s);\n", + string++, $(++i)); + else if ( $i == "priv_bits" ) + printf("\tprot_a_parse_priv_bits(client, &client->priv_bits);\n"); + else if ( $i == "conf_type" ) + printf("\tprot_a_parse_conf_type(client, &client->conf_type);\n"); + else if ( $i == "c_local_text_no_p" ) + { + printf("\tif ( parse_nonwhite_char(client) != '{' )\n"); + printf("\t longjmp(parse_env, ISC_PROTOCOL_ERR);\n"); + printf("\tif ( client->num%d > MARK_AS_READ_CHUNK )\n", num-1); + printf("\t longjmp(parse_env, ISC_PROTOCOL_ERR);\n"); + printf("\n"); + printf("\tclient->c_local_text_no_p = "); + printf("smalloc(client->num%d\n", num-1); + printf("\t\t\t\t\t * sizeof(Local_text_no));\n\n"); + printf("\tclient->array_parse_pos = 0;\n"); + printf("\tclient->fnc_parse_pos = %d;\n", i - 2); + printf(" case %d:\n", i - 2); + printf("\twhile( client->array_parse_pos < "); + printf("client->num%d )\n", num-1); + printf("\t{\n"); + printf("\t client->c_local_text_no_p[ client->"); + printf("array_parse_pos ]\n"); + printf("\t\t= prot_a_parse_long(client);\n"); + printf("\t ++client->array_parse_pos;\n"); + printf("\t}\n"); + printf("\tclient->fnc_parse_pos = %d;", i - 1); + printf(" case %d:\n", i - 1); + printf("\tif ( parse_nonwhite_char(client) != '}' )\n"); + printf("\t longjmp(parse_env, ISC_PROTOCOL_ERR);\n"); + } + else if ( $i == "c_misc_info_p" ) + { + printf("\tif ( parse_nonwhite_char(client) != '{' )\n"); + printf("\t longjmp(parse_env, ISC_PROTOCOL_ERR);\n"); + printf("\tif ( client->num%d > MAX_CREA_MISC )\n", num-1); + printf("\t longjmp(parse_env, ISC_PROTOCOL_ERR);\n"); + printf("\n"); + printf("\tclient->c_misc_info_p = "); + printf("smalloc(client->num%d\n", num-1); + printf("\t\t\t\t\t* sizeof(Misc_info));\n"); + printf("\tclient->array_parse_pos = 0;\n"); + printf("\tclient->fnc_parse_pos = %d;\n", i - 2); + printf(" case %d:\n", i - 2); + printf("\twhile( client->array_parse_pos < "); + printf("client->num%d )\n", num-1); + printf("\t{\n"); + printf("\t prot_a_parse_misc_info(client,"); + printf(" &client->c_misc_info_p"); + printf("[ client->array_parse_pos ]);\n"); + printf("\t ++client->array_parse_pos;\n"); + printf("\t}\n"); + printf("\tclient->fnc_parse_pos = %d;\n", i - 1); + printf(" case %d:\n", i - 1); + printf("\tif ( parse_nonwhite_char(client) != '}' )\n"); + printf("\t longjmp(parse_env, ISC_PROTOCOL_ERR);\n"); + } + else + printf("#error in prot-a-parse-arg-c.awk: not ready yet.\n"); + + if ( i != NF && $(i+1) != ":") + printf("\tclient->fnc_parse_pos = %d;\n", i - 2); + } + + printf(" default:\n"); + printf("\tclient->fnc_parse_pos = 0;\n"); + printf(" }\n"); + printf("}\n\n"); +} +END { + printf("/* end of this auto generated file. */\n"); +} diff --git a/src/server/prot-a-parse-arg-h.awk b/src/server/prot-a-parse-arg-h.awk new file mode 100644 index 000000000..ac6bf4b09 --- /dev/null +++ b/src/server/prot-a-parse-arg-h.awk @@ -0,0 +1,12 @@ +BEGIN { + printf("/* Don't edit this file - it is generated automatically"); + printf(" from\n prot-a-parse-arg-h.awk and fncdef.txt */\n\n"); +} +$1 != "#" { + printf("void prot_a_parse_arg_%s(Connection *client);\n", $2); +} + +END { printf("/* end of this auto generated file. */\n"); +} + + diff --git a/src/server/version.incl b/src/server/version.incl new file mode 100644 index 000000000..c914c6a5d --- /dev/null +++ b/src/server/version.incl @@ -0,0 +1 @@ +2901 -- GitLab