ELF>)@z@8 @&%@@@hh =%=%PPP**P}PPP }00DDPtdtttQtdRtdP}PP/lib64/ld-linux-x86-64.so.2GNUr+M,wFGNU::>?(wem|3)92$Yc  0 V, ~ >R%Fp)d2pCm`@"_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTableosmo_mslookup_client_add_mdnsosmo_mslookup_client_freeosmo_mdns_sock_sendosmo_mslookup_result_name_cosmo_mslookup_result_code_namesosmo_mslookup_client_requestosmo_mdns_sock_initosmo_mdns_result_encodeosmo_mslookup_client_newosmo_mslookup_query_init_from_domain_strosmo_mdns_sock_cleanuposmo_sock_unix_initosmo_fd_unregisterosmo_stderr_targetosmo_strlcpylog_set_print_extended_timestamposmo_sockaddr_str_is_nonzerolog_set_print_filename2get_value_stringosmo_panicosmo_select_main_ctxosmo_str_startswithlog_set_print_filename_pososmo_fd_is_registeredosmo_init_logging2log_finilog_set_print_levellog_set_print_categorylog_set_use_colorlog_set_print_category_hexosmo_sockaddr_str_from_strlog_target_destroyosmo_print_nosmo_fd_registertalloc_named_const_talloc_zero_talloc_free__errno_locationcloseacceptrecvfflushoptindputsstrtollstrtokstrlenstdoutoptargstderrgetopt_longfwritestrchrfprintf__cxa_finalizestrcmpstrerror__libc_start_mainsnprintflibosmo-mslookup.so.1libosmocore.so.22libtalloc.so.2libpthread.so.0libc.so.6LIBOSMOCORE_1.0TALLOC_2.0.2GLIBC_2.2.5/home/osmocom-build/jenkins/workspace/Osmocom-depcheck/DEPCHECK_WORKDIR/install/libC q#~U "d ui tui P`*X *ȑȑ RR  R@'R`/R9RLRTR^ReR jR@pR`uR*/ }RЏ؏ ;`:?@><= (08@HP X ` h pxȐАؐ !"#$% &('0(8)@*H+P,X-`.h/p0x123456789HHoHtH5o%o@%oh%oh%oh%oh%oh%oh%oh%ohp%oh`%oh P%oh @%oh 0%oh %zoh %roh%joh%boh%Zoh%Roh%Joh%Boh%:oh%2oh%*ohp%"oh`%ohP%oh@% oh0%oh %nh%nh%nh%nh %nh!%nh"%nh#%nh$%nh%%nh&%nh'p%nh(`%nh)P%nh*@%nh+0%nh, %znh-%rnh.%jnh/%bnh0%Znh1%Rnh2%Jnh3%Bnh4%jlfAUH-ATL%^OUH1S1H1Ll$HHoH=qH=qH=pH=pH=p1H=p!H=p1MH mHHK-D$wD0w IcL=p7AH=loH=oH5MHD[]A\A]Ho1HL$ T|$ oP=ouHoH=oH551pHoH[oio9oH5|oH=nuH=nP=+oHDoH=]o1AH5!,y_H=5E1HoHnuqni'E1Hn1HL$ 7|$ xn3=npHnH=nH541OZnHL$ Hfn|$ f n="n H;nH=TnH5=41vmHnHmH n(H= K=mRm99m'=mH5lmHDH=*OlH=vlHlHH2 mL mH5lH H=lHt Hcl)H|H-RlHcHl1t;u=ktH9-'luE1=l=l,H lH=+JA`uH=Ol=TlHcMl)Ht_ A$=k=lH=V+1=kH 8lH=4)2H=lAH l5H=$IVH5kH=(wt>kZH=\k H=2AJB=Hk/H)kH=zk1AH5d(1I^HHPTLH 3H=.fDH=jHjH9tHfHt H=jH5jH)HH?HHHtHeHtfD=ju/UH=eHt H=g=hj]{f.1ff.fAWAVIHH%AUATAUHSHHHLE1LxtHL9wmHIL,I)MA6H=vbH$%LLH1:ZHL9OMtZMdLL,+MtE1MuHMLELEM1H$HLVE1HMLELEA~pLLHi$H f$HDHm$1HL9w}MtI{E1HMLELEANl1H3$LLGHAL9MIăI~fDIItLIH)I)H۸LD|IILIH)I)H۸LDAL$+t|Mt`LH)H)H۸HDHO#HLH1[]A\A]A^A_`HIDIDIpDLcgH۸IHDfDI~MLIH)I)H۸LDLH"L1I~8HL9MZI"LH)H)H۸HDEFjHINH۸IHD?@I~7tCE1HMLELEMtXLH)H)H۸HDHf!f.E1HMLELE|f.kH۸IHDfAWAVAUIHH!ATAUHSHHHLE1LxtHL9wmHIL$I)MAuH=]@H LLH1aHL9VMIQDL$+MtE1MuHMLELEMwE11HR LLHx HL9AL$+MLH)H)H۸HDHHL[Hl ]1A\A]A^A_DE1HMLELEA}pLLHH HDH1HL9Mt I@E1HMLELEAMl1HLLgxsHAUL9wlM/IăI}Mu8uqLoDIItLIH)I)H۸LDtAUL$+I}Mu8BMLIH)I)H۸LDEE61IMLHLHL9M)LI,IITLIH)I)H۸LDHH۸IHD@MtIHMLELEMvfL$+L4M|LIH)I)H۸LDEEj1IMT$ D$t2=TH=TLH5d1A<$=LHHv$=GTw1HHH]A\A]A^ÐH=ISHXIHLhHLM$LLta=SLH1JLH5@HH]A\A]A^=SL1HH]A\A]A^DH=RHT$L This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. --send needs a query string like foo.123456.imsi Invalid query string '%s', need a query string like foo.123456.imsi Sending mDNS to %s%s%s:%u: %s unable to encode mDNS response /home/osmocom-build/jenkins/workspace/Osmocom-depcheck/DEPCHECK_WORKDIR/git/osmo-hlr/src/mslookup/osmo-mslookup-client.c:330Could not create unix socket: %s: %s Could not register listen fd: %d /home/osmocom-build/jenkins/workspace/Osmocom-depcheck/DEPCHECK_WORKDIR/git/osmo-hlr/src/mslookup/osmo-mslookup-client.c:427/home/osmocom-build/jenkins/workspace/Osmocom-depcheck/DEPCHECK_WORKDIR/git/osmo-hlr/src/mslookup/osmo-mslookup-client.c:630ERROR: timeouts part too long in query string ERROR: invalid min-delay number: %s ERROR: invalid timeout number: %s ERROR: query string is too long: '%s' ERROR: cannot parse query string: '%s' /home/osmocom-build/jenkins/workspace/Osmocom-depcheck/DEPCHECK_WORKDIR/git/osmo-hlr/src/mslookup/osmo-mslookup-client.c:699ERROR: cannot send query: '%s' /home/osmocom-build/jenkins/workspace/Osmocom-depcheck/DEPCHECK_WORKDIR/git/osmo-hlr/src/mslookup/osmo-mslookup-client.c:707ERROR: failed to read line from socket ERROR: Only one query per client connect is allowed; received '%s' and '%s' on the same connection Invalid cmdline_opts.mdns_addr.port: %s Invalid cmdline_opts.min_delay: %s Invalid cmdline_opts.timeout: %s Standalone mslookup client for Distributed GSM Receiving mslookup results means listening for responses on a socket. Often, integration (e.g. FreeSwitch dialplan.py) makes it hard to select() on a socket to read responses, because that interferes with the main program (e.g. FreeSwitch's dialplan.py seems to be integrated with an own select() main loop that interferes with osmo_select_main(), or an smpp.py uses smpplib.client.listen() as main loop, etc.). This program provides a trivial solution, by outsourcing the mslookup main loop to a separate process. Communication is done via cmdline arg and stdout pipe or a (blocking) unix domain socket, results are returned in CSV or JSON format. This can be done one-shot, i.e. exit as soon as the response has been determined, or in daemon form, i.e. continuously listen for requests and return responses. About running a local daemon: it is unintuitive to connect to a socket to solve a problem of reading from a socket -- it seems like just more of the same problem. The reasons why the daemon is in fact useful are: - The osmo-mslookup-client daemon will return only those results matching requests issued on that socket connection. - A program can simply blockingly recv() from the osmo-mslookup-client socket instead of needing to run osmo_select_main() so that libosmo-mslookup is able to asynchronously receive responses from remote servers. - Only one long-lived multicast socket needs to be opened instead of a new socket for each request. Output is in CSV or json, see --format. The default is tab-separated CSV with these columns: query result last age v4_ip v4_port v6_ip v6_port One-shot operation example: $ osmo-mslookup-client 1000-@sip.voice.12345.msisdn -f json {"query": "sip.voice.12345.msisdn", "result": "result", "last": true, "age": 5, "v4": ["1.2.3.7", "23"]} $ Daemon operation example: $ osmo-mslookup-client -s /tmp/mslookup -d (and a client program then connects to /tmp/mslookup, find an implementation example below) Integrating with calling programs can be done by: - call osmo-mslookup-client with the query string as argument. It will open a multicast DNS socket, send out a query and wait for the matching response. It will print the result on stdout and exit. This method launches a new process for every mslookup query, and creates a short-lived multicast listener for each invocation. This is fine for low activity, but does not scale well. - invoke osmo-mslookup-client --socket /tmp/mslookup -d. Individual queries can be sent by connecting to that unix domain socket, blockingly reading the response when it arrives and disconnecting. This way only one process keeps one multicast listener open. Callers can connect to this socket without spawning processes. This is recommended for scale. Python example clients for {CSV,JSON}x{cmdline,socket} can be found here: http://git.osmocom.org/osmo-hlr/tree/contrib/dgsm/osmo-mslookup-pipe.py http://git.osmocom.org/osmo-hlr/tree/contrib/dgsm/osmo-mslookup-socket.py Options: [[delay-][timeout]@]service.number.id A service query string with optional individual timeout. The same format is also used on a daemon socket, if any. The timeout consists of the min-delay and the timeout numbers, corresponding to the --min-delay and --timeout options, in milliseconds. These options apply if a query string lacks own numbers. Examples: gsup.hlr.1234567.imsi Use cmdline timeout settings 5000@gsup.hlr.1234567.imsi Return N results for 5 seconds 1000-5000@sip.voice.123.msisdn Same, but silent for first second 10000-@smpp.sms.567.msisdn Return 1 result after 10 seconds --format -f csv (default) Format result lines in CSV format. --no-csv-headers -H If the format is 'csv', by default, the first output line prints the CSV headers used for CSV output format. This option disables these CSV headers. --format -f json Format result lines in json instead of semicolon separated, like: {"query": "sip.voice.12345.msisdn", "result": "ok", "v4": ["10.9.8.7", "5060"]} --daemon -d Keep running after a request has been serviced --mdns-ip -m 239.192.23.42 -m ff08::23:42 --mdns-port -M 4266 Set multicast IP address / port to send mDNS requests and listen for mDNS reponses --mdns-domain-suffix -D mdns.osmocom.org Append this suffix to each mDNS query's domain to avoid colliding with the top-level domains administrated by IANA. --min-delay -t 1000 (in milliseconds) Set minimum delay to wait before returning any results. When this timeout has elapsed, the best current result is returned, if any is available. Responses arriving after the min-delay has elapsed which have a younger age than previous results are returned immediately. Note: When a response with age of zero comes in, the result is returned immediately and the request is discarded: non-daemon mode exits, daemon mode ignores later results. --timeout -T 1000 (in milliseconds) Set timeout after which to stop listening for responses. If this is smaller than -t, the value from -t will be used for -T as well. Note: When a response with age of zero comes in, the result is returned immediately and the request is discarded: non-daemon mode exits, daemon mode ignores later results. --socket -s /path/to/unix-domain-socket Listen to requests from and write responses to a UNIX domain socket. --send -S Do not query, but send an mslookup result. This is useful only for testing. Examples: --send foo.123.msisdn 300 23.42.17.11 1234 --send foo.123.msisdn 300 2323:4242:1717:1111::42 1234 --send foo.123.msisdn 300 23.42.17.11 1234 2323:4242:1717:1111::42 1234 --quiet -q Do not print errors to stderr, do not log to stderr. --help -h This helpError in command line options. Exiting. --send option cannot have any listening related args.In daemon mode, --timeout must not be zero. /home/osmocom-build/jenkins/workspace/Osmocom-depcheck/DEPCHECK_WORKDIR/git/osmo-hlr/src/mslookup/osmo-mslookup-client.c:892zzzzzzzDzzzzz8zԲzzzzzzzzzzzzzȲzzzzzz6zzz*zısocket_acceptsocket_client_respond_resultdo_send; xHtxh`xt8(\(t XXHX$Xl8h0D(zRx +zRx $`FJ w?;*3$"D(\dp~BBO B(G0D8G@( 8C0A(B BBBE  8H0D(D IBBO H6BBB O(G0D8G@ 8G0H(D BBBJ 0$BAA D  DABD X)D`@pBBE D(D0G@Z 0A(A BBBF LBBB B(A0A8G 8A0A(B BBBE ,Dc4eBGD j ABF MHK4TBMK E EBJ X EBA HBBH A(D0 (A ABBI e(A ABBD42BOP J(K0A8D@8A0A(B BBB0 ,AHD z AAG mAATh3p|aBGB A(Gp (A BBBB y (A BBBH [ (A BBBF J (A BBBG 8BIB A(J (D BBBE ,0,@<1GDD \ABB8p BIH F(H@  (D ABBA D]BIE E(D0H8G@j8A0A(B BBB(`* *-CUdt 4EPXo` H  `0 oooo\o6 F V f v !!&!6!F!V!f!v!!!!!!!!!""&"6"F"V"f"v"""""""""##&#6#F#V#f#v#ȑ RfRH Rd'Rm/RM9RDLRTTRt^RseRSjRqpRhuRV*/239.192.23.42}RGCC: (Debian 10.2.1-6) 10.2.1 20210110<p*Q#UCf  P5 yyyh   K7&j(int*y   y V1 3 6  7  8  g9 }: ( 4; 0 < 8 p = @ @ H A P B X D` Fh Hp It J x M N O Q Y y[ x\ ] 6 ^  _ ) ` JbX  + 5 v u5q c  2 $ 2 C 2 . 4   7 + 8val 9   n  t 5k,{ ->90z 25XE 8 `:y`P<y`>y`S@y` By`Dy` Gdhp S iW\} 9o .f y0k :0k >>  E    X y A w! y!$ VyW; Kd^* y}`y&xJoutL M H O C RySBTWvtyX [5rb\ _j`oa b  jerawf !I P&U Y]c53gu5q  y M  y   M< 0 !>fd# t&ycb) % + -y(!  yY-y u  W "#S b H  "  H X 5  4. af0ip2  .4 2 5- 3 '4 +str5    buflen )pos  )  y"4 = ; ? $ 4 %.f &/f &0f v 5 ,, - D y7 _  ?"? `D G idIv D LX  5@ tP_ rcR! UX  XX 8agec +l jfp  p v  +    _  ' 2 ? + < O + Ud k 05[ 7S8]9?: ; V <[ = v>a (  %% 'dst& 'trx'  O P  >g  P)U l1h+[ l2h,[ (l3h-[ 0l4h.[ 8cb0a @ 2 hlen3 j 5[ p q6[ x % 7[ $ 8q LP 5q 5 (5 8 Yaia 0T y })`S D sX   +8 ; +< D @ i H  P * X 2Y JZ* @z+5,i pNctxO^ PyQY R @oS>H T>X[ U h- V [!'A )  Q5. A / @{ >ofdYAi@ C{ D>AF G 3H +50#,1 12rciU3x$42cB>5val6 -c H-, 7D&[-8_rcL9_& 8:U1:T :RL;&@:T Z7$S8_rcL9$ 8x:U0:T :RL;%@:T [7%W8_rcL9% 8:U0:T :RL;3&@:T ([<8%,?=%8;%@:U P[9`$@}:Us:Tv:Q Q:R :X}9P%@:U D9`%@:U D9%@:T Q=%8;&A:U q:T1:Q(>9''s C?9zx<8/) D=4)8;F)@:U P[9#A:U0:T0:Q Q9#A:T09#*A:T29#7A:T19#DA :T19$QA#:T19$^A::T09/$kAQ:T19=$xAh:T0=$A=$W!=$A9$A:T xr91'A:U Q=O'A9'A:T H:R ='!='<9'A0:U09((AZ:U Hr:T1:Q,9a(2r:Us9(u':U S9(A:U Q:T1:QL=(A9(A:U r:T1:Q59 )A:U Q;z)@:T Q=<5 @3D11911) 2iqk=D@;z@?a1Az" 2q|xhA} A+2at~,"8h& 4 8rc-f A A; 7?qQ- f @>#@#@ ?.,9?A:U@:T@:Q:Rv#P9? 8/:U0:T :Q@:R;#@@:T X:Q@>AA ?SQ;A:U}:T0> B B ?xv9?A:U:T@:Qv:Rv }"9?A!:U:T-9A 8N:U0:T :Q|:R9A@s:T X:Q|; BA:U PX:T1:Q.>Y@Y@ ?;c@:Uv:T0>@@ 6?;@:Uv:T0>9DADA"?9?9*(B:KAKA^?):QM?:?:>ABAB ?;KB:Uv:T09p?A.:Uv:T@9F@BF:Uv9@ Bk:T:Q lQ9@B:U}:Tv:Q9@&B:U~:T}9@A:U|:T  Y94A2B:T~:Q9A@:T X:Qv90B@;:T X:Qv9ZBA`:U|:T Y9vB@:T Y:Qv;B>B:U P:T yQ:Q R:R @ k`>\1 k6   1+l +V R 1 m& 1# n' 2qpQ K <\`> p?n C D{ E D F>D= ; <9>P u"?9b ` G9> ?9 ?9 9>@:Uv:TsH>A:T WIaJ+a(+5qcK6O dL6O dfM\JA\ @ K =2Q!1AK!  NrKO > 6 2cMQ! 2nMQ!  7=cAO Q| z 7=AO Q 4 AO Q >u'f=f=(O ?' 9=@ :T /Q:Q==JB>N'==IU ?\'0,Dg'nf<9>P  ?9G9> ?9?99=VB :Uv==bB;&>A:T PWOf=!:U:T :Q|:R}9=oB6!:U|:Tv;=W&:Uv:ThM7!5c9Q!5n9Q!K!6O :K!6O :L6O :0 `;"1  M?2ofd"2rc#SI9;{B9":U5:T0:Q}:R29;BX":U Г=;bB9<@":T (W:Q|=$<B=+<B;F<@:T W:Q}0 @3%Nofd#15y2cQ!H<- ~8len ~2rcP% s74P$2len )EC2rcnj94B#:T S:Q1;F4@:T T:Q s:X1<93 u$?9?9G:3 ^?):&"?:c]?:9b3B$:T~:Q~93 B$:T @:Q P93B$:Uv9q4>B%:U P:T P:Q R:R 94A=%:U R:T1:Q"=4bB94Ao%:Uv:T `S;4A:U 8S:T1:Q%%5 %Q  %Rofd&J8y5rcQ  W&Rofd+5cQ!5rc6i606A5atS@ :e9'Nc9Q!1FH dZ2len )2rcA=PI' s9;B&:Uv9;B':Tv:QsHU;@:T T:Q sI'5 9'T u'Rc7Q!5ofdMe'Rstr% @7z/6-Nbufzw1z')1Az; xrNrzi 2sb| 4(A})vA1}$$<[9/P}r(?m9% %;8/B:Us:T|:Q 0P:RQ4%)A)8%6%A1]%[%<[9X2(?m9%%;/B:U|:T~:Q ?P4@)A)%%A1%%<=9`/)?N9 &&=p/B<[9/)?m9F&D&;/B:U|:T~:Q SP4c*A)r&n&A1&&<[9P0P;*?m9&&;0B:U|:T~:Q dP4 *A)''A1}'u'<[90 *?m9'';0B:U|:T~:Q qP40 q+A)!((A1Y(W(<[91 C+?m9(|(;1B:U|:T:Q }P:R}4+A)((A1((<[92+?m9) );2B:U|:T~:Q P:R}<4 k,A)R)N)61<[90p O,?m9))HK0B:Q P9 1@,:U}91@,:U~9n1@,:U}91@,:U~9|2@,:U~92@,:U};3@:U~@K]*~2Nbuf]))1]&)**1A]: z,t,Nr]h ,,2sb_ -q-4 .A`)6@6A1`==<[9*`-?m9==;*B:Us:T|:Q P:RQ4q.Ac)>>61cU[9, c?m9;>9>4+/Ae)i>c>A1e>><=9*e.?N9>>=*B<[9A+e/?m9>>;+B:U}:T:Q P4@/Af)/?'?A1f??<[9x+f/?m9??;+B:U|:T:Q P430Ag)@?A1g@@<[9+ g 0?m9@@;+B:U|:T}:Q !P40Ak),A*AA1kQAOA<[9.@k0?m9xAtA;6.B:U|:T}:Q P:R~4A1Am)AAA1mAA<[9:- m1?m9BB;f-B:U|:T}:Q P4P1Ao)JBFB61o<[9-o1?m9BBH-B:Q P:RR#<4p 2Aq)BB61qU[9.q?m9BB4Pm2At)/C-C61t<[9,t_2?m9VCRCV,B9-,@2:U~9)-@2:U~=-@=K.@9y.@2:U~=.@W57X CCXCCYA >D:DY DtD* 7}8q }8r ~2i EE8rc|2ctxEEP7 tA^ 7FF3Ig82msg;7}FyF3Q G_84 5-Y X }A. FF9(7 84:U1:T :Q|P|0.(:Rs9H7@4:U|:T}9s:@4:T  Q:Q|P|0.(;:@:T Q:Q}96A)5:U0:T0:Q t96&BH5:U}:T|96 8u5:U0:T :Q}:R|97B5:U~:Tv:Q97B5:U @V:Q H98B6:U~:T H:R p*:X0:Y09;8C*6:U~:T0:Qv:R9O8CB6:U|9g8CZ6:U|9v8A6:U~:T V98A6:U U:T1:Q1909@6:T U:Q|9j9A6:U P:T1:QD99A 7:U P:T1:Q<99AI7:U 3Q:T1:QK9 :Ar7:U `V:T1:QO;::A:U OQ:T1:QL 75575 7  Wp* 8Zfd&U[7yTW058X'FFX=\GTG\argQ GG\rc[*H"H]valHH*H=]5B;x5'C:U}:TH:Q:^Y8 _>+ 5)=995B!9:U @T:T PH)5@:U hT`@ [9aval@Y Q)z9RsbDz9 `9b8c9b{ 1kct9b:t4kbytNkc\:b6 \1kb\JkcK6:b6 K3kb:LkbyMkcN:ax)du':,:?'HH9:@::T /Q:QUV:JBdW!P<<De! IIDp!IyIE{!P :D!IIe!h<!;D!JJW!<<!7u<fe!fp!9<VBg<:U Г==bB;<3C:U Гd><?cK_KH>:UU:T0d\?3N=gnUD{KKe?*=DKKF?DLLd%B-@D&CL=LD&LLh&wD'&MMD4&M~MDA&MMiM&C?% NNj%?\'3N1NCDg'\NVN<9C0f>?9NNG9Cp?9NN?9NN9CVB~>:Uv=CbB;DA:Uv:T PW9B?C>:Tw:Q :R09CKC>:Uw:T {Q9CA?:U|:T@OaCE?:U :T :Q~:R}9pCW&j?:Uv:T 9CB?:Uv:T~:Q 9C?:U|9CB?:U ~Q:T|=CB94D@@:T hZ:Qv:R~;_DA:U @Z:T1:Q'd%pD@?%OO?%YOUOD%OOk%DD  ?%OO?%OOf%HDN=l%Um&& F nxo B oNoKnmobbmaamTTmm mmmyyoN N `mH H o~~m]o" " ^o %o0 0 Km77oomOOm]]aooio X o o$$ o Hm a o{{ ot t o| | Go % mm no$ $ ! m b o8 oKKrm'' L o  o""o## o!o33#oFo  !mPPP% U: ; 9 I$ >  : ;  : ; I8  $ >  I &I  : ; 9  : ; 9 I8 : ; 9 <I!I/ 4: ; 9 I?<: ;9 I : ; 9 I8 & : ;9  : ;9 I8  : ;9 I 8  I8 > I: ; 9 ( > I: ;9  : ;9  : ;9 I8  : ;9  : ;9 I' I!'I"(#($!% : ; 9 & : ; 9 I' : ; 9 I(!I7 ) : ; 9 *4: ; 9 I+!I/,4: ; 9 I?-4: ;9 I.4: ;9 I?/ : ;9 0.?: ;9 'I@B1: ;9 IB24: ;9 IB3 : ;9 4 U54: ;9 I64: ;9 I7 84: ;9 I91:B;1<1RBUX YW =1>1RBX YW ?1B@.?: ;9 '@BA4: ;9 IBB1RBX Y W C UD41BE 1UF 1G1RBUX Y W HB1I.?: ;9 'I J: ;9 IK L M.?: ;9 ' N: ;9 IBOP4I4Q.: ;9 'I R: ;9 IS : ;9 T.: ;9 ' U1RBUX YW VB1W.?: ; 9 'I@BX: ; 9 IBY4: ; 9 IBZ: ; 9 I[: ; 9 I\: ; 9 IB]4: ; 9 IB^.: ; 9 ' _.: ; 9 '@B`.: ; 9 'I a: ; 9 Ib: ; 9 Ic.: ; 9 ' d.1@Be 1f41g1h41i 1j1k1RBX YW l1Bm.?<n: ;9 n.?<n: ; o.?<n: ; 9   /home/osmocom-build/jenkins/workspace/Osmocom-depcheck/DEPCHECK_WORKDIR/git/osmo-hlr/src/mslookup/home/osmocom-build/jenkins/workspace/Osmocom-depcheck/DEPCHECK_WORKDIR/install/include/osmocom/core/home/osmocom-build/jenkins/workspace/Osmocom-depcheck/DEPCHECK_WORKDIR/git/osmo-hlr/include/osmocom/mslookup/usr/lib/gcc/x86_64-linux-gnu/10/include/usr/include/x86_64-linux-gnu/bits/usr/include/x86_64-linux-gnu/bits/types/usr/include/usr/include/x86_64-linux-gnu/sysosmo-mslookup-client.cutils.hmslookup.hlinuxlist.hstddef.htypes.hstruct_FILE.hFILE.hstdio.hunistd.hgetopt_core.hgetopt_ext.hsockaddr.hun.hlogging.happlication.hstdint-uintn.hselect.hsocket_type.hsocket.hsockaddr_str.hmslookup_client.hnetdb.hmsgb.hmdns_sock.htalloc.hmslookup_client_mdns.hstring.hpanic.hsocket.herrno.hsocket.hmdns.hstdlib.h p*=vYkJ) uef X ?cY u T|KK|xJwYgZYg=Yt/,XZYhX .. xJ=W WV ;> 0~\=Yi IuJ( X%s5J:M  f= B  3Xt !@b v +lka#) Xq**J=tuIY;Y Y= Z <Y .eu-X `; 28 @T 2p N Xg v q vX= O=. w ue.1LrhtJ~X ~LY} 9v}r }<K < gt ?t-{<-{Y / .vX&NzYL>X<><<X Y><>< CyJY=IKKth<"gXlZK X.JIw <{mt K K tY tX.]$"<K'bJctJ ~  . wt w tle s.Kg t Z:g ] Y;!X J fY} 9v}r }tK < Yt,x<4 vtVIK"WZ... #0r,>,LZr<vYdXZ<2fYY/<#f^]u 0X KB>f zYtz<XXX]u#XY=mX#f^upX'fsXuX$X"usn t u= tYX'vYzQtfsJ$t.X#k"o"  .K6aX6 yYtzfXX~fage_strosmo_panicsize_tsa_familyLOG_FLT_BSC_SUBSCRlog_target_destroyquietprint_timestamplog_filename_postail_IO_codecvtLOG_FLT_GB_NSVCosmo_mslookup_resultlog_target_type_IO_save_endosmo_stderr_targetsock_pathgsmtap_instllist_emptyai_flags__func__SOCK_RAWosmo_mslookup_result_code_namestrtollstart_query_strosmo_mslookup_result_name_c_IO_write_baseai_next_talloc_free_lockLOG_CTX_L1_SAPILOG_TGT_TYPE_VTY_IO_save_baseminvalmdns_domain_suffixformatter_tai_canonname_chainendptrdata_lenpriv_cur_columndo_sendosmo_mdns_sock_send__uint8_tLOG_CTX_VLR_SUBSCRlog_set_print_filename_posqueries_LOG_CTX_COUNTSOCK_RDMraw_outputstrchrtimeoutshas_argFORMAT_JSONsocket_client_close_IO_markerprint_ext_timestampformatterslog_set_print_extended_timestampLOG_FILENAME_BASENAMEsd_journalprint_versiongsm_lchan_IO_FILEOSMO_MSLOOKUP_RC_NONE_IO_wide_dataLOG_CTX_GB_NSVCLOG_TGT_TYPE_STRRBLOG_FILENAME_PATHSOCK_SEQPACKETchars_neededunsigned char_freeres_listtgt_gsmtapwhatg_bufosmo_sockaddr_str_from_str_Boolvalue__socket_typeOSMO_MSLOOKUP_ID_MSISDNprint_filenameosmo_init_logging2SOCK_STREAM_IO_lock_t__uint16_tLOG_CTX_GB_BVCparse_intLOG_FLT_ALL__errno_locationprint_tidprogram_exit_IO_read_ptrtgt_rbfp_offset/home/osmocom-build/jenkins/workspace/Osmocom-depcheck/DEPCHECK_WORKDIR/git/osmo-hlr/src/mslookup/osmo-mslookup-client.cstrcmp__socklen_tosmo_mdns_result_encode__llist_addosmo_mdns_sockLOG_TGT_TYPE_GSMTAPosmo_strlcpy_markers__va_list_tagmaxvalcmdline_optsmslookup_result_cbosmo_strbufosmo_mslookup_idOSMO_MSLOOKUP_ID_NONESOCK_NONBLOCKlog_set_print_filename2log_set_use_colorhost_v4long_optionshost_v6hostnameoptindenabledLOG_FLT_VLR_SUBSCR__builtin_fwrite_flags2talloc_named_constlog_set_print_level_IO_read_baseLOG_FLT_GB_BVCquery_with_timeoutoption_unused2ai_familyai_socktypeformat_strsun_pathFORMAT_CSV_old_offsetargvquery_by_handlesnprintfrxbuf__uint32_tlong long intfnameosmo_mslookup_client_add_mdnsprefetchmsisdnlog_set_print_category_hexosmo_mdns_sock_init_IO_write_endfacilityformatter_csvprint_helpLOG_TGT_TYPE_STDERR__builtin_putsgp_offsetsocket_initrespond_errstrerrorosmo_fd_is_registeredai_addrlen_IO_buf_base_sb_remainbuflensocket_closequery_strs_lentgt_vty__pad5socket_acceptflagosmo_select_main_ctxloglevelosmo_mslookup_client_freeoverflow_arg_areafilter_datapriv_nrip_strs_modeLOG_CTX_GB_NSEOSMO_MSLOOKUP_ID_IMSIlog_set_print_categoryosmo_fd_unregisterosmo_mslookup_client_requestosmo_mslookup_clientrecvosmo_mslookup_client_newLOG_TGT_TYPE_SYSLOG__mptrai_addrrequests_handledlong doubleentrygetopt_longosmo_mslookup_id_typeSOCK_DGRAMsockaddr_unun_addrlong long unsigned intsun_familysa_family_tsocket_read_cbreg_save_areasocket_client_respond_resultlog_filename_typeresult_timeout_millisecondslog_ctx_indexGNU C11 10.2.1 20210110 -mtune=generic -march=x86-64 -g -O2 -std=gnu11 -fasynchronous-unwind-tables__off_tsocket_clienttgt_fileserviceosmo_mslookup_queryosmo_mslookup_query_handlingsa_datacsv_headers_freeres_bufosmo_wqueuemsgbresult_formatsockaddraddrinfoosmo_sock_unix_initLOG_CTX_BSC_SUBSCRosmo_fd_IO_backup_base_shortbufOSMO_MSLOOKUP_RC_NOT_FOUNDLOG_FLT_GB_NSEsocket_clientsargcsocket_cb__off64_tosmo_sockaddr_strlog_filter_indexmin_wait_millisecondslog_finiexit_cleanup_sockoption_index_IO_buf_endosmo_fd_registerosmo_mslookup_result_code_namesglobals/home/osmocom-build/jenkins/workspace/Osmocom-depcheck/DEPCHECK_WORKDIR/build/osmo-hlr/src/mslookupSOCK_CLOEXECfprintfportstart_query_strssocket_pathstrtokSOCK_PACKETstderrshort intwhenpriorityLOG_FILENAME_NONEget_value_stringident_vtable_offsetSOCK_DCCPcb_doing_nothingosmo_str_startswithexit_cleanuposmo_sockaddr_str_is_nonzeroosmo_mslookup_cb_ttgt_syslog_sb_lformatter_jsonresponsestrlen_LOG_FLT_COUNTrespond_str_stdoutLOG_FILENAME_POS_LINE_END_IO_read_endimsiosmo_mslookup_query_init_from_domain_strLOG_FILENAME_POS_HEADER_ENDosmo_print_nLOG_FLT_L1_SAPIgsm_bts_trx_filenoOSMO_MSLOOKUP_RC_RESULToptargfilter_mapdaemonshort unsigned intLOG_TGT_TYPE_SYSTEMDmdns_addr_IO_write_ptrllist_headdashmin_delay_osmo_strbuf_remainosmo_mslookup_result_codelog_categorysocket_ofd__llist_delosmo_mdns_sock_cleanuplog_targetcategoriesfflushrequest_handleprevai_protocolLOG_TGT_TYPE_FILE_talloc_zerolast##U#$S$$U$'S''U'U(SU(i(Ui()S##T#$V$$T$'V''T')V#$1$$\$$P$%1%%0%%1%%0%d(1d(i(Pi()1`$l$P&&P''VDDUDD\DDUDDUDDTDDVDDTDDTDD0DDSDD0@?o?Uo??V?@U@AVAAUABVBBU@@P@@\@@~~AmA\mArA BxB\xBBPBB\O?o?Uo?}?V}?>@]>@h@Vo@@V@A]AkAVrAA]AAVAB]BBVp??P?>@}@A}rAA}AB}??P?>@VrAAV(@>@\rAA\#@(@]AA] BB]Y@c@V@@VDAZA ZAfAPDAfA\KAZAPZAfA|KAZA ZAfAPKAfA\ABKBV`>>U>>U`>>T>>T`>>Q>>Q`>>R>>S>>R>>S>>R>>V>>V>>U`>>Tt>>V>>Vt>~>V~>> >>V>>V>>Q>>P =U=UU=e=Qe=K>\K>R>U =I=TI=e=Re=M>]M>R>T==V==S=!>V!>%>U&>I>V==S==P=)>S)>.>P==V==S==P)>.>Pf== =!>V!>%>U==v==U=!>v!>%>u>>V>>Q>>P`;v;Uv;~;Q~;;];;U;;];;U;K<]`;; Г;;U;K< Г;;P;;P;;\;<P< <\@3K3UK34U@3a3Ta34T33P33V3H4VH4e4Pe4q4V44Vb33P33S3q4Sq44P44S3H414-4P-4E4R33 33P33v33V33P33v33 33P33v33V::U:*;\*;+;U+;P;\P;U;U:;T;(;V(;+;T+;E;VE;U;T;;P;';S+;=;S=;T;X;N;PN;T;R/7/U7/40S40K0UK063S/3/T3/0V0K0TK0?2V?2D2TD263V//Q/7/R7/63Q/ /R //]/K0RK0)2])2U2RU2b2]b2f2^f2n2Rn263]//UT00/3/ UTU03/7/ UVU07/S/ SVS0S/S/ SV\0S/_/ SV\_//SV// SV\// SVS0// SV\0// SV\// SVS// SV\/ 0SV 00 SV\040ST\40@0UT\@0J0UTUJ0K0UTK0K0SVK0a0 SVSa00SV00 SV\00SV00 SVS00SV0#1 SV\#1#1SV#1.1SVsv".101 SV\01M1 SV\M1X1SVX11 SV\11SV11 SV\11SV11SVsv"11 SV\12 SV\2)2 SV0)2)2SV)2?2 SVS?2D2STSD2P2SVP2U2 SV\U2n2 SVSn2t2SVt22 SV\22SV22SV0022 SV02 3 SV0 3 3SV 33 SVS33SV363 SVS./S/\V// v0s0.(//vps0.(// v0s0.(//\// v0s0.(//v~s0.(// v0s0.(//vps0.(/0 v0s0.(0%0T0s0.(%040Tps0.(40J0TpU0.(J0K0T0U0.(K0S0 v0s0.(S0]0v|s0.(]0a0v~s0.(a00 v0s0.(00vps0.(00 v0s0.(00v|s0.(00v~s0.(00 v0s0.(00vps0.(0D1 v0s0.(D1M1vps0.(M11 v0s0.(11vps0.(11 v0s0.(11vps0.(12 v0s0.(22vps0.(282 v0s0.(82?2vps0.(?2D2Tps0.(D22 v0s0.(22vps0.(22 v0s0.(22vps0.(22 v0s0.(22\22v|s0.(2 3 v0s0.( 33v|s0.(33v~s0.(3#3 v0s0.(#3-3v|s0.(-313vs0.(1363 v0s0.(8/_/P22P/./(//^//PU2n2(_//^K0Y0^12^//P_/o/}//(a00^#161^00PK0a0(12(01^M1i1^2)2^22^0 1PM1T1P2)2P22P00(01M1(11_n2t2_11P11(363(22^22P22( 33()0<0V<0J0T0)0()2D2(**U*c+Sc+u+Uu+,S,,U,,S,,U,-S--U-.S**T*c+Vc+u+Tu+,V,,T,,V,,T,,V,-T--V--T--V--T-g.Vg.l.Tl..V..T..V..T**Q**R*.Q**R*,^,,R,-^--rD--R-.^**UT00** UTU0** UVU0** SVS0** SV]0** SV]*#+SV#+(+ SV\(+4+ SVS04+4+ SV]04+A+ SV]A+Q+ SVSQ+a+ SV]a+c+SVc+u+UTu+u+SVu++ SVS++SV++ SV\++SV++ SVS+,SV,:, SV\:,:,SV:,F,SVsv"F,H, SV\H,e, SV\e,e,SVe,n,SVsv"n,t, SV\t,, SV\,,SV,, SV\,,ST\,,UT,, SV],, SVS,,UVU,,UTU,, SV],- ST- - SV0 - -SV -- SVS--STS-R- SV\R--SV-- SV\--ST\--UT\--UTU--UT--SV00-- SV0-. SV\.F.SVF.X. SV\X.X.SVX.g. SVSg.l.STSl.}. SV0}.}.SV}.. SVS.. SV\..ST\..SV.. SVS.. SV0..SV.. SVS..STS*#+\#+(+ v0s0.((+u+\u+{+ v0s0.({++v|s0.(++vs0.(++ v0s0.(++vps0.(++ v0s0.(++v|s0.(++v}s0.(++ v0s0.(++vps0.(+\, v0s0.(\,e,vps0.(e,k,\k,, v0s0.(,,vps0.(,, v0s0.(,,T0s0.(,,Tps0.(,,T0U0.(,,TpU0.(,,T0U0.(,-\-- v0s0.(--vps0.(--Tps0.(-N- v0s0.(N-R-vps0.(R-a- v0s0.(a-e-vps0.(e-- v0s0.(--T0s0.(--Tps0.(--TpU0.(--T0U0.(--\-. v0s0.(..vps0.(.1. v0s0.(1.5.vps0.(5.`. v0s0.(`.g.vps0.(g.l.Tps0.(l.. v0s0.(..v|s0.(..v}s0.(.. v0s0.(..T0s0.(..Tps0.(.. v0s0.(..v|s0.(..v}s0.(.. v0s0.(..vps0.(..Tps0.(**P,-P--P**-c+u+V,,-*(+_u++_e,z,_+(+P**~A+Q+-+e,_,,_--_-._++Pu++-t,,-+:,],,]-@-]-.]l..]..]+,,P,,P- -Pl.x.P++-H,e,-.B.]6.B.P..-}..-R-r-]f-r-P:-R--..---V--T---X.l.-..V..-..-,,V,,- ---5n6Un6:U::U5k6Tk6:T::T56\::\56]&66]|88]88]99]::]67 |#4%77 |#4%#78 |#4%#89 |#4%?:: |#4%66P68^88P8:^8:8P:8|8\99P9?:\>8N8P9 :P(7G7P?:W:P05\5U\55V55U55V05\5T\55\55T55\05\5Q\55]55Q55]05\5R\55S55R55Sx55P::U::Q::Uh<<V<<U<<S<<V<=Vl<<S<<V<<S<=Sh<x<Vl<x<Sx<<V<<Ux<<v<<U<<v<<u<<V<<Q<<P<<S>>U>>U??P?2?P??P?3? ? ?PBBTBCVCdDVBBPBJC]rCC]CCPDdD]CCPCC\D9D\9D^DP^DdD\(CC^D9D^C;CPrCCPD(DPBdD%CDVCCvCCUCDvC DVCCQCCPpDDUDDUpDsDTsDDTpDuD0xDD0xDDTxDDUDDU**********0+4+--**********X+x+,,,-****a+c+,,,-*#+9+X+h,h,--****9+<+A+X+--#+0+x++@,@,h,,x++t,,+,,,@,h,,,--++H,h,,,,,,, - -,, - -1-f-j--B.F...:-R-..------------O.p.--X.p.-6.:.B.}....}..........// ////'/L/O/S///22////'/./L/O/S/V///0 0X2p2L/O/S/V///X2p2`////1122`/p/}//////22//P00(1(11 2P0a01 2/0H2X222 3 322 3 3 0)0-03040;0<0>0F0P002H20)002H20000(1P1T1X1 2 20001P1v1111p2t2 36311 363333333336789@::P<P<a<h<q<<<<<<<<<<<<<<==&>)>==>>>>>>>>`>`>a>h>m>t>t>>>>`>`>m>t>>>>>>>>>y?>@@AxAAABCCCDCCCCC DCCCC=$$$1%6%%%&%%%%/);)A)F)p*D#)H` \ `    ##4EPttPX`Џ !"p pD*@`7sB5)Pt[sfB|)) *X`*Pz-t@VXgPz  0E)+>*~" 14EB`q05 -:eJP<WPf`@ 9"Tq:,!D12UȑbD]@?a'BUm/6`>; =2-@5Hk`;b?3  3Gj}k@3  Q w  # p* osmo-mslookup-client.cglobalssocket_cbcmdline_opts__func__.1print_version__func__.3__func__.2socket_read_cb.isra.0long_options.0crtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.0__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entry__FRAME_END____GNU_EH_FRAME_HDR_GLOBAL_OFFSET_TABLE___init_array_end__init_array_start_DYNAMIC__libc_csu_finisnprintf@GLIBC_2.2.5osmo_mdns_sock_cleanuprespond_errclose@GLIBC_2.2.5osmo_mslookup_client_request_talloc_free@TALLOC_2.0.2formatter_csv__gmon_start__puts@GLIBC_2.2.5__libc_start_main@GLIBC_2.2.5recv@GLIBC_2.2.5get_value_string@LIBOSMOCORE_1.0formattersparse_intlog_set_print_category@LIBOSMOCORE_1.0osmo_mslookup_query_init_from_domain_str_ITM_deregisterTMCloneTable_talloc_zero@TALLOC_2.0.2socket_client_respond_resultsocket_close_IO_stdin_usedosmo_mslookup_result_code_namesstrlen@GLIBC_2.2.5optind@GLIBC_2.2.5osmo_mslookup_client_new_ITM_registerTMCloneTable__data_startlog_set_use_color@LIBOSMOCORE_1.0log_set_print_category_hex@LIBOSMOCORE_1.0__cxa_finalize@GLIBC_2.2.5osmo_strlcpy@LIBOSMOCORE_1.0osmo_mslookup_result_name_crespond_str_stdoutosmo_mdns_sock_sendlog_set_print_filename2@LIBOSMOCORE_1.0__TMC_END__strerror@GLIBC_2.2.5osmo_str_startswith@LIBOSMOCORE_1.0start_query_strsosmo_fd_unregister@LIBOSMOCORE_1.0__dso_handlelog_set_print_filename_pos@LIBOSMOCORE_1.0osmo_print_n@LIBOSMOCORE_1.0__libc_csu_initlog_fini@LIBOSMOCORE_1.0optarg@GLIBC_2.2.5start_query_strg_bufosmo_sockaddr_str_from_str@LIBOSMOCORE_1.0osmo_panic@LIBOSMOCORE_1.0strchr@GLIBC_2.2.5getopt_long@GLIBC_2.2.5osmo_mdns_result_encodeformatter_jsonosmo_mslookup_client_add_mdns__errno_location@GLIBC_2.2.5__bss_startmslookup_result_cbosmo_select_main_ctx@LIBOSMOCORE_1.0osmo_mslookup_client_freestrcmp@GLIBC_2.2.5do_sendosmo_init_logging2@LIBOSMOCORE_1.0osmo_fd_register@LIBOSMOCORE_1.0strtok@GLIBC_2.2.5log_set_print_level@LIBOSMOCORE_1.0osmo_sockaddr_str_is_nonzero@LIBOSMOCORE_1.0socket_initquery_by_handleosmo_mdns_sock_initstderr@GLIBC_2.2.5strtoll@GLIBC_2.2.5log_target_destroy@LIBOSMOCORE_1.0fwrite@GLIBC_2.2.5osmo_sock_unix_init@LIBOSMOCORE_1.0_edatafprintf@GLIBC_2.2.5accept@GLIBC_2.2.5socket_acceptosmo_stderr_target@LIBOSMOCORE_1.0talloc_named_const@TALLOC_2.0.2log_set_print_extended_timestamp@LIBOSMOCORE_1.0osmo_fd_is_registered@LIBOSMOCORE_1.0stdout@GLIBC_2.2.5maincb_doing_nothingfflush@GLIBC_2.2.5.symtab.strtab.shstrtab.interp.note.gnu.build-id.note.ABI-tag.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.got.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.plt.data.bss.comment.debug_aranges.debug_info.debug_abbrev.debug_line.debug_str.debug_loc.debug_ranges#$6 Do@N HHV` ` ^o\\koz``0B  `####!4E4E PP$tttt8PP}XX}``}@ }0Џ( ` 0'DŽ@#YC/`= I0oTw3P_P0`$> n xm