diff --git a/.gitignore b/.gitignore index 86cfa90..e72fb34 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ CVS +.config ~$* .DS_Store .metadata diff --git a/CHANGESTODO b/CHANGESTODO index 18935e9..7ebc251 100644 --- a/CHANGESTODO +++ b/CHANGESTODO @@ -1,4 +1,4 @@ -$Id: CHANGESTODO,v 1.1578 2008/04/16 16:29:04 lynx Exp $ vim:nosmarttab +$Id: CHANGESTODO,v 1.1649 2008/11/29 12:38:48 lynx Exp $ vim:nosmarttab ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ This file contains TODO and CHANGES (at EOF) rolled into one. Essentially: whenever you fix something, move that line to the end of file. @@ -6,100 +6,105 @@ Essentially: whenever you fix something, move that line to the end of file. ________________________________________________________________________ == currently being inspected =========================================== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -- newsfeeds hibernate when their place objects are not used! - by issuing /pl they suddenly revive. we need to circumvent this lpc "feature" - are we disabling reset by mistake!??? +? marenz says, remote topic isn't working + http://about.psyc.eu/?title=Talk:Bug_Report&curid=1506&diff=10174&oldid=10173 -? http://www.oftc.net/oftc/NickServ/CertFP - generic client cert support for all net/* protocols? +- remote IRC place does not send names listing on /join +- remote IRC /part shows no reaction at first attempt + +++ not limited to IRC!! thx marenz -? /set filter presence xmpp:xxx@yyy als user-befehl - (see METHOD FILTERING -> CHANNELS) +- XMPP: first reply to a stranger's remote psyc message did not show up in psi -? allo would like /giggle etc to show up as ctcp action - let's try channel notice first +? would you prefer psyced to store hashed passwords by default ? -- _request_circuit_shutdown isnt issued or doesnt arrive - or is the disconnected-detection buggy? +- IRC shows "*** k kindly asks for your friendship." for remote + friendship requests. eh! where's the uniform!? -- new bug: psyc "dialbacks" - apparently it doesnt find the tcp back - seems to be an issue only when the incoming and outgoing hostnames - aren't the same - still, psyced used to figure that out.. - ... seems to be related to dyndns +- /m freenode:symlynx hey + Sorry, _message_private is not supported by the IRC gateway. + huh? wasn't that once the point to make them? debug... -+ xmlquote vars at psyctext rendering time instead of guessing which - vars to quote in mixin_render:msg() +- tjgillies ponders: connecting to psyced.org with psi pops up a + profile window everytime -- as long as people have dead host friends in their data, psyced keeps on - trying to connect those hosts. better _failure treatment is one side of - the medal, but muve should also be more aware of hosts it has already - given up hope about (and maybe wait for something more personal like a - _message to trigger a retry.. or downgrade the host to udp delivery). -? maybe disabling udp-for-notices wasnt a smart idea after all!? - it was supposed to make debug life easier, but maybe that's not true +- tjgillies: meebo doesn't let you put * in MUC name + AFAIK the xmpp: uri does not forbid * from the URI RFC thus + meebo should be incorrect here. we'll have to talk to them.. +- google talk also makes funny errors, maybe because of the '*' + /me asks: you see me? + + /me asks: you see me? + + + + -- invite-only places: does a double /invite uninvite people!? +- minor paranoia thing: + - cvs-move archetype.pl out of the sandbox + - change the require in psyconf to point to the new path +! profiles.pl and its Makefile aren't a real threat, we don't expect + anyone to run them, they are for developers only. -- NEW_UNLINK: place and v("place") aren't in sync (new changes for psyc clients) - -- what to do when hosts talk faster then we resolve them? - see around _error_invalid_host_slow - -? spam by unregistered users: limit unregistered users to 1 per minute for now? +- spam by unregistered users: limit unregistered users to 1 per minute for now? or force them to do web-based registration? or even.. trustee-based? it's the real thing.....! -- net/irc shows objectname instead of nick for actions coming from lynx - (maybe because lynx sends a _nick_local while others don't) -- _notice_action is not shown as /me (neither in IRC nor in XMPP) - -- remote /invite is shown on irc without uniform, just #nick_place - -- do not send revision with every cast - -? current privilege model sux: +? archetype.gen & other places: current privilege model sux. qAide(), qOwner(), boss(source), v("topic-user") .. how does this fit with confctrl, _duty and qAllowExternal? .. and in some cases you just want to check for isMember - .. for async entrance operations we need to separate entrance checks - from actual inserting of the user - -- in http://about.psyc.eu/Talk:Presence kuchn says announce() is not working - -? relaying für die eigenen clients geht nicht, sagt fip - (speziell xmpp: von psyc client aus) - fippo sagt eigentlich, dass net/psyc strohdoof ist und alle uniforms - behandelt, als waeren sie local / relativ - (works for localhost clients now, but that's certainly not enough) -+ proxy/relaying in wikinotify etc einbauen? - -+ we could use better integration of availability - because right now CACHE_PRESENCE doesn't work - filter strangers is off by default, but we still seem to get a warning + we should put _trustee into messages to strangers, so we can talk with people who we have friends in common with, by default. *TRUST* - -- on psyced.org private msgs submitted by psyc clients sometimes - end up at lynX. just like that. +? in gui clients this could be a menu option in a buddy list: + "contact a common friend" .. and of course when /surf'ing ? is it a good idea to use SIGS in user:cmd, too? not sure!! - experimental rename fails sometimes: Attempt to rename to existing object '~nautilutz' + possible fix: separate user identity from user access interface (see below) -- don't show "lynx loggt aus." for each and every place! - .. hmmm doesn't happen on leech +- REGISTERED_USERS_ONLY does not behave properly on IRC port + (see also NO_NEWBIES ... clean up and rename?) + +- still UTF8 problems, once a day typically: + [Thu Jul 31 22:10:57 2008] C:xmpp:somewhere "*regexp: bad UTF-8 data +" "/me würde auf '96 tippen + +? tg reports inconsistent display of availability states in friend contextes + so far unable to reproduce +________________________________________________________________________ +== NEXT RELEASE ======================================================== +¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ++ before doing an announced new release, psyced should accept old psyc + syntax but send new psyc syntax by default! + +? support tls multiplexing on all suitable ports ________________________________________________________________________ == psyced 1.0 ========================================================== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -LIBPSYC (basic rendering/parsing.. fix in LPC, or rewrite in C?) -- parse.i erlaubt es den begrüßungspunkt wegzulassen wenn man - stattdessen ne leerzeile liefert. aua +INVITE ISSUES +- remote /invite is shown without uniform, just #nick_place + remote invite thus doesn't work for ircers.. + beta's lynx invites psyc://psyced.org/~gynx into TEST. + gynx thinks it has to join #TEST on psyced.org, not on beta. + only +follow behaves correctly, but clients don't use that +- invites von remote für remote (goodadvice/~fippo an psyced/~chr nach @psyc) + werden nicht als lokal aufgelöst + ein follow führt dazu, dass die person im nichts landet... + someplace @> «psyc://goodadvice.pages.de/~fippo» fippo lädt Dich nach psyc://psyced.org/@elsewhere ein. + /f + brain <> +? invite-only places: does a double /invite uninvite people!? + (and is it a feature or a bug?) +- ircinvite() crashes when given wrong arguments ++ _notice_invitation with a _tag could allow other entities than the + explicitly invited one to follow suit - /invite's can get lost because they are transmitted by UDP unless - there is a circuit already -- _tag* and other MMP vars should be in MMP -+ UNI/UNL Routing as suggested in http://about.psyc.eu/MMP + there is a circuit already (should it be a _request!?) +- /invite should do remote echo like _message_private, not local REMOVE NICKNAMES FROM PROTOCOL + remote uniforms could be passed around in the psyced as parse_uniform @@ -114,6 +119,8 @@ REMOVE NICKNAMES FROM PROTOCOL if we want to introduce arrays instead of strings we must ensure we can compare them without an extra objectp() distinction. + this also allows us to REMOVE ALL _nick VARS and extract nick from uniforms ++ support addressing of uniform portions by psyctext entity syntax + (how does psyctext state support fit into that picture?) PRESENCE STATUS + all _status_person need to be upgraded to _status_presence with @@ -128,13 +135,28 @@ PRESENCE STATUS - dexter fragt Dich: So, why does your client tell me "lynx is psyced!... " every time I send a message? net/jabber/user should be filtering _status_person_present - da scheint ein template zu fehlen für irgendeine neue oder alte presence msg: - net/jabber/user#whojarr embee is a roving piker. + net/jabber/user#whojarr oops is a roving piker. * see also various PRESENCE boxes -+ change of nick/identity / account deletion & transfer / redirection services -- _redirect doesn't work for irc clients -+ /set redirect temp|perm in usercmd.i for users - +DECENTRALIZED STATE / PERSISTENT CONTEXT SLAVES +- do not send revision with every cast ++ we could use better integration of availability + because right now CACHE_PRESENCE doesn't work ++ the next step after CACHE_PRESENCE: don't cache it in the end users, + cache it in the cslaves - also do so for _state in general so we can + keep profile data (PHOTOS!) of people in their respective cslaves + rather than have them multiplied all over the local usership. + yes, we need those photos (miniatures at least) for html friend lists + see PROFILES for all the issues that depend on this one being fixed first. +- w("_warning_usage_set_language", + "Mittels \"/set language de\" kann zur deutschen Sprache gewechselt werden."); + cmdvars = ([ "_command_character" : cmdchar ]) ); ? + cmdw() - makro für meldungen mit automatischem cmdvars? + ... oder lieber eine saubere state implementierung, weswegen der cmdchar + im state abgelegt ist, und jedes template darauf zugreifen darf? + "Usage: [_target->_character_command]command " + kann man ja erstmal im psyctext für _target supporten, remote state + (_source, _context) kommt später.. see http://about.psyc.eu/Talk:Entity + fix up packet ids for apps that need to weed out dupes packet recovery is a whole different pair of shoes, not considered now but related to the big DECENTRALIZED STATE issue rather @@ -142,25 +164,26 @@ PRESENCE STATUS is useful even when we have packet ids in place.. some places it's okay to lose packets if at least the member lists are in sync +GENERIC CONTEXT SUBSCRIBE / PRESENCE FOR ALL ++ krasser rewrite und fusion von raumanwesenheit und buddylists mittels + generischer presence.. siehe auch http://about.psyc.eu/presence und.. +schwer zu glauben, wir haben heute festgestellt, dass wir subscribe, +enter leave und friends nicht brauchen weil es alles sonderfälle von +asymmetrischer presence sind. also wenn der raum die presence eines +users abonniert kommt das aufs selbe raus wie ein autojoin - nur feiner +aufgedröselt - und wenn ein user den raum abonniert, dann kriegt er mit +was mit dem raum passiert.. das is dann zwar eher action als presence +aber wegetechnisch dasselbe. subscription states und contexte sind also +die antwort zur modellierung aller kommunikationsformen in einem chat. +see also http://about.psyc.eu/subscription + FRIEND_ECHO ... send echo for /fr type commands from recipient not from own UNI (see #ifdef FRIEND_ECHO) + ... or just rewrite it all into context subscription!! ________________________________________________________________________ == TOP DELEGATES for 1.0 =============================================== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -- socket disconnected: ? handle remainders ? handle expected socket shutdowns ? - - bartman sagt: psyconf erkennt keine absoluten pfade bei _path_PEM_key und _path_PEM_certificate -- minor paranoia thing: - move archetype.pl and profiles.pl out of the sandbox - Makefiles are a threat, too.. - -- exposed lists aren't properly sort by expose level. a maximum expose should - automatically put a friend or group at the top of the profile list etc. - the logic is wrong. - -- remote idle times are still being shown in seconds - - world/static/index.html should be generated to contain applet port - fix member list in applet * see also APPLET, ANNOUNCEMENT, JABBER, FILE TRANSFER @@ -175,32 +198,17 @@ ________________________________________________________________________ - /surf auf fippos async umstellen - /surf von xmpp: klappt nicht mehr, es fehlt der _tag (schade weil es ja sogar die bilderschen zeigte.. ;)) -? wie wärs wenn vars von _request* auch befehlen zur verfügung stünden? - ... tun sie im neuen SIGS modus! - "Store Changes" in scratchpad using https: doesn't always work (even tho it is a GET, not a POST) - maybe this affects other uses of https as well? (currently disabled) -? new common website navi? ... noonee macht schon die grafik.. super! - wiki integration. http://about.psyc.eu/Development_Tools -? builtin Website des MUVE ausbauen? - -- registering target xmpp:lynx@ve.symlynx.com isn't working. psyced +- registering target xmpp:lynx@ve.example.com isn't working. psyced reconnects by xmpp, then switches to psyc every time -- remote invite doesn't work for ircers.. at least on gaim - beta's lynx invites psyc://psyced.org/~gynx into TEST. - gynx thinks it has to join #TEST on psyced.org, not on beta. - - gino75 schließt mit Dir Freundschaft. why does it show account name instead of alias? (gmail) -- cp person/user.o person/usercopy.o should safely create a new user - "usercopy" as it used to do, but current muve accepts the v("name") - even if it doesn't match the login name. -- involuntary lowercase: /set name wirkt nicht. ich heisse immernoch "lynx" - - flood control over psyc - context-based? parser-based? - message size control? how does this interact with trust? @@ -211,9 +219,6 @@ ________________________________________________________________________ we can simply send topic (332) for subscribed places. then again some topics are too long, so maybe only on manual entry -- move templates from source code into default/en/plain.textdb - .. maybe write an automation to do it? they're just too many! - - convert place:cmd's to SIGS where trivial + add _request_do for user:cmds where trivial @@ -225,13 +230,12 @@ ________________________________________________________________________ http://en.wikipedia.org/wiki/Agile_software_development inspired by http://programm.froscon.org/2007/events/42.de.html -? should rootMsg move into net/root finally? certainly needs a merge - when rootMsg receives a message for a uniform that was probably intended to be different (like psyc://psyced/x instead of psyc://psyced/@x) we should generate a Malformed uniform warning - when rootMsg receives unexpected messages we should return errors as they are helpful to client coders who just got something wrong. -- rootMsg should understand _request_version +? rootMsg should understand _request_version - i was just testing for irc.. but anyhow, when a user tries to deliver something to psyc://beta.ve.symlynx.com/~lynx@psyc it should result @@ -243,9 +247,21 @@ ________________________________________________________________________ - the /kick sendmsg doesn't show up at the kickee's (makes it nastier than planned) + ++ change of nick/identity / account deletion & transfer / redirection services + ... we have forwarding by /set id now. it's a start. ++ /set redirect temp|perm in usercmd.i for users + +- place redirection doesn't work for ircII: client still thinks i am in the + first room while i get messages from the second room. when i type stuff + to the first room, it doesn't even forward to the second. ________________________________________________________________________ == MINOR DELEGATES ===================================================== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ +- psyced generates tags for /enter operations. since these weren't generated + by a client they may confuse a client. fippo thinks these _tag and _tag_reply + should be removed from the messages before the get forwarded to clients. + - html code for manual pages should render better on mozilla (indenting error) (fixed on access.fmt - TODO on rest). dabei muss der in die zeile genommen werden und mit abgeschlossen. automatisierbar!?? @@ -254,8 +270,10 @@ ________________________________________________________________________ + generate help pages tuned to the needs of the user? (consider scheme, operator status and the like) -+ gateway email services (alerts etc) into mailcast places? - run some gateways of that kind on psyced.org? or elsewhere? +- move templates from source code into default/en/plain.textdb + .. maybe write an automation to do it? they're just too many! + + run more mailcast gateways!! on psyced.org? or elsewhere? - /log 9999999999 produces Numeric overflow: 1410065407 *= 4 @@ -265,14 +283,15 @@ ________________________________________________________________________ - psyc/circuit:greet() reports all protocols w/out checking ports.h -+ _notice_invitation with a _tag could allow other entities than the - explicitly invited one to follow suit - - optimization: psyc/parse is resolving the incoming hostname for each single message.. this is wrong. resolution is enough once per tcp link (unless of course the other side is presenting us a new hostname..) fip suggests to cache connected hosts in sAuthenticated() and delete them again on connection shutdown. +? does spyc/* fix this? + +- parse.i erlaubt es den begrüßungspunkt wegzulassen wenn man + stattdessen ne leerzeile liefert. aua -- egal, wir wechseln auf spyc - /silence conversation doesn't filter /action @@ -286,38 +305,40 @@ ________________________________________________________________________ in fact.. masquerade nicknames aren't shown in most output forms especially not for remote users but they should, everywhere except for irc maybe +- tg reports: the nick shows up like net/irc/user/#foo in IRC + install.sh sollte lieber mit bereits ausgepackten tars operieren können damit man darin tweaken kann und install nochmal anwerfen kann ... geht bei psyclpc, aber nicht beim psyced ? generate psyced without cvs support if no cvs installed? + ... bzw. git WINDOWS DISTRIBUTION ? how can we compile SRV into erq.exe? do we care? ? which open source installer for win to use? ? what to do about psyconf.. include perl or re-implement psyconf for win? - ________________________________________________________________________ == OTHER MAJOR TODOS =================================================== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ++ provide a tuning for ACTIVE server-side PING (keepalive) ? + see http://about.psyc.eu/Ping for explanations. + ? 420 added place profiles for psyczilla! reorganize listDescription() ? - warum wird eine mailto: uniform durch legal_name() gejagt? - /m mailto:kuchn@kuchen.dre.am moin. + /m mailto:kuchn@example.dre.am moin. Filter: kuchn_kuchen_dre_am empfängt keine Nachrichten von Fremden. - Du sagst mailto:kuchn@kuchen.dre.am: moin. + Du sagst mailto:kuchn@example.dre.am: moin. kuchn_kuchen_dre_am ist nicht registriert, wird daher nicht antworten können! - restart mechanism is broken - doesn't save .o files in time etc betrifft nur user (oder nur mich) .. räume sind aktuell -+ redo QUIET_LOGIN as other default of /set greeting auto ++ redo _flag_disable_info_session as other default of /set greeting auto ? apply more TAGGING (tagged callbacks also avoid the monster switches) -- ircinvite() crashes when given wrong arguments - /lusers shows: There are 441 users on this server. no, this is not a number from smtp spam links. - either we keep an extra counter for people who are _really_ online @@ -327,6 +348,37 @@ ________________________________________________________________________ somewhere in the reset() or clean_up() procedure. we first need to unload them, then we can look into not loading them in the first place +CIRCUITRY +- _request_circuit_shutdown isnt issued or doesnt arrive + or is the disconnected-detection buggy? ++ net/circuit:pushback TODO: + // alright. so this is where we want to do something + // differently, like remember that this host didn't work. +? another interesting aspect about circuits.. if you retry a lot, then + you don't give dyndns a chance to get updates through. psyced gets + stuck trying an old ip until retries are over. but shouldn't dyndns + work anyway? why is this happening? (happened for tjgillies on EC2) +- as long as people have dead host friends in their data, psyced keeps on + trying to connect those hosts. better _failure treatment is one side of + the medal, but muve should also be more aware of hosts it has already + given up hope about (and maybe wait for something more personal like a + _message to trigger a retry.. or downgrade the host to udp delivery). +? maybe disabling udp-for-notices wasnt a smart idea after all!? + it was supposed to make debug life easier, but maybe that's not true +? two approaches to address the issue: + ? move parts of the ppl data structure into context masters, + then have a flag remember when a member induced a failure and + keep him quarantined until he is seen as being alive again + ? simpler: keep the distribution tree intact, but the last + host with the repeatedly failing outgoing connection provides + occasional failure reports to all involved senders, then silently + drops things that were undeliverable (in the case of packet ids, + the broken recipient still has the possibility to recover the next day) +- Repeatedly unable to reach whatever.example.com in order to deliver a + _message_private to 0. Why does it say "0" here.. ouch. +? what to do when hosts talk faster then we resolve them? + see around _error_invalid_host_slow + TRUST1 - _request_circuit_trust needs to check some challenge, or it can be tricked by replay. so for now only use it over safe networks!! @@ -344,7 +396,7 @@ SCHEMES AND SERVICES + move the .psyc.eu suffix into a #define + implement forward-to-mailto-when-offline as a generic forwarding feature -INVITE & FOLLOW +FOLLOW INVITES + /set follow all|friends|none allow your friends to invite you (and make you follow) into a room so that they can immediately start talking to a group of people like @@ -354,12 +406,6 @@ INVITE & FOLLOW consider however, that once channels are available, you can always create a subchannel of your self context, containing only the friends you want to have a conversation with, and poof you can start talking! -- invites von remote für remote (goodadvice/~fippo an psyced/~chr nach @psyc) - werden nicht als lokal aufgelöst - ein follow führt dazu, dass die person im nichts landet... - someplace @> «psyc://goodadvice.pages.de/~fippo» fippo lädt Dich nach psyc://psyced.org/@elsewhere ein. - /f - brain <> - ok, x@y notation sollte mind. dots im host überprüfen, wenn nicht sogar leading # @@ -411,12 +457,12 @@ PRESENCE gmail hat irgendwelche anderen probleme... - heute nachmittag stand auf dem schirm: - asktav schließt mit Dir Freundschaft. + oops schließt mit Dir Freundschaft. TAV möchte mit Dir Freundschaft schließen. - bin mir ziemlich sicher, dass es keinen lokalen asktav gibt.. es handelt sich + bin mir ziemlich sicher, dass es keinen lokalen oops gibt.. es handelt sich um eine fehlerhafte doppelte darstellung vom TAV alias ohne sein @gmail.com!? einige stunden später: - Du bist mit asktav bereits befreundet. + Du bist mit oops bereits befreundet. TAV möchte mit Dir Freundschaft schließen. ? mir scheint das passiert nicht mehr.. wenn "bereits befreundet" ausgegeben wird, geht auch ne textmeldung an @@ -426,11 +472,11 @@ PRESENCE weshalb wir nur noch das display an unseren user unterdruecken muessten hier ein ausschnitt aus der rawlog.. -» S:xmpp:64.233.166.129:-26112 -« C:xmpp:gmail.com +» S:xmpp:64.233.166.129:-26112 +« C:xmpp:gmail.com -« C:xmpp:gmail.com +« C:xmpp:gmail.com ..man beachte, die newlines nach type='subscribed'/> wurden scheinbar wirklich gesendet, aber vermutlich harmlos. dass gmail einen subscribe @@ -445,7 +491,7 @@ PRESENCE subscription state checken lassen. ich vermute, die lassen gaim-b0rkedness raus in die welt. - ouch!! ganz schlimm.. es ist kein gmail-only problem! - wenn ich mit Alias: xmpp:symlynx@jabber.ccc.de = JYNX /friend mache kommt: + wenn ich mit Alias: xmpp:symlynx@example.ccc.de = JYNX /friend mache kommt: symlynx schließt mit Dir Freundschaft. JYNX möchte mit Dir Freundschaft schließen. immerhin funktioniert danach alles trotzdem. @@ -453,7 +499,7 @@ JYNX möchte mit Dir Freundschaft schließen. net/irc manchmal noch nicks statt uniforms an. - C:xmpp:jabber.ccc.de Invalid Packets Recieved nach: - + nein, hatten wir noch nicht gemerkt @@ -481,16 +527,23 @@ JYNX möchte mit Dir Freundschaft schließen. - falls /set entersilent off so erhalten bleibt, dokumentieren -PERSISTENT CONTEXT SLAVES -+ the next step after CACHE_PRESENCE: don't cache it in the end users, - cache it in the cslaves - also do so for _state in general so we can - keep profile data (PHOTOS!) of people in their respective cslaves - rather than have them multiplied all over the local usership. - yes, we need those photos (miniatures at least) for html friend lists - -PROGRAMMABLE USER IDENTIFICATIONS -+ fippo insists on the uni/client split.. read also 'person.gen' below - (and saga has been asking for years) +PROGRAMMABLE USER IDENTIFICATIONS & MULTIPLE CLIENT INTERFACES ++ fippo insists on the uni/client split.. + = separate user identity from user access interface + (and saga has been asking for years) .. read also 'person.gen' below +- this would probably also solve the issue with the ~nick object name plan ++ and it allows for multiple jabber resources, of course +? one day we could have a person.gen to create all sorts of user + objects from, but it sure is confusing that each of them still needs to + be able to call upon the various protocols.. this may either need a + seperation into user/client/access and person/identification objects, or + the needs for variation of person code is small enough that we can merge it + all together as we have done up to now, and customize it dynamically + using /set commands or web forms, which is itself a flexibility plus. + in this case a few ifs are probably better than rewriting everything for + optimized bytecode. if you want optimization you should write yourself + a UNI server in c++ anyway... ;) +? consider also what CONTEXT CHANNEL requirements the new identity has WHITELISTING & BLACKLISTING on the SERVER TRUST WEB + enable the #ifdef such that dialback from new hosts is not automatically @@ -524,6 +577,9 @@ CHARSET ? http://spaceboyz.net/scharset.html rede gerade mit equinox darüber. die änderung von 011 ist durch. vielleicht wechselt er ja von SCHARSET auf SET CHARSET +- CONSOLE_CHARSET remains an issue, because some debug outputs or runtime + errors will want to %O arbitrary data which will not be utf-8 compliant, + so it is still necessary that CONSOLE_CHARSET learns to be easy about it == PSYC 1.0alpha ======================================================= THE BIG METHOD RENAME @@ -564,6 +620,13 @@ clients). example: in fact.. we can even simplify all abbrev() calls into mere == comparisons or switches in our muve code, because they will never be needed! +- when a _target does not comply to the rules, a message needs to be replied + to with an error. currently however, handling falls thru to rootMsg() like + this: + Circuit got _request_link to psyc://psyced.org/~White Spaced Username from psyc://10.20.30.40:-54925/ + Circuit got _request_input to psyc://psyced.org/~White Spaced Username from psyc://10.20.30.40:-54925/: Hi + Circuit got _request_execute to psyc://psyced.org/~White Spaced Username from psyc://10.20.30.40:-54925/: QUIT + == PSYC 1.0 beta ======================================================= TYPE CHECKING AT PARSING TIME - unless trustworthy > 4 all incoming vars should be checked for legal @@ -584,19 +647,6 @@ AUTOALIASES & ALIASES FOR PLACES or we should look at presence/subscribe integration first (where the distinction of users and rooms becomes less relevant). see below: -PRESENCE FOR ALL -+ krasser rewrite und fusion von raumanwesenheit und buddylists mittels - generischer presence.. siehe auch http://about.psyc.eu/presence und.. -schwer zu glauben, wir haben heute festgestellt, dass wir subscribe, -enter leave und friends nicht brauchen weil es alles sonderfälle von -asymmetrischer presence sind. also wenn der raum die presence eines -users abonniert kommt das aufs selbe raus wie ein autojoin - nur feiner -aufgedröselt - und wenn ein user den raum abonniert, dann kriegt er mit -was mit dem raum passiert.. das is dann zwar eher action als presence -aber wegetechnisch dasselbe. subscription states und contexte sind also -die antwort zur modellierung aller kommunikationsformen in einem chat. -see also http://about.psyc.eu/subscription - PSYC protokoll verbessern, dass implementationen einfach sein können: + die lookup_identification queue in place/basic ist vermutlich nicht notwendig, da (a) clients den zutritt zu einem raum von ihrer UNI @@ -638,87 +688,77 @@ HISTORY ________________________________________________________________________ == JABBER S2S ISSUES =================================================== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -? http://www.xmpp.org/rfcs/rfc3921.html#substates +- /x ALIAS aka xmpp:example@gmail.com results in + "[_nick_target]" ist nicht erreichbar. + example ist online + man hat friend status. -- port psyced.org away from JABBER_HOST (http://about.psyc.eu/TODO) -- when JABBER_HOST is active, /me doesn't work in S2S MUC access -- neuer bug in bezug zu JABBER_HOST: - msg vonnem user kommt mit "falschem" hostname, antwort landet bei net/root. +- "/i user@host" doesn't work for PSYC hosts. it gets rendered by + net/jabber into jabber-only code, but is later sent over psyc. + to fix this we need to do the queuing before the jabber code + gets its hands on it? + +? http://www.xmpp.org/rfcs/rfc3921.html#substates ? _nick_local and coolname are shown, but cannot be identified -- when sending a "whisper" to a nick in a MUC we reply with an error - code 503 with . didn't we have something to say in there? - (gaim shows an empty box) - +localMUC: +- MUC member list may be incorrect after psyced server restart.. + we should probably castmsg all local leaves at shutdown - when entering places from XMPP-S2S own id appears both as "resource" and as uniform. unscalable sagt: der fehler ist beim echo place enter und nur da - -- unscalable sagt: die web inspection messages sollten type=groupchat sein bitte - -- fake any sort of showMembers() for remote MUCs...? - or actually implement it? looks so stupid on telnet when typing -- (xmpp:jdev@conference.jabber.org/Light Lan) <-- nicknames with spaces -- When conference.jabber.org is down there is no error report about it at all - -- MUC member list may be incorrect after psyced server restart.. - we should probably castmsg all local leaves at shutdown - +- when sending a "whisper" to a nick in a MUC we reply with an error + code 503 with . didn't we have something to say in there? + (gaim shows an empty box) + add /whisper command and real whispering in net/place/basic. (rcpt gets _message_private_whisper, castmsg sees _message_public_whisper.. user.c then has to filter that out when _nick_target is himself) this should make users of jabberMUC culture happy. +- joining a psyc channel from XMPP-S2S with different handle (nick) is + still causing problems +? M1: apparently something in psyced's MUC implementation is making mcabber crash :( + +remoteMUC: - whispering in remote MUCs: xmpp:psyc@conference.jabber.org sagt Dir: test would be nice to see the nickname at least.. ;) - -- joining a psyc channel from XMPP-S2S with different handle (nick) is - still causing problems +- (xmpp:jdev@conference.jabber.org/Light Lan) <-- nicknames with spaces +- When conference.jabber.org is down there is no error report about it at all +- fake any sort of showMembers() for remote MUCs...? + or actually implement it? looks so stupid on telnet when typing + ... then again, telnet is the only protocol that could use that.. scrapped - "asks" kommt blöd.. entweder visiblespeakaction immer, oder gar nicht (implement visiblespeakaction in net/jabber) - ausserdem wird kein asks erzeugt wenn jabberisten fragen stellen -- all _notice_presence are ignored. the only way to appear on a jabber - buddy list is to be logged in when the user logs in. - -? jabber s2s: photo-element verursacht runtime-fehler - fip meint es liegt schlicht an der datenmenge, aber mir scheint - es geschieht schon beim parsen. - » S:xmpp:64.233.166.129:-55794 - » S:xmpp:64.233.166.129:-55794 - » S:xmpp:64.233.166.129:-55794 - » S:xmpp:64.233.166.129:-55794 - » S:xmpp:64.233.166.129:-55794 - das ist nur eine nachricht, dass sich das Foto in der vcard geaendert hat - dann dürfte das doch keinen fehler verursachen?!? - -- M1: apparently something in psyced's MUC implementation is making mcabber crash :( - - wenn man 5269 antelnettet und garbage reinkippt.. dann sagt psyced nix und timeoutet sollte er nicht sowas hier senden? + +- xmlquote vars at psyctext rendering time instead of guessing which + vars to quote in mixin_render:msg() + +- properly inspect muc error codes instead of generating + _failure_place_enter_XMPP "jabberish reasons" ________________________________________________________________________ == JABBER CLIENT ISSUES (...experimental is justified...) ============== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -- problem mit roster? sorry, hatte nicht beachtet was das für ein - paket ist was ich da in eile reingepastet hatte.. -- xx cannot handle friendships yet shouldn't be a -- "Accepting friendship with" is shown as server notice, too -- "Anwesend: lynx" as a server notice. what was that!? new? - aha.. jabber stellt die "redline" und ähnlichen status zur schau - beim login. aber nach welchem prinzip!?!?!? -- psyced sendet _status_present bei jeder privmsg, als wärs die redline - vom webchat +- v("place") isn't automatically set when actively joining a chat +- the /me command ist not properly treated +- incoming friend requests from lastlog (in absence) are not delivered! + +- incoming xmpp:u@h and outgoing u@h profile data isn't properly merged + also 'user without @host' seems to produce funny fx + +- moving people around in roster groups is not stored + +- xx cannot handle friendships yet shouldn't be a - authing an unregistered user should not be permitted -- auf antwortet der server mit - - elmex: fippo: psyced.org failt soweit ichs seh bei mir alle tests bis auf den IQ auth test. @@ -738,25 +778,25 @@ ________________________________________________________________________ beim registrieren bekomme ich halt den conflict da. - elmex: nichtmal messages schicken geht richtig :) - ich schicke: von testxmpp2@psyced.org/x und es kommt als testxmpp2@psyced.org an, is das richtig? + ich schicke: von testxmpp2@example.org/x und es kommt als testxmpp2@example.org an, is das richtig? elmex: fippo: ich geb zu, rfc 3920 is nicht sehr deutlich was das from attribut angeht bei messages vom client zum server elmex: aber http://www.xmpp.org/internet-drafts/draft-saintandre-rfc3920bis-03.html#stanzas-attributes elmex: sagt das man die volle JID als from attribut nehmen soll - send<< testxmpp2@psyced.org/x + send<< testxmpp2@example.org/x 10 - + Just a test test body - recv>> 2nd_testxmpp2@psyced.org/x + recv>> 2nd_testxmpp2@example.org/x - + test body @@ -765,17 +805,17 @@ ________________________________________________________________________ elmex: 2 bugs in einer message: type und subject werden gekillt - elmex: fippo: discos an resourcen gehen auch nicht? - send<< 2nd_testxmpp@beta.ve.symlynx.com/x + send<< 2nd_testxmpp@beta.ve.example.com/x 10 - + elmex: auf den disco bekomme ich 0 antwort - elmex: testxmpp@beta.ve.symlynx.com/x bekommt den nichtmal + elmex: testxmpp@beta.ve.example.com/x bekommt den nichtmal fiPP: wir mögen resourcen überhaupt nicht fiPP: das wird alles gefiltert und vom server beantwortet @@ -783,31 +823,31 @@ ________________________________________________________________________ - elmex: disco geht auch nicht fiPP: dass wir auf iq teilweise mit message antworten ist nen uralter bug - end<< 2nd_testxmpp@beta.ve.symlynx.com/x + end<< 2nd_testxmpp@beta.ve.example.com/x 10 - + - + - recv>> 2nd_testxmpp@beta.ve.symlynx.com/x + recv>> 2nd_testxmpp@beta.ve.example.com/x - + - recv>> 2nd_testxmpp@beta.ve.symlynx.com/x + recv>> 2nd_testxmpp@beta.ve.example.com/x - + @@ -816,6 +856,28 @@ ________________________________________________________________________ - autojoin() is disabled, so jabber clients never get to enter newsfeed places. no news is bad news sometimes. + maybe we should simply suppress all output of autojoins by maintaining + an extra jabber-only list of "actively entered" muc places, then have + all other contexts output as server messages (newsfeeds, rarely used + chatrooms). the user can then decide to enter the context "actively" + whenever he intends to speak on it, or simply wants a seperate tab + or window for it. this is treating jabber clients a bit like gui tools + or webchats.. but.. so what. [ other approaches could include some abuse + or multiplexing of pubsub with muc protocols to handle all aspects of + psyc contexts, but that would still need such a jabber-only context + list, so it's a superset or later feature of this. if i'm not confused + pubsub protocol would merely serve to integrate the /subscribe command + better into the jabber ui experience, and provide a correcter display + vehicle for messages than server notices.. right? --lynX ] + _request_list_item in person.c is a placebo. it would tell clients which + places are known and possibly have them autojoin. this may not follow the + psyc model much, but it's better than nothing at all. maybe there's also + some protocol for clients to store which places are to be autojoined - + which would be the complicated way to do subscriptions. still autojoin + doesn't act the right way in all situations, so it's not enough. + hey wait.. there is jabber:iq:private code in jabber/user.c that + should do just that - it even provides autojoin='1' but i haven't + seen a single client honor that. maybe just some bugfixing necessary? - iChat sends /me with a newline after and before the /me .. it doesn't get seen as /me, but it doesn't get output either!? @@ -831,7 +893,7 @@ ________________________________________________________________________ - aimgate sendeoptimierung auf #if 0 ? ouch.. wir haben immernoch psyctext fehler: - net/jabber/user#whojarr + net/jabber/user#example - niekie entered #welcome both by telnet and xmpp. when the telnet logged out, his xmpp client thought he had left the muc also. @@ -843,8 +905,8 @@ ________________________________________________________________________ erscheint er also immernoch online) + In welcome spricht mb: is there a way to turn off the welcome messages everytime someone gets connected to psyc, it is a bit irritating when you use clients like ichat who do not filter those messages into a seperate channel -- - + @@ -918,6 +980,10 @@ ________________________________________________________________________ - wenn man im client einen alias ("name" feld im xml code) setzt beim buddymachen, dann geht der im laufe der transaktion verloren und man muss ihn später nochmal setzen! + +- "00:05 ... Ich bin gerade nicht hier." + net/jabber/user maps away messages to mottoaction instead of presencetext + ________________________________________________________________________ == JABBER FILE TRANSFERS =============================================== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ @@ -935,16 +1001,15 @@ xmlns "http://jabber.org/protocol/disco#info" - nächste stufe der file transfers: bytestreams verwendet leider wieder weswegen es nicht vom bisherigen innerxml-code erfasst wird. here goes: -» S:xmpp:217.10.9.40:-50348 +» S:xmpp:217.10.9.40:-50348 » S:xmpp:217.10.9.40:-50348 » S:xmpp:217.10.9.40:-50348 +id='oops@example.ccc.de/Gaim'/> » S:xmpp:217.10.9.40:-50348 » S:xmpp:217.10.9.40:-50348 -« C:xmpp:jabber.ccc.de < /iq> @@ -979,6 +1044,9 @@ cel'>< ________________________________________________________________________ == RELEASE INSTALLER =================================================== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ +- _charset_console can still lead to unexpected convert_charset errors when + outputting random data. convert_charset must be non-fatal here! + ? psyclpc should be in psyced snapshot pkg.. that means changing a lot about the install.sh and the ebuilds.. oooph - otherwise: teach install.sh or psyconf to copy sys-includes at @@ -1047,9 +1115,6 @@ ________________________________________________________________________ ________________________________________________________________________ == MINOR TODOS ========================================================= ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ -+ fip suggests to add the inofficial 333 reply to indicate topic editor - and creation time. http://www.mirc.net/raws/?view=333 - - maybe we should rethink our MOTD/BANNER logic.. and create one real MOTD file being shown to all users (at least on request) and some special for every access. ...... or just use the textdb for MOTD. maybe we can @@ -1091,13 +1156,24 @@ ________________________________________________________________________ nur was wollte ich eigentlich sagen.. dass /sub selbst ein /enrol sein könnte? hmmm +? marenz suggests /sub could first ensure the target actually likes to be + subbed, that requires a tag-triggered action on reception of successful + entry.. and by consequence, should we also support current behaviour in + the form of /sub -f (aka force) ? + flags in chat commands? yeah why not.. it's a nerd thing anyway these days. + that means we need a getopt efun/implementation for LPC.. lol + ? hmm.. htuniform() in http/library isnt being used by anything why did i code it then? there must be a reason +? /x currently tells anyone about crypto level quality of a person + should this be more private? + + METHOD FILTERING -> CHANNELS fippo hotzenplotzt: hrmpf hrmpf. ich will webexamine setbar aushaben bitte! lynx: programmier den ultimativen filter befehl lynx: .. /filter + ? /set filter presence xmpp:xxx@yyy als user-befehl lynx: .. /filter from lynx: und zwar im user.c - denn du kannst nicht den multicast zerbrechen mit ner pubsubbigen ausnahmeregelung *g* lynx: im prinzip ist das ja ne verfeinerung von ignore.. ignore mit methode @@ -1109,14 +1185,15 @@ ________________________________________________________________________ lynx: dann musst du channels implementieren lynx: damit sowas seinen eigenen channel kriegt fippo hotzenplotzt: möglich +? problem: how to allow remote XMPP MUC users to filter web inspection notices? PROFILES -? profiles: shouldn't this be at http://psyced.org/~user ? - yes and no, since the profiles are not supposed to be shown on the - remote server - so what should we do so profiles have a nice url? +! depend on DECENTRALIZED STATE to get to the next stadium of coolness +- exposed lists aren't properly sorted by expose level. a maximum expose should + automatically put a friend or group at the top of the profile list etc. ? also: should we use dhtml to allow back+fwd clicking in /surf history? using http://codinginparadise.org/projects/dhtml_history/ maybe -+ person:qDescription : we could greatly simplify all decisions what belongs into ++ person:qDescription : we could simplify all decisions what belongs into // the outgoing description for whom, if we introduced a psyc2trust // mapping into profiles.gen with 'trust ' values for each entry. + we could add type (int,bool) and maxlen info to profiles.gen @@ -1196,13 +1273,13 @@ library/dns ... geht derzeit sowieso nicht ohne erq. erq muss sein! «xmpp:base@conference.jabber.org» base sagt Dir: You have been invited to the base@conference.jabber.org room by t@jabber.berlin.ccc.de Reason: None given > /reply Beginne Privatgespräch mit xmpp:base@conference.jabber.org. - xmpp:base@conference.jabber.org ~> sorry, mucs in jabberland are not supported from psyc - xmpp:base@conference.jabber.org ~> it would be a technically berserk thing to do - xmpp:base@conference.jabber.org ~> so it only works the other way around + xmpp:base@conference.jabber.org ~> XXX + xmpp:base@conference.jabber.org ~> XXX + xmpp:base@conference.jabber.org ~> XXX Privatgespräch beendet. - PSYC @> Du sagst xmpp:base@conference.jabber.org: sorry, mucs in jabberland are not supported from psyc - Du sagst xmpp:base@conference.jabber.org: it would be a technically berserk thing to do - Du sagst xmpp:base@conference.jabber.org: so it only works the other way around + PSYC @> Du sagst xmpp:base@conference.jabber.org: XXX + Du sagst xmpp:base@conference.jabber.org: XXX + Du sagst xmpp:base@conference.jabber.org: XXX "xmpp:base@conference.jabber.org" ist nicht erreichbar. "xmpp:base@conference.jabber.org" ist nicht erreichbar. "xmpp:base@conference.jabber.org" ist nicht erreichbar. @@ -1247,12 +1324,6 @@ library/dns ... geht derzeit sowieso nicht ohne erq. erq muss sein! - von psyc eigene xmpp-jid ansprechen führt dazu, dass muve xmpp mit sich selbst redet. lustig, aber unnötig. könnte da nicht compile_object das abfangen? quark, das erledigt xmpp_sendmsg -- lynx@psyced.org geht nicht, weil er dann per default xmpp macht und - psyced.org beschwert, dass man nicht den JABBER_HOST verwendet. autsch! - -- noch ein problem mit JABBER_HOST: wenn man auf einem remote psyc server - ist, dann wird /invite xmpp:person nicht mit dem JABBER_HOST abgeschickt, - ergo funktioniert der invite dann nicht. ? neue negotiation-ebene mit zero-source paketen ? "_using_modules _encrypt" zum starten von TLS @@ -1341,7 +1412,7 @@ ________________________________________________________________________ - http://about.psyc.eu/Remote_join_heise_from_beta_dump noch aktuell? noch relevant? kuchn schmiert: dunno. verwende kein _request_enter mehr -- 15:38 -!- psyc://goodadvice.pages.de/~el [psyc://goodadvice.pages.de/~el@goodadvice.pages.de] has joined #psyc://psyced.org/@welcome +- 15:38 -!- psyc://goodadvice.pages.de/~oops [psyc://goodadvice.pages.de/~oops@goodadvice.example.de] has joined #psyc://psyced.org/@welcome ich hab nen alias auf remote-el, vielleicht kommt es daher der ident sollte in jedem fall nur "el" sein ... ein sonderfall für den sonderfall? was änderts? wen kehrts? @@ -1430,7 +1501,13 @@ ________________________________________________________________________ not need anybody's permission to do so. ok forget this. just documenting this here and poof forget it again. -== PSYC CLIENT ISSUES ================================================== +== PSYC CLIENTS ======================================================== +- tg runs into trouble using _do_enter and _do_leave. apparently the enter-echo + is not accepted by the UNI and thus does not make it into _list_places +- _do_leave does not forward the echo from remote places back to the client + +- NEW_UNLINK: place and v("place") aren't in sync (new changes for psyc clients) + + if newbie: directly show register dialog (lynx should add _status_unregistered or so) @@ -1450,6 +1527,16 @@ ________________________________________________________________________ look at: http://freshmeat.net/projects/pyvoicechat/ dormant since 2004.. oops +RELAYING ++ net/spyc needs relaying (without parsing even), see TODO in parse_content() +? relaying doesn't work for psyc clients (xmpp: in particular) + works for localhost clients + works for clients issueing _request_circuit_trust +- "trustworthy" needs to be raised for data coming from a client + and does _source need to be set to the UNI of the client instead + of the server root? probably. ++ proxy/relaying in wikinotify etc einbauen? + == APPLET ISSUES ======================================================= + sprachauswahl im applet?! [bart hat auf der pikemodi was gemacht hiermit] + anclickbare register etc links? @@ -1572,6 +1659,14 @@ tobi meint: sendmsg() ist nicht der ort, in dem aliases gehandhabt werden ________________________________________________________________________ == SECONDARY ISSUES ==================================================== ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ +? new bug: psyc "dialbacks" - apparently it doesnt find the tcp back + seems to be an issue only when the incoming and outgoing hostnames + aren't the same - still, psyced used to figure that out.. + ... seems to be related to dyndns + ++ http://www.oftc.net/oftc/NickServ/CertFP + generic client cert support for all net/* protocols? + ? embee suggests a special treatment for dyndns hosts: such servers should inform their counterpartners of being dynamic, since they can't predict when the ISP is going to kick them (in order to @@ -1603,7 +1698,6 @@ das sieht doof aus.. gehts auch besser? hmm - show the current command character in all usage messages (by introducing [_command_character] or something like that) -- /invite should do remote echo, like _message_private, not local - places are load()'d twice.. probably both the user object doing /go and the master object doing the clone. may be healthy to fix that. @@ -1679,18 +1773,6 @@ SPAM / FLOOD CONTROL interactively using "/block * 200" see also: http://about.psyc.eu/SPAM -PERSON GENERATOR & MULTIPLE CLIENT INTERFACES -? one day we could also have a person.gen to create all sorts of user - objects from, but it sure is confusing that each of them still needs to - be able to call upon the various protocols.. this may either need a - seperation into user/client/access and person/identification objects, or - the needs for variation of person code is small enough that we can merge it - all together as we have done up to now, and customize it dynamically - using /set commands or web forms, which is itself a flexibility plus. - in this case a few ifs are probably better than rewriting everything for - optimized bytecode. if you want optimization you should write yourself - a UNI server in c++ anyway... ;) - == FRIENDSNETS / FRIENDSHIP DEGREES / WEB OF TRUST TODO: =============== + friendivity 0 = nur meine freunde sehen mich friendivity 1 = die freunde meiner freunde können mich kennenlernen @@ -1712,6 +1794,10 @@ PERSON GENERATOR & MULTIPLE CLIENT INTERFACES evtl nicht alle im richtigen channel, um den enter zu sehen..) == IRC ISSUES 1.0 ====================================================== ++ some irc clients do not implement their own pinging, and some NATs really + kill your irc session if it is too quiet too long. we need optional server + side pings + - (psyc://allo.homeunix.org/~allo) allo: hm, die userlist hier hat sich bei deinem nickchange nicht angepasst im ircgateway saga: ja, das ist ein bug, der mich auch immer wieder nervt ... kapier ich nich ... ich muss das reproduzieren können - also wer @@ -1745,7 +1831,7 @@ PERSON GENERATOR & MULTIPLE CLIENT INTERFACES - "known bug:" die shout()-funktionen betreiben kein vars-cloning, daher ist sowas möglich (das sollte aber nicht schlimm sein): place/irc caught zero source ("_notice_broadcast_garbage","Test 1.",([ - "_source_hack": "c|h|a|o|s!c|h|a|o|s@ve.symlynX.com", + "_source_hack": "c|h|a|o|s!c|h|a|o|s@ve.example.com", "_nick_me": "lethe", "_nick": "c|h|a|o|s", "_prefix": "" @@ -1900,15 +1986,6 @@ TIME - rewrite of all time outputs: will keep. it is left to decide if all of this actually happens on MMP level. UPDATE: we haven't seen this sort of racing condition happen at all -== APPLICATION SERVER LPC TODO ========================================= - -? games have extra data.. typically position.. and various settings - we can handle settings with _request_store, but how do we teach a - place to keep state (of a game or any other app) for each member, - so it can be sent to a new joining member at once? current place - member syntax allows for unis and routes only - we probably need - a var namespace for each member!? - == COMMUNITY CHAT LPC TODO ============================================= + telnetgäste befragen nach sprache? optional auch registrierung und email. @@ -1988,8 +2065,6 @@ is natürlich politisch inkorrekt: www.telwell.de - where IS_NEWBIE is known to be 0 several parts of code can be ifdef'd out - logged_on should be gone - -? is NO_NEWBIES the same as REGISTERED_USERS_ONLY ? ________________________________________________________________________ DRIVER TODO: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ @@ -2099,7 +2174,7 @@ Similar Projexx: http://freshmeat.net/projects/ymsgr/ == HINTS: Multicast (see also COMPETITION) ============================= -From: Gerd Flaig +From: Gerd Flaig > Was brauchen wir in der Praxis also? Eine reliable Multicast > Implementation in PSYC einbinden (müsste ja heutzutage ne fertige > Library sein zum Aufrufen), [..] @@ -3461,6 +3536,7 @@ utility/onhold & library & master - various fixes concerning legal_name, especially in find_psyc_object() xml/parse + CDATA is also supported via XMPP ++ allow refactoring of some jabber code using the new getchild() irc.textdb - removed some catch-all NOTICE [_data] stuff which was showing templates provided as _data (in the case of /invite) @@ -3668,8 +3744,10 @@ psyc/edit psyc/circuit psyc/library usercmd + _request_do_message - _MISC_separator_list for differing renderings of /names aka /people ++ adapted _request_store/_retrieve code to _request_do_store user.c + probably fixed if (verbose) for announce() ++ detect when disconnected unvoluntarily, then vInc("new", 7) net/group + renamed parts of FORK which implement CONTEXT_STATE. should return useful. entity @@ -3692,17 +3770,142 @@ archetype.gen - bugfix for mixed case nicknames in enter() psyc.h + PSYC_TRY & PSYC_SLICE_AND_REPEAT macros ++ moved PSYC_TCP_PENDING* to TCP_PENDING* person.c user.c usercmd.i root.c irc/user.c + apply macros for method inheritance, many refactorings + #ifdef _flag_enable_alternate_location_forward +- presence_management() net/*/* - better handling of disconnected() +- better handling of erq errors net/jabber -- minor fixes +- minor fixes, getchild() refactoring ++ support for TCP_PENDING* flags ++ support for jabber:x:delay timestamps using mktime() ++ "MUCSUC" emulate single-user contexts for remote MUCs +net/jabber/user ++ support the superannoying urn:xmpp:ping ++ self-vCard from client is now converted to internal _request_do_store place.gen & place/rendezvous.c + #define LOCAL net/irc/common + render messages with a _nick_place as channel notices (like /giggle) net/irc/user - clean up of the namreply code ++ CTCP TS when /set timestamp on ++ added CTCP=PRESENCE,TS to RPL_ISUPPORT ++ 512 byte limit now splits on whitespace like ircd +usercmd, http/edit, http/modify, http/register ++ /edit command sponsored by symlynX, needs lots of refactoring +psyc+spyc/parse +- parse _time to_int() - intermediate hack waiting for psyc types + fixed: remote idle/age times were shown in seconds +spyc/* ++ first try at a PSYC Type implementation +*/*/interface.h ++ time_or_date macro +usercmd,net/http/call +? confused /answer and /reject commands +person ++ anonymous profiles on http://server/~nick ++ personal _notice_examine_web_person inspection notices ++ examine: animalfave and big photos upgraded to friends-only +user +- bugfix in surf profile: doTalk button ++ phone call button +psyclpc/*/interface.h ++ hex2int(HEX) macro using to_int("0x"+ HEX) +jsonparser +- slight performance improvement using new hex2int() +library/json ++ added default-zero and object rendering using psyc_name() +net/* ++ local debug flags that apply to certain compiles only: + Dcircuit, Dconnect, Dentity, Dperson, Dserver, Dtext, Dtextc, + Dtrust, Duser, Dcontext, Dhttp, Dirc, Dplace, Dxml, Dname ... +psyconf etc. + _optional_extra_debug flags for -DDwhatever=2 etc. +=== 20080505 ========================================================== +== http://about.psyc.eu/News == +root + detect when local string routes ended up in contexts and + issue a _failure_invalid_route in that case +person +- sName bug in &&! logic fixes following bugs: + - cp person/user.o person/usercopy.o should safely create a new user + - involuntary lowercase: /set name should have an effect +jabber/server +- handle iq with id missing +smtp/server ++ _flag_disable_prefix_person_SMTP tuning ++ otherwise require ~ prefix on user names since we have no + whitelisting logic for smtp as yet +net.h +- fixed CONSOLE_CHARSET by defining SYSTEM_CHARSET in time for debug.h +user ++ _flag_disable_place_default +master ++ -DDmaster=3 etc. +=== 20080707 ========================================================== +install.sh ++ warn users when openssl seems to be missing +- default to encryption off when openssl is missing (so it still works) +net/jabber/server +- fixed little bug in BETA code. good idea i marked it BETA so i looked + at it before looking elsewhere. +net/user, net/gateway/generic ++ cleaned up old /who closure (helped me find the BETA bug) +net/psyc +- fixed to run without tls support +net/irc/gatebot +- missing \r's were resulting in emits looking garbaged across the wire +net/person ++ _flag_enable_measurement_network_latency to see some latency stats +net/library/legal +- a user misunderstood the /register syntax and has issued a + "/register /password whatever" - so: disabled ' ' in passwords now +psycmuve.i renamed into master/accept ++ added support for TLS autodetect == BETA == +archetype +- fixed "/topic x" with a single letter ++ added timestamps to topic +net/irc/user ++ added "333" numeric containing author and timestamp of a topic +- more compliant INVITE implementation returning + ERR_NEEDMOREPARAMS and ERR_NOSUCHCHANNEL when necessary +net/* ++ modularizing subsystems of psyced. you can now disable things using + #define _flag_disable_character_action + #define _flag_disable_info_commands + #define _flag_disable_info_session + #define _flag_disable_inheritance_method + #define _flag_disable_place_enter_automatic + #define _flag_disable_presence_directed_XMPP + #define _flag_disable_module_authentication + #define _flag_disable_module_friendship + #define _flag_disable_module_nickspace + #define _flag_disable_module_presence + #define _flag_disable_module_trust + #define _flag_disable_query_amount_users_online + #define _flag_disable_query_server + #define _flag_disable_registration_XMPP + #define _flag_disable_request_version_IRC +=== 200808xx ========================================================== +* ++ renamed SERVER_URL into the more appropriate _uniform_node ++ renamed JABBER_HOST into the more appropriate _host_XMPP +net/irc/common +- fixed annoying minor rendering bug +net/irc/user +- fixed sender origin of remote place leave +- do not duplicate /lusers code +net/jabber/* +- stupid configuration mistake that kept DIGEST-MD5 from working ++ emitraw() optimizes some XML outputs +irc.textdb ++ rfc1459 compliant version reply 351 RPL_VERSION +install.sh +- many a million times people presumed they should edit local.h in + config/default. maybe it helps if it's called config/blueprint. + diff --git a/bin/psyconf b/bin/psyconf old mode 100644 new mode 100755 index a29ebcb..5dd2a74 --- a/bin/psyconf +++ b/bin/psyconf @@ -6,7 +6,7 @@ # psyconf(8) - tool that generates psyc configuration # files out of a common psyced.ini # -# $Id: psyconf,v 1.75 2008/02/08 11:44:57 lynx Exp $ +# $Id: psyconf,v 1.80 2008/10/26 15:24:01 lynx Exp $ =head1 NAME @@ -59,7 +59,7 @@ sub say { use Getopt::Std; &getopt; - print STDERR '$Id: psyconf,v 1.75 2008/02/08 11:44:57 lynx Exp $', "\n"; + print STDERR '$Id: psyconf,v 1.80 2008/10/26 15:24:01 lynx Exp $', "\n"; my $conf = shift || 'psyced.ini'; $conf = '/etc/psyc/psyced.ini' unless -r $conf; @@ -127,31 +127,39 @@ sub say { my $config = $c{_basic_path_configuration} || $base; # this isn't taking $ARCH_DIR from install.sh into account # but maybe it shouldn't anyway.. + say "Looking for driver in $arch/$driver\n"; unless (-x $arch && -x "$arch/$driver") { $arch = "$base/bin-$_type_system"; + say "Looking for driver in $arch/$driver\n"; unless (-x $arch && -x "$arch/$driver") { $arch = "$base/bin-linux"; + say "Looking for driver in $arch/$driver\n"; if (-x $arch && -x "$arch/$driver") { say "\nBug in $0: We didn't find $base/bin-linux in the appropriate way.\nThat's not nice. Continuing however.\n" } elsif (not -x ($arch = "$base/bin") && -x "$arch/$driver") { + say "Looking for driver in $arch/$driver\n"; # bad place for psyclpc really.. # since it is usually of no commandline use # but where else should psyclpc.ebuild # install it? in /opt/psyclpc? for two files? $arch = "/usr/sbin"; + say "Looking for driver in $arch/$driver\n"; # the following is very unlikely to happen: die <>> | (__/ | \__ |__ |_/ <<< - diff --git a/config/default/config.c b/config/default/config.c deleted file mode 100644 index 57e62a0..0000000 --- a/config/default/config.c +++ /dev/null @@ -1,66 +0,0 @@ -// $Id: config.c,v 1.9 2006/11/07 07:58:36 lynx Exp $ vim:syntax=lpc -#include - -/* a data file or an include can be read by any file in the system but - * we want this information to be readable by the gateway code only - * that's why it has to be lpc code - */ - -#ifdef GATEWAY_PATH - -/* if you are positive that you want to run your own gateways to - * legacy messaging systems, please insert your gateway credentials - * into the fields below and activate the code by turning #if 0 to #if 1 - * - * update: these bot-style gateways are not functional. don't switch - * them to 1 as either the python scripts or the jabber code isn't - * up to date with them. - */ - -# define USE_ICQ_GATEWAY 0 // don't change -# define USE_AIM_GATEWAY 0 // don't change - -qConfig() { - string p = file_name(previous_object()); -# ifdef __COMPAT_MODE__ - p = "/"+p; -# endif - P3(("\n%O: config requested by %s\n", ME, p)) -# if USE_ICQ_GATEWAY - if (abbrev(GATEWAY_PATH "icq", p)) return - (["host" : "icq.localhost", - "port" : 5234, - "scheme" : "icq", - "name" : "icqlinker", - "secret" : "myicqsecret", - "nickname" : "your uin here", - "password" : "and your password please" ]); -# endif -# if USE_AIM_GATEWAY - if (abbrev(GATEWAY_PATH "aim2", p)) return - (["host" : "aim.localhost", - "port" : 5233, - "scheme" : "aim", - "name" : "aimlinker", - "secret" : "myaimsecret", - "nickname" : "screen name", - "password" : "and your password please" ]); -# endif -} - -load() { -# if USE_ICQ_GATEWAY - D(" " GATEWAY_PATH "icq"); - load_object(GATEWAY_PATH "icq"); -# endif -# if USE_AIM_GATEWAY - D(" " GATEWAY_PATH "aim2"); - load_object(GATEWAY_PATH "aim2"); -# endif -# ifdef RELAY_OBJECT - D(" " RELAY_OBJECT "\n"); - call_out(load_object, 0, RELAY_OBJECT); -# endif -} - -#endif diff --git a/config/default/config.h b/config/default/config.h deleted file mode 100644 index 0cd4cb5..0000000 --- a/config/default/config.h +++ /dev/null @@ -1,23 +0,0 @@ -// $Id: config.h,v 1.1 2007/04/26 13:34:02 lynx Exp $ // vim:syntax=lpc -// -// This file is not intended to be modified. Make your local changes -// in psyced.ini, and if that wasn't good enough, use local.h. -// If you are integrating psyced with other LPC applications, feel -// free to modify path.h. If you aren't, better leave it as it is. - -#ifndef CONFIG_H -# define CONFIG_H - -// load local modifications by the admin -# include "local.h" - -// load port configuration as generated by psyconf -# include "ports.h" - -// load layout of psyced software modules -# include "path.h" - -// load psyced.ini settings converted by psyconf -# include "psyconf.h" - -#endif diff --git a/config/default/hosts.h b/config/default/hosts.h deleted file mode 100644 index d137eca..0000000 --- a/config/default/hosts.h +++ /dev/null @@ -1,7 +0,0 @@ -// Examples of specially enabled or disabled hosts. -// -// -// #define ENABLED_HOSTS "192.168.0.", "10." -// -// #define DISABLED_HOSTS "207.46.197.", "207.46.19." -// diff --git a/config/default/init.ls b/config/default/init.ls deleted file mode 100644 index 73ffa94..0000000 --- a/config/default/init.ls +++ /dev/null @@ -1,3 +0,0 @@ -net/user -net/place/basic -local/config diff --git a/config/default/local.h b/config/default/local.h deleted file mode 100644 index 5273623..0000000 --- a/config/default/local.h +++ /dev/null @@ -1,5 +0,0 @@ -// This is local.h for advanced tunings to the psyced runtime and -// LPC compilation process. The format looks just like a regular -// header file for the C language. Settings you can specify -// here are documented at http://about.psyc.eu/psyced#Tuning - diff --git a/config/default/path.h b/config/default/path.h deleted file mode 100644 index c99f614..0000000 --- a/config/default/path.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _INCLUDE_PATH_H -#define _INCLUDE_PATH_H - -#define NET_PATH "/net/" -#define PLACE_PATH "/place/" -#define SERVICE_PATH "/service/" -#define DATA_PATH "/data/" -#define CONFIG_PATH "/local/" -#define DAEMON_PATH NET_PATH "d/" -#define GATEWAY_PATH NET_PATH "gateway/" - -// protocol for synchronous conferencing -#define PSYC_PATH "/net/psyc/" - -// experimental PSYC 1.0 interface -#define SPYC_PATH "/net/spyc/" - -// irc server emulation -#define IRC_PATH "/net/irc/" - -// jabber server emulation -#define JABBER_PATH "/net/jabber/" - -// telnet access -#define TELNET_PATH "/net/tn/" - -// java applet server, uses a very simple protocol -#define APPLET_PATH "/net/applet/" - -// accept messages and simple mails via smtp -#define SMTP_PATH "/net/smtp/" - -// experimental: access message log via pop3 -#define POP3_PATH "/net/pop/" - -// experimental: serve as a sip "proxy" -#define SIP_PATH "/net/sip/" - -// allow access to subscribed threaded discussion groups via nntp -#define NNTP_PATH "/net/nntp/" - -// accept messages and allow lastlog access via wap -#define WAP_PATH "/net/wap/" - -// simple http server -#ifndef HTTP_PATH -# define HTTP_PATH "/net/http/" -#endif - -#endif diff --git a/config/default/ports.h b/config/default/ports.h deleted file mode 100644 index bfb34b7..0000000 --- a/config/default/ports.h +++ /dev/null @@ -1,33 +0,0 @@ -/* this file shall automatically be generated by psyconf. - * - * the values in here may be the same as in services.h - * or they may not. so always be conscious which ones you - * are using to which purpose. -lynX - */ - -#echo This is just the demo ports.h. I shouldn't get loaded. -#echo If I do, then you didn't run psyconf successfully!! - -#define PSYC_PORT 4404 - -#define HTTP_PORT 33333 -#define HTTPS_PORT 34443 - -#define IRC_PORT 6667 -#define IRCS_PORT 9999 - -#define JABBER_PORT 5222 -#define JABBERS_PORT 5223 -#define JABBER_S2S_PORT 5269 - -#define TELNET_PORT 2323 -#define TELNETS_PORT - -#define APPLET_PORT 2008 - -#define SMTP_PORT -#define SMTPS_PORT - -#define NTTP_PORT -#define NNTPS_PORT - diff --git a/config/gentoo/psyced.ebuild b/config/gentoo/psyced.ebuild index 6eacf58..df88b60 100644 --- a/config/gentoo/psyced.ebuild +++ b/config/gentoo/psyced.ebuild @@ -1,4 +1,4 @@ -# $Header: /CVS/muveCVS/psycmuve/config/gentoo/psyced.ebuild,v 1.31 2007/09/24 22:16:19 lynx Exp $ +# $Header: /CVS/muveCVS/psycmuve/config/gentoo/psyced.ebuild,v 1.32 2008/09/22 21:51:39 lynx Exp $ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # @@ -76,8 +76,8 @@ src_install() { keepdir /var/${PN}/data/person keepdir /var/${PN}/data/place dodir /var/${PN}/config - chmod -x config/default/*.* - cp -rp config/default/README config/default/*.* "${D}var/${PN}/config" + chmod -x config/blueprint/*.* + cp -rp config/blueprint/README config/blueprint/*.* "${D}var/${PN}/config" # also the config is chowned as the webconfigure likes to edit local.h chown -R ${PN}:psyc "${D}var/${PN}" einfo "Person, place and configuration data is kept in /var/${PN}" diff --git a/config/gentoo/psyced/Makefile b/config/gentoo/psyced/Makefile index 626ef69..20b3680 100644 --- a/config/gentoo/psyced/Makefile +++ b/config/gentoo/psyced/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.16 2008/01/27 12:27:15 lynx Exp $ +# $Id: Makefile,v 1.20 2008/11/20 13:45:58 lynx Exp $ # # This Makefile serves the purpose to produce the files ebuild needs to be # happy. So it is an ebuildbuilder. Targets are: ebuild, Manifest and clean. @@ -9,7 +9,7 @@ # emerge. From nothing. fischerspooner rocks. -lynX P=psyced -V=20080116 +V=20081120 # this part can be executed once the ebuild is in portage diff --git a/config/gentoo/psyclpc/Makefile b/config/gentoo/psyclpc/Makefile index 1ce3b24..879770f 100644 --- a/config/gentoo/psyclpc/Makefile +++ b/config/gentoo/psyclpc/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.5 2008/01/27 12:27:15 lynx Exp $ +# $Id: Makefile,v 1.7 2008/07/07 18:35:59 lynx Exp $ # # This Makefile serves the purpose to produce the files ebuild needs to be # happy. So it is an ebuildbuilder. Targets are: ebuild, Manifest and clean. @@ -9,7 +9,7 @@ # emerge. From nothing. fischerspooner rocks. -lynX P=psyclpc -V=20080116 +V=20080707 # this part can be executed once the ebuild is in portage diff --git a/config/psyced.ini b/config/psyced.ini index d165e61..58c4926 100644 --- a/config/psyced.ini +++ b/config/psyced.ini @@ -1,4 +1,4 @@ -; $Id: psyced.ini,v 1.22 2008/01/22 09:30:06 lynx Exp $ +; $Id: psyced.ini,v 1.23 2008/04/28 16:35:29 lynx Exp $ ; ; this is the sample psyced configuration file. in fact it is the one ; being used for the gentoo default installation. you can use this if @@ -119,8 +119,15 @@ _console_debug = 0 ;_charset_console = ISO-8859-15 ; '0' is tranquility unless something serious happens. best choice. ; '1' gives you slightly interesting output and LPC development debug. -; '2' or '3' is too much and too detailed. we hardly ever use that ourselves. +; '2' or '3' is too much and too detailed. we only use this as shown below. _level_debug = 0 +; Advanced extra debug flags for the psyclpc command line. You can debug +; specific parts of psyced like for example the textdb subsystem by adding +; -DDtext=2 here. You can figure out which other parts of psyced are debuggable +; by doing a "grep -r 'define DEBUG D' ." in the world directory, then assign +; a debug level in the same way as the global debug level above. +;_extra_debug = + ; We create files that are editable by the psyc group _umask = 007 diff --git a/install.sh b/install.sh index dfabee4..3aa6d05 100755 --- a/install.sh +++ b/install.sh @@ -3,7 +3,7 @@ # but if that's not true, try a bash or ksh here. # # psyced installation script -# $Id: install.sh,v 1.159 2008/03/23 19:27:13 lynx Exp $ +# $Id: install.sh,v 1.165 2008/10/16 13:07:13 lynx Exp $ # # original version by oswald!osw@ld.pages.de on IRCnet, 22aug00 # heavy improvements by heldensaga and psyc://psyced.org/~lynX @@ -29,20 +29,25 @@ rm="rm" #exit="echo [debug] Not exiting." #rm="echo [debug] Not removing" +DATA_PERM="700" +BASE_PERM="700" +CONF_PERM="700" +UMASK="7" + hi="" lo="" -# take a guess wether we are on a gentoo? like -x /etc/portage? -#echo "" -#echo "${hi}!!INFO FOR GENTOO USERS!!${lo}" -cat < /dev/null + if mkdir -m $BASE_PERM -p $BASE_DIR 2> /dev/null then : else @@ -1062,7 +1090,7 @@ fi if test ! -d $CONFIG_DIR then echo "Creating $CONFIG_DIR..." - if mkdir -m $PERMISSIONS -p $CONFIG_DIR 2> /dev/null + if mkdir -m $CONF_PERM -p $CONFIG_DIR 2> /dev/null then : else @@ -1184,7 +1212,7 @@ EOF cp $i $ARCH_DIR/$i chown $USER $ARCH_DIR/$i chgrp $GROUP $ARCH_DIR/$i - chmod $PERMISSIONS $ARCH_DIR/$i + chmod $BASE_PERM $ARCH_DIR/$i chmod u+x $ARCH_DIR/$i done cd .. @@ -1216,28 +1244,14 @@ cd "$BASE_DIR" cp -rp "$BASE_DIR/local" "/tmp/local$$" 2> /dev/null rm -f $BASE_DIR/local 2> /dev/null -# used to be a symlink, but cvs update could replace your local.h with -# the stupid example from the cvs, so let's better copy it. +# we previously tried to use symlinks or even partial symlinks for +# unmodified files only, but it can result in cvs collisions and +# headaches. so far the plain copy approach is best. # -cp -rp "$BASE_DIR/config/default" "$BASE_DIR/local" +cp -rp "$BASE_DIR/config/blueprint" "$BASE_DIR/local" # # let's make sure it won't happen again ;) rm -rf "$BASE_DIR/local/CVS" -# -# no no no let's better not copy it, so we can cvs update unmodified -# files like path.h although cvs up should NEVER replace the locally -# modified local.h. -#ln -s "config/default" "$BASE_DIR/local" -# that doesn't work either.. he tries to join changes between default -# local.h and current one, resulting in collisions. -# -# let's make symlinks of each file, then replace the ones we really -# need locally.. -# -#mkdir "$BASE_DIR/local" -#ln -s config/default/README config/default/*.h "$BASE_DIR/local" -# this one gives us headaches -#rm "$BASE_DIR/local/CVS" if test "$RUNTIME_OUTPUT" = "files" then @@ -1272,13 +1286,18 @@ echo "Setting permissions for program files..." chown -R $USER $BASE_DIR chgrp -R $GROUP $BASE_DIR -chmod -R $PERMISSIONS $BASE_DIR +# does this mark all files executable, even .c? +chmod -R $BASE_PERM $BASE_DIR chmod -R u+x $BASE_DIR/bin echo "Setting permissions for data and log files..." chmod -R $DATA_PERM $BASE_DIR/data $BASE_DIR/log +echo "Setting $GROUP group on configuration files..." + +chgrp -R $GROUP $CONFIG_DIR + # and now we'll see if perl is installed :) bin/psyconf psyced.ini diff --git a/place/aljazeera.c b/place/aljazeera.c index cd34292..71eec51 100644 --- a/place/aljazeera.c +++ b/place/aljazeera.c @@ -4,7 +4,7 @@ #define SILENCE #ifdef BRAIN -# define NEWSFEED_RSS "http://english.aljazeera.net/NR/exeres/4D6139CD-6BB5-438A-8F33-96A7F25F40AF.htm?ArticleGuid=55ABE840-AC30-41D2-BDC9-06BBE2A36665" +# define NEWSFEED_RSS "http://english.aljazeera.net/Services/Rss/?PostingId=2007731105943979989" #else # define CONNECT_DEFAULT #endif diff --git a/place/freenode.c b/place/freenode.c index fbd35b5..7f32f95 100644 --- a/place/freenode.c +++ b/place/freenode.c @@ -1,5 +1,5 @@ #include -#define NAME "freeNode" +#define NAME "freenode" // // «freenode:TomSawyer» TomSawyer sagt Dir: you're able to talk to me, not because I'm an admin, but because I have /msg nickserv set unfiltered on @@ -12,7 +12,8 @@ #ifdef BRAIN # echo BRAIN: connecting to freenode IRC server -# define CONNECT_IRC "irc." NAME ".net" +//# define CONNECT_IRC "irc." NAME ".net" +# define CONNECT_IRC "calvino.freenode.net" //# define CHAT_CHANNEL "esp" //# define CHAT_CHANNEL "23c3" # define PASS_IRC IRCGATE_FREENODE diff --git a/place/irc.c b/place/irc.c index 24d14fa..c36bda4 100644 --- a/place/irc.c +++ b/place/irc.c @@ -9,7 +9,7 @@ // //#define CONNECT_IRC "irc.freenet.de" // an ircnet server //#define CONNECT_IRC "us.ircnet.org" -#define CONNECT_IRC "irc1.us.ircnet.net" +#define CONNECT_IRC "irc.fu-berlin.de" // // other example configuration // @@ -25,6 +25,7 @@ //#define ON_CONNECT call_out("emit", 9, "JOIN :#" CHAT_CHANNEL "\n"); #include +#echo IRCnet Gateway loaded. Connecting to IRCnet IRC. // See also http://about.psyc.eu/gateway // diff --git a/place/rendezvous.c b/place/rendezvous.c index e5ba534..cf8b14d 100644 --- a/place/rendezvous.c +++ b/place/rendezvous.c @@ -18,7 +18,7 @@ //# define LOCAL // if you don't want to allow remote users here // but this one can't harm ;) -# define PLACE_MASQUERADING +# define PLACE_MASQUERADE #endif #include // now generate the place according to the rules diff --git a/place/spiegel-en.c b/place/spiegel-en.c index cb51edf..bd56a14 100644 --- a/place/spiegel-en.c +++ b/place/spiegel-en.c @@ -1,3 +1,4 @@ +#if 0 #include #define SILENCE #define NAME "Spiegel-EN" @@ -5,13 +6,11 @@ #define DESCRIPTION "Europe's Largest News Magazine in English Edition" #ifdef BRAIN -# define NEWSFEED_RSS "http://www.spiegel.de/schlagzeilen/rss/0,5291,676,00.xml" +# define NEWSFEED_RSS "http://www.spiegel.de/international/index.rss" # define RESET_INTERVAL 10 // they suggest 5 minutes #else # define CONNECT_DEFAULT #endif +#endif -/* - * http://www.spiegel.de/dertag/0,1518,271804,00.html - */ #include diff --git a/place/spiegel.c b/place/spiegel.c index ec6ad52..81a41ae 100644 --- a/place/spiegel.c +++ b/place/spiegel.c @@ -1,15 +1,14 @@ +#if 0 #include #define SILENCE #define NAME "Spiegel" #ifdef BRAIN -# define NEWSFEED_RSS "http://www.spiegel.de/schlagzeilen/rss/0,5291,,00.xml" +# define NEWSFEED_RSS "http://www.spiegel.de/schlagzeilen/index.rss" # define RESET_INTERVAL 5 // they suggest 5 minutes #else # define CONNECT_DEFAULT #endif +#endif -/* - * http://www.spiegel.de/dertag/0,1518,271804,00.html - */ #include diff --git a/place/test.c b/place/test.c index d5a0f0c..48a2db1 100644 --- a/place/test.c +++ b/place/test.c @@ -1,4 +1,4 @@ -// $Id: test.c,v 1.34 2008/01/26 12:02:07 lynx Exp $ // vim:syntax=lpc +// $Id: test.c,v 1.35 2008/08/03 14:22:43 lynx Exp $ // vim:syntax=lpc // // room to test some library functions etc // originally started by heldensaga @@ -27,8 +27,8 @@ #ifdef HTMORE inherit NET_PATH "outputb"; // order is relevant. outputb needs to be inherited BEFORE textc! -#include #endif +#include #include diff --git a/place/tuxedo.c b/place/tuxedo.c index 8782a19..d0f86fb 100644 --- a/place/tuxedo.c +++ b/place/tuxedo.c @@ -6,15 +6,15 @@ #define PLACE_HISTORY #define HISTORY_GLIMPSE 7 -#ifdef BETA +#ifdef SYMLYNX # define PLACE_OWNED ADMINISTRATORS //# define MASTER # echo tuXedo is a masterplace. //# define ALLOW_EXTERNAL_FROM "psyc://andrack.tobij.de" #else # define JUNCTION -# define CONNECT "psyc://beta.ve.symlynX.com/@" NAME -# echo tuXedo is a junction for beta.ve.symlynX.com. +# define CONNECT "psyc://ve.symlynX.com/@" NAME +# echo tuXedo is a junction for ve.symlynX.com. #endif #include diff --git a/utility/multipatcher b/utility/multipatcher index 7f0dbf6..7fcdcaf 100644 --- a/utility/multipatcher +++ b/utility/multipatcher @@ -15,7 +15,7 @@ usage: $0 [ []] by default is to transform anonymous access to the psyced repository into your personal login access. in detail: - $op + "s#^:pserver:anonymous\\\@cvs\\\.psyced\\\.org:/CVS/anonCVS#:pserver:$ENV{USER}\\\@cvs\\\.psyced\\\.org:/CVS/muveCVS#m" without the directory tree starting from the current directory is recursively checked. diff --git a/world/default/de/html.textdb b/world/default/de/html.textdb index 0259d92..7d43f23 100644 --- a/world/default/de/html.textdb +++ b/world/default/de/html.textdb @@ -1,4 +1,5 @@ ## vim:syntax=html +## Check utf-8: Praise Atatürk! _PAGES_help_survival |
Erste Schritte für die Ungeduldigen
diff --git a/world/default/de/plain.textdb b/world/default/de/plain.textdb index 41d6c98..dc699c6 100644 --- a/world/default/de/plain.textdb +++ b/world/default/de/plain.textdb @@ -1,4 +1,5 @@ ## vim:syntax=mail +## Check utf-8: Praise Atatürk! _message |[_nick] sendet Dir: [_data] @@ -108,6 +109,9 @@ _TEXT_time_age _TEXT_time_alive |Zuletzt aktiv +_TEXT_address_zone_time +|Zeitzone + _TEXT_contact_telephone |Telefon @@ -195,6 +199,12 @@ _TEXT_action_asks _TEXT_action_does |tut +_TEXT_button_home +|START + +_TEXT_button_call +|ANRUFEN + _TEXT_button_friend_new |ANFREUNDEN @@ -438,6 +448,9 @@ _info_set_none _info_talk |## no output +_info_mail_subject +|Nachrichten an [_target] + _info_mail_signature |Antwort per E-Mail ist nicht möglich. Bitte Einloggen: |[_URL_login] @@ -533,6 +546,30 @@ _request_open_page_edit |Zur Bearbeitung der Einstellungen bitte folgende Seite aufrufen: |[_page_edit] +_request_call_link +|Anruf von [_nick]: Annehmen durch Klick auf [_page_call]. + +_echo_call +|[_nick_target] wird angerufen. + +_warning_usage_call +|Syntax: /call + +_notice_answer_call +|Der Anruf wurde angenommen. + +_notice_answer_call_link +|Der Anruf wurde angenommen. [_page_call] um das Gespräch zu beginnen. + +_notice_answer_call_click +|Der Anruf wurde angeclickt. + +_notice_reject_call_click +|Der Anruf wurde abgewiesen. + +_notice_reject_call +|Der Anruf wurde abgewiesen. + _notice_requested_status_person |[_source] erkundigt sich nach Deiner Anwesenheit. @@ -540,7 +577,7 @@ _notice_authentication |Ja klar, das bin dann wohl ich! _notice_processing_authentication -|Momenterl, ich muss mal nachfragen.. +|Bestätigung der Identität von [_source] verzögert. _echo_place_nick_removed |Du legst den Namen [_nick_local] wieder ab. @@ -706,10 +743,8 @@ _error_necessary_registration_other |geschützt sein. Hierzu kann [_other] den "/reg" Befehl verwenden. _error_invalid_password -|## Das war leider das flasche Passwort für [_nick]. -|Das Passwort passt nicht zu [_nick]. -|Passage nicht möglich. -|So kann's passieren. +|Das war leider das flasche Passwort für [_nick]. +|## Das Passwort passt nicht zu [_nick]. _error_invalid_uniform |Diese Adresse ergibt mir keinen Sinn. @@ -803,6 +838,9 @@ _failure_unavailable_service_talk _failure_unavailable_service_talk_text |Gespräch mit [_nick_target] ist nicht möglich: [_text_XMPP] +_failure_invalid_route +|Ungültige Route nach [_target_relay] im [_context_relay] Context festgestellt. + _failure_unsupported_ping |[_nick] kann man nicht anpingen. @@ -841,6 +879,9 @@ _message_public _message_echo_private |Du sagst [_nick_target]: [_data] +_message_echo_private_annotate +|Anmerkung an [_nick_target]: [_data] + _message_echo_public |Du sagst: [_data] @@ -920,7 +961,7 @@ _request_attention_wake |Aufmerksamkeit ersucht durch [_nick]. WACH[_beep]AUF! _notice_login -|Willkommen im [_name_network] Netzwerk, [_nick]. ([_page_network]) +|Willkommen im [_name_network], [_source]. _notice_invitation |[_nick] lädt Dich nach [_nick_place] ein. @@ -1023,7 +1064,13 @@ _notice_place_topic_official |[_topic] _notice_place_topic_removed -|[_nick] entfernt [_nick_topic]'s Ankündigung: [_topic] +|[_nick] entfernt [_nick_topic]s Ankündigung: [_topic] + +_notice_examine_web_person +|[_nick] wurde auf [_web_on] betrachtet, von [_web_from] kommend. + +_notice_examine_web_place +|[_nick_place] wurde auf [_web_on] betrachtet, von [_web_from] kommend. _notice_place_examine_web |[_nick_place] wurde auf [_web_on] betrachtet, von [_web_from] kommend. @@ -1508,9 +1555,6 @@ _status_place_aides _status_place_members |In [_nick_place]: [_list_members_nicks]. -_status_place_topic -|Ankündigung von [_nick]: [_topic] - _status_place_masquerade |Verkleidungen erlaubt. Ausprobieren mit "/nick". @@ -1553,6 +1597,13 @@ _status_place_link_slave _status_place_aides_none |In diesem Raum gibt es keine Schergen. +_status_place_topic +|Ankündigung von [_nick]: [_topic] + +_status_place_topic_author +|## Only appears on IRC access +|Topic [_time_place] von [_nick] gesetzt. + _status_place_topic_none |Es wurde in [_nick_place] kein Topic gesetzt. diff --git a/world/default/en/html.textdb b/world/default/en/html.textdb index 78faccf..f0def59 100644 --- a/world/default/en/html.textdb +++ b/world/default/en/html.textdb @@ -1,9 +1,10 @@ ## vim:syntax=html ## as yet undocumented/unfinalized: detach attach offline online ## and /set identities +### Check utf-8: Praise Atatürk! _HTML_tail -| +| _HTML_head | |
-|## piccolo spazio pubblicità +|## piccolo spazio pubblicità | |
|{_echo_login_web} @@ -1330,6 +1339,15 @@ _PAGES_login _echo_login_web |You are being logged in. +_PAGES_start_description_anonymous +|{_MISC_server_software}: examine profile for [_nick] +| +|[_HTML_photo] +|[_FORM_start] + +_PAGES_end_description_anonymous +|[_FORM_end] + _PAGES_start_description |{_MISC_server_software}: examine profile on {_VAR_host} |